@entur/datepicker 3.0.7 → 3.0.8

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.
@@ -29,46 +29,39 @@ function _extends() {
29
29
  _extends = Object.assign || function (target) {
30
30
  for (var i = 1; i < arguments.length; i++) {
31
31
  var source = arguments[i];
32
-
33
32
  for (var key in source) {
34
33
  if (Object.prototype.hasOwnProperty.call(source, key)) {
35
34
  target[key] = source[key];
36
35
  }
37
36
  }
38
37
  }
39
-
40
38
  return target;
41
39
  };
42
-
43
40
  return _extends.apply(this, arguments);
44
41
  }
45
-
46
42
  function _objectWithoutPropertiesLoose(source, excluded) {
47
43
  if (source == null) return {};
48
44
  var target = {};
49
45
  var sourceKeys = Object.keys(source);
50
46
  var key, i;
51
-
52
47
  for (i = 0; i < sourceKeys.length; i++) {
53
48
  key = sourceKeys[i];
54
49
  if (excluded.indexOf(key) >= 0) continue;
55
50
  target[key] = source[key];
56
51
  }
57
-
58
52
  return target;
59
53
  }
60
54
 
61
55
  var DatePickerHeader = function DatePickerHeader(_ref) {
62
56
  var _date$getMonth;
63
-
64
57
  var date = _ref.date,
65
- decreaseMonth = _ref.decreaseMonth,
66
- increaseMonth = _ref.increaseMonth,
67
- prevMonthButtonDisabled = _ref.prevMonthButtonDisabled,
68
- nextMonthButtonDisabled = _ref.nextMonthButtonDisabled,
69
- nextMonthAriaLabel = _ref.nextMonthAriaLabel,
70
- previousMonthAriaLabel = _ref.previousMonthAriaLabel,
71
- locale = _ref.locale;
58
+ decreaseMonth = _ref.decreaseMonth,
59
+ increaseMonth = _ref.increaseMonth,
60
+ prevMonthButtonDisabled = _ref.prevMonthButtonDisabled,
61
+ nextMonthButtonDisabled = _ref.nextMonthButtonDisabled,
62
+ nextMonthAriaLabel = _ref.nextMonthAriaLabel,
63
+ previousMonthAriaLabel = _ref.previousMonthAriaLabel,
64
+ locale = _ref.locale;
72
65
  var currentMonthIndex = (_date$getMonth = date == null ? void 0 : date.getMonth()) != null ? _date$getMonth : 0;
73
66
  return React__default["default"].createElement("div", {
74
67
  className: "eds-datepicker__calender__header"
@@ -90,7 +83,6 @@ var DatePickerHeader = function DatePickerHeader(_ref) {
90
83
  "aria-label": nextMonthAriaLabel + " (" + getMonthName(currentMonthIndex + 1, locale) + ")"
91
84
  }, React__default["default"].createElement(icons.RightArrowIcon, null)));
92
85
  };
93
-
94
86
  function getMonthName(monthIndex, locale) {
95
87
  var year = new Date().getFullYear();
96
88
  var formatter = new Intl.DateTimeFormat(locale.code, {
@@ -102,79 +94,68 @@ function getMonthName(monthIndex, locale) {
102
94
  var _excluded$4 = ["style", "label", "inputPlaceholder", "prepend", "feedback", "variant", "disabled", "calendarButtonTooltipOpen", "calendarButtonTooltipClose", "hideCalendarButton", "disableLabelAnimation", "inputRef", "calendarButtonId", "forwardRef", "toggleCalendarGUI", "onKeyDownInput", "onBlurInput", "selectedDate", "setFocusToCalendarGUI", "setShouldFocusOnCalendarButtonAfterSelect", "calendarGUIIsOpen", "placeholder", "onClick", "aria-labelledby"];
103
95
  var DatePickerInput = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
104
96
  var style = _ref.style,
105
- label = _ref.label,
106
- inputPlaceholder = _ref.inputPlaceholder,
107
- prepend = _ref.prepend,
108
- feedback = _ref.feedback,
109
- variant = _ref.variant,
110
- disabled = _ref.disabled,
111
- calendarButtonTooltipOpen = _ref.calendarButtonTooltipOpen,
112
- calendarButtonTooltipClose = _ref.calendarButtonTooltipClose,
113
- hideCalendarButton = _ref.hideCalendarButton,
114
- disableLabelAnimation = _ref.disableLabelAnimation,
115
- inputRef = _ref.inputRef,
116
- calendarButtonId = _ref.calendarButtonId,
117
- forwardRef = _ref.forwardRef,
118
- toggleCalendarGUI = _ref.toggleCalendarGUI,
119
- onKeyDownInput = _ref.onKeyDownInput,
120
- onBlurInput = _ref.onBlurInput,
121
- selectedDate = _ref.selectedDate,
122
- setFocusToCalendarGUI = _ref.setFocusToCalendarGUI,
123
- setShouldFocusOnCalendarButtonAfterSelect = _ref.setShouldFocusOnCalendarButtonAfterSelect,
124
- calendarGUIIsOpen = _ref.calendarGUIIsOpen,
125
- onClick = _ref.onClick,
126
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
127
-
97
+ label = _ref.label,
98
+ inputPlaceholder = _ref.inputPlaceholder,
99
+ prepend = _ref.prepend,
100
+ feedback = _ref.feedback,
101
+ variant = _ref.variant,
102
+ disabled = _ref.disabled,
103
+ calendarButtonTooltipOpen = _ref.calendarButtonTooltipOpen,
104
+ calendarButtonTooltipClose = _ref.calendarButtonTooltipClose,
105
+ hideCalendarButton = _ref.hideCalendarButton,
106
+ disableLabelAnimation = _ref.disableLabelAnimation,
107
+ inputRef = _ref.inputRef,
108
+ calendarButtonId = _ref.calendarButtonId,
109
+ forwardRef = _ref.forwardRef,
110
+ toggleCalendarGUI = _ref.toggleCalendarGUI,
111
+ onKeyDownInput = _ref.onKeyDownInput,
112
+ onBlurInput = _ref.onBlurInput,
113
+ selectedDate = _ref.selectedDate,
114
+ setFocusToCalendarGUI = _ref.setFocusToCalendarGUI,
115
+ setShouldFocusOnCalendarButtonAfterSelect = _ref.setShouldFocusOnCalendarButtonAfterSelect,
116
+ calendarGUIIsOpen = _ref.calendarGUIIsOpen,
117
+ onClick = _ref.onClick,
118
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
128
119
  React__default["default"].useEffect(function () {
129
120
  var _inputRef$current, _inputRef$current2, _inputRef$current3;
130
-
131
121
  (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.addEventListener('keydown', handleOnKeyDown);
132
122
  (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.addEventListener('blur', handleOnBlur);
133
123
  (_inputRef$current3 = inputRef.current) == null ? void 0 : _inputRef$current3.addEventListener('focus', handleOnFocus);
134
124
  return function () {
135
125
  var _inputRef$current4, _inputRef$current5, _inputRef$current6;
136
-
137
126
  (_inputRef$current4 = inputRef.current) == null ? void 0 : _inputRef$current4.removeEventListener('keydown', handleOnKeyDown);
138
127
  (_inputRef$current5 = inputRef.current) == null ? void 0 : _inputRef$current5.removeEventListener('blur', handleOnBlur);
139
128
  (_inputRef$current6 = inputRef.current) == null ? void 0 : _inputRef$current6.removeEventListener('focus', handleOnFocus);
140
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
129
+ };
130
+ // eslint-disable-next-line react-hooks/exhaustive-deps
141
131
  }, [inputRef, selectedDate]);
142
-
143
132
  function handleOnKeyDown(event) {
144
133
  onKeyDownInput(event);
145
134
  }
146
-
147
135
  function handleOnBlur(event) {
148
136
  onBlurInput(event);
149
137
  }
150
-
151
138
  var handleOnFocus = function handleOnFocus() {
152
139
  return requestAnimationFrame(function () {
153
140
  var _inputRef$current7;
154
-
155
141
  return (_inputRef$current7 = inputRef.current) == null ? void 0 : _inputRef$current7.select();
156
142
  });
157
143
  };
158
-
159
144
  var handleOnClickInputField = function handleOnClickInputField(event) {
160
145
  setShouldFocusOnCalendarButtonAfterSelect(false);
161
146
  onClick && onClick(event);
162
147
  };
163
-
164
148
  var handleOnClickCalendarButton = function handleOnClickCalendarButton() {
165
149
  toggleCalendarGUI();
166
150
  setFocusToCalendarGUI();
167
151
  setShouldFocusOnCalendarButtonAfterSelect(true);
168
152
  };
169
-
170
153
  var calendarButtonAriaLabel = function calendarButtonAriaLabel() {
171
154
  var _inputRef$current8;
172
-
173
155
  var buttonStateText = calendarGUIIsOpen() ? calendarButtonTooltipClose : calendarButtonTooltipOpen;
174
156
  var currentSelectionText = selectedDate ? ((_inputRef$current8 = inputRef.current) == null ? void 0 : _inputRef$current8.value) + " valgt" : 'Ingen dato valgt';
175
157
  return buttonStateText + ", " + currentSelectionText;
176
158
  };
177
-
178
159
  return React__default["default"].createElement(form.TextField, _extends({
179
160
  style: style,
180
161
  label: label,
@@ -205,95 +186,85 @@ var _excluded$3 = ["style", "className", "selectedDate", "label", "placeholder",
205
186
  ReactDatepicker.registerLocale('nb', locale.nb);
206
187
  var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
207
188
  var style = _ref.style,
208
- className = _ref.className,
209
- selectedDate = _ref.selectedDate,
210
- label = _ref.label,
211
- _ref$placeholder = _ref.placeholder,
212
- placeholder = _ref$placeholder === void 0 ? 'dd.mm.yyyy' : _ref$placeholder,
213
- onChange = _ref.onChange,
214
- _ref$onKeyDown = _ref.onKeyDown,
215
- onKeyDown = _ref$onKeyDown === void 0 ? function () {
216
- return null;
217
- } : _ref$onKeyDown,
218
- _ref$dateFormats = _ref.dateFormats,
219
- dateFormats = _ref$dateFormats === void 0 ? ['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy'] : _ref$dateFormats,
220
- minDate = _ref.minDate,
221
- maxDate = _ref.maxDate,
222
- _ref$inline = _ref.inline,
223
- inline = _ref$inline === void 0 ? false : _ref$inline,
224
- disabled = _ref.disabled,
225
- prepend = _ref.prepend,
226
- _ref$feedback = _ref.feedback,
227
- feedback = _ref$feedback === void 0 ? '' : _ref$feedback,
228
- variant = _ref.variant,
229
- _ref$validationFeedba = _ref.validationFeedback,
230
- validationFeedback = _ref$validationFeedba === void 0 ? 'Ugyldig dato' : _ref$validationFeedba,
231
- _ref$validationVarian = _ref.validationVariant,
232
- validationVariant = _ref$validationVarian === void 0 ? 'error' : _ref$validationVarian,
233
- _ref$disableLabelAnim = _ref.disableLabelAnimation,
234
- disableLabelAnimation = _ref$disableLabelAnim === void 0 ? false : _ref$disableLabelAnim,
235
- _ref$calendarButtonTo = _ref.calendarButtonTooltipOpen,
236
- calendarButtonTooltipOpen = _ref$calendarButtonTo === void 0 ? 'Åpne\xa0kalender' : _ref$calendarButtonTo,
237
- _ref$calendarButtonTo2 = _ref.calendarButtonTooltipClose,
238
- calendarButtonTooltipClose = _ref$calendarButtonTo2 === void 0 ? 'Lukk\xa0kalender' : _ref$calendarButtonTo2,
239
- _ref$hideCalendarButt = _ref.hideCalendarButton,
240
- hideCalendarButton = _ref$hideCalendarButt === void 0 ? false : _ref$hideCalendarButt,
241
- _ref$hideCalendar = _ref.hideCalendar,
242
- hideCalendar = _ref$hideCalendar === void 0 ? false : _ref$hideCalendar,
243
- _ref$hideValidation = _ref.hideValidation,
244
- hideValidation = _ref$hideValidation === void 0 ? false : _ref$hideValidation,
245
- _ref$weekLabel = _ref.weekLabel,
246
- weekLabel = _ref$weekLabel === void 0 ? 'uke' : _ref$weekLabel,
247
- _ref$chooseDayAriaLab = _ref.chooseDayAriaLabelPrefix,
248
- chooseDayAriaLabelPrefix = _ref$chooseDayAriaLab === void 0 ? 'Velg' : _ref$chooseDayAriaLab,
249
- _ref$previousMonthAri = _ref.previousMonthAriaLabel,
250
- previousMonthAriaLabel = _ref$previousMonthAri === void 0 ? 'Forrige måned' : _ref$previousMonthAri,
251
- _ref$nextMonthAriaLab = _ref.nextMonthAriaLabel,
252
- nextMonthAriaLabel = _ref$nextMonthAriaLab === void 0 ? 'Neste måned' : _ref$nextMonthAriaLab,
253
- _ref$locale = _ref.locale,
254
- locale$1 = _ref$locale === void 0 ? locale.nb : _ref$locale,
255
- open = _ref.open,
256
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
257
-
189
+ className = _ref.className,
190
+ selectedDate = _ref.selectedDate,
191
+ label = _ref.label,
192
+ _ref$placeholder = _ref.placeholder,
193
+ placeholder = _ref$placeholder === void 0 ? 'dd.mm.yyyy' : _ref$placeholder,
194
+ onChange = _ref.onChange,
195
+ _ref$onKeyDown = _ref.onKeyDown,
196
+ onKeyDown = _ref$onKeyDown === void 0 ? function () {
197
+ return null;
198
+ } : _ref$onKeyDown,
199
+ _ref$dateFormats = _ref.dateFormats,
200
+ dateFormats = _ref$dateFormats === void 0 ? ['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy'] : _ref$dateFormats,
201
+ minDate = _ref.minDate,
202
+ maxDate = _ref.maxDate,
203
+ _ref$inline = _ref.inline,
204
+ inline = _ref$inline === void 0 ? false : _ref$inline,
205
+ disabled = _ref.disabled,
206
+ prepend = _ref.prepend,
207
+ _ref$feedback = _ref.feedback,
208
+ feedback = _ref$feedback === void 0 ? '' : _ref$feedback,
209
+ variant = _ref.variant,
210
+ _ref$validationFeedba = _ref.validationFeedback,
211
+ validationFeedback = _ref$validationFeedba === void 0 ? 'Ugyldig dato' : _ref$validationFeedba,
212
+ _ref$validationVarian = _ref.validationVariant,
213
+ validationVariant = _ref$validationVarian === void 0 ? 'error' : _ref$validationVarian,
214
+ _ref$disableLabelAnim = _ref.disableLabelAnimation,
215
+ disableLabelAnimation = _ref$disableLabelAnim === void 0 ? false : _ref$disableLabelAnim,
216
+ _ref$calendarButtonTo = _ref.calendarButtonTooltipOpen,
217
+ calendarButtonTooltipOpen = _ref$calendarButtonTo === void 0 ? 'Åpne\xa0kalender' : _ref$calendarButtonTo,
218
+ _ref$calendarButtonTo2 = _ref.calendarButtonTooltipClose,
219
+ calendarButtonTooltipClose = _ref$calendarButtonTo2 === void 0 ? 'Lukk\xa0kalender' : _ref$calendarButtonTo2,
220
+ _ref$hideCalendarButt = _ref.hideCalendarButton,
221
+ hideCalendarButton = _ref$hideCalendarButt === void 0 ? false : _ref$hideCalendarButt,
222
+ _ref$hideCalendar = _ref.hideCalendar,
223
+ hideCalendar = _ref$hideCalendar === void 0 ? false : _ref$hideCalendar,
224
+ _ref$hideValidation = _ref.hideValidation,
225
+ hideValidation = _ref$hideValidation === void 0 ? false : _ref$hideValidation,
226
+ _ref$weekLabel = _ref.weekLabel,
227
+ weekLabel = _ref$weekLabel === void 0 ? 'uke' : _ref$weekLabel,
228
+ _ref$chooseDayAriaLab = _ref.chooseDayAriaLabelPrefix,
229
+ chooseDayAriaLabelPrefix = _ref$chooseDayAriaLab === void 0 ? 'Velg' : _ref$chooseDayAriaLab,
230
+ _ref$previousMonthAri = _ref.previousMonthAriaLabel,
231
+ previousMonthAriaLabel = _ref$previousMonthAri === void 0 ? 'Forrige måned' : _ref$previousMonthAri,
232
+ _ref$nextMonthAriaLab = _ref.nextMonthAriaLabel,
233
+ nextMonthAriaLabel = _ref$nextMonthAriaLab === void 0 ? 'Neste måned' : _ref$nextMonthAriaLab,
234
+ _ref$locale = _ref.locale,
235
+ locale$1 = _ref$locale === void 0 ? locale.nb : _ref$locale,
236
+ open = _ref.open,
237
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
258
238
  var datepickerId = utils.useRandomId('eds-datepicker');
259
239
  var datepickerRef = React.useRef(null);
260
240
  var inputRef = React__default["default"].useRef(null);
261
241
  var calendarButton = document.getElementById(datepickerId + '-button');
262
-
263
242
  var _useState = React.useState(false),
264
- showValidation = _useState[0],
265
- setShowValidation = _useState[1];
266
-
243
+ showValidation = _useState[0],
244
+ setShowValidation = _useState[1];
267
245
  var _useState2 = React.useState(false),
268
- shouldFocusOnCalendarButtonAfterSelect = _useState2[0],
269
- setShouldFocusOnCalendarButtonAfterSelect = _useState2[1]; // eslint-disable-next-line react-hooks/exhaustive-deps
270
-
271
-
246
+ shouldFocusOnCalendarButtonAfterSelect = _useState2[0],
247
+ setShouldFocusOnCalendarButtonAfterSelect = _useState2[1];
248
+ // eslint-disable-next-line react-hooks/exhaustive-deps
272
249
  React__default["default"].useEffect(function () {
273
250
  return validateInput();
274
251
  }, [selectedDate]);
275
-
276
252
  var handleOnChange = function handleOnChange(date, event) {
277
253
  var _inputRef$current;
278
-
279
254
  if (shouldFocusOnCalendarButtonAfterSelect && !hideCalendarButton) {
280
255
  calendarButton == null ? void 0 : calendarButton.focus();
281
256
  setShouldFocusOnCalendarButtonAfterSelect(false);
282
257
  } else (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
283
-
284
258
  onChange(date, event);
285
259
  };
286
-
287
260
  var handleOnKeyDown = function handleOnKeyDown(event) {
288
261
  setShowValidation(false);
289
-
290
262
  if (event.key === 'Enter') {
291
263
  if (!datePickerGUIIsOpen()) {
292
264
  // onBlurInput will validate if calendar is open
293
265
  validateInput();
294
266
  forceUpdateInputFormat();
295
267
  }
296
-
297
268
  focusAndSelectInputField();
298
269
  } else if (event.key === 'Tab' && datePickerGUIIsOpen()) {
299
270
  forceUpdateInputFormat();
@@ -302,23 +273,18 @@ var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
302
273
  focusAndSelectInputField();
303
274
  if (datePickerGUIIsOpen()) toggleCalendarGUI();
304
275
  }
305
-
306
276
  onKeyDown(event);
307
277
  };
308
-
309
278
  var handleOnClickOutside = function handleOnClickOutside() {
310
279
  return setShouldFocusOnCalendarButtonAfterSelect(false);
311
280
  };
312
-
313
281
  var handleOnBlurInput = function handleOnBlurInput() {
314
282
  if (datePickerGUIIsOpen()) return;
315
283
  validateInput();
316
284
  forceUpdateInputFormat();
317
285
  };
318
-
319
286
  var validateInput = function validateInput() {
320
287
  var _inputRef$current2;
321
-
322
288
  setShowValidation(false);
323
289
  var inputValue = (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.value;
324
290
  if (!inputValue) return;
@@ -330,7 +296,6 @@ var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
330
296
  var parsedDateFromInputIsTheSameAsSelectedDate = selectedDate && inputValueParsedWithAllDateFormats.some(function (dateFormat) {
331
297
  return dateFns.isSameDay(dateFormat, selectedDate);
332
298
  });
333
-
334
299
  if (parsedDateFromInputIsTheSameAsSelectedDate) {
335
300
  // valid date inputted
336
301
  setShowValidation(false);
@@ -339,7 +304,6 @@ var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
339
304
  setShowValidation(true);
340
305
  }
341
306
  };
342
-
343
307
  var getFeedbackAndVariant = function getFeedbackAndVariant() {
344
308
  if (feedback) return {
345
309
  feedback: feedback,
@@ -354,42 +318,32 @@ var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
354
318
  variant: undefined
355
319
  };
356
320
  };
357
-
358
321
  var focusAndSelectInputField = function focusAndSelectInputField() {
359
322
  return requestAnimationFrame(function () {
360
323
  var _inputRef$current3;
361
-
362
324
  return (_inputRef$current3 = inputRef.current) == null ? void 0 : _inputRef$current3.select();
363
325
  });
364
326
  };
365
-
366
327
  var forceUpdateInputFormat = function forceUpdateInputFormat() {
367
328
  var _datepickerRef$curren;
368
-
369
329
  return (_datepickerRef$curren = datepickerRef.current) == null ? void 0 : _datepickerRef$curren.setState({
370
330
  inputValue: null
371
331
  });
372
332
  };
373
-
374
333
  var toggleCalendarGUI = function toggleCalendarGUI() {
375
334
  var _datepickerRef$curren2;
376
-
377
335
  return (_datepickerRef$curren2 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren2.setOpen(!datePickerGUIIsOpen());
378
336
  };
379
-
380
337
  var setFocusToCalendarGUI = function setFocusToCalendarGUI() {
381
- if (inline || hideCalendar || datePickerGUIIsOpen()) return; // 1 frame delay to allow calendar to spawn
382
-
338
+ if (inline || hideCalendar || datePickerGUIIsOpen()) return;
339
+ // 1 frame delay to allow calendar to spawn
383
340
  requestAnimationFrame(function () {
384
341
  var _datepickerRef$curren3;
385
-
386
342
  var datepickerGUIWrapper = // @ts-expect-error .calendar does actually exist in ReactDatePicker ref
387
343
  (_datepickerRef$curren3 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren3.calendar.componentNode;
388
344
  var dateToSetFocusTo = selectedDate ? datepickerGUIWrapper.querySelector('.eds-datepicker__calender__day[tabindex="0"]') : datepickerGUIWrapper.querySelector('.eds-datepicker__calender__day[aria-current="date"]');
389
-
390
345
  if (dateToSetFocusTo !== null) {
391
346
  var _datepickerRef$curren4;
392
-
393
347
  (_datepickerRef$curren4 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren4.setBlur();
394
348
  dateToSetFocusTo.focus({
395
349
  preventScroll: true
@@ -399,13 +353,10 @@ var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
399
353
  setShouldFocusOnCalendarButtonAfterSelect(true);
400
354
  setShowValidation(false);
401
355
  };
402
-
403
356
  var datePickerGUIIsOpen = function datePickerGUIIsOpen() {
404
357
  var _datepickerRef$curren5;
405
-
406
358
  return (_datepickerRef$curren5 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren5.isCalendarOpen();
407
359
  };
408
-
409
360
  return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(ReactDatepicker__default["default"], _extends({
410
361
  selected: selectedDate,
411
362
  minDate: minDate,
@@ -440,12 +391,12 @@ var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
440
391
  }],
441
392
  renderCustomHeader: function renderCustomHeader(_ref2) {
442
393
  var date = _ref2.date,
443
- changeYear = _ref2.changeYear,
444
- changeMonth = _ref2.changeMonth,
445
- decreaseMonth = _ref2.decreaseMonth,
446
- increaseMonth = _ref2.increaseMonth,
447
- prevMonthButtonDisabled = _ref2.prevMonthButtonDisabled,
448
- nextMonthButtonDisabled = _ref2.nextMonthButtonDisabled;
394
+ changeYear = _ref2.changeYear,
395
+ changeMonth = _ref2.changeMonth,
396
+ decreaseMonth = _ref2.decreaseMonth,
397
+ increaseMonth = _ref2.increaseMonth,
398
+ prevMonthButtonDisabled = _ref2.prevMonthButtonDisabled,
399
+ nextMonthButtonDisabled = _ref2.nextMonthButtonDisabled;
449
400
  return React__default["default"].createElement(DatePickerHeader, {
450
401
  date: date,
451
402
  changeYear: changeYear,
@@ -486,21 +437,20 @@ var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
486
437
  });
487
438
 
488
439
  var _excluded$2 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
489
- _excluded2$1 = ["onChange", "variant", "value"];
440
+ _excluded2$1 = ["onChange", "variant", "value"];
490
441
  var NativeDatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
491
442
  var className = _ref.className,
492
- style = _ref.style,
493
- label = _ref.label,
494
- onChange = _ref.onChange,
495
- feedback = _ref.feedback,
496
- variant = _ref.variant,
497
- disableLabelAnimation = _ref.disableLabelAnimation,
498
- _ref$prepend = _ref.prepend,
499
- prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.DateIcon, {
500
- inline: true
501
- }) : _ref$prepend,
502
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
503
-
443
+ style = _ref.style,
444
+ label = _ref.label,
445
+ onChange = _ref.onChange,
446
+ feedback = _ref.feedback,
447
+ variant = _ref.variant,
448
+ disableLabelAnimation = _ref.disableLabelAnimation,
449
+ _ref$prepend = _ref.prepend,
450
+ prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.DateIcon, {
451
+ inline: true
452
+ }) : _ref$prepend,
453
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
504
454
  var nativedatepickerId = utils.useRandomId('eds-nativetimepicker');
505
455
  return React__default["default"].createElement(form.BaseFormControl, {
506
456
  style: style,
@@ -521,17 +471,14 @@ var NativeDatePicker = /*#__PURE__*/React__default["default"].forwardRef(functio
521
471
  });
522
472
  var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
523
473
  var onChange = _ref2.onChange,
524
- variant = _ref2.variant,
525
- value = _ref2.value,
526
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
527
-
474
+ variant = _ref2.variant,
475
+ value = _ref2.value,
476
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
528
477
  var contextVariant = form.useVariant();
529
478
  var currentVariant = variant || contextVariant;
530
-
531
479
  var _useInputGroupContext = form.useInputGroupContext(),
532
- isDatepickerFilled = _useInputGroupContext.isFilled,
533
- setFiller = _useInputGroupContext.setFilled;
534
-
480
+ isDatepickerFilled = _useInputGroupContext.isFilled,
481
+ setFiller = _useInputGroupContext.setFilled;
535
482
  utils.useOnMount(function () {
536
483
  setFiller && !isDatepickerFilled && setFiller(true);
537
484
  });
@@ -542,19 +489,16 @@ var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(fun
542
489
  setFiller && isDatepickerFilled && setFiller(false);
543
490
  }
544
491
  }, [value, setFiller, isDatepickerFilled]);
545
-
546
492
  var handleChange = function handleChange(event) {
547
493
  if (form.isFilled(event.target)) {
548
494
  setFiller && !isDatepickerFilled && setFiller(true);
549
495
  } else {
550
496
  setFiller && isDatepickerFilled && setFiller(false);
551
497
  }
552
-
553
498
  if (onChange) {
554
499
  onChange(event);
555
500
  }
556
501
  };
557
-
558
502
  return React__default["default"].createElement("input", _extends({
559
503
  ref: ref,
560
504
  "aria-invalid": currentVariant === 'error',
@@ -567,23 +511,19 @@ var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(fun
567
511
 
568
512
  var TimeSegment = function TimeSegment(_ref) {
569
513
  var segment = _ref.segment,
570
- state = _ref.state;
514
+ state = _ref.state;
571
515
  var ref = React.useRef(null);
572
-
573
516
  var _useDateSegment = datepicker.useDateSegment(segment, state, ref),
574
- segmentProps = _useDateSegment.segmentProps;
575
-
517
+ segmentProps = _useDateSegment.segmentProps;
576
518
  var is12HourFormatted = state.segments.some(function (segment) {
577
519
  return segment.text === 'AM' || segment.text === 'PM';
578
520
  });
579
-
580
521
  var segmentDisplayText = function segmentDisplayText() {
581
- if (is12HourFormatted) return segment.text; // if number add '0' padding to start when one digit
582
-
522
+ if (is12HourFormatted) return segment.text;
523
+ // if number add '0' padding to start when one digit
583
524
  if (segment.text.match(/\d+/)) return segment.text.padStart(2, '0');
584
525
  return segment.text;
585
526
  };
586
-
587
527
  return React__default["default"].createElement("div", _extends({}, segmentProps, {
588
528
  ref: ref,
589
529
  className: classNames__default["default"]('eds-timepicker__segment', {
@@ -594,9 +534,9 @@ var TimeSegment = function TimeSegment(_ref) {
594
534
 
595
535
  var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
596
536
  var direction = _ref.direction,
597
- onClick = _ref.onClick,
598
- disabled = _ref.disabled,
599
- ariaLabel = _ref['aria-label'];
537
+ onClick = _ref.onClick,
538
+ disabled = _ref.disabled,
539
+ ariaLabel = _ref['aria-label'];
600
540
  return React__default["default"].createElement(button.IconButton, {
601
541
  className: classNames__default["default"]('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction, {
602
542
  'eds-timepicker__arrowbutton--disabled': disabled
@@ -612,27 +552,25 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
612
552
  var _excluded$1 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "locale", "showTimeZone", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel"];
613
553
  var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
614
554
  var selectedTime = _ref.selectedTime,
615
- onChange = _ref.onChange,
616
- disabled = _ref.disabled,
617
- className = _ref.className,
618
- style = _ref.style,
619
- label = _ref.label,
620
- labelTooltip = _ref.labelTooltip,
621
- feedback = _ref.feedback,
622
- variant = _ref.variant,
623
- customLocale = _ref.locale,
624
- showTimeZone = _ref.showTimeZone,
625
- _ref$minuteIncrementF = _ref.minuteIncrementForArrowButtons,
626
- minuteIncrementForArrowButtons = _ref$minuteIncrementF === void 0 ? 30 : _ref$minuteIncrementF,
627
- _ref$leftArrowButtonA = _ref.leftArrowButtonAriaLabel,
628
- leftArrowButtonAriaLabel = _ref$leftArrowButtonA === void 0 ? "Trekk fra " + minuteIncrementForArrowButtons + " minutter" : _ref$leftArrowButtonA,
629
- _ref$rightArrowButton = _ref.rightArrowButtonAriaLabel,
630
- rightArrowButtonAriaLabel = _ref$rightArrowButton === void 0 ? "Legg til " + minuteIncrementForArrowButtons + " minutter" : _ref$rightArrowButton,
631
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
632
-
555
+ onChange = _ref.onChange,
556
+ disabled = _ref.disabled,
557
+ className = _ref.className,
558
+ style = _ref.style,
559
+ label = _ref.label,
560
+ labelTooltip = _ref.labelTooltip,
561
+ feedback = _ref.feedback,
562
+ variant = _ref.variant,
563
+ customLocale = _ref.locale,
564
+ showTimeZone = _ref.showTimeZone,
565
+ _ref$minuteIncrementF = _ref.minuteIncrementForArrowButtons,
566
+ minuteIncrementForArrowButtons = _ref$minuteIncrementF === void 0 ? 30 : _ref$minuteIncrementF,
567
+ _ref$leftArrowButtonA = _ref.leftArrowButtonAriaLabel,
568
+ leftArrowButtonAriaLabel = _ref$leftArrowButtonA === void 0 ? "Trekk fra " + minuteIncrementForArrowButtons + " minutter" : _ref$leftArrowButtonA,
569
+ _ref$rightArrowButton = _ref.rightArrowButtonAriaLabel,
570
+ rightArrowButtonAriaLabel = _ref$rightArrowButton === void 0 ? "Legg til " + minuteIncrementForArrowButtons + " minutter" : _ref$rightArrowButton,
571
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
633
572
  var _useLocale = i18n.useLocale(),
634
- locale = _useLocale.locale;
635
-
573
+ locale = _useLocale.locale;
636
574
  if (customLocale) locale = customLocale;
637
575
  var state = datepicker$1.useTimeFieldState(_extends({
638
576
  onChange: onChange,
@@ -643,15 +581,12 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
643
581
  isDisabled: disabled
644
582
  }, rest));
645
583
  var timeFieldRef = React.useRef(null);
646
-
647
584
  var _useTimeField = datepicker.useTimeField(_extends({}, rest, {
648
- label: label
649
- }), state, timeFieldRef),
650
- labelProps = _useTimeField.labelProps,
651
- fieldProps = _useTimeField.fieldProps;
652
-
585
+ label: label
586
+ }), state, timeFieldRef),
587
+ labelProps = _useTimeField.labelProps,
588
+ fieldProps = _useTimeField.fieldProps;
653
589
  var id = utils.useRandomId('timepicker');
654
-
655
590
  var handleOnClickArrowButton = function handleOnClickArrowButton(minutes) {
656
591
  if (someSegmentIsUndefined) {
657
592
  setTimeToNearestMinuteIncrement();
@@ -659,11 +594,9 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
659
594
  addMinutesToSelectedTime(minutes);
660
595
  }
661
596
  };
662
-
663
597
  var someSegmentIsUndefined = state.segments.some(function (segment) {
664
598
  return segment.text === '––';
665
599
  });
666
-
667
600
  var setTimeToNearestMinuteIncrement = function setTimeToNearestMinuteIncrement() {
668
601
  var currentTime = date.now(date.getLocalTimeZone());
669
602
  var roundedMinute = Math.floor(currentTime.minute / minuteIncrementForArrowButtons) * minuteIncrementForArrowButtons;
@@ -672,15 +605,12 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
672
605
  });
673
606
  onChange(newTime);
674
607
  };
675
-
676
608
  var addMinutesToSelectedTime = function addMinutesToSelectedTime(minutes) {
677
609
  var _state$value;
678
-
679
610
  state.value && state.setValue((_state$value = state.value) == null ? void 0 : _state$value.add({
680
611
  minutes: minutes
681
612
  }));
682
613
  };
683
-
684
614
  return React__default["default"].createElement(i18n.I18nProvider, {
685
615
  locale: locale
686
616
  }, React__default["default"].createElement("div", {
@@ -722,17 +652,16 @@ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_re
722
652
  });
723
653
 
724
654
  var _excluded = ["className", "style", "onChange", "label", "feedback", "variant", "prepend"],
725
- _excluded2 = ["onChange", "value"];
655
+ _excluded2 = ["onChange", "value"];
726
656
  var NativeTimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
727
657
  var className = _ref.className,
728
- style = _ref.style,
729
- onChange = _ref.onChange,
730
- label = _ref.label,
731
- feedback = _ref.feedback,
732
- variant = _ref.variant,
733
- prepend = _ref.prepend,
734
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
735
-
658
+ style = _ref.style,
659
+ onChange = _ref.onChange,
660
+ label = _ref.label,
661
+ feedback = _ref.feedback,
662
+ variant = _ref.variant,
663
+ prepend = _ref.prepend,
664
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
736
665
  var nativetimepickerId = utils.useRandomId('eds-native-timepicker');
737
666
  return React__default["default"].createElement(form.BaseFormControl, {
738
667
  style: style,
@@ -751,16 +680,13 @@ var NativeTimePicker = /*#__PURE__*/React__default["default"].forwardRef(functio
751
680
  });
752
681
  var NativeTimePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
753
682
  var onChange = _ref2.onChange,
754
- value = _ref2.value,
755
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
756
-
683
+ value = _ref2.value,
684
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
757
685
  var contextVariant = form.useVariant();
758
686
  var currentVariant = rest.variant || contextVariant;
759
-
760
687
  var _useInputGroupContext = form.useInputGroupContext(),
761
- isTimepickerFilled = _useInputGroupContext.isFilled,
762
- setFiller = _useInputGroupContext.setFilled;
763
-
688
+ isTimepickerFilled = _useInputGroupContext.isFilled,
689
+ setFiller = _useInputGroupContext.setFilled;
764
690
  utils.useOnMount(function () {
765
691
  setFiller && !isTimepickerFilled && setFiller(true);
766
692
  });
@@ -771,19 +697,16 @@ var NativeTimePickerBase = /*#__PURE__*/React__default["default"].forwardRef(fun
771
697
  setFiller && isTimepickerFilled && setFiller(false);
772
698
  }
773
699
  }, [value, setFiller, isTimepickerFilled]);
774
-
775
700
  var handleChange = function handleChange(event) {
776
701
  if (form.isFilled(event.target)) {
777
702
  setFiller && !isTimepickerFilled && setFiller(true);
778
703
  } else {
779
704
  setFiller && isTimepickerFilled && setFiller(false);
780
705
  }
781
-
782
706
  if (onChange) {
783
707
  onChange(event);
784
708
  }
785
709
  };
786
-
787
710
  return React__default["default"].createElement("input", _extends({
788
711
  ref: ref,
789
712
  "aria-invalid": currentVariant === 'error',
@@ -802,20 +725,16 @@ var NativeTimePickerBase = /*#__PURE__*/React__default["default"].forwardRef(fun
802
725
  * @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.
803
726
  * @returns {Time | CalendarDateTime | ZonedDateTime} et av TimeValue-objektene med verdier fra date
804
727
  */
805
-
806
728
  var nativeDateToTimeValue = function nativeDateToTimeValue(date$1, noDateOnlyTime, timeZone, offset) {
807
729
  if (noDateOnlyTime === void 0) {
808
730
  noDateOnlyTime = false;
809
731
  }
810
-
811
732
  if (timeZone) {
812
733
  if (offset) {
813
734
  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());
814
735
  }
815
-
816
736
  return date.parseAbsolute(date$1.toISOString(), timeZone);
817
737
  }
818
-
819
738
  if (noDateOnlyTime) return new date.Time(date$1.getHours(), date$1.getMinutes(), date$1.getSeconds(), 0);
820
739
  return new date.CalendarDateTime(date$1.getFullYear(), date$1.getMonth() + 1, date$1.getDate(), date$1.getHours(), date$1.getMinutes(), date$1.getSeconds());
821
740
  };
@@ -826,7 +745,6 @@ var nativeDateToTimeValue = function nativeDateToTimeValue(date$1, noDateOnlyTim
826
745
  * @returns {Date} et Date-objekt med verdier fra time
827
746
  */
828
747
  // This function uses a lot of @ts-expect-error to make it work with all TimeValue types. Sorry ...
829
-
830
748
  var timeValueToNativeDate = function timeValueToNativeDate(time, timeZoneForCalendarDateTime) {
831
749
  // @ts-expect-error .day does not exist on Time-object
832
750
  if (!time.day) {
@@ -836,20 +754,22 @@ var timeValueToNativeDate = function timeValueToNativeDate(time, timeZoneForCale
836
754
  date.setMinutes(time.minute);
837
755
  date.setSeconds(time.second);
838
756
  return date;
839
- } // @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime
840
-
841
-
757
+ }
758
+ // @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime
842
759
  if (!time.timeZone) {
843
760
  // type is CalendarDateTime
844
- if (timeZoneForCalendarDateTime) // @ts-expect-error .toDate(timeZone) does not exist in type Time
761
+ if (timeZoneForCalendarDateTime)
762
+ // @ts-expect-error .toDate(timeZone) does not exist in type Time
845
763
  return time.toDate(timeZoneForCalendarDateTime);
846
- return new Date( // @ts-expect-error not in type Time
847
- time.year, // @ts-expect-error not in type Time
848
- time.month - 1, // @ts-expect-error not in type Time
764
+ return new Date(
765
+ // @ts-expect-error not in type Time
766
+ time.year,
767
+ // @ts-expect-error not in type Time
768
+ time.month - 1,
769
+ // @ts-expect-error not in type Time
849
770
  time.day, time.hour, time.minute, time.second);
850
- } // @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime
851
-
852
-
771
+ }
772
+ // @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime
853
773
  return time.toDate();
854
774
  };
855
775