@fluentui/react-datepicker-compat 0.3.22 → 0.4.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.json +97 -1
- package/CHANGELOG.md +31 -2
- package/dist/index.d.ts +5 -917
- package/lib/components/DatePicker/DatePicker.types.js.map +1 -1
- package/lib/components/DatePicker/defaults.js +1 -1
- package/lib/components/DatePicker/defaults.js.map +1 -1
- package/lib/components/DatePicker/useDatePicker.js +1 -2
- package/lib/components/DatePicker/useDatePicker.js.map +1 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +1 -1
- package/lib-commonjs/components/DatePicker/defaults.js +2 -2
- package/lib-commonjs/components/DatePicker/defaults.js.map +1 -1
- package/lib-commonjs/components/DatePicker/useDatePicker.js +5 -6
- package/lib-commonjs/components/DatePicker/useDatePicker.js.map +1 -1
- package/lib-commonjs/index.js +0 -77
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +9 -8
- package/lib/Calendar.js +0 -1
- package/lib/Calendar.js.map +0 -1
- package/lib/CalendarDay.js +0 -1
- package/lib/CalendarDay.js.map +0 -1
- package/lib/CalendarDayGrid.js +0 -1
- package/lib/CalendarDayGrid.js.map +0 -1
- package/lib/CalendarMonth.js +0 -1
- package/lib/CalendarMonth.js.map +0 -1
- package/lib/CalendarPicker.js +0 -1
- package/lib/CalendarPicker.js.map +0 -1
- package/lib/CalendarYear.js +0 -1
- package/lib/CalendarYear.js.map +0 -1
- package/lib/components/Calendar/Calendar.js +0 -302
- package/lib/components/Calendar/Calendar.js.map +0 -1
- package/lib/components/Calendar/Calendar.types.js +0 -10
- package/lib/components/Calendar/Calendar.types.js.map +0 -1
- package/lib/components/Calendar/defaults.js +0 -2
- package/lib/components/Calendar/defaults.js.map +0 -1
- package/lib/components/Calendar/index.js +0 -4
- package/lib/components/Calendar/index.js.map +0 -1
- package/lib/components/Calendar/useCalendarStyles.styles.js +0 -167
- package/lib/components/Calendar/useCalendarStyles.styles.js.map +0 -1
- package/lib/components/CalendarDay/CalendarDay.js +0 -111
- package/lib/components/CalendarDay/CalendarDay.js.map +0 -1
- package/lib/components/CalendarDay/CalendarDay.types.js +0 -1
- package/lib/components/CalendarDay/CalendarDay.types.js.map +0 -1
- package/lib/components/CalendarDay/index.js +0 -3
- package/lib/components/CalendarDay/index.js.map +0 -1
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +0 -180
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +0 -1
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js +0 -168
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js.map +0 -1
- package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js +0 -1
- package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js.map +0 -1
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +0 -164
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +0 -1
- package/lib/components/CalendarDayGrid/CalendarGridRow.js +0 -26
- package/lib/components/CalendarDayGrid/CalendarGridRow.js.map +0 -1
- package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js +0 -36
- package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +0 -1
- package/lib/components/CalendarDayGrid/index.js +0 -4
- package/lib/components/CalendarDayGrid/index.js.map +0 -1
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +0 -437
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +0 -1
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js +0 -98
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +0 -1
- package/lib/components/CalendarDayGrid/useWeeks.js +0 -45
- package/lib/components/CalendarDayGrid/useWeeks.js.map +0 -1
- package/lib/components/CalendarMonth/CalendarMonth.js +0 -263
- package/lib/components/CalendarMonth/CalendarMonth.js.map +0 -1
- package/lib/components/CalendarMonth/CalendarMonth.types.js +0 -1
- package/lib/components/CalendarMonth/CalendarMonth.types.js.map +0 -1
- package/lib/components/CalendarMonth/index.js +0 -3
- package/lib/components/CalendarMonth/index.js.map +0 -1
- package/lib/components/CalendarMonth/useCalendarMonthStyles.js +0 -8
- package/lib/components/CalendarMonth/useCalendarMonthStyles.js.map +0 -1
- package/lib/components/CalendarPicker/CalendarPicker.types.js +0 -1
- package/lib/components/CalendarPicker/CalendarPicker.types.js.map +0 -1
- package/lib/components/CalendarPicker/index.js +0 -2
- package/lib/components/CalendarPicker/index.js.map +0 -1
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +0 -371
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +0 -1
- package/lib/components/CalendarYear/CalendarYear.js +0 -298
- package/lib/components/CalendarYear/CalendarYear.js.map +0 -1
- package/lib/components/CalendarYear/CalendarYear.types.js +0 -1
- package/lib/components/CalendarYear/CalendarYear.types.js.map +0 -1
- package/lib/components/CalendarYear/index.js +0 -3
- package/lib/components/CalendarYear/index.js.map +0 -1
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.js +0 -10
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.js.map +0 -1
- package/lib/utils/animations.js +0 -97
- package/lib/utils/animations.js.map +0 -1
- package/lib/utils/constants.js +0 -62
- package/lib/utils/constants.js.map +0 -1
- package/lib/utils/dateFormatting/dateFormatting.defaults.js +0 -95
- package/lib/utils/dateFormatting/dateFormatting.defaults.js.map +0 -1
- package/lib/utils/dateFormatting/dateFormatting.types.js +0 -1
- package/lib/utils/dateFormatting/dateFormatting.types.js.map +0 -1
- package/lib/utils/dateFormatting/index.js +0 -2
- package/lib/utils/dateFormatting/index.js.map +0 -1
- package/lib/utils/dateGrid/dateGrid.types.js +0 -1
- package/lib/utils/dateGrid/dateGrid.types.js.map +0 -1
- package/lib/utils/dateGrid/findAvailableDate.js +0 -22
- package/lib/utils/dateGrid/findAvailableDate.js.map +0 -1
- package/lib/utils/dateGrid/getBoundedDateRange.js +0 -18
- package/lib/utils/dateGrid/getBoundedDateRange.js.map +0 -1
- package/lib/utils/dateGrid/getDateRangeTypeToUse.js +0 -16
- package/lib/utils/dateGrid/getDateRangeTypeToUse.js.map +0 -1
- package/lib/utils/dateGrid/getDayGrid.js +0 -71
- package/lib/utils/dateGrid/getDayGrid.js.map +0 -1
- package/lib/utils/dateGrid/index.js +0 -5
- package/lib/utils/dateGrid/index.js.map +0 -1
- package/lib/utils/dateGrid/isAfterMaxDate.js +0 -9
- package/lib/utils/dateGrid/isAfterMaxDate.js.map +0 -1
- package/lib/utils/dateGrid/isBeforeMinDate.js +0 -9
- package/lib/utils/dateGrid/isBeforeMinDate.js.map +0 -1
- package/lib/utils/dateGrid/isContiguous.js +0 -18
- package/lib/utils/dateGrid/isContiguous.js.map +0 -1
- package/lib/utils/dateGrid/isRestrictedDate.js +0 -15
- package/lib/utils/dateGrid/isRestrictedDate.js.map +0 -1
- package/lib/utils/dateMath/dateMath.js +0 -339
- package/lib/utils/dateMath/dateMath.js.map +0 -1
- package/lib/utils/dateMath/index.js +0 -1
- package/lib/utils/dateMath/index.js.map +0 -1
- package/lib/utils/dom.js +0 -8
- package/lib/utils/dom.js.map +0 -1
- package/lib/utils/focus.js +0 -26
- package/lib/utils/focus.js.map +0 -1
- package/lib/utils/index.js +0 -7
- package/lib/utils/index.js.map +0 -1
- package/lib-commonjs/Calendar.js +0 -6
- package/lib-commonjs/Calendar.js.map +0 -1
- package/lib-commonjs/CalendarDay.js +0 -6
- package/lib-commonjs/CalendarDay.js.map +0 -1
- package/lib-commonjs/CalendarDayGrid.js +0 -6
- package/lib-commonjs/CalendarDayGrid.js.map +0 -1
- package/lib-commonjs/CalendarMonth.js +0 -6
- package/lib-commonjs/CalendarMonth.js.map +0 -1
- package/lib-commonjs/CalendarPicker.js +0 -6
- package/lib-commonjs/CalendarPicker.js.map +0 -1
- package/lib-commonjs/CalendarYear.js +0 -6
- package/lib-commonjs/CalendarYear.js.map +0 -1
- package/lib-commonjs/components/Calendar/Calendar.js +0 -311
- package/lib-commonjs/components/Calendar/Calendar.js.map +0 -1
- package/lib-commonjs/components/Calendar/Calendar.types.js +0 -21
- package/lib-commonjs/components/Calendar/Calendar.types.js.map +0 -1
- package/lib-commonjs/components/Calendar/defaults.js +0 -12
- package/lib-commonjs/components/Calendar/defaults.js.map +0 -1
- package/lib-commonjs/components/Calendar/index.js +0 -15
- package/lib-commonjs/components/Calendar/index.js.map +0 -1
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +0 -339
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CalendarDay/CalendarDay.js +0 -120
- package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +0 -1
- package/lib-commonjs/components/CalendarDay/CalendarDay.types.js +0 -6
- package/lib-commonjs/components/CalendarDay/CalendarDay.types.js.map +0 -1
- package/lib-commonjs/components/CalendarDay/index.js +0 -8
- package/lib-commonjs/components/CalendarDay/index.js.map +0 -1
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +0 -357
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js +0 -179
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js +0 -6
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.types.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +0 -173
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js +0 -35
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js +0 -45
- package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/index.js +0 -22
- package/lib-commonjs/components/CalendarDayGrid/index.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +0 -890
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js +0 -105
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/useWeeks.js +0 -54
- package/lib-commonjs/components/CalendarDayGrid/useWeeks.js.map +0 -1
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.js +0 -272
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.js.map +0 -1
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js +0 -6
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.types.js.map +0 -1
- package/lib-commonjs/components/CalendarMonth/index.js +0 -8
- package/lib-commonjs/components/CalendarMonth/index.js.map +0 -1
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js +0 -14
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js.map +0 -1
- package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js +0 -4
- package/lib-commonjs/components/CalendarPicker/CalendarPicker.types.js.map +0 -1
- package/lib-commonjs/components/CalendarPicker/index.js +0 -7
- package/lib-commonjs/components/CalendarPicker/index.js.map +0 -1
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +0 -742
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +0 -1
- package/lib-commonjs/components/CalendarYear/CalendarYear.js +0 -307
- package/lib-commonjs/components/CalendarYear/CalendarYear.js.map +0 -1
- package/lib-commonjs/components/CalendarYear/CalendarYear.types.js +0 -6
- package/lib-commonjs/components/CalendarYear/CalendarYear.types.js.map +0 -1
- package/lib-commonjs/components/CalendarYear/index.js +0 -8
- package/lib-commonjs/components/CalendarYear/index.js.map +0 -1
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js +0 -14
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js.map +0 -1
- package/lib-commonjs/utils/animations.js +0 -154
- package/lib-commonjs/utils/animations.js.map +0 -1
- package/lib-commonjs/utils/constants.js +0 -92
- package/lib-commonjs/utils/constants.js.map +0 -1
- package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js +0 -116
- package/lib-commonjs/utils/dateFormatting/dateFormatting.defaults.js.map +0 -1
- package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js +0 -4
- package/lib-commonjs/utils/dateFormatting/dateFormatting.types.js.map +0 -1
- package/lib-commonjs/utils/dateFormatting/index.js +0 -7
- package/lib-commonjs/utils/dateFormatting/index.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/dateGrid.types.js +0 -4
- package/lib-commonjs/utils/dateGrid/dateGrid.types.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/findAvailableDate.js +0 -29
- package/lib-commonjs/utils/dateGrid/findAvailableDate.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js +0 -23
- package/lib-commonjs/utils/dateGrid/getBoundedDateRange.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js +0 -20
- package/lib-commonjs/utils/dateGrid/getDateRangeTypeToUse.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/getDayGrid.js +0 -76
- package/lib-commonjs/utils/dateGrid/getDayGrid.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/index.js +0 -10
- package/lib-commonjs/utils/dateGrid/index.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js +0 -15
- package/lib-commonjs/utils/dateGrid/isAfterMaxDate.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js +0 -15
- package/lib-commonjs/utils/dateGrid/isBeforeMinDate.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/isContiguous.js +0 -28
- package/lib-commonjs/utils/dateGrid/isContiguous.js.map +0 -1
- package/lib-commonjs/utils/dateGrid/isRestrictedDate.js +0 -21
- package/lib-commonjs/utils/dateGrid/isRestrictedDate.js.map +0 -1
- package/lib-commonjs/utils/dateMath/dateMath.js +0 -308
- package/lib-commonjs/utils/dateMath/dateMath.js.map +0 -1
- package/lib-commonjs/utils/dateMath/index.js +0 -6
- package/lib-commonjs/utils/dateMath/index.js.map +0 -1
- package/lib-commonjs/utils/dom.js +0 -18
- package/lib-commonjs/utils/dom.js.map +0 -1
- package/lib-commonjs/utils/focus.js +0 -31
- package/lib-commonjs/utils/focus.js.map +0 -1
- package/lib-commonjs/utils/index.js +0 -12
- package/lib-commonjs/utils/index.js.map +0 -1
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Backspace, Enter, Escape, PageDown, PageUp, Space } from '@fluentui/keyboard-keys';
|
|
3
|
-
import { useControllableState } from '@fluentui/react-utilities';
|
|
4
|
-
import { addMonths, addYears, DateRangeType, DayOfWeek, DEFAULT_CALENDAR_STRINGS, DEFAULT_DATE_FORMATTING, FirstWeekOfYear, focusAsync, getWindow } from '../../utils';
|
|
5
|
-
import { CalendarDay } from '../CalendarDay/CalendarDay';
|
|
6
|
-
import { CalendarMonth } from '../CalendarMonth/CalendarMonth';
|
|
7
|
-
import { useCalendarStyles_unstable } from './useCalendarStyles.styles';
|
|
8
|
-
const MIN_SIZE_FORCE_OVERLAY = 440;
|
|
9
|
-
const defaultWorkWeekDays = [
|
|
10
|
-
DayOfWeek.Monday,
|
|
11
|
-
DayOfWeek.Tuesday,
|
|
12
|
-
DayOfWeek.Wednesday,
|
|
13
|
-
DayOfWeek.Thursday,
|
|
14
|
-
DayOfWeek.Friday
|
|
15
|
-
];
|
|
16
|
-
function useDateState({ value, today = new Date(), onSelectDate }) {
|
|
17
|
-
/** The currently selected date in the calendar */ const [selectedDate, setSelectedDate] = useControllableState({
|
|
18
|
-
defaultState: today,
|
|
19
|
-
initialState: today,
|
|
20
|
-
state: value
|
|
21
|
-
});
|
|
22
|
-
/** The currently focused date in the day picker, but not necessarily selected */ const [navigatedDay = today, setNavigatedDay] = React.useState(value);
|
|
23
|
-
/** The currently focused date in the month picker, but not necessarily selected */ const [navigatedMonth = today, setNavigatedMonth] = React.useState(value);
|
|
24
|
-
/** If using a controlled value, when that value changes, navigate to that date */ const [lastSelectedDate = today, setLastSelectedDate] = React.useState(value);
|
|
25
|
-
if (value && lastSelectedDate.valueOf() !== value.valueOf()) {
|
|
26
|
-
setNavigatedDay(value);
|
|
27
|
-
setNavigatedMonth(value);
|
|
28
|
-
setLastSelectedDate(value);
|
|
29
|
-
}
|
|
30
|
-
const navigateMonth = (date)=>{
|
|
31
|
-
setNavigatedMonth(date);
|
|
32
|
-
};
|
|
33
|
-
const navigateDay = (date)=>{
|
|
34
|
-
setNavigatedMonth(date);
|
|
35
|
-
setNavigatedDay(date);
|
|
36
|
-
};
|
|
37
|
-
const onDateSelected = (date, selectedDateRangeArray)=>{
|
|
38
|
-
setNavigatedMonth(date);
|
|
39
|
-
setNavigatedDay(date);
|
|
40
|
-
setSelectedDate(date);
|
|
41
|
-
onSelectDate === null || onSelectDate === void 0 ? void 0 : onSelectDate(date, selectedDateRangeArray);
|
|
42
|
-
};
|
|
43
|
-
return [
|
|
44
|
-
selectedDate,
|
|
45
|
-
navigatedDay,
|
|
46
|
-
navigatedMonth,
|
|
47
|
-
onDateSelected,
|
|
48
|
-
navigateDay,
|
|
49
|
-
navigateMonth
|
|
50
|
-
];
|
|
51
|
-
}
|
|
52
|
-
function useVisibilityState({ isDayPickerVisible: isDayPickerVisibleProp, isMonthPickerVisible: isMonthPickerVisibleProp, showMonthPickerAsOverlay }) {
|
|
53
|
-
/** State used to show/hide month picker */ const [isMonthPickerVisible, setIsMonthPickerVisible] = useControllableState({
|
|
54
|
-
defaultState: false,
|
|
55
|
-
initialState: true,
|
|
56
|
-
state: getShowMonthPickerAsOverlay({
|
|
57
|
-
isDayPickerVisible: isDayPickerVisibleProp,
|
|
58
|
-
showMonthPickerAsOverlay
|
|
59
|
-
}) ? undefined : isMonthPickerVisibleProp
|
|
60
|
-
});
|
|
61
|
-
/** State used to show/hide day picker */ const [isDayPickerVisible, setIsDayPickerVisible] = useControllableState({
|
|
62
|
-
defaultState: true,
|
|
63
|
-
initialState: true,
|
|
64
|
-
state: getShowMonthPickerAsOverlay({
|
|
65
|
-
isDayPickerVisible: isDayPickerVisibleProp,
|
|
66
|
-
showMonthPickerAsOverlay
|
|
67
|
-
}) ? undefined : isDayPickerVisibleProp
|
|
68
|
-
});
|
|
69
|
-
const toggleDayMonthPickerVisibility = ()=>{
|
|
70
|
-
setIsMonthPickerVisible(!isMonthPickerVisible);
|
|
71
|
-
setIsDayPickerVisible(!isDayPickerVisible);
|
|
72
|
-
};
|
|
73
|
-
return [
|
|
74
|
-
isMonthPickerVisible,
|
|
75
|
-
isDayPickerVisible,
|
|
76
|
-
toggleDayMonthPickerVisibility
|
|
77
|
-
];
|
|
78
|
-
}
|
|
79
|
-
function useFocusLogic({ componentRef }, isDayPickerVisible, isMonthPickerVisible) {
|
|
80
|
-
const dayPicker = React.useRef(null);
|
|
81
|
-
const monthPicker = React.useRef(null);
|
|
82
|
-
const focusOnUpdate = React.useRef(false);
|
|
83
|
-
const focus = React.useCallback(()=>{
|
|
84
|
-
if (isDayPickerVisible && dayPicker.current) {
|
|
85
|
-
focusAsync(dayPicker.current);
|
|
86
|
-
} else if (isMonthPickerVisible && monthPicker.current) {
|
|
87
|
-
focusAsync(monthPicker.current);
|
|
88
|
-
}
|
|
89
|
-
}, [
|
|
90
|
-
isDayPickerVisible,
|
|
91
|
-
isMonthPickerVisible
|
|
92
|
-
]);
|
|
93
|
-
React.useImperativeHandle(componentRef, ()=>({
|
|
94
|
-
focus
|
|
95
|
-
}), [
|
|
96
|
-
focus
|
|
97
|
-
]);
|
|
98
|
-
React.useEffect(()=>{
|
|
99
|
-
if (focusOnUpdate.current) {
|
|
100
|
-
focus();
|
|
101
|
-
focusOnUpdate.current = false;
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
const focusOnNextUpdate = ()=>{
|
|
105
|
-
focusOnUpdate.current = true;
|
|
106
|
-
};
|
|
107
|
-
return [
|
|
108
|
-
dayPicker,
|
|
109
|
-
monthPicker,
|
|
110
|
-
focusOnNextUpdate
|
|
111
|
-
];
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* @internal
|
|
115
|
-
*/ export const Calendar = /*#__PURE__*/ React.forwardRef((props, forwardedRef)=>{
|
|
116
|
-
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;
|
|
117
|
-
const [selectedDate, navigatedDay, navigatedMonth, onDateSelected, navigateDay, navigateMonth] = useDateState({
|
|
118
|
-
onSelectDate,
|
|
119
|
-
value,
|
|
120
|
-
today
|
|
121
|
-
});
|
|
122
|
-
const [isMonthPickerVisible, isDayPickerVisible, toggleDayMonthPickerVisibility] = useVisibilityState({
|
|
123
|
-
isDayPickerVisible: isDayPickerVisibleProp,
|
|
124
|
-
isMonthPickerVisible: isMonthPickerVisibleProp,
|
|
125
|
-
showMonthPickerAsOverlay: showMonthPickerAsOverlayProp
|
|
126
|
-
});
|
|
127
|
-
const [dayPicker, monthPicker, focusOnNextUpdate] = useFocusLogic({
|
|
128
|
-
componentRef
|
|
129
|
-
}, isDayPickerVisible, isMonthPickerVisible);
|
|
130
|
-
const renderGoToTodayButton = ()=>{
|
|
131
|
-
let goTodayEnabled = showGoToToday;
|
|
132
|
-
if (goTodayEnabled && today) {
|
|
133
|
-
goTodayEnabled = navigatedDay.getFullYear() !== today.getFullYear() || navigatedDay.getMonth() !== today.getMonth() || navigatedMonth.getFullYear() !== today.getFullYear() || navigatedMonth.getMonth() !== today.getMonth();
|
|
134
|
-
}
|
|
135
|
-
return showGoToToday && /*#__PURE__*/ React.createElement("button", {
|
|
136
|
-
className: classes.goTodayButton,
|
|
137
|
-
onClick: onGotoToday,
|
|
138
|
-
onKeyDown: onButtonKeyDown(onGotoToday),
|
|
139
|
-
type: "button",
|
|
140
|
-
disabled: !goTodayEnabled
|
|
141
|
-
}, strings.goToToday);
|
|
142
|
-
};
|
|
143
|
-
const onNavigateDayDate = (date, focusOnNavigatedDay)=>{
|
|
144
|
-
navigateDay(date);
|
|
145
|
-
if (focusOnNavigatedDay) {
|
|
146
|
-
focusOnNextUpdate();
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
const onNavigateMonthDate = (date, focusOnNavigatedDay)=>{
|
|
150
|
-
if (focusOnNavigatedDay) {
|
|
151
|
-
focusOnNextUpdate();
|
|
152
|
-
}
|
|
153
|
-
if (!focusOnNavigatedDay) {
|
|
154
|
-
navigateMonth(date);
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
if (monthPickerOnly) {
|
|
158
|
-
onDateSelected(date);
|
|
159
|
-
}
|
|
160
|
-
navigateDay(date);
|
|
161
|
-
};
|
|
162
|
-
const onHeaderSelect = getShowMonthPickerAsOverlay({
|
|
163
|
-
isDayPickerVisible: isDayPickerVisibleProp,
|
|
164
|
-
showMonthPickerAsOverlay: showMonthPickerAsOverlayProp
|
|
165
|
-
}) ? ()=>{
|
|
166
|
-
toggleDayMonthPickerVisibility();
|
|
167
|
-
focusOnNextUpdate();
|
|
168
|
-
} : undefined;
|
|
169
|
-
const onGotoToday = ()=>{
|
|
170
|
-
navigateDay(today);
|
|
171
|
-
focusOnNextUpdate();
|
|
172
|
-
};
|
|
173
|
-
const onButtonKeyDown = (callback)=>{
|
|
174
|
-
return (ev)=>{
|
|
175
|
-
switch(ev.key){
|
|
176
|
-
case Enter:
|
|
177
|
-
case Space:
|
|
178
|
-
callback();
|
|
179
|
-
break;
|
|
180
|
-
}
|
|
181
|
-
};
|
|
182
|
-
};
|
|
183
|
-
const onDatePickerPopupKeyDown = (ev)=>{
|
|
184
|
-
switch(ev.key){
|
|
185
|
-
case Enter:
|
|
186
|
-
ev.preventDefault();
|
|
187
|
-
break;
|
|
188
|
-
case Backspace:
|
|
189
|
-
ev.preventDefault();
|
|
190
|
-
break;
|
|
191
|
-
case Escape:
|
|
192
|
-
ev.stopPropagation();
|
|
193
|
-
onDismiss === null || onDismiss === void 0 ? void 0 : onDismiss();
|
|
194
|
-
break;
|
|
195
|
-
case PageUp:
|
|
196
|
-
if (ev.ctrlKey) {
|
|
197
|
-
// go to next year
|
|
198
|
-
navigateDay(addYears(navigatedDay, 1));
|
|
199
|
-
} else {
|
|
200
|
-
// go to next month
|
|
201
|
-
navigateDay(addMonths(navigatedDay, 1));
|
|
202
|
-
}
|
|
203
|
-
ev.preventDefault();
|
|
204
|
-
break;
|
|
205
|
-
case PageDown:
|
|
206
|
-
if (ev.ctrlKey) {
|
|
207
|
-
// go to previous year
|
|
208
|
-
navigateDay(addYears(navigatedDay, -1));
|
|
209
|
-
} else {
|
|
210
|
-
// go to previous month
|
|
211
|
-
navigateDay(addMonths(navigatedDay, -1));
|
|
212
|
-
}
|
|
213
|
-
ev.preventDefault();
|
|
214
|
-
break;
|
|
215
|
-
default:
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
const showMonthPickerAsOverlay = getShowMonthPickerAsOverlay({
|
|
220
|
-
isDayPickerVisible: isDayPickerVisibleProp,
|
|
221
|
-
showMonthPickerAsOverlay: showMonthPickerAsOverlayProp
|
|
222
|
-
});
|
|
223
|
-
const monthPickerOnly = !showMonthPickerAsOverlay && !isDayPickerVisible;
|
|
224
|
-
const classes = useCalendarStyles_unstable({
|
|
225
|
-
className,
|
|
226
|
-
isDayPickerVisible,
|
|
227
|
-
isMonthPickerVisible,
|
|
228
|
-
showWeekNumbers
|
|
229
|
-
});
|
|
230
|
-
let todayDateString = '';
|
|
231
|
-
let selectedDateString = '';
|
|
232
|
-
if (dateTimeFormatter && strings.todayDateFormatString) {
|
|
233
|
-
todayDateString = strings.todayDateFormatString.replace('{0}', dateTimeFormatter.formatMonthDayYear(today, strings));
|
|
234
|
-
}
|
|
235
|
-
if (dateTimeFormatter && strings.selectedDateFormatString) {
|
|
236
|
-
const dateStringFormatter = monthPickerOnly ? dateTimeFormatter.formatMonthYear : dateTimeFormatter.formatMonthDayYear;
|
|
237
|
-
selectedDateString = strings.selectedDateFormatString.replace('{0}', dateStringFormatter(selectedDate, strings));
|
|
238
|
-
}
|
|
239
|
-
const selectionAndTodayString = selectedDateString + ', ' + todayDateString;
|
|
240
|
-
return /*#__PURE__*/ React.createElement("div", {
|
|
241
|
-
id: id,
|
|
242
|
-
ref: forwardedRef,
|
|
243
|
-
role: "group",
|
|
244
|
-
"aria-label": selectionAndTodayString,
|
|
245
|
-
className: classes.root,
|
|
246
|
-
onKeyDown: onDatePickerPopupKeyDown
|
|
247
|
-
}, /*#__PURE__*/ React.createElement("div", {
|
|
248
|
-
className: classes.liveRegion,
|
|
249
|
-
"aria-live": "polite",
|
|
250
|
-
"aria-atomic": "true"
|
|
251
|
-
}, /*#__PURE__*/ React.createElement("span", null, selectedDateString)), isDayPickerVisible && /*#__PURE__*/ React.createElement(CalendarDay, {
|
|
252
|
-
selectedDate: selectedDate,
|
|
253
|
-
navigatedDate: navigatedDay,
|
|
254
|
-
today: today,
|
|
255
|
-
onSelectDate: onDateSelected,
|
|
256
|
-
// eslint-disable-next-line react/jsx-no-bind
|
|
257
|
-
onNavigateDate: onNavigateDayDate,
|
|
258
|
-
onDismiss: onDismiss,
|
|
259
|
-
firstDayOfWeek: firstDayOfWeek,
|
|
260
|
-
dateRangeType: dateRangeType,
|
|
261
|
-
strings: strings,
|
|
262
|
-
// eslint-disable-next-line react/jsx-no-bind
|
|
263
|
-
onHeaderSelect: onHeaderSelect,
|
|
264
|
-
showWeekNumbers: showWeekNumbers,
|
|
265
|
-
firstWeekOfYear: firstWeekOfYear,
|
|
266
|
-
dateTimeFormatter: dateTimeFormatter,
|
|
267
|
-
showSixWeeksByDefault: showSixWeeksByDefault,
|
|
268
|
-
minDate: minDate,
|
|
269
|
-
maxDate: maxDate,
|
|
270
|
-
restrictedDates: restrictedDates,
|
|
271
|
-
workWeekDays: workWeekDays,
|
|
272
|
-
componentRef: dayPicker,
|
|
273
|
-
showCloseButton: showCloseButton,
|
|
274
|
-
allFocusable: allFocusable,
|
|
275
|
-
...calendarDayProps
|
|
276
|
-
}), isDayPickerVisible && isMonthPickerVisible && /*#__PURE__*/ React.createElement("div", {
|
|
277
|
-
className: classes.divider
|
|
278
|
-
}), isMonthPickerVisible ? /*#__PURE__*/ React.createElement("div", {
|
|
279
|
-
className: classes.monthPickerWrapper
|
|
280
|
-
}, /*#__PURE__*/ React.createElement(CalendarMonth, {
|
|
281
|
-
navigatedDate: navigatedMonth,
|
|
282
|
-
selectedDate: navigatedDay,
|
|
283
|
-
strings: strings,
|
|
284
|
-
// eslint-disable-next-line react/jsx-no-bind
|
|
285
|
-
onNavigateDate: onNavigateMonthDate,
|
|
286
|
-
today: today,
|
|
287
|
-
highlightCurrentMonth: highlightCurrentMonth,
|
|
288
|
-
highlightSelectedMonth: highlightSelectedMonth,
|
|
289
|
-
// eslint-disable-next-line react/jsx-no-bind
|
|
290
|
-
onHeaderSelect: onHeaderSelect,
|
|
291
|
-
dateTimeFormatter: dateTimeFormatter,
|
|
292
|
-
minDate: minDate,
|
|
293
|
-
maxDate: maxDate,
|
|
294
|
-
componentRef: monthPicker,
|
|
295
|
-
...calendarMonthProps
|
|
296
|
-
}), renderGoToTodayButton()) : renderGoToTodayButton());
|
|
297
|
-
});
|
|
298
|
-
Calendar.displayName = 'Calendar';
|
|
299
|
-
function getShowMonthPickerAsOverlay({ isDayPickerVisible, showMonthPickerAsOverlay }) {
|
|
300
|
-
const win = getWindow();
|
|
301
|
-
return showMonthPickerAsOverlay || isDayPickerVisible && win && win.innerWidth <= MIN_SIZE_FORCE_OVERLAY;
|
|
302
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Backspace, Enter, Escape, PageDown, PageUp, Space } from '@fluentui/keyboard-keys';\nimport { useControllableState } from '@fluentui/react-utilities';\nimport {\n addMonths,\n addYears,\n DateRangeType,\n DayOfWeek,\n DEFAULT_CALENDAR_STRINGS,\n DEFAULT_DATE_FORMATTING,\n FirstWeekOfYear,\n focusAsync,\n getWindow,\n} from '../../utils';\nimport { CalendarDay } from '../CalendarDay/CalendarDay';\nimport { CalendarMonth } from '../CalendarMonth/CalendarMonth';\nimport { useCalendarStyles_unstable } from './useCalendarStyles.styles';\nimport type { ICalendarDay } from '../CalendarDay/CalendarDay.types';\nimport type { ICalendarMonth } from '../CalendarMonth/CalendarMonth.types';\nimport type { CalendarProps } from './Calendar.types';\n\nconst MIN_SIZE_FORCE_OVERLAY = 440;\n\nconst defaultWorkWeekDays: DayOfWeek[] = [\n DayOfWeek.Monday,\n DayOfWeek.Tuesday,\n DayOfWeek.Wednesday,\n DayOfWeek.Thursday,\n DayOfWeek.Friday,\n];\n\nfunction useDateState({ value, today = new Date(), onSelectDate }: CalendarProps) {\n /** The currently selected date in the calendar */\n const [selectedDate, setSelectedDate] = useControllableState({\n defaultState: today,\n initialState: today,\n state: value,\n });\n\n /** The currently focused date in the day picker, but not necessarily selected */\n const [navigatedDay = today, setNavigatedDay] = React.useState(value);\n\n /** The currently focused date in the month picker, but not necessarily selected */\n const [navigatedMonth = today, setNavigatedMonth] = React.useState(value);\n\n /** If using a controlled value, when that value changes, navigate to that date */\n 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\n const navigateMonth = (date: Date) => {\n setNavigatedMonth(date);\n };\n\n const navigateDay = (date: Date) => {\n setNavigatedMonth(date);\n setNavigatedDay(date);\n };\n\n const onDateSelected = (date: Date, selectedDateRangeArray?: Date[]) => {\n setNavigatedMonth(date);\n setNavigatedDay(date);\n setSelectedDate(date);\n onSelectDate?.(date, selectedDateRangeArray);\n };\n\n return [selectedDate, navigatedDay, navigatedMonth, onDateSelected, navigateDay, navigateMonth] as const;\n}\n\nfunction useVisibilityState({\n isDayPickerVisible: isDayPickerVisibleProp,\n isMonthPickerVisible: isMonthPickerVisibleProp,\n showMonthPickerAsOverlay,\n}: CalendarProps) {\n /** State used to show/hide month picker */\n const [isMonthPickerVisible, setIsMonthPickerVisible] = useControllableState({\n defaultState: false,\n initialState: true,\n state: getShowMonthPickerAsOverlay({ isDayPickerVisible: isDayPickerVisibleProp, showMonthPickerAsOverlay })\n ? undefined\n : isMonthPickerVisibleProp,\n });\n /** State used to show/hide day picker */\n const [isDayPickerVisible, setIsDayPickerVisible] = useControllableState({\n defaultState: true,\n initialState: true,\n state: getShowMonthPickerAsOverlay({ isDayPickerVisible: isDayPickerVisibleProp, showMonthPickerAsOverlay })\n ? undefined\n : isDayPickerVisibleProp,\n });\n\n const toggleDayMonthPickerVisibility = () => {\n setIsMonthPickerVisible(!isMonthPickerVisible);\n setIsDayPickerVisible(!isDayPickerVisible);\n };\n\n return [isMonthPickerVisible, isDayPickerVisible, toggleDayMonthPickerVisibility] as const;\n}\n\nfunction useFocusLogic({ componentRef }: CalendarProps, isDayPickerVisible: boolean, isMonthPickerVisible: boolean) {\n const dayPicker = React.useRef<ICalendarDay>(null);\n const monthPicker = React.useRef<ICalendarMonth>(null);\n const focusOnUpdate = React.useRef(false);\n\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 }, [isDayPickerVisible, isMonthPickerVisible]);\n\n React.useImperativeHandle(componentRef, () => ({ focus }), [focus]);\n\n React.useEffect(() => {\n if (focusOnUpdate.current) {\n focus();\n focusOnUpdate.current = false;\n }\n });\n\n const focusOnNextUpdate = () => {\n focusOnUpdate.current = true;\n };\n\n return [dayPicker, monthPicker, focusOnNextUpdate] as const;\n}\n\n/**\n * @internal\n */\nexport const Calendar: React.FunctionComponent<CalendarProps> = React.forwardRef<HTMLDivElement, CalendarProps>(\n (props, forwardedRef) => {\n const {\n allFocusable = false,\n calendarDayProps,\n calendarMonthProps,\n className,\n componentRef,\n dateRangeType = DateRangeType.Day,\n dateTimeFormatter = DEFAULT_DATE_FORMATTING,\n firstDayOfWeek = DayOfWeek.Sunday,\n firstWeekOfYear = FirstWeekOfYear.FirstDay,\n highlightCurrentMonth = false,\n highlightSelectedMonth = false,\n id,\n isDayPickerVisible: isDayPickerVisibleProp = true,\n isMonthPickerVisible: isMonthPickerVisibleProp = true,\n maxDate,\n minDate,\n onDismiss,\n onSelectDate,\n restrictedDates,\n showCloseButton = false,\n showGoToToday = true,\n showMonthPickerAsOverlay: showMonthPickerAsOverlayProp = false,\n showSixWeeksByDefault = false,\n showWeekNumbers = false,\n strings = DEFAULT_CALENDAR_STRINGS,\n today = new Date(),\n value,\n workWeekDays = defaultWorkWeekDays,\n } = props;\n\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,\n isMonthPickerVisible,\n );\n\n const renderGoToTodayButton = () => {\n let goTodayEnabled = showGoToToday;\n\n if (goTodayEnabled && today) {\n goTodayEnabled =\n navigatedDay.getFullYear() !== today.getFullYear() ||\n navigatedDay.getMonth() !== today.getMonth() ||\n navigatedMonth.getFullYear() !== today.getFullYear() ||\n navigatedMonth.getMonth() !== today.getMonth();\n }\n\n return (\n showGoToToday && (\n <button\n className={classes.goTodayButton}\n onClick={onGotoToday}\n onKeyDown={onButtonKeyDown(onGotoToday)}\n type=\"button\"\n disabled={!goTodayEnabled}\n >\n {strings!.goToToday}\n </button>\n )\n );\n };\n\n const onNavigateDayDate = (date: Date, focusOnNavigatedDay: boolean): void => {\n navigateDay(date);\n if (focusOnNavigatedDay) {\n focusOnNextUpdate();\n }\n };\n\n const onNavigateMonthDate = (date: Date, focusOnNavigatedDay: boolean): void => {\n if (focusOnNavigatedDay) {\n focusOnNextUpdate();\n }\n\n if (!focusOnNavigatedDay) {\n navigateMonth(date);\n return;\n }\n\n if (monthPickerOnly) {\n onDateSelected(date);\n }\n\n navigateDay(date);\n };\n\n const onHeaderSelect = getShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay: showMonthPickerAsOverlayProp,\n })\n ? (): void => {\n toggleDayMonthPickerVisibility();\n\n focusOnNextUpdate();\n }\n : undefined;\n\n const onGotoToday = (): void => {\n navigateDay(today!);\n focusOnNextUpdate();\n };\n\n const onButtonKeyDown = (callback: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement>) => void) => {\n return (ev: React.KeyboardEvent<HTMLButtonElement>) => {\n switch (ev.key) {\n case Enter:\n case Space:\n callback();\n break;\n }\n };\n };\n\n const onDatePickerPopupKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {\n switch (ev.key) {\n case Enter:\n ev.preventDefault();\n break;\n\n case Backspace:\n ev.preventDefault();\n break;\n\n case Escape:\n ev.stopPropagation();\n onDismiss?.();\n break;\n\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\n const monthPickerOnly = !showMonthPickerAsOverlay && !isDayPickerVisible;\n\n const classes = useCalendarStyles_unstable({\n className,\n isDayPickerVisible,\n isMonthPickerVisible,\n showWeekNumbers,\n });\n\n let todayDateString: string = '';\n let selectedDateString: string = '';\n if (dateTimeFormatter && strings!.todayDateFormatString) {\n todayDateString = strings!.todayDateFormatString.replace(\n '{0}',\n dateTimeFormatter.formatMonthDayYear(today, strings!),\n );\n }\n if (dateTimeFormatter && strings!.selectedDateFormatString) {\n const dateStringFormatter = monthPickerOnly\n ? dateTimeFormatter.formatMonthYear\n : dateTimeFormatter.formatMonthDayYear;\n selectedDateString = strings!.selectedDateFormatString.replace(\n '{0}',\n dateStringFormatter(selectedDate, strings!),\n );\n }\n const selectionAndTodayString = selectedDateString + ', ' + todayDateString;\n\n return (\n <div\n id={id}\n ref={forwardedRef}\n role=\"group\"\n aria-label={selectionAndTodayString}\n className={classes.root}\n onKeyDown={onDatePickerPopupKeyDown}\n >\n <div className={classes.liveRegion} aria-live=\"polite\" aria-atomic=\"true\">\n <span>{selectedDateString}</span>\n </div>\n {isDayPickerVisible && (\n <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} // at end of list so consumer's custom functions take precedence\n />\n )}\n {isDayPickerVisible && isMonthPickerVisible && <div className={classes.divider} />}\n {isMonthPickerVisible ? (\n <div className={classes.monthPickerWrapper}>\n <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} // at end of list so consumer's custom functions take precedence\n />\n {renderGoToTodayButton()}\n </div>\n ) : (\n renderGoToTodayButton()\n )}\n </div>\n );\n },\n);\nCalendar.displayName = 'Calendar';\n\nfunction getShowMonthPickerAsOverlay({ isDayPickerVisible, showMonthPickerAsOverlay }: CalendarProps) {\n const win = getWindow();\n return showMonthPickerAsOverlay || (isDayPickerVisible && win && win.innerWidth <= MIN_SIZE_FORCE_OVERLAY);\n}\n"],"names":["React","Backspace","Enter","Escape","PageDown","PageUp","Space","useControllableState","addMonths","addYears","DateRangeType","DayOfWeek","DEFAULT_CALENDAR_STRINGS","DEFAULT_DATE_FORMATTING","FirstWeekOfYear","focusAsync","getWindow","CalendarDay","CalendarMonth","useCalendarStyles_unstable","MIN_SIZE_FORCE_OVERLAY","defaultWorkWeekDays","Monday","Tuesday","Wednesday","Thursday","Friday","useDateState","value","today","Date","onSelectDate","selectedDate","setSelectedDate","defaultState","initialState","state","navigatedDay","setNavigatedDay","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","useImperativeHandle","useEffect","focusOnNextUpdate","Calendar","forwardRef","props","forwardedRef","allFocusable","calendarDayProps","calendarMonthProps","className","dateRangeType","Day","dateTimeFormatter","firstDayOfWeek","Sunday","firstWeekOfYear","FirstDay","highlightCurrentMonth","highlightSelectedMonth","id","maxDate","minDate","onDismiss","restrictedDates","showCloseButton","showGoToToday","showMonthPickerAsOverlayProp","showSixWeeksByDefault","showWeekNumbers","strings","workWeekDays","renderGoToTodayButton","goTodayEnabled","getFullYear","getMonth","button","classes","goTodayButton","onClick","onGotoToday","onKeyDown","onButtonKeyDown","type","disabled","goToToday","onNavigateDayDate","focusOnNavigatedDay","onNavigateMonthDate","monthPickerOnly","onHeaderSelect","callback","ev","key","onDatePickerPopupKeyDown","preventDefault","stopPropagation","ctrlKey","todayDateString","selectedDateString","todayDateFormatString","replace","formatMonthDayYear","selectedDateFormatString","dateStringFormatter","formatMonthYear","selectionAndTodayString","div","ref","role","aria-label","root","liveRegion","aria-live","aria-atomic","span","navigatedDate","onNavigateDate","divider","monthPickerWrapper","displayName","win","innerWidth"],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export var AnimationDirection;
|
|
3
|
-
(function(AnimationDirection) {
|
|
4
|
-
AnimationDirection[AnimationDirection[/**
|
|
5
|
-
* Grid will transition out and in horizontally
|
|
6
|
-
*/ "Horizontal"] = 0] = "Horizontal";
|
|
7
|
-
AnimationDirection[AnimationDirection[/**
|
|
8
|
-
* Grid will transition out and in vertically
|
|
9
|
-
*/ "Vertical"] = 1] = "Vertical";
|
|
10
|
-
})(AnimationDirection || (AnimationDirection = {}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["Calendar.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { CalendarStrings, DateFormatting, DateRangeType, DayOfWeek, FirstWeekOfYear } from '../../utils';\nimport type { CalendarDayProps } from '../CalendarDay/CalendarDay.types';\nimport type { CalendarMonthProps } from '../CalendarMonth/CalendarMonth.types';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface ICalendar {\n /** Sets focus to the selected date. */\n focus: () => void;\n}\n\nexport interface CalendarProps extends React.RefAttributes<HTMLDivElement> {\n /**\n * Optional callback to access the ICalendar interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: React.RefObject<ICalendar>;\n\n /**\n * Customized props for the calendar day\n */\n calendarDayProps?: Partial<CalendarDayProps>;\n\n /**\n * Customized props for the calendar month\n */\n calendarMonthProps?: Partial<CalendarMonthProps>;\n\n /**\n * Optional class name to add to the root element.\n */\n className?: string;\n\n /**\n * Callback for when a date is selected\n * @param date - The date the user selected\n * @param selectedDateRangeArray - The resultant list of dates that are selected based on the date range type set\n * for the component.\n */\n onSelectDate?: (date: Date, selectedDateRangeArray?: Date[]) => void;\n\n /**\n * Callback for when calendar is closed\n */\n onDismiss?: () => void;\n\n /**\n * ID for the calendar\n */\n id?: string;\n\n /**\n * Default value of the Calendar, if any\n */\n value?: Date;\n\n /**\n * Value of today. If unspecified, current time in client machine will be used.\n */\n today?: Date;\n\n /**\n * The date range type indicating how many days should be selected as the user\n * selects days\n * @default DateRangeType.Day\n */\n dateRangeType?: DateRangeType;\n\n /**\n * The first day of the week for your locale.\n * @default DayOfWeek.Sunday\n */\n firstDayOfWeek?: DayOfWeek;\n\n /**\n * Defines when the first week of the year should start.\n * @default FirstWeekOfYear.FirstDay\n */\n firstWeekOfYear?: FirstWeekOfYear;\n\n /**\n * Whether the month picker is shown beside the day picker or hidden.\n * @default true\n */\n isMonthPickerVisible?: boolean;\n\n /**\n * Whether the day picker is shown beside the month picker or hidden.\n * @default true\n */\n isDayPickerVisible?: boolean;\n\n /**\n * Show month picker on top of date picker when visible.\n * @default false\n */\n showMonthPickerAsOverlay?: boolean;\n\n /**\n * Whether the \"Go to today\" link should be shown or not\n */\n showGoToToday?: boolean;\n\n /**\n * Whether the calendar should show the week number (weeks 1 to 53) before each week row\n * @default false\n */\n showWeekNumbers?: boolean;\n\n /**\n * Localized strings to use in the Calendar\n */\n strings?: CalendarStrings;\n\n /**\n * Apply additional formatting to dates, for example localized date formatting.\n */\n dateTimeFormatter?: DateFormatting;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a date earlier than this value.\n */\n minDate?: Date;\n\n /**\n * If set the Calendar will not allow navigation to or selection of a date later than this value.\n */\n maxDate?: Date;\n\n /**\n * If set the Calendar will not allow selection of dates in this array.\n */\n restrictedDates?: Date[];\n\n /**\n * Whether the calendar should show 6 weeks by default.\n * @default false\n */\n showSixWeeksByDefault?: boolean;\n\n /**\n * The days that are selectable when `dateRangeType` is `WorkWeek`.\n * If `dateRangeType` is not `WorkWeek` this property does nothing.\n * @default [Monday,Tuesday,Wednesday,Thursday,Friday]\n */\n workWeekDays?: DayOfWeek[];\n\n /**\n * Whether the month picker should highlight the current month\n * @default false\n */\n highlightCurrentMonth?: boolean;\n\n /**\n * Whether the month picker should highlight the selected month\n * @default false\n */\n highlightSelectedMonth?: boolean;\n\n /**\n * Whether the close button should be shown or not\n * @default false\n */\n showCloseButton?: boolean;\n\n /**\n * Allows all dates and buttons to be focused, including disabled ones\n * @default false\n */\n allFocusable?: boolean;\n}\n\n/**\n * @internal\n */\nexport interface CalendarStyleProps {\n /**\n * Custom CSS class for the calendar.\n */\n className?: string;\n\n /**\n * Whether the month picker is visible\n */\n isMonthPickerVisible?: boolean;\n\n /**\n * Whether the day picker is visible\n */\n isDayPickerVisible?: boolean;\n\n /**\n * Whether only month picker is shown\n */\n monthPickerOnly?: boolean;\n\n /**\n * Whether the month picker is overlaid on the day picker\n */\n showMonthPickerAsOverlay?: boolean;\n\n /**\n * @deprecated Use `overlaidWithButton`\n */\n overlayedWithButton?: boolean;\n\n /**\n * Whether the month and day picker are overlaid and the 'go to today' button is shown\n */\n overlaidWithButton?: boolean;\n\n /**\n * Whether the go to today button is shown\n */\n showGoToToday?: boolean;\n\n /**\n * Whether the week numbers are shown\n */\n showWeekNumbers?: boolean;\n}\n\n/**\n * @internal\n */\nexport interface CalendarStyles {\n /**\n * Style for the root element.\n */\n root: string;\n\n divider: string;\n\n goTodayButton: string;\n\n monthPickerWrapper: string;\n\n liveRegion: string;\n}\n\nexport enum AnimationDirection {\n /**\n * Grid will transition out and in horizontally\n */\n Horizontal,\n\n /**\n * Grid will transition out and in vertically\n */\n Vertical,\n}\n"],"names":["React","AnimationDirection","Horizontal","Vertical"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;WAgPxB;UAAKC,kBAAkB;IAAlBA,mBAAAA,mBACV;;GAEC,GACDC,gBAAAA,KAAAA;IAJUD,mBAAAA,mBAMV;;GAEC,GACDE,cAAAA,KAAAA;GATUF,uBAAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["defaults.ts"],"sourcesContent":["import { DEFAULT_CALENDAR_STRINGS } from '../../utils';\nimport type { CalendarStrings } from '../../utils';\n\nexport const defaultCalendarStrings: CalendarStrings = DEFAULT_CALENDAR_STRINGS;\n"],"names":["DEFAULT_CALENDAR_STRINGS","defaultCalendarStrings"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,cAAc;AAGvD,OAAO,MAAMC,yBAA0CD,yBAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './Calendar';\nexport * from './Calendar.types';\nexport * from './useCalendarStyles.styles';\nexport { defaultCalendarStrings } from './defaults';\n"],"names":["defaultCalendarStrings"],"mappings":"AAAA,cAAc,aAAa;AAC3B,cAAc,mBAAmB;AACjC,cAAc,6BAA6B;AAC3C,SAASA,sBAAsB,QAAQ,aAAa"}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { tokens } from '@fluentui/react-theme';
|
|
2
|
-
import { __styles, mergeClasses, shorthands } from '@griffel/react';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export const calendarClassNames = {
|
|
7
|
-
root: 'fui-Calendar',
|
|
8
|
-
divider: 'fui-Calendar__divider',
|
|
9
|
-
goTodayButton: 'fui-Calendar__goTodayButton',
|
|
10
|
-
monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',
|
|
11
|
-
liveRegion: 'fui-Calendar__liveRegion'
|
|
12
|
-
};
|
|
13
|
-
const useRootStyles = /*#__PURE__*/__styles({
|
|
14
|
-
base: {
|
|
15
|
-
mc9l5x: "f22iagw",
|
|
16
|
-
a9b677: "f13dwy2t"
|
|
17
|
-
},
|
|
18
|
-
normalize: {
|
|
19
|
-
E5pizo: "f1couhl3",
|
|
20
|
-
B7ck84d: "f1ewtqcl",
|
|
21
|
-
B6of3ja: "f1hu3pq6",
|
|
22
|
-
t21cq0: ["f11qmguv", "f1tyq0we"],
|
|
23
|
-
jrapky: "f19f4twv",
|
|
24
|
-
Frg6f3: ["f1tyq0we", "f11qmguv"],
|
|
25
|
-
z8tnut: "f1g0x7ka",
|
|
26
|
-
z189sj: ["fhxju0i", "f1cnd47f"],
|
|
27
|
-
Byoj8tv: "f1qch9an",
|
|
28
|
-
uwmqm3: ["f1cnd47f", "fhxju0i"]
|
|
29
|
-
},
|
|
30
|
-
monthPickerNotVisible: {
|
|
31
|
-
Beiy3e4: "f1vx9l62"
|
|
32
|
-
},
|
|
33
|
-
dayAndMonthPickersVisible: {
|
|
34
|
-
a9b677: "fcy5b15"
|
|
35
|
-
},
|
|
36
|
-
dayPickerVisibleAndWeekNumbersShown: {
|
|
37
|
-
a9b677: "fhsg0in"
|
|
38
|
-
},
|
|
39
|
-
dayAndMonthPickersVisibleAndWeekNumbersShown: {
|
|
40
|
-
a9b677: "fcarq7f"
|
|
41
|
-
}
|
|
42
|
-
}, {
|
|
43
|
-
d: [".f22iagw{display:flex;}", ".f13dwy2t{width:220px;}", ".f1couhl3{box-shadow:none;}", ".f1ewtqcl{box-sizing:border-box;}", ".f1hu3pq6{margin-top:0;}", ".f11qmguv{margin-right:0;}", ".f1tyq0we{margin-left:0;}", ".f19f4twv{margin-bottom:0;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".f1vx9l62{flex-direction:column;}", ".fcy5b15{width:440px;}", ".fhsg0in{width:250px;}", ".fcarq7f{width:470px;}"]
|
|
44
|
-
});
|
|
45
|
-
const useDividerStyles = /*#__PURE__*/__styles({
|
|
46
|
-
base: {
|
|
47
|
-
g2u3we: "f68mrw8",
|
|
48
|
-
h3c5rm: ["f7pw515", "fw35ms5"],
|
|
49
|
-
B9xav0g: "frpde29",
|
|
50
|
-
zhjwy3: ["fw35ms5", "f7pw515"],
|
|
51
|
-
Bekrc4i: ["f1hqa2wf", "finvdd3"],
|
|
52
|
-
vrafjx: ["fcdblym", "fjik90z"],
|
|
53
|
-
Bhzewxz: "f15twtuk"
|
|
54
|
-
}
|
|
55
|
-
}, {
|
|
56
|
-
d: [".f68mrw8{border-top-color:var(--colorNeutralStroke2);}", ".f7pw515{border-right-color:var(--colorNeutralStroke2);}", ".fw35ms5{border-left-color:var(--colorNeutralStroke2);}", ".frpde29{border-bottom-color:var(--colorNeutralStroke2);}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".f15twtuk{top:0;}"]
|
|
57
|
-
});
|
|
58
|
-
const useMonthPickerWrapperStyles = /*#__PURE__*/__styles({
|
|
59
|
-
base: {
|
|
60
|
-
mc9l5x: "f22iagw",
|
|
61
|
-
Beiy3e4: "f1vx9l62"
|
|
62
|
-
}
|
|
63
|
-
}, {
|
|
64
|
-
d: [".f22iagw{display:flex;}", ".f1vx9l62{flex-direction:column;}"]
|
|
65
|
-
});
|
|
66
|
-
const useGoTodayButtonStyles = /*#__PURE__*/__styles({
|
|
67
|
-
base: {
|
|
68
|
-
qb2dma: "fpydfdc",
|
|
69
|
-
De3pzq: "f1c21dwh",
|
|
70
|
-
icvyot: "f1ern45e",
|
|
71
|
-
vrafjx: ["f1n71otn", "f1deefiw"],
|
|
72
|
-
oivjwe: "f1h8hb77",
|
|
73
|
-
wvpqe5: ["f1deefiw", "f1n71otn"],
|
|
74
|
-
B5kzvoi: "f1yab3r1",
|
|
75
|
-
B7ck84d: "f1e4lqlz",
|
|
76
|
-
sj55zd: "f19n0e5",
|
|
77
|
-
Bahqtrf: "f1mo0ibp",
|
|
78
|
-
Be2twd7: "fy9rknc",
|
|
79
|
-
Bqenvij: "f1tvdnth",
|
|
80
|
-
Bg96gwp: "fpfng1i",
|
|
81
|
-
t21cq0: ["f17vyym1", "fb5scp"],
|
|
82
|
-
B6of3ja: "f4gg0ds",
|
|
83
|
-
B68tc82: "f1mtd64y",
|
|
84
|
-
Bmxbyg5: "f1y7q3j9",
|
|
85
|
-
z8tnut: "f1g0x7ka",
|
|
86
|
-
z189sj: ["f8wuabp", "fycuoez"],
|
|
87
|
-
Byoj8tv: "f1qch9an",
|
|
88
|
-
uwmqm3: ["fycuoez", "f8wuabp"],
|
|
89
|
-
seuwu7: "fvy6vk6",
|
|
90
|
-
Jwef8y: "f9ql6rf",
|
|
91
|
-
Bi91k9c: "f1f1pb61",
|
|
92
|
-
eoavqd: "f8491dx",
|
|
93
|
-
Bv57zgv: "fq3vqfz",
|
|
94
|
-
Bnosqey: "f7lk14",
|
|
95
|
-
Bx7pl5v: "f1awoz4y",
|
|
96
|
-
B23s7e0: ["f1q1rlij", "f1txf70x"],
|
|
97
|
-
knvgbf: ["f1txf70x", "f1q1rlij"],
|
|
98
|
-
B3ons6i: ["fduk3fc", "fw6hbk1"],
|
|
99
|
-
Be8uuq8: ["fw6hbk1", "fduk3fc"],
|
|
100
|
-
B2d53fq: "fc9d3oc",
|
|
101
|
-
Dyrjrp: "f1cqwcg4",
|
|
102
|
-
Be90el1: "fmjaa5u"
|
|
103
|
-
}
|
|
104
|
-
}, {
|
|
105
|
-
d: [".fpydfdc{align-self:flex-end;}", ".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".f1ern45e{border-top-style:none;}", ".f1n71otn{border-right-style:none;}", ".f1deefiw{border-left-style:none;}", ".f1h8hb77{border-bottom-style:none;}", ".f1yab3r1{bottom:0;}", ".f1e4lqlz{box-sizing:content-box;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".f1mo0ibp{font-family:inherit;}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".f1tvdnth{height:30px;}", ".fpfng1i{line-height:30px;}", ".f17vyym1{margin-right:16px;}", ".fb5scp{margin-left:16px;}", ".f4gg0ds{margin-top:3px;}", ".f1mtd64y{overflow-x:visible;}", ".f1y7q3j9{overflow-y:visible;}", ".f1g0x7ka{padding-top:0;}", ".f8wuabp{padding-right:4px;}", ".fycuoez{padding-left:4px;}", ".f1qch9an{padding-bottom:0;}", ".fvy6vk6 div{font-size:var(--fontSizeBase200);}", ".f1cqwcg4:disabled{color:var(--colorNeutralForegroundDisabled);}", ".fmjaa5u:disabled{pointer-events:none;}"],
|
|
106
|
-
h: [".f9ql6rf:hover{background-color:var(--colorTransparentBackground);}", ".f1f1pb61:hover{color:var(--colorBrandForeground1);}", ".f8491dx:hover{cursor:pointer;}", ".fc9d3oc:hover:active{color:var(--colorBrandForeground2);}"],
|
|
107
|
-
m: [["@media (forced-colors: active){.fq3vqfz:hover{outline-width:var(--strokeWidthThin);}}", {
|
|
108
|
-
m: "(forced-colors: active)"
|
|
109
|
-
}], ["@media (forced-colors: active){.f7lk14:hover{outline-style:solid;}}", {
|
|
110
|
-
m: "(forced-colors: active)"
|
|
111
|
-
}], ["@media (forced-colors: active){.f1awoz4y:hover{outline-color:ButtonText;}}", {
|
|
112
|
-
m: "(forced-colors: active)"
|
|
113
|
-
}], ["@media (forced-colors: active){.f1q1rlij:hover{border-bottom-right-radius:var(--borderRadiusSmall);}.f1txf70x:hover{border-bottom-left-radius:var(--borderRadiusSmall);}}", {
|
|
114
|
-
m: "(forced-colors: active)"
|
|
115
|
-
}], ["@media (forced-colors: active){.fduk3fc:hover{border-top-right-radius:var(--borderRadiusSmall);}.fw6hbk1:hover{border-top-left-radius:var(--borderRadiusSmall);}}", {
|
|
116
|
-
m: "(forced-colors: active)"
|
|
117
|
-
}]]
|
|
118
|
-
});
|
|
119
|
-
const useLiveRegionStyles = /*#__PURE__*/__styles({
|
|
120
|
-
base: {
|
|
121
|
-
B4j52fo: "fre7gi1",
|
|
122
|
-
Bekrc4i: ["f1358rze", "f1rvrf73"],
|
|
123
|
-
Bn0qgzm: "fqdk4by",
|
|
124
|
-
ibv6hh: ["f1rvrf73", "f1358rze"],
|
|
125
|
-
Bqenvij: "f1mpe4l3",
|
|
126
|
-
B6of3ja: "fkrn0sh",
|
|
127
|
-
t21cq0: ["f179hvsh", "f1538868"],
|
|
128
|
-
jrapky: "fmxx68s",
|
|
129
|
-
Frg6f3: ["f1538868", "f179hvsh"],
|
|
130
|
-
B68tc82: "f1p9o1ba",
|
|
131
|
-
Bmxbyg5: "f1sil6mw",
|
|
132
|
-
z8tnut: "f1g0x7ka",
|
|
133
|
-
z189sj: ["fhxju0i", "f1cnd47f"],
|
|
134
|
-
Byoj8tv: "f1qch9an",
|
|
135
|
-
uwmqm3: ["f1cnd47f", "fhxju0i"],
|
|
136
|
-
qhf8xq: "f1euv43f",
|
|
137
|
-
a9b677: "frkrog8"
|
|
138
|
-
}
|
|
139
|
-
}, {
|
|
140
|
-
d: [".fre7gi1{border-top-width:0;}", ".f1358rze{border-right-width:0;}", ".f1rvrf73{border-left-width:0;}", ".fqdk4by{border-bottom-width:0;}", ".f1mpe4l3{height:1px;}", ".fkrn0sh{margin-top:-1px;}", ".f179hvsh{margin-right:-1px;}", ".f1538868{margin-left:-1px;}", ".fmxx68s{margin-bottom:-1px;}", ".f1p9o1ba{overflow-x:hidden;}", ".f1sil6mw{overflow-y:hidden;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".f1euv43f{position:absolute;}", ".frkrog8{width:1px;}"]
|
|
141
|
-
});
|
|
142
|
-
/**
|
|
143
|
-
* @internal
|
|
144
|
-
*
|
|
145
|
-
* Apply styling to the Calendar slots based on the state
|
|
146
|
-
*/
|
|
147
|
-
export const useCalendarStyles_unstable = props => {
|
|
148
|
-
const rootStyles = useRootStyles();
|
|
149
|
-
const dividerStyles = useDividerStyles();
|
|
150
|
-
const monthPickerWrapperStyles = useMonthPickerWrapperStyles();
|
|
151
|
-
const goTodayButtonStyles = useGoTodayButtonStyles();
|
|
152
|
-
const liveRegionStyles = useLiveRegionStyles();
|
|
153
|
-
const {
|
|
154
|
-
className,
|
|
155
|
-
isDayPickerVisible,
|
|
156
|
-
isMonthPickerVisible,
|
|
157
|
-
showWeekNumbers
|
|
158
|
-
} = props;
|
|
159
|
-
return {
|
|
160
|
-
root: mergeClasses(calendarClassNames.root, rootStyles.base, rootStyles.normalize, !isMonthPickerVisible && rootStyles.monthPickerNotVisible, isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible, isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown, isDayPickerVisible && isMonthPickerVisible && showWeekNumbers && rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown, className),
|
|
161
|
-
divider: mergeClasses(calendarClassNames.divider, dividerStyles.base),
|
|
162
|
-
monthPickerWrapper: mergeClasses(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),
|
|
163
|
-
goTodayButton: mergeClasses(calendarClassNames.goTodayButton, goTodayButtonStyles.base),
|
|
164
|
-
liveRegion: mergeClasses(calendarClassNames.liveRegion, liveRegionStyles.base)
|
|
165
|
-
};
|
|
166
|
-
};
|
|
167
|
-
//# sourceMappingURL=useCalendarStyles.styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tokens","__styles","mergeClasses","shorthands","calendarClassNames","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","base","mc9l5x","a9b677","normalize","E5pizo","B7ck84d","B6of3ja","t21cq0","jrapky","Frg6f3","z8tnut","z189sj","Byoj8tv","uwmqm3","monthPickerNotVisible","Beiy3e4","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","d","useDividerStyles","g2u3we","h3c5rm","B9xav0g","zhjwy3","Bekrc4i","vrafjx","Bhzewxz","useMonthPickerWrapperStyles","useGoTodayButtonStyles","qb2dma","De3pzq","icvyot","oivjwe","wvpqe5","B5kzvoi","sj55zd","Bahqtrf","Be2twd7","Bqenvij","Bg96gwp","B68tc82","Bmxbyg5","seuwu7","Jwef8y","Bi91k9c","eoavqd","Bv57zgv","Bnosqey","Bx7pl5v","B23s7e0","knvgbf","B3ons6i","Be8uuq8","B2d53fq","Dyrjrp","Be90el1","h","m","useLiveRegionStyles","B4j52fo","Bn0qgzm","ibv6hh","qhf8xq","useCalendarStyles_unstable","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers"],"sources":["useCalendarStyles.styles.js"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\n/**\n * @internal\n */ export const calendarClassNames = {\n root: 'fui-Calendar',\n divider: 'fui-Calendar__divider',\n goTodayButton: 'fui-Calendar__goTodayButton',\n monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',\n liveRegion: 'fui-Calendar__liveRegion'\n};\nconst useRootStyles = makeStyles({\n base: {\n display: 'flex',\n width: '220px'\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n ...shorthands.margin(0),\n ...shorthands.padding(0)\n },\n monthPickerNotVisible: {\n flexDirection: 'column'\n },\n dayAndMonthPickersVisible: {\n width: '440px'\n },\n dayPickerVisibleAndWeekNumbersShown: {\n width: '250px'\n },\n dayAndMonthPickersVisibleAndWeekNumbersShown: {\n width: '470px'\n }\n});\nconst useDividerStyles = makeStyles({\n base: {\n ...shorthands.borderColor(tokens.colorNeutralStroke2),\n ...shorthands.borderRight('1px', 'solid'),\n top: 0\n }\n});\nconst useMonthPickerWrapperStyles = makeStyles({\n base: {\n display: 'flex',\n flexDirection: 'column'\n }\n});\nconst useGoTodayButtonStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n bottom: 0,\n boxSizing: 'content-box',\n color: tokens.colorNeutralForeground1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '30px',\n lineHeight: '30px',\n marginRight: '16px',\n marginTop: '3px',\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0, '4px'),\n '& div': {\n fontSize: tokens.fontSizeBase200\n },\n '&:hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorBrandForeground1,\n cursor: 'pointer',\n '@media (forced-colors: active)': {\n ...shorthands.outline(tokens.strokeWidthThin, 'solid', 'ButtonText'),\n ...shorthands.borderRadius(tokens.borderRadiusSmall)\n }\n },\n '&:hover:active': {\n color: tokens.colorBrandForeground2\n },\n '&:disabled': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none'\n }\n }\n});\nconst useLiveRegionStyles = makeStyles({\n base: {\n ...shorthands.border(0),\n height: '1px',\n ...shorthands.margin('-1px'),\n ...shorthands.overflow('hidden'),\n ...shorthands.padding(0),\n position: 'absolute',\n width: '1px'\n }\n});\n/**\n * @internal\n *\n * Apply styling to the Calendar slots based on the state\n */ export const useCalendarStyles_unstable = (props)=>{\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n const monthPickerWrapperStyles = useMonthPickerWrapperStyles();\n const goTodayButtonStyles = useGoTodayButtonStyles();\n const liveRegionStyles = useLiveRegionStyles();\n const { className, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;\n return {\n root: mergeClasses(calendarClassNames.root, rootStyles.base, rootStyles.normalize, !isMonthPickerVisible && rootStyles.monthPickerNotVisible, isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible, isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown, isDayPickerVisible && isMonthPickerVisible && showWeekNumbers && rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown, className),\n divider: mergeClasses(calendarClassNames.divider, dividerStyles.base),\n monthPickerWrapper: mergeClasses(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),\n goTodayButton: mergeClasses(calendarClassNames.goTodayButton, goTodayButtonStyles.base),\n liveRegion: mergeClasses(calendarClassNames.liveRegion, liveRegionStyles.base)\n };\n};\n"],"mappings":"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"}
|