Skip to content
Componentes

Forms and input · Adapted

Malote

An area to drag files into or click to choose, with a card that lifts up and a list of the selected files.

Malote · Portuguese for a document courier bag.

In short

Malote is a THM Componentes component that receives files by drag and drop or a click. When the mouse hovers or a file is dragged over it, a card with an upload icon lifts up and reveals a dashed outline. Each file appears in a list with its name, size, type and date, over a subtle checkered grid.

The catalog, this component's prompt and its sample texts are in Brazilian Portuguese. AI coding assistants apply the prompt the same way.

Malote: An area to drag files into or click to choose, with a card that lifts up and a list of the selected files.
Capture of the catalog demo

What it looks like

In the center, over a grid of light squares that fades at the edges, sit a heading, a short instruction and a square card with an upload arrow. When the mouse passes over it, or when someone drags a file across the area, the card springs up and to the right and reveals a dashed blue outline, like an empty slot. Once files are dropped or chosen, the card gives way to rows that unfold horizontally, one per file, with name, size in MB, type and date. The component has light and dark versions.

You may be looking for this if you asked for something like

  • a drag and drop area for files in my form
  • a nice upload field for sending documents
  • a box where people can drop their PDF
  • show the list of chosen files with name and size
  • an upload area that animates when I drag a file over it
  • make the document upload in my portal look like a modern app

Also known as

  • file upload
  • drag and drop upload
  • dropzone
  • file input
  • upload area
  • file drop zone

When to use

  • Document uploads in customer portals and sign-ups
  • Application forms with a resume, receipt or photo
  • Internal dashboards that receive spreadsheets or images

When to avoid

  • Flows that need a progress bar or file removal, unless you ask your AI to add them
  • Keyboard-only use in the original, since the area does not take focus

How to ask your AI

Sample request
Add a drag and drop dropzone for document uploads to my form: a list with name, size and type, size and file type limits, a remove button, keyboard access, localized texts and my brand colors.

With THM Componentes, you paste the full prompt from the catalog together with this component's code, and the AI reproduces this exact effect instead of improvising.

Questions about Malote

Does Malote send the file to a server?

No. Malote only collects the chosen files and emits an onChange event with the full list of File objects. Sending to your API or storage, a progress bar and removing items have to be added; your AI can build that on top of this event.

Can I limit file types and size in Malote?

In its original form, Malote accepts any file with no size limit. To restrict it to PDFs or images, cap the size or allow several files per click, ask your AI to adjust the file input; when dragging, the area already accepts several files at once.

Does Malote work in a plain Vue project?

Yes, with a small change. Malote ships wrapped in ClientOnly, a Nuxt feature, and uses an icon component, so in a Vue-only project your AI removes the wrapper and swaps the icon. The heading and instruction are fixed in English in the code and can become props.

Forms and input

Related components

Give your AI a studio-grade repertoire

268 Vue and Nuxt components, 115 exclusive, a ready prompt in every one. Single payment, lifetime access and a 7-day guarantee.