TextInput
Use text input as a form component to add default styling to the native text input.
TextInput is a form component to add default styling to the native text input.
Note: Don't forget to set aria-label
to make the TextInput accessible to screen reader users.
Name | Type | Default | Description |
---|---|---|---|
aria-label | string | Allows input to be accessible. | |
block | boolean | false | Creates a full-width input element |
contrast | boolean | false | Changes background color to a higher contrast color |
size | 'small' | 'medium' | 'large' | Creates a smaller or larger input than the default. | |
loading | boolean | Whether to show a loading indicator in the input | |
loaderPosition | 'auto' | 'leading' | 'trailing' | <div>Which position to render the loading indicator</div> <ul> <li> 'auto' (default): at the end of the input, unless a `leadingVisual` is passed. Then, it will render at the beginning </li> <li>'leading': at the beginning of the input</li> <li>'trailing': at the end of the input</li> </ul> | |
leadingVisual | string | React.ComponentType | Visual positioned on the left edge inside the input | |
monospace | boolean | false | Shows input in monospace font |
trailingVisual | string | React.ComponentType | Visual positioned on the right edge inside the input | |
trailingAction | React.ReactElement<HTMLProps<HTMLButtonElement>> | A visual that renders inside the input after the typing area | |
validationStatus | 'error' | 'success' | 'warning' | Style the input to match the status | |
variant Deprecated | 'small' | 'medium' | 'large' | (Use size) Creates a smaller or larger input than the default. | |
width Deprecated | string | number | Array<string | number> | (Use sx prop) Set the width of the input | |
maxWidth Deprecated | string | number | Array<string | number> | (Use sx prop) Set the maximum width of the input | |
minWidth Deprecated | string | number | Array<string | number> | (Use sx prop) Set the minimum width of the input | |
icon Deprecated | React.ComponentType | (Use leadingVisual or trailingVisual) An Octicon React component. To be used inside of input. Positioned on the left edge. | |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. | |
ref | React.RefObject<HTMLInputElement> | A ref to the element rendered by this component. |
Name | Type | Default | Description |
---|---|---|---|
aria-label | string | Text that appears in a tooltip. If an icon is passed, this is also used as the label used by assistive technologies. | |
tooltipDirection | 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w' | 'nw' | n | Sets where the tooltip renders in relation to the target. |
icon | React.FunctionComponent | The icon to render inside the button | |
variant Deprecated | 'default' | 'primary' | 'invisible' | 'danger' | (Deprecated so that only the 'invisible' variant is used) Determine's the styles on a button | |
ref | React.RefObject<HTMLButtonElement> | A ref to the element rendered by this component. Because this component is polymorphic, the type will vary based on the value of the as prop. | |
as | React.ElementType | "button" | The underlying element to render — either a HTML element name or a React component. |
sx | SystemStyleObject | Style overrides to apply to the component. See also overriding styles. | |
Additional props are passed to the <button> element. See button docs for a list of props accepted by the <button> element. |