@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.
- package/dist/TimePicker/utils.d.ts +2 -2
- package/dist/datepicker.cjs.development.js +163 -243
- package/dist/datepicker.cjs.development.js.map +1 -1
- package/dist/datepicker.cjs.production.min.js.map +1 -1
- package/dist/datepicker.esm.js +163 -243
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/styles.css +0 -1
- package/package.json +17 -14
- package/CHANGELOG.md +0 -669
|
@@ -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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
-
};
|
|
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
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
-
|
|
265
|
-
|
|
266
|
-
|
|
243
|
+
showValidation = _useState[0],
|
|
244
|
+
setShowValidation = _useState[1];
|
|
267
245
|
var _useState2 = React.useState(false),
|
|
268
|
-
|
|
269
|
-
|
|
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;
|
|
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
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
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
|
-
|
|
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
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
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
|
-
|
|
525
|
-
|
|
526
|
-
|
|
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
|
-
|
|
533
|
-
|
|
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
|
-
|
|
514
|
+
state = _ref.state;
|
|
571
515
|
var ref = React.useRef(null);
|
|
572
|
-
|
|
573
516
|
var _useDateSegment = datepicker.useDateSegment(segment, state, ref),
|
|
574
|
-
|
|
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;
|
|
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
|
-
|
|
598
|
-
|
|
599
|
-
|
|
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
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
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
|
-
|
|
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
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
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
|
-
|
|
655
|
+
_excluded2 = ["onChange", "value"];
|
|
726
656
|
var NativeTimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
727
657
|
var className = _ref.className,
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
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
|
-
|
|
755
|
-
|
|
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
|
-
|
|
762
|
-
|
|
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
|
-
}
|
|
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)
|
|
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(
|
|
847
|
-
|
|
848
|
-
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
|
-
}
|
|
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
|
|