@entur/datepicker 4.0.0-RC.0 → 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.
- package/CHANGELOG.md +10 -0
- package/dist/DatePicker/{beta/Calendar.d.ts → Calendar.d.ts} +1 -1
- package/dist/DatePicker/{beta/CalendarCell.d.ts → CalendarCell.d.ts} +1 -1
- package/dist/DatePicker/{beta/CalendarGrid.d.ts → CalendarGrid.d.ts} +1 -1
- package/dist/DatePicker/{beta/DateField.d.ts → DateField.d.ts} +1 -1
- package/dist/DatePicker/DatePicker.d.ts +50 -176
- package/dist/DatePicker/index.d.ts +2 -1
- package/dist/NativeDatePicker.d.ts +1 -1
- package/dist/TimePicker/NativeTimePicker.d.ts +1 -1
- package/dist/TimePicker/TimePicker.d.ts +1 -1
- package/dist/TimePicker/TimePickerArrowButton.d.ts +1 -1
- package/dist/datepicker.cjs.development.js +204 -709
- package/dist/datepicker.cjs.development.js.map +1 -1
- package/dist/datepicker.cjs.production.min.js +1 -1
- package/dist/datepicker.cjs.production.min.js.map +1 -1
- package/dist/datepicker.esm.js +203 -706
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/shared/CalendarButton.d.ts +1 -1
- package/dist/shared/FieldSegment.d.ts +1 -1
- package/dist/shared/utils.d.ts +2 -2
- package/dist/styles.css +125 -247
- package/package.json +7 -7
- package/dist/DatePicker/DatePickerHeader.d.ts +0 -9
- package/dist/DatePicker/DatePickerInput.d.ts +0 -31
- package/dist/DatePicker/beta/DatePicker.d.ts +0 -66
- package/dist/DatePicker/beta/index.d.ts +0 -3
package/dist/datepicker.esm.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import React, { useRef
|
|
3
|
-
import ReactDatepicker, { registerLocale } from 'react-datepicker';
|
|
4
|
-
import { parse, isSameDay } from 'date-fns';
|
|
5
|
-
import { nb } from 'date-fns/locale';
|
|
6
|
-
import classNames from 'classnames';
|
|
7
|
-
import { LeftArrowIcon, RightArrowIcon, CalendarIcon, DateIcon } from '@entur/icons';
|
|
8
|
-
import { Heading3 } from '@entur/typography';
|
|
9
|
-
import { IconButton } from '@entur/button';
|
|
10
|
-
import { TextField, BaseFormControl, useVariant, useInputGroupContext, isFilled } from '@entur/form';
|
|
11
|
-
import { Tooltip } from '@entur/tooltip';
|
|
12
|
-
import 'react-datepicker/dist/react-datepicker.css';
|
|
1
|
+
import { useRandomId, ConditionalWrapper, mergeRefs, useWindowDimensions, useOnClickOutside, useOnEscape, useOnMount, warnAboutMissingStyles } from '@entur/utils';
|
|
2
|
+
import React, { useRef } from 'react';
|
|
13
3
|
import { useDateFieldState, useDatePickerState, useTimeFieldState } from '@react-stately/datepicker';
|
|
14
4
|
import { useDateSegment, useDateField, useDatePicker, useTimeField } from '@react-aria/datepicker';
|
|
15
5
|
import { useLocale, I18nProvider } from '@react-aria/i18n';
|
|
6
|
+
import classNames from 'classnames';
|
|
7
|
+
import { BaseFormControl, useVariant, useInputGroupContext, isFilled } from '@entur/form';
|
|
16
8
|
import { ZonedDateTime, parseAbsolute, Time, CalendarDate, CalendarDateTime, getLocalTimeZone, GregorianCalendar, isEqualDay, now, getWeeksInMonth } from '@internationalized/date';
|
|
17
9
|
import { useCalendarCell, useCalendarGrid, useCalendar } from '@react-aria/calendar';
|
|
18
10
|
import { useCalendarState } from '@react-stately/calendar';
|
|
11
|
+
import { LeftArrowIcon, RightArrowIcon, CalendarIcon, DateIcon } from '@entur/icons';
|
|
19
12
|
import { useButton } from '@react-aria/button';
|
|
13
|
+
import { IconButton } from '@entur/button';
|
|
20
14
|
import { VisuallyHidden } from '@entur/a11y';
|
|
21
15
|
import { useFloating, autoUpdate, offset, flip, shift } from '@floating-ui/react-dom';
|
|
22
16
|
import FocusLock from 'react-focus-lock';
|
|
@@ -24,484 +18,47 @@ import { space, zIndexes } from '@entur/tokens';
|
|
|
24
18
|
import { Modal } from '@entur/modal';
|
|
25
19
|
|
|
26
20
|
function _extends() {
|
|
27
|
-
_extends = Object.assign
|
|
21
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
28
22
|
for (var i = 1; i < arguments.length; i++) {
|
|
29
23
|
var source = arguments[i];
|
|
30
|
-
|
|
31
24
|
for (var key in source) {
|
|
32
25
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
33
26
|
target[key] = source[key];
|
|
34
27
|
}
|
|
35
28
|
}
|
|
36
29
|
}
|
|
37
|
-
|
|
38
30
|
return target;
|
|
39
31
|
};
|
|
40
|
-
|
|
41
32
|
return _extends.apply(this, arguments);
|
|
42
33
|
}
|
|
43
|
-
|
|
44
34
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
45
35
|
if (source == null) return {};
|
|
46
36
|
var target = {};
|
|
47
37
|
var sourceKeys = Object.keys(source);
|
|
48
38
|
var key, i;
|
|
49
|
-
|
|
50
39
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
51
40
|
key = sourceKeys[i];
|
|
52
41
|
if (excluded.indexOf(key) >= 0) continue;
|
|
53
42
|
target[key] = source[key];
|
|
54
43
|
}
|
|
55
|
-
|
|
56
44
|
return target;
|
|
57
45
|
}
|
|
58
46
|
|
|
59
|
-
var DatePickerHeader = function DatePickerHeader(_ref) {
|
|
60
|
-
var _date$getMonth;
|
|
61
|
-
|
|
62
|
-
var date = _ref.date,
|
|
63
|
-
decreaseMonth = _ref.decreaseMonth,
|
|
64
|
-
increaseMonth = _ref.increaseMonth,
|
|
65
|
-
prevMonthButtonDisabled = _ref.prevMonthButtonDisabled,
|
|
66
|
-
nextMonthButtonDisabled = _ref.nextMonthButtonDisabled,
|
|
67
|
-
nextMonthAriaLabel = _ref.nextMonthAriaLabel,
|
|
68
|
-
previousMonthAriaLabel = _ref.previousMonthAriaLabel,
|
|
69
|
-
locale = _ref.locale;
|
|
70
|
-
var currentMonthIndex = (_date$getMonth = date == null ? void 0 : date.getMonth()) != null ? _date$getMonth : 0;
|
|
71
|
-
return React.createElement("div", {
|
|
72
|
-
className: "eds-datepicker__calender__header"
|
|
73
|
-
}, React.createElement(IconButton, {
|
|
74
|
-
type: "button",
|
|
75
|
-
className: "eds-datepicker__calender__header__month-button--left",
|
|
76
|
-
onClick: decreaseMonth,
|
|
77
|
-
disabled: prevMonthButtonDisabled,
|
|
78
|
-
"aria-label": previousMonthAriaLabel + " (" + getMonthName(currentMonthIndex - 1, locale) + ")"
|
|
79
|
-
}, React.createElement(LeftArrowIcon, null)), React.createElement(Heading3, {
|
|
80
|
-
className: "eds-datepicker__calender__header__month-text"
|
|
81
|
-
}, getMonthName(currentMonthIndex, locale)), React.createElement(Heading3, {
|
|
82
|
-
className: "eds-datepicker__calender__header__month-text"
|
|
83
|
-
}, date == null ? void 0 : date.getFullYear()), React.createElement(IconButton, {
|
|
84
|
-
type: "button",
|
|
85
|
-
className: "eds-datepicker__calender__header__month-button--right",
|
|
86
|
-
onClick: increaseMonth,
|
|
87
|
-
disabled: nextMonthButtonDisabled,
|
|
88
|
-
"aria-label": nextMonthAriaLabel + " (" + getMonthName(currentMonthIndex + 1, locale) + ")"
|
|
89
|
-
}, React.createElement(RightArrowIcon, null)));
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
function getMonthName(monthIndex, locale) {
|
|
93
|
-
var year = new Date().getFullYear();
|
|
94
|
-
var formatter = new Intl.DateTimeFormat(locale.code, {
|
|
95
|
-
month: 'long'
|
|
96
|
-
});
|
|
97
|
-
return formatter.format(new Date(year, monthIndex));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
var _excluded$a = ["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"];
|
|
101
|
-
var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
102
|
-
var style = _ref.style,
|
|
103
|
-
label = _ref.label,
|
|
104
|
-
inputPlaceholder = _ref.inputPlaceholder,
|
|
105
|
-
prepend = _ref.prepend,
|
|
106
|
-
feedback = _ref.feedback,
|
|
107
|
-
variant = _ref.variant,
|
|
108
|
-
disabled = _ref.disabled,
|
|
109
|
-
calendarButtonTooltipOpen = _ref.calendarButtonTooltipOpen,
|
|
110
|
-
calendarButtonTooltipClose = _ref.calendarButtonTooltipClose,
|
|
111
|
-
hideCalendarButton = _ref.hideCalendarButton,
|
|
112
|
-
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
113
|
-
inputRef = _ref.inputRef,
|
|
114
|
-
calendarButtonId = _ref.calendarButtonId,
|
|
115
|
-
forwardRef = _ref.forwardRef,
|
|
116
|
-
toggleCalendarGUI = _ref.toggleCalendarGUI,
|
|
117
|
-
onKeyDownInput = _ref.onKeyDownInput,
|
|
118
|
-
onBlurInput = _ref.onBlurInput,
|
|
119
|
-
selectedDate = _ref.selectedDate,
|
|
120
|
-
setFocusToCalendarGUI = _ref.setFocusToCalendarGUI,
|
|
121
|
-
setShouldFocusOnCalendarButtonAfterSelect = _ref.setShouldFocusOnCalendarButtonAfterSelect,
|
|
122
|
-
calendarGUIIsOpen = _ref.calendarGUIIsOpen,
|
|
123
|
-
onClick = _ref.onClick,
|
|
124
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
|
|
125
|
-
|
|
126
|
-
React.useEffect(function () {
|
|
127
|
-
var _inputRef$current, _inputRef$current2, _inputRef$current3;
|
|
128
|
-
|
|
129
|
-
(_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.addEventListener('keydown', handleOnKeyDown);
|
|
130
|
-
(_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.addEventListener('blur', handleOnBlur);
|
|
131
|
-
(_inputRef$current3 = inputRef.current) == null ? void 0 : _inputRef$current3.addEventListener('focus', handleOnFocus);
|
|
132
|
-
return function () {
|
|
133
|
-
var _inputRef$current4, _inputRef$current5, _inputRef$current6;
|
|
134
|
-
|
|
135
|
-
(_inputRef$current4 = inputRef.current) == null ? void 0 : _inputRef$current4.removeEventListener('keydown', handleOnKeyDown);
|
|
136
|
-
(_inputRef$current5 = inputRef.current) == null ? void 0 : _inputRef$current5.removeEventListener('blur', handleOnBlur);
|
|
137
|
-
(_inputRef$current6 = inputRef.current) == null ? void 0 : _inputRef$current6.removeEventListener('focus', handleOnFocus);
|
|
138
|
-
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
139
|
-
}, [inputRef, selectedDate]);
|
|
140
|
-
|
|
141
|
-
function handleOnKeyDown(event) {
|
|
142
|
-
onKeyDownInput(event);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
function handleOnBlur(event) {
|
|
146
|
-
onBlurInput(event);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
var handleOnFocus = function handleOnFocus() {
|
|
150
|
-
return requestAnimationFrame(function () {
|
|
151
|
-
var _inputRef$current7;
|
|
152
|
-
|
|
153
|
-
return (_inputRef$current7 = inputRef.current) == null ? void 0 : _inputRef$current7.select();
|
|
154
|
-
});
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
var handleOnClickInputField = function handleOnClickInputField(event) {
|
|
158
|
-
setShouldFocusOnCalendarButtonAfterSelect(false);
|
|
159
|
-
onClick && onClick(event);
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
var handleOnClickCalendarButton = function handleOnClickCalendarButton() {
|
|
163
|
-
toggleCalendarGUI();
|
|
164
|
-
setFocusToCalendarGUI();
|
|
165
|
-
setShouldFocusOnCalendarButtonAfterSelect(true);
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
var calendarButtonAriaLabel = function calendarButtonAriaLabel() {
|
|
169
|
-
var _inputRef$current8;
|
|
170
|
-
|
|
171
|
-
var buttonStateText = calendarGUIIsOpen() ? calendarButtonTooltipClose : calendarButtonTooltipOpen;
|
|
172
|
-
var currentSelectionText = selectedDate ? ((_inputRef$current8 = inputRef.current) == null ? void 0 : _inputRef$current8.value) + " valgt" : 'Ingen dato valgt';
|
|
173
|
-
return buttonStateText + ", " + currentSelectionText;
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
return React.createElement(TextField, _extends({
|
|
177
|
-
style: style,
|
|
178
|
-
label: label,
|
|
179
|
-
placeholder: inputPlaceholder,
|
|
180
|
-
prepend: prepend,
|
|
181
|
-
feedback: feedback,
|
|
182
|
-
variant: variant,
|
|
183
|
-
disableLabelAnimation: disableLabelAnimation,
|
|
184
|
-
ref: mergeRefs(ref, inputRef, forwardRef),
|
|
185
|
-
onClick: handleOnClickInputField,
|
|
186
|
-
ariaAlertOnFeedback: true,
|
|
187
|
-
append: !hideCalendarButton && React.createElement(Tooltip, {
|
|
188
|
-
placement: "top",
|
|
189
|
-
content: calendarGUIIsOpen() ? calendarButtonTooltipClose : calendarButtonTooltipOpen,
|
|
190
|
-
disableHoverListener: disabled,
|
|
191
|
-
disableFocusListener: disabled
|
|
192
|
-
}, React.createElement(IconButton, {
|
|
193
|
-
id: calendarButtonId,
|
|
194
|
-
type: "button",
|
|
195
|
-
onClick: handleOnClickCalendarButton,
|
|
196
|
-
tabIndex: calendarGUIIsOpen() ? -1 : 0,
|
|
197
|
-
"aria-label": calendarButtonAriaLabel()
|
|
198
|
-
}, React.createElement(CalendarIcon, null)))
|
|
199
|
-
}, rest));
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
var _excluded$9 = ["style", "className", "selectedDate", "label", "placeholder", "onChange", "onKeyDown", "dateFormats", "minDate", "maxDate", "inline", "disabled", "prepend", "feedback", "variant", "validationFeedback", "validationVariant", "disableLabelAnimation", "calendarButtonTooltipOpen", "calendarButtonTooltipClose", "hideCalendarButton", "hideCalendar", "hideValidation", "weekLabel", "chooseDayAriaLabelPrefix", "previousMonthAriaLabel", "nextMonthAriaLabel", "locale", "open"];
|
|
203
|
-
registerLocale('nb', nb);
|
|
204
|
-
var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
205
|
-
var style = _ref.style,
|
|
206
|
-
className = _ref.className,
|
|
207
|
-
selectedDate = _ref.selectedDate,
|
|
208
|
-
label = _ref.label,
|
|
209
|
-
_ref$placeholder = _ref.placeholder,
|
|
210
|
-
placeholder = _ref$placeholder === void 0 ? 'dd.mm.yyyy' : _ref$placeholder,
|
|
211
|
-
onChange = _ref.onChange,
|
|
212
|
-
_ref$onKeyDown = _ref.onKeyDown,
|
|
213
|
-
onKeyDown = _ref$onKeyDown === void 0 ? function () {
|
|
214
|
-
return null;
|
|
215
|
-
} : _ref$onKeyDown,
|
|
216
|
-
_ref$dateFormats = _ref.dateFormats,
|
|
217
|
-
dateFormats = _ref$dateFormats === void 0 ? ['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy', 'ddMMyy'] : _ref$dateFormats,
|
|
218
|
-
minDate = _ref.minDate,
|
|
219
|
-
maxDate = _ref.maxDate,
|
|
220
|
-
_ref$inline = _ref.inline,
|
|
221
|
-
inline = _ref$inline === void 0 ? false : _ref$inline,
|
|
222
|
-
disabled = _ref.disabled,
|
|
223
|
-
prepend = _ref.prepend,
|
|
224
|
-
_ref$feedback = _ref.feedback,
|
|
225
|
-
feedback = _ref$feedback === void 0 ? '' : _ref$feedback,
|
|
226
|
-
variant = _ref.variant,
|
|
227
|
-
_ref$validationFeedba = _ref.validationFeedback,
|
|
228
|
-
validationFeedback = _ref$validationFeedba === void 0 ? 'Ugyldig dato' : _ref$validationFeedba,
|
|
229
|
-
_ref$validationVarian = _ref.validationVariant,
|
|
230
|
-
validationVariant = _ref$validationVarian === void 0 ? 'error' : _ref$validationVarian,
|
|
231
|
-
_ref$disableLabelAnim = _ref.disableLabelAnimation,
|
|
232
|
-
disableLabelAnimation = _ref$disableLabelAnim === void 0 ? false : _ref$disableLabelAnim,
|
|
233
|
-
_ref$calendarButtonTo = _ref.calendarButtonTooltipOpen,
|
|
234
|
-
calendarButtonTooltipOpen = _ref$calendarButtonTo === void 0 ? 'Åpne\xa0kalender' : _ref$calendarButtonTo,
|
|
235
|
-
_ref$calendarButtonTo2 = _ref.calendarButtonTooltipClose,
|
|
236
|
-
calendarButtonTooltipClose = _ref$calendarButtonTo2 === void 0 ? 'Lukk\xa0kalender' : _ref$calendarButtonTo2,
|
|
237
|
-
_ref$hideCalendarButt = _ref.hideCalendarButton,
|
|
238
|
-
hideCalendarButton = _ref$hideCalendarButt === void 0 ? false : _ref$hideCalendarButt,
|
|
239
|
-
_ref$hideCalendar = _ref.hideCalendar,
|
|
240
|
-
hideCalendar = _ref$hideCalendar === void 0 ? false : _ref$hideCalendar,
|
|
241
|
-
_ref$hideValidation = _ref.hideValidation,
|
|
242
|
-
hideValidation = _ref$hideValidation === void 0 ? false : _ref$hideValidation,
|
|
243
|
-
_ref$weekLabel = _ref.weekLabel,
|
|
244
|
-
weekLabel = _ref$weekLabel === void 0 ? 'uke' : _ref$weekLabel,
|
|
245
|
-
_ref$chooseDayAriaLab = _ref.chooseDayAriaLabelPrefix,
|
|
246
|
-
chooseDayAriaLabelPrefix = _ref$chooseDayAriaLab === void 0 ? 'Velg' : _ref$chooseDayAriaLab,
|
|
247
|
-
_ref$previousMonthAri = _ref.previousMonthAriaLabel,
|
|
248
|
-
previousMonthAriaLabel = _ref$previousMonthAri === void 0 ? 'Forrige måned' : _ref$previousMonthAri,
|
|
249
|
-
_ref$nextMonthAriaLab = _ref.nextMonthAriaLabel,
|
|
250
|
-
nextMonthAriaLabel = _ref$nextMonthAriaLab === void 0 ? 'Neste måned' : _ref$nextMonthAriaLab,
|
|
251
|
-
_ref$locale = _ref.locale,
|
|
252
|
-
locale = _ref$locale === void 0 ? nb : _ref$locale,
|
|
253
|
-
open = _ref.open,
|
|
254
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
|
|
255
|
-
|
|
256
|
-
var datepickerId = useRandomId('eds-datepicker');
|
|
257
|
-
var datepickerRef = useRef(null);
|
|
258
|
-
var inputRef = React.useRef(null);
|
|
259
|
-
var calendarButton = document.getElementById(datepickerId + '-button');
|
|
260
|
-
|
|
261
|
-
var _useState = useState(false),
|
|
262
|
-
showValidation = _useState[0],
|
|
263
|
-
setShowValidation = _useState[1];
|
|
264
|
-
|
|
265
|
-
var _useState2 = useState(false),
|
|
266
|
-
shouldFocusOnCalendarButtonAfterSelect = _useState2[0],
|
|
267
|
-
setShouldFocusOnCalendarButtonAfterSelect = _useState2[1]; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
React.useEffect(function () {
|
|
271
|
-
return validateInput();
|
|
272
|
-
}, [selectedDate]);
|
|
273
|
-
|
|
274
|
-
var handleOnChange = function handleOnChange(date, event) {
|
|
275
|
-
var _inputRef$current;
|
|
276
|
-
|
|
277
|
-
if (shouldFocusOnCalendarButtonAfterSelect && !hideCalendarButton) {
|
|
278
|
-
calendarButton == null ? void 0 : calendarButton.focus();
|
|
279
|
-
setShouldFocusOnCalendarButtonAfterSelect(false);
|
|
280
|
-
} else (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
|
|
281
|
-
|
|
282
|
-
onChange(date, event);
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
286
|
-
setShowValidation(false);
|
|
287
|
-
|
|
288
|
-
if (event.key === 'Enter') {
|
|
289
|
-
if (!datePickerGUIIsOpen()) {
|
|
290
|
-
// onBlurInput will validate if calendar is open
|
|
291
|
-
validateInput();
|
|
292
|
-
forceUpdateInputFormat();
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
focusAndSelectInputField();
|
|
296
|
-
} else if (event.key === 'Tab' && datePickerGUIIsOpen()) {
|
|
297
|
-
forceUpdateInputFormat();
|
|
298
|
-
} else if (event.key === 'Escape') {
|
|
299
|
-
forceUpdateInputFormat();
|
|
300
|
-
focusAndSelectInputField();
|
|
301
|
-
if (datePickerGUIIsOpen()) toggleCalendarGUI();
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
onKeyDown(event);
|
|
305
|
-
};
|
|
306
|
-
|
|
307
|
-
var handleOnClickOutside = function handleOnClickOutside() {
|
|
308
|
-
return setShouldFocusOnCalendarButtonAfterSelect(false);
|
|
309
|
-
};
|
|
310
|
-
|
|
311
|
-
var handleOnBlurInput = function handleOnBlurInput() {
|
|
312
|
-
if (datePickerGUIIsOpen()) return;
|
|
313
|
-
validateInput();
|
|
314
|
-
forceUpdateInputFormat();
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
var validateInput = function validateInput() {
|
|
318
|
-
var _inputRef$current2;
|
|
319
|
-
|
|
320
|
-
setShowValidation(false);
|
|
321
|
-
var inputValue = (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.value;
|
|
322
|
-
if (!inputValue) return;
|
|
323
|
-
var inputValueParsedWithAllDateFormats = dateFormats.map(function (format) {
|
|
324
|
-
return parse(inputValue, format, new Date(), {
|
|
325
|
-
locale: locale
|
|
326
|
-
});
|
|
327
|
-
});
|
|
328
|
-
var parsedDateFromInputIsTheSameAsSelectedDate = selectedDate && inputValueParsedWithAllDateFormats.some(function (dateFormat) {
|
|
329
|
-
return isSameDay(dateFormat, selectedDate);
|
|
330
|
-
});
|
|
331
|
-
|
|
332
|
-
if (parsedDateFromInputIsTheSameAsSelectedDate) {
|
|
333
|
-
// valid date inputted
|
|
334
|
-
setShowValidation(false);
|
|
335
|
-
} else {
|
|
336
|
-
// invalid date inputted
|
|
337
|
-
setShowValidation(true);
|
|
338
|
-
}
|
|
339
|
-
};
|
|
340
|
-
|
|
341
|
-
var getFeedbackAndVariant = function getFeedbackAndVariant() {
|
|
342
|
-
if (feedback) return {
|
|
343
|
-
feedback: feedback,
|
|
344
|
-
variant: variant
|
|
345
|
-
};
|
|
346
|
-
if (!hideValidation && showValidation) return {
|
|
347
|
-
feedback: validationFeedback,
|
|
348
|
-
variant: validationVariant
|
|
349
|
-
};
|
|
350
|
-
return {
|
|
351
|
-
feedback: '',
|
|
352
|
-
variant: undefined
|
|
353
|
-
};
|
|
354
|
-
};
|
|
355
|
-
|
|
356
|
-
var focusAndSelectInputField = function focusAndSelectInputField() {
|
|
357
|
-
return requestAnimationFrame(function () {
|
|
358
|
-
var _inputRef$current3;
|
|
359
|
-
|
|
360
|
-
return (_inputRef$current3 = inputRef.current) == null ? void 0 : _inputRef$current3.select();
|
|
361
|
-
});
|
|
362
|
-
};
|
|
363
|
-
|
|
364
|
-
var forceUpdateInputFormat = function forceUpdateInputFormat() {
|
|
365
|
-
var _datepickerRef$curren;
|
|
366
|
-
|
|
367
|
-
return (_datepickerRef$curren = datepickerRef.current) == null ? void 0 : _datepickerRef$curren.setState({
|
|
368
|
-
inputValue: null
|
|
369
|
-
});
|
|
370
|
-
};
|
|
371
|
-
|
|
372
|
-
var toggleCalendarGUI = function toggleCalendarGUI() {
|
|
373
|
-
var _datepickerRef$curren2;
|
|
374
|
-
|
|
375
|
-
return (_datepickerRef$curren2 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren2.setOpen(!datePickerGUIIsOpen());
|
|
376
|
-
};
|
|
377
|
-
|
|
378
|
-
var setFocusToCalendarGUI = function setFocusToCalendarGUI() {
|
|
379
|
-
if (inline || hideCalendar || datePickerGUIIsOpen()) return; // 1 frame delay to allow calendar to spawn
|
|
380
|
-
|
|
381
|
-
requestAnimationFrame(function () {
|
|
382
|
-
var _datepickerRef$curren3;
|
|
383
|
-
|
|
384
|
-
var datepickerGUIWrapper = // @ts-expect-error .calendar does actually exist in ReactDatePicker ref
|
|
385
|
-
(_datepickerRef$curren3 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren3.calendar.componentNode;
|
|
386
|
-
var dateToSetFocusTo = selectedDate ? datepickerGUIWrapper.querySelector('.eds-datepicker__calender__day[tabindex="0"]') : datepickerGUIWrapper.querySelector('.eds-datepicker__calender__day[aria-current="date"]');
|
|
387
|
-
|
|
388
|
-
if (dateToSetFocusTo !== null) {
|
|
389
|
-
var _datepickerRef$curren4;
|
|
390
|
-
|
|
391
|
-
(_datepickerRef$curren4 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren4.setBlur();
|
|
392
|
-
dateToSetFocusTo.focus({
|
|
393
|
-
preventScroll: true
|
|
394
|
-
});
|
|
395
|
-
}
|
|
396
|
-
});
|
|
397
|
-
setShouldFocusOnCalendarButtonAfterSelect(true);
|
|
398
|
-
setShowValidation(false);
|
|
399
|
-
};
|
|
400
|
-
|
|
401
|
-
var datePickerGUIIsOpen = function datePickerGUIIsOpen() {
|
|
402
|
-
var _datepickerRef$curren5;
|
|
403
|
-
|
|
404
|
-
return (_datepickerRef$curren5 = datepickerRef.current) == null ? void 0 : _datepickerRef$curren5.isCalendarOpen();
|
|
405
|
-
};
|
|
406
|
-
|
|
407
|
-
return React.createElement(React.Fragment, null, React.createElement(ReactDatepicker, _extends({
|
|
408
|
-
selected: selectedDate,
|
|
409
|
-
minDate: minDate,
|
|
410
|
-
maxDate: maxDate,
|
|
411
|
-
dateFormat: dateFormats,
|
|
412
|
-
showWeekNumbers: true,
|
|
413
|
-
weekLabel: weekLabel,
|
|
414
|
-
onChange: handleOnChange,
|
|
415
|
-
onClickOutside: handleOnClickOutside,
|
|
416
|
-
id: datepickerId,
|
|
417
|
-
ariaLabelledBy: datepickerId,
|
|
418
|
-
showPopperArrow: false,
|
|
419
|
-
locale: locale,
|
|
420
|
-
inline: inline,
|
|
421
|
-
disabled: disabled,
|
|
422
|
-
preventOpenOnFocus: true,
|
|
423
|
-
chooseDayAriaLabelPrefix: chooseDayAriaLabelPrefix,
|
|
424
|
-
open: hideCalendar ? false : open,
|
|
425
|
-
ref: datepickerRef,
|
|
426
|
-
calendarClassName: "eds-datepicker__calender",
|
|
427
|
-
dayClassName: function dayClassName() {
|
|
428
|
-
return 'eds-datepicker__calender__day';
|
|
429
|
-
},
|
|
430
|
-
weekDayClassName: function weekDayClassName() {
|
|
431
|
-
return 'eds-datepicker__calender__day-name';
|
|
432
|
-
},
|
|
433
|
-
className: classNames(className, 'eds-datepicker__input'),
|
|
434
|
-
highlightDates: [{
|
|
435
|
-
'eds-datepicker__calender__day--today': [new Date()]
|
|
436
|
-
}, {
|
|
437
|
-
'eds-datepicker__calender__day--selected': selectedDate ? [selectedDate] : []
|
|
438
|
-
}],
|
|
439
|
-
renderCustomHeader: function renderCustomHeader(_ref2) {
|
|
440
|
-
var date = _ref2.date,
|
|
441
|
-
changeYear = _ref2.changeYear,
|
|
442
|
-
changeMonth = _ref2.changeMonth,
|
|
443
|
-
decreaseMonth = _ref2.decreaseMonth,
|
|
444
|
-
increaseMonth = _ref2.increaseMonth,
|
|
445
|
-
prevMonthButtonDisabled = _ref2.prevMonthButtonDisabled,
|
|
446
|
-
nextMonthButtonDisabled = _ref2.nextMonthButtonDisabled;
|
|
447
|
-
return React.createElement(DatePickerHeader, {
|
|
448
|
-
date: date,
|
|
449
|
-
changeYear: changeYear,
|
|
450
|
-
changeMonth: changeMonth,
|
|
451
|
-
increaseMonth: increaseMonth,
|
|
452
|
-
decreaseMonth: decreaseMonth,
|
|
453
|
-
prevMonthButtonDisabled: prevMonthButtonDisabled,
|
|
454
|
-
nextMonthButtonDisabled: nextMonthButtonDisabled,
|
|
455
|
-
previousMonthAriaLabel: previousMonthAriaLabel,
|
|
456
|
-
nextMonthAriaLabel: nextMonthAriaLabel,
|
|
457
|
-
locale: locale
|
|
458
|
-
});
|
|
459
|
-
},
|
|
460
|
-
customInput: React.createElement(DatePickerInput, {
|
|
461
|
-
style: style,
|
|
462
|
-
label: label,
|
|
463
|
-
inputPlaceholder: placeholder,
|
|
464
|
-
calendarButtonTooltipOpen: calendarButtonTooltipOpen,
|
|
465
|
-
calendarButtonTooltipClose: calendarButtonTooltipClose,
|
|
466
|
-
prepend: prepend,
|
|
467
|
-
feedback: getFeedbackAndVariant().feedback,
|
|
468
|
-
variant: getFeedbackAndVariant().variant,
|
|
469
|
-
inputRef: inputRef,
|
|
470
|
-
calendarButtonId: datepickerId + '-button',
|
|
471
|
-
forwardRef: ref,
|
|
472
|
-
onKeyDownInput: handleOnKeyDown,
|
|
473
|
-
onBlurInput: handleOnBlurInput,
|
|
474
|
-
onFocus: undefined,
|
|
475
|
-
toggleCalendarGUI: toggleCalendarGUI,
|
|
476
|
-
setFocusToCalendarGUI: setFocusToCalendarGUI,
|
|
477
|
-
setShouldFocusOnCalendarButtonAfterSelect: setShouldFocusOnCalendarButtonAfterSelect,
|
|
478
|
-
calendarGUIIsOpen: datePickerGUIIsOpen,
|
|
479
|
-
disableLabelAnimation: disableLabelAnimation,
|
|
480
|
-
hideCalendarButton: hideCalendarButton,
|
|
481
|
-
selectedDate: selectedDate
|
|
482
|
-
})
|
|
483
|
-
}, rest)));
|
|
484
|
-
});
|
|
485
|
-
|
|
486
47
|
var FieldSegment = function FieldSegment(_ref) {
|
|
487
48
|
var segment = _ref.segment,
|
|
488
|
-
|
|
49
|
+
state = _ref.state;
|
|
489
50
|
var ref = useRef(null);
|
|
490
|
-
|
|
491
51
|
var _useDateSegment = useDateSegment(segment, state, ref),
|
|
492
|
-
|
|
493
|
-
|
|
52
|
+
segmentProps = _useDateSegment.segmentProps;
|
|
494
53
|
var is12HourFormatted = state.segments.some(function (segment) {
|
|
495
54
|
return segment.text === 'AM' || segment.text === 'PM';
|
|
496
55
|
});
|
|
497
|
-
|
|
498
56
|
var segmentDisplayText = function segmentDisplayText() {
|
|
499
|
-
if (is12HourFormatted) return segment.text;
|
|
500
|
-
|
|
57
|
+
if (is12HourFormatted) return segment.text;
|
|
58
|
+
// if number add '0' padding to start when one digit
|
|
501
59
|
if (segment.text.match(/\d+/)) return segment.text.padStart(2, '0');
|
|
502
60
|
return segment.text;
|
|
503
61
|
};
|
|
504
|
-
|
|
505
62
|
return React.createElement("div", _extends({}, segmentProps, {
|
|
506
63
|
ref: ref,
|
|
507
64
|
className: classNames('eds-date-and-time-field__segment', {
|
|
@@ -521,24 +78,19 @@ var FieldSegment = function FieldSegment(_ref) {
|
|
|
521
78
|
* @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.
|
|
522
79
|
* @returns {Time | CalendarDateTime | ZonedDateTime | CalendarDate} et av Time- eller DateValue-objektene med verdier fra date
|
|
523
80
|
*/
|
|
524
|
-
|
|
525
81
|
var nativeDateToTimeOrDateValue = function nativeDateToTimeOrDateValue(date, noDateOnlyTime, noTimeOnlyDate, timeZone, offset) {
|
|
526
82
|
if (noDateOnlyTime === void 0) {
|
|
527
83
|
noDateOnlyTime = false;
|
|
528
84
|
}
|
|
529
|
-
|
|
530
85
|
if (noTimeOnlyDate === void 0) {
|
|
531
86
|
noTimeOnlyDate = false;
|
|
532
87
|
}
|
|
533
|
-
|
|
534
88
|
if (timeZone) {
|
|
535
89
|
if (offset) {
|
|
536
90
|
return new ZonedDateTime(date.getFullYear(), date.getMonth() + 1, date.getDate(), timeZone, offset, date.getHours(), date.getMinutes(), date.getSeconds());
|
|
537
91
|
}
|
|
538
|
-
|
|
539
92
|
return parseAbsolute(date.toISOString(), timeZone);
|
|
540
93
|
}
|
|
541
|
-
|
|
542
94
|
if (noDateOnlyTime) return new Time(date.getHours(), date.getMinutes(), date.getSeconds(), 0);
|
|
543
95
|
if (noTimeOnlyDate) return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
|
|
544
96
|
return new CalendarDateTime(date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds());
|
|
@@ -550,54 +102,55 @@ var nativeDateToTimeOrDateValue = function nativeDateToTimeOrDateValue(date, noD
|
|
|
550
102
|
* @returns {Date} et Date-objekt med verdier fra time
|
|
551
103
|
*/
|
|
552
104
|
// This function uses a lot of @ts-expect-error to make it work with all Date- and TimeValue types. Sorry ...
|
|
553
|
-
|
|
554
105
|
var timeOrDateValueToNativeDate = function timeOrDateValueToNativeDate(value, timeZoneForCalendarDateTime) {
|
|
555
106
|
// @ts-expect-error .day does not exist on Time-object
|
|
556
107
|
if (!value.day) {
|
|
557
108
|
// type is Time
|
|
558
|
-
var date = new Date();
|
|
559
|
-
|
|
560
|
-
date.setHours(value.hour);
|
|
561
|
-
|
|
562
|
-
date.setMinutes(value.minute);
|
|
563
|
-
|
|
109
|
+
var date = new Date();
|
|
110
|
+
// @ts-expect-error hour does not exist on CalendarDate
|
|
111
|
+
date.setHours(value.hour);
|
|
112
|
+
// @ts-expect-error minute does not exist on CalendarDate
|
|
113
|
+
date.setMinutes(value.minute);
|
|
114
|
+
// @ts-expect-error second does not exist on CalendarDate
|
|
564
115
|
date.setSeconds(value.second);
|
|
565
116
|
return date;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
|
|
117
|
+
}
|
|
118
|
+
// @ts-expect-error .day does not exist on Time-object
|
|
569
119
|
if (!value.hour) {
|
|
570
120
|
// type is CalendarDate
|
|
571
121
|
// @ts-expect-error .toDate(timeZone) does not exist in type Time
|
|
572
122
|
return value.toDate(timeZoneForCalendarDateTime != null ? timeZoneForCalendarDateTime : getLocalTimeZone());
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
|
|
123
|
+
}
|
|
124
|
+
// @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime
|
|
576
125
|
if (!value.timeZone) {
|
|
577
126
|
// type is CalendarDateTime
|
|
578
|
-
if (timeZoneForCalendarDateTime)
|
|
127
|
+
if (timeZoneForCalendarDateTime)
|
|
128
|
+
// @ts-expect-error .toDate(timeZone) does not exist in type Time
|
|
579
129
|
return value.toDate(timeZoneForCalendarDateTime);
|
|
580
|
-
return new Date(
|
|
581
|
-
|
|
582
|
-
value.
|
|
583
|
-
|
|
584
|
-
value.
|
|
585
|
-
|
|
130
|
+
return new Date(
|
|
131
|
+
// @ts-expect-error not in type Time
|
|
132
|
+
value.year,
|
|
133
|
+
// @ts-expect-error not in type Time
|
|
134
|
+
value.month - 1,
|
|
135
|
+
// @ts-expect-error not in type Time
|
|
136
|
+
value.day,
|
|
137
|
+
// @ts-expect-error not in type CalendarDate
|
|
138
|
+
value.hour,
|
|
139
|
+
// @ts-expect-error not in type CalendarDate
|
|
140
|
+
value.minute,
|
|
141
|
+
// @ts-expect-error not in type CalendarDate
|
|
586
142
|
value.second);
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
|
|
143
|
+
}
|
|
144
|
+
// @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime
|
|
590
145
|
return value.toDate();
|
|
591
146
|
};
|
|
592
147
|
var createCalendar = function createCalendar(identifier) {
|
|
593
148
|
if (identifier === void 0) {
|
|
594
149
|
identifier = 'gregory';
|
|
595
150
|
}
|
|
596
|
-
|
|
597
151
|
switch (identifier) {
|
|
598
152
|
case 'gregory':
|
|
599
153
|
return new GregorianCalendar();
|
|
600
|
-
|
|
601
154
|
default:
|
|
602
155
|
throw new Error("Unsupported calendar " + identifier);
|
|
603
156
|
}
|
|
@@ -610,29 +163,27 @@ var ariaLabelIfNorwegian = function ariaLabelIfNorwegian(norwegianAriaLabel, loc
|
|
|
610
163
|
var _excluded$8 = ["selectedDate", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "style", "className", "labelProps", "append"];
|
|
611
164
|
var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
612
165
|
var value = _ref.selectedDate,
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
166
|
+
label = _ref.label,
|
|
167
|
+
customLocale = _ref.locale,
|
|
168
|
+
showTimeZone = _ref.showTimeZone,
|
|
169
|
+
showTime = _ref.showTime,
|
|
170
|
+
_ref$granularity = _ref.granularity,
|
|
171
|
+
granularity = _ref$granularity === void 0 ? 'day' : _ref$granularity,
|
|
172
|
+
disabled = _ref.disabled,
|
|
173
|
+
variant = _ref.variant,
|
|
174
|
+
feedback = _ref.feedback,
|
|
175
|
+
_ref$validationVarian = _ref.validationVariant,
|
|
176
|
+
validationVariant = _ref$validationVarian === void 0 ? 'error' : _ref$validationVarian,
|
|
177
|
+
_ref$validationFeedba = _ref.validationFeedback,
|
|
178
|
+
validationFeedback = _ref$validationFeedba === void 0 ? 'Ugyldig dato' : _ref$validationFeedba,
|
|
179
|
+
labelTooltip = _ref.labelTooltip,
|
|
180
|
+
style = _ref.style,
|
|
181
|
+
className = _ref.className,
|
|
182
|
+
parentLabelProps = _ref.labelProps,
|
|
183
|
+
append = _ref.append,
|
|
184
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
|
|
633
185
|
var _useLocale = useLocale(),
|
|
634
|
-
|
|
635
|
-
|
|
186
|
+
locale = _useLocale.locale;
|
|
636
187
|
var state = useDateFieldState(_extends({}, rest, {
|
|
637
188
|
locale: customLocale != null ? customLocale : locale,
|
|
638
189
|
createCalendar: createCalendar,
|
|
@@ -641,14 +192,12 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
641
192
|
granularity: showTime ? 'minute' : granularity
|
|
642
193
|
}));
|
|
643
194
|
var dateFieldRef = useRef(null);
|
|
644
|
-
|
|
645
195
|
var _useDateField = useDateField(_extends({}, rest, {
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
196
|
+
label: label,
|
|
197
|
+
isDisabled: disabled || rest.isDisabled
|
|
198
|
+
}), state, dateFieldRef),
|
|
199
|
+
labelProps = _useDateField.labelProps,
|
|
200
|
+
fieldProps = _useDateField.fieldProps;
|
|
652
201
|
var id = useRandomId('datefield');
|
|
653
202
|
return React.createElement(ConditionalWrapper, {
|
|
654
203
|
condition: customLocale !== undefined,
|
|
@@ -684,15 +233,12 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
684
233
|
var _excluded$7 = ["children", "className", "style"];
|
|
685
234
|
var CalendarButton = function CalendarButton(_ref) {
|
|
686
235
|
var children = _ref.children,
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
236
|
+
className = _ref.className,
|
|
237
|
+
style = _ref.style,
|
|
238
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
|
|
691
239
|
var ref = useRef(null);
|
|
692
|
-
|
|
693
240
|
var _useButton = useButton(props, ref),
|
|
694
|
-
|
|
695
|
-
|
|
241
|
+
buttonProps = _useButton.buttonProps;
|
|
696
242
|
return React.createElement(IconButton, _extends({}, buttonProps, {
|
|
697
243
|
ref: ref,
|
|
698
244
|
className: className,
|
|
@@ -703,28 +249,24 @@ var CalendarButton = function CalendarButton(_ref) {
|
|
|
703
249
|
var _excluded$6 = ["state", "date", "onSelectedCellClick"];
|
|
704
250
|
var CalendarCell = function CalendarCell(_ref) {
|
|
705
251
|
var _state$timeZone;
|
|
706
|
-
|
|
707
252
|
var state = _ref.state,
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
253
|
+
date = _ref.date,
|
|
254
|
+
_ref$onSelectedCellCl = _ref.onSelectedCellClick,
|
|
255
|
+
onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
|
|
256
|
+
return;
|
|
257
|
+
} : _ref$onSelectedCellCl,
|
|
258
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
715
259
|
var cellRef = useRef(null);
|
|
716
|
-
|
|
717
260
|
var _useCalendarCell = useCalendarCell({
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
261
|
+
date: date
|
|
262
|
+
}, state, cellRef),
|
|
263
|
+
cellProps = _useCalendarCell.cellProps,
|
|
264
|
+
buttonProps = _useCalendarCell.buttonProps,
|
|
265
|
+
isSelected = _useCalendarCell.isSelected,
|
|
266
|
+
isOutsideVisibleRange = _useCalendarCell.isOutsideVisibleRange,
|
|
267
|
+
isDisabled = _useCalendarCell.isDisabled,
|
|
268
|
+
isUnavailable = _useCalendarCell.isUnavailable,
|
|
269
|
+
formattedDate = _useCalendarCell.formattedDate;
|
|
728
270
|
return React.createElement("td", _extends({}, cellProps, {
|
|
729
271
|
className: "eds-datepicker__calendar__grid__cell__td"
|
|
730
272
|
}), React.createElement("div", _extends({}, buttonProps, {
|
|
@@ -747,26 +289,21 @@ var CalendarCell = function CalendarCell(_ref) {
|
|
|
747
289
|
var _excluded$5 = ["state", "navigationDescription", "onSelectedCellClick"];
|
|
748
290
|
var CalendarGrid = function CalendarGrid(_ref) {
|
|
749
291
|
var state = _ref.state,
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
292
|
+
navigationDescription = _ref.navigationDescription,
|
|
293
|
+
_ref$onSelectedCellCl = _ref.onSelectedCellClick,
|
|
294
|
+
onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
|
|
295
|
+
return;
|
|
296
|
+
} : _ref$onSelectedCellCl,
|
|
297
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
757
298
|
var calendarGridId = useRandomId('eds-calendar');
|
|
758
|
-
|
|
759
299
|
var _useLocale = useLocale(),
|
|
760
|
-
|
|
761
|
-
|
|
300
|
+
locale = _useLocale.locale;
|
|
762
301
|
var _useCalendarGrid = useCalendarGrid(rest, state),
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
302
|
+
gridProps = _useCalendarGrid.gridProps,
|
|
303
|
+
headerProps = _useCalendarGrid.headerProps,
|
|
304
|
+
weekDays = _useCalendarGrid.weekDays;
|
|
767
305
|
var weeksInMonth = getWeeksInMonth(state.visibleRange.start, locale);
|
|
768
306
|
var weeksArray = Array.from(Array(weeksInMonth).keys());
|
|
769
|
-
|
|
770
307
|
var weekDaysMapped = function weekDaysMapped() {
|
|
771
308
|
if (locale.toLowerCase() === 'no-no' || locale.toLowerCase() === 'no') return ['ma', 'ti', 'on', 'to', 'fr', 'lø', 'sø'];
|
|
772
309
|
if (weekDays.toString() === 'M,T,W,T,F,S,S') return ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
|
|
@@ -774,13 +311,11 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
774
311
|
return day.toLowerCase();
|
|
775
312
|
});
|
|
776
313
|
};
|
|
777
|
-
|
|
778
314
|
var getNavigationDescription = function getNavigationDescription() {
|
|
779
315
|
if (navigationDescription) return navigationDescription;
|
|
780
316
|
if (locale.toLowerCase().includes('en')) return 'Use the arrow keys to navigate between dates';
|
|
781
317
|
return 'Bruk piltastene til å navigere mellom datoer';
|
|
782
318
|
};
|
|
783
|
-
|
|
784
319
|
return React.createElement(React.Fragment, null, React.createElement("table", _extends({}, gridProps, {
|
|
785
320
|
cellSpacing: "0",
|
|
786
321
|
className: "eds-datepicker__calendar__grid"
|
|
@@ -810,30 +345,26 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
810
345
|
var _excluded$4 = ["selectedDate", "onChange", "locale", "style", "children", "navigationDescription", "onSelectedCellClick"];
|
|
811
346
|
var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
812
347
|
var onChange = _ref.onChange,
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
348
|
+
customLocale = _ref.locale,
|
|
349
|
+
style = _ref.style,
|
|
350
|
+
navigationDescription = _ref.navigationDescription,
|
|
351
|
+
_ref$onSelectedCellCl = _ref.onSelectedCellClick,
|
|
352
|
+
onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
|
|
353
|
+
return;
|
|
354
|
+
} : _ref$onSelectedCellCl,
|
|
355
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
822
356
|
var _useLocale = useLocale(),
|
|
823
|
-
|
|
824
|
-
|
|
357
|
+
locale = _useLocale.locale;
|
|
825
358
|
var state = useCalendarState(_extends({}, rest, {
|
|
826
359
|
onChange: onChange,
|
|
827
360
|
locale: customLocale != null ? customLocale : locale,
|
|
828
361
|
createCalendar: createCalendar
|
|
829
362
|
}));
|
|
830
|
-
|
|
831
363
|
var _useCalendar = useCalendar(rest, state),
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
364
|
+
calendarProps = _useCalendar.calendarProps,
|
|
365
|
+
prevButtonProps = _useCalendar.prevButtonProps,
|
|
366
|
+
nextButtonProps = _useCalendar.nextButtonProps,
|
|
367
|
+
title = _useCalendar.title;
|
|
837
368
|
return React.createElement(ConditionalWrapper, {
|
|
838
369
|
condition: customLocale,
|
|
839
370
|
wrapper: function wrapper(child) {
|
|
@@ -863,85 +394,76 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
863
394
|
});
|
|
864
395
|
|
|
865
396
|
var _excluded$3 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold"];
|
|
866
|
-
var
|
|
397
|
+
var DatePicker = function DatePicker(_ref) {
|
|
867
398
|
var value = _ref.selectedDate,
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
399
|
+
onChange = _ref.onChange,
|
|
400
|
+
locale = _ref.locale,
|
|
401
|
+
isDisabled = _ref.disabled,
|
|
402
|
+
showTime = _ref.showTime,
|
|
403
|
+
_ref$showTimeZone = _ref.showTimeZone,
|
|
404
|
+
showTimeZone = _ref$showTimeZone === void 0 ? false : _ref$showTimeZone,
|
|
405
|
+
className = _ref.className,
|
|
406
|
+
variant = _ref.variant,
|
|
407
|
+
feedback = _ref.feedback,
|
|
408
|
+
validationVariant = _ref.validationVariant,
|
|
409
|
+
validationFeedback = _ref.validationFeedback,
|
|
410
|
+
_ref$disableModal = _ref.disableModal,
|
|
411
|
+
disableModal = _ref$disableModal === void 0 ? false : _ref$disableModal,
|
|
412
|
+
labelTooltip = _ref.labelTooltip,
|
|
413
|
+
navigationDescription = _ref.navigationDescription,
|
|
414
|
+
minValue = _ref.minDate,
|
|
415
|
+
maxValue = _ref.maxDate,
|
|
416
|
+
_ref$modalTreshold = _ref.modalTreshold,
|
|
417
|
+
modalTreshold = _ref$modalTreshold === void 0 ? 1000 : _ref$modalTreshold,
|
|
418
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
889
419
|
var CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;
|
|
890
420
|
var datePickerRef = useRef(null);
|
|
891
421
|
var calendarRef = useRef(null);
|
|
892
422
|
var dateFieldRef = useRef(null);
|
|
893
|
-
|
|
894
423
|
var _useWindowDimensions = useWindowDimensions(),
|
|
895
|
-
|
|
896
|
-
|
|
424
|
+
width = _useWindowDimensions.width;
|
|
897
425
|
var state = useDatePickerState(_extends({}, rest, {
|
|
898
426
|
minValue: minValue,
|
|
899
427
|
maxValue: maxValue,
|
|
900
428
|
value: value,
|
|
901
429
|
onChange: onChange
|
|
902
430
|
}));
|
|
903
|
-
|
|
904
431
|
var _useDatePicker = useDatePicker(_extends({
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
432
|
+
isDisabled: isDisabled,
|
|
433
|
+
minValue: minValue,
|
|
434
|
+
maxValue: maxValue
|
|
435
|
+
}, rest), state, datePickerRef),
|
|
436
|
+
groupProps = _useDatePicker.groupProps,
|
|
437
|
+
labelProps = _useDatePicker.labelProps,
|
|
438
|
+
fieldProps = _useDatePicker.fieldProps,
|
|
439
|
+
buttonProps = _useDatePicker.buttonProps,
|
|
440
|
+
dialogProps = _useDatePicker.dialogProps,
|
|
441
|
+
calendarProps = _useDatePicker.calendarProps;
|
|
442
|
+
// calculations for floating-UI popover position
|
|
918
443
|
var _useFloating = useFloating({
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
444
|
+
whileElementsMounted: autoUpdate,
|
|
445
|
+
placement: 'bottom-start',
|
|
446
|
+
middleware: [offset(space.extraSmall), flip(), shift({
|
|
447
|
+
padding: space.extraSmall
|
|
448
|
+
})]
|
|
449
|
+
}),
|
|
450
|
+
x = _useFloating.x,
|
|
451
|
+
y = _useFloating.y,
|
|
452
|
+
reference = _useFloating.reference,
|
|
453
|
+
floating = _useFloating.floating,
|
|
454
|
+
strategy = _useFloating.strategy;
|
|
931
455
|
var onChangeCalendar = function onChangeCalendar(newSelectedDate) {
|
|
932
456
|
// Necessary to avoid state update on unmounted component
|
|
933
457
|
requestAnimationFrame(function () {
|
|
934
458
|
calendarProps.onChange && calendarProps.onChange(newSelectedDate);
|
|
935
459
|
});
|
|
936
460
|
};
|
|
937
|
-
|
|
938
461
|
useOnClickOutside([calendarRef], function () {
|
|
939
462
|
state.setOpen(false);
|
|
940
463
|
});
|
|
941
464
|
useOnEscape(calendarRef, function () {
|
|
942
465
|
state.setOpen(false);
|
|
943
466
|
});
|
|
944
|
-
|
|
945
467
|
var calendarSharedProps = _extends({}, dialogProps, calendarProps, {
|
|
946
468
|
disabled: calendarProps.isDisabled,
|
|
947
469
|
navigationDescription: navigationDescription,
|
|
@@ -950,7 +472,6 @@ var DatePickerBeta = function DatePickerBeta(_ref) {
|
|
|
950
472
|
},
|
|
951
473
|
onChange: onChangeCalendar
|
|
952
474
|
});
|
|
953
|
-
|
|
954
475
|
var useModal = width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH && !disableModal;
|
|
955
476
|
var popoverCalendar = React.createElement("div", {
|
|
956
477
|
// styling for floating-UI popover
|
|
@@ -1019,21 +540,20 @@ var DatePickerBeta = function DatePickerBeta(_ref) {
|
|
|
1019
540
|
};
|
|
1020
541
|
|
|
1021
542
|
var _excluded$2 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
|
|
1022
|
-
|
|
543
|
+
_excluded2$1 = ["onChange", "variant", "value"];
|
|
1023
544
|
var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
1024
545
|
var className = _ref.className,
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
546
|
+
style = _ref.style,
|
|
547
|
+
label = _ref.label,
|
|
548
|
+
onChange = _ref.onChange,
|
|
549
|
+
feedback = _ref.feedback,
|
|
550
|
+
variant = _ref.variant,
|
|
551
|
+
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
552
|
+
_ref$prepend = _ref.prepend,
|
|
553
|
+
prepend = _ref$prepend === void 0 ? React.createElement(DateIcon, {
|
|
554
|
+
inline: true
|
|
555
|
+
}) : _ref$prepend,
|
|
556
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
1037
557
|
var nativedatepickerId = useRandomId('eds-nativetimepicker');
|
|
1038
558
|
return React.createElement(BaseFormControl, {
|
|
1039
559
|
style: style,
|
|
@@ -1054,17 +574,14 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
1054
574
|
});
|
|
1055
575
|
var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
1056
576
|
var onChange = _ref2.onChange,
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
577
|
+
variant = _ref2.variant,
|
|
578
|
+
value = _ref2.value,
|
|
579
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
|
|
1061
580
|
var contextVariant = useVariant();
|
|
1062
581
|
var currentVariant = variant || contextVariant;
|
|
1063
|
-
|
|
1064
582
|
var _useInputGroupContext = useInputGroupContext(),
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
583
|
+
isDatepickerFilled = _useInputGroupContext.isFilled,
|
|
584
|
+
setFiller = _useInputGroupContext.setFilled;
|
|
1068
585
|
useOnMount(function () {
|
|
1069
586
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
1070
587
|
});
|
|
@@ -1075,19 +592,16 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
1075
592
|
setFiller && isDatepickerFilled && setFiller(false);
|
|
1076
593
|
}
|
|
1077
594
|
}, [value, setFiller, isDatepickerFilled]);
|
|
1078
|
-
|
|
1079
595
|
var handleChange = function handleChange(event) {
|
|
1080
596
|
if (isFilled(event.target)) {
|
|
1081
597
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
1082
598
|
} else {
|
|
1083
599
|
setFiller && isDatepickerFilled && setFiller(false);
|
|
1084
600
|
}
|
|
1085
|
-
|
|
1086
601
|
if (onChange) {
|
|
1087
602
|
onChange(event);
|
|
1088
603
|
}
|
|
1089
604
|
};
|
|
1090
|
-
|
|
1091
605
|
return React.createElement("input", _extends({
|
|
1092
606
|
ref: ref,
|
|
1093
607
|
"aria-invalid": currentVariant === 'error',
|
|
@@ -1100,9 +614,9 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
1100
614
|
|
|
1101
615
|
var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
|
|
1102
616
|
var direction = _ref.direction,
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
617
|
+
onClick = _ref.onClick,
|
|
618
|
+
disabled = _ref.disabled,
|
|
619
|
+
ariaLabel = _ref['aria-label'];
|
|
1106
620
|
return React.createElement(IconButton, {
|
|
1107
621
|
className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction, {
|
|
1108
622
|
'eds-timepicker__arrowbutton--disabled': disabled
|
|
@@ -1118,27 +632,25 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
|
|
|
1118
632
|
var _excluded$1 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "locale", "showTimeZone", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel"];
|
|
1119
633
|
var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
1120
634
|
var selectedTime = _ref.selectedTime,
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
635
|
+
onChange = _ref.onChange,
|
|
636
|
+
disabled = _ref.disabled,
|
|
637
|
+
className = _ref.className,
|
|
638
|
+
style = _ref.style,
|
|
639
|
+
label = _ref.label,
|
|
640
|
+
labelTooltip = _ref.labelTooltip,
|
|
641
|
+
feedback = _ref.feedback,
|
|
642
|
+
variant = _ref.variant,
|
|
643
|
+
customLocale = _ref.locale,
|
|
644
|
+
showTimeZone = _ref.showTimeZone,
|
|
645
|
+
_ref$minuteIncrementF = _ref.minuteIncrementForArrowButtons,
|
|
646
|
+
minuteIncrementForArrowButtons = _ref$minuteIncrementF === void 0 ? 30 : _ref$minuteIncrementF,
|
|
647
|
+
_ref$leftArrowButtonA = _ref.leftArrowButtonAriaLabel,
|
|
648
|
+
leftArrowButtonAriaLabel = _ref$leftArrowButtonA === void 0 ? "Trekk fra " + minuteIncrementForArrowButtons + " minutter" : _ref$leftArrowButtonA,
|
|
649
|
+
_ref$rightArrowButton = _ref.rightArrowButtonAriaLabel,
|
|
650
|
+
rightArrowButtonAriaLabel = _ref$rightArrowButton === void 0 ? "Legg til " + minuteIncrementForArrowButtons + " minutter" : _ref$rightArrowButton,
|
|
651
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
1139
652
|
var _useLocale = useLocale(),
|
|
1140
|
-
|
|
1141
|
-
|
|
653
|
+
locale = _useLocale.locale;
|
|
1142
654
|
if (customLocale) locale = customLocale;
|
|
1143
655
|
var state = useTimeFieldState(_extends({
|
|
1144
656
|
onChange: onChange,
|
|
@@ -1149,15 +661,12 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
1149
661
|
isDisabled: disabled
|
|
1150
662
|
}, rest));
|
|
1151
663
|
var timeFieldRef = useRef(null);
|
|
1152
|
-
|
|
1153
664
|
var _useTimeField = useTimeField(_extends({}, rest, {
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
665
|
+
label: label
|
|
666
|
+
}), state, timeFieldRef),
|
|
667
|
+
labelProps = _useTimeField.labelProps,
|
|
668
|
+
fieldProps = _useTimeField.fieldProps;
|
|
1159
669
|
var id = useRandomId('timepicker');
|
|
1160
|
-
|
|
1161
670
|
var handleOnClickArrowButton = function handleOnClickArrowButton(minutes) {
|
|
1162
671
|
if (someSegmentIsUndefined) {
|
|
1163
672
|
setTimeToNearestMinuteIncrement();
|
|
@@ -1165,11 +674,9 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
1165
674
|
addMinutesToSelectedTime(minutes);
|
|
1166
675
|
}
|
|
1167
676
|
};
|
|
1168
|
-
|
|
1169
677
|
var someSegmentIsUndefined = state.segments.some(function (segment) {
|
|
1170
678
|
return segment.text === '––';
|
|
1171
679
|
});
|
|
1172
|
-
|
|
1173
680
|
var setTimeToNearestMinuteIncrement = function setTimeToNearestMinuteIncrement() {
|
|
1174
681
|
var currentTime = now(getLocalTimeZone());
|
|
1175
682
|
var roundedMinute = Math.floor(currentTime.minute / minuteIncrementForArrowButtons) * minuteIncrementForArrowButtons;
|
|
@@ -1178,15 +685,12 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
1178
685
|
});
|
|
1179
686
|
onChange(newTime);
|
|
1180
687
|
};
|
|
1181
|
-
|
|
1182
688
|
var addMinutesToSelectedTime = function addMinutesToSelectedTime(minutes) {
|
|
1183
689
|
var _state$value;
|
|
1184
|
-
|
|
1185
690
|
state.value && state.setValue((_state$value = state.value) == null ? void 0 : _state$value.add({
|
|
1186
691
|
minutes: minutes
|
|
1187
692
|
}));
|
|
1188
693
|
};
|
|
1189
|
-
|
|
1190
694
|
return React.createElement(I18nProvider, {
|
|
1191
695
|
locale: locale
|
|
1192
696
|
}, React.createElement("div", {
|
|
@@ -1228,17 +732,16 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
1228
732
|
});
|
|
1229
733
|
|
|
1230
734
|
var _excluded = ["className", "style", "onChange", "label", "feedback", "variant", "prepend"],
|
|
1231
|
-
|
|
735
|
+
_excluded2 = ["onChange", "value"];
|
|
1232
736
|
var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
1233
737
|
var className = _ref.className,
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
738
|
+
style = _ref.style,
|
|
739
|
+
onChange = _ref.onChange,
|
|
740
|
+
label = _ref.label,
|
|
741
|
+
feedback = _ref.feedback,
|
|
742
|
+
variant = _ref.variant,
|
|
743
|
+
prepend = _ref.prepend,
|
|
744
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
1242
745
|
var nativetimepickerId = useRandomId('eds-native-timepicker');
|
|
1243
746
|
return React.createElement(BaseFormControl, {
|
|
1244
747
|
style: style,
|
|
@@ -1257,16 +760,13 @@ var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
1257
760
|
});
|
|
1258
761
|
var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
1259
762
|
var onChange = _ref2.onChange,
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
763
|
+
value = _ref2.value,
|
|
764
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
1263
765
|
var contextVariant = useVariant();
|
|
1264
766
|
var currentVariant = rest.variant || contextVariant;
|
|
1265
|
-
|
|
1266
767
|
var _useInputGroupContext = useInputGroupContext(),
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
768
|
+
isTimepickerFilled = _useInputGroupContext.isFilled,
|
|
769
|
+
setFiller = _useInputGroupContext.setFilled;
|
|
1270
770
|
useOnMount(function () {
|
|
1271
771
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
1272
772
|
});
|
|
@@ -1277,19 +777,16 @@ var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
1277
777
|
setFiller && isTimepickerFilled && setFiller(false);
|
|
1278
778
|
}
|
|
1279
779
|
}, [value, setFiller, isTimepickerFilled]);
|
|
1280
|
-
|
|
1281
780
|
var handleChange = function handleChange(event) {
|
|
1282
781
|
if (isFilled(event.target)) {
|
|
1283
782
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
1284
783
|
} else {
|
|
1285
784
|
setFiller && isTimepickerFilled && setFiller(false);
|
|
1286
785
|
}
|
|
1287
|
-
|
|
1288
786
|
if (onChange) {
|
|
1289
787
|
onChange(event);
|
|
1290
788
|
}
|
|
1291
789
|
};
|
|
1292
|
-
|
|
1293
790
|
return React.createElement("input", _extends({
|
|
1294
791
|
ref: ref,
|
|
1295
792
|
"aria-invalid": currentVariant === 'error',
|
|
@@ -1302,5 +799,5 @@ var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
1302
799
|
|
|
1303
800
|
warnAboutMissingStyles('datepicker', 'form', 'icons');
|
|
1304
801
|
|
|
1305
|
-
export { Calendar, DateField, DatePicker,
|
|
802
|
+
export { Calendar, DateField, DatePicker, NativeDatePicker, NativeTimePicker, TimePicker, ariaLabelIfNorwegian, createCalendar, nativeDateToTimeOrDateValue, timeOrDateValueToNativeDate };
|
|
1306
803
|
//# sourceMappingURL=datepicker.esm.js.map
|