# Input [component-header:sl-input] Inputs collect data from the user. ```html preview ``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ?> This component works with standard `
` elements. Please refer to the section on [form controls](/getting-started/form-controls) to learn more about form submission and client-side validation. ## Examples ### Placeholders Use the `placeholder` attribute to add a placeholder. ```html preview ``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Clearable Add the `clearable` attribute to add a clear button when the input has content. ```html preview ``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Toggle Password Add the `toggle-password` attribute to add a toggle button that will show the password when activated. ```html preview

``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ( <>

); ``` ### Filled Inputs Add the `filled` attribute to draw a filled input. ```html preview ``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Pill Use the `pill` attribute to give inputs rounded edges. ```html preview

``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ( <>

); ``` ### Input Types The `type` attribute controls the type of input the browser renders. ```html preview

``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ( <>

); ``` ### Disabled Use the `disabled` attribute to disable an input. ```html preview

``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ( <>

); ``` ### Sizes Use the `size` attribute to change an input's size. ```html preview

``` ```jsx react import { SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ( <>

); ``` ### Prefix & Suffix Icons Use the `prefix` and `suffix` slots to add icons. ```html preview

``` ```jsx react import { SlIcon, SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ( <>

); ``` ### Labels Use the `label` attribute to give the input an accessible label. For labels that contain HTML, use the `label` slot instead. ```html preview ``` ```jsx react import { SlIcon, SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Help Text Add descriptive help text to an input with the `help-text` attribute. For help texts that contain HTML, use the `help-text` slot instead. ```html preview ``` ```jsx react import { SlIcon, SlInput } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` [component-metadata:sl-input]