Skip to content

Description

Field.Boolean is the base component for receiving user input where the target data is of type boolean.

Demos

No label or value

<Field.Boolean onChange={(value) => console.log('onChange', value)} />

Checkbox

Value: true

<Field.Boolean
variant="checkbox"
label="Label text"
value={true}
onChange={(value) => console.log('onChange', value)}
/>

Value false

<Field.Boolean
variant="checkbox"
label="Label text"
value={false}
onChange={(value) => console.log('onChange', value)}
/>

Checkbox - Required

<Field.Boolean
variant="checkbox"
label="Set to be required initially"
onChange={(value) => console.log('onChange', value)}
validateInitially
required
/>

Checkbox - Disabled

<Field.Boolean
variant="checkbox"
label="I am disabled"
onChange={(value) => console.log('onChange', value)}
disabled
/>

Checkbox - Error

This is what is wrong...
<Field.Boolean
variant="checkbox"
label="Label text"
onChange={(value) => console.log('onChange', value)}
error={new Error('This is what is wrong...')}
/>

Button

Value true

<Field.Boolean
variant="button"
label="Label text"
value={true}
onChange={(value) => console.log('onChange', value)}
/>

Button - Value false

<Field.Boolean
variant="button"
label="Label text"
value={false}
onChange={(value) => console.log('onChange', value)}
/>

Button - Required

<Field.Boolean
variant="button"
label="Set to be required initially"
onChange={(value) => console.log('onChange', value)}
validateInitially
required
/>

Button - Disabled

<Field.Boolean
variant="button"
label="I am disabled"
onChange={(value) => console.log('onChange', value)}
disabled
/>

Button - Error

This is what is wrong...
<Field.Boolean
variant="button"
label="Label text"
onChange={(value) => console.log('onChange', value)}
error={new Error('This is what is wrong...')}
/>

Checkbox button

Value: true

<Field.Boolean
variant="checkbox-button"
label="Label text"
value={true}
onChange={(value) => console.log('onChange', value)}
/>

Checkbox button - Value false

<Field.Boolean
variant="checkbox-button"
label="Label text"
value={false}
onChange={(value) => console.log('onChange', value)}
/>

Checkbox button - Required

<Field.Boolean
variant="checkbox-button"
label="Set to be required initially"
onChange={(value) => console.log('onChange', value)}
validateInitially
required
/>

Checkbox button - Disabled

<Field.Boolean
variant="checkbox-button"
label="I am disabled"
onChange={(value) => console.log('onChange', value)}
disabled
/>

Checkbox button - Error

This is what is wrong...
<Field.Boolean
variant="checkbox-button"
label="Label text"
onChange={(value) => console.log('onChange', value)}
error={new Error('This is what is wrong...')}
/>

Buttons

Value true

<Field.Boolean
variant="buttons"
label="Label text"
value={true}
onChange={(value) => console.log('onChange', value)}
/>

Buttons - Value false

<Field.Boolean
variant="buttons"
label="Label text"
value={false}
onChange={(value) => console.log('onChange', value)}
/>

Buttons - Required

<Field.Boolean
variant="buttons"
label="Set to be required initially"
onChange={(value) => console.log('onChange', value)}
validateInitially
required
/>

Buttons - Disabled

<Field.Boolean
variant="buttons"
label="I am disabled"
onChange={(value) => console.log('onChange', value)}
disabled
/>

Buttons - Error

This is what is wrong...
<Field.Boolean
variant="buttons"
label="Label text"
onChange={(value) => console.log('onChange', value)}
error={new Error('This is what is wrong...')}
/>

Properties

Standard input component props

PropertyTypeDescription
data-testidstring(optional) Test ID
classNamestring(optional) Outer DOM element class name
valueboolean(optional) Source data value for the input
layoutstring(optional) Layout for the label and input. Can be horizontal or vertical
labelstring(optional) Field label to show above / before the input feature
labelDescriptionstring(optional) A more discreet text displayed beside the label (i.e for "(optional)")
labelSecondarystring(optional) Secondary information displayed at the end of the label line (i.e character counter)
placeholderstring(optional) Text showing in place of the value if no value is given
pathstring(optional) JSON Pointer for where the data for this input is located in the source dataset (when using DataContext)
infoError or string(optional) Info message shown below / after the input
warningError or string(optional) Warning message shown below / after the input
errorError(optional) Error message shown below / after the input
disabledboolean(optional) Set true to show the field but without the possibility of changing the value.
emptyValueany(optional) The value to use (in onChange events etc) when emptying the field. Makes it possible for instance to provide undefined instead of an empty string when clearing the content of a text input.
requiredboolean(optional) When set true, the input will give an error if the value cannot be empty.
schemaobject(optional) Custom JSON Schema for validating the value.
validateInitiallystring(optional) Set true to show validation based errors initially (from given value-prop or source data) before the user interacts with the field.
validateUnchangedstring(optional) Set true to show validation based errors when the field is touched (like focusing a field and blurring) without having changed the value. Since the user did not introduce a new error, this will apply when the value was initially invalid based on validation.
continuousValidationstring(optional) Set true to show validation based errors continuously while writing, not just when blurring the field.
errorMessagesobject(optional) Custom error messages for each type of error, overriding default messages.
validatorfunction(optional) Custom validator function that will be called for every change done by the user. Can be asynchronous or synchronous.
onBlurValidatorfunction(optional) Custom validator function that will be called when the user leaves the field (blurring a text input, closing a dropdown etc). Can be asynchronous or synchronous.
toInputfunction(optional) Derivate called when the received / active value is sent to the input. Can be used for casting, changing syntax etc.
fromInputfunction(optional) Derivate called when changes is made by the user, to cast or change syntax back to the original (opposite of toInput).

Component-specific props

PropertyTypeDescription
trueTextstringText to show in the UI when value is true.
falseTextstringText to show in the UI when value is false.
variantstringChoice of input feature. Can be: checkbox, button, checkbox-button or buttons

Events

EventDescription
onChange(optional) Will be called on value changes made by the user, with the new value as argument.
onFocus(optional) Will be called when the component gets into focus. Like clicking inside a text input or opening a dropdown. Called with active value as argument.
onBlur(optional) Will be called when the component stop being in focus. Like when going to next field, or closing a dropdown. Called with active value as argument.