@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
package/dist/datepicker.esm.js
CHANGED
|
@@ -18,57 +18,47 @@ import { space, zIndexes } from '@entur/tokens';
|
|
|
18
18
|
import { Modal } from '@entur/modal';
|
|
19
19
|
|
|
20
20
|
function _extends() {
|
|
21
|
-
_extends = Object.assign
|
|
21
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
22
22
|
for (var i = 1; i < arguments.length; i++) {
|
|
23
23
|
var source = arguments[i];
|
|
24
|
-
|
|
25
24
|
for (var key in source) {
|
|
26
25
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
27
26
|
target[key] = source[key];
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
|
-
|
|
32
30
|
return target;
|
|
33
31
|
};
|
|
34
|
-
|
|
35
32
|
return _extends.apply(this, arguments);
|
|
36
33
|
}
|
|
37
|
-
|
|
38
34
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
39
35
|
if (source == null) return {};
|
|
40
36
|
var target = {};
|
|
41
37
|
var sourceKeys = Object.keys(source);
|
|
42
38
|
var key, i;
|
|
43
|
-
|
|
44
39
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
45
40
|
key = sourceKeys[i];
|
|
46
41
|
if (excluded.indexOf(key) >= 0) continue;
|
|
47
42
|
target[key] = source[key];
|
|
48
43
|
}
|
|
49
|
-
|
|
50
44
|
return target;
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
var FieldSegment = function FieldSegment(_ref) {
|
|
54
48
|
var segment = _ref.segment,
|
|
55
|
-
|
|
49
|
+
state = _ref.state;
|
|
56
50
|
var ref = useRef(null);
|
|
57
|
-
|
|
58
51
|
var _useDateSegment = useDateSegment(segment, state, ref),
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
segmentProps = _useDateSegment.segmentProps;
|
|
61
53
|
var is12HourFormatted = state.segments.some(function (segment) {
|
|
62
54
|
return segment.text === 'AM' || segment.text === 'PM';
|
|
63
55
|
});
|
|
64
|
-
|
|
65
56
|
var segmentDisplayText = function segmentDisplayText() {
|
|
66
|
-
if (is12HourFormatted) return segment.text;
|
|
67
|
-
|
|
57
|
+
if (is12HourFormatted) return segment.text;
|
|
58
|
+
// if number add '0' padding to start when one digit
|
|
68
59
|
if (segment.text.match(/\d+/)) return segment.text.padStart(2, '0');
|
|
69
60
|
return segment.text;
|
|
70
61
|
};
|
|
71
|
-
|
|
72
62
|
return React.createElement("div", _extends({}, segmentProps, {
|
|
73
63
|
ref: ref,
|
|
74
64
|
className: classNames('eds-date-and-time-field__segment', {
|
|
@@ -88,24 +78,19 @@ var FieldSegment = function FieldSegment(_ref) {
|
|
|
88
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.
|
|
89
79
|
* @returns {Time | CalendarDateTime | ZonedDateTime | CalendarDate} et av Time- eller DateValue-objektene med verdier fra date
|
|
90
80
|
*/
|
|
91
|
-
|
|
92
81
|
var nativeDateToTimeOrDateValue = function nativeDateToTimeOrDateValue(date, noDateOnlyTime, noTimeOnlyDate, timeZone, offset) {
|
|
93
82
|
if (noDateOnlyTime === void 0) {
|
|
94
83
|
noDateOnlyTime = false;
|
|
95
84
|
}
|
|
96
|
-
|
|
97
85
|
if (noTimeOnlyDate === void 0) {
|
|
98
86
|
noTimeOnlyDate = false;
|
|
99
87
|
}
|
|
100
|
-
|
|
101
88
|
if (timeZone) {
|
|
102
89
|
if (offset) {
|
|
103
90
|
return new ZonedDateTime(date.getFullYear(), date.getMonth() + 1, date.getDate(), timeZone, offset, date.getHours(), date.getMinutes(), date.getSeconds());
|
|
104
91
|
}
|
|
105
|
-
|
|
106
92
|
return parseAbsolute(date.toISOString(), timeZone);
|
|
107
93
|
}
|
|
108
|
-
|
|
109
94
|
if (noDateOnlyTime) return new Time(date.getHours(), date.getMinutes(), date.getSeconds(), 0);
|
|
110
95
|
if (noTimeOnlyDate) return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
|
|
111
96
|
return new CalendarDateTime(date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds());
|
|
@@ -117,54 +102,55 @@ var nativeDateToTimeOrDateValue = function nativeDateToTimeOrDateValue(date, noD
|
|
|
117
102
|
* @returns {Date} et Date-objekt med verdier fra time
|
|
118
103
|
*/
|
|
119
104
|
// This function uses a lot of @ts-expect-error to make it work with all Date- and TimeValue types. Sorry ...
|
|
120
|
-
|
|
121
105
|
var timeOrDateValueToNativeDate = function timeOrDateValueToNativeDate(value, timeZoneForCalendarDateTime) {
|
|
122
106
|
// @ts-expect-error .day does not exist on Time-object
|
|
123
107
|
if (!value.day) {
|
|
124
108
|
// type is Time
|
|
125
|
-
var date = new Date();
|
|
126
|
-
|
|
127
|
-
date.setHours(value.hour);
|
|
128
|
-
|
|
129
|
-
date.setMinutes(value.minute);
|
|
130
|
-
|
|
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
|
|
131
115
|
date.setSeconds(value.second);
|
|
132
116
|
return date;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
117
|
+
}
|
|
118
|
+
// @ts-expect-error .day does not exist on Time-object
|
|
136
119
|
if (!value.hour) {
|
|
137
120
|
// type is CalendarDate
|
|
138
121
|
// @ts-expect-error .toDate(timeZone) does not exist in type Time
|
|
139
122
|
return value.toDate(timeZoneForCalendarDateTime != null ? timeZoneForCalendarDateTime : getLocalTimeZone());
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
123
|
+
}
|
|
124
|
+
// @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime
|
|
143
125
|
if (!value.timeZone) {
|
|
144
126
|
// type is CalendarDateTime
|
|
145
|
-
if (timeZoneForCalendarDateTime)
|
|
127
|
+
if (timeZoneForCalendarDateTime)
|
|
128
|
+
// @ts-expect-error .toDate(timeZone) does not exist in type Time
|
|
146
129
|
return value.toDate(timeZoneForCalendarDateTime);
|
|
147
|
-
return new Date(
|
|
148
|
-
|
|
149
|
-
value.
|
|
150
|
-
|
|
151
|
-
value.
|
|
152
|
-
|
|
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
|
|
153
142
|
value.second);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
143
|
+
}
|
|
144
|
+
// @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime
|
|
157
145
|
return value.toDate();
|
|
158
146
|
};
|
|
159
147
|
var createCalendar = function createCalendar(identifier) {
|
|
160
148
|
if (identifier === void 0) {
|
|
161
149
|
identifier = 'gregory';
|
|
162
150
|
}
|
|
163
|
-
|
|
164
151
|
switch (identifier) {
|
|
165
152
|
case 'gregory':
|
|
166
153
|
return new GregorianCalendar();
|
|
167
|
-
|
|
168
154
|
default:
|
|
169
155
|
throw new Error("Unsupported calendar " + identifier);
|
|
170
156
|
}
|
|
@@ -177,29 +163,27 @@ var ariaLabelIfNorwegian = function ariaLabelIfNorwegian(norwegianAriaLabel, loc
|
|
|
177
163
|
var _excluded$8 = ["selectedDate", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "style", "className", "labelProps", "append"];
|
|
178
164
|
var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
179
165
|
var value = _ref.selectedDate,
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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);
|
|
200
185
|
var _useLocale = useLocale(),
|
|
201
|
-
|
|
202
|
-
|
|
186
|
+
locale = _useLocale.locale;
|
|
203
187
|
var state = useDateFieldState(_extends({}, rest, {
|
|
204
188
|
locale: customLocale != null ? customLocale : locale,
|
|
205
189
|
createCalendar: createCalendar,
|
|
@@ -208,14 +192,12 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
208
192
|
granularity: showTime ? 'minute' : granularity
|
|
209
193
|
}));
|
|
210
194
|
var dateFieldRef = useRef(null);
|
|
211
|
-
|
|
212
195
|
var _useDateField = useDateField(_extends({}, rest, {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
196
|
+
label: label,
|
|
197
|
+
isDisabled: disabled || rest.isDisabled
|
|
198
|
+
}), state, dateFieldRef),
|
|
199
|
+
labelProps = _useDateField.labelProps,
|
|
200
|
+
fieldProps = _useDateField.fieldProps;
|
|
219
201
|
var id = useRandomId('datefield');
|
|
220
202
|
return React.createElement(ConditionalWrapper, {
|
|
221
203
|
condition: customLocale !== undefined,
|
|
@@ -251,15 +233,12 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
251
233
|
var _excluded$7 = ["children", "className", "style"];
|
|
252
234
|
var CalendarButton = function CalendarButton(_ref) {
|
|
253
235
|
var children = _ref.children,
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
236
|
+
className = _ref.className,
|
|
237
|
+
style = _ref.style,
|
|
238
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
|
|
258
239
|
var ref = useRef(null);
|
|
259
|
-
|
|
260
240
|
var _useButton = useButton(props, ref),
|
|
261
|
-
|
|
262
|
-
|
|
241
|
+
buttonProps = _useButton.buttonProps;
|
|
263
242
|
return React.createElement(IconButton, _extends({}, buttonProps, {
|
|
264
243
|
ref: ref,
|
|
265
244
|
className: className,
|
|
@@ -270,28 +249,24 @@ var CalendarButton = function CalendarButton(_ref) {
|
|
|
270
249
|
var _excluded$6 = ["state", "date", "onSelectedCellClick"];
|
|
271
250
|
var CalendarCell = function CalendarCell(_ref) {
|
|
272
251
|
var _state$timeZone;
|
|
273
|
-
|
|
274
252
|
var state = _ref.state,
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
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);
|
|
282
259
|
var cellRef = useRef(null);
|
|
283
|
-
|
|
284
260
|
var _useCalendarCell = useCalendarCell({
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
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;
|
|
295
270
|
return React.createElement("td", _extends({}, cellProps, {
|
|
296
271
|
className: "eds-datepicker__calendar__grid__cell__td"
|
|
297
272
|
}), React.createElement("div", _extends({}, buttonProps, {
|
|
@@ -314,26 +289,21 @@ var CalendarCell = function CalendarCell(_ref) {
|
|
|
314
289
|
var _excluded$5 = ["state", "navigationDescription", "onSelectedCellClick"];
|
|
315
290
|
var CalendarGrid = function CalendarGrid(_ref) {
|
|
316
291
|
var state = _ref.state,
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
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);
|
|
324
298
|
var calendarGridId = useRandomId('eds-calendar');
|
|
325
|
-
|
|
326
299
|
var _useLocale = useLocale(),
|
|
327
|
-
|
|
328
|
-
|
|
300
|
+
locale = _useLocale.locale;
|
|
329
301
|
var _useCalendarGrid = useCalendarGrid(rest, state),
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
302
|
+
gridProps = _useCalendarGrid.gridProps,
|
|
303
|
+
headerProps = _useCalendarGrid.headerProps,
|
|
304
|
+
weekDays = _useCalendarGrid.weekDays;
|
|
334
305
|
var weeksInMonth = getWeeksInMonth(state.visibleRange.start, locale);
|
|
335
306
|
var weeksArray = Array.from(Array(weeksInMonth).keys());
|
|
336
|
-
|
|
337
307
|
var weekDaysMapped = function weekDaysMapped() {
|
|
338
308
|
if (locale.toLowerCase() === 'no-no' || locale.toLowerCase() === 'no') return ['ma', 'ti', 'on', 'to', 'fr', 'lø', 'sø'];
|
|
339
309
|
if (weekDays.toString() === 'M,T,W,T,F,S,S') return ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
|
|
@@ -341,13 +311,11 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
341
311
|
return day.toLowerCase();
|
|
342
312
|
});
|
|
343
313
|
};
|
|
344
|
-
|
|
345
314
|
var getNavigationDescription = function getNavigationDescription() {
|
|
346
315
|
if (navigationDescription) return navigationDescription;
|
|
347
316
|
if (locale.toLowerCase().includes('en')) return 'Use the arrow keys to navigate between dates';
|
|
348
317
|
return 'Bruk piltastene til å navigere mellom datoer';
|
|
349
318
|
};
|
|
350
|
-
|
|
351
319
|
return React.createElement(React.Fragment, null, React.createElement("table", _extends({}, gridProps, {
|
|
352
320
|
cellSpacing: "0",
|
|
353
321
|
className: "eds-datepicker__calendar__grid"
|
|
@@ -377,30 +345,26 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
377
345
|
var _excluded$4 = ["selectedDate", "onChange", "locale", "style", "children", "navigationDescription", "onSelectedCellClick"];
|
|
378
346
|
var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
379
347
|
var onChange = _ref.onChange,
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
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);
|
|
389
356
|
var _useLocale = useLocale(),
|
|
390
|
-
|
|
391
|
-
|
|
357
|
+
locale = _useLocale.locale;
|
|
392
358
|
var state = useCalendarState(_extends({}, rest, {
|
|
393
359
|
onChange: onChange,
|
|
394
360
|
locale: customLocale != null ? customLocale : locale,
|
|
395
361
|
createCalendar: createCalendar
|
|
396
362
|
}));
|
|
397
|
-
|
|
398
363
|
var _useCalendar = useCalendar(rest, state),
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
364
|
+
calendarProps = _useCalendar.calendarProps,
|
|
365
|
+
prevButtonProps = _useCalendar.prevButtonProps,
|
|
366
|
+
nextButtonProps = _useCalendar.nextButtonProps,
|
|
367
|
+
title = _useCalendar.title;
|
|
404
368
|
return React.createElement(ConditionalWrapper, {
|
|
405
369
|
condition: customLocale,
|
|
406
370
|
wrapper: function wrapper(child) {
|
|
@@ -432,83 +396,74 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
432
396
|
var _excluded$3 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold"];
|
|
433
397
|
var DatePicker = function DatePicker(_ref) {
|
|
434
398
|
var value = _ref.selectedDate,
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
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);
|
|
456
419
|
var CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;
|
|
457
420
|
var datePickerRef = useRef(null);
|
|
458
421
|
var calendarRef = useRef(null);
|
|
459
422
|
var dateFieldRef = useRef(null);
|
|
460
|
-
|
|
461
423
|
var _useWindowDimensions = useWindowDimensions(),
|
|
462
|
-
|
|
463
|
-
|
|
424
|
+
width = _useWindowDimensions.width;
|
|
464
425
|
var state = useDatePickerState(_extends({}, rest, {
|
|
465
426
|
minValue: minValue,
|
|
466
427
|
maxValue: maxValue,
|
|
467
428
|
value: value,
|
|
468
429
|
onChange: onChange
|
|
469
430
|
}));
|
|
470
|
-
|
|
471
431
|
var _useDatePicker = useDatePicker(_extends({
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
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
|
|
485
443
|
var _useFloating = useFloating({
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
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;
|
|
498
455
|
var onChangeCalendar = function onChangeCalendar(newSelectedDate) {
|
|
499
456
|
// Necessary to avoid state update on unmounted component
|
|
500
457
|
requestAnimationFrame(function () {
|
|
501
458
|
calendarProps.onChange && calendarProps.onChange(newSelectedDate);
|
|
502
459
|
});
|
|
503
460
|
};
|
|
504
|
-
|
|
505
461
|
useOnClickOutside([calendarRef], function () {
|
|
506
462
|
state.setOpen(false);
|
|
507
463
|
});
|
|
508
464
|
useOnEscape(calendarRef, function () {
|
|
509
465
|
state.setOpen(false);
|
|
510
466
|
});
|
|
511
|
-
|
|
512
467
|
var calendarSharedProps = _extends({}, dialogProps, calendarProps, {
|
|
513
468
|
disabled: calendarProps.isDisabled,
|
|
514
469
|
navigationDescription: navigationDescription,
|
|
@@ -517,7 +472,6 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
517
472
|
},
|
|
518
473
|
onChange: onChangeCalendar
|
|
519
474
|
});
|
|
520
|
-
|
|
521
475
|
var useModal = width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH && !disableModal;
|
|
522
476
|
var popoverCalendar = React.createElement("div", {
|
|
523
477
|
// styling for floating-UI popover
|
|
@@ -586,21 +540,20 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
586
540
|
};
|
|
587
541
|
|
|
588
542
|
var _excluded$2 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
|
|
589
|
-
|
|
543
|
+
_excluded2$1 = ["onChange", "variant", "value"];
|
|
590
544
|
var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
591
545
|
var className = _ref.className,
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
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);
|
|
604
557
|
var nativedatepickerId = useRandomId('eds-nativetimepicker');
|
|
605
558
|
return React.createElement(BaseFormControl, {
|
|
606
559
|
style: style,
|
|
@@ -621,17 +574,14 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
621
574
|
});
|
|
622
575
|
var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
623
576
|
var onChange = _ref2.onChange,
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
577
|
+
variant = _ref2.variant,
|
|
578
|
+
value = _ref2.value,
|
|
579
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
|
|
628
580
|
var contextVariant = useVariant();
|
|
629
581
|
var currentVariant = variant || contextVariant;
|
|
630
|
-
|
|
631
582
|
var _useInputGroupContext = useInputGroupContext(),
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
583
|
+
isDatepickerFilled = _useInputGroupContext.isFilled,
|
|
584
|
+
setFiller = _useInputGroupContext.setFilled;
|
|
635
585
|
useOnMount(function () {
|
|
636
586
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
637
587
|
});
|
|
@@ -642,19 +592,16 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
642
592
|
setFiller && isDatepickerFilled && setFiller(false);
|
|
643
593
|
}
|
|
644
594
|
}, [value, setFiller, isDatepickerFilled]);
|
|
645
|
-
|
|
646
595
|
var handleChange = function handleChange(event) {
|
|
647
596
|
if (isFilled(event.target)) {
|
|
648
597
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
649
598
|
} else {
|
|
650
599
|
setFiller && isDatepickerFilled && setFiller(false);
|
|
651
600
|
}
|
|
652
|
-
|
|
653
601
|
if (onChange) {
|
|
654
602
|
onChange(event);
|
|
655
603
|
}
|
|
656
604
|
};
|
|
657
|
-
|
|
658
605
|
return React.createElement("input", _extends({
|
|
659
606
|
ref: ref,
|
|
660
607
|
"aria-invalid": currentVariant === 'error',
|
|
@@ -667,9 +614,9 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
667
614
|
|
|
668
615
|
var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
|
|
669
616
|
var direction = _ref.direction,
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
617
|
+
onClick = _ref.onClick,
|
|
618
|
+
disabled = _ref.disabled,
|
|
619
|
+
ariaLabel = _ref['aria-label'];
|
|
673
620
|
return React.createElement(IconButton, {
|
|
674
621
|
className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction, {
|
|
675
622
|
'eds-timepicker__arrowbutton--disabled': disabled
|
|
@@ -685,27 +632,25 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
|
|
|
685
632
|
var _excluded$1 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "locale", "showTimeZone", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel"];
|
|
686
633
|
var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
687
634
|
var selectedTime = _ref.selectedTime,
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
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);
|
|
706
652
|
var _useLocale = useLocale(),
|
|
707
|
-
|
|
708
|
-
|
|
653
|
+
locale = _useLocale.locale;
|
|
709
654
|
if (customLocale) locale = customLocale;
|
|
710
655
|
var state = useTimeFieldState(_extends({
|
|
711
656
|
onChange: onChange,
|
|
@@ -716,15 +661,12 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
716
661
|
isDisabled: disabled
|
|
717
662
|
}, rest));
|
|
718
663
|
var timeFieldRef = useRef(null);
|
|
719
|
-
|
|
720
664
|
var _useTimeField = useTimeField(_extends({}, rest, {
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
665
|
+
label: label
|
|
666
|
+
}), state, timeFieldRef),
|
|
667
|
+
labelProps = _useTimeField.labelProps,
|
|
668
|
+
fieldProps = _useTimeField.fieldProps;
|
|
726
669
|
var id = useRandomId('timepicker');
|
|
727
|
-
|
|
728
670
|
var handleOnClickArrowButton = function handleOnClickArrowButton(minutes) {
|
|
729
671
|
if (someSegmentIsUndefined) {
|
|
730
672
|
setTimeToNearestMinuteIncrement();
|
|
@@ -732,11 +674,9 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
732
674
|
addMinutesToSelectedTime(minutes);
|
|
733
675
|
}
|
|
734
676
|
};
|
|
735
|
-
|
|
736
677
|
var someSegmentIsUndefined = state.segments.some(function (segment) {
|
|
737
678
|
return segment.text === '––';
|
|
738
679
|
});
|
|
739
|
-
|
|
740
680
|
var setTimeToNearestMinuteIncrement = function setTimeToNearestMinuteIncrement() {
|
|
741
681
|
var currentTime = now(getLocalTimeZone());
|
|
742
682
|
var roundedMinute = Math.floor(currentTime.minute / minuteIncrementForArrowButtons) * minuteIncrementForArrowButtons;
|
|
@@ -745,15 +685,12 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
745
685
|
});
|
|
746
686
|
onChange(newTime);
|
|
747
687
|
};
|
|
748
|
-
|
|
749
688
|
var addMinutesToSelectedTime = function addMinutesToSelectedTime(minutes) {
|
|
750
689
|
var _state$value;
|
|
751
|
-
|
|
752
690
|
state.value && state.setValue((_state$value = state.value) == null ? void 0 : _state$value.add({
|
|
753
691
|
minutes: minutes
|
|
754
692
|
}));
|
|
755
693
|
};
|
|
756
|
-
|
|
757
694
|
return React.createElement(I18nProvider, {
|
|
758
695
|
locale: locale
|
|
759
696
|
}, React.createElement("div", {
|
|
@@ -795,17 +732,16 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
795
732
|
});
|
|
796
733
|
|
|
797
734
|
var _excluded = ["className", "style", "onChange", "label", "feedback", "variant", "prepend"],
|
|
798
|
-
|
|
735
|
+
_excluded2 = ["onChange", "value"];
|
|
799
736
|
var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
800
737
|
var className = _ref.className,
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
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);
|
|
809
745
|
var nativetimepickerId = useRandomId('eds-native-timepicker');
|
|
810
746
|
return React.createElement(BaseFormControl, {
|
|
811
747
|
style: style,
|
|
@@ -824,16 +760,13 @@ var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
824
760
|
});
|
|
825
761
|
var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
826
762
|
var onChange = _ref2.onChange,
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
763
|
+
value = _ref2.value,
|
|
764
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
830
765
|
var contextVariant = useVariant();
|
|
831
766
|
var currentVariant = rest.variant || contextVariant;
|
|
832
|
-
|
|
833
767
|
var _useInputGroupContext = useInputGroupContext(),
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
768
|
+
isTimepickerFilled = _useInputGroupContext.isFilled,
|
|
769
|
+
setFiller = _useInputGroupContext.setFilled;
|
|
837
770
|
useOnMount(function () {
|
|
838
771
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
839
772
|
});
|
|
@@ -844,19 +777,16 @@ var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
844
777
|
setFiller && isTimepickerFilled && setFiller(false);
|
|
845
778
|
}
|
|
846
779
|
}, [value, setFiller, isTimepickerFilled]);
|
|
847
|
-
|
|
848
780
|
var handleChange = function handleChange(event) {
|
|
849
781
|
if (isFilled(event.target)) {
|
|
850
782
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
851
783
|
} else {
|
|
852
784
|
setFiller && isTimepickerFilled && setFiller(false);
|
|
853
785
|
}
|
|
854
|
-
|
|
855
786
|
if (onChange) {
|
|
856
787
|
onChange(event);
|
|
857
788
|
}
|
|
858
789
|
};
|
|
859
|
-
|
|
860
790
|
return React.createElement("input", _extends({
|
|
861
791
|
ref: ref,
|
|
862
792
|
"aria-invalid": currentVariant === 'error',
|