@entur/datepicker 9.1.4 → 9.1.6

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.
@@ -5,7 +5,7 @@ import { useDateSegment, useDateField, useDatePicker, useTimeField } from '@reac
5
5
  import { useLocale, I18nProvider } from '@react-aria/i18n';
6
6
  import classNames from 'classnames';
7
7
  import { BaseFormControl, useVariant, useInputGroupContext, isFilled, TextField } from '@entur/form';
8
- import { CalendarDate, Time, getLocalTimeZone, GregorianCalendar, toCalendarDateTime, toZoned, toCalendarDate, ZonedDateTime, parseAbsolute, CalendarDateTime, isEqualDay, now, getWeeksInMonth, toTime, parseTime } from '@internationalized/date';
8
+ import { CalendarDate, Time, getLocalTimeZone, GregorianCalendar, toCalendarDateTime, toTime, now, toZoned, today, toCalendarDate, ZonedDateTime, parseAbsolute, CalendarDateTime, isEqualDay, getWeeksInMonth, parseTime } from '@internationalized/date';
9
9
  export { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from '@internationalized/date';
10
10
  import { useCalendarCell, useCalendarGrid, useCalendar } from '@react-aria/calendar';
11
11
  import { useCalendarState } from '@react-stately/calendar';
@@ -45,9 +45,11 @@ function _objectWithoutPropertiesLoose(source, excluded) {
45
45
  return target;
46
46
  }
47
47
 
48
+ var _excluded$b = ["segment", "state"];
48
49
  var FieldSegment = function FieldSegment(_ref) {
49
50
  var segment = _ref.segment,
50
- state = _ref.state;
51
+ state = _ref.state,
52
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$b);
51
53
  var ref = useRef(null);
52
54
  var _useDateSegment = useDateSegment(segment, state, ref),
53
55
  segmentProps = _useDateSegment.segmentProps;
@@ -58,7 +60,7 @@ var FieldSegment = function FieldSegment(_ref) {
58
60
  'eds-date-and-time-field__segment--dot-separator': segment.text === '.'
59
61
  }),
60
62
  tabIndex: state.isDisabled ? -1 : segmentProps.tabIndex
61
- }), segment.text);
63
+ }, rest), segment.text);
62
64
  };
63
65
 
64
66
  var nativeDateToDateTime = function nativeDateToDateTime(date, timeZone, offset) {
@@ -154,21 +156,46 @@ var lastMillisecondOfDay = function lastMillisecondOfDay(dateValue) {
154
156
  };
155
157
  var convertValueToType = function convertValueToType(_ref) {
156
158
  var value = _ref.value,
157
- type = _ref.type;
159
+ type = _ref.type,
160
+ _ref$timezone = _ref.timezone,
161
+ timezone = _ref$timezone === void 0 ? 'Europe/Oslo' : _ref$timezone;
158
162
  if (value === null) return null;
159
163
  switch (type) {
160
164
  case 'CalendarDate':
165
+ if (!('day' in value)) return today(timezone);
161
166
  return toCalendarDate(value);
162
167
  case 'CalendarDateTime':
168
+ if (!('day' in value)) return toCalendarDateTime(today(timezone), value);
163
169
  return toCalendarDateTime(value);
164
170
  case 'ZonedDateTime':
165
- return toZoned(value, 'Europe/Oslo');
171
+ if (!('day' in value)) return toZoned(toCalendarDateTime(today(timezone), value), timezone);
172
+ return toZoned(value, timezone);
173
+ case 'Time':
174
+ if (!('hour' in value)) return toTime(now(timezone));
175
+ if (!('day' in value)) return value;
176
+ return toTime(value);
166
177
  default:
167
178
  return value;
168
179
  }
169
180
  };
181
+ var modulo = function modulo(a, b) {
182
+ return (a % b + b) % b;
183
+ };
184
+ var focusSegment = function focusSegment(ref, segment) {
185
+ if (ref.current) {
186
+ var segments = ref.current.querySelectorAll('.eds-date-and-time-field__segment');
187
+ var firstSegment = segments[0];
188
+ var lastSegment = segments[segments.length - 1];
189
+ switch (segment) {
190
+ case 'first':
191
+ return firstSegment.focus();
192
+ case 'last':
193
+ return lastSegment.focus();
194
+ }
195
+ }
196
+ };
170
197
 
171
- var _excluded$9 = ["selectedDate", "onChange", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "isDisabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "minDate", "maxDate", "style", "className", "labelProps", "append"];
198
+ var _excluded$a = ["selectedDate", "onChange", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "isDisabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "minDate", "maxDate", "style", "className", "labelProps", "append"];
172
199
  var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
173
200
  var selectedDate = _ref.selectedDate,
174
201
  onChange = _ref.onChange,
@@ -193,7 +220,7 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
193
220
  className = _ref.className,
194
221
  parentLabelProps = _ref.labelProps,
195
222
  append = _ref.append,
196
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
223
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
197
224
  var _useLocale = useLocale(),
198
225
  locale = _useLocale.locale;
199
226
  var state = useDateFieldState(_extends({}, rest, {
@@ -234,8 +261,8 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
234
261
  labelTooltip: labelTooltip,
235
262
  labelProps: parentLabelProps != null ? parentLabelProps : labelProps
236
263
  }, fieldProps, {
237
- variant: (variant != null ? variant : state.validationState === 'invalid') ? validationVariant : undefined,
238
- feedback: (feedback != null ? feedback : state.validationState === 'invalid') ? validationFeedback : undefined,
264
+ variant: variant != null ? variant : state.validationState === 'invalid' ? validationVariant : undefined,
265
+ feedback: feedback != null ? feedback : state.validationState === 'invalid' ? validationFeedback : undefined,
239
266
  append: append,
240
267
  ariaAlertOnFeedback: true
241
268
  }), state.segments.map(function (segment, i) {
@@ -247,12 +274,12 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
247
274
  })));
248
275
  });
249
276
 
250
- var _excluded$8 = ["children", "className", "style"];
277
+ var _excluded$9 = ["children", "className", "style"];
251
278
  var CalendarButton = function CalendarButton(_ref) {
252
279
  var children = _ref.children,
253
280
  className = _ref.className,
254
281
  style = _ref.style,
255
- props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
282
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
256
283
  var ref = useRef(null);
257
284
  var _useButton = useButton(props, ref),
258
285
  buttonProps = _useButton.buttonProps;
@@ -263,7 +290,7 @@ var CalendarButton = function CalendarButton(_ref) {
263
290
  }), children);
264
291
  };
265
292
 
266
- var _excluded$7 = ["state", "date", "onSelectedCellClick"];
293
+ var _excluded$8 = ["state", "date", "onSelectedCellClick"];
267
294
  var CalendarCell = function CalendarCell(_ref) {
268
295
  var _state$timeZone;
269
296
  var state = _ref.state,
@@ -272,7 +299,7 @@ var CalendarCell = function CalendarCell(_ref) {
272
299
  onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
273
300
  return;
274
301
  } : _ref$onSelectedCellCl,
275
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
302
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
276
303
  var cellRef = useRef(null);
277
304
  var _useCalendarCell = useCalendarCell({
278
305
  date: date
@@ -307,7 +334,7 @@ var CalendarCell = function CalendarCell(_ref) {
307
334
  }), formattedDate));
308
335
  };
309
336
 
310
- var _excluded$6 = ["state", "navigationDescription", "onSelectedCellClick"];
337
+ var _excluded$7 = ["state", "navigationDescription", "onSelectedCellClick"];
311
338
  var CalendarGrid = function CalendarGrid(_ref) {
312
339
  var state = _ref.state,
313
340
  navigationDescription = _ref.navigationDescription,
@@ -315,7 +342,7 @@ var CalendarGrid = function CalendarGrid(_ref) {
315
342
  onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
316
343
  return;
317
344
  } : _ref$onSelectedCellCl,
318
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
345
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
319
346
  var calendarGridId = useRandomId('eds-calendar');
320
347
  var _useLocale = useLocale(),
321
348
  locale = _useLocale.locale;
@@ -366,7 +393,7 @@ var CalendarGrid = function CalendarGrid(_ref) {
366
393
  }, getNavigationDescription()));
367
394
  };
368
395
 
369
- var _excluded$5 = ["selectedDate", "onChange", "locale", "minDate", "maxDate", "style", "children", "navigationDescription", "onSelectedCellClick"];
396
+ var _excluded$6 = ["selectedDate", "onChange", "locale", "minDate", "maxDate", "style", "children", "navigationDescription", "onSelectedCellClick"];
370
397
  var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
371
398
  var selectedDate = _ref.selectedDate,
372
399
  onChange = _ref.onChange,
@@ -379,7 +406,7 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
379
406
  onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
380
407
  return;
381
408
  } : _ref$onSelectedCellCl,
382
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
409
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
383
410
  var _useLocale = useLocale(),
384
411
  locale = _useLocale.locale;
385
412
  var allProps = _extends({}, rest, {
@@ -424,7 +451,7 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
424
451
  })));
425
452
  });
426
453
 
427
- var _excluded$4 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold", "forcedReturnType"];
454
+ var _excluded$5 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold", "forcedReturnType"];
428
455
  var DatePicker = function DatePicker(_ref) {
429
456
  var selectedDate = _ref.selectedDate,
430
457
  onChange = _ref.onChange,
@@ -447,7 +474,7 @@ var DatePicker = function DatePicker(_ref) {
447
474
  _ref$modalTreshold = _ref.modalTreshold,
448
475
  modalTreshold = _ref$modalTreshold === void 0 ? 1000 : _ref$modalTreshold,
449
476
  forcedReturnType = _ref.forcedReturnType,
450
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
477
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
451
478
  var CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;
452
479
  var datePickerRef = useRef(null);
453
480
  var calendarRef = useRef(null);
@@ -458,7 +485,8 @@ var DatePicker = function DatePicker(_ref) {
458
485
  if (forcedReturnType !== undefined) {
459
486
  return onChange(convertValueToType({
460
487
  value: value,
461
- type: forcedReturnType
488
+ type: forcedReturnType,
489
+ timezone: value !== null && 'timezone' in value ? value.timezone : undefined
462
490
  }));
463
491
  }
464
492
  onChange(value);
@@ -578,7 +606,7 @@ var DatePicker = function DatePicker(_ref) {
578
606
  }), React.createElement(CalendarIcon, null)), useModal ? modalCalendar : popoverCalendar)));
579
607
  };
580
608
 
581
- var _excluded$3 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
609
+ var _excluded$4 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
582
610
  _excluded2$2 = ["onChange", "variant", "value"];
583
611
  var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
584
612
  var className = _ref.className,
@@ -592,7 +620,7 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
592
620
  prepend = _ref$prepend === void 0 ? React.createElement(DateIcon, {
593
621
  inline: true
594
622
  }) : _ref$prepend,
595
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
623
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
596
624
  var nativedatepickerId = useRandomId('eds-nativetimepicker');
597
625
  return React.createElement(BaseFormControl, {
598
626
  style: style,
@@ -651,12 +679,14 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
651
679
  }, rest));
652
680
  });
653
681
 
682
+ var _excluded$3 = ["direction", "onClick", "disabled", "aria-label"];
654
683
  var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
655
684
  var direction = _ref.direction,
656
685
  onClick = _ref.onClick,
657
686
  disabled = _ref.disabled,
658
- ariaLabel = _ref['aria-label'];
659
- return React.createElement(IconButton, {
687
+ ariaLabel = _ref['aria-label'],
688
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
689
+ return React.createElement(IconButton, _extends({
660
690
  className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction, {
661
691
  'eds-timepicker__arrowbutton--disabled': disabled
662
692
  }),
@@ -665,10 +695,10 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
665
695
  onClick: onClick,
666
696
  "aria-label": ariaLabel,
667
697
  disabled: disabled
668
- }, direction === 'left' ? React.createElement(LeftArrowIcon, null) : React.createElement(RightArrowIcon, null));
698
+ }, rest), direction === 'left' ? React.createElement(LeftArrowIcon, null) : React.createElement(RightArrowIcon, null));
669
699
  };
670
700
 
671
- var _excluded$2 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "locale", "showTimeZone", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel", "inputRef"];
701
+ var _excluded$2 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "granularity", "variant", "locale", "showTimeZone", "showSeconds", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel", "inputRef", "forcedReturnType", "forcedTimeZone"];
672
702
  var TimePicker = function TimePicker(_ref) {
673
703
  var selectedTime = _ref.selectedTime,
674
704
  onChange = _ref.onChange,
@@ -678,9 +708,12 @@ var TimePicker = function TimePicker(_ref) {
678
708
  label = _ref.label,
679
709
  labelTooltip = _ref.labelTooltip,
680
710
  feedback = _ref.feedback,
711
+ granularity = _ref.granularity,
681
712
  variant = _ref.variant,
682
713
  customLocale = _ref.locale,
683
714
  showTimeZone = _ref.showTimeZone,
715
+ _ref$showSeconds = _ref.showSeconds,
716
+ showSeconds = _ref$showSeconds === void 0 ? false : _ref$showSeconds,
684
717
  _ref$minuteIncrementF = _ref.minuteIncrementForArrowButtons,
685
718
  minuteIncrementForArrowButtons = _ref$minuteIncrementF === void 0 ? 30 : _ref$minuteIncrementF,
686
719
  _ref$leftArrowButtonA = _ref.leftArrowButtonAriaLabel,
@@ -688,15 +721,30 @@ var TimePicker = function TimePicker(_ref) {
688
721
  _ref$rightArrowButton = _ref.rightArrowButtonAriaLabel,
689
722
  rightArrowButtonAriaLabel = _ref$rightArrowButton === void 0 ? "Legg til " + minuteIncrementForArrowButtons + " minutter" : _ref$rightArrowButton,
690
723
  inputRef = _ref.inputRef,
724
+ forcedReturnType = _ref.forcedReturnType,
725
+ forcedTimeZone = _ref.forcedTimeZone,
691
726
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
692
727
  var _useLocale = useLocale(),
693
728
  locale = _useLocale.locale;
694
729
  if (customLocale) locale = customLocale;
730
+ var timePickerId = useRandomId('eds-timepicker');
731
+ var timeZone = forcedTimeZone != null ? forcedTimeZone : selectedTime !== null && 'timezone' in selectedTime ? selectedTime.timezone : 'Europe/Oslo';
732
+ var handleOnChange = function handleOnChange(value) {
733
+ if (forcedReturnType !== undefined) {
734
+ return onChange(convertValueToType({
735
+ value: value,
736
+ type: forcedReturnType,
737
+ timezone: timeZone
738
+ }));
739
+ }
740
+ onChange(value);
741
+ };
695
742
  var state = useTimeFieldState(_extends({
696
- onChange: onChange,
743
+ onChange: handleOnChange,
697
744
  label: label,
698
745
  locale: locale,
699
746
  value: selectedTime,
747
+ granularity: (granularity != null ? granularity : showSeconds) ? 'second' : 'minute',
700
748
  hideTimeZone: !showTimeZone,
701
749
  isDisabled: disabled,
702
750
  shouldForceLeadingZeros: true
@@ -708,70 +756,81 @@ var TimePicker = function TimePicker(_ref) {
708
756
  labelProps = _useTimeField.labelProps,
709
757
  fieldProps = _useTimeField.fieldProps;
710
758
  var id = useRandomId('timepicker');
711
- var handleOnClickArrowButton = function handleOnClickArrowButton(minutes) {
712
- if (someSegmentIsUndefined) {
713
- setTimeToNearestMinuteIncrement();
714
- } else {
715
- addMinutesToSelectedTime(minutes);
716
- }
717
- };
718
- var someSegmentIsUndefined = state.segments.some(function (segment) {
719
- return segment.text === '––';
720
- });
721
- var setTimeToNearestMinuteIncrement = function setTimeToNearestMinuteIncrement() {
722
- var currentTime = now(getLocalTimeZone());
723
- var roundedMinute = Math.floor(currentTime.minute / minuteIncrementForArrowButtons) * minuteIncrementForArrowButtons;
724
- var newTime = currentTime.set({
725
- minute: roundedMinute
759
+ var getCurrentTime = function getCurrentTime() {
760
+ var getCurrentTimeWithCorrectType = convertValueToType({
761
+ value: now(timeZone),
762
+ type: forcedReturnType != null ? forcedReturnType : 'ZonedDateTime'
726
763
  });
727
- // @ts-expect-error Since this function is used when selectedTime is null,
728
- // we can't guarantee newTime matching the type of selectedTime in the future.
729
- // This might lead to a type issue.
730
- onChange(newTime);
764
+ return getCurrentTimeWithCorrectType;
731
765
  };
732
- var addMinutesToSelectedTime = function addMinutesToSelectedTime(minutes) {
733
- selectedTime !== null && onChange(selectedTime.add({
734
- minutes: minutes
735
- }));
766
+ var handleOnClickArrowButton = function handleOnClickArrowButton(operation) {
767
+ if (selectedTime === null) return handleOnChange(getCurrentTime());
768
+ switch (operation) {
769
+ case 'add':
770
+ return handleOnChange(selectedTime.add({
771
+ minutes: minuteIncrementForArrowButtons - modulo(selectedTime.minute, minuteIncrementForArrowButtons)
772
+ }));
773
+ case 'subtract':
774
+ return handleOnChange(selectedTime.subtract({
775
+ minutes: modulo(selectedTime.minute - 1, minuteIncrementForArrowButtons) + 1
776
+ }));
777
+ }
736
778
  };
737
779
  return React.createElement(I18nProvider, {
738
780
  locale: locale
739
781
  }, React.createElement("div", {
740
782
  className: classNames(className, 'eds-timepicker__wrapper')
741
- }, React.createElement(TimePickerArrowButton, {
742
- direction: "left",
743
- disabled: disabled,
744
- "aria-label": leftArrowButtonAriaLabel,
745
- onClick: function onClick() {
746
- return handleOnClickArrowButton(minuteIncrementForArrowButtons * -1);
747
- }
748
- }), React.createElement(BaseFormControl, _extends({
783
+ }, React.createElement(BaseFormControl, _extends({
749
784
  style: style,
750
- className: 'eds-timepicker',
785
+ className: classNames('eds-timepicker', {
786
+ 'eds-timepicker--disabled': disabled
787
+ }),
751
788
  labelId: id,
752
789
  label: label,
753
- labelProps: _extends({}, labelProps),
790
+ labelProps: _extends({}, labelProps, {
791
+ 'aria-describedby': timePickerId + 'description'
792
+ }),
754
793
  ref: mergeRefs(timeFieldRef, inputRef),
755
794
  disabled: disabled,
756
795
  disableLabelAnimation: true,
757
796
  labelTooltip: labelTooltip
758
797
  }, fieldProps, {
759
798
  variant: variant,
760
- feedback: feedback
799
+ feedback: feedback,
800
+ ariaAlertOnFeedback: true,
801
+ "aria-describedby": timePickerId + 'description',
802
+ prepend: React.createElement(TimePickerArrowButton, {
803
+ direction: "left",
804
+ disabled: disabled,
805
+ "aria-label": leftArrowButtonAriaLabel,
806
+ onClick: function onClick() {
807
+ return handleOnClickArrowButton('subtract');
808
+ },
809
+ onFocus: function onFocus() {
810
+ return focusSegment(timeFieldRef, 'first');
811
+ }
812
+ }),
813
+ append: React.createElement(TimePickerArrowButton, {
814
+ direction: "right",
815
+ disabled: disabled,
816
+ "aria-label": rightArrowButtonAriaLabel,
817
+ onClick: function onClick() {
818
+ return handleOnClickArrowButton('add');
819
+ },
820
+ onFocus: function onFocus() {
821
+ return focusSegment(timeFieldRef, 'last');
822
+ }
823
+ })
761
824
  }), state.segments.map(function (segment, i) {
762
825
  return React.createElement(FieldSegment, {
763
826
  segment: segment,
764
827
  state: state,
765
- key: i
828
+ key: i,
829
+ "aria-describedby": timePickerId + 'description'
766
830
  });
767
- })), React.createElement(TimePickerArrowButton, {
768
- direction: "right",
769
- disabled: disabled,
770
- "aria-label": rightArrowButtonAriaLabel,
771
- onClick: function onClick() {
772
- return handleOnClickArrowButton(minuteIncrementForArrowButtons);
773
- }
774
- })));
831
+ })), React.createElement(VisuallyHidden, {
832
+ id: timePickerId + 'description'
833
+ }, selectedTime !== null ? 'valgt tid: ' + selectedTime.hour.toString().padStart(2, '0') + ':' + selectedTime.minute.toString().padStart(2, '0') + (showSeconds ? ':' + selectedTime.second.toString().padStart(2, '0') : '') : '')));
775
834
  };
776
835
 
777
836
  var _excluded$1 = ["className", "style", "onChange", "label", "feedback", "variant", "prepend"],
@@ -1034,5 +1093,5 @@ var SimpleTimePicker = function SimpleTimePicker(_ref) {
1034
1093
 
1035
1094
  warnAboutMissingStyles('datepicker', 'form', 'icons');
1036
1095
 
1037
- export { Calendar, DateField, DatePicker, NativeDatePicker, NativeTimePicker, SimpleTimePicker, TimePicker, ariaLabelIfNorwegian, convertValueToType, createCalendar, lastMillisecondOfDay, nativeDateToDateValue, nativeDateToTimeValue, timeOrDateValueToNativeDate };
1096
+ export { Calendar, DateField, DatePicker, NativeDatePicker, NativeTimePicker, SimpleTimePicker, TimePicker, ariaLabelIfNorwegian, convertValueToType, createCalendar, focusSegment, lastMillisecondOfDay, modulo, nativeDateToDateValue, nativeDateToTimeValue, timeOrDateValueToNativeDate };
1038
1097
  //# sourceMappingURL=datepicker.esm.js.map