Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/input

DropZone

Zona para soltar archivos o abrir el explorador, con filtro por tipo y por tamaño máximo.

Seguir leyendo — 3 párrafos más

Drag-and-drop file upload zone.

Supports native HTML5 drag-and-drop and click-to-browse. Filters files by maxSize when provided and forwards valid files to onFiles.

Uses design tokens:

  • Default: border-ui-border bg-ui-bg-subtle
  • Active: border-ui-accent bg-ui-bg-raised
  • Disabled: opacity-50 cursor-not-allowed

8 sitios de import en 4 de 15 verticales — un archivo que la importa cuenta una vez, monte una instancia o veinte.

  • TheCharterPanel
  • dietaly
  • gestorsalon
  • luigi

El componente, montado

Cargando el componente del paquete instalado…

Cómo se usa

import { DropZone } from '@solu30/ui-kit/input'

Props

10 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
onFilessí(files: File[]) => voidCalled with accepted files after drop or file input
acceptopcionalstringAccepted MIME types (e.g. 'image/*', '.pdf')
multipleopcionalbooleanAllow multiple files
maxSizeopcionalnumberMax file size in bytes
disabledopcionalbooleanDisabled state
iconopcionalReact__default.ReactNodeCustom icon (defaults to Upload)
labelopcionalstringMain label
hintopcionalstringSubtitle / hint text
classNameopcionalstringAdditional CSS class
childrenopcionalReact__default.ReactNodeChildren override the default content

Ejemplo del paquete

<DropZone
  onFiles={(files) => {
    // Handle files
  }}
  accept="image/*"
  multiple
  label="Drop images here"
  hint="PNG, JPG up to 10 MB"
/>

Del @example del JSDoc de @solu30/ui-kit, sin editar: son 65 de los 541 símbolos. La sangría y los renglones en blanco son los del paquete.