@entur/datepicker 9.4.10-beta.0 → 9.4.11-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.cjs.development.js +26 -12
- 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 +27 -13
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/styles.css +35 -35
- package/package.json +11 -11
|
@@ -530,11 +530,12 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
530
530
|
var datePickerRef = React.useRef(null);
|
|
531
531
|
var calendarRef = React.useRef(null);
|
|
532
532
|
var dateFieldRef = React.useRef(null);
|
|
533
|
+
var _useState = React.useState(false),
|
|
534
|
+
showAnimations = _useState[0],
|
|
535
|
+
setShowAnimations = _useState[1];
|
|
533
536
|
var _useWindowDimensions = utils.useWindowDimensions(),
|
|
534
537
|
width = _useWindowDimensions.width;
|
|
535
538
|
var handleOnChange = function handleOnChange(value) {
|
|
536
|
-
// console.log(value && value.compare(parseDate('1000-01-01')) < 0);
|
|
537
|
-
// if (value && value.compare(parseDate('1000-01-01')) < 0) return;
|
|
538
539
|
if (forcedReturnType !== undefined) {
|
|
539
540
|
return onChange(convertValueToType({
|
|
540
541
|
value: value,
|
|
@@ -562,7 +563,11 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
562
563
|
calendarProps = _useDatePicker.calendarProps;
|
|
563
564
|
// calculations for floating-UI popover position
|
|
564
565
|
var _useFloating = reactDom.useFloating({
|
|
565
|
-
whileElementsMounted:
|
|
566
|
+
whileElementsMounted: function whileElementsMounted(ref, _float, update) {
|
|
567
|
+
return reactDom.autoUpdate(ref, _float, update, {
|
|
568
|
+
elementResize: false
|
|
569
|
+
});
|
|
570
|
+
},
|
|
566
571
|
placement: 'bottom-start',
|
|
567
572
|
middleware: [reactDom.offset(tokens.space.extraSmall), reactDom.flip(), reactDom.shift({
|
|
568
573
|
padding: tokens.space.extraSmall
|
|
@@ -570,9 +575,9 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
570
575
|
}),
|
|
571
576
|
x = _useFloating.x,
|
|
572
577
|
y = _useFloating.y,
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
578
|
+
refs = _useFloating.refs,
|
|
579
|
+
strategy = _useFloating.strategy,
|
|
580
|
+
update = _useFloating.update;
|
|
576
581
|
utils.useOnClickOutside([calendarRef], function () {
|
|
577
582
|
state.setOpen(false);
|
|
578
583
|
});
|
|
@@ -595,17 +600,25 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
595
600
|
showWeekNumbers: showWeekNumbers,
|
|
596
601
|
weekNumberHeader: weekNumberHeader
|
|
597
602
|
});
|
|
603
|
+
// Initial position for popover is (0,0) before being moved to calculated position.
|
|
604
|
+
// To avoid animating this move we delay turning on animation by a few ms.
|
|
605
|
+
React.useEffect(function () {
|
|
606
|
+
setTimeout(function () {
|
|
607
|
+
return setShowAnimations(state.isOpen);
|
|
608
|
+
}, 10);
|
|
609
|
+
}, [state.isOpen]);
|
|
598
610
|
var useModal = typeof width !== 'undefined' && width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH && !disableModal;
|
|
599
611
|
var popoverCalendar = React.createElement("div", {
|
|
600
612
|
// styling for floating-UI popover
|
|
601
613
|
style: {
|
|
602
614
|
position: strategy,
|
|
603
|
-
top: y
|
|
604
|
-
left: x
|
|
605
|
-
zIndex: tokens.zIndexes.popover
|
|
615
|
+
top: y,
|
|
616
|
+
left: x,
|
|
617
|
+
zIndex: tokens.zIndexes.popover,
|
|
618
|
+
transition: showAnimations ? "top " + tokens.timings.medium + " ease-in-out" : 'unset'
|
|
606
619
|
},
|
|
607
620
|
ref: function ref(node) {
|
|
608
|
-
|
|
621
|
+
refs.setFloating(node);
|
|
609
622
|
}
|
|
610
623
|
}, React.createElement(FocusLock, {
|
|
611
624
|
disabled: !state.isOpen || useModal,
|
|
@@ -632,7 +645,7 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
632
645
|
}, React.createElement("div", _extends({}, groupProps, {
|
|
633
646
|
ref: function ref(node) {
|
|
634
647
|
datePickerRef.current = node;
|
|
635
|
-
|
|
648
|
+
refs.setReference(node);
|
|
636
649
|
},
|
|
637
650
|
id: undefined,
|
|
638
651
|
className: "eds-datepicker__datefield__wrapper"
|
|
@@ -657,7 +670,8 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
657
670
|
})
|
|
658
671
|
})), !disabled && React.createElement(CalendarButton, _extends({}, buttonProps, {
|
|
659
672
|
onPress: function onPress() {
|
|
660
|
-
|
|
673
|
+
state.setOpen(!state.isOpen);
|
|
674
|
+
update();
|
|
661
675
|
},
|
|
662
676
|
className: "eds-datepicker__open-calendar-button"
|
|
663
677
|
}), React.createElement(icons.CalendarIcon, null)), useModal ? modalCalendar : popoverCalendar)));
|