File Input
The file input component is used to choose files from any location in the local machine and update those files to the server where the application is hosted. It is a common procedure in applications where files are required, like documents, images, or other information in digital formats.
Name | Type | Description | Default |
---|---|---|---|
mode | 'file' | 'filedrop' | 'dropzone' | Available modes of the component. | 'file' |
label | string | Text to be placed above the component. | - |
buttonLabel | string | Text to be placed inside the button. | - |
dropAreaLabel | string | Text to be placed inside the drag and drop zone alongside the button. | - |
helperText | string | Helper text to be placed above the component. | - |
accept | string | The file types that the component accepts. Its value must be one of all the possible values of the HTML file input's accept attribute. Please check the documentation here. | - |
minSize | number | The minimum file size (in bytes) allowed. If the size of the file does not comply this value, the file will have an error. | - |
maxSize | number | The maximum file size (in bytes) allowed. If the size of the file does not comply this value, the file will have an error. | - |
Required | { file: File, error?: string, preview?: string }[] | An array of files representing the selected files. Each file has the following properties:
| - |
showPreview | boolean | If true, if the file is an image, a preview of it will be shown. If not, an icon referring to the file type will be shown. | false |
multiple | boolean | If true, the component allows multiple file items and will show all of them. If false, only one file will be shown, and if there is already one file selected and a new one is chosen, it will be replaced by the new selected one. | true |
disabled | boolean | If true, the component will be disabled. | false |
Required | (files: { file: File, error?: string, preview?: string }[]) => void | This function will be called when the user adds or deletes a file. That is, when the file input's inner value is modified. The list of files will be sent as a parameter. In this function, the files can be updated or returned as they come. These files must be passed to the value in order to be shown. | - |
margin | 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge' | Margin | Size of the margin to be applied to the component. You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes. | - |
tabIndex | number | Value of the tabindex attribute. | 0 |
ref | React.Ref<HTMLDivElement> | Reference to the component. | - |