Text Fields
Text fields allow users to input, edit, and select text.
- Module @rmwc/textfield
- Import styles:
- import '@material/textfield/dist/mdc.textfield.css';
- import '@material/floating-label/dist/mdc.floating-label.css';
- import '@material/notched-outline/dist/mdc.notched-outline.css';
- import '@material/line-ripple/dist/mdc.line-ripple.css';
- MDC Docs: https://material.io/develop/web/components/input-controls/text-field/
Text Field Variants
import { TextField, TextFieldIcon, TextFieldHelperText } from '@rmwc/textfield';
{}
<TextField label="standard..." />
{}
<TextFieldHelperText>Optional help text.</TextFieldHelperText>
{}
<TextField withLeadingIcon="search" withTrailingIcon="close" label="withLeadingIcon..." />
{}
<TextField
label="withTrailingIcon..."
withTrailingIcon={
<TextFieldIcon
tabIndex="0"
icon="close"
onClick={() => console.log('Clear')}/>
}
/>
{}
<TextField outlined label="outlined..." />
{}
<TextField fullwidth placeholder="fullWidth..."/>
{}
<TextField textarea fullwidth label="textarea..." rows="8" />
{}
<TextFieldHelperText persistent validationMsg>The field is required.</TextFieldHelperText>
{}
<TextField disabled label="disabled..." />
{}
<TextField invalid label="Invalid..." value="#@!$" onChange={() => {}}/>
<TextField label="Validate Pattern" pattern="[A-Za-z]{3}"/>
HTML Input Types
A preview of how material-components-web
handles styling input types for your browser.
import { TextField, TextFieldIcon, TextFieldHelperText } from '@rmwc/textfield';
<TextField label="text" type="text"/>
<TextField label="color" type="color" style={{width: '6rem'}}/>
<TextField label="date" type="date"/>
<TextField label="datetime-local" type="datetime-local"/>
<TextField label="month" type="month"/>
<TextField label="range" type="range"/>
<TextField label="time" type="time"/>
<TextField label="week" type="week"/>
import { DocumentComponent } from '@rmwc/base/utils/document-component';
import * as docs from './docgen.json';
import * as iconDocs from '@rmwc/icon//docgen.json';
<DocumentComponent docs={docs} displayName="TextField" />
<DocumentComponent docs={[docs, iconDocs]} displayName="TextFieldIcon" composes={['Icon']}/>
<DocumentComponent docs={docs} displayName="TextFieldHelperText" />