Komponenter
Search
Search lar brukere raskt finne relevant innhold på et nettsted eller i en applikasjon. Komponenten består av et søkefelt, med eller uten en søkeknapp.
React
Trykk Enter for å redigere
const Preview = () => { return ( <Search> <Search.Input aria-label='Søk' /> <Search.Clear /> <Search.Button /> </Search> ); }; render(<Preview />)
Bruk
Eksempel
Varianter
Basert på korleis del-komponentar, og strukturen i HTML, kan du sendre på korleis Search vert vist.
React
Trykk Enter for å redigere
const Variants = () => { return ( <> <Search> <Search.Input aria-label='Søk' /> <Search.Clear /> </Search> <Divider style={{ marginTop: 'var(--ds-size-4)' }} /> <Search> <Search.Input aria-label='Søk' /> <Search.Clear /> <Search.Button /> </Search> <Divider style={{ marginTop: 'var(--ds-size-4)' }} /> <Search> <Search.Input aria-label='Søk' /> <Search.Clear /> <Search.Button variant='secondary' /> </Search> </> ); }; render(<Variants />)
Med Label
Dersom du vil ha label på søkefeltet, må du legge til en Label komponent som du kobler sammen med Search.Input. I eksempelet har vi brukt Field for å få oppkobling mellom Label og Search.Input.
React
Trykk Enter for å redigere
const WithLabel = () => { return ( <Field> <Label>Søk etter katter</Label> <Search> <Search.Input name='cat-search' /> <Search.Clear /> <Search.Button /> </Search> </Field> ); }; render(<WithLabel />)
<form>
React
Trykk Enter for å redigere
const Form = () => { const [value, setValue] = useState<string>(); const [submittedValue, setSubmittedValue] = useState<string>(); return ( <> <form onSubmit={(e) => { // Prevent navigation from Storybook e.preventDefault(); setSubmittedValue(value); }} > <Search> <Search.Input aria-label='Søk' value={value} onChange={(e) => setValue(e.target.value)} /> <Search.Clear /> <Search.Button /> </Search> </form> <Paragraph data-size='md' style={{ marginTop: 'var(--ds-size-2)' }}> Submitted value: {submittedValue} </Paragraph> </> ); }; render(<Form />)
HTML
Du brukar klassenavnet ds-search på eit wrapper element rundt <input>.
Vil du ha ein "tøm"-knapp, legg du ved ein <button> med type="reset"
Det er viktig at du legger til ein tom placeholder på <input> dersom du har "tøm"-knapp
CSS variabler og data-attributter
| Navn | Verdi |
|---|---|
| --dsc-search-padding-inline | var(--ds-size-2) |
| --dsc-search-clear-padding | var(--ds-size-1) |
| --dsc-search-clear-size | var(--ds-size-9) |
| --dsc-search-clear-icon-url | url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='currentColor' d='M6.53 5.47a.75.75 0 0 0-1.06 1.06L10.94 12l-5.47 5.47a.75.75 0 1 0 1.06 1.06L12 13.06l5.47 5.47a.75.75 0 1 0 1.06-1.06L13.06 12l5.47-5.47a.75.75 0 0 0-1.06-1.06L12 10.94z'/%3E%3C/svg%3E") |
| --dsc-search-magnifying-icon-url | url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M10.5 3.25a7.25 7.25 0 1 0 4.57 12.88l5.41 5.41a.75.75 0 1 0 1.06-1.06l-5.41-5.41A7.25 7.25 0 0 0 10.5 3.25M4.75 10.5a5.75 5.75 0 1 1 11.5 0 5.75 5.75 0 0 1-11.5 0'/%3E%3C/svg%3E") |
| --dsc-search-magnifying-icon-size | var(--ds-size-7) |
| --dsc-button-size | var(--dsc-search-clear-size) |
Ingen relevante data-attributter funnet.
Rediger denne siden på github.com (åpnes i ny fane)