@fluentui/react-calendar-compat 0.0.0-nightly-20231023-0416.1 → 0.0.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.json +9 -51
- package/CHANGELOG.md +7 -14
- package/dist/index.d.ts +1376 -0
- package/lib/Calendar.js +1 -0
- package/lib/Calendar.js.map +1 -0
- package/lib/CalendarDay.js +1 -0
- package/lib/CalendarDay.js.map +1 -0
- package/lib/CalendarDayGrid.js +1 -0
- package/lib/CalendarDayGrid.js.map +1 -0
- package/lib/CalendarMonth.js +1 -0
- package/lib/CalendarMonth.js.map +1 -0
- package/lib/CalendarPicker.js +1 -0
- package/lib/CalendarPicker.js.map +1 -0
- package/lib/CalendarYear.js +1 -0
- package/lib/CalendarYear.js.map +1 -0
- package/lib/components/Calendar/Calendar.js +302 -0
- package/lib/components/Calendar/Calendar.js.map +1 -0
- package/lib/components/Calendar/Calendar.types.js +10 -0
- package/lib/components/Calendar/Calendar.types.js.map +1 -0
- package/lib/components/Calendar/defaults.js +2 -0
- package/lib/components/Calendar/defaults.js.map +1 -0
- package/lib/components/Calendar/index.js +4 -0
- package/lib/components/Calendar/index.js.map +1 -0
- package/lib/components/Calendar/useCalendarStyles.styles.js +167 -0
- package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -0
- package/lib/components/CalendarDay/CalendarDay.js +111 -0
- package/lib/components/CalendarDay/CalendarDay.js.map +1 -0
- package/lib/components/CalendarDay/CalendarDay.types.js +1 -0
- package/lib/components/CalendarDay/CalendarDay.types.js.map +1 -0
- package/lib/components/CalendarDay/index.js +3 -0
- package/lib/components/CalendarDay/index.js.map +1 -0
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +180 -0
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js +168 -0
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -0
- package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js +1 -0
- package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js.map +1 -0
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +164 -0
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -0
- package/lib/components/CalendarDayGrid/CalendarGridRow.js +26 -0
- package/lib/components/CalendarDayGrid/CalendarGridRow.js.map +1 -0
- package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js +36 -0
- package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -0
- package/lib/components/CalendarDayGrid/index.js +4 -0
- package/lib/components/CalendarDayGrid/index.js.map +1 -0
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +437 -0
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js +98 -0
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
- package/lib/components/CalendarDayGrid/useWeeks.js +45 -0
- package/lib/components/CalendarDayGrid/useWeeks.js.map +1 -0
- package/lib/components/CalendarMonth/CalendarMonth.js +263 -0
- package/lib/components/CalendarMonth/CalendarMonth.js.map +1 -0
- package/lib/components/CalendarMonth/CalendarMonth.types.js +1 -0
- package/lib/components/CalendarMonth/CalendarMonth.types.js.map +1 -0
- package/lib/components/CalendarMonth/index.js +3 -0
- package/lib/components/CalendarMonth/index.js.map +1 -0
- package/lib/components/CalendarMonth/useCalendarMonthStyles.js +8 -0
- package/lib/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -0
- package/lib/components/CalendarPicker/CalendarPicker.types.js +1 -0
- package/lib/components/CalendarPicker/CalendarPicker.types.js.map +1 -0
- package/lib/components/CalendarPicker/index.js +2 -0
- package/lib/components/CalendarPicker/index.js.map +1 -0
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +371 -0
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
- package/lib/components/CalendarYear/CalendarYear.js +298 -0
- package/lib/components/CalendarYear/CalendarYear.js.map +1 -0
- package/lib/components/CalendarYear/CalendarYear.types.js +1 -0
- package/lib/components/CalendarYear/CalendarYear.types.js.map +1 -0
- package/lib/components/CalendarYear/index.js +3 -0
- package/lib/components/CalendarYear/index.js.map +1 -0
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.js +10 -0
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -0
- package/lib/utils/animations.js +97 -0
- package/lib/utils/animations.js.map +1 -0
- package/lib/utils/constants.js +62 -0
- package/lib/utils/constants.js.map +1 -0
- package/lib/utils/dateFormatting/dateFormatting.defaults.js +95 -0
- package/lib/utils/dateFormatting/dateFormatting.defaults.js.map +1 -0
- package/lib/utils/dateFormatting/dateFormatting.types.js +1 -0
- package/lib/utils/dateFormatting/dateFormatting.types.js.map +1 -0
- package/lib/utils/dateFormatting/index.js +2 -0
- package/lib/utils/dateFormatting/index.js.map +1 -0
- package/lib/utils/dateGrid/dateGrid.types.js +1 -0
- package/lib/utils/dateGrid/dateGrid.types.js.map +1 -0
- package/lib/utils/dateGrid/findAvailableDate.js +22 -0
- package/lib/utils/dateGrid/findAvailableDate.js.map +1 -0
- package/lib/utils/dateGrid/getBoundedDateRange.js +18 -0
- package/lib/utils/dateGrid/getBoundedDateRange.js.map +1 -0
- package/lib/utils/dateGrid/getDateRangeTypeToUse.js +16 -0
- package/lib/utils/dateGrid/getDateRangeTypeToUse.js.map +1 -0
- package/lib/utils/dateGrid/getDayGrid.js +71 -0
- package/lib/utils/dateGrid/getDayGrid.js.map +1 -0
- package/lib/utils/dateGrid/index.js +5 -0
- package/lib/utils/dateGrid/index.js.map +1 -0
- package/lib/utils/dateGrid/isAfterMaxDate.js +9 -0
- package/lib/utils/dateGrid/isAfterMaxDate.js.map +1 -0
- package/lib/utils/dateGrid/isBeforeMinDate.js +9 -0
- package/lib/utils/dateGrid/isBeforeMinDate.js.map +1 -0
- package/lib/utils/dateGrid/isContiguous.js +18 -0
- package/lib/utils/dateGrid/isContiguous.js.map +1 -0
- package/lib/utils/dateGrid/isRestrictedDate.js +15 -0
- package/lib/utils/dateGrid/isRestrictedDate.js.map +1 -0
- package/lib/utils/dateMath/dateMath.js +339 -0
- package/lib/utils/dateMath/dateMath.js.map +1 -0
- package/lib/utils/dateMath/index.js +1 -0
- package/lib/utils/dateMath/index.js.map +1 -0
- package/lib/utils/dom.js +8 -0
- package/lib/utils/dom.js.map +1 -0
- package/lib/utils/focus.js +26 -0
- package/lib/utils/focus.js.map +1 -0
- package/lib/utils/index.js +7 -0
- package/lib/utils/index.js.map +1 -0
- package/lib-commonjs/Calendar.js +6 -0
- package/lib-commonjs/Calendar.js.map +1 -0
- package/lib-commonjs/CalendarDay.js +6 -0
- package/lib-commonjs/CalendarDay.js.map +1 -0
- package/lib-commonjs/CalendarDayGrid.js +6 -0
- package/lib-commonjs/CalendarDayGrid.js.map +1 -0
- package/lib-commonjs/CalendarMonth.js +6 -0
- package/lib-commonjs/CalendarMonth.js.map +1 -0
- package/lib-commonjs/CalendarPicker.js +6 -0
- package/lib-commonjs/CalendarPicker.js.map +1 -0
- package/lib-commonjs/CalendarYear.js +6 -0
- package/lib-commonjs/CalendarYear.js.map +1 -0
- package/lib-commonjs/components/Calendar/Calendar.js +311 -0
- package/lib-commonjs/components/Calendar/Calendar.js.map +1 -0
- package/lib-commonjs/components/Calendar/Calendar.types.js +21 -0
- package/lib-commonjs/components/Calendar/Calendar.types.js.map +1 -0
- package/lib-commonjs/components/Calendar/defaults.js +12 -0
- package/lib-commonjs/components/Calendar/defaults.js.map +1 -0
- package/lib-commonjs/components/Calendar/index.js +15 -0
- package/lib-commonjs/components/Calendar/index.js.map +1 -0
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +339 -0
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarDay/CalendarDay.js +120 -0
- package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -0
- package/lib-commonjs/components/CalendarDay/CalendarDay.types.js +6 -0
- package/lib-commonjs/components/CalendarDay/CalendarDay.types.js.map +1 -0
- package/lib-commonjs/components/CalendarDay/index.js +8 -0
- package/lib-commonjs/components/CalendarDay/index.js.map +1 -0
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +357 -0
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js +179 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js +6 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +173 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js +35 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js +45 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/index.js +22 -0
- package/lib-commonjs/components/CalendarDayGrid/index.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +890 -0
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js +105 -0
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/useWeeks.js +54 -0
- package/lib-commonjs/components/CalendarDayGrid/useWeeks.js.map +1 -0
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.js +272 -0
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.js.map +1 -0
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js +6 -0
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js.map +1 -0
- package/lib-commonjs/components/CalendarMonth/index.js +8 -0
- package/lib-commonjs/components/CalendarMonth/index.js.map +1 -0
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js +14 -0
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -0
- package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js +4 -0
- package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js.map +1 -0
- package/lib-commonjs/components/CalendarPicker/index.js +7 -0
- package/lib-commonjs/components/CalendarPicker/index.js.map +1 -0
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +742 -0
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarYear/CalendarYear.js +307 -0
- package/lib-commonjs/components/CalendarYear/CalendarYear.js.map +1 -0
- package/lib-commonjs/components/CalendarYear/CalendarYear.types.js +6 -0
- package/lib-commonjs/components/CalendarYear/CalendarYear.types.js.map +1 -0
- package/lib-commonjs/components/CalendarYear/index.js +8 -0
- package/lib-commonjs/components/CalendarYear/index.js.map +1 -0
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js +14 -0
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
- package/lib-commonjs/index.js +154 -0
- package/lib-commonjs/index.js.map +1 -0
- package/lib-commonjs/utils/animations.js +154 -0
- package/lib-commonjs/utils/animations.js.map +1 -0
- package/lib-commonjs/utils/constants.js +92 -0
- package/lib-commonjs/utils/constants.js.map +1 -0
- package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js +116 -0
- package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js.map +1 -0
- package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js +4 -0
- package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js.map +1 -0
- package/lib-commonjs/utils/dateFormatting/index.js +7 -0
- package/lib-commonjs/utils/dateFormatting/index.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/dateGrid.types.js +4 -0
- package/lib-commonjs/utils/dateGrid/dateGrid.types.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/findAvailableDate.js +29 -0
- package/lib-commonjs/utils/dateGrid/findAvailableDate.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js +23 -0
- package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js +20 -0
- package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/getDayGrid.js +76 -0
- package/lib-commonjs/utils/dateGrid/getDayGrid.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/index.js +10 -0
- package/lib-commonjs/utils/dateGrid/index.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js +15 -0
- package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js +15 -0
- package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/isContiguous.js +28 -0
- package/lib-commonjs/utils/dateGrid/isContiguous.js.map +1 -0
- package/lib-commonjs/utils/dateGrid/isRestrictedDate.js +21 -0
- package/lib-commonjs/utils/dateGrid/isRestrictedDate.js.map +1 -0
- package/lib-commonjs/utils/dateMath/dateMath.js +308 -0
- package/lib-commonjs/utils/dateMath/dateMath.js.map +1 -0
- package/lib-commonjs/utils/dateMath/index.js +6 -0
- package/lib-commonjs/utils/dateMath/index.js.map +1 -0
- package/lib-commonjs/utils/dom.js +18 -0
- package/lib-commonjs/utils/dom.js.map +1 -0
- package/lib-commonjs/utils/focus.js +31 -0
- package/lib-commonjs/utils/focus.js.map +1 -0
- package/lib-commonjs/utils/index.js +12 -0
- package/lib-commonjs/utils/index.js.map +1 -0
- package/package.json +15 -10
@@ -0,0 +1,311 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "Calendar", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return Calendar;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
13
|
+
const _keyboardkeys = require("@fluentui/keyboard-keys");
|
14
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
15
|
+
const _utils = require("../../utils");
|
16
|
+
const _CalendarDay = require("../CalendarDay/CalendarDay");
|
17
|
+
const _CalendarMonth = require("../CalendarMonth/CalendarMonth");
|
18
|
+
const _useCalendarStylesstyles = require("./useCalendarStyles.styles");
|
19
|
+
const MIN_SIZE_FORCE_OVERLAY = 440;
|
20
|
+
const defaultWorkWeekDays = [
|
21
|
+
_utils.DayOfWeek.Monday,
|
22
|
+
_utils.DayOfWeek.Tuesday,
|
23
|
+
_utils.DayOfWeek.Wednesday,
|
24
|
+
_utils.DayOfWeek.Thursday,
|
25
|
+
_utils.DayOfWeek.Friday
|
26
|
+
];
|
27
|
+
function useDateState({ value, today = new Date(), onSelectDate }) {
|
28
|
+
/** The currently selected date in the calendar */ const [selectedDate, setSelectedDate] = (0, _reactutilities.useControllableState)({
|
29
|
+
defaultState: today,
|
30
|
+
initialState: today,
|
31
|
+
state: value
|
32
|
+
});
|
33
|
+
/** The currently focused date in the day picker, but not necessarily selected */ const [navigatedDay = today, setNavigatedDay] = _react.useState(value);
|
34
|
+
/** The currently focused date in the month picker, but not necessarily selected */ const [navigatedMonth = today, setNavigatedMonth] = _react.useState(value);
|
35
|
+
/** If using a controlled value, when that value changes, navigate to that date */ const [lastSelectedDate = today, setLastSelectedDate] = _react.useState(value);
|
36
|
+
if (value && lastSelectedDate.valueOf() !== value.valueOf()) {
|
37
|
+
setNavigatedDay(value);
|
38
|
+
setNavigatedMonth(value);
|
39
|
+
setLastSelectedDate(value);
|
40
|
+
}
|
41
|
+
const navigateMonth = (date)=>{
|
42
|
+
setNavigatedMonth(date);
|
43
|
+
};
|
44
|
+
const navigateDay = (date)=>{
|
45
|
+
setNavigatedMonth(date);
|
46
|
+
setNavigatedDay(date);
|
47
|
+
};
|
48
|
+
const onDateSelected = (date, selectedDateRangeArray)=>{
|
49
|
+
setNavigatedMonth(date);
|
50
|
+
setNavigatedDay(date);
|
51
|
+
setSelectedDate(date);
|
52
|
+
onSelectDate === null || onSelectDate === void 0 ? void 0 : onSelectDate(date, selectedDateRangeArray);
|
53
|
+
};
|
54
|
+
return [
|
55
|
+
selectedDate,
|
56
|
+
navigatedDay,
|
57
|
+
navigatedMonth,
|
58
|
+
onDateSelected,
|
59
|
+
navigateDay,
|
60
|
+
navigateMonth
|
61
|
+
];
|
62
|
+
}
|
63
|
+
function useVisibilityState({ isDayPickerVisible: isDayPickerVisibleProp, isMonthPickerVisible: isMonthPickerVisibleProp, showMonthPickerAsOverlay }) {
|
64
|
+
/** State used to show/hide month picker */ const [isMonthPickerVisible, setIsMonthPickerVisible] = (0, _reactutilities.useControllableState)({
|
65
|
+
defaultState: false,
|
66
|
+
initialState: true,
|
67
|
+
state: getShowMonthPickerAsOverlay({
|
68
|
+
isDayPickerVisible: isDayPickerVisibleProp,
|
69
|
+
showMonthPickerAsOverlay
|
70
|
+
}) ? undefined : isMonthPickerVisibleProp
|
71
|
+
});
|
72
|
+
/** State used to show/hide day picker */ const [isDayPickerVisible, setIsDayPickerVisible] = (0, _reactutilities.useControllableState)({
|
73
|
+
defaultState: true,
|
74
|
+
initialState: true,
|
75
|
+
state: getShowMonthPickerAsOverlay({
|
76
|
+
isDayPickerVisible: isDayPickerVisibleProp,
|
77
|
+
showMonthPickerAsOverlay
|
78
|
+
}) ? undefined : isDayPickerVisibleProp
|
79
|
+
});
|
80
|
+
const toggleDayMonthPickerVisibility = ()=>{
|
81
|
+
setIsMonthPickerVisible(!isMonthPickerVisible);
|
82
|
+
setIsDayPickerVisible(!isDayPickerVisible);
|
83
|
+
};
|
84
|
+
return [
|
85
|
+
isMonthPickerVisible,
|
86
|
+
isDayPickerVisible,
|
87
|
+
toggleDayMonthPickerVisibility
|
88
|
+
];
|
89
|
+
}
|
90
|
+
function useFocusLogic({ componentRef }, isDayPickerVisible, isMonthPickerVisible) {
|
91
|
+
const dayPicker = _react.useRef(null);
|
92
|
+
const monthPicker = _react.useRef(null);
|
93
|
+
const focusOnUpdate = _react.useRef(false);
|
94
|
+
const focus = _react.useCallback(()=>{
|
95
|
+
if (isDayPickerVisible && dayPicker.current) {
|
96
|
+
(0, _utils.focusAsync)(dayPicker.current);
|
97
|
+
} else if (isMonthPickerVisible && monthPicker.current) {
|
98
|
+
(0, _utils.focusAsync)(monthPicker.current);
|
99
|
+
}
|
100
|
+
}, [
|
101
|
+
isDayPickerVisible,
|
102
|
+
isMonthPickerVisible
|
103
|
+
]);
|
104
|
+
_react.useImperativeHandle(componentRef, ()=>({
|
105
|
+
focus
|
106
|
+
}), [
|
107
|
+
focus
|
108
|
+
]);
|
109
|
+
_react.useEffect(()=>{
|
110
|
+
if (focusOnUpdate.current) {
|
111
|
+
focus();
|
112
|
+
focusOnUpdate.current = false;
|
113
|
+
}
|
114
|
+
});
|
115
|
+
const focusOnNextUpdate = ()=>{
|
116
|
+
focusOnUpdate.current = true;
|
117
|
+
};
|
118
|
+
return [
|
119
|
+
dayPicker,
|
120
|
+
monthPicker,
|
121
|
+
focusOnNextUpdate
|
122
|
+
];
|
123
|
+
}
|
124
|
+
const Calendar = /*#__PURE__*/ _react.forwardRef((props, forwardedRef)=>{
|
125
|
+
const { allFocusable = false, calendarDayProps, calendarMonthProps, className, componentRef, dateRangeType = _utils.DateRangeType.Day, dateTimeFormatter = _utils.DEFAULT_DATE_FORMATTING, firstDayOfWeek = _utils.DayOfWeek.Sunday, firstWeekOfYear = _utils.FirstWeekOfYear.FirstDay, highlightCurrentMonth = false, highlightSelectedMonth = false, id, isDayPickerVisible: isDayPickerVisibleProp = true, isMonthPickerVisible: isMonthPickerVisibleProp = true, maxDate, minDate, onDismiss, onSelectDate, restrictedDates, showCloseButton = false, showGoToToday = true, showMonthPickerAsOverlay: showMonthPickerAsOverlayProp = false, showSixWeeksByDefault = false, showWeekNumbers = false, strings = _utils.DEFAULT_CALENDAR_STRINGS, today = new Date(), value, workWeekDays = defaultWorkWeekDays } = props;
|
126
|
+
const [selectedDate, navigatedDay, navigatedMonth, onDateSelected, navigateDay, navigateMonth] = useDateState({
|
127
|
+
onSelectDate,
|
128
|
+
value,
|
129
|
+
today
|
130
|
+
});
|
131
|
+
const [isMonthPickerVisible, isDayPickerVisible, toggleDayMonthPickerVisibility] = useVisibilityState({
|
132
|
+
isDayPickerVisible: isDayPickerVisibleProp,
|
133
|
+
isMonthPickerVisible: isMonthPickerVisibleProp,
|
134
|
+
showMonthPickerAsOverlay: showMonthPickerAsOverlayProp
|
135
|
+
});
|
136
|
+
const [dayPicker, monthPicker, focusOnNextUpdate] = useFocusLogic({
|
137
|
+
componentRef
|
138
|
+
}, isDayPickerVisible, isMonthPickerVisible);
|
139
|
+
const renderGoToTodayButton = ()=>{
|
140
|
+
let goTodayEnabled = showGoToToday;
|
141
|
+
if (goTodayEnabled && today) {
|
142
|
+
goTodayEnabled = navigatedDay.getFullYear() !== today.getFullYear() || navigatedDay.getMonth() !== today.getMonth() || navigatedMonth.getFullYear() !== today.getFullYear() || navigatedMonth.getMonth() !== today.getMonth();
|
143
|
+
}
|
144
|
+
return showGoToToday && /*#__PURE__*/ _react.createElement("button", {
|
145
|
+
className: classes.goTodayButton,
|
146
|
+
onClick: onGotoToday,
|
147
|
+
onKeyDown: onButtonKeyDown(onGotoToday),
|
148
|
+
type: "button",
|
149
|
+
disabled: !goTodayEnabled
|
150
|
+
}, strings.goToToday);
|
151
|
+
};
|
152
|
+
const onNavigateDayDate = (date, focusOnNavigatedDay)=>{
|
153
|
+
navigateDay(date);
|
154
|
+
if (focusOnNavigatedDay) {
|
155
|
+
focusOnNextUpdate();
|
156
|
+
}
|
157
|
+
};
|
158
|
+
const onNavigateMonthDate = (date, focusOnNavigatedDay)=>{
|
159
|
+
if (focusOnNavigatedDay) {
|
160
|
+
focusOnNextUpdate();
|
161
|
+
}
|
162
|
+
if (!focusOnNavigatedDay) {
|
163
|
+
navigateMonth(date);
|
164
|
+
return;
|
165
|
+
}
|
166
|
+
if (monthPickerOnly) {
|
167
|
+
onDateSelected(date);
|
168
|
+
}
|
169
|
+
navigateDay(date);
|
170
|
+
};
|
171
|
+
const onHeaderSelect = getShowMonthPickerAsOverlay({
|
172
|
+
isDayPickerVisible: isDayPickerVisibleProp,
|
173
|
+
showMonthPickerAsOverlay: showMonthPickerAsOverlayProp
|
174
|
+
}) ? ()=>{
|
175
|
+
toggleDayMonthPickerVisibility();
|
176
|
+
focusOnNextUpdate();
|
177
|
+
} : undefined;
|
178
|
+
const onGotoToday = ()=>{
|
179
|
+
navigateDay(today);
|
180
|
+
focusOnNextUpdate();
|
181
|
+
};
|
182
|
+
const onButtonKeyDown = (callback)=>{
|
183
|
+
return (ev)=>{
|
184
|
+
switch(ev.key){
|
185
|
+
case _keyboardkeys.Enter:
|
186
|
+
case _keyboardkeys.Space:
|
187
|
+
callback();
|
188
|
+
break;
|
189
|
+
}
|
190
|
+
};
|
191
|
+
};
|
192
|
+
const onDatePickerPopupKeyDown = (ev)=>{
|
193
|
+
switch(ev.key){
|
194
|
+
case _keyboardkeys.Enter:
|
195
|
+
ev.preventDefault();
|
196
|
+
break;
|
197
|
+
case _keyboardkeys.Backspace:
|
198
|
+
ev.preventDefault();
|
199
|
+
break;
|
200
|
+
case _keyboardkeys.Escape:
|
201
|
+
ev.stopPropagation();
|
202
|
+
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
203
|
+
break;
|
204
|
+
case _keyboardkeys.PageUp:
|
205
|
+
if (ev.ctrlKey) {
|
206
|
+
// go to next year
|
207
|
+
navigateDay((0, _utils.addYears)(navigatedDay, 1));
|
208
|
+
} else {
|
209
|
+
// go to next month
|
210
|
+
navigateDay((0, _utils.addMonths)(navigatedDay, 1));
|
211
|
+
}
|
212
|
+
ev.preventDefault();
|
213
|
+
break;
|
214
|
+
case _keyboardkeys.PageDown:
|
215
|
+
if (ev.ctrlKey) {
|
216
|
+
// go to previous year
|
217
|
+
navigateDay((0, _utils.addYears)(navigatedDay, -1));
|
218
|
+
} else {
|
219
|
+
// go to previous month
|
220
|
+
navigateDay((0, _utils.addMonths)(navigatedDay, -1));
|
221
|
+
}
|
222
|
+
ev.preventDefault();
|
223
|
+
break;
|
224
|
+
default:
|
225
|
+
break;
|
226
|
+
}
|
227
|
+
};
|
228
|
+
const showMonthPickerAsOverlay = getShowMonthPickerAsOverlay({
|
229
|
+
isDayPickerVisible: isDayPickerVisibleProp,
|
230
|
+
showMonthPickerAsOverlay: showMonthPickerAsOverlayProp
|
231
|
+
});
|
232
|
+
const monthPickerOnly = !showMonthPickerAsOverlay && !isDayPickerVisible;
|
233
|
+
const classes = (0, _useCalendarStylesstyles.useCalendarStyles_unstable)({
|
234
|
+
className,
|
235
|
+
isDayPickerVisible,
|
236
|
+
isMonthPickerVisible,
|
237
|
+
showWeekNumbers
|
238
|
+
});
|
239
|
+
let todayDateString = '';
|
240
|
+
let selectedDateString = '';
|
241
|
+
if (dateTimeFormatter && strings.todayDateFormatString) {
|
242
|
+
todayDateString = strings.todayDateFormatString.replace('{0}', dateTimeFormatter.formatMonthDayYear(today, strings));
|
243
|
+
}
|
244
|
+
if (dateTimeFormatter && strings.selectedDateFormatString) {
|
245
|
+
const dateStringFormatter = monthPickerOnly ? dateTimeFormatter.formatMonthYear : dateTimeFormatter.formatMonthDayYear;
|
246
|
+
selectedDateString = strings.selectedDateFormatString.replace('{0}', dateStringFormatter(selectedDate, strings));
|
247
|
+
}
|
248
|
+
const selectionAndTodayString = selectedDateString + ', ' + todayDateString;
|
249
|
+
return /*#__PURE__*/ _react.createElement("div", {
|
250
|
+
id: id,
|
251
|
+
ref: forwardedRef,
|
252
|
+
role: "group",
|
253
|
+
"aria-label": selectionAndTodayString,
|
254
|
+
className: classes.root,
|
255
|
+
onKeyDown: onDatePickerPopupKeyDown
|
256
|
+
}, /*#__PURE__*/ _react.createElement("div", {
|
257
|
+
className: classes.liveRegion,
|
258
|
+
"aria-live": "polite",
|
259
|
+
"aria-atomic": "true"
|
260
|
+
}, /*#__PURE__*/ _react.createElement("span", null, selectedDateString)), isDayPickerVisible && /*#__PURE__*/ _react.createElement(_CalendarDay.CalendarDay, {
|
261
|
+
selectedDate: selectedDate,
|
262
|
+
navigatedDate: navigatedDay,
|
263
|
+
today: today,
|
264
|
+
onSelectDate: onDateSelected,
|
265
|
+
// eslint-disable-next-line react/jsx-no-bind
|
266
|
+
onNavigateDate: onNavigateDayDate,
|
267
|
+
onDismiss: onDismiss,
|
268
|
+
firstDayOfWeek: firstDayOfWeek,
|
269
|
+
dateRangeType: dateRangeType,
|
270
|
+
strings: strings,
|
271
|
+
// eslint-disable-next-line react/jsx-no-bind
|
272
|
+
onHeaderSelect: onHeaderSelect,
|
273
|
+
showWeekNumbers: showWeekNumbers,
|
274
|
+
firstWeekOfYear: firstWeekOfYear,
|
275
|
+
dateTimeFormatter: dateTimeFormatter,
|
276
|
+
showSixWeeksByDefault: showSixWeeksByDefault,
|
277
|
+
minDate: minDate,
|
278
|
+
maxDate: maxDate,
|
279
|
+
restrictedDates: restrictedDates,
|
280
|
+
workWeekDays: workWeekDays,
|
281
|
+
componentRef: dayPicker,
|
282
|
+
showCloseButton: showCloseButton,
|
283
|
+
allFocusable: allFocusable,
|
284
|
+
...calendarDayProps
|
285
|
+
}), isDayPickerVisible && isMonthPickerVisible && /*#__PURE__*/ _react.createElement("div", {
|
286
|
+
className: classes.divider
|
287
|
+
}), isMonthPickerVisible ? /*#__PURE__*/ _react.createElement("div", {
|
288
|
+
className: classes.monthPickerWrapper
|
289
|
+
}, /*#__PURE__*/ _react.createElement(_CalendarMonth.CalendarMonth, {
|
290
|
+
navigatedDate: navigatedMonth,
|
291
|
+
selectedDate: navigatedDay,
|
292
|
+
strings: strings,
|
293
|
+
// eslint-disable-next-line react/jsx-no-bind
|
294
|
+
onNavigateDate: onNavigateMonthDate,
|
295
|
+
today: today,
|
296
|
+
highlightCurrentMonth: highlightCurrentMonth,
|
297
|
+
highlightSelectedMonth: highlightSelectedMonth,
|
298
|
+
// eslint-disable-next-line react/jsx-no-bind
|
299
|
+
onHeaderSelect: onHeaderSelect,
|
300
|
+
dateTimeFormatter: dateTimeFormatter,
|
301
|
+
minDate: minDate,
|
302
|
+
maxDate: maxDate,
|
303
|
+
componentRef: monthPicker,
|
304
|
+
...calendarMonthProps
|
305
|
+
}), renderGoToTodayButton()) : renderGoToTodayButton());
|
306
|
+
});
|
307
|
+
Calendar.displayName = 'Calendar';
|
308
|
+
function getShowMonthPickerAsOverlay({ isDayPickerVisible, showMonthPickerAsOverlay }) {
|
309
|
+
const win = (0, _utils.getWindow)();
|
310
|
+
return showMonthPickerAsOverlay || isDayPickerVisible && win && win.innerWidth <= MIN_SIZE_FORCE_OVERLAY;
|
311
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["Calendar.js"],"sourcesContent":["import * as React from 'react';\nimport { Backspace, Enter, Escape, PageDown, PageUp, Space } from '@fluentui/keyboard-keys';\nimport { useControllableState } from '@fluentui/react-utilities';\nimport { addMonths, addYears, DateRangeType, DayOfWeek, DEFAULT_CALENDAR_STRINGS, DEFAULT_DATE_FORMATTING, FirstWeekOfYear, focusAsync, getWindow } from '../../utils';\nimport { CalendarDay } from '../CalendarDay/CalendarDay';\nimport { CalendarMonth } from '../CalendarMonth/CalendarMonth';\nimport { useCalendarStyles_unstable } from './useCalendarStyles.styles';\nconst MIN_SIZE_FORCE_OVERLAY = 440;\nconst defaultWorkWeekDays = [\n DayOfWeek.Monday,\n DayOfWeek.Tuesday,\n DayOfWeek.Wednesday,\n DayOfWeek.Thursday,\n DayOfWeek.Friday\n];\nfunction useDateState({ value, today = new Date(), onSelectDate }) {\n /** The currently selected date in the calendar */ const [selectedDate, setSelectedDate] = useControllableState({\n defaultState: today,\n initialState: today,\n state: value\n });\n /** The currently focused date in the day picker, but not necessarily selected */ const [navigatedDay = today, setNavigatedDay] = React.useState(value);\n /** The currently focused date in the month picker, but not necessarily selected */ const [navigatedMonth = today, setNavigatedMonth] = React.useState(value);\n /** If using a controlled value, when that value changes, navigate to that date */ const [lastSelectedDate = today, setLastSelectedDate] = React.useState(value);\n if (value && lastSelectedDate.valueOf() !== value.valueOf()) {\n setNavigatedDay(value);\n setNavigatedMonth(value);\n setLastSelectedDate(value);\n }\n const navigateMonth = (date)=>{\n setNavigatedMonth(date);\n };\n const navigateDay = (date)=>{\n setNavigatedMonth(date);\n setNavigatedDay(date);\n };\n const onDateSelected = (date, selectedDateRangeArray)=>{\n setNavigatedMonth(date);\n setNavigatedDay(date);\n setSelectedDate(date);\n onSelectDate === null || onSelectDate === void 0 ? void 0 : onSelectDate(date, selectedDateRangeArray);\n };\n return [\n selectedDate,\n navigatedDay,\n navigatedMonth,\n onDateSelected,\n navigateDay,\n navigateMonth\n ];\n}\nfunction useVisibilityState({ isDayPickerVisible: isDayPickerVisibleProp, isMonthPickerVisible: isMonthPickerVisibleProp, showMonthPickerAsOverlay }) {\n /** State used to show/hide month picker */ const [isMonthPickerVisible, setIsMonthPickerVisible] = useControllableState({\n defaultState: false,\n initialState: true,\n state: getShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay\n }) ? undefined : isMonthPickerVisibleProp\n });\n /** State used to show/hide day picker */ const [isDayPickerVisible, setIsDayPickerVisible] = useControllableState({\n defaultState: true,\n initialState: true,\n state: getShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay\n }) ? undefined : isDayPickerVisibleProp\n });\n const toggleDayMonthPickerVisibility = ()=>{\n setIsMonthPickerVisible(!isMonthPickerVisible);\n setIsDayPickerVisible(!isDayPickerVisible);\n };\n return [\n isMonthPickerVisible,\n isDayPickerVisible,\n toggleDayMonthPickerVisibility\n ];\n}\nfunction useFocusLogic({ componentRef }, isDayPickerVisible, isMonthPickerVisible) {\n const dayPicker = React.useRef(null);\n const monthPicker = React.useRef(null);\n const focusOnUpdate = React.useRef(false);\n const focus = React.useCallback(()=>{\n if (isDayPickerVisible && dayPicker.current) {\n focusAsync(dayPicker.current);\n } else if (isMonthPickerVisible && monthPicker.current) {\n focusAsync(monthPicker.current);\n }\n }, [\n isDayPickerVisible,\n isMonthPickerVisible\n ]);\n React.useImperativeHandle(componentRef, ()=>({\n focus\n }), [\n focus\n ]);\n React.useEffect(()=>{\n if (focusOnUpdate.current) {\n focus();\n focusOnUpdate.current = false;\n }\n });\n const focusOnNextUpdate = ()=>{\n focusOnUpdate.current = true;\n };\n return [\n dayPicker,\n monthPicker,\n focusOnNextUpdate\n ];\n}\n/**\n * @internal\n */ export const Calendar = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{\n const { allFocusable = false, calendarDayProps, calendarMonthProps, className, componentRef, dateRangeType = DateRangeType.Day, dateTimeFormatter = DEFAULT_DATE_FORMATTING, firstDayOfWeek = DayOfWeek.Sunday, firstWeekOfYear = FirstWeekOfYear.FirstDay, highlightCurrentMonth = false, highlightSelectedMonth = false, id, isDayPickerVisible: isDayPickerVisibleProp = true, isMonthPickerVisible: isMonthPickerVisibleProp = true, maxDate, minDate, onDismiss, onSelectDate, restrictedDates, showCloseButton = false, showGoToToday = true, showMonthPickerAsOverlay: showMonthPickerAsOverlayProp = false, showSixWeeksByDefault = false, showWeekNumbers = false, strings = DEFAULT_CALENDAR_STRINGS, today = new Date(), value, workWeekDays = defaultWorkWeekDays } = props;\n const [selectedDate, navigatedDay, navigatedMonth, onDateSelected, navigateDay, navigateMonth] = useDateState({\n onSelectDate,\n value,\n today\n });\n const [isMonthPickerVisible, isDayPickerVisible, toggleDayMonthPickerVisibility] = useVisibilityState({\n isDayPickerVisible: isDayPickerVisibleProp,\n isMonthPickerVisible: isMonthPickerVisibleProp,\n showMonthPickerAsOverlay: showMonthPickerAsOverlayProp\n });\n const [dayPicker, monthPicker, focusOnNextUpdate] = useFocusLogic({\n componentRef\n }, isDayPickerVisible, isMonthPickerVisible);\n const renderGoToTodayButton = ()=>{\n let goTodayEnabled = showGoToToday;\n if (goTodayEnabled && today) {\n goTodayEnabled = navigatedDay.getFullYear() !== today.getFullYear() || navigatedDay.getMonth() !== today.getMonth() || navigatedMonth.getFullYear() !== today.getFullYear() || navigatedMonth.getMonth() !== today.getMonth();\n }\n return showGoToToday && /*#__PURE__*/ React.createElement(\"button\", {\n className: classes.goTodayButton,\n onClick: onGotoToday,\n onKeyDown: onButtonKeyDown(onGotoToday),\n type: \"button\",\n disabled: !goTodayEnabled\n }, strings.goToToday);\n };\n const onNavigateDayDate = (date, focusOnNavigatedDay)=>{\n navigateDay(date);\n if (focusOnNavigatedDay) {\n focusOnNextUpdate();\n }\n };\n const onNavigateMonthDate = (date, focusOnNavigatedDay)=>{\n if (focusOnNavigatedDay) {\n focusOnNextUpdate();\n }\n if (!focusOnNavigatedDay) {\n navigateMonth(date);\n return;\n }\n if (monthPickerOnly) {\n onDateSelected(date);\n }\n navigateDay(date);\n };\n const onHeaderSelect = getShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay: showMonthPickerAsOverlayProp\n }) ? ()=>{\n toggleDayMonthPickerVisibility();\n focusOnNextUpdate();\n } : undefined;\n const onGotoToday = ()=>{\n navigateDay(today);\n focusOnNextUpdate();\n };\n const onButtonKeyDown = (callback)=>{\n return (ev)=>{\n switch(ev.key){\n case Enter:\n case Space:\n callback();\n break;\n }\n };\n };\n const onDatePickerPopupKeyDown = (ev)=>{\n switch(ev.key){\n case Enter:\n ev.preventDefault();\n break;\n case Backspace:\n ev.preventDefault();\n break;\n case Escape:\n ev.stopPropagation();\n onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();\n break;\n case PageUp:\n if (ev.ctrlKey) {\n // go to next year\n navigateDay(addYears(navigatedDay, 1));\n } else {\n // go to next month\n navigateDay(addMonths(navigatedDay, 1));\n }\n ev.preventDefault();\n break;\n case PageDown:\n if (ev.ctrlKey) {\n // go to previous year\n navigateDay(addYears(navigatedDay, -1));\n } else {\n // go to previous month\n navigateDay(addMonths(navigatedDay, -1));\n }\n ev.preventDefault();\n break;\n default:\n break;\n }\n };\n const showMonthPickerAsOverlay = getShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay: showMonthPickerAsOverlayProp\n });\n const monthPickerOnly = !showMonthPickerAsOverlay && !isDayPickerVisible;\n const classes = useCalendarStyles_unstable({\n className,\n isDayPickerVisible,\n isMonthPickerVisible,\n showWeekNumbers\n });\n let todayDateString = '';\n let selectedDateString = '';\n if (dateTimeFormatter && strings.todayDateFormatString) {\n todayDateString = strings.todayDateFormatString.replace('{0}', dateTimeFormatter.formatMonthDayYear(today, strings));\n }\n if (dateTimeFormatter && strings.selectedDateFormatString) {\n const dateStringFormatter = monthPickerOnly ? dateTimeFormatter.formatMonthYear : dateTimeFormatter.formatMonthDayYear;\n selectedDateString = strings.selectedDateFormatString.replace('{0}', dateStringFormatter(selectedDate, strings));\n }\n const selectionAndTodayString = selectedDateString + ', ' + todayDateString;\n return /*#__PURE__*/ React.createElement(\"div\", {\n id: id,\n ref: forwardedRef,\n role: \"group\",\n \"aria-label\": selectionAndTodayString,\n className: classes.root,\n onKeyDown: onDatePickerPopupKeyDown\n }, /*#__PURE__*/ React.createElement(\"div\", {\n className: classes.liveRegion,\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\"\n }, /*#__PURE__*/ React.createElement(\"span\", null, selectedDateString)), isDayPickerVisible && /*#__PURE__*/ React.createElement(CalendarDay, {\n selectedDate: selectedDate,\n navigatedDate: navigatedDay,\n today: today,\n onSelectDate: onDateSelected,\n // eslint-disable-next-line react/jsx-no-bind\n onNavigateDate: onNavigateDayDate,\n onDismiss: onDismiss,\n firstDayOfWeek: firstDayOfWeek,\n dateRangeType: dateRangeType,\n strings: strings,\n // eslint-disable-next-line react/jsx-no-bind\n onHeaderSelect: onHeaderSelect,\n showWeekNumbers: showWeekNumbers,\n firstWeekOfYear: firstWeekOfYear,\n dateTimeFormatter: dateTimeFormatter,\n showSixWeeksByDefault: showSixWeeksByDefault,\n minDate: minDate,\n maxDate: maxDate,\n restrictedDates: restrictedDates,\n workWeekDays: workWeekDays,\n componentRef: dayPicker,\n showCloseButton: showCloseButton,\n allFocusable: allFocusable,\n ...calendarDayProps\n }), isDayPickerVisible && isMonthPickerVisible && /*#__PURE__*/ React.createElement(\"div\", {\n className: classes.divider\n }), isMonthPickerVisible ? /*#__PURE__*/ React.createElement(\"div\", {\n className: classes.monthPickerWrapper\n }, /*#__PURE__*/ React.createElement(CalendarMonth, {\n navigatedDate: navigatedMonth,\n selectedDate: navigatedDay,\n strings: strings,\n // eslint-disable-next-line react/jsx-no-bind\n onNavigateDate: onNavigateMonthDate,\n today: today,\n highlightCurrentMonth: highlightCurrentMonth,\n highlightSelectedMonth: highlightSelectedMonth,\n // eslint-disable-next-line react/jsx-no-bind\n onHeaderSelect: onHeaderSelect,\n dateTimeFormatter: dateTimeFormatter,\n minDate: minDate,\n maxDate: maxDate,\n componentRef: monthPicker,\n ...calendarMonthProps\n }), renderGoToTodayButton()) : renderGoToTodayButton());\n});\nCalendar.displayName = 'Calendar';\nfunction getShowMonthPickerAsOverlay({ isDayPickerVisible, showMonthPickerAsOverlay }) {\n const win = getWindow();\n return showMonthPickerAsOverlay || isDayPickerVisible && win && win.innerWidth <= MIN_SIZE_FORCE_OVERLAY;\n}\n"],"names":["Calendar","MIN_SIZE_FORCE_OVERLAY","defaultWorkWeekDays","DayOfWeek","Monday","Tuesday","Wednesday","Thursday","Friday","useDateState","value","today","Date","onSelectDate","selectedDate","setSelectedDate","useControllableState","defaultState","initialState","state","navigatedDay","setNavigatedDay","React","useState","navigatedMonth","setNavigatedMonth","lastSelectedDate","setLastSelectedDate","valueOf","navigateMonth","date","navigateDay","onDateSelected","selectedDateRangeArray","useVisibilityState","isDayPickerVisible","isDayPickerVisibleProp","isMonthPickerVisible","isMonthPickerVisibleProp","showMonthPickerAsOverlay","setIsMonthPickerVisible","getShowMonthPickerAsOverlay","undefined","setIsDayPickerVisible","toggleDayMonthPickerVisibility","useFocusLogic","componentRef","dayPicker","useRef","monthPicker","focusOnUpdate","focus","useCallback","current","focusAsync","useImperativeHandle","useEffect","focusOnNextUpdate","forwardRef","props","forwardedRef","allFocusable","calendarDayProps","calendarMonthProps","className","dateRangeType","DateRangeType","Day","dateTimeFormatter","DEFAULT_DATE_FORMATTING","firstDayOfWeek","Sunday","firstWeekOfYear","FirstWeekOfYear","FirstDay","highlightCurrentMonth","highlightSelectedMonth","id","maxDate","minDate","onDismiss","restrictedDates","showCloseButton","showGoToToday","showMonthPickerAsOverlayProp","showSixWeeksByDefault","showWeekNumbers","strings","DEFAULT_CALENDAR_STRINGS","workWeekDays","renderGoToTodayButton","goTodayEnabled","getFullYear","getMonth","createElement","classes","goTodayButton","onClick","onGotoToday","onKeyDown","onButtonKeyDown","type","disabled","goToToday","onNavigateDayDate","focusOnNavigatedDay","onNavigateMonthDate","monthPickerOnly","onHeaderSelect","callback","ev","key","Enter","Space","onDatePickerPopupKeyDown","preventDefault","Backspace","Escape","stopPropagation","PageUp","ctrlKey","addYears","addMonths","PageDown","useCalendarStyles_unstable","todayDateString","selectedDateString","todayDateFormatString","replace","formatMonthDayYear","selectedDateFormatString","dateStringFormatter","formatMonthYear","selectionAndTodayString","ref","role","root","liveRegion","CalendarDay","navigatedDate","onNavigateDate","divider","monthPickerWrapper","CalendarMonth","displayName","win","getWindow","innerWidth"],"mappings":"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"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "AnimationDirection", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return AnimationDirection;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
13
|
+
var AnimationDirection;
|
14
|
+
(function(AnimationDirection) {
|
15
|
+
AnimationDirection[AnimationDirection[/**
|
16
|
+
* Grid will transition out and in horizontally
|
17
|
+
*/ "Horizontal"] = 0] = "Horizontal";
|
18
|
+
AnimationDirection[AnimationDirection[/**
|
19
|
+
* Grid will transition out and in vertically
|
20
|
+
*/ "Vertical"] = 1] = "Vertical";
|
21
|
+
})(AnimationDirection || (AnimationDirection = {}));
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["Calendar.types.js"],"sourcesContent":["import * as React from 'react';\nexport var AnimationDirection;\n(function(AnimationDirection) {\n AnimationDirection[AnimationDirection[/**\n * Grid will transition out and in horizontally\n */ \"Horizontal\"] = 0] = \"Horizontal\";\n AnimationDirection[AnimationDirection[/**\n * Grid will transition out and in vertically\n */ \"Vertical\"] = 1] = \"Vertical\";\n})(AnimationDirection || (AnimationDirection = {}));\n"],"names":["AnimationDirection"],"mappings":";;;;+BACWA;;;eAAAA;;;;iEADY;AAChB,IAAIA;AACV,CAAA,SAASA,kBAAkB;IACxBA,kBAAkB,CAACA,kBAAkB,CAAC;;GAEvC,GAAG,aAAa,GAAG,EAAE,GAAG;IACvBA,kBAAkB,CAACA,kBAAkB,CAAC;;GAEvC,GAAG,WAAW,GAAG,EAAE,GAAG;AACzB,CAAA,EAAGA,sBAAuBA,CAAAA,qBAAqB,CAAC,CAAA"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "defaultCalendarStrings", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return defaultCalendarStrings;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _utils = require("../../utils");
|
12
|
+
const defaultCalendarStrings = _utils.DEFAULT_CALENDAR_STRINGS;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["defaults.js"],"sourcesContent":["import { DEFAULT_CALENDAR_STRINGS } from '../../utils';\nexport const defaultCalendarStrings = DEFAULT_CALENDAR_STRINGS;\n"],"names":["defaultCalendarStrings","DEFAULT_CALENDAR_STRINGS"],"mappings":";;;;+BACaA;;;eAAAA;;;uBAD4B;AAClC,MAAMA,yBAAyBC,+BAAwB"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "defaultCalendarStrings", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return _defaults.defaultCalendarStrings;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _export_star = require("@swc/helpers/_/_export_star");
|
12
|
+
_export_star._(require("./Calendar"), exports);
|
13
|
+
_export_star._(require("./Calendar.types"), exports);
|
14
|
+
_export_star._(require("./useCalendarStyles.styles"), exports);
|
15
|
+
const _defaults = require("./defaults");
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './Calendar';\nexport * from './Calendar.types';\nexport * from './useCalendarStyles.styles';\nexport { defaultCalendarStrings } from './defaults';\n"],"names":["defaultCalendarStrings"],"mappings":";;;;+BAGSA;;;eAAAA,gCAAsB;;;;uBAHjB;uBACA;uBACA;0BACyB"}
|