@fluentui/react-calendar-compat 0.1.8 → 0.1.10

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +26 -2
  2. package/dist/index.d.ts +11 -1
  3. package/lib/components/Calendar/Calendar.js +6 -19
  4. package/lib/components/Calendar/Calendar.js.map +1 -1
  5. package/lib/components/Calendar/useCalendarStyles.styles.js +89 -53
  6. package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -1
  7. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +84 -46
  8. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -1
  9. package/lib/components/CalendarDayGrid/CalendarDayGrid.types.js.map +1 -1
  10. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +2 -1
  11. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
  12. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +245 -114
  13. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
  14. package/lib/components/CalendarMonth/CalendarMonth.js +1 -1
  15. package/lib/components/CalendarMonth/CalendarMonth.js.map +1 -1
  16. package/lib/components/CalendarMonth/index.js +1 -1
  17. package/lib/components/CalendarMonth/index.js.map +1 -1
  18. package/lib/components/CalendarMonth/{useCalendarMonthStyles.js → useCalendarMonthStyles.styles.js} +4 -2
  19. package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.js.map +1 -0
  20. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +169 -79
  21. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -1
  22. package/lib/utils/animations.js +5 -6
  23. package/lib/utils/animations.js.map +1 -1
  24. package/lib/utils/dateGrid/dateGrid.types.js.map +1 -1
  25. package/lib/utils/dateGrid/getDayGrid.js +1 -0
  26. package/lib/utils/dateGrid/getDayGrid.js.map +1 -1
  27. package/lib-commonjs/components/Calendar/Calendar.js +6 -19
  28. package/lib-commonjs/components/Calendar/Calendar.js.map +1 -1
  29. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +126 -155
  30. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -1
  31. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +133 -137
  32. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -1
  33. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +2 -1
  34. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
  35. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +417 -333
  36. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
  37. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js +2 -2
  38. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js.map +1 -1
  39. package/lib-commonjs/components/CalendarMonth/index.js +1 -1
  40. package/lib-commonjs/components/CalendarMonth/index.js.map +1 -1
  41. package/lib-commonjs/components/CalendarMonth/{useCalendarMonthStyles.js → useCalendarMonthStyles.styles.js} +1 -1
  42. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.js.map +1 -0
  43. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +255 -225
  44. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -1
  45. package/lib-commonjs/utils/animations.js +4 -5
  46. package/lib-commonjs/utils/animations.js.map +1 -1
  47. package/lib-commonjs/utils/dateGrid/getDayGrid.js +1 -0
  48. package/lib-commonjs/utils/dateGrid/getDayGrid.js.map +1 -1
  49. package/package.json +4 -4
  50. package/lib/components/CalendarMonth/useCalendarMonthStyles.js.map +0 -1
  51. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,12 +1,36 @@
1
1
  # Change Log - @fluentui/react-calendar-compat
2
2
 
3
- This log was last generated on Mon, 20 May 2024 12:36:29 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 06 Jun 2024 15:22:12 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [0.1.10](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.1.10)
8
+
9
+ Thu, 06 Jun 2024 15:22:12 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.1.9..@fluentui/react-calendar-compat_v0.1.10)
11
+
12
+ ### Patches
13
+
14
+ - feat(calendar-compat): changed design for the selected state ([PR #31509](https://github.com/microsoft/fluentui/pull/31509) by vkozlova@microsoft.com)
15
+ - chore: ensure only state or defaultState is provided on useControllableState hook invocation ([PR #31461](https://github.com/microsoft/fluentui/pull/31461) by bernardo.sunderhus@gmail.com)
16
+ - chore: Renaming useCalendarMonthStyles.ts to useCalendarMonthStyles.styles.ts. ([PR #31568](https://github.com/microsoft/fluentui/pull/31568) by Humberto.Morimoto@microsoft.com)
17
+ - Bump @fluentui/react-jsx-runtime to v9.0.39 ([PR #31586](https://github.com/microsoft/fluentui/pull/31586) by beachball)
18
+ - Bump @fluentui/react-tabster to v9.21.5 ([PR #31586](https://github.com/microsoft/fluentui/pull/31586) by beachball)
19
+ - Bump @fluentui/react-utilities to v9.18.10 ([PR #31586](https://github.com/microsoft/fluentui/pull/31586) by beachball)
20
+
21
+ ## [0.1.9](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.1.9)
22
+
23
+ Thu, 23 May 2024 08:02:41 GMT
24
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.1.8..@fluentui/react-calendar-compat_v0.1.9)
25
+
26
+ ### Patches
27
+
28
+ - chore: replace usage of .shorthands() in styles ([PR #31449](https://github.com/microsoft/fluentui/pull/31449) by olfedias@microsoft.com)
29
+ - Bump @fluentui/react-tabster to v9.21.4 ([commit](https://github.com/microsoft/fluentui/commit/03599d609e8310b08c57d1f871cffbf717d79207) by beachball)
30
+
7
31
  ## [0.1.8](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.1.8)
8
32
 
9
- Mon, 20 May 2024 12:36:29 GMT
33
+ Mon, 20 May 2024 12:44:53 GMT
10
34
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.1.7..@fluentui/react-calendar-compat_v0.1.8)
11
35
 
12
36
  ### Patches
package/dist/index.d.ts CHANGED
@@ -265,6 +265,10 @@ export declare interface CalendarDayGridStyles {
265
265
  * The style to apply to grid cells for days in the selected range
266
266
  */
267
267
  daySelected?: string;
268
+ /**
269
+ * The classname applied when a single day is selected
270
+ */
271
+ daySingleSelected?: string;
268
272
  /**
269
273
  * The style to apply to row around weeks
270
274
  */
@@ -305,6 +309,10 @@ export declare interface CalendarDayGridStyles {
305
309
  * The style applied to the marker on days to mark as important
306
310
  */
307
311
  dayMarker?: string;
312
+ /**
313
+ * The classname applied to the day "today" span
314
+ */
315
+ dayTodayMarker?: string;
308
316
  }
309
317
 
310
318
  export declare interface CalendarDayProps extends CalendarDayGridProps {
@@ -1068,8 +1076,10 @@ declare interface Day {
1068
1076
  isInMonth: boolean;
1069
1077
  /** Is current date is "today" date */
1070
1078
  isToday: boolean;
1071
- /** Is current date is selected */
1079
+ /** Is current date is selected in range */
1072
1080
  isSelected: boolean;
1081
+ /** Is current date is selected */
1082
+ isSingleSelected: boolean;
1073
1083
  /** Is current date within restriction boundaries */
1074
1084
  isInBounds: boolean;
1075
1085
  /** Is current date marked */
@@ -17,18 +17,13 @@ const defaultWorkWeekDays = [
17
17
  ];
18
18
  function useDateState(props) {
19
19
  const { value, today: todayProp, onSelectDate } = props;
20
- const today = React.useMemo(()=>{
21
- if (todayProp === undefined) {
22
- return new Date();
23
- }
24
- return todayProp;
25
- }, [
20
+ const today = React.useMemo(()=>todayProp !== null && todayProp !== void 0 ? todayProp : new Date(), [
26
21
  todayProp
27
22
  ]);
28
23
  /** The currently selected date in the calendar */ const [selectedDate, setSelectedDate] = useControllableState({
29
- defaultState: today,
30
- initialState: today,
31
- state: value
24
+ state: value,
25
+ defaultState: value ? undefined : today,
26
+ initialState: today
32
27
  });
33
28
  /** The currently focused date in the day picker, but not necessarily selected */ const [navigatedDay = today, setNavigatedDay] = React.useState(value);
34
29
  /** The currently focused date in the month picker, but not necessarily selected */ const [navigatedMonth = today, setNavigatedMonth] = React.useState(value);
@@ -65,16 +60,8 @@ function useVisibilityState({ isDayPickerVisible: isDayPickerVisibleProp, isMont
65
60
  isDayPickerVisible: isDayPickerVisibleProp,
66
61
  showMonthPickerAsOverlay
67
62
  });
68
- const [isMonthPickerVisible, setIsMonthPickerVisible] = useControllableState({
69
- defaultState: false,
70
- initialState: true,
71
- state: showMonthPickerAsOverlayState ? undefined : isMonthPickerVisibleProp
72
- });
73
- /** State used to show/hide day picker */ const [isDayPickerVisible, setIsDayPickerVisible] = useControllableState({
74
- defaultState: true,
75
- initialState: true,
76
- state: showMonthPickerAsOverlayState ? undefined : isDayPickerVisibleProp
77
- });
63
+ const [isMonthPickerVisible, setIsMonthPickerVisible] = React.useState(()=>showMonthPickerAsOverlayState ? false : isMonthPickerVisibleProp !== null && isMonthPickerVisibleProp !== void 0 ? isMonthPickerVisibleProp : false);
64
+ /** State used to show/hide day picker */ const [isDayPickerVisible, setIsDayPickerVisible] = React.useState(()=>showMonthPickerAsOverlayState ? true : isDayPickerVisibleProp !== null && isDayPickerVisibleProp !== void 0 ? isDayPickerVisibleProp : true);
78
65
  const toggleDayMonthPickerVisibility = ()=>{
79
66
  setIsMonthPickerVisible(!isMonthPickerVisible);
80
67
  setIsDayPickerVisible(!isDayPickerVisible);
@@ -1 +1 @@
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 { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport {\n addMonths,\n addYears,\n DateRangeType,\n DayOfWeek,\n DEFAULT_CALENDAR_STRINGS,\n DEFAULT_DATE_FORMATTING,\n FirstWeekOfYear,\n focusAsync,\n} from '../../utils';\nimport { CalendarDay } from '../CalendarDay/CalendarDay';\nimport { CalendarMonth } from '../CalendarMonth/CalendarMonth';\nimport { defaultNavigationIcons } from './calendarNavigationIcons';\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(props: CalendarProps) {\n const { value, today: todayProp, onSelectDate } = props;\n\n const today = React.useMemo(() => {\n if (todayProp === undefined) {\n return new Date();\n }\n return todayProp;\n }, [todayProp]);\n\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 showMonthPickerAsOverlayState = useShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay,\n });\n\n const [isMonthPickerVisible, setIsMonthPickerVisible] = useControllableState({\n defaultState: false,\n initialState: true,\n state: showMonthPickerAsOverlayState ? undefined : isMonthPickerVisibleProp,\n });\n /** State used to show/hide day picker */\n const [isDayPickerVisible, setIsDayPickerVisible] = useControllableState({\n defaultState: true,\n initialState: true,\n state: showMonthPickerAsOverlayState ? undefined : 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 const { targetDocument } = useFluent();\n const win = targetDocument?.defaultView;\n\n const focus = React.useCallback(() => {\n if (isDayPickerVisible && dayPicker.current) {\n focusAsync(dayPicker.current, win);\n } else if (isMonthPickerVisible && monthPicker.current) {\n focusAsync(monthPicker.current, win);\n }\n }, [isDayPickerVisible, isMonthPickerVisible, win]);\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: todayProp,\n value,\n workWeekDays = defaultWorkWeekDays,\n } = props;\n\n const today = React.useMemo(() => {\n return todayProp ?? new Date();\n }, [todayProp]);\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 showMonthPickerAsOverlay = useShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay: showMonthPickerAsOverlayProp,\n });\n\n const onHeaderSelect = showMonthPickerAsOverlay\n ? (): void => {\n toggleDayMonthPickerVisibility();\n\n focusOnNextUpdate();\n }\n : undefined;\n\n const onGotoToday = (): void => {\n navigateDay(today!);\n if (showMonthPickerAsOverlay && isMonthPickerVisible) {\n toggleDayMonthPickerVisibility();\n }\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\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 navigationIcons={defaultNavigationIcons}\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 navigationIcons={defaultNavigationIcons}\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\nconst useShowMonthPickerAsOverlay = ({ isDayPickerVisible, showMonthPickerAsOverlay }: CalendarProps) => {\n const { targetDocument } = useFluent();\n const win = targetDocument?.defaultView;\n return showMonthPickerAsOverlay || (isDayPickerVisible && win && win.innerWidth <= MIN_SIZE_FORCE_OVERLAY);\n};\n"],"names":["React","Backspace","Enter","Escape","PageDown","PageUp","Space","useControllableState","useFluent_unstable","useFluent","addMonths","addYears","DateRangeType","DayOfWeek","DEFAULT_CALENDAR_STRINGS","DEFAULT_DATE_FORMATTING","FirstWeekOfYear","focusAsync","CalendarDay","CalendarMonth","defaultNavigationIcons","useCalendarStyles_unstable","MIN_SIZE_FORCE_OVERLAY","defaultWorkWeekDays","Monday","Tuesday","Wednesday","Thursday","Friday","useDateState","props","value","today","todayProp","onSelectDate","useMemo","undefined","Date","selectedDate","setSelectedDate","defaultState","initialState","state","navigatedDay","setNavigatedDay","useState","navigatedMonth","setNavigatedMonth","lastSelectedDate","setLastSelectedDate","valueOf","navigateMonth","date","navigateDay","onDateSelected","selectedDateRangeArray","useVisibilityState","isDayPickerVisible","isDayPickerVisibleProp","isMonthPickerVisible","isMonthPickerVisibleProp","showMonthPickerAsOverlay","showMonthPickerAsOverlayState","useShowMonthPickerAsOverlay","setIsMonthPickerVisible","setIsDayPickerVisible","toggleDayMonthPickerVisibility","useFocusLogic","componentRef","dayPicker","useRef","monthPicker","focusOnUpdate","targetDocument","win","defaultView","focus","useCallback","current","useImperativeHandle","useEffect","focusOnNextUpdate","Calendar","forwardRef","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","navigationIcons","divider","monthPickerWrapper","displayName","innerWidth"],"mappings":"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"}
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 { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport {\n addMonths,\n addYears,\n DateRangeType,\n DayOfWeek,\n DEFAULT_CALENDAR_STRINGS,\n DEFAULT_DATE_FORMATTING,\n FirstWeekOfYear,\n focusAsync,\n} from '../../utils';\nimport { CalendarDay } from '../CalendarDay/CalendarDay';\nimport { CalendarMonth } from '../CalendarMonth/CalendarMonth';\nimport { defaultNavigationIcons } from './calendarNavigationIcons';\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(props: CalendarProps) {\n const { value, today: todayProp, onSelectDate } = props;\n\n const today = React.useMemo(() => todayProp ?? new Date(), [todayProp]);\n\n /** The currently selected date in the calendar */\n const [selectedDate, setSelectedDate] = useControllableState({\n state: value,\n defaultState: value ? undefined : today,\n initialState: today,\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 showMonthPickerAsOverlayState = useShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay,\n });\n\n const [isMonthPickerVisible, setIsMonthPickerVisible] = React.useState(() =>\n showMonthPickerAsOverlayState ? false : isMonthPickerVisibleProp ?? false,\n );\n /** State used to show/hide day picker */\n const [isDayPickerVisible, setIsDayPickerVisible] = React.useState(() =>\n showMonthPickerAsOverlayState ? true : isDayPickerVisibleProp ?? true,\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 const { targetDocument } = useFluent();\n const win = targetDocument?.defaultView;\n\n const focus = React.useCallback(() => {\n if (isDayPickerVisible && dayPicker.current) {\n focusAsync(dayPicker.current, win);\n } else if (isMonthPickerVisible && monthPicker.current) {\n focusAsync(monthPicker.current, win);\n }\n }, [isDayPickerVisible, isMonthPickerVisible, win]);\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: todayProp,\n value,\n workWeekDays = defaultWorkWeekDays,\n } = props;\n\n const today = React.useMemo(() => {\n return todayProp ?? new Date();\n }, [todayProp]);\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 showMonthPickerAsOverlay = useShowMonthPickerAsOverlay({\n isDayPickerVisible: isDayPickerVisibleProp,\n showMonthPickerAsOverlay: showMonthPickerAsOverlayProp,\n });\n\n const onHeaderSelect = showMonthPickerAsOverlay\n ? (): void => {\n toggleDayMonthPickerVisibility();\n\n focusOnNextUpdate();\n }\n : undefined;\n\n const onGotoToday = (): void => {\n navigateDay(today!);\n if (showMonthPickerAsOverlay && isMonthPickerVisible) {\n toggleDayMonthPickerVisibility();\n }\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\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 navigationIcons={defaultNavigationIcons}\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 navigationIcons={defaultNavigationIcons}\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\nconst useShowMonthPickerAsOverlay = ({ isDayPickerVisible, showMonthPickerAsOverlay }: CalendarProps) => {\n const { targetDocument } = useFluent();\n const win = targetDocument?.defaultView;\n return showMonthPickerAsOverlay || (isDayPickerVisible && win && win.innerWidth <= MIN_SIZE_FORCE_OVERLAY);\n};\n"],"names":["React","Backspace","Enter","Escape","PageDown","PageUp","Space","useControllableState","useFluent_unstable","useFluent","addMonths","addYears","DateRangeType","DayOfWeek","DEFAULT_CALENDAR_STRINGS","DEFAULT_DATE_FORMATTING","FirstWeekOfYear","focusAsync","CalendarDay","CalendarMonth","defaultNavigationIcons","useCalendarStyles_unstable","MIN_SIZE_FORCE_OVERLAY","defaultWorkWeekDays","Monday","Tuesday","Wednesday","Thursday","Friday","useDateState","props","value","today","todayProp","onSelectDate","useMemo","Date","selectedDate","setSelectedDate","state","defaultState","undefined","initialState","navigatedDay","setNavigatedDay","useState","navigatedMonth","setNavigatedMonth","lastSelectedDate","setLastSelectedDate","valueOf","navigateMonth","date","navigateDay","onDateSelected","selectedDateRangeArray","useVisibilityState","isDayPickerVisible","isDayPickerVisibleProp","isMonthPickerVisible","isMonthPickerVisibleProp","showMonthPickerAsOverlay","showMonthPickerAsOverlayState","useShowMonthPickerAsOverlay","setIsMonthPickerVisible","setIsDayPickerVisible","toggleDayMonthPickerVisibility","useFocusLogic","componentRef","dayPicker","useRef","monthPicker","focusOnUpdate","targetDocument","win","defaultView","focus","useCallback","current","useImperativeHandle","useEffect","focusOnNextUpdate","Calendar","forwardRef","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","navigationIcons","divider","monthPickerWrapper","displayName","innerWidth"],"mappings":"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"}
@@ -18,14 +18,16 @@ const useRootStyles = /*#__PURE__*/__styles({
18
18
  normalize: {
19
19
  E5pizo: "f1couhl3",
20
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"]
21
+ jrapky: 0,
22
+ Frg6f3: 0,
23
+ t21cq0: 0,
24
+ B6of3ja: 0,
25
+ B74szlk: "f1s184ao",
26
+ Byoj8tv: 0,
27
+ uwmqm3: 0,
28
+ z189sj: 0,
29
+ z8tnut: 0,
30
+ B0ocmuz: "f1mk8lai"
29
31
  },
30
32
  monthPickerNotVisible: {
31
33
  Beiy3e4: "f1vx9l62"
@@ -40,20 +42,26 @@ const useRootStyles = /*#__PURE__*/__styles({
40
42
  a9b677: "fcarq7f"
41
43
  }
42
44
  }, {
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;}"]
45
+ d: [".f22iagw{display:flex;}", ".f13dwy2t{width:220px;}", ".f1couhl3{box-shadow:none;}", ".f1ewtqcl{box-sizing:border-box;}", [".f1s184ao{margin:0;}", {
46
+ p: -1
47
+ }], [".f1mk8lai{padding:0;}", {
48
+ p: -1
49
+ }], ".f1vx9l62{flex-direction:column;}", ".fcy5b15{width:440px;}", ".fhsg0in{width:250px;}", ".fcarq7f{width:470px;}"]
44
50
  });
45
51
  const useDividerStyles = /*#__PURE__*/__styles({
46
52
  base: {
47
- g2u3we: "f68mrw8",
48
- h3c5rm: ["f7pw515", "fw35ms5"],
49
- B9xav0g: "frpde29",
50
- zhjwy3: ["fw35ms5", "f7pw515"],
51
- Bekrc4i: ["f1hqa2wf", "finvdd3"],
52
- vrafjx: ["fcdblym", "fjik90z"],
53
+ h3c5rm: 0,
54
+ vrafjx: 0,
55
+ Bekrc4i: 0,
56
+ u1mtju: ["fe2nn5g", "f1rcbay7"],
53
57
  Bhzewxz: "f15twtuk"
54
58
  }
55
59
  }, {
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;}"]
60
+ d: [[".fe2nn5g{border-right:1px solid var(--colorNeutralStroke2);}", {
61
+ p: -1
62
+ }], [".f1rcbay7{border-left:1px solid var(--colorNeutralStroke2);}", {
63
+ p: -1
64
+ }], ".f15twtuk{top:0;}"]
57
65
  });
58
66
  const useMonthPickerWrapperStyles = /*#__PURE__*/__styles({
59
67
  base: {
@@ -80,64 +88,92 @@ const useGoTodayButtonStyles = /*#__PURE__*/__styles({
80
88
  Bg96gwp: "fpfng1i",
81
89
  t21cq0: ["f17vyym1", "fb5scp"],
82
90
  B6of3ja: "f4gg0ds",
83
- B68tc82: "f1mtd64y",
84
- Bmxbyg5: "f1y7q3j9",
85
- z8tnut: "f1g0x7ka",
86
- z189sj: ["f8wuabp", "fycuoez"],
87
- Byoj8tv: "f1qch9an",
88
- uwmqm3: ["fycuoez", "f8wuabp"],
91
+ B68tc82: 0,
92
+ Bmxbyg5: 0,
93
+ Bpg54ce: "f1gl81tg",
94
+ Byoj8tv: 0,
95
+ uwmqm3: 0,
96
+ z189sj: 0,
97
+ z8tnut: 0,
98
+ B0ocmuz: "f1p2x7z2",
89
99
  seuwu7: "fvy6vk6",
90
100
  Jwef8y: "f9ql6rf",
91
101
  Bi91k9c: "f1f1pb61",
92
102
  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"],
103
+ Bx7pl5v: 0,
104
+ Bnosqey: 0,
105
+ Bv57zgv: 0,
106
+ Bbxjs3m: "fzk52v6",
107
+ knvgbf: 0,
108
+ B23s7e0: 0,
109
+ Be8uuq8: 0,
110
+ B3ons6i: 0,
111
+ Bnj8mme: "fxh1mxx",
100
112
  B2d53fq: "fc9d3oc",
101
113
  Dyrjrp: "f1cqwcg4",
102
114
  Be90el1: "fmjaa5u"
103
115
  }
104
116
  }, {
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;}"],
117
+ 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;}", [".f1gl81tg{overflow:visible;}", {
118
+ p: -1
119
+ }], [".f1p2x7z2{padding:0 4px;}", {
120
+ p: -1
121
+ }], ".fvy6vk6 div{font-size:var(--fontSizeBase200);}", ".f1cqwcg4:disabled{color:var(--colorNeutralForegroundDisabled);}", ".fmjaa5u:disabled{pointer-events:none;}"],
106
122
  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);}}", {
123
+ m: [["@media (forced-colors: active){.fzk52v6:hover{outline:var(--strokeWidthThin);}}", {
124
+ p: -1,
108
125
  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);}}", {
126
+ }], ["@media (forced-colors: active){.fxh1mxx:hover{border-radius:var(--borderRadiusSmall);}}", {
127
+ p: -1,
116
128
  m: "(forced-colors: active)"
117
129
  }]]
118
130
  });
119
131
  const useLiveRegionStyles = /*#__PURE__*/__styles({
120
132
  base: {
121
- B4j52fo: "fre7gi1",
122
- Bekrc4i: ["f1358rze", "f1rvrf73"],
123
- Bn0qgzm: "fqdk4by",
124
- ibv6hh: ["f1rvrf73", "f1358rze"],
133
+ Bgfg5da: 0,
134
+ B9xav0g: 0,
135
+ oivjwe: 0,
136
+ Bn0qgzm: 0,
137
+ B4g9neb: 0,
138
+ zhjwy3: 0,
139
+ wvpqe5: 0,
140
+ ibv6hh: 0,
141
+ u1mtju: 0,
142
+ h3c5rm: 0,
143
+ vrafjx: 0,
144
+ Bekrc4i: 0,
145
+ i8vvqc: 0,
146
+ g2u3we: 0,
147
+ icvyot: 0,
148
+ B4j52fo: 0,
149
+ irswps: "f3bhgqh",
125
150
  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"],
151
+ jrapky: 0,
152
+ Frg6f3: 0,
153
+ t21cq0: 0,
154
+ B6of3ja: 0,
155
+ B74szlk: "f1jlpb2r",
156
+ B68tc82: 0,
157
+ Bmxbyg5: 0,
158
+ Bpg54ce: "f1a3p1vp",
159
+ Byoj8tv: 0,
160
+ uwmqm3: 0,
161
+ z189sj: 0,
162
+ z8tnut: 0,
163
+ B0ocmuz: "f1mk8lai",
136
164
  qhf8xq: "f1euv43f",
137
165
  a9b677: "frkrog8"
138
166
  }
139
167
  }, {
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;}"]
168
+ d: [[".f3bhgqh{border:none;}", {
169
+ p: -2
170
+ }], ".f1mpe4l3{height:1px;}", [".f1jlpb2r{margin:-1px;}", {
171
+ p: -1
172
+ }], [".f1a3p1vp{overflow:hidden;}", {
173
+ p: -1
174
+ }], [".f1mk8lai{padding:0;}", {
175
+ p: -1
176
+ }], ".f1euv43f{position:absolute;}", ".frkrog8{width:1px;}"]
141
177
  });
142
178
  /**
143
179
  * @internal
@@ -1 +1 @@
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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","ignoreList":[]}
1
+ {"version":3,"names":["tokens","__styles","mergeClasses","shorthands","calendarClassNames","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","base","mc9l5x","a9b677","normalize","E5pizo","B7ck84d","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","monthPickerNotVisible","Beiy3e4","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","d","p","useDividerStyles","h3c5rm","vrafjx","Bekrc4i","u1mtju","Bhzewxz","useMonthPickerWrapperStyles","useGoTodayButtonStyles","qb2dma","De3pzq","icvyot","oivjwe","wvpqe5","B5kzvoi","sj55zd","Bahqtrf","Be2twd7","Bqenvij","Bg96gwp","B68tc82","Bmxbyg5","Bpg54ce","seuwu7","Jwef8y","Bi91k9c","eoavqd","Bx7pl5v","Bnosqey","Bv57zgv","Bbxjs3m","knvgbf","B23s7e0","Be8uuq8","B3ons6i","Bnj8mme","B2d53fq","Dyrjrp","Be90el1","h","m","useLiveRegionStyles","Bgfg5da","B9xav0g","Bn0qgzm","B4g9neb","zhjwy3","ibv6hh","i8vvqc","g2u3we","B4j52fo","irswps","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 margin: '0',\n 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 borderRight: `1px solid ${tokens.colorNeutralStroke2}`,\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 overflow: 'visible',\n 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 outline: tokens.strokeWidthThin,\n 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 border: 'none',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n 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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","ignoreList":[]}