Jøkul · Komponenter
Pakke: @fremtind/jokul
Installasjon: Se relevant guide
Denne lokale siden fokuserer på `NativeSelect`, altså Jøkul sin wrapper rundt vanlig `<select>`. Det er ofte det riktige valget når listen er kort og ikke trenger søk eller ekstra interaksjonslag.
Forhåndsvisningen under bruker den samme input-group- og wrapperkontrakten som Jøkul selv: `jkl-select`, `jkl-input-group` og `jkl-select__button` rundt feltet.
Playgrounden viser hvordan placeholder, bredde, feilstatus og valgt verdi påvirker både markupen og React-eksempelet.
Props Jøkul-props Jøkul-props som styrer wrapper, tilstand og førstevalget i den native selecten.
Prop Type Standard Beskrivelse inline boolean false Lar selecten stå i kompakte linjer der labelen skjules visuelt, men fortsatt finnes for skjermlesere. invalid boolean false Markerer feltet som ugyldig og brukes sammen med en forklarende feilmelding. width string auto Lar deg styre bredden på outer wrapper når selecten trenger en tydelig fast bredde i layouten. placeholder string "Velg" Teksten som vises før brukeren har valgt noe i den native listen.
React-props Props på `NativeSelect` og InputGroup rundt feltet.
Prop Type Standard Beskrivelse data-testautoid string ingen Stabil test-id fra Jøkul sin kjernetype når selecten må spores i automatiserte tester. id string auto-generert når mulig Lar deg styre koblingen mellom label, support-tekst og det underliggende select-elementet eksplisitt. label ReactNode påkrevd Labelteksten som beskriver hva listen gjelder. items Array<string | ValuePair> påkrevd Alternativene som vises i selecten. className string ingen Ekstra klasse på wrapperen når selecten må kobles til lokal layout eller sporing. data-testid string ingen Testkrok på wrapperen når teamet bruker `data-testid` i komponenttester. data-size "small" | "medium" | "large" arver størrelse Lar feltet følge en eksplisitt størrelseskontrakt når layouten trenger det. labelProps Omit<LabelProps, "children" | "htmlFor" | "standAlone"> ingen Justerer label-varianten eller skjuler den visuelt uten å miste koblingen til feltet. supportLabelProps Omit<SupportLabelProps, "id" | "errorLabel" | "helpLabel"> ingen Styrer hvordan hjelp- eller feilmeldingen under feltet rendres. description ReactNode ingen Ekstra beskrivelsetekst mellom label og felt når brukeren trenger mer kontekst før et valg tas. tooltip ReactNode ingen Knytter en ekstra forklaring til labelen uten å gjøre den synlige hjelpeteksten permanent. style CSSProperties ingen inline-stiler Lar wrapperen få inline-stiler når layouten må styres programmatisk i en avgrenset kontekst. render (props: InputProps) => JSX.Element ingen custom render Avansert escape hatch når InputGroup-familien må rendres via en egendefinert funksjon. helpLabel ReactNode ingen Hjelpetekst under feltet når brukeren trenger ekstra føring før et valg tas. errorLabel ReactNode ingen Feilmelding under feltet når selecten er ugyldig eller mangler et påkrevd valg.
Native HTML-props Native HTML-attributter som sendes til det underliggende `<select>`-elementet.
Prop Type Standard Beskrivelse value string tom streng Den valgte verdien når selecten brukes kontrollert. name string påkrevd Feltets navn i skjemaer og ved innsending. disabled boolean false Brukes når brukeren midlertidig ikke skal kunne velge i listen. required boolean false Markerer at brukeren må velge en verdi før skjemaet kan sendes inn. selectClassName string ingen Ekstra klasse på det underliggende `<select>`-elementet når bare selve feltknappen må styles eller spores.
ARIA-props Tilgjengelighetsattributter som knytter selecten til støttetekst og feilstatus.
Prop Type Standard Beskrivelse aria-describedby string ingen Kobler selecten til hjelpetekst eller feilmelding under feltet. aria-invalid boolean false Bør settes når feltet er ugyldig og samtidig peke til en konkret feilmelding.
Når du skal bruke Select Bruk Select når brukeren skal velge én verdi fra en kjent, relativt kort liste, og det er nyttig å holde alle valgene samlet i ett felt.
Hvis listen er svært kort og valgene bør være synlige samtidig, kan radio buttons være lettere å sammenligne.
Sorter alternativene på en måte som gir mening for oppgaven, for eksempel naturlig rekkefølge eller forventet bruksfrekvens. Bruk placeholder eller hjelpetekst bare for å gi ekstra føring, ikke som erstatning for en tydelig label. Hold listen kort nok til at brukeren ikke må scrolle gjennom store mengder alternativer uten søk. Tilgjengelighet Native select arver mye tilgjengelighet fra nettleseren, men label, hjelpetekst og feilmelding må fortsatt være presise og koblet riktig.
Når feltet er ugyldig, bør feilmeldingen forklare hvorfor brukeren må velge noe eller hva som er feil med det valget som er tatt.
Bruk `aria-describedby` når hjelpetekst eller feilmelding utdyper valget. Unngå placeholdertekst som er så vag at brukeren ikke forstår hva listen faktisk gjelder. Komponentprofil Klient-JS Ingen Hydrering Ingen Ikoner Påkrevd Dekket API-props 20 Playground-kontroller 6 Delkomponenter 0 Anatomideler 0 Komposisjoner 0 Utfasete props 0 Stiler @fremtind/jokul/styles/core/core.css@fremtind/jokul/styles/components/input-group/input-group.min.css@fremtind/jokul/styles/components/select/select.min.css@fremtind/jokul/styles/components/icon/icon.min.css@fremtind/jokul/styles/fonts/webfonts.min.css Ikonkontrakt Bruk: Påkrevd
Stilimport: @fremtind/jokul/styles/components/icon/icon.min.css
Fontimport: @fremtind/jokul/styles/fonts/webfonts.min.css
Select-kontrakten bruker Jøkul sitt chevron-ikon som en del av affordancen i feltet, så ikonoppsettet er ikke valgfritt for full visuell kontrakt. Feil- og støttetilstander i samme feltfamilie deler også ikonstilen, så komponenten bør dokumenteres og installeres med ikonimporten på plass. Propkontrakt
Dekning: Komplett
Scope: Pakkens offentlige props, uten generiske DOM-props
Select · NativeSelectProps · @fremtind/jokul/select · 20 props
Dekningen følger offentlige props som kommer fra Jøkul-pakken og dens egne basetyper, men ikke generiske DOM-props fra React. Denne siden dokumenterer den native Select-varianten som rendres fra `NativeSelect` i `@fremtind/jokul/select`. Tilgjengelighet Tastatur: Følger native tastaturstøtte for select; Tab flytter fokus og piltaster blar i alternativene når menyen er åpen.
Semantikk som kreves Select trenger en tydelig label. Placeholderen kan hjelpe, men skal ikke erstatte labelen. Bruk select når alternativene er kjente og brukeren skal velge én verdi fra listen. Feilstatus må forklares med tekst, ikke bare visuell markering av feltet. Automatiserte kontroller Dokssiden inngår i prosjektets route smoke og a11y-kjøring. Forhåndsvisningen rendres server-side uten Astro islands eller klienthydrering. Manuelle kontroller Bekreft at alternativene er formulert tydelig nok til å forstås uten ekstra kontekst. Bekreft at placeholder og valgt verdi ikke blir forvekslet på små skjermer. Ytelse Den lokale docs-siden bruker NativeSelect-markup og holder seg til browserens innebygde select-oppførsel. Hold antall alternativer lavt nok til at brukeren faktisk får oversikt uten søk eller ekstra klientlogikk. Relatert ChevronDownIcon : Select bruker chevron-retning som et viktig signal om at feltet åpner en liste med valg. TextInput : Bruk tekstfelt når brukeren skal skrive inn en verdi i stedet for å velge fra en forhåndsdefinert liste. Installer Jøkul : Hent inn core-, input-group- og select-stilene før du bygger lokale skjemaoppsett.