@entur/datepicker 4.0.0-RC.1 → 4.0.0-RC.2

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.
@@ -28,57 +28,47 @@ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
28
28
  var FocusLock__default = /*#__PURE__*/_interopDefaultLegacy(FocusLock);
29
29
 
30
30
  function _extends() {
31
- _extends = Object.assign || function (target) {
31
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
32
32
  for (var i = 1; i < arguments.length; i++) {
33
33
  var source = arguments[i];
34
-
35
34
  for (var key in source) {
36
35
  if (Object.prototype.hasOwnProperty.call(source, key)) {
37
36
  target[key] = source[key];
38
37
  }
39
38
  }
40
39
  }
41
-
42
40
  return target;
43
41
  };
44
-
45
42
  return _extends.apply(this, arguments);
46
43
  }
47
-
48
44
  function _objectWithoutPropertiesLoose(source, excluded) {
49
45
  if (source == null) return {};
50
46
  var target = {};
51
47
  var sourceKeys = Object.keys(source);
52
48
  var key, i;
53
-
54
49
  for (i = 0; i < sourceKeys.length; i++) {
55
50
  key = sourceKeys[i];
56
51
  if (excluded.indexOf(key) >= 0) continue;
57
52
  target[key] = source[key];
58
53
  }
59
-
60
54
  return target;
61
55
  }
62
56
 
63
57
  var FieldSegment = function FieldSegment(_ref) {
64
58
  var segment = _ref.segment,
65
- state = _ref.state;
59
+ state = _ref.state;
66
60
  var ref = React.useRef(null);
67
-
68
61
  var _useDateSegment = datepicker.useDateSegment(segment, state, ref),
69
- segmentProps = _useDateSegment.segmentProps;
70
-
62
+ segmentProps = _useDateSegment.segmentProps;
71
63
  var is12HourFormatted = state.segments.some(function (segment) {
72
64
  return segment.text === 'AM' || segment.text === 'PM';
73
65
  });
74
-
75
66
  var segmentDisplayText = function segmentDisplayText() {
76
- if (is12HourFormatted) return segment.text; // if number add '0' padding to start when one digit
77
-
67
+ if (is12HourFormatted) return segment.text;
68
+ // if number add '0' padding to start when one digit
78
69
  if (segment.text.match(/\d+/)) return segment.text.padStart(2, '0');
79
70
  return segment.text;
80
71
  };
81
-
82
72
  return React__default["default"].createElement("div", _extends({}, segmentProps, {
83
73
  ref: ref,
84
74
  className: classNames__default["default"]('eds-date-and-time-field__segment', {
@@ -98,24 +88,19 @@ var FieldSegment = function FieldSegment(_ref) {
98
88
  * @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.
99
89
  * @returns {Time | CalendarDateTime | ZonedDateTime | CalendarDate} et av Time- eller DateValue-objektene med verdier fra date
100
90
  */
101
-
102
91
  var nativeDateToTimeOrDateValue = function nativeDateToTimeOrDateValue(date$1, noDateOnlyTime, noTimeOnlyDate, timeZone, offset) {
103
92
  if (noDateOnlyTime === void 0) {
104
93
  noDateOnlyTime = false;
105
94
  }
106
-
107
95
  if (noTimeOnlyDate === void 0) {
108
96
  noTimeOnlyDate = false;
109
97
  }
110
-
111
98
  if (timeZone) {
112
99
  if (offset) {
113
100
  return new date.ZonedDateTime(date$1.getFullYear(), date$1.getMonth() + 1, date$1.getDate(), timeZone, offset, date$1.getHours(), date$1.getMinutes(), date$1.getSeconds());
114
101
  }
115
-
116
102
  return date.parseAbsolute(date$1.toISOString(), timeZone);
117
103
  }
118
-
119
104
  if (noDateOnlyTime) return new date.Time(date$1.getHours(), date$1.getMinutes(), date$1.getSeconds(), 0);
120
105
  if (noTimeOnlyDate) return new date.CalendarDate(date$1.getFullYear(), date$1.getMonth() + 1, date$1.getDate());
121
106
  return new date.CalendarDateTime(date$1.getFullYear(), date$1.getMonth() + 1, date$1.getDate(), date$1.getHours(), date$1.getMinutes(), date$1.getSeconds());
@@ -127,54 +112,55 @@ var nativeDateToTimeOrDateValue = function nativeDateToTimeOrDateValue(date$1, n
127
112
  * @returns {Date} et Date-objekt med verdier fra time
128
113
  */
129
114
  // This function uses a lot of @ts-expect-error to make it work with all Date- and TimeValue types. Sorry ...
130
-
131
115
  var timeOrDateValueToNativeDate = function timeOrDateValueToNativeDate(value, timeZoneForCalendarDateTime) {
132
116
  // @ts-expect-error .day does not exist on Time-object
133
117
  if (!value.day) {
134
118
  // type is Time
135
- var date$1 = new Date(); // @ts-expect-error hour does not exist on CalendarDate
136
-
137
- date$1.setHours(value.hour); // @ts-expect-error minute does not exist on CalendarDate
138
-
139
- date$1.setMinutes(value.minute); // @ts-expect-error second does not exist on CalendarDate
140
-
119
+ var date$1 = new Date();
120
+ // @ts-expect-error hour does not exist on CalendarDate
121
+ date$1.setHours(value.hour);
122
+ // @ts-expect-error minute does not exist on CalendarDate
123
+ date$1.setMinutes(value.minute);
124
+ // @ts-expect-error second does not exist on CalendarDate
141
125
  date$1.setSeconds(value.second);
142
126
  return date$1;
143
- } // @ts-expect-error .day does not exist on Time-object
144
-
145
-
127
+ }
128
+ // @ts-expect-error .day does not exist on Time-object
146
129
  if (!value.hour) {
147
130
  // type is CalendarDate
148
131
  // @ts-expect-error .toDate(timeZone) does not exist in type Time
149
132
  return value.toDate(timeZoneForCalendarDateTime != null ? timeZoneForCalendarDateTime : date.getLocalTimeZone());
150
- } // @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime
151
-
152
-
133
+ }
134
+ // @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime
153
135
  if (!value.timeZone) {
154
136
  // type is CalendarDateTime
155
- if (timeZoneForCalendarDateTime) // @ts-expect-error .toDate(timeZone) does not exist in type Time
137
+ if (timeZoneForCalendarDateTime)
138
+ // @ts-expect-error .toDate(timeZone) does not exist in type Time
156
139
  return value.toDate(timeZoneForCalendarDateTime);
157
- return new Date( // @ts-expect-error not in type Time
158
- value.year, // @ts-expect-error not in type Time
159
- value.month - 1, // @ts-expect-error not in type Time
160
- value.day, // @ts-expect-error not in type CalendarDate
161
- value.hour, // @ts-expect-error not in type CalendarDate
162
- value.minute, // @ts-expect-error not in type CalendarDate
140
+ return new Date(
141
+ // @ts-expect-error not in type Time
142
+ value.year,
143
+ // @ts-expect-error not in type Time
144
+ value.month - 1,
145
+ // @ts-expect-error not in type Time
146
+ value.day,
147
+ // @ts-expect-error not in type CalendarDate
148
+ value.hour,
149
+ // @ts-expect-error not in type CalendarDate
150
+ value.minute,
151
+ // @ts-expect-error not in type CalendarDate
163
152
  value.second);
164
- } // @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime
165
-
166
-
153
+ }
154
+ // @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime
167
155
  return value.toDate();
168
156
  };
169
157
  var createCalendar = function createCalendar(identifier) {
170
158
  if (identifier === void 0) {
171
159
  identifier = 'gregory';
172
160
  }
173
-
174
161
  switch (identifier) {
175
162
  case 'gregory':
176
163
  return new date.GregorianCalendar();
177
-
178
164
  default:
179
165
  throw new Error("Unsupported calendar " + identifier);
180
166
  }
@@ -187,29 +173,27 @@ var ariaLabelIfNorwegian = function ariaLabelIfNorwegian(norwegianAriaLabel, loc
187
173
  var _excluded$8 = ["selectedDate", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "style", "className", "labelProps", "append"];
188
174
  var DateField = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
189
175
  var value = _ref.selectedDate,
190
- label = _ref.label,
191
- customLocale = _ref.locale,
192
- showTimeZone = _ref.showTimeZone,
193
- showTime = _ref.showTime,
194
- _ref$granularity = _ref.granularity,
195
- granularity = _ref$granularity === void 0 ? 'day' : _ref$granularity,
196
- disabled = _ref.disabled,
197
- variant = _ref.variant,
198
- feedback = _ref.feedback,
199
- _ref$validationVarian = _ref.validationVariant,
200
- validationVariant = _ref$validationVarian === void 0 ? 'error' : _ref$validationVarian,
201
- _ref$validationFeedba = _ref.validationFeedback,
202
- validationFeedback = _ref$validationFeedba === void 0 ? 'Ugyldig dato' : _ref$validationFeedba,
203
- labelTooltip = _ref.labelTooltip,
204
- style = _ref.style,
205
- className = _ref.className,
206
- parentLabelProps = _ref.labelProps,
207
- append = _ref.append,
208
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
209
-
176
+ label = _ref.label,
177
+ customLocale = _ref.locale,
178
+ showTimeZone = _ref.showTimeZone,
179
+ showTime = _ref.showTime,
180
+ _ref$granularity = _ref.granularity,
181
+ granularity = _ref$granularity === void 0 ? 'day' : _ref$granularity,
182
+ disabled = _ref.disabled,
183
+ variant = _ref.variant,
184
+ feedback = _ref.feedback,
185
+ _ref$validationVarian = _ref.validationVariant,
186
+ validationVariant = _ref$validationVarian === void 0 ? 'error' : _ref$validationVarian,
187
+ _ref$validationFeedba = _ref.validationFeedback,
188
+ validationFeedback = _ref$validationFeedba === void 0 ? 'Ugyldig dato' : _ref$validationFeedba,
189
+ labelTooltip = _ref.labelTooltip,
190
+ style = _ref.style,
191
+ className = _ref.className,
192
+ parentLabelProps = _ref.labelProps,
193
+ append = _ref.append,
194
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
210
195
  var _useLocale = i18n.useLocale(),
211
- locale = _useLocale.locale;
212
-
196
+ locale = _useLocale.locale;
213
197
  var state = datepicker$1.useDateFieldState(_extends({}, rest, {
214
198
  locale: customLocale != null ? customLocale : locale,
215
199
  createCalendar: createCalendar,
@@ -218,14 +202,12 @@ var DateField = /*#__PURE__*/React__default["default"].forwardRef(function (_ref
218
202
  granularity: showTime ? 'minute' : granularity
219
203
  }));
220
204
  var dateFieldRef = React.useRef(null);
221
-
222
205
  var _useDateField = datepicker.useDateField(_extends({}, rest, {
223
- label: label,
224
- isDisabled: disabled || rest.isDisabled
225
- }), state, dateFieldRef),
226
- labelProps = _useDateField.labelProps,
227
- fieldProps = _useDateField.fieldProps;
228
-
206
+ label: label,
207
+ isDisabled: disabled || rest.isDisabled
208
+ }), state, dateFieldRef),
209
+ labelProps = _useDateField.labelProps,
210
+ fieldProps = _useDateField.fieldProps;
229
211
  var id = utils.useRandomId('datefield');
230
212
  return React__default["default"].createElement(utils.ConditionalWrapper, {
231
213
  condition: customLocale !== undefined,
@@ -261,15 +243,12 @@ var DateField = /*#__PURE__*/React__default["default"].forwardRef(function (_ref
261
243
  var _excluded$7 = ["children", "className", "style"];
262
244
  var CalendarButton = function CalendarButton(_ref) {
263
245
  var children = _ref.children,
264
- className = _ref.className,
265
- style = _ref.style,
266
- props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
267
-
246
+ className = _ref.className,
247
+ style = _ref.style,
248
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
268
249
  var ref = React.useRef(null);
269
-
270
250
  var _useButton = button.useButton(props, ref),
271
- buttonProps = _useButton.buttonProps;
272
-
251
+ buttonProps = _useButton.buttonProps;
273
252
  return React__default["default"].createElement(button$1.IconButton, _extends({}, buttonProps, {
274
253
  ref: ref,
275
254
  className: className,
@@ -280,28 +259,24 @@ var CalendarButton = function CalendarButton(_ref) {
280
259
  var _excluded$6 = ["state", "date", "onSelectedCellClick"];
281
260
  var CalendarCell = function CalendarCell(_ref) {
282
261
  var _state$timeZone;
283
-
284
262
  var state = _ref.state,
285
- date$1 = _ref.date,
286
- _ref$onSelectedCellCl = _ref.onSelectedCellClick,
287
- onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
288
- return;
289
- } : _ref$onSelectedCellCl,
290
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
291
-
263
+ date$1 = _ref.date,
264
+ _ref$onSelectedCellCl = _ref.onSelectedCellClick,
265
+ onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
266
+ return;
267
+ } : _ref$onSelectedCellCl,
268
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
292
269
  var cellRef = React.useRef(null);
293
-
294
270
  var _useCalendarCell = calendar.useCalendarCell({
295
- date: date$1
296
- }, state, cellRef),
297
- cellProps = _useCalendarCell.cellProps,
298
- buttonProps = _useCalendarCell.buttonProps,
299
- isSelected = _useCalendarCell.isSelected,
300
- isOutsideVisibleRange = _useCalendarCell.isOutsideVisibleRange,
301
- isDisabled = _useCalendarCell.isDisabled,
302
- isUnavailable = _useCalendarCell.isUnavailable,
303
- formattedDate = _useCalendarCell.formattedDate;
304
-
271
+ date: date$1
272
+ }, state, cellRef),
273
+ cellProps = _useCalendarCell.cellProps,
274
+ buttonProps = _useCalendarCell.buttonProps,
275
+ isSelected = _useCalendarCell.isSelected,
276
+ isOutsideVisibleRange = _useCalendarCell.isOutsideVisibleRange,
277
+ isDisabled = _useCalendarCell.isDisabled,
278
+ isUnavailable = _useCalendarCell.isUnavailable,
279
+ formattedDate = _useCalendarCell.formattedDate;
305
280
  return React__default["default"].createElement("td", _extends({}, cellProps, {
306
281
  className: "eds-datepicker__calendar__grid__cell__td"
307
282
  }), React__default["default"].createElement("div", _extends({}, buttonProps, {
@@ -324,26 +299,21 @@ var CalendarCell = function CalendarCell(_ref) {
324
299
  var _excluded$5 = ["state", "navigationDescription", "onSelectedCellClick"];
325
300
  var CalendarGrid = function CalendarGrid(_ref) {
326
301
  var state = _ref.state,
327
- navigationDescription = _ref.navigationDescription,
328
- _ref$onSelectedCellCl = _ref.onSelectedCellClick,
329
- onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
330
- return;
331
- } : _ref$onSelectedCellCl,
332
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
333
-
302
+ navigationDescription = _ref.navigationDescription,
303
+ _ref$onSelectedCellCl = _ref.onSelectedCellClick,
304
+ onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
305
+ return;
306
+ } : _ref$onSelectedCellCl,
307
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
334
308
  var calendarGridId = utils.useRandomId('eds-calendar');
335
-
336
309
  var _useLocale = i18n.useLocale(),
337
- locale = _useLocale.locale;
338
-
310
+ locale = _useLocale.locale;
339
311
  var _useCalendarGrid = calendar.useCalendarGrid(rest, state),
340
- gridProps = _useCalendarGrid.gridProps,
341
- headerProps = _useCalendarGrid.headerProps,
342
- weekDays = _useCalendarGrid.weekDays;
343
-
312
+ gridProps = _useCalendarGrid.gridProps,
313
+ headerProps = _useCalendarGrid.headerProps,
314
+ weekDays = _useCalendarGrid.weekDays;
344
315
  var weeksInMonth = date.getWeeksInMonth(state.visibleRange.start, locale);
345
316
  var weeksArray = Array.from(Array(weeksInMonth).keys());
346
-
347
317
  var weekDaysMapped = function weekDaysMapped() {
348
318
  if (locale.toLowerCase() === 'no-no' || locale.toLowerCase() === 'no') return ['ma', 'ti', 'on', 'to', 'fr', 'lø', 'sø'];
349
319
  if (weekDays.toString() === 'M,T,W,T,F,S,S') return ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
@@ -351,13 +321,11 @@ var CalendarGrid = function CalendarGrid(_ref) {
351
321
  return day.toLowerCase();
352
322
  });
353
323
  };
354
-
355
324
  var getNavigationDescription = function getNavigationDescription() {
356
325
  if (navigationDescription) return navigationDescription;
357
326
  if (locale.toLowerCase().includes('en')) return 'Use the arrow keys to navigate between dates';
358
327
  return 'Bruk piltastene til å navigere mellom datoer';
359
328
  };
360
-
361
329
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement("table", _extends({}, gridProps, {
362
330
  cellSpacing: "0",
363
331
  className: "eds-datepicker__calendar__grid"
@@ -387,30 +355,26 @@ var CalendarGrid = function CalendarGrid(_ref) {
387
355
  var _excluded$4 = ["selectedDate", "onChange", "locale", "style", "children", "navigationDescription", "onSelectedCellClick"];
388
356
  var Calendar = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
389
357
  var onChange = _ref.onChange,
390
- customLocale = _ref.locale,
391
- style = _ref.style,
392
- navigationDescription = _ref.navigationDescription,
393
- _ref$onSelectedCellCl = _ref.onSelectedCellClick,
394
- onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
395
- return;
396
- } : _ref$onSelectedCellCl,
397
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
398
-
358
+ customLocale = _ref.locale,
359
+ style = _ref.style,
360
+ navigationDescription = _ref.navigationDescription,
361
+ _ref$onSelectedCellCl = _ref.onSelectedCellClick,
362
+ onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
363
+ return;
364
+ } : _ref$onSelectedCellCl,
365
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
399
366
  var _useLocale = i18n.useLocale(),
400
- locale = _useLocale.locale;
401
-
367
+ locale = _useLocale.locale;
402
368
  var state = calendar$1.useCalendarState(_extends({}, rest, {
403
369
  onChange: onChange,
404
370
  locale: customLocale != null ? customLocale : locale,
405
371
  createCalendar: createCalendar
406
372
  }));
407
-
408
373
  var _useCalendar = calendar.useCalendar(rest, state),
409
- calendarProps = _useCalendar.calendarProps,
410
- prevButtonProps = _useCalendar.prevButtonProps,
411
- nextButtonProps = _useCalendar.nextButtonProps,
412
- title = _useCalendar.title;
413
-
374
+ calendarProps = _useCalendar.calendarProps,
375
+ prevButtonProps = _useCalendar.prevButtonProps,
376
+ nextButtonProps = _useCalendar.nextButtonProps,
377
+ title = _useCalendar.title;
414
378
  return React__default["default"].createElement(utils.ConditionalWrapper, {
415
379
  condition: customLocale,
416
380
  wrapper: function wrapper(child) {
@@ -442,83 +406,74 @@ var Calendar = /*#__PURE__*/React__default["default"].forwardRef(function (_ref,
442
406
  var _excluded$3 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold"];
443
407
  var DatePicker = function DatePicker(_ref) {
444
408
  var value = _ref.selectedDate,
445
- onChange = _ref.onChange,
446
- locale = _ref.locale,
447
- isDisabled = _ref.disabled,
448
- showTime = _ref.showTime,
449
- _ref$showTimeZone = _ref.showTimeZone,
450
- showTimeZone = _ref$showTimeZone === void 0 ? false : _ref$showTimeZone,
451
- className = _ref.className,
452
- variant = _ref.variant,
453
- feedback = _ref.feedback,
454
- validationVariant = _ref.validationVariant,
455
- validationFeedback = _ref.validationFeedback,
456
- _ref$disableModal = _ref.disableModal,
457
- disableModal = _ref$disableModal === void 0 ? false : _ref$disableModal,
458
- labelTooltip = _ref.labelTooltip,
459
- navigationDescription = _ref.navigationDescription,
460
- minValue = _ref.minDate,
461
- maxValue = _ref.maxDate,
462
- _ref$modalTreshold = _ref.modalTreshold,
463
- modalTreshold = _ref$modalTreshold === void 0 ? 1000 : _ref$modalTreshold,
464
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
465
-
409
+ onChange = _ref.onChange,
410
+ locale = _ref.locale,
411
+ isDisabled = _ref.disabled,
412
+ showTime = _ref.showTime,
413
+ _ref$showTimeZone = _ref.showTimeZone,
414
+ showTimeZone = _ref$showTimeZone === void 0 ? false : _ref$showTimeZone,
415
+ className = _ref.className,
416
+ variant = _ref.variant,
417
+ feedback = _ref.feedback,
418
+ validationVariant = _ref.validationVariant,
419
+ validationFeedback = _ref.validationFeedback,
420
+ _ref$disableModal = _ref.disableModal,
421
+ disableModal = _ref$disableModal === void 0 ? false : _ref$disableModal,
422
+ labelTooltip = _ref.labelTooltip,
423
+ navigationDescription = _ref.navigationDescription,
424
+ minValue = _ref.minDate,
425
+ maxValue = _ref.maxDate,
426
+ _ref$modalTreshold = _ref.modalTreshold,
427
+ modalTreshold = _ref$modalTreshold === void 0 ? 1000 : _ref$modalTreshold,
428
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
466
429
  var CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;
467
430
  var datePickerRef = React.useRef(null);
468
431
  var calendarRef = React.useRef(null);
469
432
  var dateFieldRef = React.useRef(null);
470
-
471
433
  var _useWindowDimensions = utils.useWindowDimensions(),
472
- width = _useWindowDimensions.width;
473
-
434
+ width = _useWindowDimensions.width;
474
435
  var state = datepicker$1.useDatePickerState(_extends({}, rest, {
475
436
  minValue: minValue,
476
437
  maxValue: maxValue,
477
438
  value: value,
478
439
  onChange: onChange
479
440
  }));
480
-
481
441
  var _useDatePicker = datepicker.useDatePicker(_extends({
482
- isDisabled: isDisabled,
483
- minValue: minValue,
484
- maxValue: maxValue,
485
- autoFocus: true
486
- }, rest), state, datePickerRef),
487
- groupProps = _useDatePicker.groupProps,
488
- labelProps = _useDatePicker.labelProps,
489
- fieldProps = _useDatePicker.fieldProps,
490
- buttonProps = _useDatePicker.buttonProps,
491
- dialogProps = _useDatePicker.dialogProps,
492
- calendarProps = _useDatePicker.calendarProps; // calculations for floating-UI popover position
493
-
494
-
442
+ isDisabled: isDisabled,
443
+ minValue: minValue,
444
+ maxValue: maxValue
445
+ }, rest), state, datePickerRef),
446
+ groupProps = _useDatePicker.groupProps,
447
+ labelProps = _useDatePicker.labelProps,
448
+ fieldProps = _useDatePicker.fieldProps,
449
+ buttonProps = _useDatePicker.buttonProps,
450
+ dialogProps = _useDatePicker.dialogProps,
451
+ calendarProps = _useDatePicker.calendarProps;
452
+ // calculations for floating-UI popover position
495
453
  var _useFloating = reactDom.useFloating({
496
- whileElementsMounted: reactDom.autoUpdate,
497
- placement: 'bottom-start',
498
- middleware: [reactDom.offset(tokens.space.extraSmall), reactDom.flip(), reactDom.shift({
499
- padding: tokens.space.extraSmall
500
- })]
501
- }),
502
- x = _useFloating.x,
503
- y = _useFloating.y,
504
- reference = _useFloating.reference,
505
- floating = _useFloating.floating,
506
- strategy = _useFloating.strategy;
507
-
454
+ whileElementsMounted: reactDom.autoUpdate,
455
+ placement: 'bottom-start',
456
+ middleware: [reactDom.offset(tokens.space.extraSmall), reactDom.flip(), reactDom.shift({
457
+ padding: tokens.space.extraSmall
458
+ })]
459
+ }),
460
+ x = _useFloating.x,
461
+ y = _useFloating.y,
462
+ reference = _useFloating.reference,
463
+ floating = _useFloating.floating,
464
+ strategy = _useFloating.strategy;
508
465
  var onChangeCalendar = function onChangeCalendar(newSelectedDate) {
509
466
  // Necessary to avoid state update on unmounted component
510
467
  requestAnimationFrame(function () {
511
468
  calendarProps.onChange && calendarProps.onChange(newSelectedDate);
512
469
  });
513
470
  };
514
-
515
471
  utils.useOnClickOutside([calendarRef], function () {
516
472
  state.setOpen(false);
517
473
  });
518
474
  utils.useOnEscape(calendarRef, function () {
519
475
  state.setOpen(false);
520
476
  });
521
-
522
477
  var calendarSharedProps = _extends({}, dialogProps, calendarProps, {
523
478
  disabled: calendarProps.isDisabled,
524
479
  navigationDescription: navigationDescription,
@@ -527,7 +482,6 @@ var DatePicker = function DatePicker(_ref) {
527
482
  },
528
483
  onChange: onChangeCalendar
529
484
  });
530
-
531
485
  var useModal = width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH && !disableModal;
532
486
  var popoverCalendar = React__default["default"].createElement("div", {
533
487
  // styling for floating-UI popover
@@ -596,21 +550,20 @@ var DatePicker = function DatePicker(_ref) {
596
550
  };
597
551
 
598
552
  var _excluded$2 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
599
- _excluded2$1 = ["onChange", "variant", "value"];
553
+ _excluded2$1 = ["onChange", "variant", "value"];
600
554
  var NativeDatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
601
555
  var className = _ref.className,
602
- style = _ref.style,
603
- label = _ref.label,
604
- onChange = _ref.onChange,
605
- feedback = _ref.feedback,
606
- variant = _ref.variant,
607
- disableLabelAnimation = _ref.disableLabelAnimation,
608
- _ref$prepend = _ref.prepend,
609
- prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.DateIcon, {
610
- inline: true
611
- }) : _ref$prepend,
612
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
613
-
556
+ style = _ref.style,
557
+ label = _ref.label,
558
+ onChange = _ref.onChange,
559
+ feedback = _ref.feedback,
560
+ variant = _ref.variant,
561
+ disableLabelAnimation = _ref.disableLabelAnimation,
562
+ _ref$prepend = _ref.prepend,
563
+ prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.DateIcon, {
564
+ inline: true
565
+ }) : _ref$prepend,
566
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
614
567
  var nativedatepickerId = utils.useRandomId('eds-nativetimepicker');
615
568
  return React__default["default"].createElement(form.BaseFormControl, {
616
569
  style: style,
@@ -631,17 +584,14 @@ var NativeDatePicker = /*#__PURE__*/React__default["default"].forwardRef(functio
631
584
  });
632
585
  var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
633
586
  var onChange = _ref2.onChange,
634
- variant = _ref2.variant,
635
- value = _ref2.value,
636
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
637
-
587
+ variant = _ref2.variant,
588
+ value = _ref2.value,
589
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
638
590
  var contextVariant = form.useVariant();
639
591
  var currentVariant = variant || contextVariant;
640
-
641
592
  var _useInputGroupContext = form.useInputGroupContext(),
642
- isDatepickerFilled = _useInputGroupContext.isFilled,
643
- setFiller = _useInputGroupContext.setFilled;
644
-
593
+ isDatepickerFilled = _useInputGroupContext.isFilled,
594
+ setFiller = _useInputGroupContext.setFilled;
645
595
  utils.useOnMount(function () {
646
596
  setFiller && !isDatepickerFilled && setFiller(true);
647
597
  });
@@ -652,19 +602,16 @@ var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(fun
652
602
  setFiller && isDatepickerFilled && setFiller(false);
653
603
  }
654
604
  }, [value, setFiller, isDatepickerFilled]);
655
-
656
605
  var handleChange = function handleChange(event) {
657
606
  if (form.isFilled(event.target)) {
658
607
  setFiller && !isDatepickerFilled && setFiller(true);
659
608
  } else {
660
609
  setFiller && isDatepickerFilled && setFiller(false);
661
610
  }
662
-
663
611
  if (onChange) {
664
612
  onChange(event);
665
613
  }
666
614
  };
667
-
668
615
  return React__default["default"].createElement("input", _extends({
669
616
  ref: ref,
670
617
  "aria-invalid": currentVariant === 'error',
@@ -677,9 +624,9 @@ var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(fun
677
624
 
678
625
  var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
679
626
  var direction = _ref.direction,
680
- onClick = _ref.onClick,
681
- disabled = _ref.disabled,
682
- ariaLabel = _ref['aria-label'];
627
+ onClick = _ref.onClick,
628
+ disabled = _ref.disabled,
629
+ ariaLabel = _ref['aria-label'];
683
630
  return React__default["default"].createElement(button$1.IconButton, {
684
631
  className: classNames__default["default"]('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction, {
685
632
  'eds-timepicker__arrowbutton--disabled': disabled
@@ -695,27 +642,25 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
695
642
  var _excluded$1 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "locale", "showTimeZone", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel"];
696
643
  var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
697
644
  var selectedTime = _ref.selectedTime,
698
- onChange = _ref.onChange,
699
- disabled = _ref.disabled,
700
- className = _ref.className,
701
- style = _ref.style,
702
- label = _ref.label,
703
- labelTooltip = _ref.labelTooltip,
704
- feedback = _ref.feedback,
705
- variant = _ref.variant,
706
- customLocale = _ref.locale,
707
- showTimeZone = _ref.showTimeZone,
708
- _ref$minuteIncrementF = _ref.minuteIncrementForArrowButtons,
709
- minuteIncrementForArrowButtons = _ref$minuteIncrementF === void 0 ? 30 : _ref$minuteIncrementF,
710
- _ref$leftArrowButtonA = _ref.leftArrowButtonAriaLabel,
711
- leftArrowButtonAriaLabel = _ref$leftArrowButtonA === void 0 ? "Trekk fra " + minuteIncrementForArrowButtons + " minutter" : _ref$leftArrowButtonA,
712
- _ref$rightArrowButton = _ref.rightArrowButtonAriaLabel,
713
- rightArrowButtonAriaLabel = _ref$rightArrowButton === void 0 ? "Legg til " + minuteIncrementForArrowButtons + " minutter" : _ref$rightArrowButton,
714
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
715
-
645
+ onChange = _ref.onChange,
646
+ disabled = _ref.disabled,
647
+ className = _ref.className,
648
+ style = _ref.style,
649
+ label = _ref.label,
650
+ labelTooltip = _ref.labelTooltip,
651
+ feedback = _ref.feedback,
652
+ variant = _ref.variant,
653
+ customLocale = _ref.locale,
654
+ showTimeZone = _ref.showTimeZone,
655
+ _ref$minuteIncrementF = _ref.minuteIncrementForArrowButtons,
656
+ minuteIncrementForArrowButtons = _ref$minuteIncrementF === void 0 ? 30 : _ref$minuteIncrementF,
657
+ _ref$leftArrowButtonA = _ref.leftArrowButtonAriaLabel,
658
+ leftArrowButtonAriaLabel = _ref$leftArrowButtonA === void 0 ? "Trekk fra " + minuteIncrementForArrowButtons + " minutter" : _ref$leftArrowButtonA,
659
+ _ref$rightArrowButton = _ref.rightArrowButtonAriaLabel,
660
+ rightArrowButtonAriaLabel = _ref$rightArrowButton === void 0 ? "Legg til " + minuteIncrementForArrowButtons + " minutter" : _ref$rightArrowButton,
661
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
716
662
  var _useLocale = i18n.useLocale(),
717
- locale = _useLocale.locale;
718
-
663
+ locale = _useLocale.locale;
719
664
  if (customLocale) locale = customLocale;
720
665
  var state = datepicker$1.useTimeFieldState(_extends({
721
666
  onChange: onChange,
@@ -726,15 +671,12 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
726
671
  isDisabled: disabled
727
672
  }, rest));
728
673
  var timeFieldRef = React.useRef(null);
729
-
730
674
  var _useTimeField = datepicker.useTimeField(_extends({}, rest, {
731
- label: label
732
- }), state, timeFieldRef),
733
- labelProps = _useTimeField.labelProps,
734
- fieldProps = _useTimeField.fieldProps;
735
-
675
+ label: label
676
+ }), state, timeFieldRef),
677
+ labelProps = _useTimeField.labelProps,
678
+ fieldProps = _useTimeField.fieldProps;
736
679
  var id = utils.useRandomId('timepicker');
737
-
738
680
  var handleOnClickArrowButton = function handleOnClickArrowButton(minutes) {
739
681
  if (someSegmentIsUndefined) {
740
682
  setTimeToNearestMinuteIncrement();
@@ -742,11 +684,9 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
742
684
  addMinutesToSelectedTime(minutes);
743
685
  }
744
686
  };
745
-
746
687
  var someSegmentIsUndefined = state.segments.some(function (segment) {
747
688
  return segment.text === '––';
748
689
  });
749
-
750
690
  var setTimeToNearestMinuteIncrement = function setTimeToNearestMinuteIncrement() {
751
691
  var currentTime = date.now(date.getLocalTimeZone());
752
692
  var roundedMinute = Math.floor(currentTime.minute / minuteIncrementForArrowButtons) * minuteIncrementForArrowButtons;
@@ -755,15 +695,12 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
755
695
  });
756
696
  onChange(newTime);
757
697
  };
758
-
759
698
  var addMinutesToSelectedTime = function addMinutesToSelectedTime(minutes) {
760
699
  var _state$value;
761
-
762
700
  state.value && state.setValue((_state$value = state.value) == null ? void 0 : _state$value.add({
763
701
  minutes: minutes
764
702
  }));
765
703
  };
766
-
767
704
  return React__default["default"].createElement(i18n.I18nProvider, {
768
705
  locale: locale
769
706
  }, React__default["default"].createElement("div", {
@@ -805,17 +742,16 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
805
742
  });
806
743
 
807
744
  var _excluded = ["className", "style", "onChange", "label", "feedback", "variant", "prepend"],
808
- _excluded2 = ["onChange", "value"];
745
+ _excluded2 = ["onChange", "value"];
809
746
  var NativeTimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
810
747
  var className = _ref.className,
811
- style = _ref.style,
812
- onChange = _ref.onChange,
813
- label = _ref.label,
814
- feedback = _ref.feedback,
815
- variant = _ref.variant,
816
- prepend = _ref.prepend,
817
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
818
-
748
+ style = _ref.style,
749
+ onChange = _ref.onChange,
750
+ label = _ref.label,
751
+ feedback = _ref.feedback,
752
+ variant = _ref.variant,
753
+ prepend = _ref.prepend,
754
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
819
755
  var nativetimepickerId = utils.useRandomId('eds-native-timepicker');
820
756
  return React__default["default"].createElement(form.BaseFormControl, {
821
757
  style: style,
@@ -834,16 +770,13 @@ var NativeTimePicker = /*#__PURE__*/React__default["default"].forwardRef(functio
834
770
  });
835
771
  var NativeTimePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
836
772
  var onChange = _ref2.onChange,
837
- value = _ref2.value,
838
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
839
-
773
+ value = _ref2.value,
774
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
840
775
  var contextVariant = form.useVariant();
841
776
  var currentVariant = rest.variant || contextVariant;
842
-
843
777
  var _useInputGroupContext = form.useInputGroupContext(),
844
- isTimepickerFilled = _useInputGroupContext.isFilled,
845
- setFiller = _useInputGroupContext.setFilled;
846
-
778
+ isTimepickerFilled = _useInputGroupContext.isFilled,
779
+ setFiller = _useInputGroupContext.setFilled;
847
780
  utils.useOnMount(function () {
848
781
  setFiller && !isTimepickerFilled && setFiller(true);
849
782
  });
@@ -854,19 +787,16 @@ var NativeTimePickerBase = /*#__PURE__*/React__default["default"].forwardRef(fun
854
787
  setFiller && isTimepickerFilled && setFiller(false);
855
788
  }
856
789
  }, [value, setFiller, isTimepickerFilled]);
857
-
858
790
  var handleChange = function handleChange(event) {
859
791
  if (form.isFilled(event.target)) {
860
792
  setFiller && !isTimepickerFilled && setFiller(true);
861
793
  } else {
862
794
  setFiller && isTimepickerFilled && setFiller(false);
863
795
  }
864
-
865
796
  if (onChange) {
866
797
  onChange(event);
867
798
  }
868
799
  };
869
-
870
800
  return React__default["default"].createElement("input", _extends({
871
801
  ref: ref,
872
802
  "aria-invalid": currentVariant === 'error',