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