TextField¶
The TextField component is used to capture user input in the form of text.
Import¶
import { TextField } from '@themakit/inputs';
Usage¶
Basic TextField¶
<TextField placeholder="Enter your name" />
Controlled TextField¶
You can control the value of the TextField using the value and onChange props.
const [value, setValue] = React.useState('');
<TextField
value={value}
onChange={(e) => setValue(e.target.value)}
placeholder="Enter your email"
/>;
TextField with Label¶
You can add a label to the TextField for better context.
<TextField label="Name" placeholder="Enter your name" />
Disabled TextField¶
You can disable the TextField using the disabled prop.
<TextField label="Disabled" placeholder="Cannot type here" disabled />
Props¶
| Prop | Type | Default | Description |
|---|---|---|---|
value |
string |
'' |
The current value of the text field. |
onChange |
(event: React.ChangeEvent<HTMLInputElement>) => void |
null |
Callback triggered when the value changes. |
placeholder |
string |
'' |
Placeholder text displayed inside the text field. |
label |
string |
null |
Label displayed above the text field. |
disabled |
boolean |
false |
Whether the text field is disabled. |
Accessibility¶
- The
TextFieldcomponent uses native<input>elements for accessibility. - Ensure the
labelprop provides meaningful context for screen readers.
Theming¶
You can customize the appearance of the TextField component using the theme:
const theme = {
components: {
TextField: {
backgroundColor: '#fff',
borderColor: '#ccc',
focusBorderColor: '#4caf50',
},
},
};
For more information on theming, see the Theming Guide.