File Input Node

File Inputs are common form controls that allows the user to select files from their local file system. This node roughly corresponds to the HTML input element that has a file type.

Properties

Visible

PropisVisible
Typeboolean
Default{{true}}

Whether or not this node is visible.

Enabled

PropisEnabled
Typeboolean
Default{{true}}

Whether or not this node is enabled.

Tooltip

Proptooltip
Typestring
Defaultundefined

The tooltip text to display when hovered or focused over this node.

Top

Proptop
Typenumber
Default1

The position of the node from the top side of the grid (grid-row-start).

Left

Propleft
Typenumber
Default1

The position of the node from the left side of the grid (grid-column-start).

Width

Propwidth
Typestring
Default384px

The width of the node. When this node is in a grid layout, this should be done using unitless grid column units (specifying 4 will become grid-column-end: span 4). When this node is in a stack layout, the width must be specified using CSS units (e.g. 100px or 100%).

Min Width

PropminWidth
Typestring
Defaultnone

The minimum width of the node. When this node is in a grid layout, this property is ignored.

Max Width

PropmaxWidth
Typestring
Defaultnone

The maximum width of the node. When this node is in a grid layout, this property is ignored.

Height

Propheight
Typestring
Default160px

The height of the node. When this node is in a grid layout, this should be done using unitless grid row units (specifying 4 will become grid-row-end: span 4). When this node is in a stack layout, the height must be specified using CSS units (e.g. 100px or 100%).

Min Height

PropminHeight
Typestring
Defaultnone

The minimum height of the node. When this node is in a grid layout, this property is ignored.

Max Height

PropmaxHeight
Typestring
Defaultnone

The minimum height of the node. When this node is in a grid layout, this property is ignored.

Overflow

Propoverflow
TypeOverflow ('auto' | 'visible' | 'hidden' | 'scroll')
Defaultauto

The strategy used to handle overflow in the horizontal and vertical axes for content that is larger than its container.

Overflow X

PropoverflowX
TypeOverflow ('auto' | 'visible' | 'hidden' | 'scroll')
Defaultauto

The strategy used to handle overflow in the horizontal axis for content that is larger than its container.

Overflow Y

PropoverflowY
TypeOverflow ('auto' | 'visible' | 'hidden' | 'scroll')
Defaultauto

The strategy used to handle overflow in the vertical axis for content that is larger than its container.

Custom Styles

Propstyles
Typestring
Defaultelement.styles { }

Custom CSS styles to be applied to the node. Use element.styles to refer to the current node.

Object Fit

PropobjectFit
TypeObjectFit ('none' | 'contain' | 'cover' | 'fill' | 'scale-down')
Defaultcover

The strategy used to set how the content of a replaced element should be resized to fit its container.

Field Name

PropformFieldName
Typestring
Defaultundefined

Defines the key for this input in the body of the submitted form.

Files

Propfiles
TypeArray<{ name: string, type: string, parsedFile: string, size: number }>
Defaultundefined

The upload expression to display.

Selection Label

PropselectLabel
Typestring
DefaultSelect

The text to display over file selector.

Upload Icon

PropselectIcon
Typestring
DefaultFaUpload

The icon to display on the left side of the file selector.

File Type

PropfileTypeFilter
TypeFileType ('image/*' | 'audio/*' | 'video/*' | '')
Defaultundefined

The type of file to allow the user to select.

Previews

PropenablePreview
Typeboolean
Default{{false}}

Toggle to display the preview images

Multiple Files

PropmultiSelect
Typeboolean
Default{{true}}

Allow users to select multiple files from directory

Drag & Drop

Propdraggable
Typeboolean
Default{{false}}

Allow users to drag files from directory

Limit Amount

PropfileCountLimit
Typestring
Defaultunlimited

Restrict number of files user can upload

Max File Size

PropmaxFileSize
Typenumber
Default5

Restrict total size of files user can upload

Event Handlers

On Hover

HandlerfileInputNode.onHover

Called when the user hovers on the node. Use this event to trigger downstream actions when this node is hovered.

On Leave

HandlerfileInputNode.onLeave

Called when the user is not hovering over the node. Use this event to trigger downstream actions when this node is no longer hovered.

On Focus

HandlerfileInputNode.onFocus

Called when the user focuses the node. Use this event to trigger downstream actions when this node is focused.

On Blur

HandlerfileInputNode.onBlur

Called when the user blurs the node. Use this event to trigger downstream actions when this node is blurred.

On Change

HandlerfileInputNode.onChange

Called after the user selects their files. Use this event to trigger downstream actions when user makes a file selection.