@entur/datepicker 9.1.4 → 9.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DatePicker/DatePicker.d.ts +4 -13
- package/dist/TimePicker/TimePicker.d.ts +21 -3
- package/dist/TimePicker/TimePickerArrowButton.d.ts +6 -2
- package/dist/datepicker.cjs.development.js +130 -69
- 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 +130 -71
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/shared/FieldSegment.d.ts +2 -1
- package/dist/shared/utils.d.ts +7 -4
- package/dist/styles.css +29 -43
- package/package.json +8 -8
package/dist/datepicker.esm.js
CHANGED
|
@@ -5,7 +5,7 @@ import { useDateSegment, useDateField, useDatePicker, useTimeField } from '@reac
|
|
|
5
5
|
import { useLocale, I18nProvider } from '@react-aria/i18n';
|
|
6
6
|
import classNames from 'classnames';
|
|
7
7
|
import { BaseFormControl, useVariant, useInputGroupContext, isFilled, TextField } from '@entur/form';
|
|
8
|
-
import { CalendarDate, Time, getLocalTimeZone, GregorianCalendar, toCalendarDateTime, toZoned, toCalendarDate, ZonedDateTime, parseAbsolute, CalendarDateTime, isEqualDay,
|
|
8
|
+
import { CalendarDate, Time, getLocalTimeZone, GregorianCalendar, toCalendarDateTime, toTime, now, toZoned, today, toCalendarDate, ZonedDateTime, parseAbsolute, CalendarDateTime, isEqualDay, getWeeksInMonth, parseTime } from '@internationalized/date';
|
|
9
9
|
export { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from '@internationalized/date';
|
|
10
10
|
import { useCalendarCell, useCalendarGrid, useCalendar } from '@react-aria/calendar';
|
|
11
11
|
import { useCalendarState } from '@react-stately/calendar';
|
|
@@ -45,9 +45,11 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
45
45
|
return target;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
var _excluded$b = ["segment", "state"];
|
|
48
49
|
var FieldSegment = function FieldSegment(_ref) {
|
|
49
50
|
var segment = _ref.segment,
|
|
50
|
-
state = _ref.state
|
|
51
|
+
state = _ref.state,
|
|
52
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$b);
|
|
51
53
|
var ref = useRef(null);
|
|
52
54
|
var _useDateSegment = useDateSegment(segment, state, ref),
|
|
53
55
|
segmentProps = _useDateSegment.segmentProps;
|
|
@@ -58,7 +60,7 @@ var FieldSegment = function FieldSegment(_ref) {
|
|
|
58
60
|
'eds-date-and-time-field__segment--dot-separator': segment.text === '.'
|
|
59
61
|
}),
|
|
60
62
|
tabIndex: state.isDisabled ? -1 : segmentProps.tabIndex
|
|
61
|
-
}), segment.text);
|
|
63
|
+
}, rest), segment.text);
|
|
62
64
|
};
|
|
63
65
|
|
|
64
66
|
var nativeDateToDateTime = function nativeDateToDateTime(date, timeZone, offset) {
|
|
@@ -154,21 +156,46 @@ var lastMillisecondOfDay = function lastMillisecondOfDay(dateValue) {
|
|
|
154
156
|
};
|
|
155
157
|
var convertValueToType = function convertValueToType(_ref) {
|
|
156
158
|
var value = _ref.value,
|
|
157
|
-
type = _ref.type
|
|
159
|
+
type = _ref.type,
|
|
160
|
+
_ref$timezone = _ref.timezone,
|
|
161
|
+
timezone = _ref$timezone === void 0 ? 'Europe/Oslo' : _ref$timezone;
|
|
158
162
|
if (value === null) return null;
|
|
159
163
|
switch (type) {
|
|
160
164
|
case 'CalendarDate':
|
|
165
|
+
if (!('day' in value)) return today(timezone);
|
|
161
166
|
return toCalendarDate(value);
|
|
162
167
|
case 'CalendarDateTime':
|
|
168
|
+
if (!('day' in value)) return toCalendarDateTime(today(timezone), value);
|
|
163
169
|
return toCalendarDateTime(value);
|
|
164
170
|
case 'ZonedDateTime':
|
|
165
|
-
return toZoned(value,
|
|
171
|
+
if (!('day' in value)) return toZoned(toCalendarDateTime(today(timezone), value), timezone);
|
|
172
|
+
return toZoned(value, timezone);
|
|
173
|
+
case 'Time':
|
|
174
|
+
if (!('hour' in value)) return toTime(now(timezone));
|
|
175
|
+
if (!('day' in value)) return value;
|
|
176
|
+
return toTime(value);
|
|
166
177
|
default:
|
|
167
178
|
return value;
|
|
168
179
|
}
|
|
169
180
|
};
|
|
181
|
+
var modulo = function modulo(a, b) {
|
|
182
|
+
return (a % b + b) % b;
|
|
183
|
+
};
|
|
184
|
+
var focusSegment = function focusSegment(ref, segment) {
|
|
185
|
+
if (ref.current) {
|
|
186
|
+
var segments = ref.current.querySelectorAll('.eds-date-and-time-field__segment');
|
|
187
|
+
var firstSegment = segments[0];
|
|
188
|
+
var lastSegment = segments[segments.length - 1];
|
|
189
|
+
switch (segment) {
|
|
190
|
+
case 'first':
|
|
191
|
+
return firstSegment.focus();
|
|
192
|
+
case 'last':
|
|
193
|
+
return lastSegment.focus();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
};
|
|
170
197
|
|
|
171
|
-
var _excluded$
|
|
198
|
+
var _excluded$a = ["selectedDate", "onChange", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "isDisabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "minDate", "maxDate", "style", "className", "labelProps", "append"];
|
|
172
199
|
var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
173
200
|
var selectedDate = _ref.selectedDate,
|
|
174
201
|
onChange = _ref.onChange,
|
|
@@ -193,7 +220,7 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
193
220
|
className = _ref.className,
|
|
194
221
|
parentLabelProps = _ref.labelProps,
|
|
195
222
|
append = _ref.append,
|
|
196
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
223
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
|
|
197
224
|
var _useLocale = useLocale(),
|
|
198
225
|
locale = _useLocale.locale;
|
|
199
226
|
var state = useDateFieldState(_extends({}, rest, {
|
|
@@ -234,8 +261,8 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
234
261
|
labelTooltip: labelTooltip,
|
|
235
262
|
labelProps: parentLabelProps != null ? parentLabelProps : labelProps
|
|
236
263
|
}, fieldProps, {
|
|
237
|
-
variant:
|
|
238
|
-
feedback:
|
|
264
|
+
variant: variant != null ? variant : state.validationState === 'invalid' ? validationVariant : undefined,
|
|
265
|
+
feedback: feedback != null ? feedback : state.validationState === 'invalid' ? validationFeedback : undefined,
|
|
239
266
|
append: append,
|
|
240
267
|
ariaAlertOnFeedback: true
|
|
241
268
|
}), state.segments.map(function (segment, i) {
|
|
@@ -247,12 +274,12 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
247
274
|
})));
|
|
248
275
|
});
|
|
249
276
|
|
|
250
|
-
var _excluded$
|
|
277
|
+
var _excluded$9 = ["children", "className", "style"];
|
|
251
278
|
var CalendarButton = function CalendarButton(_ref) {
|
|
252
279
|
var children = _ref.children,
|
|
253
280
|
className = _ref.className,
|
|
254
281
|
style = _ref.style,
|
|
255
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
282
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
|
|
256
283
|
var ref = useRef(null);
|
|
257
284
|
var _useButton = useButton(props, ref),
|
|
258
285
|
buttonProps = _useButton.buttonProps;
|
|
@@ -263,7 +290,7 @@ var CalendarButton = function CalendarButton(_ref) {
|
|
|
263
290
|
}), children);
|
|
264
291
|
};
|
|
265
292
|
|
|
266
|
-
var _excluded$
|
|
293
|
+
var _excluded$8 = ["state", "date", "onSelectedCellClick"];
|
|
267
294
|
var CalendarCell = function CalendarCell(_ref) {
|
|
268
295
|
var _state$timeZone;
|
|
269
296
|
var state = _ref.state,
|
|
@@ -272,7 +299,7 @@ var CalendarCell = function CalendarCell(_ref) {
|
|
|
272
299
|
onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
|
|
273
300
|
return;
|
|
274
301
|
} : _ref$onSelectedCellCl,
|
|
275
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
302
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
|
|
276
303
|
var cellRef = useRef(null);
|
|
277
304
|
var _useCalendarCell = useCalendarCell({
|
|
278
305
|
date: date
|
|
@@ -307,7 +334,7 @@ var CalendarCell = function CalendarCell(_ref) {
|
|
|
307
334
|
}), formattedDate));
|
|
308
335
|
};
|
|
309
336
|
|
|
310
|
-
var _excluded$
|
|
337
|
+
var _excluded$7 = ["state", "navigationDescription", "onSelectedCellClick"];
|
|
311
338
|
var CalendarGrid = function CalendarGrid(_ref) {
|
|
312
339
|
var state = _ref.state,
|
|
313
340
|
navigationDescription = _ref.navigationDescription,
|
|
@@ -315,7 +342,7 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
315
342
|
onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
|
|
316
343
|
return;
|
|
317
344
|
} : _ref$onSelectedCellCl,
|
|
318
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
345
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
|
|
319
346
|
var calendarGridId = useRandomId('eds-calendar');
|
|
320
347
|
var _useLocale = useLocale(),
|
|
321
348
|
locale = _useLocale.locale;
|
|
@@ -366,7 +393,7 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
366
393
|
}, getNavigationDescription()));
|
|
367
394
|
};
|
|
368
395
|
|
|
369
|
-
var _excluded$
|
|
396
|
+
var _excluded$6 = ["selectedDate", "onChange", "locale", "minDate", "maxDate", "style", "children", "navigationDescription", "onSelectedCellClick"];
|
|
370
397
|
var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
371
398
|
var selectedDate = _ref.selectedDate,
|
|
372
399
|
onChange = _ref.onChange,
|
|
@@ -379,7 +406,7 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
379
406
|
onSelectedCellClick = _ref$onSelectedCellCl === void 0 ? function () {
|
|
380
407
|
return;
|
|
381
408
|
} : _ref$onSelectedCellCl,
|
|
382
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
409
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
383
410
|
var _useLocale = useLocale(),
|
|
384
411
|
locale = _useLocale.locale;
|
|
385
412
|
var allProps = _extends({}, rest, {
|
|
@@ -424,7 +451,7 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
424
451
|
})));
|
|
425
452
|
});
|
|
426
453
|
|
|
427
|
-
var _excluded$
|
|
454
|
+
var _excluded$5 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold", "forcedReturnType"];
|
|
428
455
|
var DatePicker = function DatePicker(_ref) {
|
|
429
456
|
var selectedDate = _ref.selectedDate,
|
|
430
457
|
onChange = _ref.onChange,
|
|
@@ -447,7 +474,7 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
447
474
|
_ref$modalTreshold = _ref.modalTreshold,
|
|
448
475
|
modalTreshold = _ref$modalTreshold === void 0 ? 1000 : _ref$modalTreshold,
|
|
449
476
|
forcedReturnType = _ref.forcedReturnType,
|
|
450
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
477
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
451
478
|
var CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;
|
|
452
479
|
var datePickerRef = useRef(null);
|
|
453
480
|
var calendarRef = useRef(null);
|
|
@@ -458,7 +485,8 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
458
485
|
if (forcedReturnType !== undefined) {
|
|
459
486
|
return onChange(convertValueToType({
|
|
460
487
|
value: value,
|
|
461
|
-
type: forcedReturnType
|
|
488
|
+
type: forcedReturnType,
|
|
489
|
+
timezone: value !== null && 'timezone' in value ? value.timezone : undefined
|
|
462
490
|
}));
|
|
463
491
|
}
|
|
464
492
|
onChange(value);
|
|
@@ -578,7 +606,7 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
578
606
|
}), React.createElement(CalendarIcon, null)), useModal ? modalCalendar : popoverCalendar)));
|
|
579
607
|
};
|
|
580
608
|
|
|
581
|
-
var _excluded$
|
|
609
|
+
var _excluded$4 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
|
|
582
610
|
_excluded2$2 = ["onChange", "variant", "value"];
|
|
583
611
|
var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
584
612
|
var className = _ref.className,
|
|
@@ -592,7 +620,7 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
592
620
|
prepend = _ref$prepend === void 0 ? React.createElement(DateIcon, {
|
|
593
621
|
inline: true
|
|
594
622
|
}) : _ref$prepend,
|
|
595
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
623
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
596
624
|
var nativedatepickerId = useRandomId('eds-nativetimepicker');
|
|
597
625
|
return React.createElement(BaseFormControl, {
|
|
598
626
|
style: style,
|
|
@@ -651,12 +679,14 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
651
679
|
}, rest));
|
|
652
680
|
});
|
|
653
681
|
|
|
682
|
+
var _excluded$3 = ["direction", "onClick", "disabled", "aria-label"];
|
|
654
683
|
var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
|
|
655
684
|
var direction = _ref.direction,
|
|
656
685
|
onClick = _ref.onClick,
|
|
657
686
|
disabled = _ref.disabled,
|
|
658
|
-
ariaLabel = _ref['aria-label']
|
|
659
|
-
|
|
687
|
+
ariaLabel = _ref['aria-label'],
|
|
688
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
689
|
+
return React.createElement(IconButton, _extends({
|
|
660
690
|
className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction, {
|
|
661
691
|
'eds-timepicker__arrowbutton--disabled': disabled
|
|
662
692
|
}),
|
|
@@ -665,10 +695,10 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
|
|
|
665
695
|
onClick: onClick,
|
|
666
696
|
"aria-label": ariaLabel,
|
|
667
697
|
disabled: disabled
|
|
668
|
-
}, direction === 'left' ? React.createElement(LeftArrowIcon, null) : React.createElement(RightArrowIcon, null));
|
|
698
|
+
}, rest), direction === 'left' ? React.createElement(LeftArrowIcon, null) : React.createElement(RightArrowIcon, null));
|
|
669
699
|
};
|
|
670
700
|
|
|
671
|
-
var _excluded$2 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "locale", "showTimeZone", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel", "inputRef"];
|
|
701
|
+
var _excluded$2 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "granularity", "variant", "locale", "showTimeZone", "showSeconds", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel", "inputRef", "forcedReturnType", "forcedTimeZone"];
|
|
672
702
|
var TimePicker = function TimePicker(_ref) {
|
|
673
703
|
var selectedTime = _ref.selectedTime,
|
|
674
704
|
onChange = _ref.onChange,
|
|
@@ -678,9 +708,12 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
678
708
|
label = _ref.label,
|
|
679
709
|
labelTooltip = _ref.labelTooltip,
|
|
680
710
|
feedback = _ref.feedback,
|
|
711
|
+
granularity = _ref.granularity,
|
|
681
712
|
variant = _ref.variant,
|
|
682
713
|
customLocale = _ref.locale,
|
|
683
714
|
showTimeZone = _ref.showTimeZone,
|
|
715
|
+
_ref$showSeconds = _ref.showSeconds,
|
|
716
|
+
showSeconds = _ref$showSeconds === void 0 ? false : _ref$showSeconds,
|
|
684
717
|
_ref$minuteIncrementF = _ref.minuteIncrementForArrowButtons,
|
|
685
718
|
minuteIncrementForArrowButtons = _ref$minuteIncrementF === void 0 ? 30 : _ref$minuteIncrementF,
|
|
686
719
|
_ref$leftArrowButtonA = _ref.leftArrowButtonAriaLabel,
|
|
@@ -688,15 +721,30 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
688
721
|
_ref$rightArrowButton = _ref.rightArrowButtonAriaLabel,
|
|
689
722
|
rightArrowButtonAriaLabel = _ref$rightArrowButton === void 0 ? "Legg til " + minuteIncrementForArrowButtons + " minutter" : _ref$rightArrowButton,
|
|
690
723
|
inputRef = _ref.inputRef,
|
|
724
|
+
forcedReturnType = _ref.forcedReturnType,
|
|
725
|
+
forcedTimeZone = _ref.forcedTimeZone,
|
|
691
726
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
692
727
|
var _useLocale = useLocale(),
|
|
693
728
|
locale = _useLocale.locale;
|
|
694
729
|
if (customLocale) locale = customLocale;
|
|
730
|
+
var timePickerId = useRandomId('eds-timepicker');
|
|
731
|
+
var timeZone = forcedTimeZone != null ? forcedTimeZone : selectedTime !== null && 'timezone' in selectedTime ? selectedTime.timezone : 'Europe/Oslo';
|
|
732
|
+
var handleOnChange = function handleOnChange(value) {
|
|
733
|
+
if (forcedReturnType !== undefined) {
|
|
734
|
+
return onChange(convertValueToType({
|
|
735
|
+
value: value,
|
|
736
|
+
type: forcedReturnType,
|
|
737
|
+
timezone: timeZone
|
|
738
|
+
}));
|
|
739
|
+
}
|
|
740
|
+
onChange(value);
|
|
741
|
+
};
|
|
695
742
|
var state = useTimeFieldState(_extends({
|
|
696
|
-
onChange:
|
|
743
|
+
onChange: handleOnChange,
|
|
697
744
|
label: label,
|
|
698
745
|
locale: locale,
|
|
699
746
|
value: selectedTime,
|
|
747
|
+
granularity: (granularity != null ? granularity : showSeconds) ? 'second' : 'minute',
|
|
700
748
|
hideTimeZone: !showTimeZone,
|
|
701
749
|
isDisabled: disabled,
|
|
702
750
|
shouldForceLeadingZeros: true
|
|
@@ -708,70 +756,81 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
708
756
|
labelProps = _useTimeField.labelProps,
|
|
709
757
|
fieldProps = _useTimeField.fieldProps;
|
|
710
758
|
var id = useRandomId('timepicker');
|
|
711
|
-
var
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
addMinutesToSelectedTime(minutes);
|
|
716
|
-
}
|
|
717
|
-
};
|
|
718
|
-
var someSegmentIsUndefined = state.segments.some(function (segment) {
|
|
719
|
-
return segment.text === '––';
|
|
720
|
-
});
|
|
721
|
-
var setTimeToNearestMinuteIncrement = function setTimeToNearestMinuteIncrement() {
|
|
722
|
-
var currentTime = now(getLocalTimeZone());
|
|
723
|
-
var roundedMinute = Math.floor(currentTime.minute / minuteIncrementForArrowButtons) * minuteIncrementForArrowButtons;
|
|
724
|
-
var newTime = currentTime.set({
|
|
725
|
-
minute: roundedMinute
|
|
759
|
+
var getCurrentTime = function getCurrentTime() {
|
|
760
|
+
var getCurrentTimeWithCorrectType = convertValueToType({
|
|
761
|
+
value: now(timeZone),
|
|
762
|
+
type: forcedReturnType != null ? forcedReturnType : 'ZonedDateTime'
|
|
726
763
|
});
|
|
727
|
-
|
|
728
|
-
// we can't guarantee newTime matching the type of selectedTime in the future.
|
|
729
|
-
// This might lead to a type issue.
|
|
730
|
-
onChange(newTime);
|
|
764
|
+
return getCurrentTimeWithCorrectType;
|
|
731
765
|
};
|
|
732
|
-
var
|
|
733
|
-
selectedTime
|
|
734
|
-
|
|
735
|
-
|
|
766
|
+
var handleOnClickArrowButton = function handleOnClickArrowButton(operation) {
|
|
767
|
+
if (selectedTime === null) return handleOnChange(getCurrentTime());
|
|
768
|
+
switch (operation) {
|
|
769
|
+
case 'add':
|
|
770
|
+
return handleOnChange(selectedTime.add({
|
|
771
|
+
minutes: minuteIncrementForArrowButtons - modulo(selectedTime.minute, minuteIncrementForArrowButtons)
|
|
772
|
+
}));
|
|
773
|
+
case 'subtract':
|
|
774
|
+
return handleOnChange(selectedTime.subtract({
|
|
775
|
+
minutes: modulo(selectedTime.minute - 1, minuteIncrementForArrowButtons) + 1
|
|
776
|
+
}));
|
|
777
|
+
}
|
|
736
778
|
};
|
|
737
779
|
return React.createElement(I18nProvider, {
|
|
738
780
|
locale: locale
|
|
739
781
|
}, React.createElement("div", {
|
|
740
782
|
className: classNames(className, 'eds-timepicker__wrapper')
|
|
741
|
-
}, React.createElement(
|
|
742
|
-
direction: "left",
|
|
743
|
-
disabled: disabled,
|
|
744
|
-
"aria-label": leftArrowButtonAriaLabel,
|
|
745
|
-
onClick: function onClick() {
|
|
746
|
-
return handleOnClickArrowButton(minuteIncrementForArrowButtons * -1);
|
|
747
|
-
}
|
|
748
|
-
}), React.createElement(BaseFormControl, _extends({
|
|
783
|
+
}, React.createElement(BaseFormControl, _extends({
|
|
749
784
|
style: style,
|
|
750
|
-
className: 'eds-timepicker',
|
|
785
|
+
className: classNames('eds-timepicker', {
|
|
786
|
+
'eds-timepicker--disabled': disabled
|
|
787
|
+
}),
|
|
751
788
|
labelId: id,
|
|
752
789
|
label: label,
|
|
753
|
-
labelProps: _extends({}, labelProps
|
|
790
|
+
labelProps: _extends({}, labelProps, {
|
|
791
|
+
'aria-describedby': timePickerId + 'description'
|
|
792
|
+
}),
|
|
754
793
|
ref: mergeRefs(timeFieldRef, inputRef),
|
|
755
794
|
disabled: disabled,
|
|
756
795
|
disableLabelAnimation: true,
|
|
757
796
|
labelTooltip: labelTooltip
|
|
758
797
|
}, fieldProps, {
|
|
759
798
|
variant: variant,
|
|
760
|
-
feedback: feedback
|
|
799
|
+
feedback: feedback,
|
|
800
|
+
ariaAlertOnFeedback: true,
|
|
801
|
+
"aria-describedby": timePickerId + 'description',
|
|
802
|
+
prepend: React.createElement(TimePickerArrowButton, {
|
|
803
|
+
direction: "left",
|
|
804
|
+
disabled: disabled,
|
|
805
|
+
"aria-label": leftArrowButtonAriaLabel,
|
|
806
|
+
onClick: function onClick() {
|
|
807
|
+
return handleOnClickArrowButton('subtract');
|
|
808
|
+
},
|
|
809
|
+
onFocus: function onFocus() {
|
|
810
|
+
return focusSegment(timeFieldRef, 'first');
|
|
811
|
+
}
|
|
812
|
+
}),
|
|
813
|
+
append: React.createElement(TimePickerArrowButton, {
|
|
814
|
+
direction: "right",
|
|
815
|
+
disabled: disabled,
|
|
816
|
+
"aria-label": rightArrowButtonAriaLabel,
|
|
817
|
+
onClick: function onClick() {
|
|
818
|
+
return handleOnClickArrowButton('add');
|
|
819
|
+
},
|
|
820
|
+
onFocus: function onFocus() {
|
|
821
|
+
return focusSegment(timeFieldRef, 'last');
|
|
822
|
+
}
|
|
823
|
+
})
|
|
761
824
|
}), state.segments.map(function (segment, i) {
|
|
762
825
|
return React.createElement(FieldSegment, {
|
|
763
826
|
segment: segment,
|
|
764
827
|
state: state,
|
|
765
|
-
key: i
|
|
828
|
+
key: i,
|
|
829
|
+
"aria-describedby": timePickerId + 'description'
|
|
766
830
|
});
|
|
767
|
-
})), React.createElement(
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
"aria-label": rightArrowButtonAriaLabel,
|
|
771
|
-
onClick: function onClick() {
|
|
772
|
-
return handleOnClickArrowButton(minuteIncrementForArrowButtons);
|
|
773
|
-
}
|
|
774
|
-
})));
|
|
831
|
+
})), React.createElement(VisuallyHidden, {
|
|
832
|
+
id: timePickerId + 'description'
|
|
833
|
+
}, selectedTime !== null ? 'valgt tid: ' + selectedTime.hour.toString().padStart(2, '0') + ':' + selectedTime.minute.toString().padStart(2, '0') + (showSeconds ? ':' + selectedTime.second.toString().padStart(2, '0') : '') : '')));
|
|
775
834
|
};
|
|
776
835
|
|
|
777
836
|
var _excluded$1 = ["className", "style", "onChange", "label", "feedback", "variant", "prepend"],
|
|
@@ -1034,5 +1093,5 @@ var SimpleTimePicker = function SimpleTimePicker(_ref) {
|
|
|
1034
1093
|
|
|
1035
1094
|
warnAboutMissingStyles('datepicker', 'form', 'icons');
|
|
1036
1095
|
|
|
1037
|
-
export { Calendar, DateField, DatePicker, NativeDatePicker, NativeTimePicker, SimpleTimePicker, TimePicker, ariaLabelIfNorwegian, convertValueToType, createCalendar, lastMillisecondOfDay, nativeDateToDateValue, nativeDateToTimeValue, timeOrDateValueToNativeDate };
|
|
1096
|
+
export { Calendar, DateField, DatePicker, NativeDatePicker, NativeTimePicker, SimpleTimePicker, TimePicker, ariaLabelIfNorwegian, convertValueToType, createCalendar, focusSegment, lastMillisecondOfDay, modulo, nativeDateToDateValue, nativeDateToTimeValue, timeOrDateValueToNativeDate };
|
|
1038
1097
|
//# sourceMappingURL=datepicker.esm.js.map
|