TimePicker er en komponent for å velge et tidspunkt.
Kom i gang
TimePicker hjelper brukeren med å velge et tidspunkt. Den bruker pakken @internationalized/date til håndtering av dato og tid, inkludert tidssoner.
TimePicker-en har også støtte for ulike locals og språk. react-aria brukes i bakgrunnen, les mer her.
OBS: hjelpefunksjoner fra
@internationalized/date (typ.
now() og
isWeekend()) er ikke inkludert i
@entur/datepicker, legg til
@internationalized/date i repo ditt
for å bruke dem.
Språk og locale
Språk og locals er støttet gjennom to metoder: All automatisk tilpassing av språk skjer gjennom prop-en locale eller react-aria sin <I18nProvider />.
locale støtter strenger på BCP 47-formatet, eks. no-NO for norsk. Her finner du en liste over BCP 47-koder.
I tillegg er det noen ledetekster og aria-label-er som må sendes inn manuelt. Dette gjelder leftArrowButtonAriaLabel og rightArrowButtonAriaLabel.
TimePicker tilpasset USA
Tidssoner
TimePicker støtter tidssonehåndtering for å sikre lik opplevelse på tvers av tidssoner. Dette håndteres ved @internationalized/date sitt ZonedDateTime-objekt, les mer om hvordan opprette og bruke tidssonefunksjonalitet her.
Bruke JS Date i stedet for @internationalized/date
Hvis du ikke har mulighet til å bruke @internationalized/date, kan du bruke konverteringsfunksjonene: nativeDateToTimeValue og timeValueToNativeDate. Disse konverterer
mellom @internationalized/date sine tre tidstyper: ZonedDateTime, CalendarDateTime og Time (TimeValue er en samling av disse tre typene) og Javascript sin Date.
Se API under, nærmere beskrivelse finnes i JSDocs for funksjonene:
nativeDateToTimeValue: (date: Date | null, noDateOnlyTime?: boolean, timeZone?: string | undefined, offset?: number | undefined) => Time | CalendarDateTime | ZonedDateTime | null;
timeOrDateValueToNativeDate: (value: TimeValue | DateValue | null, timeZoneForCalendarDateTime?: string | undefined) => Date | null;Eksempel på bruk av JS-date med DatePicker
Bruk sammen med DatePicker
Du kan velge en dato sammen med tidspunktet på to ulike måter, enten ved å bruke en DatePicker i kombinasjon med TimePicker-en – se kombo av Time- og DatePicker-eksempel på siden til DatePicker –,
eller inline ved å bruke en DatePicker med prop-en showTime – se inline-eksempel på siden til DatePicker.
Bruk på mobile enheter
TimePicker er fungerer like bra på mobile enheter også, men ønsker man en OS-spesifikk opplevelse på mobilen kan <NativeTimePicker /> benyttes. Her må dubenytte Date-objektet til Javascript eller konvertere et TimeValue-objekt.
Retningslinjer
Universell utforming
TimePicker bruker react-aria i bakgrunnen somsørger for gjennomgående støtte for universell utforming. Hvert tidssegment er tilgjengelig med tastaturet og alle interagerbare elementer har aria-beskrivelser.
Hvis du endrer locale (dvs. språk) må du sende inn verdier på riktig språk til leftArrowButtonAriaLabel- og rightArrowButtonAriaLabel-props-ene.
Mer kompakt fritektsvariant (B2B)
For grensesnitt der et kompakt skjemafelt og mulighet til å kopiere og lime inn fullstendige tidspunkt er viktig kan man bruke SimpleTimePicker. Denne varianten inneholder
mindre funksjonalitet enn TimePicker – den har f.eks ikke locale og fullstendig UU-støtte –, men bygger på samme tidsobjekt. Man interagerer med feltet ved å skrive inn tidspunkt på et av følgende format (t: time, m: minutt, s:sekund): tmm, ttmm, tt:mm, tmmss, ttmmss, t:mm:ss, tt:mm:ss.
Hvis du ønsker å vise sekunder i feltet kan du bruke showSeconds-prop-en.
Props
TimePicker
import { TimePicker } from '@entur/datepicker';Denne komponenten har ingen props
SimpleTimePicker
import { SimpleTimePicker } from '@entur/datepicker';Denne komponenten har ingen props
NativeTimePicker
import { NativeTimePicker } from '@entur/datepicker';Denne komponenten har ingen props