@entur/datepicker 9.4.12 → 10.0.0-beta.0
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/DateField.d.ts +12 -8
- package/dist/DatePicker/DatePicker.d.ts +3 -2
- package/dist/TimePicker/SimpleTimePicker.d.ts +2 -1
- package/dist/TimePicker/TimePicker.d.ts +3 -2
- package/dist/datepicker.cjs.development.js +114 -73
- 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 +115 -74
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/styles.css +62 -81
- package/package.json +8 -8
package/dist/datepicker.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useRandomId, ConditionalWrapper,
|
|
1
|
+
import { useRandomId, ConditionalWrapper, useWindowDimensions, useOnClickOutside, useOnEscape, useOnMount, mergeRefs, warnAboutMissingStyles } from '@entur/utils';
|
|
2
2
|
import React, { useRef, useState, useEffect } from 'react';
|
|
3
3
|
import { useDateFieldState, useDatePickerState, useTimeFieldState } from '@react-stately/datepicker';
|
|
4
4
|
import { useDateSegment, useDateField, useDatePicker, useTimeField } from '@react-aria/datepicker';
|
|
@@ -211,8 +211,8 @@ function getWeekNumberForDate(date) {
|
|
|
211
211
|
return weekNumber;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
var _excluded$a = ["selectedDate", "onChange", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "isDisabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "minDate", "maxDate", "style", "className", "labelProps", "append"];
|
|
215
|
-
var DateField =
|
|
214
|
+
var _excluded$a = ["selectedDate", "onChange", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "isDisabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "minDate", "maxDate", "style", "className", "labelProps", "fieldProps", "groupProps", "append", "prepend", "dateFieldRef"];
|
|
215
|
+
var DateField = function DateField(_ref) {
|
|
216
216
|
var selectedDate = _ref.selectedDate,
|
|
217
217
|
onChange = _ref.onChange,
|
|
218
218
|
label = _ref.label,
|
|
@@ -235,7 +235,11 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
235
235
|
style = _ref.style,
|
|
236
236
|
className = _ref.className,
|
|
237
237
|
parentLabelProps = _ref.labelProps,
|
|
238
|
+
parentFieldProps = _ref.fieldProps,
|
|
239
|
+
parentGroupProps = _ref.groupProps,
|
|
238
240
|
append = _ref.append,
|
|
241
|
+
prepend = _ref.prepend,
|
|
242
|
+
ref = _ref.dateFieldRef,
|
|
239
243
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
|
|
240
244
|
var _useLocale = useLocale(),
|
|
241
245
|
locale = _useLocale.locale;
|
|
@@ -243,6 +247,7 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
243
247
|
locale: customLocale != null ? customLocale : locale,
|
|
244
248
|
createCalendar: createCalendar,
|
|
245
249
|
value: selectedDate,
|
|
250
|
+
//@ts-expect-error incorrect type in package
|
|
246
251
|
onChange: onChange,
|
|
247
252
|
hideTimeZone: !showTimeZone,
|
|
248
253
|
granularity: showTime ? 'minute' : granularity,
|
|
@@ -253,7 +258,7 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
253
258
|
shouldForceLeadingZeros: true
|
|
254
259
|
}));
|
|
255
260
|
var dateFieldRef = useRef(null);
|
|
256
|
-
var _useDateField = useDateField(_extends({}, rest, {
|
|
261
|
+
var _useDateField = useDateField(_extends({}, parentFieldProps, rest, {
|
|
257
262
|
label: label
|
|
258
263
|
}), state, dateFieldRef),
|
|
259
264
|
labelProps = _useDateField.labelProps,
|
|
@@ -267,28 +272,36 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
267
272
|
}, child);
|
|
268
273
|
}
|
|
269
274
|
}, React.createElement(BaseFormControl, _extends({
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
275
|
+
append: append,
|
|
276
|
+
ariaAlertOnFeedback: true,
|
|
277
|
+
className: classNames('eds-datefield', className, {
|
|
278
|
+
'eds-datefield--has-tooltip': labelTooltip !== undefined
|
|
279
|
+
}),
|
|
274
280
|
disabled: isDisabled || disabled,
|
|
275
281
|
disableLabelAnimation: true,
|
|
282
|
+
feedback: feedback != null ? feedback : state.validationState === 'invalid' ? validationFeedback : undefined,
|
|
276
283
|
label: label,
|
|
284
|
+
labelId: id,
|
|
285
|
+
labelProps: parentLabelProps != null ? parentLabelProps : labelProps,
|
|
277
286
|
labelTooltip: labelTooltip,
|
|
278
|
-
|
|
287
|
+
prepend: prepend,
|
|
288
|
+
ref: ref,
|
|
289
|
+
style: style,
|
|
290
|
+
variant: variant != null ? variant : state.validationState === 'invalid' ? validationVariant : undefined
|
|
291
|
+
}, parentGroupProps), React.createElement("span", _extends({
|
|
292
|
+
ref: dateFieldRef
|
|
279
293
|
}, fieldProps, {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
ariaAlertOnFeedback: true
|
|
294
|
+
style: {
|
|
295
|
+
display: 'contents'
|
|
296
|
+
}
|
|
284
297
|
}), state.segments.map(function (segment, i) {
|
|
285
298
|
return React.createElement(FieldSegment, {
|
|
286
299
|
segment: segment,
|
|
287
300
|
state: state,
|
|
288
301
|
key: i
|
|
289
302
|
});
|
|
290
|
-
})));
|
|
291
|
-
}
|
|
303
|
+
}))));
|
|
304
|
+
};
|
|
292
305
|
|
|
293
306
|
var _excluded$9 = ["children", "className", "style"];
|
|
294
307
|
var CalendarButton = function CalendarButton(_ref) {
|
|
@@ -495,7 +508,7 @@ var CalendarBase = function CalendarBase(_ref2) {
|
|
|
495
508
|
}));
|
|
496
509
|
};
|
|
497
510
|
|
|
498
|
-
var _excluded$5 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "classNameForDate", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "showWeekNumbers", "weekNumberHeader", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold", "forcedReturnType", "ariaLabelForDate"];
|
|
511
|
+
var _excluded$5 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "classNameForDate", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "showWeekNumbers", "weekNumberHeader", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold", "forcedReturnType", "ariaLabelForDate", "append", "prepend"];
|
|
499
512
|
var DatePicker = function DatePicker(_ref) {
|
|
500
513
|
var selectedDate = _ref.selectedDate,
|
|
501
514
|
onChange = _ref.onChange,
|
|
@@ -506,6 +519,7 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
506
519
|
showTimeZone = _ref$showTimeZone === void 0 ? false : _ref$showTimeZone,
|
|
507
520
|
classNameForDate = _ref.classNameForDate,
|
|
508
521
|
className = _ref.className,
|
|
522
|
+
style = _ref.style,
|
|
509
523
|
variant = _ref.variant,
|
|
510
524
|
feedback = _ref.feedback,
|
|
511
525
|
validationVariant = _ref.validationVariant,
|
|
@@ -522,6 +536,8 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
522
536
|
modalTreshold = _ref$modalTreshold === void 0 ? 1000 : _ref$modalTreshold,
|
|
523
537
|
forcedReturnType = _ref.forcedReturnType,
|
|
524
538
|
ariaLabelForDate = _ref.ariaLabelForDate,
|
|
539
|
+
append = _ref.append,
|
|
540
|
+
prepend = _ref.prepend,
|
|
525
541
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
526
542
|
var CALENDAR_MODAL_MAX_SCREEN_WIDTH = modalTreshold;
|
|
527
543
|
var datePickerRef = useRef(null);
|
|
@@ -617,38 +633,45 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
617
633
|
locale: locale
|
|
618
634
|
}, child);
|
|
619
635
|
}
|
|
620
|
-
}, React.createElement(
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
636
|
+
}, React.createElement(DateField, {
|
|
637
|
+
append: !disabled && React.createElement("div", {
|
|
638
|
+
style: {
|
|
639
|
+
display: 'flex',
|
|
640
|
+
alignItems: 'center'
|
|
641
|
+
}
|
|
642
|
+
}, append, React.createElement(CalendarButton, _extends({}, buttonProps, {
|
|
643
|
+
onPress: function onPress() {
|
|
644
|
+
state.setOpen(!state.isOpen);
|
|
645
|
+
update();
|
|
646
|
+
},
|
|
647
|
+
className: "eds-datepicker__open-calendar-button"
|
|
648
|
+
}), React.createElement(CalendarIcon, null))),
|
|
649
|
+
prepend: prepend,
|
|
650
|
+
className: classNames('eds-datepicker', className, {
|
|
651
|
+
'eds-datepicker--disabled': disabled
|
|
652
|
+
}),
|
|
653
|
+
disabled: disabled,
|
|
654
|
+
feedback: feedback,
|
|
655
|
+
fieldProps: fieldProps,
|
|
656
|
+
groupProps: groupProps,
|
|
629
657
|
label: rest.label,
|
|
630
658
|
labelProps: labelProps,
|
|
631
|
-
|
|
632
|
-
minDate: minDate,
|
|
659
|
+
labelTooltip: labelTooltip,
|
|
633
660
|
maxDate: maxDate,
|
|
661
|
+
minDate: minDate,
|
|
662
|
+
onChange: handleOnChange,
|
|
663
|
+
dateFieldRef: function dateFieldRef(node) {
|
|
664
|
+
refs.setReference(node);
|
|
665
|
+
datePickerRef.current = node;
|
|
666
|
+
},
|
|
667
|
+
selectedDate: selectedDate,
|
|
634
668
|
showTime: showTime,
|
|
635
669
|
showTimeZone: showTimeZone,
|
|
636
|
-
|
|
637
|
-
variant: variant,
|
|
638
|
-
feedback: feedback,
|
|
639
|
-
validationVariant: validationVariant,
|
|
670
|
+
style: style,
|
|
640
671
|
validationFeedback: validationFeedback,
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
})
|
|
645
|
-
})), !disabled && React.createElement(CalendarButton, _extends({}, buttonProps, {
|
|
646
|
-
onPress: function onPress() {
|
|
647
|
-
state.setOpen(!state.isOpen);
|
|
648
|
-
update();
|
|
649
|
-
},
|
|
650
|
-
className: "eds-datepicker__open-calendar-button"
|
|
651
|
-
}), React.createElement(CalendarIcon, null)), useModal ? modalCalendar : popoverCalendar)));
|
|
672
|
+
validationVariant: validationVariant,
|
|
673
|
+
variant: variant
|
|
674
|
+
}), useModal ? modalCalendar : popoverCalendar);
|
|
652
675
|
};
|
|
653
676
|
|
|
654
677
|
var _excluded$4 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
|
|
@@ -743,7 +766,7 @@ var TimePickerArrowButton = function TimePickerArrowButton(_ref) {
|
|
|
743
766
|
}, rest), direction === 'left' ? React.createElement(LeftArrowIcon, null) : React.createElement(RightArrowIcon, null));
|
|
744
767
|
};
|
|
745
768
|
|
|
746
|
-
var _excluded$2 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "granularity", "variant", "locale", "showTimeZone", "showSeconds", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel", "inputRef", "forcedReturnType", "forcedTimeZone"];
|
|
769
|
+
var _excluded$2 = ["selectedTime", "onChange", "disabled", "className", "style", "label", "labelTooltip", "feedback", "granularity", "variant", "locale", "showTimeZone", "showSeconds", "minuteIncrementForArrowButtons", "leftArrowButtonAriaLabel", "rightArrowButtonAriaLabel", "inputRef", "forcedReturnType", "forcedTimeZone", "append", "prepend"];
|
|
747
770
|
var TimePicker = function TimePicker(_ref) {
|
|
748
771
|
var selectedTime = _ref.selectedTime,
|
|
749
772
|
onChange = _ref.onChange,
|
|
@@ -768,6 +791,8 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
768
791
|
inputRef = _ref.inputRef,
|
|
769
792
|
forcedReturnType = _ref.forcedReturnType,
|
|
770
793
|
forcedTimeZone = _ref.forcedTimeZone,
|
|
794
|
+
append = _ref.append,
|
|
795
|
+
prepend = _ref.prepend,
|
|
771
796
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
772
797
|
var _useLocale = useLocale(),
|
|
773
798
|
locale = _useLocale.locale;
|
|
@@ -823,28 +848,44 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
823
848
|
};
|
|
824
849
|
return React.createElement(I18nProvider, {
|
|
825
850
|
locale: locale
|
|
826
|
-
}, React.createElement(
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
851
|
+
}, React.createElement(BaseFormControl, {
|
|
852
|
+
append: React.createElement("div", {
|
|
853
|
+
style: {
|
|
854
|
+
display: 'flex',
|
|
855
|
+
alignItems: 'center'
|
|
856
|
+
}
|
|
857
|
+
}, append, React.createElement(TimePickerArrowButton, {
|
|
858
|
+
direction: "right",
|
|
859
|
+
disabled: disabled,
|
|
860
|
+
"aria-label": rightArrowButtonAriaLabel,
|
|
861
|
+
onClick: function onClick() {
|
|
862
|
+
return handleOnClickArrowButton('add');
|
|
863
|
+
},
|
|
864
|
+
onFocus: function onFocus() {
|
|
865
|
+
return focusSegment(timeFieldRef, 'last');
|
|
866
|
+
}
|
|
867
|
+
})),
|
|
868
|
+
ariaAlertOnFeedback: true,
|
|
869
|
+
"aria-describedby": timePickerId + 'description',
|
|
870
|
+
className: classNames('eds-timepicker', className, {
|
|
871
|
+
'eds-timepicker--disabled': disabled,
|
|
872
|
+
'eds-timepicker--has-tooltip': labelTooltip !== undefined
|
|
832
873
|
}),
|
|
833
|
-
|
|
874
|
+
disabled: disabled,
|
|
875
|
+
disableLabelAnimation: true,
|
|
876
|
+
feedback: feedback,
|
|
834
877
|
label: label,
|
|
878
|
+
labelId: id,
|
|
835
879
|
labelProps: _extends({}, labelProps, {
|
|
836
880
|
'aria-describedby': timePickerId + 'description'
|
|
837
881
|
}),
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
ariaAlertOnFeedback: true,
|
|
846
|
-
"aria-describedby": timePickerId + 'description',
|
|
847
|
-
prepend: React.createElement(TimePickerArrowButton, {
|
|
882
|
+
labelTooltip: labelTooltip,
|
|
883
|
+
prepend: React.createElement("div", {
|
|
884
|
+
style: {
|
|
885
|
+
display: 'flex',
|
|
886
|
+
alignItems: 'center'
|
|
887
|
+
}
|
|
888
|
+
}, React.createElement(TimePickerArrowButton, {
|
|
848
889
|
direction: "left",
|
|
849
890
|
disabled: disabled,
|
|
850
891
|
"aria-label": leftArrowButtonAriaLabel,
|
|
@@ -854,18 +895,16 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
854
895
|
onFocus: function onFocus() {
|
|
855
896
|
return focusSegment(timeFieldRef, 'first');
|
|
856
897
|
}
|
|
857
|
-
}),
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
}
|
|
868
|
-
})
|
|
898
|
+
}), prepend),
|
|
899
|
+
ref: inputRef,
|
|
900
|
+
style: style,
|
|
901
|
+
variant: variant
|
|
902
|
+
}, React.createElement("span", _extends({
|
|
903
|
+
ref: timeFieldRef
|
|
904
|
+
}, fieldProps, {
|
|
905
|
+
style: {
|
|
906
|
+
display: 'contents'
|
|
907
|
+
}
|
|
869
908
|
}), state.segments.map(function (segment, i) {
|
|
870
909
|
return React.createElement(FieldSegment, {
|
|
871
910
|
segment: segment,
|
|
@@ -1090,12 +1129,14 @@ var SimpleTimePicker = function SimpleTimePicker(_ref) {
|
|
|
1090
1129
|
onClick: function onClick() {
|
|
1091
1130
|
var _timeFieldRef$current;
|
|
1092
1131
|
return timeFieldRef == null ? void 0 : (_timeFieldRef$current = timeFieldRef.current) == null ? void 0 : _timeFieldRef$current.focus();
|
|
1093
|
-
}
|
|
1132
|
+
},
|
|
1133
|
+
inline: true
|
|
1094
1134
|
}) : undefined),
|
|
1095
1135
|
className: classNames('eds-simple-timepicker', {
|
|
1096
1136
|
'eds-simple-timepicker--padding-large': padding === 'large',
|
|
1097
1137
|
'eds-simple-timepicker--show-seconds': showSeconds,
|
|
1098
|
-
'eds-simple-timepicker--hide-clock': !showClockIcon
|
|
1138
|
+
'eds-simple-timepicker--hide-clock': !showClockIcon,
|
|
1139
|
+
'eds-simple-timepicker--has-tooltip': labelTooltip !== undefined
|
|
1099
1140
|
}),
|
|
1100
1141
|
disabled: disabled,
|
|
1101
1142
|
disableLabelAnimation: true,
|