@entur/datepicker 5.0.1 → 5.0.3
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 +2 -2
- package/dist/DatePicker/DatePicker.d.ts +6 -6
- package/dist/datepicker.cjs.development.js +5 -3
- 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 +5 -3
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/styles.css +83 -83
- package/package.json +6 -6
|
@@ -2,8 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import { DateValue } from '@internationalized/date';
|
|
3
3
|
import './Calendar.scss';
|
|
4
4
|
type CalendarProps = {
|
|
5
|
-
selectedDate: DateValue;
|
|
6
|
-
onChange: (SelectedDate: DateValue) => void;
|
|
5
|
+
selectedDate: DateValue | null;
|
|
6
|
+
onChange: (SelectedDate: DateValue | null) => void;
|
|
7
7
|
navigationDescription?: string;
|
|
8
8
|
style?: React.CSSProperties;
|
|
9
9
|
onSelectedCellClick?: () => void;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { DateValue, AriaDatePickerProps } from '@react-types/datepicker';
|
|
2
|
+
import type { DateValue, AriaDatePickerProps, MappedDateValue } from '@react-types/datepicker';
|
|
3
3
|
import type { VariantType } from '@entur/form';
|
|
4
4
|
import './DatePicker.scss';
|
|
5
|
-
export type DatePickerProps = {
|
|
5
|
+
export type DatePickerProps<DateType extends DateValue> = {
|
|
6
6
|
/** Den valgte datoen. Dato i '@internationalized/date'-pakkens format */
|
|
7
|
-
selectedDate:
|
|
7
|
+
selectedDate: DateType | null;
|
|
8
8
|
/** Kalles når tiden endres. Dato i '@internationalized/date'-pakkens format */
|
|
9
|
-
onChange: (
|
|
9
|
+
onChange: (value: MappedDateValue<DateType> | null) => void;
|
|
10
10
|
/** Ledetekst for inputfeltet til DatePicker */
|
|
11
11
|
label: string;
|
|
12
12
|
/** BCP47-språkkoden til locale-en du ønsker å bruke.
|
|
@@ -61,5 +61,5 @@ export type DatePickerProps = {
|
|
|
61
61
|
/** Ekstra klassenavn */
|
|
62
62
|
className?: string;
|
|
63
63
|
style?: React.CSSProperties;
|
|
64
|
-
} & Omit<AriaDatePickerProps<
|
|
65
|
-
export declare const DatePicker: ({ selectedDate: value, onChange, locale, disabled: isDisabled, showTime, showTimeZone, className, style, variant, feedback, validationVariant, validationFeedback, disableModal, labelTooltip, navigationDescription, minDate: minValue, maxDate: maxValue, modalTreshold, ...rest }: DatePickerProps) => JSX.Element;
|
|
64
|
+
} & Omit<AriaDatePickerProps<DateType>, 'value' | 'onChange' | 'label' | 'hideTimeZone' | 'placeholder' | 'minValue' | 'maxValue'>;
|
|
65
|
+
export declare const DatePicker: <DateType extends DateValue>({ selectedDate: value, onChange, locale, disabled: isDisabled, showTime, showTimeZone, className, style, variant, feedback, validationVariant, validationFeedback, disableModal, labelTooltip, navigationDescription, minDate: minValue, maxDate: maxValue, modalTreshold, ...rest }: DatePickerProps<DateType>) => JSX.Element;
|
|
@@ -459,8 +459,9 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
459
459
|
var state = datepicker$1.useDatePickerState(_extends({}, rest, {
|
|
460
460
|
minValue: minValue,
|
|
461
461
|
maxValue: maxValue,
|
|
462
|
-
value: value,
|
|
463
|
-
onChange: onChange
|
|
462
|
+
value: value === null ? undefined : value,
|
|
463
|
+
onChange: onChange,
|
|
464
|
+
granularity: showTime ? 'minute' : rest.granularity
|
|
464
465
|
}));
|
|
465
466
|
var _useDatePicker = datepicker.useDatePicker(_extends({
|
|
466
467
|
isDisabled: isDisabled,
|
|
@@ -504,7 +505,8 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
504
505
|
onSelectedCellClick: function onSelectedCellClick() {
|
|
505
506
|
return state.setOpen(false);
|
|
506
507
|
},
|
|
507
|
-
onChange: onChangeCalendar
|
|
508
|
+
onChange: onChangeCalendar,
|
|
509
|
+
granularity: showTime ? 'minute' : rest.granularity
|
|
508
510
|
});
|
|
509
511
|
var useModal = width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH && !disableModal;
|
|
510
512
|
var popoverCalendar = React__default["default"].createElement("div", {
|
|
@@ -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/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;\n onChange: (SelectedDate: DateValue) => 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 { DateValue, AriaDatePickerProps } 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 = {\n /** Den valgte datoen. Dato i '@internationalized/date'-pakkens format */\n selectedDate: DateValue;\n /** Kalles når tiden endres. Dato i '@internationalized/date'-pakkens format */\n onChange: (date: DateValue) => 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<DateValue>,\n | 'value'\n | 'onChange'\n | 'label'\n | 'hideTimeZone'\n | 'placeholder'\n | 'minValue'\n | 'maxValue'\n>;\n\nexport const DatePicker = ({\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) => {\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,\n onChange,\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 };\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 { TimeValue, AriaTimeFieldProps } 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 = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedTime: TimeValue | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange: (value: TimeValue) => 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 /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaTimeFieldProps<TimeValue>,\n 'onChange' | 'label' | 'hideTimeZone' | 'placeholder'\n>;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\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 ...rest\n },\n ref,\n ) => {\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(\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 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, ref)}\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);\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 { 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","useTimeFieldState","timeFieldRef","useTimeField","handleOnClickArrowButton","minutes","someSegmentIsUndefined","setTimeToNearestMinuteIncrement","addMinutesToSelectedTime","currentTime","roundedMinute","Math","floor","newTime","set","setValue","add","NativeTimePicker","nativetimepickerId","NativeTimePickerBase","isTimepickerFilled","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/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 { TimeValue, AriaTimeFieldProps } 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 = {\n /** Den valgte tiden. Tid i '@internationalized/date'-pakkens format */\n selectedTime: TimeValue | null;\n /** Kalles når tiden endres. Tid i '@internationalized/date'-pakkens format */\n onChange: (value: TimeValue) => 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 /** Ekstra klassenavn */\n className?: string;\n style?: React.CSSProperties;\n} & Omit<\n AriaTimeFieldProps<TimeValue>,\n 'onChange' | 'label' | 'hideTimeZone' | 'placeholder'\n>;\n\nexport const TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\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 ...rest\n },\n ref,\n ) => {\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(\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 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, ref)}\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);\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 { 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","useTimeFieldState","timeFieldRef","useTimeField","handleOnClickArrowButton","minutes","someSegmentIsUndefined","setTimeToNearestMinuteIncrement","addMinutesToSelectedTime","currentTime","roundedMinute","Math","floor","newTime","set","setValue","add","NativeTimePicker","nativetimepickerId","NativeTimePickerBase","isTimepickerFilled","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),t=require("@react-stately/datepicker"),l=require("@react-aria/datepicker"),n=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(a),C=k(r),_=k(b);function y(){return y=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},y.apply(this,arguments)}function w(e,a){if(null==e)return{};var t,l,n={},r=Object.keys(e);for(l=0;l<r.length;l++)a.indexOf(t=r[l])>=0||(n[t]=e[t]);return n}var D=function(e){var t=e.segment,n=e.state,r=a.useRef(null),i=l.useDateSegment(t,n,r).segmentProps,o=n.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":t.isPlaceholder,"eds-date-and-time-field__segment--dot-separator":"."===t.text}),tabIndex:n.isDisabled?-1:i.tabIndex}),o?t.text:t.text.match(/\d+/)?t.text.padStart(2,"0"):t.text)},E=function(e,a,t){return a?t?new o.ZonedDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),a,t,e.getHours(),e.getMinutes(),e.getSeconds()):o.parseAbsolute(e.toISOString(),a):new o.CalendarDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},T=function(e){if(void 0===e&&(e="gregory"),"gregory"===e)return new o.GregorianCalendar;throw new Error("Unsupported calendar "+e)},x=function(e,a,t){return"no-no"!==a.toLowerCase()?t["aria-label"]:e},P=["selectedDate","label","locale","showTimeZone","showTime","granularity","disabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minDate","maxDate","style","className","labelProps","append"],N=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,_=void 0===k?"error":k,E=r.validationFeedback,x=void 0===E?"Ugyldig dato":E,N=r.labelTooltip,F=r.minDate,I=r.maxDate,S=r.style,A=r.className,O=r.labelProps,L=r.append,R=w(r,P),M=n.useLocale(),q=t.useDateFieldState(y({},R,{locale:null!=u?u:M.locale,createCalendar:T,value:null===d?void 0:d,hideTimeZone:!c,granularity:f?"minute":p,minValue:F,maxValue:I})),V=a.useRef(null),B=l.useDateField(y({},R,{label:s,isDisabled:b||R.isDisabled}),q,V),Z=B.labelProps,W=B.fieldProps,j=e.useRandomId("datefield");return h.default.createElement(e.ConditionalWrapper,{condition:void 0!==u,wrapper:function(e){return h.default.createElement(n.I18nProvider,{locale:u},e)}},h.default.createElement(i.BaseFormControl,y({style:S,className:C.default("eds-datefield",A),labelId:j,ref:e.mergeRefs(V,o),disabled:q.isDisabled,disableLabelAnimation:!0,label:s,labelTooltip:N,labelProps:null!=O?O:Z},W,{variant:(null!=v?v:"invalid"===q.validationState)?_:void 0,feedback:(null!=g?g:"invalid"===q.validationState)?x:void 0,append:L,ariaAlertOnFeedback:!0}),q.segments.map((function(e,a){return h.default.createElement(D,{segment:e,state:q,key:a})}))))})),F=["children","className","style"],I=function(e){var t=e.children,l=e.className,n=e.style,r=w(e,F),i=a.useRef(null),o=c.useButton(r,i);return h.default.createElement(f.IconButton,y({},o.buttonProps,{ref:i,className:l,style:n}),t)},S=["state","date","onSelectedCellClick"],A=function(e){var t,l=e.state,n=e.date,r=e.onSelectedCellClick,i=void 0===r?function(){}:r,s=w(e,S),u=a.useRef(null),c=d.useCalendarCell({date:n},l,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(n,o.now(null!=(t=l.timeZone)?t: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))},O=["state","navigationDescription","onSelectedCellClick"],L=function(a){var t=a.state,l=a.navigationDescription,r=a.onSelectedCellClick,i=void 0===r?function(){}:r,s=w(a,O),u=e.useRandomId("eds-calendar"),c=n.useLocale().locale,f=d.useCalendarGrid(s,t),p=f.gridProps,b=f.headerProps,v=f.weekDays,g=o.getWeeksInMonth(t.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,a){return h.default.createElement("th",{key:a},e)})))),h.default.createElement("tbody",null,k.map((function(e){return h.default.createElement("tr",{key:e},t.getDatesInWeek(e).map((function(e,a){return e?h.default.createElement(A,{key:a,state:t,date:e,"aria-describedby":u+"description",onSelectedCellClick:i}):h.default.createElement("td",{key:a})})))})))),h.default.createElement(m.VisuallyHidden,{id:u+"description"},l||(c.toLowerCase().includes("en")?"Use the arrow keys to navigate between dates":"Bruk piltastene til å navigere mellom datoer")))},R=["selectedDate","onChange","locale","style","children","navigationDescription","onSelectedCellClick"],M=h.default.forwardRef((function(a,t){var l=a.onChange,r=a.locale,i=a.style,o=a.navigationDescription,c=a.onSelectedCellClick,f=void 0===c?function(){}:c,m=w(a,R),p=n.useLocale().locale,b=s.useCalendarState(y({},m,{onChange:l,locale:null!=r?r:p,createCalendar:T})),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(n.I18nProvider,{locale:r},e)}},h.default.createElement("div",y({},v.calendarProps,{ref:t,className:"eds-datepicker__calendar",style:i}),h.default.createElement("div",{className:"eds-datepicker__calendar__header"},h.default.createElement(I,y({},g,{"aria-label":x("Forrige måned",p,g)}),h.default.createElement(u.LeftArrowIcon,{size:20})),h.default.createElement("h2",null,C),h.default.createElement(I,y({},k,{"aria-label":x("Neste måned",p,k)}),h.default.createElement(u.RightArrowIcon,{size:20}))),h.default.createElement(L,{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"],V=["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"],B=["onChange","variant","value"],Z=h.default.forwardRef((function(a,t){var l=a.className,n=a.style,r=a.label,o=a.onChange,d=a.feedback,s=a.variant,c=a.disableLabelAnimation,f=a.prepend,m=void 0===f?h.default.createElement(u.DateIcon,{inline:!0}):f,p=w(a,V),b=e.useRandomId("eds-nativetimepicker");return h.default.createElement(i.BaseFormControl,{style:n,className:l,prepend:m,label:r,feedback:d,variant:s,labelId:b,disableLabelAnimation:c,isFilled:!0},h.default.createElement(W,y({onChange:o,"aria-labelledby":b,ref:t,variant:s},p)))})),W=h.default.forwardRef((function(a,t){var l=a.onChange,n=a.variant,r=a.value,o=w(a,B),d=i.useVariant(),s=n||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:t,"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),l&&l(e)},value:r},o))})),j=function(e){var a=e.direction,t=e.onClick,l=e.disabled,n=e["aria-label"];return h.default.createElement(f.IconButton,{className:C.default("eds-timepicker__arrowbutton","eds-timepicker__arrowbutton--"+a,{"eds-timepicker__arrowbutton--disabled":l}),type:"button",tabIndex:-1,onClick:t,"aria-label":n,disabled:l},h.default.createElement("left"===a?u.LeftArrowIcon:u.RightArrowIcon,null))},z=["selectedTime","onChange","disabled","className","style","label","labelTooltip","feedback","variant","locale","showTimeZone","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel"],H=h.default.forwardRef((function(r,d){var s=r.selectedTime,u=r.onChange,c=r.disabled,f=r.className,m=r.style,p=r.label,b=r.labelTooltip,v=r.feedback,g=r.variant,k=r.locale,_=r.showTimeZone,E=r.minuteIncrementForArrowButtons,T=void 0===E?30:E,x=r.leftArrowButtonAriaLabel,P=void 0===x?"Trekk fra "+T+" minutter":x,N=r.rightArrowButtonAriaLabel,F=void 0===N?"Legg til "+T+" minutter":N,I=w(r,z),S=n.useLocale().locale;k&&(S=k);var A=t.useTimeFieldState(y({onChange:u,label:p,locale:S,value:null===s?void 0:s,hideTimeZone:!_,isDisabled:c},I)),O=a.useRef(null),L=l.useTimeField(y({},I,{label:p}),A,O),R=L.labelProps,M=L.fieldProps,q=e.useRandomId("timepicker"),V=function(e){B?Z():W(e)},B=A.segments.some((function(e){return"––"===e.text})),Z=function(){var e=o.now(o.getLocalTimeZone()),a=Math.floor(e.minute/T)*T,t=e.set({minute:a});u(t)},W=function(e){var a;A.value&&A.setValue(null==(a=A.value)?void 0:a.add({minutes:e}))};return h.default.createElement(n.I18nProvider,{locale:S},h.default.createElement("div",{className:C.default(f,"eds-timepicker__wrapper")},h.default.createElement(j,{direction:"left",disabled:c,"aria-label":P,onClick:function(){return V(-1*T)}}),h.default.createElement(i.BaseFormControl,y({style:m,className:"eds-timepicker",labelId:q,label:p,labelProps:y({},R),ref:e.mergeRefs(O,d),disabled:c,disableLabelAnimation:!0,labelTooltip:b},M,{variant:g,feedback:v}),A.segments.map((function(e,a){return h.default.createElement(D,{segment:e,state:A,key:a})}))),h.default.createElement(j,{direction:"right",disabled:c,"aria-label":F,onClick:function(){return V(T)}})))})),U=["className","style","onChange","label","feedback","variant","prepend"],G=["onChange","value"],K=h.default.forwardRef((function(a,t){var l=a.className,n=a.style,r=a.onChange,o=a.label,d=a.feedback,s=a.variant,u=a.prepend,c=w(a,U),f=e.useRandomId("eds-native-timepicker");return h.default.createElement(i.BaseFormControl,{style:n,className:C.default(l,"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:t},c)))})),Y=h.default.forwardRef((function(a,t){var l=a.onChange,n=a.value,r=w(a,G),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(){n?c&&!u&&c(!0):c&&u&&c(!1)}),[n,c,u]),h.default.createElement("input",y({ref:t,"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),l&&l(e)},value:n},r))}));e.warnAboutMissingStyles("datepicker","form","icons"),exports.Calendar=M,exports.DateField=N,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,D=r.feedback,E=r.validationVariant,T=r.validationFeedback,x=r.disableModal,P=void 0!==x&&x,F=r.labelTooltip,S=r.navigationDescription,A=r.minDate,O=r.maxDate,L=r.modalTreshold,R=void 0===L?1e3:L,V=w(r,q),B=R,Z=a.useRef(null),W=a.useRef(null),j=a.useRef(null),z=e.useWindowDimensions().width,H=t.useDatePickerState(y({},V,{minValue:A,maxValue:O,value:i,onChange:o})),U=l.useDatePicker(y({isDisabled:s,minValue:A,maxValue:O},V),H,Z),G=U.groupProps,K=U.labelProps,Y=U.fieldProps,J=U.buttonProps,Q=U.dialogProps,X=U.calendarProps,$=p.useFloating({whileElementsMounted:p.autoUpdate,placement:"bottom-start",middleware:[p.offset(v.space.extraSmall),p.flip(),p.shift({padding:v.space.extraSmall})]}),ee=$.x,ae=$.y,te=$.reference,le=$.floating,ne=$.strategy;e.useOnClickOutside([W],(function(){H.setOpen(!1)})),e.useOnEscape(W,(function(){H.setOpen(!1)}));var re=y({},Q,X,{disabled:X.isDisabled,navigationDescription:S,onSelectedCellClick:function(){return H.setOpen(!1)},onChange:function(e){requestAnimationFrame((function(){X.onChange&&X.onChange(e)}))}}),ie=z<=B&&!P,oe=h.default.createElement("div",{style:{position:ne,top:null!=ae?ae:0,left:null!=ee?ee:0,zIndex:v.zIndexes.popover},ref:function(e){le(e)}},h.default.createElement(_.default,{disabled:!H.isOpen||ie,returnFocus:!0},H.isOpen&&h.default.createElement(M,y({},re,{ref:W})))),de=h.default.createElement(g.Modal,{size:"small",title:"",open:H.isOpen,onDismiss:function(){return H.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(n.I18nProvider,{locale:d},e)}},h.default.createElement("div",{className:C.default("eds-datepicker",b)},h.default.createElement("div",y({},G,{ref:function(e){Z.current=e,te(e)},id:void 0,className:"eds-datepicker__datefield__wrapper"}),h.default.createElement(N,y({},Y,{selectedDate:H.value,label:V.label,labelProps:K,showTime:c,showTimeZone:m,ref:j,variant:k,feedback:D,validationVariant:E,validationFeedback:T,labelTooltip:F,className:C.default("eds-datepicker__datefield",{"eds-datepicker__datefield--disabled":Y.isDisabled})})),!Y.isDisabled&&h.default.createElement(I,y({},J,{onPress:function(){return H.setOpen(!H.isOpen)},className:"eds-datepicker__open-calendar-button"}),h.default.createElement(u.CalendarIcon,null)),ie?de:oe)))},exports.NativeDatePicker=Z,exports.NativeTimePicker=K,exports.TimePicker=H,exports.ariaLabelIfNorwegian=x,exports.createCalendar=T,exports.nativeDateToDateValue=function(e,a,t,l){return void 0===a&&(a=!1),a?new o.CalendarDate(e.getFullYear(),e.getMonth()+1,e.getDate()):E(e,t,l)},exports.nativeDateToTimeValue=function(e,a,t,l){return void 0===a&&(a=!1),a?new o.Time(e.getHours(),e.getMinutes(),e.getSeconds(),0):E(e,t,l)},exports.timeOrDateValueToNativeDate=function(e,a){if(!e.day){var t=new Date;return t.setHours(e.hour),t.setMinutes(e.minute),t.setSeconds(e.second),t}return e.hour?e.timeZone?e.toDate():a?e.toDate(a):new Date(e.year,e.month-1,e.day,e.hour,e.minute,e.second):e.toDate(null!=a?a:o.getLocalTimeZone())};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),a=require("react"),t=require("@react-stately/datepicker"),l=require("@react-aria/datepicker"),n=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(a),C=k(r),_=k(b);function y(){return y=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},y.apply(this,arguments)}function w(e,a){if(null==e)return{};var t,l,n={},r=Object.keys(e);for(l=0;l<r.length;l++)a.indexOf(t=r[l])>=0||(n[t]=e[t]);return n}var D=function(e){var t=e.segment,n=e.state,r=a.useRef(null),i=l.useDateSegment(t,n,r).segmentProps,o=n.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":t.isPlaceholder,"eds-date-and-time-field__segment--dot-separator":"."===t.text}),tabIndex:n.isDisabled?-1:i.tabIndex}),o?t.text:t.text.match(/\d+/)?t.text.padStart(2,"0"):t.text)},E=function(e,a,t){return a?t?new o.ZonedDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),a,t,e.getHours(),e.getMinutes(),e.getSeconds()):o.parseAbsolute(e.toISOString(),a):new o.CalendarDateTime(e.getFullYear(),e.getMonth()+1,e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())},T=function(e){if(void 0===e&&(e="gregory"),"gregory"===e)return new o.GregorianCalendar;throw new Error("Unsupported calendar "+e)},x=function(e,a,t){return"no-no"!==a.toLowerCase()?t["aria-label"]:e},P=["selectedDate","label","locale","showTimeZone","showTime","granularity","disabled","variant","feedback","validationVariant","validationFeedback","labelTooltip","minDate","maxDate","style","className","labelProps","append"],N=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,_=void 0===k?"error":k,E=r.validationFeedback,x=void 0===E?"Ugyldig dato":E,N=r.labelTooltip,F=r.minDate,I=r.maxDate,S=r.style,A=r.className,O=r.labelProps,L=r.append,R=w(r,P),M=n.useLocale(),q=t.useDateFieldState(y({},R,{locale:null!=u?u:M.locale,createCalendar:T,value:null===d?void 0:d,hideTimeZone:!c,granularity:f?"minute":p,minValue:F,maxValue:I})),V=a.useRef(null),B=l.useDateField(y({},R,{label:s,isDisabled:b||R.isDisabled}),q,V),Z=B.labelProps,W=B.fieldProps,j=e.useRandomId("datefield");return h.default.createElement(e.ConditionalWrapper,{condition:void 0!==u,wrapper:function(e){return h.default.createElement(n.I18nProvider,{locale:u},e)}},h.default.createElement(i.BaseFormControl,y({style:S,className:C.default("eds-datefield",A),labelId:j,ref:e.mergeRefs(V,o),disabled:q.isDisabled,disableLabelAnimation:!0,label:s,labelTooltip:N,labelProps:null!=O?O:Z},W,{variant:(null!=v?v:"invalid"===q.validationState)?_:void 0,feedback:(null!=g?g:"invalid"===q.validationState)?x:void 0,append:L,ariaAlertOnFeedback:!0}),q.segments.map((function(e,a){return h.default.createElement(D,{segment:e,state:q,key:a})}))))})),F=["children","className","style"],I=function(e){var t=e.children,l=e.className,n=e.style,r=w(e,F),i=a.useRef(null),o=c.useButton(r,i);return h.default.createElement(f.IconButton,y({},o.buttonProps,{ref:i,className:l,style:n}),t)},S=["state","date","onSelectedCellClick"],A=function(e){var t,l=e.state,n=e.date,r=e.onSelectedCellClick,i=void 0===r?function(){}:r,s=w(e,S),u=a.useRef(null),c=d.useCalendarCell({date:n},l,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(n,o.now(null!=(t=l.timeZone)?t: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))},O=["state","navigationDescription","onSelectedCellClick"],L=function(a){var t=a.state,l=a.navigationDescription,r=a.onSelectedCellClick,i=void 0===r?function(){}:r,s=w(a,O),u=e.useRandomId("eds-calendar"),c=n.useLocale().locale,f=d.useCalendarGrid(s,t),p=f.gridProps,b=f.headerProps,v=f.weekDays,g=o.getWeeksInMonth(t.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,a){return h.default.createElement("th",{key:a},e)})))),h.default.createElement("tbody",null,k.map((function(e){return h.default.createElement("tr",{key:e},t.getDatesInWeek(e).map((function(e,a){return e?h.default.createElement(A,{key:a,state:t,date:e,"aria-describedby":u+"description",onSelectedCellClick:i}):h.default.createElement("td",{key:a})})))})))),h.default.createElement(m.VisuallyHidden,{id:u+"description"},l||(c.toLowerCase().includes("en")?"Use the arrow keys to navigate between dates":"Bruk piltastene til å navigere mellom datoer")))},R=["selectedDate","onChange","locale","style","children","navigationDescription","onSelectedCellClick"],M=h.default.forwardRef((function(a,t){var l=a.onChange,r=a.locale,i=a.style,o=a.navigationDescription,c=a.onSelectedCellClick,f=void 0===c?function(){}:c,m=w(a,R),p=n.useLocale().locale,b=s.useCalendarState(y({},m,{onChange:l,locale:null!=r?r:p,createCalendar:T})),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(n.I18nProvider,{locale:r},e)}},h.default.createElement("div",y({},v.calendarProps,{ref:t,className:"eds-datepicker__calendar",style:i}),h.default.createElement("div",{className:"eds-datepicker__calendar__header"},h.default.createElement(I,y({},g,{"aria-label":x("Forrige måned",p,g)}),h.default.createElement(u.LeftArrowIcon,{size:20})),h.default.createElement("h2",null,C),h.default.createElement(I,y({},k,{"aria-label":x("Neste måned",p,k)}),h.default.createElement(u.RightArrowIcon,{size:20}))),h.default.createElement(L,{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"],V=["className","style","label","onChange","feedback","variant","disableLabelAnimation","prepend"],B=["onChange","variant","value"],Z=h.default.forwardRef((function(a,t){var l=a.className,n=a.style,r=a.label,o=a.onChange,d=a.feedback,s=a.variant,c=a.disableLabelAnimation,f=a.prepend,m=void 0===f?h.default.createElement(u.DateIcon,{inline:!0}):f,p=w(a,V),b=e.useRandomId("eds-nativetimepicker");return h.default.createElement(i.BaseFormControl,{style:n,className:l,prepend:m,label:r,feedback:d,variant:s,labelId:b,disableLabelAnimation:c,isFilled:!0},h.default.createElement(W,y({onChange:o,"aria-labelledby":b,ref:t,variant:s},p)))})),W=h.default.forwardRef((function(a,t){var l=a.onChange,n=a.variant,r=a.value,o=w(a,B),d=i.useVariant(),s=n||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:t,"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),l&&l(e)},value:r},o))})),j=function(e){var a=e.direction,t=e.onClick,l=e.disabled,n=e["aria-label"];return h.default.createElement(f.IconButton,{className:C.default("eds-timepicker__arrowbutton","eds-timepicker__arrowbutton--"+a,{"eds-timepicker__arrowbutton--disabled":l}),type:"button",tabIndex:-1,onClick:t,"aria-label":n,disabled:l},h.default.createElement("left"===a?u.LeftArrowIcon:u.RightArrowIcon,null))},z=["selectedTime","onChange","disabled","className","style","label","labelTooltip","feedback","variant","locale","showTimeZone","minuteIncrementForArrowButtons","leftArrowButtonAriaLabel","rightArrowButtonAriaLabel"],H=h.default.forwardRef((function(r,d){var s=r.selectedTime,u=r.onChange,c=r.disabled,f=r.className,m=r.style,p=r.label,b=r.labelTooltip,v=r.feedback,g=r.variant,k=r.locale,_=r.showTimeZone,E=r.minuteIncrementForArrowButtons,T=void 0===E?30:E,x=r.leftArrowButtonAriaLabel,P=void 0===x?"Trekk fra "+T+" minutter":x,N=r.rightArrowButtonAriaLabel,F=void 0===N?"Legg til "+T+" minutter":N,I=w(r,z),S=n.useLocale().locale;k&&(S=k);var A=t.useTimeFieldState(y({onChange:u,label:p,locale:S,value:null===s?void 0:s,hideTimeZone:!_,isDisabled:c},I)),O=a.useRef(null),L=l.useTimeField(y({},I,{label:p}),A,O),R=L.labelProps,M=L.fieldProps,q=e.useRandomId("timepicker"),V=function(e){B?Z():W(e)},B=A.segments.some((function(e){return"––"===e.text})),Z=function(){var e=o.now(o.getLocalTimeZone()),a=Math.floor(e.minute/T)*T,t=e.set({minute:a});u(t)},W=function(e){var a;A.value&&A.setValue(null==(a=A.value)?void 0:a.add({minutes:e}))};return h.default.createElement(n.I18nProvider,{locale:S},h.default.createElement("div",{className:C.default(f,"eds-timepicker__wrapper")},h.default.createElement(j,{direction:"left",disabled:c,"aria-label":P,onClick:function(){return V(-1*T)}}),h.default.createElement(i.BaseFormControl,y({style:m,className:"eds-timepicker",labelId:q,label:p,labelProps:y({},R),ref:e.mergeRefs(O,d),disabled:c,disableLabelAnimation:!0,labelTooltip:b},M,{variant:g,feedback:v}),A.segments.map((function(e,a){return h.default.createElement(D,{segment:e,state:A,key:a})}))),h.default.createElement(j,{direction:"right",disabled:c,"aria-label":F,onClick:function(){return V(T)}})))})),U=["className","style","onChange","label","feedback","variant","prepend"],G=["onChange","value"],K=h.default.forwardRef((function(a,t){var l=a.className,n=a.style,r=a.onChange,o=a.label,d=a.feedback,s=a.variant,u=a.prepend,c=w(a,U),f=e.useRandomId("eds-native-timepicker");return h.default.createElement(i.BaseFormControl,{style:n,className:C.default(l,"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:t},c)))})),Y=h.default.forwardRef((function(a,t){var l=a.onChange,n=a.value,r=w(a,G),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(){n?c&&!u&&c(!0):c&&u&&c(!1)}),[n,c,u]),h.default.createElement("input",y({ref:t,"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),l&&l(e)},value:n},r))}));e.warnAboutMissingStyles("datepicker","form","icons"),exports.Calendar=M,exports.DateField=N,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,D=r.feedback,E=r.validationVariant,T=r.validationFeedback,x=r.disableModal,P=void 0!==x&&x,F=r.labelTooltip,S=r.navigationDescription,A=r.minDate,O=r.maxDate,L=r.modalTreshold,R=void 0===L?1e3:L,V=w(r,q),B=R,Z=a.useRef(null),W=a.useRef(null),j=a.useRef(null),z=e.useWindowDimensions().width,H=t.useDatePickerState(y({},V,{minValue:A,maxValue:O,value:null===i?void 0:i,onChange:o,granularity:c?"minute":V.granularity})),U=l.useDatePicker(y({isDisabled:s,minValue:A,maxValue:O},V),H,Z),G=U.groupProps,K=U.labelProps,Y=U.fieldProps,J=U.buttonProps,Q=U.dialogProps,X=U.calendarProps,$=p.useFloating({whileElementsMounted:p.autoUpdate,placement:"bottom-start",middleware:[p.offset(v.space.extraSmall),p.flip(),p.shift({padding:v.space.extraSmall})]}),ee=$.x,ae=$.y,te=$.reference,le=$.floating,ne=$.strategy;e.useOnClickOutside([W],(function(){H.setOpen(!1)})),e.useOnEscape(W,(function(){H.setOpen(!1)}));var re=y({},Q,X,{disabled:X.isDisabled,navigationDescription:S,onSelectedCellClick:function(){return H.setOpen(!1)},onChange:function(e){requestAnimationFrame((function(){X.onChange&&X.onChange(e)}))},granularity:c?"minute":V.granularity}),ie=z<=B&&!P,oe=h.default.createElement("div",{style:{position:ne,top:null!=ae?ae:0,left:null!=ee?ee:0,zIndex:v.zIndexes.popover},ref:function(e){le(e)}},h.default.createElement(_.default,{disabled:!H.isOpen||ie,returnFocus:!0},H.isOpen&&h.default.createElement(M,y({},re,{ref:W})))),de=h.default.createElement(g.Modal,{size:"small",title:"",open:H.isOpen,onDismiss:function(){return H.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(n.I18nProvider,{locale:d},e)}},h.default.createElement("div",{className:C.default("eds-datepicker",b)},h.default.createElement("div",y({},G,{ref:function(e){Z.current=e,te(e)},id:void 0,className:"eds-datepicker__datefield__wrapper"}),h.default.createElement(N,y({},Y,{selectedDate:H.value,label:V.label,labelProps:K,showTime:c,showTimeZone:m,ref:j,variant:k,feedback:D,validationVariant:E,validationFeedback:T,labelTooltip:F,className:C.default("eds-datepicker__datefield",{"eds-datepicker__datefield--disabled":Y.isDisabled})})),!Y.isDisabled&&h.default.createElement(I,y({},J,{onPress:function(){return H.setOpen(!H.isOpen)},className:"eds-datepicker__open-calendar-button"}),h.default.createElement(u.CalendarIcon,null)),ie?de:oe)))},exports.NativeDatePicker=Z,exports.NativeTimePicker=K,exports.TimePicker=H,exports.ariaLabelIfNorwegian=x,exports.createCalendar=T,exports.nativeDateToDateValue=function(e,a,t,l){return void 0===a&&(a=!1),a?new o.CalendarDate(e.getFullYear(),e.getMonth()+1,e.getDate()):E(e,t,l)},exports.nativeDateToTimeValue=function(e,a,t,l){return void 0===a&&(a=!1),a?new o.Time(e.getHours(),e.getMinutes(),e.getSeconds(),0):E(e,t,l)},exports.timeOrDateValueToNativeDate=function(e,a){if(!e.day){var t=new Date;return t.setHours(e.hour),t.setMinutes(e.minute),t.setSeconds(e.second),t}return e.hour?e.timeZone?e.toDate():a?e.toDate(a):new Date(e.year,e.month-1,e.day,e.hour,e.minute,e.second):e.toDate(null!=a?a:o.getLocalTimeZone())};
|
|
2
2
|
//# sourceMappingURL=datepicker.cjs.production.min.js.map
|