@entur/datepicker 8.1.0-beta.2 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DatePicker/Calendar.d.ts +13 -13
- package/dist/DatePicker/CalendarCell.d.ts +10 -10
- package/dist/DatePicker/CalendarGrid.d.ts +9 -9
- package/dist/DatePicker/DateField.d.ts +45 -45
- package/dist/DatePicker/DatePicker.d.ts +65 -65
- package/dist/DatePicker/NativeDatePicker.d.ts +38 -38
- package/dist/DatePicker/index.d.ts +4 -4
- package/dist/TimePicker/NativeTimePicker.d.ts +27 -27
- package/dist/TimePicker/SimpleTimePicker.d.ts +41 -39
- package/dist/TimePicker/TimePicker.d.ts +43 -43
- package/dist/TimePicker/TimePickerArrowButton.d.ts +6 -6
- package/dist/TimePicker/index.d.ts +4 -4
- package/dist/datepicker.cjs.development.js +109 -99
- package/dist/datepicker.cjs.development.js.map +1 -1
- package/dist/datepicker.cjs.production.min.js +1 -1
- package/dist/datepicker.cjs.production.min.js.map +1 -1
- package/dist/datepicker.esm.js +21 -20
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/shared/CalendarButton.d.ts +9 -9
- package/dist/shared/FieldSegment.d.ts +9 -9
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/utils.d.ts +30 -30
- package/dist/styles.css +128 -134
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker.cjs.development.js","sources":["../src/shared/FieldSegment.tsx","../src/shared/utils.ts","../src/DatePicker/DateField.tsx","../src/shared/CalendarButton.tsx","../src/DatePicker/CalendarCell.tsx","../src/DatePicker/CalendarGrid.tsx","../src/DatePicker/Calendar.tsx","../src/DatePicker/DatePicker.tsx","../src/DatePicker/NativeDatePicker.tsx","../src/TimePicker/TimePickerArrowButton.tsx","../src/TimePicker/TimePicker.tsx","../src/TimePicker/NativeTimePicker.tsx","../src/TimePicker/SimpleTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport { useDateSegment } from '@react-aria/datepicker';\nimport { DateSegment, DateFieldState } from '@react-stately/datepicker';\n\nimport './FieldSegment.scss';\n\ntype TimeSegmentProps = {\n segment: DateSegment;\n state: DateFieldState;\n};\n\nexport const FieldSegment = ({ segment, state }: TimeSegmentProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const { segmentProps } = useDateSegment(segment, state, ref);\n\n const is12HourFormatted = state.segments.some(\n segment => segment.text === 'AM' || segment.text === 'PM',\n );\n\n const segmentDisplayText = () => {\n if (is12HourFormatted) return segment.text;\n // if number add '0' padding to start when one digit\n if (segment.text.match(/\\d+/)) return segment.text.padStart(2, '0');\n return segment.text;\n };\n\n return (\n <div\n {...segmentProps}\n ref={ref}\n className={classNames('eds-date-and-time-field__segment', {\n 'eds-date-and-time-field__segment--placeholder': segment.isPlaceholder,\n 'eds-date-and-time-field__segment--dot-separator': segment.text === '.',\n })}\n tabIndex={state.isDisabled ? -1 : segmentProps.tabIndex}\n >\n {segmentDisplayText()}\n </div>\n );\n};\n","import {\n ZonedDateTime,\n CalendarDateTime,\n Time,\n parseAbsolute,\n DateValue,\n getLocalTimeZone,\n CalendarDate,\n} from '@internationalized/date';\nimport { TimeValue } from '@react-types/datepicker';\nimport { Calendar, GregorianCalendar } from '@internationalized/date';\n\nconst nativeDateToDateTime = (\n date: Date,\n timeZone?: string,\n offset?: number,\n) => {\n if (timeZone) {\n if (offset) {\n return new ZonedDateTime(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n timeZone,\n offset,\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n );\n }\n return parseAbsolute(date.toISOString(), timeZone);\n }\n return new CalendarDateTime(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n );\n};\n\n/**\n * Tar inn et JS Date-objekt og returnerer et av DateValue-objektene fra @internationalized/date-pakken\n * @param {Date} date JS Date-objekt som ønskes konvertert til et DateValue-objekt\n * @param {boolean} noTimeOnlyDate Hvis tidspunktet er irrelevant kan denne settes til true, da får man et CalendarDate-objekt uten tidspunkt tilbake\n * @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset\n * @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.\n * @returns {CalendarDateTime | ZonedDateTime | CalendarDate} et av DateValue-objektene med verdier fra date\n */\nexport const nativeDateToDateValue = (\n date: Date,\n noTimeOnlyDate = false,\n timeZone?: string,\n offset?: number,\n) => {\n if (noTimeOnlyDate)\n return new CalendarDate(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n );\n\n return nativeDateToDateTime(date, timeZone, offset);\n};\n\n/**\n * Tar inn et JS Date-objekt og returnerer et av TimeValue-objektene fra @internationalized/date-pakken\n * @param {Date} date JS Date-objekt som ønskes konvertert til et TimeValue-objekt\n * @param {boolean} noDateOnlyTime Hvis datoen er irrelevant kan denne settes til true, da får man et Time-objekt uten dato tilbake\n * @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset\n * @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.\n * @returns {Time | CalendarDateTime | ZonedDateTime} et av TimeValue-objektene med verdier fra date\n */\nexport const nativeDateToTimeValue = (\n date: Date,\n noDateOnlyTime = false,\n timeZone?: string,\n offset?: number,\n) => {\n if (noDateOnlyTime)\n return new Time(date.getHours(), date.getMinutes(), date.getSeconds(), 0);\n\n return nativeDateToDateTime(date, timeZone, offset);\n};\n\n/**\n * Tar inn et av Date- eller TimeValue-objektene fra @internationalized/date-pakken og returnerer et JS Date-objekt\n * @param {DateValue | TimeValue} value En dato eller et tidspunkt på Date- eller TimeValue-formatet som ønskes konvertert til et JS Date-objekt\n * @param {string} timeZoneForCalendarDateTime Tidssonen value er i. Fungerer kun med typen er CalendarDateTime\n * @returns {Date} et Date-objekt med verdier fra time\n */\n// This function uses a lot of @ts-expect-error to make it work with all Date- and TimeValue types. Sorry ...\nexport const timeOrDateValueToNativeDate = (\n value: TimeValue | DateValue,\n timeZoneForCalendarDateTime?: string,\n): Date => {\n // @ts-expect-error .day does not exist on Time-object\n if (!value.day) {\n // type is Time\n const date = new Date();\n // @ts-expect-error hour does not exist on CalendarDate\n date.setHours(value.hour);\n // @ts-expect-error minute does not exist on CalendarDate\n date.setMinutes(value.minute);\n // @ts-expect-error second does not exist on CalendarDate\n date.setSeconds(value.second);\n return date;\n }\n\n // @ts-expect-error .day does not exist on Time-object\n if (!value.hour) {\n // type is CalendarDate\n // @ts-expect-error .toDate(timeZone) does not exist in type Time\n return value.toDate(timeZoneForCalendarDateTime ?? getLocalTimeZone());\n }\n\n // @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime\n if (!value.timeZone) {\n // type is CalendarDateTime\n if (timeZoneForCalendarDateTime)\n // @ts-expect-error .toDate(timeZone) does not exist in type Time\n return value.toDate(timeZoneForCalendarDateTime);\n\n return new Date(\n // @ts-expect-error not in type Time\n value.year,\n // @ts-expect-error not in type Time\n value.month - 1,\n // @ts-expect-error not in type Time\n value.day,\n // @ts-expect-error not in type CalendarDate\n value.hour,\n // @ts-expect-error not in type CalendarDate\n value.minute,\n // @ts-expect-error not in type CalendarDate\n value.second,\n );\n }\n\n // @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime\n return value.toDate();\n};\n\nexport const createCalendar = (identifier = 'gregory'): Calendar => {\n switch (identifier) {\n case 'gregory':\n return new GregorianCalendar();\n default:\n throw new Error(`Unsupported calendar ${identifier}`);\n }\n};\n\nexport const ariaLabelIfNorwegian = (\n norwegianAriaLabel: string,\n locale: string,\n propsCollection: any,\n) => {\n if (locale.toLowerCase() !== 'no-no') return propsCollection['aria-label'];\n return norwegianAriaLabel;\n};\n","import React, { ReactNode, useRef } from 'react';\n\nimport { useDateFieldState } from '@react-stately/datepicker';\nimport { useDateField } from '@react-aria/datepicker';\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport classNames from 'classnames';\n\nimport type {\n SpectrumDateFieldProps,\n DateValue,\n} from '@react-types/datepicker';\n\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport { ConditionalWrapper, mergeRefs, useRandomId } from '@entur/utils';\n\nimport { FieldSegment } from '../shared/FieldSegment';\nimport { createCalendar } from '../shared/utils';\n\nimport './DateField.scss';\n\nexport type DateFieldProps = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedDate: DateValue | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange: (value: DateValue) => void;\n /** Label til TimePicker */\n label: string;\n /** BCP47-språkkoden til locale-en du ønsker å bruke.\n * @default Brukerenhetens selvvalgte locale\n */\n locale?: string;\n /** Viser den gjeldende tidssonen hvis en er valgt\n * @default false\n */\n showTimeZone?: boolean;\n showTime?: boolean;\n /** Tidligste gyldige datovalg.\n * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone */\n minDate?: DateValue;\n /** Seneste gyldige datovalg. (se minValue) */\n maxDate?: DateValue;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Varselmelding som forteller om ugyldig dato\n * @default \"Ugyldig dato\"\n */\n validationFeedback?: string;\n /** Valideringsvariant for melding om ugyldig dato\n * @default \"error\"\n */\n validationVariant?: VariantType;\n labelTooltip?: React.ReactNode;\n disabled?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n [key: string]: any;\n} & Omit<\n SpectrumDateFieldProps<DateValue>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n>;\n\nexport const DateField = React.forwardRef<HTMLDivElement, DateFieldProps>(\n (\n {\n selectedDate: value,\n label,\n locale: customLocale,\n showTimeZone,\n showTime,\n granularity = 'day',\n disabled,\n variant,\n feedback,\n validationVariant = 'error',\n validationFeedback = 'Ugyldig dato',\n labelTooltip,\n minDate: minValue,\n maxDate: maxValue,\n style,\n className,\n labelProps: parentLabelProps,\n append,\n ...rest\n },\n ref,\n ) => {\n const { locale } = useLocale();\n\n const state = useDateFieldState({\n ...rest,\n locale: customLocale ?? locale,\n createCalendar,\n value: value === null ? undefined : value,\n hideTimeZone: !showTimeZone,\n granularity: showTime ? 'minute' : granularity,\n minValue,\n maxValue,\n });\n\n const dateFieldRef = useRef(null);\n const { labelProps, fieldProps } = useDateField(\n { ...rest, label: label, isDisabled: disabled || rest.isDisabled },\n state,\n dateFieldRef,\n );\n\n const id = useRandomId('datefield');\n\n return (\n <ConditionalWrapper\n condition={customLocale !== undefined}\n wrapper={(child: ReactNode) => (\n <I18nProvider locale={customLocale}>{child}</I18nProvider>\n )}\n >\n <BaseFormControl\n style={style}\n className={classNames('eds-datefield', className)}\n labelId={id}\n ref={mergeRefs(dateFieldRef, ref)}\n disabled={state.isDisabled}\n disableLabelAnimation\n label={label}\n labelTooltip={labelTooltip}\n labelProps={parentLabelProps ?? labelProps}\n {...fieldProps}\n variant={\n variant ?? state.validationState === 'invalid'\n ? validationVariant\n : undefined\n }\n feedback={\n feedback ?? state.validationState === 'invalid'\n ? validationFeedback\n : undefined\n }\n append={append}\n ariaAlertOnFeedback\n >\n {state.segments.map((segment, i) => (\n <FieldSegment segment={segment} state={state} key={i} />\n ))}\n </BaseFormControl>\n </ConditionalWrapper>\n );\n },\n);\n","import React, { useRef } from 'react';\n\nimport { useButton } from '@react-aria/button';\n\nimport { IconButton } from '@entur/button';\n\ntype CalendarButtonProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n [key: string]: any;\n};\n\nexport const CalendarButton = ({\n children,\n className,\n style,\n ...props\n}: CalendarButtonProps) => {\n const ref = useRef(null);\n const { buttonProps } = useButton(props, ref);\n\n return (\n <IconButton {...buttonProps} ref={ref} className={className} style={style}>\n {children}\n </IconButton>\n );\n};\n","import React, { useRef } from 'react';\n\nimport { useCalendarCell } from '@react-aria/calendar';\nimport { CalendarState } from '@react-stately/calendar';\nimport {\n CalendarDate,\n getLocalTimeZone,\n isEqualDay,\n now,\n} from '@internationalized/date';\nimport classNames from 'classnames';\n\ntype CalendarCellProps = {\n state: CalendarState;\n date: CalendarDate;\n onSelectedCellClick?: () => void;\n};\n\nexport const CalendarCell = ({\n state,\n date,\n onSelectedCellClick = () => {\n return;\n },\n ...rest\n}: CalendarCellProps) => {\n const cellRef = useRef(null);\n\n const {\n cellProps,\n buttonProps,\n isSelected,\n isOutsideVisibleRange,\n isDisabled,\n isUnavailable,\n formattedDate,\n } = useCalendarCell({ date }, state, cellRef);\n return (\n <td {...cellProps} className=\"eds-datepicker__calendar__grid__cell__td\">\n <div\n {...buttonProps}\n ref={cellRef}\n hidden={isOutsideVisibleRange}\n className={classNames('eds-datepicker__calendar__grid__cell', {\n 'eds-datepicker__calendar__grid__cell--selected': isSelected,\n 'eds-datepicker__calendar__grid__cell--disabled':\n isDisabled || isUnavailable,\n 'eds-datepicker__calendar__grid__cell--outside-month':\n isOutsideVisibleRange,\n 'eds-datepicker__calendar__grid__cell--today': isEqualDay(\n date,\n now(state.timeZone ?? getLocalTimeZone()),\n ),\n })}\n {...rest}\n onClick={e => {\n buttonProps.onClick && buttonProps.onClick(e);\n isSelected && onSelectedCellClick();\n }}\n onKeyDown={e => {\n buttonProps.onKeyDown && buttonProps.onKeyDown(e);\n if (e.key === 'Enter' || e.key === ' ')\n isSelected && onSelectedCellClick();\n }}\n >\n {formattedDate}\n </div>\n </td>\n );\n};\n","import React from 'react';\n\nimport { useLocale } from '@react-aria/i18n';\nimport { useCalendarGrid } from '@react-aria/calendar';\nimport { CalendarState } from '@react-stately/calendar';\nimport { getWeeksInMonth } from '@internationalized/date';\n\nimport { useRandomId } from '@entur/utils';\nimport { VisuallyHidden } from '@entur/a11y';\n\nimport { CalendarCell } from './CalendarCell';\n\ntype CalendarGridProps = {\n state: CalendarState;\n navigationDescription?: string;\n onSelectedCellClick?: () => void;\n};\n\nexport const CalendarGrid = ({\n state,\n navigationDescription,\n onSelectedCellClick = () => {\n return;\n },\n ...rest\n}: CalendarGridProps) => {\n const calendarGridId = useRandomId('eds-calendar');\n const { locale } = useLocale();\n\n const { gridProps, headerProps, weekDays } = useCalendarGrid(rest, state);\n\n const weeksInMonth = getWeeksInMonth(state.visibleRange.start, locale);\n const weeksArray = Array.from(Array(weeksInMonth).keys());\n\n const weekDaysMapped = () => {\n if (locale.toLowerCase().includes('no'))\n return ['ma', 'ti', 'on', 'to', 'fr', 'lø', 'sø'];\n if (locale.toLowerCase().includes('en')) {\n if (weekDays[0] === 'M')\n return ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n if (weekDays[0] === 'S')\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n return weekDays.map(day => day.toLowerCase());\n };\n\n const getNavigationDescription = () => {\n if (navigationDescription) return navigationDescription;\n if (locale.toLowerCase().includes('en'))\n return 'Use the arrow keys to navigate between dates';\n return 'Bruk piltastene til å navigere mellom datoer';\n };\n\n return (\n <>\n <table\n {...gridProps}\n cellSpacing=\"0\"\n className=\"eds-datepicker__calendar__grid\"\n >\n <thead {...headerProps}>\n <tr>\n {weekDaysMapped().map((day, index) => (\n <th key={index}>{day}</th>\n ))}\n </tr>\n </thead>\n <tbody>\n {weeksArray.map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex)\n .map((date, i) =>\n date ? (\n <CalendarCell\n key={i}\n state={state}\n date={date}\n aria-describedby={calendarGridId + 'description'}\n onSelectedCellClick={onSelectedCellClick}\n />\n ) : (\n <td key={i} />\n ),\n )}\n </tr>\n ))}\n </tbody>\n </table>\n <VisuallyHidden id={calendarGridId + 'description'}>\n {getNavigationDescription()}\n </VisuallyHidden>\n </>\n );\n};\n","import React, { ReactNode } from 'react';\n\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport { useCalendar } from '@react-aria/calendar';\nimport { useCalendarState } from '@react-stately/calendar';\nimport { DateValue } from '@internationalized/date';\n\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { ConditionalWrapper } from '@entur/utils';\n\nimport { ariaLabelIfNorwegian, createCalendar } from '../shared/utils';\nimport { CalendarButton } from '../shared/CalendarButton';\nimport { CalendarGrid } from './CalendarGrid';\n\nimport './Calendar.scss';\n\ntype CalendarProps = {\n selectedDate: DateValue | null;\n onChange: (SelectedDate: DateValue | null) => void;\n navigationDescription?: string;\n style?: React.CSSProperties;\n onSelectedCellClick?: () => void;\n [key: string]: any;\n};\n\nexport const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n (\n {\n selectedDate: value,\n onChange,\n locale: customLocale,\n style,\n children: _,\n navigationDescription,\n onSelectedCellClick = () => {\n return;\n },\n ...rest\n },\n ref,\n ) => {\n const { locale } = useLocale();\n\n const state = useCalendarState({\n ...rest,\n onChange,\n locale: customLocale ?? locale,\n createCalendar,\n });\n const { calendarProps, prevButtonProps, nextButtonProps, title } =\n useCalendar(rest, state);\n\n return (\n <ConditionalWrapper\n condition={customLocale}\n wrapper={(child: ReactNode) => (\n <I18nProvider locale={customLocale}>{child}</I18nProvider>\n )}\n >\n <div\n {...calendarProps}\n ref={ref}\n className=\"eds-datepicker__calendar\"\n style={style}\n >\n <div className=\"eds-datepicker__calendar__header\">\n <CalendarButton\n {...prevButtonProps}\n aria-label={ariaLabelIfNorwegian(\n 'Forrige måned',\n locale,\n prevButtonProps,\n )}\n >\n <LeftArrowIcon size={20} />\n </CalendarButton>\n <h2>{title}</h2>\n <CalendarButton\n {...nextButtonProps}\n aria-label={ariaLabelIfNorwegian(\n 'Neste måned',\n locale,\n nextButtonProps,\n )}\n >\n <RightArrowIcon size={20} />\n </CalendarButton>\n </div>\n <CalendarGrid\n state={state}\n navigationDescription={navigationDescription}\n onSelectedCellClick={onSelectedCellClick}\n />\n </div>\n </ConditionalWrapper>\n );\n },\n);\n","import React, { ReactNode, useRef } from 'react';\n\nimport { useDatePickerState } from '@react-stately/datepicker';\nimport { useDatePicker } from '@react-aria/datepicker';\nimport { I18nProvider } from '@react-aria/i18n';\nimport {\n useFloating,\n offset,\n flip,\n shift,\n autoUpdate,\n} from '@floating-ui/react-dom';\nimport FocusLock from 'react-focus-lock';\nimport classNames from 'classnames';\n\nimport type {\n DateValue,\n AriaDatePickerProps,\n MappedDateValue,\n} from '@react-types/datepicker';\n\nimport {\n ConditionalWrapper,\n useOnClickOutside,\n useOnEscape,\n useWindowDimensions,\n} from '@entur/utils';\nimport { space, zIndexes } from '@entur/tokens';\nimport { CalendarIcon } from '@entur/icons';\nimport { Modal } from '@entur/modal';\n\nimport type { VariantType } from '@entur/form';\n\nimport { DateField } from './DateField';\nimport { Calendar } from './Calendar';\nimport { CalendarButton } from '../shared/CalendarButton';\n\nimport './DatePicker.scss';\n\nexport type DatePickerProps<DateType extends DateValue> = {\n /** Den valgte datoen. Dato i '@internationalized/date'-pakkens format */\n selectedDate: DateType | null;\n /** Kalles når tiden endres. Dato i '@internationalized/date'-pakkens format */\n onChange: (value: MappedDateValue<DateType> | null) => void;\n /** Ledetekst for inputfeltet til DatePicker */\n label: string;\n /** BCP47-språkkoden til locale-en du ønsker å bruke.\n * @default Brukerenhetens selvvalgte locale\n */\n locale?: string;\n /** Viser den gjeldende tidssonen hvis en er valgt (krever at tid også vises)\n * @default false\n */\n showTimeZone?: boolean;\n /** Viser tidspunkt i tillegg til dato.\n * OBS: selectedDate må være av typen CalendarDateTime eller ZonedDateTime\n */\n showTime?: boolean;\n /** Tidligste gyldige datovalg.\n * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone. */\n minDate?: DateValue;\n /** Seneste gyldige datovalg.\n * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone\n *\n * OBS: Hvis du bruker dato med tid vil det være til, men ikke med denne datoen */\n maxDate?: DateValue;\n /** Funksjon som tar inn en dato og sier om den er utilgjengelig.\n * Eks. (date) => isWeekend(date, 'no-NO') == helgedager er ikke tilgjengelig */\n isDateUnavailable?: (date: DateValue) => boolean;\n /** Varselmelding, som vil komme under DatePicker sitt inputfelt */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Varselmelding som forteller om ugyldig dato\n * @default \"Ugyldig dato\"\n */\n validationFeedback?: string;\n /** Valideringsvariant for melding om ugyldig dato\n * @default \"error\"\n */\n validationVariant?: VariantType;\n disabled?: boolean;\n /** Hvis true vil kalenderen alltid vises i en popover når den åpnes\n * @default false\n */\n disableModal?: boolean;\n /** Maxbredden til viewport-en for at modal skal vises\n * @default 1000\n */\n modalTreshold?: number;\n labelTooltip?: React.ReactNode;\n /** Skjermlesertest som forklarer navigasjon i kalenderen. Oversettes automatisk for engelsk locale, men ikke andre språk.\n * @default 'Bruk piltastene til å navigere mellom datoer'\n */\n navigationDescription?: string;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaDatePickerProps<DateType>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n>;\n\nexport const DatePicker = <DateType extends DateValue>({\n selectedDate: value,\n onChange,\n locale,\n disabled: isDisabled,\n showTime,\n showTimeZone = false,\n className,\n style,\n variant,\n feedback,\n validationVariant,\n validationFeedback,\n disableModal = false,\n labelTooltip,\n navigationDescription,\n minDate: minValue,\n maxDate: maxValue,\n modalTreshold = 1000,\n ...rest\n}: DatePickerProps<DateType>) => {\n const CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;\n const datePickerRef = useRef<HTMLDivElement | null>(null);\n const calendarRef = useRef<HTMLDivElement | null>(null);\n const dateFieldRef = useRef<HTMLDivElement | null>(null);\n\n const { width } = useWindowDimensions();\n\n const state = useDatePickerState({\n ...rest,\n minValue,\n maxValue,\n value: value === null ? undefined : value,\n onChange,\n granularity: showTime ? 'minute' : rest.granularity,\n });\n const {\n groupProps,\n labelProps,\n fieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n } = useDatePicker(\n { isDisabled, minValue, maxValue, ...rest },\n state,\n datePickerRef,\n );\n\n // calculations for floating-UI popover position\n const { x, y, reference, floating, strategy } = useFloating({\n whileElementsMounted: autoUpdate,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall),\n flip(),\n shift({ padding: space.extraSmall }),\n ],\n });\n\n const onChangeCalendar = (newSelectedDate: DateValue) => {\n // Necessary to avoid state update on unmounted component\n requestAnimationFrame(() => {\n calendarProps.onChange && calendarProps.onChange(newSelectedDate);\n });\n };\n\n useOnClickOutside([calendarRef], () => {\n state.setOpen(false);\n });\n\n useOnEscape(calendarRef, () => {\n state.setOpen(false);\n });\n\n const calendarSharedProps = {\n ...dialogProps,\n ...calendarProps,\n disabled: calendarProps.isDisabled,\n navigationDescription: navigationDescription,\n onSelectedCellClick: () => state.setOpen(false),\n onChange: onChangeCalendar,\n granularity: showTime ? 'minute' : rest.granularity,\n };\n\n const useModal = width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH && !disableModal;\n\n const popoverCalendar = (\n <div\n // styling for floating-UI popover\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n zIndex: zIndexes.popover,\n }}\n ref={node => {\n floating(node);\n }}\n >\n <FocusLock disabled={!state.isOpen || useModal} returnFocus>\n {state.isOpen && (\n <Calendar {...calendarSharedProps} ref={calendarRef} />\n )}\n </FocusLock>\n </div>\n );\n\n const modalCalendar = (\n <Modal\n size=\"small\"\n title=\"\"\n open={state.isOpen}\n onDismiss={() => state.setOpen(false)}\n closeOnClickOutside\n className=\"eds-datepicker__calendar-modal\"\n >\n <Calendar {...calendarSharedProps} />\n </Modal>\n );\n\n return (\n <ConditionalWrapper\n condition={locale !== undefined}\n wrapper={(child: ReactNode) => (\n <I18nProvider locale={locale}>{child}</I18nProvider>\n )}\n >\n <div className={classNames('eds-datepicker', className)}>\n <div\n {...groupProps}\n ref={node => {\n datePickerRef.current = node;\n reference(node);\n }}\n id={undefined}\n className=\"eds-datepicker__datefield__wrapper\"\n >\n <DateField\n {...fieldProps}\n selectedDate={state.value}\n label={rest.label}\n labelProps={labelProps}\n showTime={showTime}\n showTimeZone={showTimeZone}\n ref={dateFieldRef}\n variant={variant}\n feedback={feedback}\n validationVariant={validationVariant}\n validationFeedback={validationFeedback}\n labelTooltip={labelTooltip}\n className={classNames('eds-datepicker__datefield', {\n 'eds-datepicker__datefield--disabled': fieldProps.isDisabled,\n })}\n />\n {!fieldProps.isDisabled && (\n <CalendarButton\n {...buttonProps}\n onPress={() => state.setOpen(!state.isOpen)}\n className=\"eds-datepicker__open-calendar-button\"\n >\n <CalendarIcon />\n </CalendarButton>\n )}\n {useModal ? modalCalendar : popoverCalendar}\n </div>\n </div>\n </ConditionalWrapper>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n isFilled\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { IconButton } from '@entur/button';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nexport const TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n onClick,\n disabled,\n 'aria-label': ariaLabel,\n}) => {\n return (\n <IconButton\n className={classNames(\n 'eds-timepicker__arrowbutton',\n `eds-timepicker__arrowbutton--${direction}`,\n { 'eds-timepicker__arrowbutton--disabled': disabled },\n )}\n type=\"button\"\n tabIndex={-1}\n onClick={onClick}\n aria-label={ariaLabel}\n disabled={disabled}\n >\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </IconButton>\n );\n};\n","import React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport { useTimeField } from '@react-aria/datepicker';\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport { useTimeFieldState } from '@react-stately/datepicker';\nimport { getLocalTimeZone, now } from '@internationalized/date';\n\nimport type {\n TimeValue,\n AriaTimeFieldProps,\n MappedTimeValue,\n} from '@react-types/datepicker';\n\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport { useRandomId, mergeRefs } from '@entur/utils';\n\nimport { FieldSegment } from '../shared/FieldSegment';\nimport { TimePickerArrowButton } from './TimePickerArrowButton';\n\nimport './TimePicker.scss';\n\nexport type TimePickerProps<TimeType extends TimeValue> = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedTime: TimeType | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange: (value: MappedTimeValue<TimeType> | null) => void;\n /** Label til TimePicker */\n label: string;\n /** Minutter som legges til eller trekkes fra ved klikk på pilene i TimePicker\n * @default 30\n */\n minuteIncrementForArrowButtons?: number;\n /** BCP47-språkkoden til locale-en du ønsker å bruke.\n * @default Brukerenhetens selvvalgte locale\n */\n locale?: string;\n /** Viser den gjeldende tidssonen hvis en er valgt\n * @default false\n */\n showTimeZone?: boolean;\n /** Aria-label for venstrepil-knappen som trekker fra tid\n * @default `Trekk fra ${minuteIncrementForArrowButtons} minutter`\n */\n leftArrowButtonAriaLabel?: string;\n /** Aria-label for høyrepil-knappen som legger til tid\n * @default `Legg til ${minuteIncrementForArrowButtons} minutter`\n */\n rightArrowButtonAriaLabel?: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n labelTooltip?: React.ReactNode;\n disabled?: boolean;\n inputRef?: React.ForwardedRef<HTMLDivElement>;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaTimeFieldProps<TimeType>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n>;\n\nexport const TimePicker = <TimeType extends TimeValue>({\n selectedTime,\n onChange,\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n locale: customLocale,\n showTimeZone,\n minuteIncrementForArrowButtons = 30,\n leftArrowButtonAriaLabel = `Trekk fra ${minuteIncrementForArrowButtons} minutter`,\n rightArrowButtonAriaLabel = `Legg til ${minuteIncrementForArrowButtons} minutter`,\n inputRef,\n ...rest\n}: TimePickerProps<TimeType>) => {\n let { locale } = useLocale();\n if (customLocale) locale = customLocale;\n\n const state = useTimeFieldState({\n onChange,\n label: label,\n locale,\n value: selectedTime === null ? undefined : selectedTime,\n hideTimeZone: !showTimeZone,\n isDisabled: disabled,\n ...rest,\n });\n const timeFieldRef = useRef(null);\n const { labelProps, fieldProps } = useTimeField<TimeType>(\n { ...rest, label: label },\n state,\n timeFieldRef,\n );\n const id = useRandomId('timepicker');\n\n const handleOnClickArrowButton = (minutes: number) => {\n if (someSegmentIsUndefined) {\n setTimeToNearestMinuteIncrement();\n } else {\n addMinutesToSelectedTime(minutes);\n }\n };\n\n const someSegmentIsUndefined = state.segments.some(\n segment => segment.text === '––',\n );\n\n const setTimeToNearestMinuteIncrement = () => {\n const currentTime = now(getLocalTimeZone());\n const roundedMinute =\n Math.floor(currentTime.minute / minuteIncrementForArrowButtons) *\n minuteIncrementForArrowButtons;\n const newTime = currentTime.set({ minute: roundedMinute });\n // @ts-expect-error Since this function is used when selectedTime is null,\n // we can't guarantee newTime matching the type of selectedTime in the future.\n // This might lead to a type issue.\n onChange(newTime);\n };\n\n const addMinutesToSelectedTime = (minutes: number) => {\n state.value &&\n state.setValue(\n state.value?.add({\n minutes: minutes,\n }),\n );\n };\n\n return (\n <I18nProvider locale={locale}>\n <div className={classNames(className, 'eds-timepicker__wrapper')}>\n <TimePickerArrowButton\n direction=\"left\"\n disabled={disabled}\n aria-label={leftArrowButtonAriaLabel}\n onClick={() =>\n handleOnClickArrowButton(minuteIncrementForArrowButtons * -1)\n }\n />\n <BaseFormControl\n style={style}\n className={'eds-timepicker'}\n labelId={id}\n label={label}\n labelProps={{ ...labelProps }}\n ref={mergeRefs(timeFieldRef, inputRef)}\n disabled={disabled}\n disableLabelAnimation\n labelTooltip={labelTooltip}\n {...fieldProps}\n variant={variant}\n feedback={feedback}\n >\n {state.segments.map((segment, i) => (\n <FieldSegment segment={segment} state={state} key={i} />\n ))}\n </BaseFormControl>\n <TimePickerArrowButton\n direction=\"right\"\n disabled={disabled}\n aria-label={rightArrowButtonAriaLabel}\n onClick={() =>\n handleOnClickArrowButton(minuteIncrementForArrowButtons)\n }\n />\n </div>\n </I18nProvider>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nimport './NativeTimePicker.scss';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Tekst eller ikon som kommer før inputfelter */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n { className, style, onChange, label, feedback, variant, prepend, ...rest },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-native-timepicker');\n return (\n <BaseFormControl\n style={style}\n className={classNames(className, 'eds-native-timepicker')}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React, { useEffect, useRef, useState } from 'react';\nimport { Time, parseTime, toTime } from '@internationalized/date';\nimport { useTimeField } from '@react-aria/datepicker';\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport { useTimeFieldState } from '@react-stately/datepicker';\nimport classNames from 'classnames';\n\nimport type {\n TimeValue,\n AriaTimeFieldProps,\n MappedTimeValue,\n} from '@react-types/datepicker';\n\nimport { TextField, VariantType } from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { mergeRefs } from '@entur/utils';\n\nimport './SimpleTimePicker.scss';\n\nenum inputResult {\n RESET_TIME,\n INVALID,\n}\n\nexport type SimpleTimePickerProps<TimeType extends TimeValue> = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedTime: TimeType | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange?: (\n value: MappedTimeValue<TimeType> | null,\n ) => void | React.Dispatch<React.SetStateAction<TimeValue | null>>;\n /** Label til TimePicker */\n label: string;\n /** Viser sekund i tillegg til time og minutt\n * @default false\n */\n showSeconds?: boolean;\n /** Viser et klokkeikonet for å klarere indikere at dette\n * er en tidsvelger\n * @default false\n */\n showClockIcon?: boolean | 'right' | 'left';\n /** Velger hvor mye luft det skal være på sidene av klokkeslettet\n * @default 'default'\n */\n padding?: 'default' | 'large';\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n labelTooltip?: React.ReactNode;\n disabled?: boolean;\n readOnly?: boolean;\n inputRef?: React.ForwardedRef<HTMLInputElement>;\n append?: boolean;\n prepend?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaTimeFieldProps<TimeType>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n | 'locale'\n | 'isReadOnly'\n | 'isDisabled'\n | 'locale'\n>;\n\nexport const SimpleTimePicker = <TimeType extends TimeValue>({\n append,\n className,\n disabled,\n feedback,\n showClockIcon = 'right',\n inputRef,\n label,\n labelTooltip,\n onChange,\n padding = 'default',\n prepend,\n readOnly,\n selectedTime,\n showSeconds,\n style,\n variant,\n ...rest\n}: SimpleTimePickerProps<TimeType>) => {\n const [inputText, setInputText] = useState('');\n const timeFieldRef = useRef<HTMLInputElement>(null);\n const [lastValidSelectedTime, setLastValidSelectedTime] =\n useState<MappedTimeValue<TimeType> | null>(null);\n\n const { locale } = useLocale();\n\n const state = useTimeFieldState({\n onChange,\n label: label,\n locale,\n value: selectedTime === null ? undefined : selectedTime,\n hideTimeZone: true,\n isDisabled: disabled,\n isReadOnly: readOnly,\n ...rest,\n });\n const { labelProps, fieldProps } = useTimeField<TimeType>(\n { ...rest, label: label },\n state,\n timeFieldRef,\n );\n\n useEffect(() => {\n updateInputWithSelectedTime();\n // @ts-expect-error TimeType and MappedTimeValue<TimeType> is actually the same\n if (selectedTime !== null) setLastValidSelectedTime(selectedTime);\n }, [selectedTime?.toString()]);\n\n const updateInputWithSelectedTime = () => {\n const selectedTimeString = getStringFromTimeValue(selectedTime);\n setInputText(selectedTimeString);\n\n const timeFieldIsFocused = document.activeElement === timeFieldRef?.current;\n if (selectedTimeString === '' && !timeFieldIsFocused)\n addPlaceholderToInput();\n };\n\n const getStringFromTimeValue = (timeValue: TimeValue | null) => {\n if (timeValue === null) return '';\n\n const timeObject = 'day' in timeValue ? toTime(timeValue) : timeValue;\n\n if (showSeconds) return timeObject.toString().slice(0, 8);\n\n return timeObject.toString().slice(0, 5);\n };\n\n const addPlaceholderToInput = () => {\n if (showSeconds) setInputText('–– : –– : ––');\n else setInputText('–– : ––');\n };\n\n const handleChangeTime = () => {\n const newTime = getValueForOnChangeFromInput();\n\n if (newTime === inputResult.INVALID) {\n return updateInputWithSelectedTime();\n }\n\n if (newTime?.toString() !== selectedTime?.toString()) onChange?.(newTime);\n };\n\n const getValueForOnChangeFromInput = () => {\n const formatedTimeString = formatTimeString(inputText);\n const newTimeObject = formatedTimeStringToTimeObject(formatedTimeString);\n\n if (newTimeObject === inputResult.INVALID) {\n return inputResult.INVALID;\n }\n if (newTimeObject === inputResult.RESET_TIME) {\n return null;\n }\n\n const updatedSelectedTime =\n getSelectedTimeWithTimeFromObject(newTimeObject);\n\n return updatedSelectedTime;\n };\n\n const formatTimeString = (timeString: string): string | inputResult => {\n if (timeString.length === 0) return inputResult.RESET_TIME;\n if (timeString.length < 3 || timeString.length > 8)\n return inputResult.INVALID;\n\n const numberOfColons = (timeString.match(new RegExp(':', 'g')) || [])\n .length;\n const stringLength = timeString.length;\n\n // targets 'd:dd:dd' and 'dd:dd:dd'\n if (numberOfColons === 2 && stringLength >= 7) {\n return timeString.padStart(8, '0');\n }\n\n // targets 'd:dd' and 'dd:dd'\n if (numberOfColons === 1) {\n return timeString.padStart(5, '0');\n }\n\n if (stringLength > 6) return inputResult.INVALID;\n\n const stringLengthIsEven = stringLength % 2 == 0;\n\n const hourString = stringLengthIsEven\n ? timeString.slice(0, 2)\n : timeString.slice(0, 1);\n const minuteString = stringLengthIsEven\n ? timeString.slice(2, 4)\n : timeString.slice(1, 3);\n const secondString = (() => {\n const stringSlice = stringLengthIsEven\n ? timeString.slice(4, 6)\n : timeString.slice(3, 5);\n if (stringSlice === '') return '00';\n return stringSlice;\n })();\n\n const timeStringWithColon =\n hourString.padStart(2, '0') +\n ':' +\n minuteString +\n (showSeconds ? ':' + secondString : '');\n\n return timeStringWithColon;\n };\n\n const formatedTimeStringToTimeObject = (\n formatedTimeString: string | inputResult,\n ): Time | inputResult => {\n if (formatedTimeString === inputResult.INVALID) return inputResult.INVALID;\n if (formatedTimeString === inputResult.RESET_TIME)\n return inputResult.RESET_TIME;\n\n const isNumberTest = /^\\d+$/;\n const hourString = formatedTimeString.slice(0, 2);\n const minuteString = formatedTimeString.slice(3, 5);\n const secondString = formatedTimeString.slice(6, 8);\n if (\n hourString.match(isNumberTest) &&\n minuteString.match(isNumberTest) &&\n (secondString === '' || secondString.match(isNumberTest))\n ) {\n try {\n const timeObject = parseTime(formatedTimeString);\n return timeObject;\n } catch (e) {\n return inputResult.INVALID;\n }\n }\n\n return inputResult.INVALID;\n };\n\n const getSelectedTimeWithTimeFromObject = (\n newTime: Time,\n ): MappedTimeValue<TimeType> => {\n const selectedTimeWithUpdateTime = (\n lastValidSelectedTime ?? new Time()\n ).set({\n hour: newTime.hour,\n minute: newTime.minute,\n second: newTime.second,\n }) as MappedTimeValue<TimeType>;\n\n return selectedTimeWithUpdateTime;\n };\n\n const {\n onBlur,\n onClick,\n onDragStart,\n onFocus,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onPointerDown,\n onPointerUp,\n ...usedFieldProps\n } = fieldProps;\n\n return (\n <I18nProvider locale={locale}>\n <TextField\n append={\n append ||\n (showClockIcon === true || showClockIcon === 'right' ? (\n <ClockIcon onClick={() => timeFieldRef?.current?.focus()} />\n ) : undefined)\n }\n className={classNames('eds-simple-timepicker', {\n 'eds-simple-timepicker--padding-large': padding === 'large',\n 'eds-simple-timepicker--show-seconds': showSeconds,\n 'eds-simple-timepicker--hide-clock': !showClockIcon,\n })}\n disabled={disabled}\n disableLabelAnimation\n feedback={feedback}\n label={label}\n labelProps={labelProps}\n labelTooltip={labelTooltip}\n onBlur={() => {\n handleChangeTime();\n if (selectedTime === null) {\n addPlaceholderToInput();\n }\n }}\n onChange={e => setInputText(e.target.value)}\n onFocus={() => {\n if (selectedTime === null) {\n setInputText('');\n }\n }}\n onKeyDown={({ key }) => {\n if (key === 'Enter') handleChangeTime();\n }}\n placeholder={showSeconds ? '–– : –– : ––' : '–– : ––'}\n prepend={\n prepend ||\n (showClockIcon === 'left' ? (\n <ClockIcon onClick={() => timeFieldRef?.current?.focus()} />\n ) : undefined)\n }\n readOnly={readOnly}\n ref={mergeRefs(timeFieldRef, inputRef)}\n style={style}\n value={inputText}\n variant={variant}\n {...usedFieldProps}\n />\n </I18nProvider>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './TimePicker';\nexport * from './shared';\n\nexport type {\n DateValue,\n CalendarDate,\n CalendarDateTime,\n ZonedDateTime,\n Time,\n} from '@internationalized/date';\nexport type { TimeValue } from '@react-types/datepicker';\n"],"names":["FieldSegment","segment","state","ref","useRef","useDateSegment","segmentProps","is12HourFormatted","segments","some","text","segmentDisplayText","match","padStart","React","createElement","className","classNames","isPlaceholder","tabIndex","isDisabled","nativeDateToDateTime","date","timeZone","offset","ZonedDateTime","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","parseAbsolute","toISOString","CalendarDateTime","nativeDateToDateValue","noTimeOnlyDate","CalendarDate","nativeDateToTimeValue","noDateOnlyTime","Time","timeOrDateValueToNativeDate","value","timeZoneForCalendarDateTime","day","Date","setHours","hour","setMinutes","minute","setSeconds","second","toDate","getLocalTimeZone","year","month","createCalendar","identifier","GregorianCalendar","Error","ariaLabelIfNorwegian","norwegianAriaLabel","locale","propsCollection","toLowerCase","DateField","forwardRef","selectedDate","label","customLocale","showTimeZone","showTime","granularity","disabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minValue","minDate","maxValue","maxDate","style","parentLabelProps","labelProps","append","rest","_excluded","useLocale","useDateFieldState","undefined","hideTimeZone","dateFieldRef","useDateField","fieldProps","id","useRandomId","ConditionalWrapper","condition","wrapper","child","I18nProvider","BaseFormControl","labelId","mergeRefs","disableLabelAnimation","validationState","ariaAlertOnFeedback","map","i","key","CalendarButton","children","props","useButton","buttonProps","IconButton","CalendarCell","onSelectedCellClick","cellRef","useCalendarCell","cellProps","isSelected","isOutsideVisibleRange","isUnavailable","formattedDate","hidden","isEqualDay","now","onClick","e","onKeyDown","CalendarGrid","navigationDescription","calendarGridId","useCalendarGrid","gridProps","headerProps","weekDays","weeksInMonth","getWeeksInMonth","visibleRange","start","weeksArray","Array","from","keys","weekDaysMapped","includes","getNavigationDescription","Fragment","cellSpacing","index","weekIndex","getDatesInWeek","VisuallyHidden","Calendar","onChange","_","useCalendarState","useCalendar","calendarProps","prevButtonProps","nextButtonProps","title","LeftArrowIcon","size","RightArrowIcon","DatePicker","disableModal","modalTreshold","CALENDAR_MODAL_MAX_SCREEN_WIDTH","datePickerRef","calendarRef","useWindowDimensions","width","useDatePickerState","useDatePicker","groupProps","dialogProps","useFloating","whileElementsMounted","autoUpdate","placement","middleware","space","extraSmall","flip","shift","padding","x","y","reference","floating","strategy","onChangeCalendar","newSelectedDate","requestAnimationFrame","useOnClickOutside","setOpen","useOnEscape","calendarSharedProps","useModal","popoverCalendar","position","top","left","zIndex","zIndexes","popover","node","FocusLock","isOpen","returnFocus","modalCalendar","Modal","open","onDismiss","closeOnClickOutside","current","onPress","CalendarIcon","NativeDatePicker","prepend","DateIcon","inline","nativedatepickerId","isFilled","NativeDatePickerBase","_excluded2","contextVariant","useVariant","currentVariant","useInputGroupContext","isDatepickerFilled","setFiller","setFilled","useOnMount","useEffect","handleChange","event","target","type","TimePickerArrowButton","direction","ariaLabel","TimePicker","selectedTime","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel","inputRef","useTimeFieldState","timeFieldRef","useTimeField","handleOnClickArrowButton","minutes","someSegmentIsUndefined","setTimeToNearestMinuteIncrement","addMinutesToSelectedTime","currentTime","roundedMinute","Math","floor","newTime","set","setValue","add","NativeTimePicker","nativetimepickerId","NativeTimePickerBase","isTimepickerFilled","inputResult","SimpleTimePicker","showClockIcon","readOnly","showSeconds","useState","inputText","setInputText","lastValidSelectedTime","setLastValidSelectedTime","isReadOnly","updateInputWithSelectedTime","toString","selectedTimeString","getStringFromTimeValue","timeFieldIsFocused","document","activeElement","addPlaceholderToInput","timeValue","timeObject","toTime","slice","handleChangeTime","getValueForOnChangeFromInput","INVALID","formatedTimeString","formatTimeString","newTimeObject","formatedTimeStringToTimeObject","RESET_TIME","updatedSelectedTime","getSelectedTimeWithTimeFromObject","timeString","length","numberOfColons","RegExp","stringLength","stringLengthIsEven","hourString","minuteString","secondString","stringSlice","timeStringWithColon","isNumberTest","parseTime","selectedTimeWithUpdateTime","usedFieldProps","TextField","ClockIcon","focus","onBlur","onFocus","placeholder","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"datepicker.cjs.development.js","sources":["../src/shared/FieldSegment.tsx","../src/shared/utils.ts","../src/DatePicker/DateField.tsx","../src/shared/CalendarButton.tsx","../src/DatePicker/CalendarCell.tsx","../src/DatePicker/CalendarGrid.tsx","../src/DatePicker/Calendar.tsx","../src/DatePicker/DatePicker.tsx","../src/DatePicker/NativeDatePicker.tsx","../src/TimePicker/TimePickerArrowButton.tsx","../src/TimePicker/TimePicker.tsx","../src/TimePicker/NativeTimePicker.tsx","../src/TimePicker/SimpleTimePicker.tsx","../src/index.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport { useDateSegment } from '@react-aria/datepicker';\nimport { DateSegment, DateFieldState } from '@react-stately/datepicker';\n\nimport './FieldSegment.scss';\n\ntype TimeSegmentProps = {\n segment: DateSegment;\n state: DateFieldState;\n};\n\nexport const FieldSegment = ({ segment, state }: TimeSegmentProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const { segmentProps } = useDateSegment(segment, state, ref);\n\n const is12HourFormatted = state.segments.some(\n segment => segment.text === 'AM' || segment.text === 'PM',\n );\n\n const segmentDisplayText = () => {\n if (is12HourFormatted) return segment.text;\n // if number add '0' padding to start when one digit\n if (segment.text.match(/\\d+/)) return segment.text.padStart(2, '0');\n return segment.text;\n };\n\n return (\n <div\n {...segmentProps}\n ref={ref}\n className={classNames('eds-date-and-time-field__segment', {\n 'eds-date-and-time-field__segment--placeholder': segment.isPlaceholder,\n 'eds-date-and-time-field__segment--dot-separator': segment.text === '.',\n })}\n tabIndex={state.isDisabled ? -1 : segmentProps.tabIndex}\n >\n {segmentDisplayText()}\n </div>\n );\n};\n","import {\n ZonedDateTime,\n CalendarDateTime,\n Time,\n parseAbsolute,\n DateValue,\n getLocalTimeZone,\n CalendarDate,\n} from '@internationalized/date';\nimport { TimeValue } from '@react-types/datepicker';\nimport { Calendar, GregorianCalendar } from '@internationalized/date';\n\nconst nativeDateToDateTime = (\n date: Date,\n timeZone?: string,\n offset?: number,\n) => {\n if (timeZone) {\n if (offset) {\n return new ZonedDateTime(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n timeZone,\n offset,\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n );\n }\n return parseAbsolute(date.toISOString(), timeZone);\n }\n return new CalendarDateTime(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n );\n};\n\n/**\n * Tar inn et JS Date-objekt og returnerer et av DateValue-objektene fra @internationalized/date-pakken\n * @param {Date} date JS Date-objekt som ønskes konvertert til et DateValue-objekt\n * @param {boolean} noTimeOnlyDate Hvis tidspunktet er irrelevant kan denne settes til true, da får man et CalendarDate-objekt uten tidspunkt tilbake\n * @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset\n * @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.\n * @returns {CalendarDateTime | ZonedDateTime | CalendarDate} et av DateValue-objektene med verdier fra date\n */\nexport const nativeDateToDateValue = (\n date: Date,\n noTimeOnlyDate = false,\n timeZone?: string,\n offset?: number,\n) => {\n if (noTimeOnlyDate)\n return new CalendarDate(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n );\n\n return nativeDateToDateTime(date, timeZone, offset);\n};\n\n/**\n * Tar inn et JS Date-objekt og returnerer et av TimeValue-objektene fra @internationalized/date-pakken\n * @param {Date} date JS Date-objekt som ønskes konvertert til et TimeValue-objekt\n * @param {boolean} noDateOnlyTime Hvis datoen er irrelevant kan denne settes til true, da får man et Time-objekt uten dato tilbake\n * @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset\n * @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.\n * @returns {Time | CalendarDateTime | ZonedDateTime} et av TimeValue-objektene med verdier fra date\n */\nexport const nativeDateToTimeValue = (\n date: Date,\n noDateOnlyTime = false,\n timeZone?: string,\n offset?: number,\n) => {\n if (noDateOnlyTime)\n return new Time(date.getHours(), date.getMinutes(), date.getSeconds(), 0);\n\n return nativeDateToDateTime(date, timeZone, offset);\n};\n\n/**\n * Tar inn et av Date- eller TimeValue-objektene fra @internationalized/date-pakken og returnerer et JS Date-objekt\n * @param {DateValue | TimeValue} value En dato eller et tidspunkt på Date- eller TimeValue-formatet som ønskes konvertert til et JS Date-objekt\n * @param {string} timeZoneForCalendarDateTime Tidssonen value er i. Fungerer kun med typen er CalendarDateTime\n * @returns {Date} et Date-objekt med verdier fra time\n */\n// This function uses a lot of @ts-expect-error to make it work with all Date- and TimeValue types. Sorry ...\nexport const timeOrDateValueToNativeDate = (\n value: TimeValue | DateValue,\n timeZoneForCalendarDateTime?: string,\n): Date => {\n // @ts-expect-error .day does not exist on Time-object\n if (!value.day) {\n // type is Time\n const date = new Date();\n // @ts-expect-error hour does not exist on CalendarDate\n date.setHours(value.hour);\n // @ts-expect-error minute does not exist on CalendarDate\n date.setMinutes(value.minute);\n // @ts-expect-error second does not exist on CalendarDate\n date.setSeconds(value.second);\n return date;\n }\n\n // @ts-expect-error .day does not exist on Time-object\n if (!value.hour) {\n // type is CalendarDate\n // @ts-expect-error .toDate(timeZone) does not exist in type Time\n return value.toDate(timeZoneForCalendarDateTime ?? getLocalTimeZone());\n }\n\n // @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime\n if (!value.timeZone) {\n // type is CalendarDateTime\n if (timeZoneForCalendarDateTime)\n // @ts-expect-error .toDate(timeZone) does not exist in type Time\n return value.toDate(timeZoneForCalendarDateTime);\n\n return new Date(\n // @ts-expect-error not in type Time\n value.year,\n // @ts-expect-error not in type Time\n value.month - 1,\n // @ts-expect-error not in type Time\n value.day,\n // @ts-expect-error not in type CalendarDate\n value.hour,\n // @ts-expect-error not in type CalendarDate\n value.minute,\n // @ts-expect-error not in type CalendarDate\n value.second,\n );\n }\n\n // @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime\n return value.toDate();\n};\n\nexport const createCalendar = (identifier = 'gregory'): Calendar => {\n switch (identifier) {\n case 'gregory':\n return new GregorianCalendar();\n default:\n throw new Error(`Unsupported calendar ${identifier}`);\n }\n};\n\nexport const ariaLabelIfNorwegian = (\n norwegianAriaLabel: string,\n locale: string,\n propsCollection: any,\n) => {\n if (locale.toLowerCase() !== 'no-no') return propsCollection['aria-label'];\n return norwegianAriaLabel;\n};\n","import React, { ReactNode, useRef } from 'react';\n\nimport { useDateFieldState } from '@react-stately/datepicker';\nimport { useDateField } from '@react-aria/datepicker';\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport classNames from 'classnames';\n\nimport type {\n SpectrumDateFieldProps,\n DateValue,\n} from '@react-types/datepicker';\n\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport { ConditionalWrapper, mergeRefs, useRandomId } from '@entur/utils';\n\nimport { FieldSegment } from '../shared/FieldSegment';\nimport { createCalendar } from '../shared/utils';\n\nimport './DateField.scss';\n\nexport type DateFieldProps = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedDate: DateValue | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange: (value: DateValue) => void;\n /** Label til TimePicker */\n label: string;\n /** BCP47-språkkoden til locale-en du ønsker å bruke.\n * @default Brukerenhetens selvvalgte locale\n */\n locale?: string;\n /** Viser den gjeldende tidssonen hvis en er valgt\n * @default false\n */\n showTimeZone?: boolean;\n showTime?: boolean;\n /** Tidligste gyldige datovalg.\n * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone */\n minDate?: DateValue;\n /** Seneste gyldige datovalg. (se minValue) */\n maxDate?: DateValue;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Varselmelding som forteller om ugyldig dato\n * @default \"Ugyldig dato\"\n */\n validationFeedback?: string;\n /** Valideringsvariant for melding om ugyldig dato\n * @default \"error\"\n */\n validationVariant?: VariantType;\n labelTooltip?: React.ReactNode;\n disabled?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n [key: string]: any;\n} & Omit<\n SpectrumDateFieldProps<DateValue>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n>;\n\nexport const DateField = React.forwardRef<HTMLDivElement, DateFieldProps>(\n (\n {\n selectedDate: value,\n label,\n locale: customLocale,\n showTimeZone,\n showTime,\n granularity = 'day',\n disabled,\n variant,\n feedback,\n validationVariant = 'error',\n validationFeedback = 'Ugyldig dato',\n labelTooltip,\n minDate: minValue,\n maxDate: maxValue,\n style,\n className,\n labelProps: parentLabelProps,\n append,\n ...rest\n },\n ref,\n ) => {\n const { locale } = useLocale();\n\n const state = useDateFieldState({\n ...rest,\n locale: customLocale ?? locale,\n createCalendar,\n value: value === null ? undefined : value,\n hideTimeZone: !showTimeZone,\n granularity: showTime ? 'minute' : granularity,\n minValue,\n maxValue,\n });\n\n const dateFieldRef = useRef(null);\n const { labelProps, fieldProps } = useDateField(\n { ...rest, label: label, isDisabled: disabled || rest.isDisabled },\n state,\n dateFieldRef,\n );\n\n const id = useRandomId('datefield');\n\n return (\n <ConditionalWrapper\n condition={customLocale !== undefined}\n wrapper={(child: ReactNode) => (\n <I18nProvider locale={customLocale}>{child}</I18nProvider>\n )}\n >\n <BaseFormControl\n style={style}\n className={classNames('eds-datefield', className)}\n labelId={id}\n ref={mergeRefs(dateFieldRef, ref)}\n disabled={state.isDisabled}\n disableLabelAnimation\n label={label}\n labelTooltip={labelTooltip}\n labelProps={parentLabelProps ?? labelProps}\n {...fieldProps}\n variant={\n variant ?? state.validationState === 'invalid'\n ? validationVariant\n : undefined\n }\n feedback={\n feedback ?? state.validationState === 'invalid'\n ? validationFeedback\n : undefined\n }\n append={append}\n ariaAlertOnFeedback\n >\n {state.segments.map((segment, i) => (\n <FieldSegment segment={segment} state={state} key={i} />\n ))}\n </BaseFormControl>\n </ConditionalWrapper>\n );\n },\n);\n","import React, { useRef } from 'react';\n\nimport { useButton } from '@react-aria/button';\n\nimport { IconButton } from '@entur/button';\n\ntype CalendarButtonProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n [key: string]: any;\n};\n\nexport const CalendarButton = ({\n children,\n className,\n style,\n ...props\n}: CalendarButtonProps) => {\n const ref = useRef(null);\n const { buttonProps } = useButton(props, ref);\n\n return (\n <IconButton {...buttonProps} ref={ref} className={className} style={style}>\n {children}\n </IconButton>\n );\n};\n","import React, { useRef } from 'react';\n\nimport { useCalendarCell } from '@react-aria/calendar';\nimport { CalendarState } from '@react-stately/calendar';\nimport {\n CalendarDate,\n getLocalTimeZone,\n isEqualDay,\n now,\n} from '@internationalized/date';\nimport classNames from 'classnames';\n\ntype CalendarCellProps = {\n state: CalendarState;\n date: CalendarDate;\n onSelectedCellClick?: () => void;\n};\n\nexport const CalendarCell = ({\n state,\n date,\n onSelectedCellClick = () => {\n return;\n },\n ...rest\n}: CalendarCellProps) => {\n const cellRef = useRef(null);\n\n const {\n cellProps,\n buttonProps,\n isSelected,\n isOutsideVisibleRange,\n isDisabled,\n isUnavailable,\n formattedDate,\n } = useCalendarCell({ date }, state, cellRef);\n return (\n <td {...cellProps} className=\"eds-datepicker__calendar__grid__cell__td\">\n <div\n {...buttonProps}\n ref={cellRef}\n hidden={isOutsideVisibleRange}\n className={classNames('eds-datepicker__calendar__grid__cell', {\n 'eds-datepicker__calendar__grid__cell--selected': isSelected,\n 'eds-datepicker__calendar__grid__cell--disabled':\n isDisabled || isUnavailable,\n 'eds-datepicker__calendar__grid__cell--outside-month':\n isOutsideVisibleRange,\n 'eds-datepicker__calendar__grid__cell--today': isEqualDay(\n date,\n now(state.timeZone ?? getLocalTimeZone()),\n ),\n })}\n {...rest}\n onClick={e => {\n buttonProps.onClick && buttonProps.onClick(e);\n isSelected && onSelectedCellClick();\n }}\n onKeyDown={e => {\n buttonProps.onKeyDown && buttonProps.onKeyDown(e);\n if (e.key === 'Enter' || e.key === ' ')\n isSelected && onSelectedCellClick();\n }}\n >\n {formattedDate}\n </div>\n </td>\n );\n};\n","import React from 'react';\n\nimport { useLocale } from '@react-aria/i18n';\nimport { useCalendarGrid } from '@react-aria/calendar';\nimport { CalendarState } from '@react-stately/calendar';\nimport { getWeeksInMonth } from '@internationalized/date';\n\nimport { useRandomId } from '@entur/utils';\nimport { VisuallyHidden } from '@entur/a11y';\n\nimport { CalendarCell } from './CalendarCell';\n\ntype CalendarGridProps = {\n state: CalendarState;\n navigationDescription?: string;\n onSelectedCellClick?: () => void;\n};\n\nexport const CalendarGrid = ({\n state,\n navigationDescription,\n onSelectedCellClick = () => {\n return;\n },\n ...rest\n}: CalendarGridProps) => {\n const calendarGridId = useRandomId('eds-calendar');\n const { locale } = useLocale();\n\n const { gridProps, headerProps, weekDays } = useCalendarGrid(rest, state);\n\n const weeksInMonth = getWeeksInMonth(state.visibleRange.start, locale);\n const weeksArray = Array.from(Array(weeksInMonth).keys());\n\n const weekDaysMapped = () => {\n if (locale.toLowerCase().includes('no'))\n return ['ma', 'ti', 'on', 'to', 'fr', 'lø', 'sø'];\n if (locale.toLowerCase().includes('en')) {\n if (weekDays[0] === 'M')\n return ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n if (weekDays[0] === 'S')\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n return weekDays.map(day => day.toLowerCase());\n };\n\n const getNavigationDescription = () => {\n if (navigationDescription) return navigationDescription;\n if (locale.toLowerCase().includes('en'))\n return 'Use the arrow keys to navigate between dates';\n return 'Bruk piltastene til å navigere mellom datoer';\n };\n\n return (\n <>\n <table\n {...gridProps}\n cellSpacing=\"0\"\n className=\"eds-datepicker__calendar__grid\"\n >\n <thead {...headerProps}>\n <tr>\n {weekDaysMapped().map((day, index) => (\n <th key={index}>{day}</th>\n ))}\n </tr>\n </thead>\n <tbody>\n {weeksArray.map(weekIndex => (\n <tr key={weekIndex}>\n {state\n .getDatesInWeek(weekIndex)\n .map((date, i) =>\n date ? (\n <CalendarCell\n key={i}\n state={state}\n date={date}\n aria-describedby={calendarGridId + 'description'}\n onSelectedCellClick={onSelectedCellClick}\n />\n ) : (\n <td key={i} />\n ),\n )}\n </tr>\n ))}\n </tbody>\n </table>\n <VisuallyHidden id={calendarGridId + 'description'}>\n {getNavigationDescription()}\n </VisuallyHidden>\n </>\n );\n};\n","import React, { ReactNode } from 'react';\n\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport { useCalendar } from '@react-aria/calendar';\nimport { useCalendarState } from '@react-stately/calendar';\nimport { DateValue } from '@internationalized/date';\n\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\nimport { ConditionalWrapper } from '@entur/utils';\n\nimport { ariaLabelIfNorwegian, createCalendar } from '../shared/utils';\nimport { CalendarButton } from '../shared/CalendarButton';\nimport { CalendarGrid } from './CalendarGrid';\n\nimport './Calendar.scss';\n\ntype CalendarProps = {\n selectedDate: DateValue | null;\n onChange: (SelectedDate: DateValue | null) => void;\n navigationDescription?: string;\n style?: React.CSSProperties;\n onSelectedCellClick?: () => void;\n [key: string]: any;\n};\n\nexport const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n (\n {\n selectedDate: value,\n onChange,\n locale: customLocale,\n style,\n children: _,\n navigationDescription,\n onSelectedCellClick = () => {\n return;\n },\n ...rest\n },\n ref,\n ) => {\n const { locale } = useLocale();\n\n const state = useCalendarState({\n ...rest,\n onChange,\n locale: customLocale ?? locale,\n createCalendar,\n });\n const { calendarProps, prevButtonProps, nextButtonProps, title } =\n useCalendar(rest, state);\n\n return (\n <ConditionalWrapper\n condition={customLocale}\n wrapper={(child: ReactNode) => (\n <I18nProvider locale={customLocale}>{child}</I18nProvider>\n )}\n >\n <div\n {...calendarProps}\n ref={ref}\n className=\"eds-datepicker__calendar\"\n style={style}\n >\n <div className=\"eds-datepicker__calendar__header\">\n <CalendarButton\n {...prevButtonProps}\n aria-label={ariaLabelIfNorwegian(\n 'Forrige måned',\n locale,\n prevButtonProps,\n )}\n >\n <LeftArrowIcon size={20} />\n </CalendarButton>\n <h2>{title}</h2>\n <CalendarButton\n {...nextButtonProps}\n aria-label={ariaLabelIfNorwegian(\n 'Neste måned',\n locale,\n nextButtonProps,\n )}\n >\n <RightArrowIcon size={20} />\n </CalendarButton>\n </div>\n <CalendarGrid\n state={state}\n navigationDescription={navigationDescription}\n onSelectedCellClick={onSelectedCellClick}\n />\n </div>\n </ConditionalWrapper>\n );\n },\n);\n","import React, { ReactNode, useRef } from 'react';\n\nimport { useDatePickerState } from '@react-stately/datepicker';\nimport { useDatePicker } from '@react-aria/datepicker';\nimport { I18nProvider } from '@react-aria/i18n';\nimport {\n useFloating,\n offset,\n flip,\n shift,\n autoUpdate,\n} from '@floating-ui/react-dom';\nimport FocusLock from 'react-focus-lock';\nimport classNames from 'classnames';\n\nimport type {\n DateValue,\n AriaDatePickerProps,\n MappedDateValue,\n} from '@react-types/datepicker';\n\nimport {\n ConditionalWrapper,\n useOnClickOutside,\n useOnEscape,\n useWindowDimensions,\n} from '@entur/utils';\nimport { space, zIndexes } from '@entur/tokens';\nimport { CalendarIcon } from '@entur/icons';\nimport { Modal } from '@entur/modal';\n\nimport type { VariantType } from '@entur/form';\n\nimport { DateField } from './DateField';\nimport { Calendar } from './Calendar';\nimport { CalendarButton } from '../shared/CalendarButton';\n\nimport './DatePicker.scss';\n\nexport type DatePickerProps<DateType extends DateValue> = {\n /** Den valgte datoen. Dato i '@internationalized/date'-pakkens format */\n selectedDate: DateType | null;\n /** Kalles når tiden endres. Dato i '@internationalized/date'-pakkens format */\n onChange: (value: MappedDateValue<DateType> | null) => void;\n /** Ledetekst for inputfeltet til DatePicker */\n label: string;\n /** BCP47-språkkoden til locale-en du ønsker å bruke.\n * @default Brukerenhetens selvvalgte locale\n */\n locale?: string;\n /** Viser den gjeldende tidssonen hvis en er valgt (krever at tid også vises)\n * @default false\n */\n showTimeZone?: boolean;\n /** Viser tidspunkt i tillegg til dato.\n * OBS: selectedDate må være av typen CalendarDateTime eller ZonedDateTime\n */\n showTime?: boolean;\n /** Tidligste gyldige datovalg.\n * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone. */\n minDate?: DateValue;\n /** Seneste gyldige datovalg.\n * Eks: today(getLocalTimeZone()) == i dag i lokal tidssone\n *\n * OBS: Hvis du bruker dato med tid vil det være til, men ikke med denne datoen */\n maxDate?: DateValue;\n /** Funksjon som tar inn en dato og sier om den er utilgjengelig.\n * Eks. (date) => isWeekend(date, 'no-NO') == helgedager er ikke tilgjengelig */\n isDateUnavailable?: (date: DateValue) => boolean;\n /** Varselmelding, som vil komme under DatePicker sitt inputfelt */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Varselmelding som forteller om ugyldig dato\n * @default \"Ugyldig dato\"\n */\n validationFeedback?: string;\n /** Valideringsvariant for melding om ugyldig dato\n * @default \"error\"\n */\n validationVariant?: VariantType;\n disabled?: boolean;\n /** Hvis true vil kalenderen alltid vises i en popover når den åpnes\n * @default false\n */\n disableModal?: boolean;\n /** Maxbredden til viewport-en for at modal skal vises\n * @default 1000\n */\n modalTreshold?: number;\n labelTooltip?: React.ReactNode;\n /** Skjermlesertest som forklarer navigasjon i kalenderen. Oversettes automatisk for engelsk locale, men ikke andre språk.\n * @default 'Bruk piltastene til å navigere mellom datoer'\n */\n navigationDescription?: string;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaDatePickerProps<DateType>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n>;\n\nexport const DatePicker = <DateType extends DateValue>({\n selectedDate: value,\n onChange,\n locale,\n disabled: isDisabled,\n showTime,\n showTimeZone = false,\n className,\n style,\n variant,\n feedback,\n validationVariant,\n validationFeedback,\n disableModal = false,\n labelTooltip,\n navigationDescription,\n minDate: minValue,\n maxDate: maxValue,\n modalTreshold = 1000,\n ...rest\n}: DatePickerProps<DateType>) => {\n const CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;\n const datePickerRef = useRef<HTMLDivElement | null>(null);\n const calendarRef = useRef<HTMLDivElement | null>(null);\n const dateFieldRef = useRef<HTMLDivElement | null>(null);\n\n const { width } = useWindowDimensions();\n\n const state = useDatePickerState({\n ...rest,\n minValue,\n maxValue,\n value: value === null ? undefined : value,\n onChange,\n granularity: showTime ? 'minute' : rest.granularity,\n });\n const {\n groupProps,\n labelProps,\n fieldProps,\n buttonProps,\n dialogProps,\n calendarProps,\n } = useDatePicker(\n { isDisabled, minValue, maxValue, ...rest },\n state,\n datePickerRef,\n );\n\n // calculations for floating-UI popover position\n const { x, y, reference, floating, strategy } = useFloating({\n whileElementsMounted: autoUpdate,\n placement: 'bottom-start',\n middleware: [\n offset(space.extraSmall),\n flip(),\n shift({ padding: space.extraSmall }),\n ],\n });\n\n const onChangeCalendar = (newSelectedDate: DateValue) => {\n // Necessary to avoid state update on unmounted component\n requestAnimationFrame(() => {\n calendarProps.onChange && calendarProps.onChange(newSelectedDate);\n });\n };\n\n useOnClickOutside([calendarRef], () => {\n state.setOpen(false);\n });\n\n useOnEscape(calendarRef, () => {\n state.setOpen(false);\n });\n\n const calendarSharedProps = {\n ...dialogProps,\n ...calendarProps,\n disabled: calendarProps.isDisabled,\n navigationDescription: navigationDescription,\n onSelectedCellClick: () => state.setOpen(false),\n onChange: onChangeCalendar,\n granularity: showTime ? 'minute' : rest.granularity,\n };\n\n const useModal =\n typeof width !== 'undefined' &&\n width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH &&\n !disableModal;\n\n const popoverCalendar = (\n <div\n // styling for floating-UI popover\n style={{\n position: strategy,\n top: y ?? 0,\n left: x ?? 0,\n zIndex: zIndexes.popover,\n }}\n ref={node => {\n floating(node);\n }}\n >\n <FocusLock disabled={!state.isOpen || useModal} returnFocus>\n {state.isOpen && (\n <Calendar {...calendarSharedProps} ref={calendarRef} />\n )}\n </FocusLock>\n </div>\n );\n\n const modalCalendar = (\n <Modal\n size=\"small\"\n title=\"\"\n open={state.isOpen}\n onDismiss={() => state.setOpen(false)}\n closeOnClickOutside\n className=\"eds-datepicker__calendar-modal\"\n >\n <Calendar {...calendarSharedProps} />\n </Modal>\n );\n\n return (\n <ConditionalWrapper\n condition={locale !== undefined}\n wrapper={(child: ReactNode) => (\n <I18nProvider locale={locale}>{child}</I18nProvider>\n )}\n >\n <div className={classNames('eds-datepicker', className)}>\n <div\n {...groupProps}\n ref={node => {\n datePickerRef.current = node;\n reference(node);\n }}\n id={undefined}\n className=\"eds-datepicker__datefield__wrapper\"\n >\n <DateField\n {...fieldProps}\n selectedDate={state.value}\n label={rest.label}\n labelProps={labelProps}\n showTime={showTime}\n showTimeZone={showTimeZone}\n ref={dateFieldRef}\n variant={variant}\n feedback={feedback}\n validationVariant={validationVariant}\n validationFeedback={validationFeedback}\n labelTooltip={labelTooltip}\n className={classNames('eds-datepicker__datefield', {\n 'eds-datepicker__datefield--disabled': fieldProps.isDisabled,\n })}\n />\n {!fieldProps.isDisabled && (\n <CalendarButton\n {...buttonProps}\n onPress={() => state.setOpen(!state.isOpen)}\n className=\"eds-datepicker__open-calendar-button\"\n >\n <CalendarIcon />\n </CalendarButton>\n )}\n {useModal ? modalCalendar : popoverCalendar}\n </div>\n </div>\n </ConditionalWrapper>\n );\n};\n","import React from 'react';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { DateIcon } from '@entur/icons';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nexport type NativeDatePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeDatePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeDatePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Tekst eller ikon som kommer før inputfelter\n * @default <DateIcon />\n */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeDatePicker = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerProps\n>(\n (\n {\n className,\n style,\n label,\n onChange,\n feedback,\n variant,\n disableLabelAnimation,\n prepend = <DateIcon inline />,\n ...rest\n },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativedatepickerId = useRandomId('eds-nativetimepicker');\n return (\n <BaseFormControl\n style={style}\n className={className}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativedatepickerId}\n disableLabelAnimation={disableLabelAnimation}\n isFilled\n >\n <NativeDatePickerBase\n onChange={onChange}\n aria-labelledby={nativedatepickerId}\n ref={ref}\n variant={variant}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeDatePickerBaseProps = {\n onChange?: any;\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeDatePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeDatePickerBaseProps\n>(({ onChange, variant, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = variant || contextVariant;\n const { isFilled: isDatepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isDatepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isDatepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isDatepickerFilled && setFiller(true);\n } else {\n setFiller && isDatepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"date\"\n className=\"eds-form-control eds-native-date-picker\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { IconButton } from '@entur/button';\nimport { LeftArrowIcon, RightArrowIcon } from '@entur/icons';\n\ntype TimePickerArrowButtonProps = {\n direction: 'left' | 'right';\n} & React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n>;\n\nexport const TimePickerArrowButton: React.FC<TimePickerArrowButtonProps> = ({\n direction,\n onClick,\n disabled,\n 'aria-label': ariaLabel,\n}) => {\n return (\n <IconButton\n className={classNames(\n 'eds-timepicker__arrowbutton',\n `eds-timepicker__arrowbutton--${direction}`,\n { 'eds-timepicker__arrowbutton--disabled': disabled },\n )}\n type=\"button\"\n tabIndex={-1}\n onClick={onClick}\n aria-label={ariaLabel}\n disabled={disabled}\n >\n {direction === 'left' ? <LeftArrowIcon /> : <RightArrowIcon />}\n </IconButton>\n );\n};\n","import React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport { useTimeField } from '@react-aria/datepicker';\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport { useTimeFieldState } from '@react-stately/datepicker';\nimport { getLocalTimeZone, now } from '@internationalized/date';\n\nimport type {\n TimeValue,\n AriaTimeFieldProps,\n MappedTimeValue,\n} from '@react-types/datepicker';\n\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport { useRandomId, mergeRefs } from '@entur/utils';\n\nimport { FieldSegment } from '../shared/FieldSegment';\nimport { TimePickerArrowButton } from './TimePickerArrowButton';\n\nimport './TimePicker.scss';\n\nexport type TimePickerProps<TimeType extends TimeValue> = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedTime: TimeType | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange: (value: MappedTimeValue<TimeType> | null) => void;\n /** Label til TimePicker */\n label: string;\n /** Minutter som legges til eller trekkes fra ved klikk på pilene i TimePicker\n * @default 30\n */\n minuteIncrementForArrowButtons?: number;\n /** BCP47-språkkoden til locale-en du ønsker å bruke.\n * @default Brukerenhetens selvvalgte locale\n */\n locale?: string;\n /** Viser den gjeldende tidssonen hvis en er valgt\n * @default false\n */\n showTimeZone?: boolean;\n /** Aria-label for venstrepil-knappen som trekker fra tid\n * @default `Trekk fra ${minuteIncrementForArrowButtons} minutter`\n */\n leftArrowButtonAriaLabel?: string;\n /** Aria-label for høyrepil-knappen som legger til tid\n * @default `Legg til ${minuteIncrementForArrowButtons} minutter`\n */\n rightArrowButtonAriaLabel?: string;\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n labelTooltip?: React.ReactNode;\n disabled?: boolean;\n inputRef?: React.ForwardedRef<HTMLDivElement>;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaTimeFieldProps<TimeType>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n>;\n\nexport const TimePicker = <TimeType extends TimeValue>({\n selectedTime,\n onChange,\n disabled,\n className,\n style,\n label,\n labelTooltip,\n feedback,\n variant,\n locale: customLocale,\n showTimeZone,\n minuteIncrementForArrowButtons = 30,\n leftArrowButtonAriaLabel = `Trekk fra ${minuteIncrementForArrowButtons} minutter`,\n rightArrowButtonAriaLabel = `Legg til ${minuteIncrementForArrowButtons} minutter`,\n inputRef,\n ...rest\n}: TimePickerProps<TimeType>) => {\n let { locale } = useLocale();\n if (customLocale) locale = customLocale;\n\n const state = useTimeFieldState({\n onChange,\n label: label,\n locale,\n value: selectedTime === null ? undefined : selectedTime,\n hideTimeZone: !showTimeZone,\n isDisabled: disabled,\n ...rest,\n });\n const timeFieldRef = useRef(null);\n const { labelProps, fieldProps } = useTimeField<TimeType>(\n { ...rest, label: label },\n state,\n timeFieldRef,\n );\n const id = useRandomId('timepicker');\n\n const handleOnClickArrowButton = (minutes: number) => {\n if (someSegmentIsUndefined) {\n setTimeToNearestMinuteIncrement();\n } else {\n addMinutesToSelectedTime(minutes);\n }\n };\n\n const someSegmentIsUndefined = state.segments.some(\n segment => segment.text === '––',\n );\n\n const setTimeToNearestMinuteIncrement = () => {\n const currentTime = now(getLocalTimeZone());\n const roundedMinute =\n Math.floor(currentTime.minute / minuteIncrementForArrowButtons) *\n minuteIncrementForArrowButtons;\n const newTime = currentTime.set({ minute: roundedMinute });\n // @ts-expect-error Since this function is used when selectedTime is null,\n // we can't guarantee newTime matching the type of selectedTime in the future.\n // This might lead to a type issue.\n onChange(newTime);\n };\n\n const addMinutesToSelectedTime = (minutes: number) => {\n state.value &&\n state.setValue(\n state.value?.add({\n minutes: minutes,\n }),\n );\n };\n\n return (\n <I18nProvider locale={locale}>\n <div className={classNames(className, 'eds-timepicker__wrapper')}>\n <TimePickerArrowButton\n direction=\"left\"\n disabled={disabled}\n aria-label={leftArrowButtonAriaLabel}\n onClick={() =>\n handleOnClickArrowButton(minuteIncrementForArrowButtons * -1)\n }\n />\n <BaseFormControl\n style={style}\n className={'eds-timepicker'}\n labelId={id}\n label={label}\n labelProps={{ ...labelProps }}\n ref={mergeRefs(timeFieldRef, inputRef)}\n disabled={disabled}\n disableLabelAnimation\n labelTooltip={labelTooltip}\n {...fieldProps}\n variant={variant}\n feedback={feedback}\n >\n {state.segments.map((segment, i) => (\n <FieldSegment segment={segment} state={state} key={i} />\n ))}\n </BaseFormControl>\n <TimePickerArrowButton\n direction=\"right\"\n disabled={disabled}\n aria-label={rightArrowButtonAriaLabel}\n onClick={() =>\n handleOnClickArrowButton(minuteIncrementForArrowButtons)\n }\n />\n </div>\n </I18nProvider>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n BaseFormControl,\n isFilled,\n useInputGroupContext,\n useVariant,\n VariantType,\n} from '@entur/form';\nimport { useOnMount, useRandomId } from '@entur/utils';\n\nimport './NativeTimePicker.scss';\n\nexport type NativeTimePickerProps = {\n /** Ekstra klassenavn */\n className?: string;\n /** Label over NativeTimePicker */\n label: string;\n /** Varselmelding, som vil komme under NativeTimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Tekst eller ikon som kommer før inputfelter */\n prepend?: React.ReactNode;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const NativeTimePicker = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerProps\n>(\n (\n { className, style, onChange, label, feedback, variant, prepend, ...rest },\n ref: React.Ref<HTMLInputElement>,\n ) => {\n const nativetimepickerId = useRandomId('eds-native-timepicker');\n return (\n <BaseFormControl\n style={style}\n className={classNames(className, 'eds-native-timepicker')}\n prepend={prepend}\n label={label}\n feedback={feedback}\n variant={variant}\n labelId={nativetimepickerId}\n disableLabelAnimation\n >\n <NativeTimePickerBase\n onChange={onChange}\n aria-labelledby={nativetimepickerId}\n ref={ref}\n {...rest}\n />\n </BaseFormControl>\n );\n },\n);\n\ntype NativeTimePickerBaseProps = {\n variant?: VariantType;\n} & React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n>;\n\nconst NativeTimePickerBase = React.forwardRef<\n HTMLInputElement,\n NativeTimePickerBaseProps\n>(({ onChange, value, ...rest }, ref) => {\n const contextVariant = useVariant();\n const currentVariant = rest.variant || contextVariant;\n const { isFilled: isTimepickerFilled, setFilled: setFiller } =\n useInputGroupContext();\n\n useOnMount(() => {\n setFiller && !isTimepickerFilled && setFiller(true);\n });\n\n React.useEffect(() => {\n if (value) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n }, [value, setFiller, isTimepickerFilled]);\n\n const handleChange = (event: any) => {\n if (isFilled(event.target)) {\n setFiller && !isTimepickerFilled && setFiller(true);\n } else {\n setFiller && isTimepickerFilled && setFiller(false);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return (\n <input\n ref={ref}\n aria-invalid={currentVariant === 'error'}\n type=\"time\"\n className=\"eds-form-control\"\n onChange={handleChange}\n value={value}\n {...rest}\n />\n );\n});\n","import React, { useEffect, useRef, useState } from 'react';\nimport { Time, parseTime, toTime } from '@internationalized/date';\nimport { useTimeField } from '@react-aria/datepicker';\nimport { I18nProvider, useLocale } from '@react-aria/i18n';\nimport { useTimeFieldState } from '@react-stately/datepicker';\nimport classNames from 'classnames';\n\nimport type {\n TimeValue,\n AriaTimeFieldProps,\n MappedTimeValue,\n} from '@react-types/datepicker';\n\nimport { TextField, VariantType } from '@entur/form';\nimport { ClockIcon } from '@entur/icons';\nimport { mergeRefs } from '@entur/utils';\n\nimport './SimpleTimePicker.scss';\n\nenum inputResult {\n RESET_TIME,\n INVALID,\n}\n\nexport type SimpleTimePickerProps<TimeType extends TimeValue> = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedTime: TimeType | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange?: (\n value: MappedTimeValue<TimeType> | null,\n ) => void | React.Dispatch<React.SetStateAction<TimeValue | null>>;\n /** Label til TimePicker */\n label: string;\n /** Viser sekund i tillegg til time og minutt\n * @default false\n */\n showSeconds?: boolean;\n /** Viser et klokkeikonet for å klarere indikere at dette\n * er en tidsvelger\n * @default false\n */\n showClockIcon?: boolean | 'right' | 'left';\n /** Velger hvor mye luft det skal være på sidene av klokkeslettet\n * @default 'default'\n */\n padding?: 'default' | 'large';\n /** Varselmelding, som vil komme under TimePicker */\n feedback?: string;\n /** Valideringsvariant */\n variant?: VariantType;\n /** Tekst eller ikon som vises foran skjema-elementet */\n prepend?: React.ReactNode;\n /** Tekst eller ikon som vises etter skjema-elementet */\n append?: React.ReactNode;\n labelTooltip?: React.ReactNode;\n disabled?: boolean;\n readOnly?: boolean;\n inputRef?: React.ForwardedRef<HTMLInputElement>;\n /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaTimeFieldProps<TimeType>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n | 'locale'\n | 'isReadOnly'\n | 'isDisabled'\n | 'locale'\n>;\n\nexport const SimpleTimePicker = <TimeType extends TimeValue>({\n append,\n className,\n disabled,\n feedback,\n showClockIcon = 'right',\n inputRef,\n label,\n labelTooltip,\n onChange,\n padding = 'default',\n prepend,\n readOnly,\n selectedTime,\n showSeconds,\n style,\n variant,\n ...rest\n}: SimpleTimePickerProps<TimeType>) => {\n const [inputText, setInputText] = useState('');\n const timeFieldRef = useRef<HTMLInputElement>(null);\n const [lastValidSelectedTime, setLastValidSelectedTime] =\n useState<MappedTimeValue<TimeType> | null>(null);\n\n const { locale } = useLocale();\n\n const state = useTimeFieldState({\n onChange,\n label: label,\n locale,\n value: selectedTime === null ? undefined : selectedTime,\n hideTimeZone: true,\n isDisabled: disabled,\n isReadOnly: readOnly,\n ...rest,\n });\n const { labelProps, fieldProps } = useTimeField<TimeType>(\n { ...rest, label: label },\n state,\n timeFieldRef,\n );\n\n useEffect(() => {\n updateInputWithSelectedTime();\n // @ts-expect-error TimeType and MappedTimeValue<TimeType> is actually the same\n if (selectedTime !== null) setLastValidSelectedTime(selectedTime);\n }, [selectedTime?.toString()]);\n\n const updateInputWithSelectedTime = () => {\n const selectedTimeString = getStringFromTimeValue(selectedTime);\n setInputText(selectedTimeString);\n\n const timeFieldIsFocused = document.activeElement === timeFieldRef?.current;\n if (selectedTimeString === '' && !timeFieldIsFocused)\n addPlaceholderToInput();\n };\n\n const getStringFromTimeValue = (timeValue: TimeValue | null) => {\n if (timeValue === null) return '';\n\n const timeObject = 'day' in timeValue ? toTime(timeValue) : timeValue;\n\n if (showSeconds) return timeObject.toString().slice(0, 8);\n\n return timeObject.toString().slice(0, 5);\n };\n\n const addPlaceholderToInput = () => {\n if (showSeconds) setInputText('–– : –– : ––');\n else setInputText('–– : ––');\n };\n\n const handleChangeTime = () => {\n const newTime = getValueForOnChangeFromInput();\n\n if (newTime === inputResult.INVALID) {\n return updateInputWithSelectedTime();\n }\n\n if (newTime?.toString() !== selectedTime?.toString()) onChange?.(newTime);\n };\n\n const getValueForOnChangeFromInput = () => {\n const formatedTimeString = formatTimeString(inputText);\n const newTimeObject = formatedTimeStringToTimeObject(formatedTimeString);\n\n if (newTimeObject === inputResult.INVALID) {\n return inputResult.INVALID;\n }\n if (newTimeObject === inputResult.RESET_TIME) {\n return null;\n }\n\n const updatedSelectedTime =\n getSelectedTimeWithTimeFromObject(newTimeObject);\n\n return updatedSelectedTime;\n };\n\n const formatTimeString = (timeString: string): string | inputResult => {\n if (timeString.length === 0) return inputResult.RESET_TIME;\n if (timeString.length < 3 || timeString.length > 8)\n return inputResult.INVALID;\n\n const numberOfColons = (timeString.match(new RegExp(':', 'g')) || [])\n .length;\n const stringLength = timeString.length;\n\n // targets 'd:dd:dd' and 'dd:dd:dd'\n if (numberOfColons === 2 && stringLength >= 7) {\n return timeString.padStart(8, '0');\n }\n\n // targets 'd:dd' and 'dd:dd'\n if (numberOfColons === 1) {\n return timeString.padStart(5, '0');\n }\n\n if (stringLength > 6) return inputResult.INVALID;\n\n const stringLengthIsEven = stringLength % 2 == 0;\n\n const hourString = stringLengthIsEven\n ? timeString.slice(0, 2)\n : timeString.slice(0, 1);\n const minuteString = stringLengthIsEven\n ? timeString.slice(2, 4)\n : timeString.slice(1, 3);\n const secondString = (() => {\n const stringSlice = stringLengthIsEven\n ? timeString.slice(4, 6)\n : timeString.slice(3, 5);\n if (stringSlice === '') return '00';\n return stringSlice;\n })();\n\n const timeStringWithColon =\n hourString.padStart(2, '0') +\n ':' +\n minuteString +\n (showSeconds ? ':' + secondString : '');\n\n return timeStringWithColon;\n };\n\n const formatedTimeStringToTimeObject = (\n formatedTimeString: string | inputResult,\n ): Time | inputResult => {\n if (formatedTimeString === inputResult.INVALID) return inputResult.INVALID;\n if (formatedTimeString === inputResult.RESET_TIME)\n return inputResult.RESET_TIME;\n\n const isNumberTest = /^\\d+$/;\n const hourString = formatedTimeString.slice(0, 2);\n const minuteString = formatedTimeString.slice(3, 5);\n const secondString = formatedTimeString.slice(6, 8);\n if (\n hourString.match(isNumberTest) &&\n minuteString.match(isNumberTest) &&\n (secondString === '' || secondString.match(isNumberTest))\n ) {\n try {\n const timeObject = parseTime(formatedTimeString);\n return timeObject;\n } catch (e) {\n return inputResult.INVALID;\n }\n }\n\n return inputResult.INVALID;\n };\n\n const getSelectedTimeWithTimeFromObject = (\n newTime: Time,\n ): MappedTimeValue<TimeType> => {\n const selectedTimeWithUpdateTime = (\n lastValidSelectedTime ?? new Time()\n ).set({\n hour: newTime.hour,\n minute: newTime.minute,\n second: newTime.second,\n }) as MappedTimeValue<TimeType>;\n\n return selectedTimeWithUpdateTime;\n };\n\n const {\n onBlur,\n onClick,\n onDragStart,\n onFocus,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onPointerDown,\n onPointerUp,\n ...usedFieldProps\n } = fieldProps;\n\n return (\n <I18nProvider locale={locale}>\n <TextField\n append={\n append ||\n (showClockIcon === true || showClockIcon === 'right' ? (\n <ClockIcon onClick={() => timeFieldRef?.current?.focus()} />\n ) : undefined)\n }\n className={classNames('eds-simple-timepicker', {\n 'eds-simple-timepicker--padding-large': padding === 'large',\n 'eds-simple-timepicker--show-seconds': showSeconds,\n 'eds-simple-timepicker--hide-clock': !showClockIcon,\n })}\n disabled={disabled}\n disableLabelAnimation\n feedback={feedback}\n label={label}\n labelProps={labelProps}\n labelTooltip={labelTooltip}\n onBlur={() => {\n handleChangeTime();\n if (selectedTime === null) {\n addPlaceholderToInput();\n }\n }}\n onChange={e => setInputText(e.target.value)}\n onFocus={() => {\n if (selectedTime === null) {\n setInputText('');\n }\n }}\n onKeyDown={({ key }) => {\n if (key === 'Enter') handleChangeTime();\n }}\n placeholder={showSeconds ? '–– : –– : ––' : '–– : ––'}\n prepend={\n prepend ||\n (showClockIcon === 'left' ? (\n <ClockIcon onClick={() => timeFieldRef?.current?.focus()} />\n ) : undefined)\n }\n readOnly={readOnly}\n ref={mergeRefs(timeFieldRef, inputRef)}\n style={style}\n value={inputText}\n variant={variant}\n {...usedFieldProps}\n />\n </I18nProvider>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('datepicker', 'form', 'icons');\n\nexport * from './DatePicker';\nexport * from './TimePicker';\nexport * from './shared';\n\nexport {\n CalendarDate,\n CalendarDateTime,\n ZonedDateTime,\n Time,\n} from '@internationalized/date';\nexport type { TimeValue, DateValue } from '@react-types/datepicker';\n"],"names":["FieldSegment","segment","state","ref","useRef","useDateSegment","segmentProps","is12HourFormatted","segments","some","text","segmentDisplayText","match","padStart","React","createElement","className","classNames","isPlaceholder","tabIndex","isDisabled","nativeDateToDateTime","date","timeZone","offset","ZonedDateTime","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","parseAbsolute","toISOString","CalendarDateTime","nativeDateToDateValue","noTimeOnlyDate","CalendarDate","nativeDateToTimeValue","noDateOnlyTime","Time","timeOrDateValueToNativeDate","value","timeZoneForCalendarDateTime","day","Date","setHours","hour","setMinutes","minute","setSeconds","second","toDate","getLocalTimeZone","year","month","createCalendar","identifier","GregorianCalendar","Error","ariaLabelIfNorwegian","norwegianAriaLabel","locale","propsCollection","toLowerCase","DateField","forwardRef","selectedDate","label","customLocale","showTimeZone","showTime","granularity","disabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minValue","minDate","maxValue","maxDate","style","parentLabelProps","labelProps","append","rest","_excluded","useLocale","useDateFieldState","undefined","hideTimeZone","dateFieldRef","useDateField","fieldProps","id","useRandomId","ConditionalWrapper","condition","wrapper","child","I18nProvider","BaseFormControl","labelId","mergeRefs","disableLabelAnimation","validationState","ariaAlertOnFeedback","map","i","key","CalendarButton","children","props","useButton","buttonProps","IconButton","CalendarCell","onSelectedCellClick","cellRef","useCalendarCell","cellProps","isSelected","isOutsideVisibleRange","isUnavailable","formattedDate","hidden","isEqualDay","now","onClick","e","onKeyDown","CalendarGrid","navigationDescription","calendarGridId","useCalendarGrid","gridProps","headerProps","weekDays","weeksInMonth","getWeeksInMonth","visibleRange","start","weeksArray","Array","from","keys","weekDaysMapped","includes","getNavigationDescription","Fragment","cellSpacing","index","weekIndex","getDatesInWeek","VisuallyHidden","Calendar","onChange","_","useCalendarState","useCalendar","calendarProps","prevButtonProps","nextButtonProps","title","LeftArrowIcon","size","RightArrowIcon","DatePicker","disableModal","modalTreshold","CALENDAR_MODAL_MAX_SCREEN_WIDTH","datePickerRef","calendarRef","useWindowDimensions","width","useDatePickerState","useDatePicker","groupProps","dialogProps","useFloating","whileElementsMounted","autoUpdate","placement","middleware","space","extraSmall","flip","shift","padding","x","y","reference","floating","strategy","onChangeCalendar","newSelectedDate","requestAnimationFrame","useOnClickOutside","setOpen","useOnEscape","calendarSharedProps","useModal","popoverCalendar","position","top","left","zIndex","zIndexes","popover","node","FocusLock","isOpen","returnFocus","modalCalendar","Modal","open","onDismiss","closeOnClickOutside","current","onPress","CalendarIcon","NativeDatePicker","prepend","DateIcon","inline","nativedatepickerId","isFilled","NativeDatePickerBase","_excluded2","contextVariant","useVariant","currentVariant","useInputGroupContext","isDatepickerFilled","setFiller","setFilled","useOnMount","useEffect","handleChange","event","target","type","TimePickerArrowButton","direction","ariaLabel","TimePicker","selectedTime","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel","inputRef","useTimeFieldState","timeFieldRef","useTimeField","handleOnClickArrowButton","minutes","someSegmentIsUndefined","setTimeToNearestMinuteIncrement","addMinutesToSelectedTime","currentTime","roundedMinute","Math","floor","newTime","set","setValue","add","NativeTimePicker","nativetimepickerId","NativeTimePickerBase","isTimepickerFilled","inputResult","SimpleTimePicker","showClockIcon","readOnly","showSeconds","useState","inputText","setInputText","lastValidSelectedTime","setLastValidSelectedTime","isReadOnly","updateInputWithSelectedTime","toString","selectedTimeString","getStringFromTimeValue","timeFieldIsFocused","document","activeElement","addPlaceholderToInput","timeValue","timeObject","toTime","slice","handleChangeTime","getValueForOnChangeFromInput","INVALID","formatedTimeString","formatTimeString","newTimeObject","formatedTimeStringToTimeObject","RESET_TIME","updatedSelectedTime","getSelectedTimeWithTimeFromObject","timeString","length","numberOfColons","RegExp","stringLength","stringLengthIsEven","hourString","minuteString","secondString","stringSlice","timeStringWithColon","isNumberTest","parseTime","selectedTimeWithUpdateTime","usedFieldProps","TextField","ClockIcon","focus","onBlur","onFocus","placeholder","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),a=require("@react-stately/datepicker"),n=require("@react-aria/datepicker"),l=require("@react-aria/i18n"),r=require("classnames"),i=require("@entur/form"),o=require("@internationalized/date"),d=require("@react-aria/calendar"),s=require("@react-stately/calendar"),u=require("@entur/icons"),c=require("@react-aria/button"),f=require("@entur/button"),m=require("@entur/a11y"),p=require("@floating-ui/react-dom"),b=require("react-focus-lock"),v=require("@entur/tokens"),g=require("@entur/modal");function k(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=k(t),C=k(r),E=k(b);function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},y.apply(this,arguments)}function D(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)t.indexOf(a=r[n])>=0||(l[a]=e[a]);return l}var _,w=function(e){var a=e.segment,l=e.state,r=t.useRef(null),i=n.useDateSegment(a,l,r).segmentProps,o=l.segments.some((function(e){return"AM"===e.text||"PM"===e.text}));return h.default.createElement("div",y({},i,{ref:r,className:C.default("eds-date-and-time-field__segment",{"eds-date-and-time-field__segment--placeholder":a.isPlaceholder,"eds-date-and-time-field__segment--dot-separator":"."===a.text}),tabIndex:l.isDisabled?-1:i.tabIndex}),o?a.text:a.text.match(/\d+/)?a.text.padStart(2,"0"):a.text)},T=function(e,t,a){return t?a?new o.ZonedDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),t,a,e.getHours(),e.getMinutes(),e.getSeconds()):o.parseAbsolute(e.toISOString(),t):new o.CalendarDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},I=function(e){if(void 0===e&&(e="gregory"),"gregory"===e)return new o.GregorianCalendar;throw new Error("Unsupported calendar "+e)},S=function(e,t,a){return"no-no"!==t.toLowerCase()?a["aria-label"]:e},N=["selectedDate","label","locale","showTimeZone","showTime","granularity","disabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minDate","maxDate","style","className","labelProps","append"],P=h.default.forwardRef((function(r,o){var d=r.selectedDate,s=r.label,u=r.locale,c=r.showTimeZone,f=r.showTime,m=r.granularity,p=void 0===m?"day":m,b=r.disabled,v=r.variant,g=r.feedback,k=r.validationVariant,E=void 0===k?"error":k,_=r.validationFeedback,T=void 0===_?"Ugyldig dato":_,S=r.labelTooltip,P=r.minDate,x=r.maxDate,A=r.style,F=r.className,L=r.labelProps,R=r.append,O=D(r,N),V=l.useLocale(),M=a.useDateFieldState(y({},O,{locale:null!=u?u:V.locale,createCalendar:I,value:null===d?void 0:d,hideTimeZone:!c,granularity:f?"minute":p,minValue:P,maxValue:x})),q=t.useRef(null),B=n.useDateField(y({},O,{label:s,isDisabled:b||O.isDisabled}),M,q),Z=B.labelProps,W=B.fieldProps,U=e.useRandomId("datefield");return h.default.createElement(e.ConditionalWrapper,{condition:void 0!==u,wrapper:function(e){return h.default.createElement(l.I18nProvider,{locale:u},e)}},h.default.createElement(i.BaseFormControl,y({style:A,className:C.default("eds-datefield",F),labelId:U,ref:e.mergeRefs(q,o),disabled:M.isDisabled,disableLabelAnimation:!0,label:s,labelTooltip:S,labelProps:null!=L?L:Z},W,{variant:(null!=v?v:"invalid"===M.validationState)?E:void 0,feedback:(null!=g?g:"invalid"===M.validationState)?T:void 0,append:R,ariaAlertOnFeedback:!0}),M.segments.map((function(e,t){return h.default.createElement(w,{segment:e,state:M,key:t})}))))})),x=["children","className","style"],A=function(e){var a=e.children,n=e.className,l=e.style,r=D(e,x),i=t.useRef(null),o=c.useButton(r,i);return h.default.createElement(f.IconButton,y({},o.buttonProps,{ref:i,className:n,style:l}),a)},F=["state","date","onSelectedCellClick"],L=function(e){var a,n=e.state,l=e.date,r=e.onSelectedCellClick,i=void 0===r?function(){}:r,s=D(e,F),u=t.useRef(null),c=d.useCalendarCell({date:l},n,u),f=c.buttonProps,m=c.isSelected,p=c.isOutsideVisibleRange,b=c.isDisabled,v=c.isUnavailable,g=c.formattedDate;return h.default.createElement("td",y({},c.cellProps,{className:"eds-datepicker__calendar__grid__cell__td"}),h.default.createElement("div",y({},f,{ref:u,hidden:p,className:C.default("eds-datepicker__calendar__grid__cell",{"eds-datepicker__calendar__grid__cell--selected":m,"eds-datepicker__calendar__grid__cell--disabled":b||v,"eds-datepicker__calendar__grid__cell--outside-month":p,"eds-datepicker__calendar__grid__cell--today":o.isEqualDay(l,o.now(null!=(a=n.timeZone)?a:o.getLocalTimeZone()))})},s,{onClick:function(e){f.onClick&&f.onClick(e),m&&i()},onKeyDown:function(e){f.onKeyDown&&f.onKeyDown(e),"Enter"!==e.key&&" "!==e.key||m&&i()}}),g))},R=["state","navigationDescription","onSelectedCellClick"],O=function(t){var a=t.state,n=t.navigationDescription,r=t.onSelectedCellClick,i=void 0===r?function(){}:r,s=D(t,R),u=e.useRandomId("eds-calendar"),c=l.useLocale().locale,f=d.useCalendarGrid(s,a),p=f.gridProps,b=f.headerProps,v=f.weekDays,g=o.getWeeksInMonth(a.visibleRange.start,c),k=Array.from(Array(g).keys());return h.default.createElement(h.default.Fragment,null,h.default.createElement("table",y({},p,{cellSpacing:"0",className:"eds-datepicker__calendar__grid"}),h.default.createElement("thead",y({},b),h.default.createElement("tr",null,function(){if(c.toLowerCase().includes("no"))return["ma","ti","on","to","fr","lø","sø"];if(c.toLowerCase().includes("en")){if("M"===v[0])return["Mo","Tu","We","Th","Fr","Sa","Su"];if("S"===v[0])return["Su","Mo","Tu","We","Th","Fr","Sa"]}return v.map((function(e){return e.toLowerCase()}))}().map((function(e,t){return h.default.createElement("th",{key:t},e)})))),h.default.createElement("tbody",null,k.map((function(e){return h.default.createElement("tr",{key:e},a.getDatesInWeek(e).map((function(e,t){return e?h.default.createElement(L,{key:t,state:a,date:e,"aria-describedby":u+"description",onSelectedCellClick:i}):h.default.createElement("td",{key:t})})))})))),h.default.createElement(m.VisuallyHidden,{id:u+"description"},n||(c.toLowerCase().includes("en")?"Use the arrow keys to navigate between dates":"Bruk piltastene til å navigere mellom datoer")))},V=["selectedDate","onChange","locale","style","children","navigationDescription","onSelectedCellClick"],M=h.default.forwardRef((function(t,a){var n=t.onChange,r=t.locale,i=t.style,o=t.navigationDescription,c=t.onSelectedCellClick,f=void 0===c?function(){}:c,m=D(t,V),p=l.useLocale().locale,b=s.useCalendarState(y({},m,{onChange:n,locale:null!=r?r:p,createCalendar:I})),v=d.useCalendar(m,b),g=v.prevButtonProps,k=v.nextButtonProps,C=v.title;return h.default.createElement(e.ConditionalWrapper,{condition:r,wrapper:function(e){return h.default.createElement(l.I18nProvider,{locale:r},e)}},h.default.createElement("div",y({},v.calendarProps,{ref:a,className:"eds-datepicker__calendar",style:i}),h.default.createElement("div",{className:"eds-datepicker__calendar__header"},h.default.createElement(A,y({},g,{"aria-label":S("Forrige måned",p,g)}),h.default.createElement(u.LeftArrowIcon,{size:20})),h.default.createElement("h2",null,C),h.default.createElement(A,y({},k,{"aria-label":S("Neste måned",p,k)}),h.default.createElement(u.RightArrowIcon,{size:20}))),h.default.createElement(O,{state:b,navigationDescription:o,onSelectedCellClick:f})))})),q=["selectedDate","onChange","locale","disabled","showTime","showTimeZone","className","style","variant","feedback","validationVariant","validationFeedback","disableModal","labelTooltip","navigationDescription","minDate","maxDate","modalTreshold"],B=["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"],Z=["onChange","variant","value"],W=h.default.forwardRef((function(t,a){var n=t.className,l=t.style,r=t.label,o=t.onChange,d=t.feedback,s=t.variant,c=t.disableLabelAnimation,f=t.prepend,m=void 0===f?h.default.createElement(u.DateIcon,{inline:!0}):f,p=D(t,B),b=e.useRandomId("eds-nativetimepicker");return h.default.createElement(i.BaseFormControl,{style:l,className:n,prepend:m,label:r,feedback:d,variant:s,labelId:b,disableLabelAnimation:c,isFilled:!0},h.default.createElement(U,y({onChange:o,"aria-labelledby":b,ref:a,variant:s},p)))})),U=h.default.forwardRef((function(t,a){var n=t.onChange,l=t.variant,r=t.value,o=D(t,Z),d=i.useVariant(),s=l||d,u=i.useInputGroupContext(),c=u.isFilled,f=u.setFilled;return e.useOnMount((function(){f&&!c&&f(!0)})),h.default.useEffect((function(){r?f&&!c&&f(!0):f&&c&&f(!1)}),[r,f,c]),h.default.createElement("input",y({ref:a,"aria-invalid":"error"===s,type:"date",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?f&&!c&&f(!0):f&&c&&f(!1),n&&n(e)},value:r},o))})),j=function(e){var t=e.direction,a=e.onClick,n=e.disabled,l=e["aria-label"];return h.default.createElement(f.IconButton,{className:C.default("eds-timepicker__arrowbutton","eds-timepicker__arrowbutton--"+t,{"eds-timepicker__arrowbutton--disabled":n}),type:"button",tabIndex:-1,onClick:a,"aria-label":l,disabled:n},h.default.createElement("left"===t?u.LeftArrowIcon:u.RightArrowIcon,null))},z=["selectedTime","onChange","disabled","className","style","label","labelTooltip","feedback","variant","locale","showTimeZone","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel","inputRef"],K=["className","style","onChange","label","feedback","variant","prepend"],H=["onChange","value"],G=h.default.forwardRef((function(t,a){var n=t.className,l=t.style,r=t.onChange,o=t.label,d=t.feedback,s=t.variant,u=t.prepend,c=D(t,K),f=e.useRandomId("eds-native-timepicker");return h.default.createElement(i.BaseFormControl,{style:l,className:C.default(n,"eds-native-timepicker"),prepend:u,label:o,feedback:d,variant:s,labelId:f,disableLabelAnimation:!0},h.default.createElement(Y,y({onChange:r,"aria-labelledby":f,ref:a},c)))})),Y=h.default.forwardRef((function(t,a){var n=t.onChange,l=t.value,r=D(t,H),o=i.useVariant(),d=r.variant||o,s=i.useInputGroupContext(),u=s.isFilled,c=s.setFilled;return e.useOnMount((function(){c&&!u&&c(!0)})),h.default.useEffect((function(){l?c&&!u&&c(!0):c&&u&&c(!1)}),[l,c,u]),h.default.createElement("input",y({ref:a,"aria-invalid":"error"===d,type:"time",className:"eds-form-control",onChange:function(e){i.isFilled(e.target)?c&&!u&&c(!0):c&&u&&c(!1),n&&n(e)},value:l},r))})),$=["append","className","disabled","feedback","showClockIcon","inputRef","label","labelTooltip","onChange","padding","prepend","readOnly","selectedTime","showSeconds","style","variant"],J=["onBlur","onClick","onDragStart","onFocus","onKeyDown","onKeyUp","onMouseDown","onPointerDown","onPointerUp"];!function(e){e[e.RESET_TIME=0]="RESET_TIME",e[e.INVALID=1]="INVALID"}(_||(_={})),e.warnAboutMissingStyles("datepicker","form","icons"),exports.Calendar=M,exports.DateField=P,exports.DatePicker=function(r){var i=r.selectedDate,o=r.onChange,d=r.locale,s=r.disabled,c=r.showTime,f=r.showTimeZone,m=void 0!==f&&f,b=r.className,k=r.variant,_=r.feedback,w=r.validationVariant,T=r.validationFeedback,I=r.disableModal,S=void 0!==I&&I,N=r.labelTooltip,x=r.navigationDescription,F=r.minDate,L=r.maxDate,R=r.modalTreshold,O=void 0===R?1e3:R,V=D(r,q),B=O,Z=t.useRef(null),W=t.useRef(null),U=t.useRef(null),j=e.useWindowDimensions().width,z=a.useDatePickerState(y({},V,{minValue:F,maxValue:L,value:null===i?void 0:i,onChange:o,granularity:c?"minute":V.granularity})),K=n.useDatePicker(y({isDisabled:s,minValue:F,maxValue:L},V),z,Z),H=K.groupProps,G=K.labelProps,Y=K.fieldProps,$=K.buttonProps,J=K.dialogProps,Q=K.calendarProps,X=p.useFloating({whileElementsMounted:p.autoUpdate,placement:"bottom-start",middleware:[p.offset(v.space.extraSmall),p.flip(),p.shift({padding:v.space.extraSmall})]}),ee=X.x,te=X.y,ae=X.reference,ne=X.floating,le=X.strategy;e.useOnClickOutside([W],(function(){z.setOpen(!1)})),e.useOnEscape(W,(function(){z.setOpen(!1)}));var re=y({},J,Q,{disabled:Q.isDisabled,navigationDescription:x,onSelectedCellClick:function(){return z.setOpen(!1)},onChange:function(e){requestAnimationFrame((function(){Q.onChange&&Q.onChange(e)}))},granularity:c?"minute":V.granularity}),ie=j<=B&&!S,oe=h.default.createElement("div",{style:{position:le,top:null!=te?te:0,left:null!=ee?ee:0,zIndex:v.zIndexes.popover},ref:function(e){ne(e)}},h.default.createElement(E.default,{disabled:!z.isOpen||ie,returnFocus:!0},z.isOpen&&h.default.createElement(M,y({},re,{ref:W})))),de=h.default.createElement(g.Modal,{size:"small",title:"",open:z.isOpen,onDismiss:function(){return z.setOpen(!1)},closeOnClickOutside:!0,className:"eds-datepicker__calendar-modal"},h.default.createElement(M,y({},re)));return h.default.createElement(e.ConditionalWrapper,{condition:void 0!==d,wrapper:function(e){return h.default.createElement(l.I18nProvider,{locale:d},e)}},h.default.createElement("div",{className:C.default("eds-datepicker",b)},h.default.createElement("div",y({},H,{ref:function(e){Z.current=e,ae(e)},id:void 0,className:"eds-datepicker__datefield__wrapper"}),h.default.createElement(P,y({},Y,{selectedDate:z.value,label:V.label,labelProps:G,showTime:c,showTimeZone:m,ref:U,variant:k,feedback:_,validationVariant:w,validationFeedback:T,labelTooltip:N,className:C.default("eds-datepicker__datefield",{"eds-datepicker__datefield--disabled":Y.isDisabled})})),!Y.isDisabled&&h.default.createElement(A,y({},$,{onPress:function(){return z.setOpen(!z.isOpen)},className:"eds-datepicker__open-calendar-button"}),h.default.createElement(u.CalendarIcon,null)),ie?de:oe)))},exports.NativeDatePicker=W,exports.NativeTimePicker=G,exports.SimpleTimePicker=function(r){var d=r.append,s=r.disabled,c=r.feedback,f=r.showClockIcon,m=void 0===f?"right":f,p=r.inputRef,b=r.label,v=r.labelTooltip,g=r.onChange,k=r.padding,E=void 0===k?"default":k,w=r.prepend,T=r.readOnly,I=r.selectedTime,S=r.showSeconds,N=r.style,P=r.variant,x=D(r,$),A=t.useState(""),F=A[0],L=A[1],R=t.useRef(null),O=t.useState(null),V=O[0],M=O[1],q=l.useLocale().locale,B=a.useTimeFieldState(y({onChange:g,label:b,locale:q,value:null===I?void 0:I,hideTimeZone:!0,isDisabled:s,isReadOnly:T},x)),Z=n.useTimeField(y({},x,{label:b}),B,R),W=Z.labelProps,U=Z.fieldProps;t.useEffect((function(){j(),null!==I&&M(I)}),[null==I?void 0:I.toString()]);var j=function(){var e=z(I);L(e);var t=document.activeElement===(null==R?void 0:R.current);""!==e||t||K()},z=function(e){if(null===e)return"";var t="day"in e?o.toTime(e):e;return S?t.toString().slice(0,8):t.toString().slice(0,5)},K=function(){L(S?"–– : –– : ––":"–– : ––")},H=function(){var e=G();if(e===_.INVALID)return j();(null==e?void 0:e.toString())!==(null==I?void 0:I.toString())&&(null==g||g(e))},G=function(){var e=Y(F),t=Q(e);return t===_.INVALID?_.INVALID:t===_.RESET_TIME?null:X(t)},Y=function(e){if(0===e.length)return _.RESET_TIME;if(e.length<3||e.length>8)return _.INVALID;var t=(e.match(new RegExp(":","g"))||[]).length,a=e.length;if(2===t&&a>=7)return e.padStart(8,"0");if(1===t)return e.padStart(5,"0");if(a>6)return _.INVALID;var n,l=a%2==0,r=e.slice(0,l?2:1),i=l?e.slice(2,4):e.slice(1,3),o=""===(n=l?e.slice(4,6):e.slice(3,5))?"00":n;return r.padStart(2,"0")+":"+i+(S?":"+o:"")},Q=function(e){if(e===_.INVALID)return _.INVALID;if(e===_.RESET_TIME)return _.RESET_TIME;var t=/^\d+$/,a=e.slice(0,2),n=e.slice(3,5),l=e.slice(6,8);if(a.match(t)&&n.match(t)&&(""===l||l.match(t)))try{return o.parseTime(e)}catch(e){return _.INVALID}return _.INVALID},X=function(e){return(null!=V?V:new o.Time).set({hour:e.hour,minute:e.minute,second:e.second})},ee=D(U,J);return h.default.createElement(l.I18nProvider,{locale:q},h.default.createElement(i.TextField,y({append:d||(!0===m||"right"===m?h.default.createElement(u.ClockIcon,{onClick:function(){var e;return null==R||null==(e=R.current)?void 0:e.focus()}}):void 0),className:C.default("eds-simple-timepicker",{"eds-simple-timepicker--padding-large":"large"===E,"eds-simple-timepicker--show-seconds":S,"eds-simple-timepicker--hide-clock":!m}),disabled:s,disableLabelAnimation:!0,feedback:c,label:b,labelProps:W,labelTooltip:v,onBlur:function(){H(),null===I&&K()},onChange:function(e){return L(e.target.value)},onFocus:function(){null===I&&L("")},onKeyDown:function(e){"Enter"===e.key&&H()},placeholder:S?"–– : –– : ––":"–– : ––",prepend:w||("left"===m?h.default.createElement(u.ClockIcon,{onClick:function(){var e;return null==R||null==(e=R.current)?void 0:e.focus()}}):void 0),readOnly:T,ref:e.mergeRefs(R,p),style:N,value:F,variant:P},ee)))},exports.TimePicker=function(r){var d=r.selectedTime,s=r.onChange,u=r.disabled,c=r.className,f=r.style,m=r.label,p=r.labelTooltip,b=r.feedback,v=r.variant,g=r.locale,k=r.showTimeZone,E=r.minuteIncrementForArrowButtons,_=void 0===E?30:E,T=r.leftArrowButtonAriaLabel,I=void 0===T?"Trekk fra "+_+" minutter":T,S=r.rightArrowButtonAriaLabel,N=void 0===S?"Legg til "+_+" minutter":S,P=r.inputRef,x=D(r,z),A=l.useLocale().locale;g&&(A=g);var F=a.useTimeFieldState(y({onChange:s,label:m,locale:A,value:null===d?void 0:d,hideTimeZone:!k,isDisabled:u},x)),L=t.useRef(null),R=n.useTimeField(y({},x,{label:m}),F,L),O=R.labelProps,V=R.fieldProps,M=e.useRandomId("timepicker"),q=function(e){B?Z():W(e)},B=F.segments.some((function(e){return"––"===e.text})),Z=function(){var e=o.now(o.getLocalTimeZone()),t=Math.floor(e.minute/_)*_,a=e.set({minute:t});s(a)},W=function(e){var t;F.value&&F.setValue(null==(t=F.value)?void 0:t.add({minutes:e}))};return h.default.createElement(l.I18nProvider,{locale:A},h.default.createElement("div",{className:C.default(c,"eds-timepicker__wrapper")},h.default.createElement(j,{direction:"left",disabled:u,"aria-label":I,onClick:function(){return q(-1*_)}}),h.default.createElement(i.BaseFormControl,y({style:f,className:"eds-timepicker",labelId:M,label:m,labelProps:y({},O),ref:e.mergeRefs(L,P),disabled:u,disableLabelAnimation:!0,labelTooltip:p},V,{variant:v,feedback:b}),F.segments.map((function(e,t){return h.default.createElement(w,{segment:e,state:F,key:t})}))),h.default.createElement(j,{direction:"right",disabled:u,"aria-label":N,onClick:function(){return q(_)}})))},exports.ariaLabelIfNorwegian=S,exports.createCalendar=I,exports.nativeDateToDateValue=function(e,t,a,n){return void 0===t&&(t=!1),t?new o.CalendarDate(e.getFullYear(),e.getMonth()+1,e.getDate()):T(e,a,n)},exports.nativeDateToTimeValue=function(e,t,a,n){return void 0===t&&(t=!1),t?new o.Time(e.getHours(),e.getMinutes(),e.getSeconds(),0):T(e,a,n)},exports.timeOrDateValueToNativeDate=function(e,t){if(!e.day){var a=new Date;return a.setHours(e.hour),a.setMinutes(e.minute),a.setSeconds(e.second),a}return e.hour?e.timeZone?e.toDate():t?e.toDate(t):new Date(e.year,e.month-1,e.day,e.hour,e.minute,e.second):e.toDate(null!=t?t:o.getLocalTimeZone())};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),a=require("@react-stately/datepicker"),n=require("@react-aria/datepicker"),l=require("@react-aria/i18n"),r=require("classnames"),i=require("@entur/form"),o=require("@internationalized/date"),s=require("@react-aria/calendar"),d=require("@react-stately/calendar"),c=require("@entur/icons"),u=require("@react-aria/button"),m=require("@entur/button"),p=require("@entur/a11y"),f=require("@floating-ui/react-dom"),b=require("react-focus-lock"),v=require("@entur/tokens"),g=require("@entur/modal");function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},k.apply(this,arguments)}function h(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)t.indexOf(a=r[n])>=0||(l[a]=e[a]);return l}var C,D=function(e){var a=e.segment,l=e.state,i=t.useRef(null),o=n.useDateSegment(a,l,i).segmentProps,s=l.segments.some((function(e){return"AM"===e.text||"PM"===e.text}));return t.createElement("div",k({},o,{ref:i,className:r("eds-date-and-time-field__segment",{"eds-date-and-time-field__segment--placeholder":a.isPlaceholder,"eds-date-and-time-field__segment--dot-separator":"."===a.text}),tabIndex:l.isDisabled?-1:o.tabIndex}),s?a.text:a.text.match(/\d+/)?a.text.padStart(2,"0"):a.text)},y=function(e,t,a){return t?a?new o.ZonedDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),t,a,e.getHours(),e.getMinutes(),e.getSeconds()):o.parseAbsolute(e.toISOString(),t):new o.CalendarDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},E=function(e){if(void 0===e&&(e="gregory"),"gregory"===e)return new o.GregorianCalendar;throw new Error("Unsupported calendar "+e)},_=function(e,t,a){return"no-no"!==t.toLowerCase()?a["aria-label"]:e},T=["selectedDate","label","locale","showTimeZone","showTime","granularity","disabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minDate","maxDate","style","className","labelProps","append"],w=t.forwardRef((function(o,s){var d=o.selectedDate,c=o.label,u=o.locale,m=o.showTimeZone,p=o.showTime,f=o.granularity,b=void 0===f?"day":f,v=o.disabled,g=o.variant,C=o.feedback,y=o.validationVariant,_=void 0===y?"error":y,w=o.validationFeedback,I=void 0===w?"Ugyldig dato":w,S=o.labelTooltip,N=o.minDate,P=o.maxDate,x=o.style,A=o.className,F=o.labelProps,L=o.append,R=h(o,T),O=l.useLocale(),V=a.useDateFieldState(k({},R,{locale:null!=u?u:O.locale,createCalendar:E,value:null===d?void 0:d,hideTimeZone:!m,granularity:p?"minute":b,minValue:N,maxValue:P})),M=t.useRef(null),q=n.useDateField(k({},R,{label:c,isDisabled:v||R.isDisabled}),V,M),B=q.labelProps,Z=q.fieldProps,j=e.useRandomId("datefield");return t.createElement(e.ConditionalWrapper,{condition:void 0!==u,wrapper:function(e){return t.createElement(l.I18nProvider,{locale:u},e)}},t.createElement(i.BaseFormControl,k({style:x,className:r("eds-datefield",A),labelId:j,ref:e.mergeRefs(M,s),disabled:V.isDisabled,disableLabelAnimation:!0,label:c,labelTooltip:S,labelProps:null!=F?F:B},Z,{variant:(null!=g?g:"invalid"===V.validationState)?_:void 0,feedback:(null!=C?C:"invalid"===V.validationState)?I:void 0,append:L,ariaAlertOnFeedback:!0}),V.segments.map((function(e,a){return t.createElement(D,{segment:e,state:V,key:a})}))))})),I=["children","className","style"],S=function(e){var a=e.children,n=e.className,l=e.style,r=h(e,I),i=t.useRef(null),o=u.useButton(r,i);return t.createElement(m.IconButton,k({},o.buttonProps,{ref:i,className:n,style:l}),a)},N=["state","date","onSelectedCellClick"],P=function(e){var a,n=e.state,l=e.date,i=e.onSelectedCellClick,d=void 0===i?function(){}:i,c=h(e,N),u=t.useRef(null),m=s.useCalendarCell({date:l},n,u),p=m.buttonProps,f=m.isSelected,b=m.isOutsideVisibleRange,v=m.isDisabled,g=m.isUnavailable,C=m.formattedDate;return t.createElement("td",k({},m.cellProps,{className:"eds-datepicker__calendar__grid__cell__td"}),t.createElement("div",k({},p,{ref:u,hidden:b,className:r("eds-datepicker__calendar__grid__cell",{"eds-datepicker__calendar__grid__cell--selected":f,"eds-datepicker__calendar__grid__cell--disabled":v||g,"eds-datepicker__calendar__grid__cell--outside-month":b,"eds-datepicker__calendar__grid__cell--today":o.isEqualDay(l,o.now(null!=(a=n.timeZone)?a:o.getLocalTimeZone()))})},c,{onClick:function(e){p.onClick&&p.onClick(e),f&&d()},onKeyDown:function(e){p.onKeyDown&&p.onKeyDown(e),"Enter"!==e.key&&" "!==e.key||f&&d()}}),C))},x=["state","navigationDescription","onSelectedCellClick"],A=function(a){var n=a.state,r=a.navigationDescription,i=a.onSelectedCellClick,d=void 0===i?function(){}:i,c=h(a,x),u=e.useRandomId("eds-calendar"),m=l.useLocale().locale,f=s.useCalendarGrid(c,n),b=f.gridProps,v=f.headerProps,g=f.weekDays,C=o.getWeeksInMonth(n.visibleRange.start,m),D=Array.from(Array(C).keys());return t.createElement(t.Fragment,null,t.createElement("table",k({},b,{cellSpacing:"0",className:"eds-datepicker__calendar__grid"}),t.createElement("thead",k({},v),t.createElement("tr",null,function(){if(m.toLowerCase().includes("no"))return["ma","ti","on","to","fr","lø","sø"];if(m.toLowerCase().includes("en")){if("M"===g[0])return["Mo","Tu","We","Th","Fr","Sa","Su"];if("S"===g[0])return["Su","Mo","Tu","We","Th","Fr","Sa"]}return g.map((function(e){return e.toLowerCase()}))}().map((function(e,a){return t.createElement("th",{key:a},e)})))),t.createElement("tbody",null,D.map((function(e){return t.createElement("tr",{key:e},n.getDatesInWeek(e).map((function(e,a){return e?t.createElement(P,{key:a,state:n,date:e,"aria-describedby":u+"description",onSelectedCellClick:d}):t.createElement("td",{key:a})})))})))),t.createElement(p.VisuallyHidden,{id:u+"description"},r||(m.toLowerCase().includes("en")?"Use the arrow keys to navigate between dates":"Bruk piltastene til å navigere mellom datoer")))},F=["selectedDate","onChange","locale","style","children","navigationDescription","onSelectedCellClick"],L=t.forwardRef((function(a,n){var r=a.onChange,i=a.locale,o=a.style,u=a.navigationDescription,m=a.onSelectedCellClick,p=void 0===m?function(){}:m,f=h(a,F),b=l.useLocale().locale,v=d.useCalendarState(k({},f,{onChange:r,locale:null!=i?i:b,createCalendar:E})),g=s.useCalendar(f,v),C=g.prevButtonProps,D=g.nextButtonProps,y=g.title;return t.createElement(e.ConditionalWrapper,{condition:i,wrapper:function(e){return t.createElement(l.I18nProvider,{locale:i},e)}},t.createElement("div",k({},g.calendarProps,{ref:n,className:"eds-datepicker__calendar",style:o}),t.createElement("div",{className:"eds-datepicker__calendar__header"},t.createElement(S,k({},C,{"aria-label":_("Forrige måned",b,C)}),t.createElement(c.LeftArrowIcon,{size:20})),t.createElement("h2",null,y),t.createElement(S,k({},D,{"aria-label":_("Neste måned",b,D)}),t.createElement(c.RightArrowIcon,{size:20}))),t.createElement(A,{state:v,navigationDescription:u,onSelectedCellClick:p})))})),R=["selectedDate","onChange","locale","disabled","showTime","showTimeZone","className","style","variant","feedback","validationVariant","validationFeedback","disableModal","labelTooltip","navigationDescription","minDate","maxDate","modalTreshold"],O=["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"],V=["onChange","variant","value"],M=t.forwardRef((function(a,n){var l=a.className,r=a.style,o=a.label,s=a.onChange,d=a.feedback,u=a.variant,m=a.disableLabelAnimation,p=a.prepend,f=void 0===p?t.createElement(c.DateIcon,{inline:!0}):p,b=h(a,O),v=e.useRandomId("eds-nativetimepicker");return t.createElement(i.BaseFormControl,{style:r,className:l,prepend:f,label:o,feedback:d,variant:u,labelId:v,disableLabelAnimation:m,isFilled:!0},t.createElement(q,k({onChange:s,"aria-labelledby":v,ref:n,variant:u},b)))})),q=t.forwardRef((function(a,n){var l=a.onChange,r=a.variant,o=a.value,s=h(a,V),d=i.useVariant(),c=r||d,u=i.useInputGroupContext(),m=u.isFilled,p=u.setFilled;return e.useOnMount((function(){p&&!m&&p(!0)})),t.useEffect((function(){o?p&&!m&&p(!0):p&&m&&p(!1)}),[o,p,m]),t.createElement("input",k({ref:n,"aria-invalid":"error"===c,type:"date",className:"eds-form-control eds-native-date-picker",onChange:function(e){i.isFilled(e.target)?p&&!m&&p(!0):p&&m&&p(!1),l&&l(e)},value:o},s))})),B=function(e){var a=e.direction,n=e.onClick,l=e.disabled,i=e["aria-label"];return t.createElement(m.IconButton,{className:r("eds-timepicker__arrowbutton","eds-timepicker__arrowbutton--"+a,{"eds-timepicker__arrowbutton--disabled":l}),type:"button",tabIndex:-1,onClick:n,"aria-label":i,disabled:l},t.createElement("left"===a?c.LeftArrowIcon:c.RightArrowIcon,null))},Z=["selectedTime","onChange","disabled","className","style","label","labelTooltip","feedback","variant","locale","showTimeZone","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel","inputRef"],j=["className","style","onChange","label","feedback","variant","prepend"],W=["onChange","value"],U=t.forwardRef((function(a,n){var l=a.className,o=a.style,s=a.onChange,d=a.label,c=a.feedback,u=a.variant,m=a.prepend,p=h(a,j),f=e.useRandomId("eds-native-timepicker");return t.createElement(i.BaseFormControl,{style:o,className:r(l,"eds-native-timepicker"),prepend:m,label:d,feedback:c,variant:u,labelId:f,disableLabelAnimation:!0},t.createElement(z,k({onChange:s,"aria-labelledby":f,ref:n},p)))})),z=t.forwardRef((function(a,n){var l=a.onChange,r=a.value,o=h(a,W),s=i.useVariant(),d=o.variant||s,c=i.useInputGroupContext(),u=c.isFilled,m=c.setFilled;return e.useOnMount((function(){m&&!u&&m(!0)})),t.useEffect((function(){r?m&&!u&&m(!0):m&&u&&m(!1)}),[r,m,u]),t.createElement("input",k({ref:n,"aria-invalid":"error"===d,type:"time",className:"eds-form-control",onChange:function(e){i.isFilled(e.target)?m&&!u&&m(!0):m&&u&&m(!1),l&&l(e)},value:r},o))})),K=["append","className","disabled","feedback","showClockIcon","inputRef","label","labelTooltip","onChange","padding","prepend","readOnly","selectedTime","showSeconds","style","variant"],H=["onBlur","onClick","onDragStart","onFocus","onKeyDown","onKeyUp","onMouseDown","onPointerDown","onPointerUp"];!function(e){e[e.RESET_TIME=0]="RESET_TIME",e[e.INVALID=1]="INVALID"}(C||(C={})),e.warnAboutMissingStyles("datepicker","form","icons"),Object.defineProperty(exports,"CalendarDate",{enumerable:!0,get:function(){return o.CalendarDate}}),Object.defineProperty(exports,"CalendarDateTime",{enumerable:!0,get:function(){return o.CalendarDateTime}}),Object.defineProperty(exports,"Time",{enumerable:!0,get:function(){return o.Time}}),Object.defineProperty(exports,"ZonedDateTime",{enumerable:!0,get:function(){return o.ZonedDateTime}}),exports.Calendar=L,exports.DateField=w,exports.DatePicker=function(i){var o=i.selectedDate,s=i.onChange,d=i.locale,u=i.disabled,m=i.showTime,p=i.showTimeZone,C=void 0!==p&&p,D=i.className,y=i.variant,E=i.feedback,_=i.validationVariant,T=i.validationFeedback,I=i.disableModal,N=void 0!==I&&I,P=i.labelTooltip,x=i.navigationDescription,A=i.minDate,F=i.maxDate,O=i.modalTreshold,V=void 0===O?1e3:O,M=h(i,R),q=V,B=t.useRef(null),Z=t.useRef(null),j=t.useRef(null),W=e.useWindowDimensions().width,U=a.useDatePickerState(k({},M,{minValue:A,maxValue:F,value:null===o?void 0:o,onChange:s,granularity:m?"minute":M.granularity})),z=n.useDatePicker(k({isDisabled:u,minValue:A,maxValue:F},M),U,B),K=z.groupProps,H=z.labelProps,G=z.fieldProps,Y=z.buttonProps,$=z.dialogProps,J=z.calendarProps,Q=f.useFloating({whileElementsMounted:f.autoUpdate,placement:"bottom-start",middleware:[f.offset(v.space.extraSmall),f.flip(),f.shift({padding:v.space.extraSmall})]}),X=Q.x,ee=Q.y,te=Q.reference,ae=Q.floating,ne=Q.strategy;e.useOnClickOutside([Z],(function(){U.setOpen(!1)})),e.useOnEscape(Z,(function(){U.setOpen(!1)}));var le=k({},$,J,{disabled:J.isDisabled,navigationDescription:x,onSelectedCellClick:function(){return U.setOpen(!1)},onChange:function(e){requestAnimationFrame((function(){J.onChange&&J.onChange(e)}))},granularity:m?"minute":M.granularity}),re=void 0!==W&&W<=q&&!N,ie=t.createElement("div",{style:{position:ne,top:null!=ee?ee:0,left:null!=X?X:0,zIndex:v.zIndexes.popover},ref:function(e){ae(e)}},t.createElement(b,{disabled:!U.isOpen||re,returnFocus:!0},U.isOpen&&t.createElement(L,k({},le,{ref:Z})))),oe=t.createElement(g.Modal,{size:"small",title:"",open:U.isOpen,onDismiss:function(){return U.setOpen(!1)},closeOnClickOutside:!0,className:"eds-datepicker__calendar-modal"},t.createElement(L,k({},le)));return t.createElement(e.ConditionalWrapper,{condition:void 0!==d,wrapper:function(e){return t.createElement(l.I18nProvider,{locale:d},e)}},t.createElement("div",{className:r("eds-datepicker",D)},t.createElement("div",k({},K,{ref:function(e){B.current=e,te(e)},id:void 0,className:"eds-datepicker__datefield__wrapper"}),t.createElement(w,k({},G,{selectedDate:U.value,label:M.label,labelProps:H,showTime:m,showTimeZone:C,ref:j,variant:y,feedback:E,validationVariant:_,validationFeedback:T,labelTooltip:P,className:r("eds-datepicker__datefield",{"eds-datepicker__datefield--disabled":G.isDisabled})})),!G.isDisabled&&t.createElement(S,k({},Y,{onPress:function(){return U.setOpen(!U.isOpen)},className:"eds-datepicker__open-calendar-button"}),t.createElement(c.CalendarIcon,null)),re?oe:ie)))},exports.NativeDatePicker=M,exports.NativeTimePicker=U,exports.SimpleTimePicker=function(s){var d=s.append,u=s.disabled,m=s.feedback,p=s.showClockIcon,f=void 0===p?"right":p,b=s.inputRef,v=s.label,g=s.labelTooltip,D=s.onChange,y=s.padding,E=void 0===y?"default":y,_=s.prepend,T=s.readOnly,w=s.selectedTime,I=s.showSeconds,S=s.style,N=s.variant,P=h(s,K),x=t.useState(""),A=x[0],F=x[1],L=t.useRef(null),R=t.useState(null),O=R[0],V=R[1],M=l.useLocale().locale,q=a.useTimeFieldState(k({onChange:D,label:v,locale:M,value:null===w?void 0:w,hideTimeZone:!0,isDisabled:u,isReadOnly:T},P)),B=n.useTimeField(k({},P,{label:v}),q,L),Z=B.labelProps,j=B.fieldProps;t.useEffect((function(){W(),null!==w&&V(w)}),[null==w?void 0:w.toString()]);var W=function(){var e=U(w);F(e);var t=document.activeElement===(null==L?void 0:L.current);""!==e||t||z()},U=function(e){if(null===e)return"";var t="day"in e?o.toTime(e):e;return I?t.toString().slice(0,8):t.toString().slice(0,5)},z=function(){F(I?"–– : –– : ––":"–– : ––")},G=function(){var e=Y();if(e===C.INVALID)return W();(null==e?void 0:e.toString())!==(null==w?void 0:w.toString())&&(null==D||D(e))},Y=function(){var e=$(A),t=J(e);return t===C.INVALID?C.INVALID:t===C.RESET_TIME?null:Q(t)},$=function(e){if(0===e.length)return C.RESET_TIME;if(e.length<3||e.length>8)return C.INVALID;var t=(e.match(new RegExp(":","g"))||[]).length,a=e.length;if(2===t&&a>=7)return e.padStart(8,"0");if(1===t)return e.padStart(5,"0");if(a>6)return C.INVALID;var n,l=a%2==0,r=e.slice(0,l?2:1),i=l?e.slice(2,4):e.slice(1,3),o=""===(n=l?e.slice(4,6):e.slice(3,5))?"00":n;return r.padStart(2,"0")+":"+i+(I?":"+o:"")},J=function(e){if(e===C.INVALID)return C.INVALID;if(e===C.RESET_TIME)return C.RESET_TIME;var t=/^\d+$/,a=e.slice(0,2),n=e.slice(3,5),l=e.slice(6,8);if(a.match(t)&&n.match(t)&&(""===l||l.match(t)))try{return o.parseTime(e)}catch(e){return C.INVALID}return C.INVALID},Q=function(e){return(null!=O?O:new o.Time).set({hour:e.hour,minute:e.minute,second:e.second})},X=h(j,H);return t.createElement(l.I18nProvider,{locale:M},t.createElement(i.TextField,k({append:d||(!0===f||"right"===f?t.createElement(c.ClockIcon,{onClick:function(){var e;return null==L||null==(e=L.current)?void 0:e.focus()}}):void 0),className:r("eds-simple-timepicker",{"eds-simple-timepicker--padding-large":"large"===E,"eds-simple-timepicker--show-seconds":I,"eds-simple-timepicker--hide-clock":!f}),disabled:u,disableLabelAnimation:!0,feedback:m,label:v,labelProps:Z,labelTooltip:g,onBlur:function(){G(),null===w&&z()},onChange:function(e){return F(e.target.value)},onFocus:function(){null===w&&F("")},onKeyDown:function(e){"Enter"===e.key&&G()},placeholder:I?"–– : –– : ––":"–– : ––",prepend:_||("left"===f?t.createElement(c.ClockIcon,{onClick:function(){var e;return null==L||null==(e=L.current)?void 0:e.focus()}}):void 0),readOnly:T,ref:e.mergeRefs(L,b),style:S,value:A,variant:N},X)))},exports.TimePicker=function(s){var d=s.selectedTime,c=s.onChange,u=s.disabled,m=s.className,p=s.style,f=s.label,b=s.labelTooltip,v=s.feedback,g=s.variant,C=s.locale,y=s.showTimeZone,E=s.minuteIncrementForArrowButtons,_=void 0===E?30:E,T=s.leftArrowButtonAriaLabel,w=void 0===T?"Trekk fra "+_+" minutter":T,I=s.rightArrowButtonAriaLabel,S=void 0===I?"Legg til "+_+" minutter":I,N=s.inputRef,P=h(s,Z),x=l.useLocale().locale;C&&(x=C);var A=a.useTimeFieldState(k({onChange:c,label:f,locale:x,value:null===d?void 0:d,hideTimeZone:!y,isDisabled:u},P)),F=t.useRef(null),L=n.useTimeField(k({},P,{label:f}),A,F),R=L.labelProps,O=L.fieldProps,V=e.useRandomId("timepicker"),M=function(e){q?j():W(e)},q=A.segments.some((function(e){return"––"===e.text})),j=function(){var e=o.now(o.getLocalTimeZone()),t=Math.floor(e.minute/_)*_,a=e.set({minute:t});c(a)},W=function(e){var t;A.value&&A.setValue(null==(t=A.value)?void 0:t.add({minutes:e}))};return t.createElement(l.I18nProvider,{locale:x},t.createElement("div",{className:r(m,"eds-timepicker__wrapper")},t.createElement(B,{direction:"left",disabled:u,"aria-label":w,onClick:function(){return M(-1*_)}}),t.createElement(i.BaseFormControl,k({style:p,className:"eds-timepicker",labelId:V,label:f,labelProps:k({},R),ref:e.mergeRefs(F,N),disabled:u,disableLabelAnimation:!0,labelTooltip:b},O,{variant:g,feedback:v}),A.segments.map((function(e,a){return t.createElement(D,{segment:e,state:A,key:a})}))),t.createElement(B,{direction:"right",disabled:u,"aria-label":S,onClick:function(){return M(_)}})))},exports.ariaLabelIfNorwegian=_,exports.createCalendar=E,exports.nativeDateToDateValue=function(e,t,a,n){return void 0===t&&(t=!1),t?new o.CalendarDate(e.getFullYear(),e.getMonth()+1,e.getDate()):y(e,a,n)},exports.nativeDateToTimeValue=function(e,t,a,n){return void 0===t&&(t=!1),t?new o.Time(e.getHours(),e.getMinutes(),e.getSeconds(),0):y(e,a,n)},exports.timeOrDateValueToNativeDate=function(e,t){if(!e.day){var a=new Date;return a.setHours(e.hour),a.setMinutes(e.minute),a.setSeconds(e.second),a}return e.hour?e.timeZone?e.toDate():t?e.toDate(t):new Date(e.year,e.month-1,e.day,e.hour,e.minute,e.second):e.toDate(null!=t?t:o.getLocalTimeZone())};
|
|
2
2
|
//# sourceMappingURL=datepicker.cjs.production.min.js.map
|