> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brikl.co/llms.txt
> Use this file to discover all available pages before exploring further.

# File Uploader 05

> Dashed-border file upload area with icon, text, and uploaded file display with remove option.

<Frame>
  ![File Uploader 05](https://ffciaqoksnnzuihswbxs.supabase.co/storage/v1/object/public/components/Elements/File%20Uploaders/file-uploader-single-file-uploader.png)
</Frame>

## Overview

File Uploader 05 is a drag-and-drop file input component that allows users to upload a single file. It displays an upload icon with instructional text before a file is selected, and switches to show the uploaded file's name with a remove button once a file has been chosen. The component manages its state through a custom state that tracks the uploaded file.

## How to use

<Steps>
  <Step titleSize="h4" title="Open the Brikl panel">
    Navigate to the **Elements** category in the Brikl panel.
  </Step>

  <Step titleSize="h4" title="Copy the component">
    Find **File Uploader 05** and click **Copy**.
  </Step>

  <Step titleSize="h4" title="Paste into your editor">
    Paste it into your Bubble canvas with `Cmd + V` (Mac) or `Ctrl + V` (Windows),
    or right-click on the canvas and select **Paste**.
  </Step>
</Steps>

## States

This component includes conditional states that automatically change its appearance.

| State                           | Trigger                                                                                 | Visual effect                                                                                      |
| ------------------------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| File Uploaded                   | When the custom state 'file\_' on the container is not empty (a file has been uploaded) | The file uploader input becomes disabled and reduced to 50% opacity, preventing additional uploads |
| Hover (Empty)                   | When the upload group is hovered and no file has been uploaded yet                      | Background color changes to a light gray (rgba(245,244,244,1))                                     |
| File Displayed                  | When the custom state 'file\_' on the container is not empty                            | The uploaded file group becomes visible, showing the file name and a remove icon                   |
| No File (Hidden Uploaded Group) | When the custom state 'file\_' on the container is empty                                | The uploaded file display group is hidden                                                          |

<Note>
  These states are handled natively by Bubble and require no additional setup.
  They will work automatically once the component is pasted into your editor.
</Note>

## Responsive

This component adapts to mobile screens. Font sizes and layout automatically adjust on screens smaller than Bubble's built-in mobile breakpoint.

## Workflows

This component includes pre-built workflows.

| Trigger                                   | Action                                                                                                                              |
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| FileUploader - 05 value changed           | Sets the custom state 'file\_' on the container group to the current value of the file input element                                |
| Icon - Remove File Uploader 05 is clicked | Resets the container group and clears the custom state 'file\_', effectively removing the uploaded file and resetting the component |

<Note>
  These workflows are included when you use the **Copy with Workflows** option in the Brikl panel.
</Note>

## Requirements

|             |                       |
| ----------- | --------------------- |
| License     | Starter plan required |
| Plugins     | None                  |
| Custom code | Not required          |

## Platforms

| Platform | Supported |
| -------- | --------- |
| Web      | ✅         |
| Mobile   | ❌         |

## License

<Note>
  This component requires a **Starter** plan.
</Note>
