Documentation
Feedback
Guides
Storefront Development

Storefront Development
FastStoreUI componentsMolecules
InputField

Text fields used to get user inputs.

The InputField is a text field component to get user inputs. The component wraps an Input and its corresponding Label.

Overview

Example
Code
Error Message
Error Message

Import

Import the component from @faststore/ui

_10
import { InputField } from '@faststore/ui'

Import Styles into your FastStore project

To apply the styles of this component in your FastStore project, import the following into your stylesheet:

_10
@import '@faststore/ui/src/components/molecules/InputField/styles.scss';

Follow the instructions in the Importing FastStore UI component styles tutorial.

Usage


_10
<InputField label="Label" id="inputfield-label" />


Props

NameTypeDescriptionDefault
testIdstringID to find this component in testing tools (e.g.: cypress, testing library, and jest).fs-input-field
id*stringID to identify input and corresponding label.
label*stringThe text displayed to identify input text.
errorstringThe error message is displayed when an error occurs.
inputRefMutableRefObject<HTMLInputElement | null>Component's ref.
disabledbooleanSpecifies that the whole input component should be disabled.
actionablebooleanAdds a Button to the component.
onSubmit() => voidCallback function when button is clicked. Required for actionable input.*
onClear() => voidCallback function when clear button is clicked. Required for actionable input.*
buttonActionTextstringThe text displayed on the Button. Suggestion: maximum 9 characters.Apply
displayClearButtonbooleanBoolean that controls the clear button.

Design Tokens

Local tokenDefault value/Global token linked
--fs-input-field-paddingvar(--fs-spacing-2) var(--fs-spacing-2) 0
--fs-input-field-color
var(--fs-color-text)
--fs-input-field-sizevar(--fs-text-size-body)
--fs-input-field-border-color
var(--fs-border-color)
--fs-input-field-transition-functionvar(--fs-transition-function)
--fs-input-field-transition-propertyvar(--fs-transition-property)
--fs-input-field-transition-timingvar(--fs-transition-timing)

Nested Elements

Label

Local tokenDefault value/Global token linked
--fs-input-label-padding0 var(--fs-spacing-2)
--fs-input-field-label-color
var(--fs-color-text-light)
--fs-input-field-label-sizevar(--fs-text-size-tiny)

Button

Local tokenDefault value/Global token linked
--fs-input-field-button-heightvar(--fs-control-tap-size)

Variants

Actionable


_10
<InputField label="Input w/ Action" id="inputfield-action" actionable />

Actionable w/ Error

Error Message

_10
<InputField
_10
label="Input w/ Error Message"
_10
id="inputfield-error"
_10
error="Error Message"
_10
/>

Error

Error Message

_10
<InputField
_10
label="Input w/ Action and Error"
_10
id="inputfield-action-error"
_10
actionable
_10
error="Error Message"
_10
/>

Local tokenDefault value/Global token linked
--fs-input-error-message-margin-topvar(--fs-spacing-0)
--fs-input-error-message-sizevar(--fs-text-size-legend)
--fs-input-error-message-line-height1.1
--fs-input-error-message-color
var(--fs-color-danger-text)
--fs-input-error-border-color
var(--fs-color-danger-border)
--fs-input-error-box-shadow0 0 0 var(--fs-border-width) var(--fs-input-error-border-color)
--fs-input-error-focus-ring
var(--fs-color-focus-ring-danger)

Disabled


_10
<InputField label="Input Disabled" id="inputfield-disabled" disabled />

Local tokenDefault value/Global token linked
--fs-input-disabled-bkg-color
var(--fs-color-disabled-bkg)
--fs-input-disabled-text-color
var(--fs-color-disabled-text)
--fs-input-disabled-border-widthvar(--fs-border-width)
--fs-input-disabled-border-color
var(--fs-border-color)

Customization

For further customization, you can use the following data attributes:
data-fs-input-field
data-fs-input-field-error
data-fs-input-field-error-message
Contributors
3
Photo of the contributor
Photo of the contributor
Photo of the contributor
+ 3 contributors
Was this helpful?
Yes
No
Suggest Edits (GitHub)
Contributors
3
Photo of the contributor
Photo of the contributor
Photo of the contributor
+ 3 contributors
On this page