@entur/datepicker 4.0.0-alpha.0 → 4.0.0-alpha.1
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 +11 -0
- package/dist/DatePicker/beta/Calendar.d.ts +2 -0
- package/dist/DatePicker/beta/CalendarCell.d.ts +1 -1
- package/dist/DatePicker/beta/CalendarGrid.d.ts +2 -1
- package/dist/DatePicker/beta/DatePicker.d.ts +9 -1
- package/dist/datepicker.cjs.development.js +159 -102
- 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 +160 -103
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/styles.css +74 -68
- package/package.json +9 -7
package/dist/datepicker.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mergeRefs, useRandomId, useOnClickOutside, useOnMount, warnAboutMissingStyles } from '@entur/utils';
|
|
1
|
+
import { mergeRefs, useRandomId, ConditionalWrapper, useWindowDimensions, useOnClickOutside, useOnMount, warnAboutMissingStyles } from '@entur/utils';
|
|
2
2
|
import React, { useRef, useState, useEffect } from 'react';
|
|
3
3
|
import ReactDatepicker, { registerLocale } from 'react-datepicker';
|
|
4
4
|
import { parse, isSameDay } from 'date-fns';
|
|
@@ -17,9 +17,11 @@ import { ZonedDateTime, parseAbsolute, Time, CalendarDateTime, GregorianCalendar
|
|
|
17
17
|
import { useCalendarCell, useCalendarGrid, useCalendar } from '@react-aria/calendar';
|
|
18
18
|
import { useCalendarState } from '@react-stately/calendar';
|
|
19
19
|
import { useButton } from '@react-aria/button';
|
|
20
|
+
import { VisuallyHidden } from '@entur/a11y';
|
|
20
21
|
import { useFloating, offset, flip, shift } from '@floating-ui/react-dom';
|
|
21
22
|
import FocusLock from 'react-focus-lock';
|
|
22
23
|
import { space } from '@entur/tokens';
|
|
24
|
+
import { Modal } from '@entur/modal';
|
|
23
25
|
|
|
24
26
|
function _extends() {
|
|
25
27
|
_extends = Object.assign || function (target) {
|
|
@@ -95,7 +97,7 @@ function getMonthName(monthIndex, locale) {
|
|
|
95
97
|
return formatter.format(new Date(year, monthIndex));
|
|
96
98
|
}
|
|
97
99
|
|
|
98
|
-
var _excluded$
|
|
100
|
+
var _excluded$a = ["style", "label", "inputPlaceholder", "prepend", "feedback", "variant", "disabled", "calendarButtonTooltipOpen", "calendarButtonTooltipClose", "hideCalendarButton", "disableLabelAnimation", "inputRef", "calendarButtonId", "forwardRef", "toggleCalendarGUI", "onKeyDownInput", "onBlurInput", "selectedDate", "setFocusToCalendarGUI", "setShouldFocusOnCalendarButtonAfterSelect", "calendarGUIIsOpen", "placeholder", "onClick", "aria-labelledby"];
|
|
99
101
|
var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
100
102
|
var style = _ref.style,
|
|
101
103
|
label = _ref.label,
|
|
@@ -119,7 +121,7 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
119
121
|
setShouldFocusOnCalendarButtonAfterSelect = _ref.setShouldFocusOnCalendarButtonAfterSelect,
|
|
120
122
|
calendarGUIIsOpen = _ref.calendarGUIIsOpen,
|
|
121
123
|
onClick = _ref.onClick,
|
|
122
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
124
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
|
|
123
125
|
|
|
124
126
|
React.useEffect(function () {
|
|
125
127
|
var _inputRef$current, _inputRef$current2, _inputRef$current3;
|
|
@@ -197,7 +199,7 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
197
199
|
}, rest));
|
|
198
200
|
});
|
|
199
201
|
|
|
200
|
-
var _excluded$
|
|
202
|
+
var _excluded$9 = ["style", "className", "selectedDate", "label", "placeholder", "onChange", "onKeyDown", "dateFormats", "minDate", "maxDate", "inline", "disabled", "prepend", "feedback", "variant", "validationFeedback", "validationVariant", "disableLabelAnimation", "calendarButtonTooltipOpen", "calendarButtonTooltipClose", "hideCalendarButton", "hideCalendar", "hideValidation", "weekLabel", "chooseDayAriaLabelPrefix", "previousMonthAriaLabel", "nextMonthAriaLabel", "locale", "open"];
|
|
201
203
|
registerLocale('nb', nb);
|
|
202
204
|
var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
203
205
|
var style = _ref.style,
|
|
@@ -249,7 +251,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
249
251
|
_ref$locale = _ref.locale,
|
|
250
252
|
locale = _ref$locale === void 0 ? nb : _ref$locale,
|
|
251
253
|
open = _ref.open,
|
|
252
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
254
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
|
|
253
255
|
|
|
254
256
|
var datepickerId = useRandomId('eds-datepicker');
|
|
255
257
|
var datepickerRef = useRef(null);
|
|
@@ -582,14 +584,15 @@ var createCalendar = function createCalendar(identifier) {
|
|
|
582
584
|
}
|
|
583
585
|
};
|
|
584
586
|
var ariaLabelIfNorwegian = function ariaLabelIfNorwegian(norwegianAriaLabel, locale, propsCollection) {
|
|
585
|
-
if (locale !== 'no-
|
|
587
|
+
if (locale.toLowerCase() !== 'no-no') return propsCollection['aria-label'];
|
|
586
588
|
return norwegianAriaLabel;
|
|
587
589
|
};
|
|
588
590
|
|
|
589
|
-
var _excluded$
|
|
591
|
+
var _excluded$8 = ["selectedDate", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "variant", "feedback", "labelTooltip", "style", "className", "labelProps", "append"];
|
|
590
592
|
var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
591
593
|
var value = _ref.selectedDate,
|
|
592
594
|
label = _ref.label,
|
|
595
|
+
customLocale = _ref.locale,
|
|
593
596
|
showTimeZone = _ref.showTimeZone,
|
|
594
597
|
showTime = _ref.showTime,
|
|
595
598
|
_ref$granularity = _ref.granularity,
|
|
@@ -602,13 +605,13 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
602
605
|
className = _ref.className,
|
|
603
606
|
parentLabelProps = _ref.labelProps,
|
|
604
607
|
append = _ref.append,
|
|
605
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
608
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
|
|
606
609
|
|
|
607
610
|
var _useLocale = useLocale(),
|
|
608
611
|
locale = _useLocale.locale;
|
|
609
612
|
|
|
610
613
|
var state = useDateFieldState(_extends({}, rest, {
|
|
611
|
-
locale: locale,
|
|
614
|
+
locale: customLocale != null ? customLocale : locale,
|
|
612
615
|
createCalendar: createCalendar,
|
|
613
616
|
value: value === null ? undefined : value,
|
|
614
617
|
hideTimeZone: !showTimeZone,
|
|
@@ -624,7 +627,14 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
624
627
|
fieldProps = _useDateField.fieldProps;
|
|
625
628
|
|
|
626
629
|
var id = useRandomId('datefield');
|
|
627
|
-
return React.createElement(
|
|
630
|
+
return React.createElement(ConditionalWrapper, {
|
|
631
|
+
condition: customLocale !== undefined,
|
|
632
|
+
wrapper: function wrapper(child) {
|
|
633
|
+
return React.createElement(I18nProvider, {
|
|
634
|
+
locale: customLocale
|
|
635
|
+
}, child);
|
|
636
|
+
}
|
|
637
|
+
}, React.createElement(BaseFormControl, _extends({
|
|
628
638
|
style: style,
|
|
629
639
|
className: classNames('eds-datefield', className),
|
|
630
640
|
labelId: id,
|
|
@@ -644,15 +654,15 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
644
654
|
state: state,
|
|
645
655
|
key: i
|
|
646
656
|
});
|
|
647
|
-
}));
|
|
657
|
+
})));
|
|
648
658
|
});
|
|
649
659
|
|
|
650
|
-
var _excluded$
|
|
660
|
+
var _excluded$7 = ["children", "className", "style"];
|
|
651
661
|
var CalendarButton = function CalendarButton(_ref) {
|
|
652
662
|
var children = _ref.children,
|
|
653
663
|
className = _ref.className,
|
|
654
664
|
style = _ref.style,
|
|
655
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
665
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
|
|
656
666
|
|
|
657
667
|
var ref = useRef(null);
|
|
658
668
|
|
|
@@ -666,11 +676,14 @@ var CalendarButton = function CalendarButton(_ref) {
|
|
|
666
676
|
}), children);
|
|
667
677
|
};
|
|
668
678
|
|
|
679
|
+
var _excluded$6 = ["state", "date"];
|
|
669
680
|
var CalendarCell = function CalendarCell(_ref) {
|
|
670
681
|
var _state$timeZone;
|
|
671
682
|
|
|
672
683
|
var state = _ref.state,
|
|
673
|
-
date = _ref.date
|
|
684
|
+
date = _ref.date,
|
|
685
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
686
|
+
|
|
674
687
|
var cellRef = useRef(null);
|
|
675
688
|
|
|
676
689
|
var _useCalendarCell = useCalendarCell({
|
|
@@ -695,14 +708,17 @@ var CalendarCell = function CalendarCell(_ref) {
|
|
|
695
708
|
'eds-datepicker__calendar__grid__cell--unavailable': isUnavailable,
|
|
696
709
|
'eds-datepicker__calendar__grid__cell--today': isEqualDay(date, now((_state$timeZone = state.timeZone) != null ? _state$timeZone : getLocalTimeZone()))
|
|
697
710
|
})
|
|
698
|
-
}), formattedDate));
|
|
711
|
+
}, rest), formattedDate));
|
|
699
712
|
};
|
|
700
713
|
|
|
701
|
-
var _excluded$5 = ["state"];
|
|
714
|
+
var _excluded$5 = ["state", "navigationDescription"];
|
|
702
715
|
var CalendarGrid = function CalendarGrid(_ref) {
|
|
703
716
|
var state = _ref.state,
|
|
717
|
+
navigationDescription = _ref.navigationDescription,
|
|
704
718
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
705
719
|
|
|
720
|
+
var calendarGridId = useRandomId('eds-calendar');
|
|
721
|
+
|
|
706
722
|
var _useLocale = useLocale(),
|
|
707
723
|
locale = _useLocale.locale;
|
|
708
724
|
|
|
@@ -722,7 +738,13 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
722
738
|
});
|
|
723
739
|
};
|
|
724
740
|
|
|
725
|
-
|
|
741
|
+
var getNavigationDescription = function getNavigationDescription() {
|
|
742
|
+
if (navigationDescription) return navigationDescription;
|
|
743
|
+
if (locale.toLowerCase().includes('en')) return 'Use the arrow keys to navigate between dates';
|
|
744
|
+
return 'Bruk piltastene til å navigere mellom datoer';
|
|
745
|
+
};
|
|
746
|
+
|
|
747
|
+
return React.createElement(React.Fragment, null, React.createElement("table", _extends({}, gridProps, {
|
|
726
748
|
cellSpacing: "0",
|
|
727
749
|
className: "eds-datepicker__calendar__grid"
|
|
728
750
|
}), React.createElement("thead", _extends({}, headerProps), React.createElement("tr", null, weekDaysMapped().map(function (day, index) {
|
|
@@ -736,24 +758,31 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
736
758
|
return date ? React.createElement(CalendarCell, {
|
|
737
759
|
key: i,
|
|
738
760
|
state: state,
|
|
739
|
-
date: date
|
|
761
|
+
date: date,
|
|
762
|
+
"aria-describedby": calendarGridId + 'description'
|
|
740
763
|
}) : React.createElement("td", {
|
|
741
764
|
key: i
|
|
742
765
|
});
|
|
743
766
|
}));
|
|
744
|
-
})))
|
|
767
|
+
}))), React.createElement(VisuallyHidden, {
|
|
768
|
+
id: calendarGridId + 'description'
|
|
769
|
+
}, getNavigationDescription()));
|
|
745
770
|
};
|
|
746
771
|
|
|
747
|
-
var _excluded$4 = ["selectedDate", "style", "children"];
|
|
772
|
+
var _excluded$4 = ["selectedDate", "onChange", "locale", "style", "children", "navigationDescription"];
|
|
748
773
|
var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
749
|
-
var
|
|
774
|
+
var onChange = _ref.onChange,
|
|
775
|
+
customLocale = _ref.locale,
|
|
776
|
+
style = _ref.style,
|
|
777
|
+
navigationDescription = _ref.navigationDescription,
|
|
750
778
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
751
779
|
|
|
752
780
|
var _useLocale = useLocale(),
|
|
753
781
|
locale = _useLocale.locale;
|
|
754
782
|
|
|
755
783
|
var state = useCalendarState(_extends({}, rest, {
|
|
756
|
-
|
|
784
|
+
onChange: onChange,
|
|
785
|
+
locale: customLocale != null ? customLocale : locale,
|
|
757
786
|
createCalendar: createCalendar
|
|
758
787
|
}));
|
|
759
788
|
|
|
@@ -761,10 +790,16 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
761
790
|
calendarProps = _useCalendar.calendarProps,
|
|
762
791
|
prevButtonProps = _useCalendar.prevButtonProps,
|
|
763
792
|
nextButtonProps = _useCalendar.nextButtonProps,
|
|
764
|
-
title = _useCalendar.title;
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
793
|
+
title = _useCalendar.title;
|
|
794
|
+
|
|
795
|
+
return React.createElement(ConditionalWrapper, {
|
|
796
|
+
condition: customLocale,
|
|
797
|
+
wrapper: function wrapper(child) {
|
|
798
|
+
return React.createElement(I18nProvider, {
|
|
799
|
+
locale: customLocale
|
|
800
|
+
}, child);
|
|
801
|
+
}
|
|
802
|
+
}, React.createElement("div", _extends({}, calendarProps, {
|
|
768
803
|
ref: ref,
|
|
769
804
|
className: "eds-datepicker__calendar",
|
|
770
805
|
style: style
|
|
@@ -779,48 +814,32 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
779
814
|
}), React.createElement(RightArrowIcon, {
|
|
780
815
|
size: 20
|
|
781
816
|
}))), React.createElement(CalendarGrid, {
|
|
782
|
-
state: state
|
|
783
|
-
|
|
784
|
-
});
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
// return month + ' ' + year;
|
|
789
|
-
// switch (month.toLowerCase()) {
|
|
790
|
-
// case 'january':
|
|
791
|
-
// return 'januar ' + year;
|
|
792
|
-
// case 'february':
|
|
793
|
-
// return 'februar ' + year;
|
|
794
|
-
// case 'march':
|
|
795
|
-
// return 'mars ' + year;
|
|
796
|
-
// case 'may':
|
|
797
|
-
// return 'mai ' + year;
|
|
798
|
-
// case 'june':
|
|
799
|
-
// return 'juni ' + year;
|
|
800
|
-
// case 'july':
|
|
801
|
-
// return 'juli ' + year;
|
|
802
|
-
// case 'october':
|
|
803
|
-
// return 'oktober ' + year;
|
|
804
|
-
// case 'december':
|
|
805
|
-
// return 'desember ' + year;
|
|
806
|
-
// default:
|
|
807
|
-
// return month.toLowerCase() + ' ' + year.toLowerCase();
|
|
808
|
-
// }
|
|
809
|
-
// };
|
|
810
|
-
|
|
811
|
-
var _excluded$3 = ["selectedDate", "onChange", "disabled", "className", "style", "variant", "feedback"];
|
|
817
|
+
state: state,
|
|
818
|
+
navigationDescription: navigationDescription
|
|
819
|
+
})));
|
|
820
|
+
});
|
|
821
|
+
|
|
822
|
+
var _excluded$3 = ["selectedDate", "onChange", "locale", "disabled", "className", "style", "variant", "feedback", "disableModal", "navigationDescription"];
|
|
812
823
|
var DatePickerBeta = function DatePickerBeta(_ref) {
|
|
813
824
|
var value = _ref.selectedDate,
|
|
814
825
|
_onChange = _ref.onChange,
|
|
826
|
+
locale = _ref.locale,
|
|
815
827
|
isDisabled = _ref.disabled,
|
|
816
828
|
className = _ref.className,
|
|
817
829
|
variant = _ref.variant,
|
|
818
830
|
feedback = _ref.feedback,
|
|
831
|
+
_ref$disableModal = _ref.disableModal,
|
|
832
|
+
disableModal = _ref$disableModal === void 0 ? false : _ref$disableModal,
|
|
833
|
+
navigationDescription = _ref.navigationDescription,
|
|
819
834
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
820
835
|
|
|
836
|
+
var CALENDAR_MODAL_MAX_SCREEN_WIDTH = 1000;
|
|
821
837
|
var datePickerRef = useRef(null);
|
|
822
838
|
var calendarRef = useRef(null);
|
|
823
|
-
var dateFieldRef = useRef(null);
|
|
839
|
+
var dateFieldRef = useRef(null);
|
|
840
|
+
|
|
841
|
+
var _useWindowDimensions = useWindowDimensions(),
|
|
842
|
+
width = _useWindowDimensions.width;
|
|
824
843
|
|
|
825
844
|
var state = useDatePickerState(_extends({}, rest, {
|
|
826
845
|
value: value,
|
|
@@ -835,8 +854,22 @@ var DatePickerBeta = function DatePickerBeta(_ref) {
|
|
|
835
854
|
fieldProps = _useDatePicker.fieldProps,
|
|
836
855
|
buttonProps = _useDatePicker.buttonProps,
|
|
837
856
|
dialogProps = _useDatePicker.dialogProps,
|
|
838
|
-
calendarProps = _useDatePicker.calendarProps;
|
|
857
|
+
calendarProps = _useDatePicker.calendarProps;
|
|
858
|
+
|
|
859
|
+
useEffect(function () {
|
|
860
|
+
var _calendarRef$current;
|
|
861
|
+
|
|
862
|
+
var keyDownHandler = function keyDownHandler(event) {
|
|
863
|
+
if (event.key === 'Escape') state.setOpen(false);
|
|
864
|
+
};
|
|
839
865
|
|
|
866
|
+
(_calendarRef$current = calendarRef.current) == null ? void 0 : _calendarRef$current.addEventListener('keydown', keyDownHandler);
|
|
867
|
+
return function () {
|
|
868
|
+
var _calendarRef$current2;
|
|
869
|
+
|
|
870
|
+
return (_calendarRef$current2 = calendarRef.current) == null ? void 0 : _calendarRef$current2.removeEventListener('keydown', keyDownHandler);
|
|
871
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
872
|
+
}, []); // calculations for floating-UI popover position
|
|
840
873
|
|
|
841
874
|
var _useFloating = useFloating({
|
|
842
875
|
placement: 'bottom-start',
|
|
@@ -848,35 +881,81 @@ var DatePickerBeta = function DatePickerBeta(_ref) {
|
|
|
848
881
|
y = _useFloating.y,
|
|
849
882
|
reference = _useFloating.reference,
|
|
850
883
|
floating = _useFloating.floating,
|
|
851
|
-
strategy = _useFloating.strategy;
|
|
884
|
+
strategy = _useFloating.strategy;
|
|
852
885
|
|
|
886
|
+
useOnClickOutside([calendarRef], function () {
|
|
887
|
+
state.setOpen(false);
|
|
888
|
+
});
|
|
853
889
|
|
|
854
|
-
|
|
855
|
-
|
|
890
|
+
var handleCalendarButtonOnClick = function handleCalendarButtonOnClick(calendarIsOpen) {
|
|
891
|
+
if (!calendarIsOpen) {
|
|
892
|
+
state.setOpen(true);
|
|
893
|
+
setFocusToRelevantDate();
|
|
894
|
+
} else {
|
|
895
|
+
state.setOpen(false);
|
|
896
|
+
}
|
|
897
|
+
};
|
|
898
|
+
|
|
899
|
+
var setFocusToRelevantDate = function setFocusToRelevantDate() {
|
|
900
|
+
var _calendarRef$current3, _calendarRef$current4;
|
|
856
901
|
|
|
857
902
|
var gridCellPrefix = 'eds-datepicker__calendar__grid__cell';
|
|
858
|
-
var selectedCell = (_calendarRef$
|
|
859
|
-
var todayCell = (_calendarRef$
|
|
903
|
+
var selectedCell = (_calendarRef$current3 = calendarRef.current) == null ? void 0 : _calendarRef$current3.getElementsByClassName(gridCellPrefix + '--selected')[0];
|
|
904
|
+
var todayCell = (_calendarRef$current4 = calendarRef.current) == null ? void 0 : _calendarRef$current4.getElementsByClassName(gridCellPrefix + '--today')[0];
|
|
860
905
|
if (selectedCell) selectedCell.focus();else if (todayCell) todayCell.focus();
|
|
861
|
-
}
|
|
862
|
-
useOnClickOutside([calendarRef], function () {
|
|
863
|
-
state.setOpen(false);
|
|
864
|
-
});
|
|
865
|
-
useEffect(function () {
|
|
866
|
-
var _calendarRef$current3;
|
|
906
|
+
};
|
|
867
907
|
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
908
|
+
var popoverCalendar = React.createElement(FocusLock, {
|
|
909
|
+
disabled: !state.isOpen,
|
|
910
|
+
returnFocus: true
|
|
911
|
+
}, React.createElement(Calendar, _extends({}, dialogProps, calendarProps, {
|
|
912
|
+
onChange: function onChange(dateValue) {
|
|
913
|
+
_onChange(dateValue);
|
|
871
914
|
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
915
|
+
state.setOpen(false);
|
|
916
|
+
},
|
|
917
|
+
disabled: calendarProps.isDisabled,
|
|
918
|
+
ref: function ref(node) {
|
|
919
|
+
calendarRef.current = node;
|
|
920
|
+
floating(node);
|
|
921
|
+
},
|
|
922
|
+
navigationDescription: navigationDescription,
|
|
923
|
+
// styling for floating-UI popover
|
|
924
|
+
style: {
|
|
925
|
+
display: state.isOpen ? 'block' : 'none',
|
|
926
|
+
position: strategy,
|
|
927
|
+
top: y != null ? y : 0,
|
|
928
|
+
left: x != null ? x : 0,
|
|
929
|
+
zIndex: 10
|
|
930
|
+
}
|
|
931
|
+
})));
|
|
932
|
+
var modalCalendar = React.createElement(Modal, {
|
|
933
|
+
size: 'small',
|
|
934
|
+
title: "",
|
|
935
|
+
open: state.isOpen,
|
|
936
|
+
onDismiss: function onDismiss() {
|
|
937
|
+
return state.setOpen(false);
|
|
938
|
+
},
|
|
939
|
+
closeOnClickOutside: true,
|
|
940
|
+
className: "eds-datepicker__calendar-modal"
|
|
941
|
+
}, React.createElement(Calendar, _extends({}, dialogProps, calendarProps, {
|
|
942
|
+
onChange: function onChange(dateValue) {
|
|
943
|
+
_onChange(dateValue);
|
|
875
944
|
|
|
876
|
-
|
|
877
|
-
}
|
|
878
|
-
|
|
879
|
-
|
|
945
|
+
state.setOpen(false);
|
|
946
|
+
},
|
|
947
|
+
disabled: calendarProps.isDisabled,
|
|
948
|
+
ref: calendarRef,
|
|
949
|
+
navigationDescription: navigationDescription
|
|
950
|
+
})));
|
|
951
|
+
return React.createElement(ConditionalWrapper, {
|
|
952
|
+
condition: locale !== undefined,
|
|
953
|
+
wrapper: function wrapper(child) {
|
|
954
|
+
return React.createElement(I18nProvider, {
|
|
955
|
+
locale: locale
|
|
956
|
+
}, child);
|
|
957
|
+
}
|
|
958
|
+
}, React.createElement("div", {
|
|
880
959
|
className: classNames('eds-datepicker', className)
|
|
881
960
|
}, React.createElement("div", _extends({}, groupProps, {
|
|
882
961
|
ref: function ref(node) {
|
|
@@ -896,32 +975,10 @@ var DatePickerBeta = function DatePickerBeta(_ref) {
|
|
|
896
975
|
feedback: feedback
|
|
897
976
|
})), !fieldProps.isDisabled && React.createElement(CalendarButton, _extends({}, buttonProps, {
|
|
898
977
|
onPress: function onPress() {
|
|
899
|
-
return
|
|
978
|
+
return handleCalendarButtonOnClick(state.isOpen);
|
|
900
979
|
},
|
|
901
980
|
className: "eds-datepicker__open-calendar-button"
|
|
902
|
-
}), React.createElement(CalendarIcon, null))
|
|
903
|
-
disabled: !state.isOpen,
|
|
904
|
-
returnFocus: true
|
|
905
|
-
}, React.createElement(Calendar, _extends({}, dialogProps, calendarProps, {
|
|
906
|
-
onChange: function onChange(dateValue) {
|
|
907
|
-
_onChange(dateValue);
|
|
908
|
-
|
|
909
|
-
state.setOpen(false);
|
|
910
|
-
},
|
|
911
|
-
disabled: calendarProps.isDisabled,
|
|
912
|
-
ref: function ref(node) {
|
|
913
|
-
calendarRef.current = node;
|
|
914
|
-
floating(node);
|
|
915
|
-
},
|
|
916
|
-
// styling for floating-UI popover
|
|
917
|
-
style: {
|
|
918
|
-
display: state.isOpen ? 'block' : 'none',
|
|
919
|
-
position: strategy,
|
|
920
|
-
top: y != null ? y : 0,
|
|
921
|
-
left: x != null ? x : 0,
|
|
922
|
-
zIndex: 10
|
|
923
|
-
}
|
|
924
|
-
}))));
|
|
981
|
+
}), React.createElement(CalendarIcon, null)), width > CALENDAR_MODAL_MAX_SCREEN_WIDTH || disableModal ? popoverCalendar : modalCalendar)));
|
|
925
982
|
};
|
|
926
983
|
|
|
927
984
|
var _excluded$2 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
|