Input (extended)
Text-based input fields with added functionality
Demo
API
Tag
| Name | Description |
|---|---|
<s-input-extended>
|
Custom Element, no content |
Attributes
| Name | Value | Required | Description |
|---|---|---|---|
type |
|
|
Sets the expected value type. |
inputid |
string |
|
Sets the native input's |
value |
string |
Sets the input's value. |
|
aiassisted |
Boolean attribute |
Displays the AI-assisted icon. |
|
autofocus |
Boolean attribute |
Automatically sets focus on the input. |
|
placeholder |
string |
Sets the input's placeholder text. |
|
i18n |
string |
A stringified JSON object which defines a list of localized strings. The keys must be one of the string IDs defined below. |
Properties
| Name | Value | Required | Description |
|---|---|---|---|
type |
|
|
Sets the expected value type. |
inputId |
string |
|
Sets the native input's |
value |
string |
Sets the input's value. |
|
aiAssisted |
boolean |
Displays the AI-assisted icon. |
|
autofocus |
Boolean attribute |
Automatically sets focus on the input. |
|
placeholder |
string |
Sets the input's placeholder text. |
|
i18n |
object |
A JSON object which defines a list of localized strings. The keys must be one of the string IDs defined below. |
Classes
| Name | Description |
|---|---|
success
|
Applies success styling and shows input-msg |
warning
|
Applies warn styling and shows input-msg |
error
|
Applies error styling and shows input-msg |
Methods
| Name | Description |
getValue() |
This method returns a Promise that resolves to the input's value |
Events
| Name | Detail | Description |
|---|---|---|
s-clear |
The |
Fired after the clear button is pressed. |
s-input |
The |
Fired every time the value of the |
s-search |
The |
Fired after the search input is submitted. |
s-keyup |
The |
Fired every time a key is pressed in the focused |
Demo
API
Tag
| Name |
<SInputExtended>
|
Props
| Name | Value | Required | Description |
|---|---|---|---|
type |
|
|
Sets the expected value type. |
inputId |
string |
|
Sets the native input's |
value |
string |
Sets the input's value. |
|
autofocus |
Boolean |
Automatically sets focus on the input. |
|
placeholder |
string |
Sets the input's placeholder text. |
|
aiAssisted |
boolean |
Displays the AI-assisted icon. |
|
onS-search |
function |
|
Handles the |
onS-clear |
function |
|
Handles the |
onS-input |
function |
Handles the |
|
onS-keyup |
Function |
Handles the |
|
i18n |
object |
A JSON object which defines a list of localized strings. The keys must be one of the string IDs defined below. |
Methods
| Name | Description |
getValue() |
This method returns a Promise that resolves to the input's value |
React implementation notes
Using refs to access input-extended value
In order to get the current value of the SInputExtended,
you must create a ref, assign it to the SInputExtended, and then call getValue() on ref.current.
The getValue method returns a promise which resolves to the input's value.
const inputRef = React.createRef();
function returnValue() {
inputtRef.current.getValue().then((value) => console.log(value));
}
return (
<SInputExtended ref={inputRef} />
)
Skylab React links
Typescript
Exported types
i18n Strings
| ID | Description | Default value |
|---|---|---|
"inputExtended.ariaLabel.search"
|
The aria-label used for the input. | search |
"inputExtended.ariaLabel.clear"
|
The aria-label used for the clear input button. | clear input |
"inputExtended.placeholder"
|
The placeholder text displayed in the input. | Search |
Guidelines
Accessibility
Use inputid="{{input-label}}" and for="{{input-label}}"
in inputs and labels so screen readers will properly associate them with each other. If there is no visible label,
you must add an aria-label to the <s-input-extended>.
Ensure input messages, when they are displayed, have an id that is set to the same value as the
associated input's aria-describedby attribute.
Input messages
The <div> with class input-msg will only display when the preceding input has a class
of success, warning, or error. The text content must contain the leading
<s-icon> indicated in the code sample above. Be sure to include aria-hidden="true" on
the <s-icon> element to ensure compatibility with screen readers.
Design
Design resources can be found on the Skylab design documentation site: skylab.avalara.com