1. framework components
  2. file upload
LLM

File Upload

File upload dropzone and input patterns for selecting files.

contentType: framework-components
featureName: file-upload

    Custom Content

    Supply your own text and icons within the dropzone.

    Select file or drag here.

      Disabled

        Button Only

        Clear Files

        • example.png
          4 bytes

        Direction

          API Reference

          Root

          Property Default Type
          name -
          string | undefined
          The name of the underlying file input
          ids -
          Partial<{ root: string; dropzone: string; hiddenInput: string; trigger: string; label: string; item: (id: string) => string; itemName: (id: string) => string; itemSizeText: (id: string) => string; itemPreview: (id: string) => string; }> | undefined
          The ids of the elements. Useful for composition.
          translations -
          IntlTranslations | undefined
          The localized messages to use.
          accept -
          Record<string, string[]> | FileMimeType | FileMimeType[] | undefined
          The accept file types
          disabled -
          boolean | undefined
          Whether the file input is disabled
          required -
          boolean | undefined
          Whether the file input is required
          allowDrop true
          boolean | undefined
          Whether to allow drag and drop in the dropzone element
          maxFileSize Infinity
          number | undefined
          The maximum file size in bytes
          minFileSize 0
          number | undefined
          The minimum file size in bytes
          maxFiles 1
          number | undefined
          The maximum number of files
          preventDocumentDrop true
          boolean | undefined
          Whether to prevent the drop event on the document
          validate -
          ((file: File, details: FileValidateDetails) => FileError[] | null) | undefined
          Function to validate a file
          defaultAcceptedFiles -
          File[] | undefined
          The default accepted files when rendered. Use when you don't need to control the accepted files of the input.
          acceptedFiles -
          File[] | undefined
          The controlled accepted files
          onFileChange -
          ((details: FileChangeDetails) => void) | undefined
          Function called when the value changes, whether accepted or rejected
          onFileAccept -
          ((details: FileAcceptDetails) => void) | undefined
          Function called when the file is accepted
          onFileReject -
          ((details: FileRejectDetails) => void) | undefined
          Function called when the file is rejected
          capture -
          "user" | "environment" | undefined
          The default camera to use when capturing media
          directory -
          boolean | undefined
          Whether to accept directories, only works in webkit browsers
          invalid -
          boolean | undefined
          Whether the file input is invalid
          transformFiles -
          ((files: File[]) => Promise<File[]>) | undefined
          Function to transform the accepted files to apply transformations
          locale "en-US"
          string | undefined
          The current locale. Based on the BCP 47 definition.
          dir "ltr"
          "ltr" | "rtl" | undefined
          The document's text/writing direction.
          getRootNode -
          (() => ShadowRoot | Node | Document) | undefined
          A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron.
          element -
          ((attributes: HTMLAttributes<"div">) => Element) | undefined
          Render the element yourself

          RootProvider

          Property Default Type
          value -
          FileUploadApi<PropTypes>
          element -
          ((attributes: HTMLAttributes<"div">) => Element) | undefined
          Render the element yourself

          RootContext

          Property Default Type
          children -
          (fileUpload: FileUploadApi<PropTypes>) => ReactNode

          Label

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"label">) => Element) | undefined
          Render the element yourself

          Dropzone

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"div">) => Element) | undefined
          Render the element yourself

          Trigger

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"button">) => Element) | undefined
          Render the element yourself

          HiddenInput

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"input">) => Element) | undefined
          Render the element yourself

          ItemGroup

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"ul">) => Element) | undefined
          Render the element yourself

          Item

          Property Default Type
          file -
          File
          type -
          ItemType | undefined
          element -
          ((attributes: HTMLAttributes<"li">) => Element) | undefined
          Render the element yourself

          ItemName

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"div">) => Element) | undefined
          Render the element yourself

          ItemSizeText

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"div">) => Element) | undefined
          Render the element yourself

          ItemDeleteTrigger

          Property Default Type
          element -
          ((attributes: HTMLAttributes<"button">) => Element) | undefined
          Render the element yourself