Grapes homepage1.57.0
  • Guide
  • Tokens
  • Components
    Grapes on GithubGrapes on Figma
    Interaction
    • Button
    • IconButton
    • FloatingActionBar
    • Link
    Icons
    • Icon
    • HighlightIcon
    Form
    • AmountInput
    • Autocomplete
    • AutocompleteMultiple
    • AutocompletePlace
    • CheckboxBox
    • CheckboxField
    • DatePicker
    • FormField
    • Input
    • OptionGroup
    • PasswordInput
    • PhoneInput
    • RadioBox
    • RadioField
    • RadioGroup
    • Select
    • SwitchField
    • TextArea
    • TextInput
    • Upload
    • UploadButton
    Feedback
    • Badge
    • Banner
    • Callout
    • EmptyState
    • Modal
    • ModalSlideshow
    • DeprecatedModalSlideshow
    • PageModal
    • Skeleton
    • Tag
    • Toast
    • Tooltip
    Data display
    • Accordion
    • Avatar
    • Box
    • Calendar
    • CalendarRange
    • CollapsibleList
    • FileCard
    • InfoTip
    • ListBox
    • ListView
    • Panel
    • SidePanel
    • DeprecatedPreview
    • Table
    • Timeline
    • useDateFormatter
    Navigation
    • DropdownItem
    • DropdownMenu
    • Navigation
    • NavigationItem
    • Popover
    • Tabs

    UploadButton

    The UploadButton component allows users to upload a file with a button.

    View source code
    • Usage
    • Props

    Basic usage

    This component is a button

    Please refer to Button documentation for more information.

    const Demo = () => {
      const [selectedFile, setSelectedFile] = useState<File>();
    
      return selectedFile ? (
        <FileCard
          title={selectedFile.name}
          mimeType={selectedFile.type}
          onDelete={() => setSelectedFile(undefined)}
        />
      ) : (
        <UploadButton
          onUpload={async (filesToUpload) => {
            setSelectedFile(filesToUpload?.[0]);
          }}
          text="Add a document"
          variant="tertiaryNeutral"
        />
      );
    };
    

    Accept specific file types

    The accept prop is used to allow one or more unique file types.

    <UploadButton accept="image/*" {...otherProps} />