@fluentui/react-calendar-compat 0.3.9 → 0.3.11

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 (90) hide show
  1. package/CHANGELOG.md +27 -2
  2. package/lib/components/Calendar/Calendar.js +1 -0
  3. package/lib/components/Calendar/Calendar.js.map +1 -1
  4. package/lib/components/Calendar/useCalendarStyles.styles.js +2 -0
  5. package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -1
  6. package/lib/components/Calendar/useCalendarStyles.styles.raw.js +1 -0
  7. package/lib/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -1
  8. package/lib/components/CalendarDay/CalendarDay.js +1 -0
  9. package/lib/components/CalendarDay/CalendarDay.js.map +1 -1
  10. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +2 -0
  11. package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -1
  12. package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js +1 -0
  13. package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -1
  14. package/lib/components/CalendarDayGrid/CalendarDayGrid.js +1 -0
  15. package/lib/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -1
  16. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +1 -0
  17. package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
  18. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +2 -0
  19. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
  20. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +1 -0
  21. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -1
  22. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js +2 -0
  23. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -1
  24. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js +1 -0
  25. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js.map +1 -1
  26. package/lib/components/CalendarDayGrid/useWeeks.js +1 -0
  27. package/lib/components/CalendarDayGrid/useWeeks.js.map +1 -1
  28. package/lib/components/CalendarMonth/CalendarMonth.js +1 -0
  29. package/lib/components/CalendarMonth/CalendarMonth.js.map +1 -1
  30. package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.js +2 -0
  31. package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.js.map +1 -1
  32. package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +1 -0
  33. package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -1
  34. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +2 -0
  35. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -1
  36. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +1 -0
  37. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -1
  38. package/lib/components/CalendarYear/CalendarYear.js +2 -5
  39. package/lib/components/CalendarYear/CalendarYear.js.map +1 -1
  40. package/lib/components/CalendarYear/useCalendarYearStyles.styles.js +2 -0
  41. package/lib/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -1
  42. package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js +1 -0
  43. package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -1
  44. package/lib/utils/dateMath/dateMath.js +14 -3
  45. package/lib/utils/dateMath/dateMath.js.map +1 -1
  46. package/lib-commonjs/components/Calendar/Calendar.js +1 -0
  47. package/lib-commonjs/components/Calendar/Calendar.js.map +1 -1
  48. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +1 -0
  49. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -1
  50. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js +1 -0
  51. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -1
  52. package/lib-commonjs/components/CalendarDay/CalendarDay.js +1 -0
  53. package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -1
  54. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +1 -0
  55. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -1
  56. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js +1 -0
  57. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -1
  58. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js +1 -0
  59. package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -1
  60. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +1 -0
  61. package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
  62. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +1 -0
  63. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
  64. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +1 -0
  65. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -1
  66. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js +1 -0
  67. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -1
  68. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js +1 -0
  69. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js.map +1 -1
  70. package/lib-commonjs/components/CalendarDayGrid/useWeeks.js +1 -0
  71. package/lib-commonjs/components/CalendarDayGrid/useWeeks.js.map +1 -1
  72. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js +1 -0
  73. package/lib-commonjs/components/CalendarMonth/CalendarMonth.js.map +1 -1
  74. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.js +1 -0
  75. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.js.map +1 -1
  76. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +1 -0
  77. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -1
  78. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +1 -0
  79. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -1
  80. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +1 -0
  81. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -1
  82. package/lib-commonjs/components/CalendarYear/CalendarYear.js +2 -5
  83. package/lib-commonjs/components/CalendarYear/CalendarYear.js.map +1 -1
  84. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js +1 -0
  85. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -1
  86. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js +1 -0
  87. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -1
  88. package/lib-commonjs/utils/dateMath/dateMath.js +14 -3
  89. package/lib-commonjs/utils/dateMath/dateMath.js.map +1 -1
  90. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,12 +1,37 @@
1
1
  # Change Log - @fluentui/react-calendar-compat
2
2
 
3
- This log was last generated on Mon, 08 Sep 2025 12:42:05 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 08 Oct 2025 12:00:20 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [0.3.11](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.3.11)
8
+
9
+ Wed, 08 Oct 2025 12:00:20 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.3.10..@fluentui/react-calendar-compat_v0.3.11)
11
+
12
+ ### Patches
13
+
14
+ - Bump @fluentui/react-jsx-runtime to v9.2.2 ([PR #35294](https://github.com/microsoft/fluentui/pull/35294) by beachball)
15
+ - Bump @fluentui/react-tabster to v9.26.7 ([PR #35294](https://github.com/microsoft/fluentui/pull/35294) by beachball)
16
+ - Bump @fluentui/react-utilities to v9.25.1 ([PR #35294](https://github.com/microsoft/fluentui/pull/35294) by beachball)
17
+
18
+ ## [0.3.10](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.3.10)
19
+
20
+ Thu, 02 Oct 2025 15:12:13 GMT
21
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.3.9..@fluentui/react-calendar-compat_v0.3.10)
22
+
23
+ ### Patches
24
+
25
+ - feat: added reverse Date selection ([PR #34541](https://github.com/microsoft/fluentui/pull/34541) by vkozlova@microsoft.com)
26
+ - feat: enforce usage of use client directive for files with client-only features ([PR #35173](https://github.com/microsoft/fluentui/pull/35173) by dmytrokirpa@microsoft.com)
27
+ - Bump @fluentui/react-jsx-runtime to v9.2.1 ([PR #35133](https://github.com/microsoft/fluentui/pull/35133) by beachball)
28
+ - Bump @fluentui/react-shared-contexts to v9.25.2 ([PR #35133](https://github.com/microsoft/fluentui/pull/35133) by beachball)
29
+ - Bump @fluentui/react-tabster to v9.26.6 ([PR #35133](https://github.com/microsoft/fluentui/pull/35133) by beachball)
30
+ - Bump @fluentui/react-utilities to v9.25.0 ([PR #35133](https://github.com/microsoft/fluentui/pull/35133) by beachball)
31
+
7
32
  ## [0.3.9](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.3.9)
8
33
 
9
- Mon, 08 Sep 2025 12:42:05 GMT
34
+ Mon, 08 Sep 2025 12:51:26 GMT
10
35
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.3.8..@fluentui/react-calendar-compat_v0.3.9)
11
36
 
12
37
  ### Patches
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import * as React from 'react';
2
3
  import { Backspace, Enter, Escape, PageDown, PageUp, Space } from '@fluentui/keyboard-keys';
3
4
  import { useControllableState } from '@fluentui/react-utilities';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Calendar/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 id={id} ref={forwardedRef} className={classes.root} onKeyDown={onDatePickerPopupKeyDown}>\n <div className={classes.liveRegion} aria-live=\"polite\" aria-atomic=\"true\">\n <span>{selectedDateString}</span>\n </div>\n {isDayPickerVisible && (\n <CalendarDay\n gridLabel={selectionAndTodayString}\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","root","liveRegion","aria-live","aria-atomic","span","gridLabel","navigatedDate","onNavigateDate","navigationIcons","divider","monthPickerWrapper","displayName","innerWidth"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/Calendar/Calendar.tsx"],"sourcesContent":["'use client';\n\nimport * 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 id={id} ref={forwardedRef} className={classes.root} onKeyDown={onDatePickerPopupKeyDown}>\n <div className={classes.liveRegion} aria-live=\"polite\" aria-atomic=\"true\">\n <span>{selectedDateString}</span>\n </div>\n {isDayPickerVisible && (\n <CalendarDay\n gridLabel={selectionAndTodayString}\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","root","liveRegion","aria-live","aria-atomic","span","gridLabel","navigatedDate","onNavigateDate","navigationIcons","divider","monthPickerWrapper","displayName","innerWidth"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import { tokens } from '@fluentui/react-theme';
2
4
  import { __styles, mergeClasses, shorthands } from '@griffel/react';
3
5
  /**
@@ -1 +1 @@
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 'use no memo';\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":["'use client';\nimport { 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 'use no memo';\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,3 +1,4 @@
1
+ 'use client';
1
2
  import { tokens } from '@fluentui/react-theme';
2
3
  import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
3
4
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Calendar/useCalendarStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarStyles, CalendarStyleProps } from './Calendar.types';\n\n/**\n * @internal\n */\nexport const calendarClassNames: SlotClassNames<CalendarStyles> = {\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};\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});\n\nconst useDividerStyles = makeStyles({\n base: {\n borderRight: `1px solid ${tokens.colorNeutralStroke2}`,\n top: 0,\n },\n});\n\nconst useMonthPickerWrapperStyles = makeStyles({\n base: {\n display: 'flex',\n flexDirection: 'column',\n },\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\n '& div': {\n fontSize: tokens.fontSizeBase200,\n },\n '&:hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorBrandForeground1,\n cursor: 'pointer',\n\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});\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/**\n * @internal\n *\n * Apply styling to the Calendar slots based on the state\n */\nexport const useCalendarStyles_unstable = (props: CalendarStyleProps): CalendarStyles => {\n 'use no memo';\n\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n const monthPickerWrapperStyles = useMonthPickerWrapperStyles();\n const goTodayButtonStyles = useGoTodayButtonStyles();\n const liveRegionStyles = useLiveRegionStyles();\n\n const { className, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarClassNames.root,\n rootStyles.base,\n rootStyles.normalize,\n !isMonthPickerVisible && rootStyles.monthPickerNotVisible,\n isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible,\n isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown,\n isDayPickerVisible &&\n isMonthPickerVisible &&\n showWeekNumbers &&\n rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown,\n className,\n ),\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"],"names":["tokens","makeStyles","mergeClasses","shorthands","calendarClassNames","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","base","display","width","normalize","boxShadow","boxSizing","margin","padding","monthPickerNotVisible","flexDirection","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","useDividerStyles","borderRight","colorNeutralStroke2","top","useMonthPickerWrapperStyles","useGoTodayButtonStyles","alignSelf","backgroundColor","colorTransparentBackground","borderStyle","bottom","color","colorNeutralForeground1","fontFamily","fontSize","fontSizeBase200","height","lineHeight","marginRight","marginTop","overflow","colorBrandForeground1","cursor","outline","strokeWidthThin","borderRadius","borderRadiusSmall","colorBrandForeground2","colorNeutralForegroundDisabled","pointerEvents","useLiveRegionStyles","border","position","useCalendarStyles_unstable","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers"],"mappings":"AAAA,SAASA,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAItE;;CAEC,GACD,OAAO,MAAMC,qBAAqD;IAChEC,MAAM;IACNC,SAAS;IACTC,eAAe;IACfC,oBAAoB;IACpBC,YAAY;AACd,EAAE;AAEF,MAAMC,gBAAgBT,WAAW;IAC/BU,MAAM;QACJC,SAAS;QACTC,OAAO;IACT;IACAC,WAAW;QACTC,WAAW;QACXC,WAAW;QACXC,QAAQ;QACRC,SAAS;IACX;IACAC,uBAAuB;QACrBC,eAAe;IACjB;IACAC,2BAA2B;QACzBR,OAAO;IACT;IACAS,qCAAqC;QACnCT,OAAO;IACT;IACAU,8CAA8C;QAC5CV,OAAO;IACT;AACF;AAEA,MAAMW,mBAAmBvB,WAAW;IAClCU,MAAM;QACJc,aAAa,CAAC,UAAU,EAAEzB,OAAO0B,mBAAmB,EAAE;QACtDC,KAAK;IACP;AACF;AAEA,MAAMC,8BAA8B3B,WAAW;IAC7CU,MAAM;QACJC,SAAS;QACTQ,eAAe;IACjB;AACF;AAEA,MAAMS,yBAAyB5B,WAAW;IACxCU,MAAM;QACJmB,WAAW;QACXC,iBAAiB/B,OAAOgC,0BAA0B;QAClD,GAAG7B,WAAW8B,WAAW,CAAC,OAAO;QACjCC,QAAQ;QACRlB,WAAW;QACXmB,OAAOnC,OAAOoC,uBAAuB;QACrCC,YAAY;QACZC,UAAUtC,OAAOuC,eAAe;QAChCC,QAAQ;QACRC,YAAY;QACZC,aAAa;QACbC,WAAW;QACXC,UAAU;QACV1B,SAAS;QAET,SAAS;YACPoB,UAAUtC,OAAOuC,eAAe;QAClC;QACA,WAAW;YACTR,iBAAiB/B,OAAOgC,0BAA0B;YAClDG,OAAOnC,OAAO6C,qBAAqB;YACnCC,QAAQ;YAER,kCAAkC;gBAChCC,SAAS/C,OAAOgD,eAAe;gBAC/BC,cAAcjD,OAAOkD,iBAAiB;YACxC;QACF;QACA,kBAAkB;YAChBf,OAAOnC,OAAOmD,qBAAqB;QACrC;QACA,cAAc;YACZhB,OAAOnC,OAAOoD,8BAA8B;YAC5CC,eAAe;QACjB;IACF;AACF;AAEA,MAAMC,sBAAsBrD,WAAW;IACrCU,MAAM;QACJ4C,QAAQ;QACRf,QAAQ;QACRvB,QAAQ;QACR2B,UAAU;QACV1B,SAAS;QACTsC,UAAU;QACV3C,OAAO;IACT;AACF;AAEA;;;;CAIC,GACD,OAAO,MAAM4C,6BAA6B,CAACC;IACzC;IAEA,MAAMC,aAAajD;IACnB,MAAMkD,gBAAgBpC;IACtB,MAAMqC,2BAA2BjC;IACjC,MAAMkC,sBAAsBjC;IAC5B,MAAMkC,mBAAmBT;IAEzB,MAAM,EAAEU,SAAS,EAAEC,kBAAkB,EAAEC,oBAAoB,EAAEC,eAAe,EAAE,GAAGT;IAEjF,OAAO;QACLrD,MAAMH,aACJE,mBAAmBC,IAAI,EACvBsD,WAAWhD,IAAI,EACfgD,WAAW7C,SAAS,EACpB,CAACoD,wBAAwBP,WAAWxC,qBAAqB,EACzD8C,sBAAsBC,wBAAwB,CAACC,mBAAmBR,WAAWtC,yBAAyB,EACtG4C,sBAAsB,CAACC,wBAAwBC,mBAAmBR,WAAWrC,mCAAmC,EAChH2C,sBACEC,wBACAC,mBACAR,WAAWpC,4CAA4C,EACzDyC;QAEF1D,SAASJ,aAAaE,mBAAmBE,OAAO,EAAEsD,cAAcjD,IAAI;QACpEH,oBAAoBN,aAAaE,mBAAmBI,kBAAkB,EAAEqD,yBAAyBlD,IAAI;QACrGJ,eAAeL,aAAaE,mBAAmBG,aAAa,EAAEuD,oBAAoBnD,IAAI;QACtFF,YAAYP,aAAaE,mBAAmBK,UAAU,EAAEsD,iBAAiBpD,IAAI;IAC/E;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/Calendar/useCalendarStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarStyles, CalendarStyleProps } from './Calendar.types';\n\n/**\n * @internal\n */\nexport const calendarClassNames: SlotClassNames<CalendarStyles> = {\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};\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});\n\nconst useDividerStyles = makeStyles({\n base: {\n borderRight: `1px solid ${tokens.colorNeutralStroke2}`,\n top: 0,\n },\n});\n\nconst useMonthPickerWrapperStyles = makeStyles({\n base: {\n display: 'flex',\n flexDirection: 'column',\n },\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\n '& div': {\n fontSize: tokens.fontSizeBase200,\n },\n '&:hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorBrandForeground1,\n cursor: 'pointer',\n\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});\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/**\n * @internal\n *\n * Apply styling to the Calendar slots based on the state\n */\nexport const useCalendarStyles_unstable = (props: CalendarStyleProps): CalendarStyles => {\n 'use no memo';\n\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n const monthPickerWrapperStyles = useMonthPickerWrapperStyles();\n const goTodayButtonStyles = useGoTodayButtonStyles();\n const liveRegionStyles = useLiveRegionStyles();\n\n const { className, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarClassNames.root,\n rootStyles.base,\n rootStyles.normalize,\n !isMonthPickerVisible && rootStyles.monthPickerNotVisible,\n isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible,\n isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown,\n isDayPickerVisible &&\n isMonthPickerVisible &&\n showWeekNumbers &&\n rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown,\n className,\n ),\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"],"names":["tokens","makeStyles","mergeClasses","shorthands","calendarClassNames","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","base","display","width","normalize","boxShadow","boxSizing","margin","padding","monthPickerNotVisible","flexDirection","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","useDividerStyles","borderRight","colorNeutralStroke2","top","useMonthPickerWrapperStyles","useGoTodayButtonStyles","alignSelf","backgroundColor","colorTransparentBackground","borderStyle","bottom","color","colorNeutralForeground1","fontFamily","fontSize","fontSizeBase200","height","lineHeight","marginRight","marginTop","overflow","colorBrandForeground1","cursor","outline","strokeWidthThin","borderRadius","borderRadiusSmall","colorBrandForeground2","colorNeutralForegroundDisabled","pointerEvents","useLiveRegionStyles","border","position","useCalendarStyles_unstable","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers"],"mappings":"AAAA;AAEA,SAASA,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,UAAU,EAAEC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAItE;;CAEC,GACD,OAAO,MAAMC,qBAAqD;IAChEC,MAAM;IACNC,SAAS;IACTC,eAAe;IACfC,oBAAoB;IACpBC,YAAY;AACd,EAAE;AAEF,MAAMC,gBAAgBT,WAAW;IAC/BU,MAAM;QACJC,SAAS;QACTC,OAAO;IACT;IACAC,WAAW;QACTC,WAAW;QACXC,WAAW;QACXC,QAAQ;QACRC,SAAS;IACX;IACAC,uBAAuB;QACrBC,eAAe;IACjB;IACAC,2BAA2B;QACzBR,OAAO;IACT;IACAS,qCAAqC;QACnCT,OAAO;IACT;IACAU,8CAA8C;QAC5CV,OAAO;IACT;AACF;AAEA,MAAMW,mBAAmBvB,WAAW;IAClCU,MAAM;QACJc,aAAa,CAAC,UAAU,EAAEzB,OAAO0B,mBAAmB,EAAE;QACtDC,KAAK;IACP;AACF;AAEA,MAAMC,8BAA8B3B,WAAW;IAC7CU,MAAM;QACJC,SAAS;QACTQ,eAAe;IACjB;AACF;AAEA,MAAMS,yBAAyB5B,WAAW;IACxCU,MAAM;QACJmB,WAAW;QACXC,iBAAiB/B,OAAOgC,0BAA0B;QAClD,GAAG7B,WAAW8B,WAAW,CAAC,OAAO;QACjCC,QAAQ;QACRlB,WAAW;QACXmB,OAAOnC,OAAOoC,uBAAuB;QACrCC,YAAY;QACZC,UAAUtC,OAAOuC,eAAe;QAChCC,QAAQ;QACRC,YAAY;QACZC,aAAa;QACbC,WAAW;QACXC,UAAU;QACV1B,SAAS;QAET,SAAS;YACPoB,UAAUtC,OAAOuC,eAAe;QAClC;QACA,WAAW;YACTR,iBAAiB/B,OAAOgC,0BAA0B;YAClDG,OAAOnC,OAAO6C,qBAAqB;YACnCC,QAAQ;YAER,kCAAkC;gBAChCC,SAAS/C,OAAOgD,eAAe;gBAC/BC,cAAcjD,OAAOkD,iBAAiB;YACxC;QACF;QACA,kBAAkB;YAChBf,OAAOnC,OAAOmD,qBAAqB;QACrC;QACA,cAAc;YACZhB,OAAOnC,OAAOoD,8BAA8B;YAC5CC,eAAe;QACjB;IACF;AACF;AAEA,MAAMC,sBAAsBrD,WAAW;IACrCU,MAAM;QACJ4C,QAAQ;QACRf,QAAQ;QACRvB,QAAQ;QACR2B,UAAU;QACV1B,SAAS;QACTsC,UAAU;QACV3C,OAAO;IACT;AACF;AAEA;;;;CAIC,GACD,OAAO,MAAM4C,6BAA6B,CAACC;IACzC;IAEA,MAAMC,aAAajD;IACnB,MAAMkD,gBAAgBpC;IACtB,MAAMqC,2BAA2BjC;IACjC,MAAMkC,sBAAsBjC;IAC5B,MAAMkC,mBAAmBT;IAEzB,MAAM,EAAEU,SAAS,EAAEC,kBAAkB,EAAEC,oBAAoB,EAAEC,eAAe,EAAE,GAAGT;IAEjF,OAAO;QACLrD,MAAMH,aACJE,mBAAmBC,IAAI,EACvBsD,WAAWhD,IAAI,EACfgD,WAAW7C,SAAS,EACpB,CAACoD,wBAAwBP,WAAWxC,qBAAqB,EACzD8C,sBAAsBC,wBAAwB,CAACC,mBAAmBR,WAAWtC,yBAAyB,EACtG4C,sBAAsB,CAACC,wBAAwBC,mBAAmBR,WAAWrC,mCAAmC,EAChH2C,sBACEC,wBACAC,mBACAR,WAAWpC,4CAA4C,EACzDyC;QAEF1D,SAASJ,aAAaE,mBAAmBE,OAAO,EAAEsD,cAAcjD,IAAI;QACpEH,oBAAoBN,aAAaE,mBAAmBI,kBAAkB,EAAEqD,yBAAyBlD,IAAI;QACrGJ,eAAeL,aAAaE,mBAAmBG,aAAa,EAAEuD,oBAAoBnD,IAAI;QACtFF,YAAYP,aAAaE,mBAAmBK,UAAU,EAAEsD,iBAAiBpD,IAAI;IAC/E;AACF,EAAE"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import * as React from 'react';
2
3
  import { Enter } from '@fluentui/keyboard-keys';
3
4
  import { mergeClasses } from '@griffel/react';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Enter } from '@fluentui/keyboard-keys';\nimport { mergeClasses } from '@griffel/react';\nimport { addMonths, compareDatePart, getMonthEnd, getMonthStart } from '../../utils';\nimport { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';\nimport { useCalendarDayStyles_unstable } from './useCalendarDayStyles.styles';\nimport type { ICalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid.types';\nimport type { CalendarDayProps, CalendarDayStyles } from './CalendarDay.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\n/**\n * @internal\n */\nexport const CalendarDay: React.FunctionComponent<CalendarDayProps> = props => {\n const dayGrid = React.useRef<ICalendarDayGrid>(null);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n dayGrid.current?.focus?.();\n },\n }),\n [],\n );\n\n const {\n strings,\n gridLabel,\n navigatedDate,\n dateTimeFormatter,\n className,\n onHeaderSelect,\n showSixWeeksByDefault,\n minDate,\n maxDate,\n restrictedDates,\n onNavigateDate,\n showWeekNumbers,\n dateRangeType,\n animationDirection,\n } = props;\n\n const classNames = useCalendarDayStyles_unstable({\n className,\n headerIsClickable: !!onHeaderSelect,\n showWeekNumbers,\n animationDirection,\n });\n\n const monthAndYear = dateTimeFormatter.formatMonthYear(navigatedDate, strings);\n const HeaderButtonComponentType = onHeaderSelect ? 'button' : 'div';\n const headerAriaLabel = strings.yearPickerHeaderAriaLabel\n ? strings.yearPickerHeaderAriaLabel.replace('{0}', monthAndYear)\n : monthAndYear;\n\n const { ...propsWithoutStyles } = props;\n\n return (\n <div className={classNames.root}>\n <div className={classNames.header}>\n <HeaderButtonComponentType\n aria-label={onHeaderSelect ? headerAriaLabel : undefined}\n className={classNames.monthAndYear}\n onClick={onHeaderSelect}\n tabIndex={onHeaderSelect ? 0 : -1} // prevent focus if there's no action for the button\n onKeyDown={onButtonKeyDown(onHeaderSelect)}\n type=\"button\"\n >\n <span aria-live=\"polite\" aria-atomic=\"true\">\n {monthAndYear}\n </span>\n </HeaderButtonComponentType>\n <CalendarDayNavigationButtons {...props} classNames={classNames} />\n </div>\n <CalendarDayGrid\n {...propsWithoutStyles}\n gridLabel={`${monthAndYear}, ${gridLabel}`}\n componentRef={dayGrid}\n strings={strings}\n navigatedDate={navigatedDate!}\n weeksToShow={showSixWeeksByDefault ? 6 : undefined}\n dateTimeFormatter={dateTimeFormatter!}\n minDate={minDate}\n maxDate={maxDate}\n restrictedDates={restrictedDates}\n onNavigateDate={onNavigateDate}\n dateRangeType={dateRangeType}\n />\n </div>\n );\n};\nCalendarDay.displayName = 'CalendarDay';\n\ninterface CalendarDayNavigationButtonsProps extends CalendarDayProps {\n classNames: Record<keyof CalendarDayStyles, string>;\n}\n\nconst CalendarDayNavigationButtons = (props: CalendarDayNavigationButtonsProps): JSXElement => {\n const {\n minDate,\n maxDate,\n navigatedDate,\n navigationIcons,\n allFocusable,\n strings,\n showCloseButton,\n classNames,\n onNavigateDate,\n onDismiss,\n } = props;\n\n const onSelectNextMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, 1), false);\n };\n\n const onSelectPrevMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, -1), false);\n };\n\n // determine if previous/next months are in bounds\n const prevMonthInBounds = minDate ? compareDatePart(minDate, getMonthStart(navigatedDate)) < 0 : true;\n const nextMonthInBounds = maxDate ? compareDatePart(getMonthEnd(navigatedDate), maxDate) < 0 : true;\n\n // use aria-disabled instead of disabled so focus is not lost\n // when a prev/next button becomes disabled after being clicked\n return (\n <div className={classNames.monthComponents}>\n <button\n className={mergeClasses(classNames.headerIconButton, !prevMonthInBounds && classNames.disabledStyle)}\n tabIndex={prevMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!prevMonthInBounds}\n onClick={prevMonthInBounds ? onSelectPrevMonth : undefined}\n onKeyDown={prevMonthInBounds ? onButtonKeyDown(onSelectPrevMonth) : undefined}\n title={\n strings.prevMonthAriaLabel\n ? strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, -1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.upNavigation}\n </button>\n <button\n className={mergeClasses(classNames.headerIconButton, !nextMonthInBounds && classNames.disabledStyle)}\n tabIndex={nextMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!nextMonthInBounds}\n onClick={nextMonthInBounds ? onSelectNextMonth : undefined}\n onKeyDown={nextMonthInBounds ? onButtonKeyDown(onSelectNextMonth) : undefined}\n title={\n strings.nextMonthAriaLabel\n ? strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, 1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.downNavigation}\n </button>\n {showCloseButton && (\n <button\n className={classNames.headerIconButton}\n onClick={onDismiss}\n onKeyDown={onButtonKeyDown(onDismiss)}\n title={strings.closeButtonAriaLabel}\n type=\"button\"\n >\n {navigationIcons.dismiss}\n </button>\n )}\n </div>\n );\n};\nCalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';\n\nconst onButtonKeyDown =\n (callback?: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => void) =>\n (ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n switch (ev.key) {\n case Enter:\n callback?.();\n break;\n }\n };\n"],"names":["React","Enter","mergeClasses","addMonths","compareDatePart","getMonthEnd","getMonthStart","CalendarDayGrid","useCalendarDayStyles_unstable","CalendarDay","props","dayGrid","useRef","useImperativeHandle","componentRef","focus","current","strings","gridLabel","navigatedDate","dateTimeFormatter","className","onHeaderSelect","showSixWeeksByDefault","minDate","maxDate","restrictedDates","onNavigateDate","showWeekNumbers","dateRangeType","animationDirection","classNames","headerIsClickable","monthAndYear","formatMonthYear","HeaderButtonComponentType","headerAriaLabel","yearPickerHeaderAriaLabel","replace","propsWithoutStyles","div","root","header","aria-label","undefined","onClick","tabIndex","onKeyDown","onButtonKeyDown","type","span","aria-live","aria-atomic","CalendarDayNavigationButtons","weeksToShow","displayName","navigationIcons","allFocusable","showCloseButton","onDismiss","onSelectNextMonth","onSelectPrevMonth","prevMonthInBounds","nextMonthInBounds","monthComponents","button","headerIconButton","disabledStyle","aria-disabled","title","prevMonthAriaLabel","months","getMonth","upNavigation","nextMonthAriaLabel","downNavigation","closeButtonAriaLabel","dismiss","callback","ev","key"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,KAAK,QAAQ,0BAA0B;AAChD,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,SAAS,EAAEC,eAAe,EAAEC,WAAW,EAAEC,aAAa,QAAQ,cAAc;AACrF,SAASC,eAAe,QAAQ,qCAAqC;AACrE,SAASC,6BAA6B,QAAQ,gCAAgC;AAK9E;;CAEC,GACD,OAAO,MAAMC,cAAyDC,CAAAA;IACpE,MAAMC,UAAUX,MAAMY,MAAM,CAAmB;IAE/CZ,MAAMa,mBAAmB,CACvBH,MAAMI,YAAY,EAClB,IAAO,CAAA;YACLC;oBACEJ,wBAAAA;iBAAAA,mBAAAA,QAAQK,OAAO,cAAfL,wCAAAA,yBAAAA,iBAAiBI,KAAK,cAAtBJ,6CAAAA,4BAAAA;YACF;QACF,CAAA,GACA,EAAE;IAGJ,MAAM,EACJM,OAAO,EACPC,SAAS,EACTC,aAAa,EACbC,iBAAiB,EACjBC,SAAS,EACTC,cAAc,EACdC,qBAAqB,EACrBC,OAAO,EACPC,OAAO,EACPC,eAAe,EACfC,cAAc,EACdC,eAAe,EACfC,aAAa,EACbC,kBAAkB,EACnB,GAAGpB;IAEJ,MAAMqB,aAAavB,8BAA8B;QAC/Ca;QACAW,mBAAmB,CAAC,CAACV;QACrBM;QACAE;IACF;IAEA,MAAMG,eAAeb,kBAAkBc,eAAe,CAACf,eAAeF;IACtE,MAAMkB,4BAA4Bb,iBAAiB,WAAW;IAC9D,MAAMc,kBAAkBnB,QAAQoB,yBAAyB,GACrDpB,QAAQoB,yBAAyB,CAACC,OAAO,CAAC,OAAOL,gBACjDA;IAEJ,MAAM,EAAE,GAAGM,oBAAoB,GAAG7B;IAElC,qBACE,oBAAC8B;QAAInB,WAAWU,WAAWU,IAAI;qBAC7B,oBAACD;QAAInB,WAAWU,WAAWW,MAAM;qBAC/B,oBAACP;QACCQ,cAAYrB,iBAAiBc,kBAAkBQ;QAC/CvB,WAAWU,WAAWE,YAAY;QAClCY,SAASvB;QACTwB,UAAUxB,iBAAiB,IAAI,CAAC;QAChCyB,WAAWC,gBAAgB1B;QAC3B2B,MAAK;qBAEL,oBAACC;QAAKC,aAAU;QAASC,eAAY;OAClCnB,8BAGL,oBAACoB;QAA8B,GAAG3C,KAAK;QAAEqB,YAAYA;uBAEvD,oBAACxB;QACE,GAAGgC,kBAAkB;QACtBrB,WAAW,GAAGe,aAAa,EAAE,EAAEf,WAAW;QAC1CJ,cAAcH;QACdM,SAASA;QACTE,eAAeA;QACfmC,aAAa/B,wBAAwB,IAAIqB;QACzCxB,mBAAmBA;QACnBI,SAASA;QACTC,SAASA;QACTC,iBAAiBA;QACjBC,gBAAgBA;QAChBE,eAAeA;;AAIvB,EAAE;AACFpB,YAAY8C,WAAW,GAAG;AAM1B,MAAMF,+BAA+B,CAAC3C;IACpC,MAAM,EACJc,OAAO,EACPC,OAAO,EACPN,aAAa,EACbqC,eAAe,EACfC,YAAY,EACZxC,OAAO,EACPyC,eAAe,EACf3B,UAAU,EACVJ,cAAc,EACdgC,SAAS,EACV,GAAGjD;IAEJ,MAAMkD,oBAAoB;QACxBjC,eAAexB,UAAUgB,eAAe,IAAI;IAC9C;IAEA,MAAM0C,oBAAoB;QACxBlC,eAAexB,UAAUgB,eAAe,CAAC,IAAI;IAC/C;IAEA,kDAAkD;IAClD,MAAM2C,oBAAoBtC,UAAUpB,gBAAgBoB,SAASlB,cAAca,kBAAkB,IAAI;IACjG,MAAM4C,oBAAoBtC,UAAUrB,gBAAgBC,YAAYc,gBAAgBM,WAAW,IAAI;IAE/F,6DAA6D;IAC7D,+DAA+D;IAC/D,qBACE,oBAACe;QAAInB,WAAWU,WAAWiC,eAAe;qBACxC,oBAACC;QACC5C,WAAWnB,aAAa6B,WAAWmC,gBAAgB,EAAE,CAACJ,qBAAqB/B,WAAWoC,aAAa;QACnGrB,UAAUgB,oBAAoBlB,YAAYa,eAAe,IAAI,CAAC;QAC9DW,iBAAe,CAACN;QAChBjB,SAASiB,oBAAoBD,oBAAoBjB;QACjDG,WAAWe,oBAAoBd,gBAAgBa,qBAAqBjB;QACpEyB,OACEpD,QAAQqD,kBAAkB,GACtBrD,QAAQqD,kBAAkB,GAAG,MAAMrD,QAAQsD,MAAM,CAACpE,UAAUgB,eAAe,CAAC,GAAGqD,QAAQ,GAAG,GAC1F5B;QAENK,MAAK;OAEJO,gBAAgBiB,YAAY,iBAE/B,oBAACR;QACC5C,WAAWnB,aAAa6B,WAAWmC,gBAAgB,EAAE,CAACH,qBAAqBhC,WAAWoC,aAAa;QACnGrB,UAAUiB,oBAAoBnB,YAAYa,eAAe,IAAI,CAAC;QAC9DW,iBAAe,CAACL;QAChBlB,SAASkB,oBAAoBH,oBAAoBhB;QACjDG,WAAWgB,oBAAoBf,gBAAgBY,qBAAqBhB;QACpEyB,OACEpD,QAAQyD,kBAAkB,GACtBzD,QAAQyD,kBAAkB,GAAG,MAAMzD,QAAQsD,MAAM,CAACpE,UAAUgB,eAAe,GAAGqD,QAAQ,GAAG,GACzF5B;QAENK,MAAK;OAEJO,gBAAgBmB,cAAc,GAEhCjB,iCACC,oBAACO;QACC5C,WAAWU,WAAWmC,gBAAgB;QACtCrB,SAASc;QACTZ,WAAWC,gBAAgBW;QAC3BU,OAAOpD,QAAQ2D,oBAAoB;QACnC3B,MAAK;OAEJO,gBAAgBqB,OAAO;AAKlC;AACAxB,6BAA6BE,WAAW,GAAG;AAE3C,MAAMP,kBACJ,CAAC8B,WACD,CAACC;QACC,OAAQA,GAAGC,GAAG;YACZ,KAAK/E;gBACH6E,qBAAAA,+BAAAA;gBACA;QACJ;IACF"}
1
+ {"version":3,"sources":["../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Enter } from '@fluentui/keyboard-keys';\nimport { mergeClasses } from '@griffel/react';\nimport { addMonths, compareDatePart, getMonthEnd, getMonthStart } from '../../utils';\nimport { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';\nimport { useCalendarDayStyles_unstable } from './useCalendarDayStyles.styles';\nimport type { ICalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid.types';\nimport type { CalendarDayProps, CalendarDayStyles } from './CalendarDay.types';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\n/**\n * @internal\n */\nexport const CalendarDay: React.FunctionComponent<CalendarDayProps> = props => {\n const dayGrid = React.useRef<ICalendarDayGrid>(null);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n dayGrid.current?.focus?.();\n },\n }),\n [],\n );\n\n const {\n strings,\n gridLabel,\n navigatedDate,\n dateTimeFormatter,\n className,\n onHeaderSelect,\n showSixWeeksByDefault,\n minDate,\n maxDate,\n restrictedDates,\n onNavigateDate,\n showWeekNumbers,\n dateRangeType,\n animationDirection,\n } = props;\n\n const classNames = useCalendarDayStyles_unstable({\n className,\n headerIsClickable: !!onHeaderSelect,\n showWeekNumbers,\n animationDirection,\n });\n\n const monthAndYear = dateTimeFormatter.formatMonthYear(navigatedDate, strings);\n const HeaderButtonComponentType = onHeaderSelect ? 'button' : 'div';\n const headerAriaLabel = strings.yearPickerHeaderAriaLabel\n ? strings.yearPickerHeaderAriaLabel.replace('{0}', monthAndYear)\n : monthAndYear;\n\n const { ...propsWithoutStyles } = props;\n\n return (\n <div className={classNames.root}>\n <div className={classNames.header}>\n <HeaderButtonComponentType\n aria-label={onHeaderSelect ? headerAriaLabel : undefined}\n className={classNames.monthAndYear}\n onClick={onHeaderSelect}\n tabIndex={onHeaderSelect ? 0 : -1} // prevent focus if there's no action for the button\n onKeyDown={onButtonKeyDown(onHeaderSelect)}\n type=\"button\"\n >\n <span aria-live=\"polite\" aria-atomic=\"true\">\n {monthAndYear}\n </span>\n </HeaderButtonComponentType>\n <CalendarDayNavigationButtons {...props} classNames={classNames} />\n </div>\n <CalendarDayGrid\n {...propsWithoutStyles}\n gridLabel={`${monthAndYear}, ${gridLabel}`}\n componentRef={dayGrid}\n strings={strings}\n navigatedDate={navigatedDate!}\n weeksToShow={showSixWeeksByDefault ? 6 : undefined}\n dateTimeFormatter={dateTimeFormatter!}\n minDate={minDate}\n maxDate={maxDate}\n restrictedDates={restrictedDates}\n onNavigateDate={onNavigateDate}\n dateRangeType={dateRangeType}\n />\n </div>\n );\n};\nCalendarDay.displayName = 'CalendarDay';\n\ninterface CalendarDayNavigationButtonsProps extends CalendarDayProps {\n classNames: Record<keyof CalendarDayStyles, string>;\n}\n\nconst CalendarDayNavigationButtons = (props: CalendarDayNavigationButtonsProps): JSXElement => {\n const {\n minDate,\n maxDate,\n navigatedDate,\n navigationIcons,\n allFocusable,\n strings,\n showCloseButton,\n classNames,\n onNavigateDate,\n onDismiss,\n } = props;\n\n const onSelectNextMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, 1), false);\n };\n\n const onSelectPrevMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, -1), false);\n };\n\n // determine if previous/next months are in bounds\n const prevMonthInBounds = minDate ? compareDatePart(minDate, getMonthStart(navigatedDate)) < 0 : true;\n const nextMonthInBounds = maxDate ? compareDatePart(getMonthEnd(navigatedDate), maxDate) < 0 : true;\n\n // use aria-disabled instead of disabled so focus is not lost\n // when a prev/next button becomes disabled after being clicked\n return (\n <div className={classNames.monthComponents}>\n <button\n className={mergeClasses(classNames.headerIconButton, !prevMonthInBounds && classNames.disabledStyle)}\n tabIndex={prevMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!prevMonthInBounds}\n onClick={prevMonthInBounds ? onSelectPrevMonth : undefined}\n onKeyDown={prevMonthInBounds ? onButtonKeyDown(onSelectPrevMonth) : undefined}\n title={\n strings.prevMonthAriaLabel\n ? strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, -1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.upNavigation}\n </button>\n <button\n className={mergeClasses(classNames.headerIconButton, !nextMonthInBounds && classNames.disabledStyle)}\n tabIndex={nextMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!nextMonthInBounds}\n onClick={nextMonthInBounds ? onSelectNextMonth : undefined}\n onKeyDown={nextMonthInBounds ? onButtonKeyDown(onSelectNextMonth) : undefined}\n title={\n strings.nextMonthAriaLabel\n ? strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, 1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.downNavigation}\n </button>\n {showCloseButton && (\n <button\n className={classNames.headerIconButton}\n onClick={onDismiss}\n onKeyDown={onButtonKeyDown(onDismiss)}\n title={strings.closeButtonAriaLabel}\n type=\"button\"\n >\n {navigationIcons.dismiss}\n </button>\n )}\n </div>\n );\n};\nCalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';\n\nconst onButtonKeyDown =\n (callback?: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => void) =>\n (ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n switch (ev.key) {\n case Enter:\n callback?.();\n break;\n }\n };\n"],"names":["React","Enter","mergeClasses","addMonths","compareDatePart","getMonthEnd","getMonthStart","CalendarDayGrid","useCalendarDayStyles_unstable","CalendarDay","props","dayGrid","useRef","useImperativeHandle","componentRef","focus","current","strings","gridLabel","navigatedDate","dateTimeFormatter","className","onHeaderSelect","showSixWeeksByDefault","minDate","maxDate","restrictedDates","onNavigateDate","showWeekNumbers","dateRangeType","animationDirection","classNames","headerIsClickable","monthAndYear","formatMonthYear","HeaderButtonComponentType","headerAriaLabel","yearPickerHeaderAriaLabel","replace","propsWithoutStyles","div","root","header","aria-label","undefined","onClick","tabIndex","onKeyDown","onButtonKeyDown","type","span","aria-live","aria-atomic","CalendarDayNavigationButtons","weeksToShow","displayName","navigationIcons","allFocusable","showCloseButton","onDismiss","onSelectNextMonth","onSelectPrevMonth","prevMonthInBounds","nextMonthInBounds","monthComponents","button","headerIconButton","disabledStyle","aria-disabled","title","prevMonthAriaLabel","months","getMonth","upNavigation","nextMonthAriaLabel","downNavigation","closeButtonAriaLabel","dismiss","callback","ev","key"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,KAAK,QAAQ,0BAA0B;AAChD,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,SAAS,EAAEC,eAAe,EAAEC,WAAW,EAAEC,aAAa,QAAQ,cAAc;AACrF,SAASC,eAAe,QAAQ,qCAAqC;AACrE,SAASC,6BAA6B,QAAQ,gCAAgC;AAK9E;;CAEC,GACD,OAAO,MAAMC,cAAyDC,CAAAA;IACpE,MAAMC,UAAUX,MAAMY,MAAM,CAAmB;IAE/CZ,MAAMa,mBAAmB,CACvBH,MAAMI,YAAY,EAClB,IAAO,CAAA;YACLC;oBACEJ,wBAAAA;iBAAAA,mBAAAA,QAAQK,OAAO,cAAfL,wCAAAA,yBAAAA,iBAAiBI,KAAK,cAAtBJ,6CAAAA,4BAAAA;YACF;QACF,CAAA,GACA,EAAE;IAGJ,MAAM,EACJM,OAAO,EACPC,SAAS,EACTC,aAAa,EACbC,iBAAiB,EACjBC,SAAS,EACTC,cAAc,EACdC,qBAAqB,EACrBC,OAAO,EACPC,OAAO,EACPC,eAAe,EACfC,cAAc,EACdC,eAAe,EACfC,aAAa,EACbC,kBAAkB,EACnB,GAAGpB;IAEJ,MAAMqB,aAAavB,8BAA8B;QAC/Ca;QACAW,mBAAmB,CAAC,CAACV;QACrBM;QACAE;IACF;IAEA,MAAMG,eAAeb,kBAAkBc,eAAe,CAACf,eAAeF;IACtE,MAAMkB,4BAA4Bb,iBAAiB,WAAW;IAC9D,MAAMc,kBAAkBnB,QAAQoB,yBAAyB,GACrDpB,QAAQoB,yBAAyB,CAACC,OAAO,CAAC,OAAOL,gBACjDA;IAEJ,MAAM,EAAE,GAAGM,oBAAoB,GAAG7B;IAElC,qBACE,oBAAC8B;QAAInB,WAAWU,WAAWU,IAAI;qBAC7B,oBAACD;QAAInB,WAAWU,WAAWW,MAAM;qBAC/B,oBAACP;QACCQ,cAAYrB,iBAAiBc,kBAAkBQ;QAC/CvB,WAAWU,WAAWE,YAAY;QAClCY,SAASvB;QACTwB,UAAUxB,iBAAiB,IAAI,CAAC;QAChCyB,WAAWC,gBAAgB1B;QAC3B2B,MAAK;qBAEL,oBAACC;QAAKC,aAAU;QAASC,eAAY;OAClCnB,8BAGL,oBAACoB;QAA8B,GAAG3C,KAAK;QAAEqB,YAAYA;uBAEvD,oBAACxB;QACE,GAAGgC,kBAAkB;QACtBrB,WAAW,GAAGe,aAAa,EAAE,EAAEf,WAAW;QAC1CJ,cAAcH;QACdM,SAASA;QACTE,eAAeA;QACfmC,aAAa/B,wBAAwB,IAAIqB;QACzCxB,mBAAmBA;QACnBI,SAASA;QACTC,SAASA;QACTC,iBAAiBA;QACjBC,gBAAgBA;QAChBE,eAAeA;;AAIvB,EAAE;AACFpB,YAAY8C,WAAW,GAAG;AAM1B,MAAMF,+BAA+B,CAAC3C;IACpC,MAAM,EACJc,OAAO,EACPC,OAAO,EACPN,aAAa,EACbqC,eAAe,EACfC,YAAY,EACZxC,OAAO,EACPyC,eAAe,EACf3B,UAAU,EACVJ,cAAc,EACdgC,SAAS,EACV,GAAGjD;IAEJ,MAAMkD,oBAAoB;QACxBjC,eAAexB,UAAUgB,eAAe,IAAI;IAC9C;IAEA,MAAM0C,oBAAoB;QACxBlC,eAAexB,UAAUgB,eAAe,CAAC,IAAI;IAC/C;IAEA,kDAAkD;IAClD,MAAM2C,oBAAoBtC,UAAUpB,gBAAgBoB,SAASlB,cAAca,kBAAkB,IAAI;IACjG,MAAM4C,oBAAoBtC,UAAUrB,gBAAgBC,YAAYc,gBAAgBM,WAAW,IAAI;IAE/F,6DAA6D;IAC7D,+DAA+D;IAC/D,qBACE,oBAACe;QAAInB,WAAWU,WAAWiC,eAAe;qBACxC,oBAACC;QACC5C,WAAWnB,aAAa6B,WAAWmC,gBAAgB,EAAE,CAACJ,qBAAqB/B,WAAWoC,aAAa;QACnGrB,UAAUgB,oBAAoBlB,YAAYa,eAAe,IAAI,CAAC;QAC9DW,iBAAe,CAACN;QAChBjB,SAASiB,oBAAoBD,oBAAoBjB;QACjDG,WAAWe,oBAAoBd,gBAAgBa,qBAAqBjB;QACpEyB,OACEpD,QAAQqD,kBAAkB,GACtBrD,QAAQqD,kBAAkB,GAAG,MAAMrD,QAAQsD,MAAM,CAACpE,UAAUgB,eAAe,CAAC,GAAGqD,QAAQ,GAAG,GAC1F5B;QAENK,MAAK;OAEJO,gBAAgBiB,YAAY,iBAE/B,oBAACR;QACC5C,WAAWnB,aAAa6B,WAAWmC,gBAAgB,EAAE,CAACH,qBAAqBhC,WAAWoC,aAAa;QACnGrB,UAAUiB,oBAAoBnB,YAAYa,eAAe,IAAI,CAAC;QAC9DW,iBAAe,CAACL;QAChBlB,SAASkB,oBAAoBH,oBAAoBhB;QACjDG,WAAWgB,oBAAoBf,gBAAgBY,qBAAqBhB;QACpEyB,OACEpD,QAAQyD,kBAAkB,GACtBzD,QAAQyD,kBAAkB,GAAG,MAAMzD,QAAQsD,MAAM,CAACpE,UAAUgB,eAAe,GAAGqD,QAAQ,GAAG,GACzF5B;QAENK,MAAK;OAEJO,gBAAgBmB,cAAc,GAEhCjB,iCACC,oBAACO;QACC5C,WAAWU,WAAWmC,gBAAgB;QACtCrB,SAASc;QACTZ,WAAWC,gBAAgBW;QAC3BU,OAAOpD,QAAQ2D,oBAAoB;QACnC3B,MAAK;OAEJO,gBAAgBqB,OAAO;AAKlC;AACAxB,6BAA6BE,WAAW,GAAG;AAE3C,MAAMP,kBACJ,CAAC8B,WACD,CAACC;QACC,OAAQA,GAAGC,GAAG;YACZ,KAAK/E;gBACH6E,qBAAAA,+BAAAA;gBACA;QACJ;IACF"}
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import { tokens } from '@fluentui/react-theme';
2
4
  import { __styles, mergeClasses, shorthands } from '@griffel/react';
3
5
  import { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';
@@ -1 +1 @@
1
- {"version":3,"names":["tokens","__styles","mergeClasses","shorthands","DURATION_2","EASING_FUNCTION_2","FADE_IN","calendarDayClassNames","root","header","monthAndYear","monthComponents","headerIconButton","disabledStyle","useRootStyles","base","B7ck84d","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","a9b677","normalize","E5pizo","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","showWeekNumbers","d","p","useHeaderStyles","mc9l5x","Bqenvij","Bg96gwp","qhf8xq","useMonthAndYearStyles","Bt984gj","De3pzq","icvyot","vrafjx","oivjwe","wvpqe5","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","sj55zd","Bh6795r","Bahqtrf","Be2twd7","Bhrd7zp","B68tc82","Bmxbyg5","Bpg54ce","fsow6f","ygn44y","Huce71","animation","vin17d","Bf5fcs","Bv12yb3","Ezkn3b","headerIsClickable","Jwef8y","Bi91k9c","eoavqd","pugfm4","ukgb2i","Dwtyhm","Biisq0s","iro3zm","B2d53fq","c3iz72","mghro0","Bx68yb","syojd9","E5hylx","k","h","useMonthComponentsStyles","qb2dma","useHeaderIconButtonStyles","useDisabledStyleStyles","Bg33ivm","t69wg0","useCalendarDayStyles_unstable","props","rootStyles","headerStyles","monthAndYearStyles","monthComponentsStyles","headerIconButtonStyles","disabledStyleStyles","className"],"sources":["useCalendarDayStyles.styles.js"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';\n/**\n * @internal\n */ export const calendarDayClassNames = {\n root: 'fui-CalendarDay',\n header: 'fui-CalendarDay__header',\n monthAndYear: 'fui-CalendarDay__monthAndYear',\n monthComponents: 'fui-CalendarDay__monthComponents',\n headerIconButton: 'fui-CalendarDay__headerIconButton',\n disabledStyle: 'fui-CalendarDay__disabledStyle'\n};\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n padding: '12px',\n width: '196px'\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n margin: '0',\n padding: '0'\n },\n showWeekNumbers: {\n width: '226px'\n }\n});\nconst useHeaderStyles = makeStyles({\n base: {\n display: 'inline-flex',\n height: '28px',\n lineHeight: '44px',\n position: 'relative',\n width: '100%'\n }\n});\nconst useMonthAndYearStyles = makeStyles({\n base: {\n alignItems: 'center',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground1,\n display: 'inline-block',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: '28px',\n overflow: 'hidden',\n padding: '0 4px 0 10px',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2\n },\n headerIsClickable: {\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`\n }\n }\n});\nconst useMonthComponentsStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n display: 'inline-flex'\n }\n});\nconst useHeaderIconButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground3,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n overflow: 'visible',\n padding: '0',\n position: 'relative',\n textAlign: 'center',\n width: '28px',\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed\n }\n }\n});\nconst useDisabledStyleStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none'\n }\n }\n});\n/**\n * @internal\n *\n * Apply styling to the CalendarDay slots based on the state\n */ export const useCalendarDayStyles_unstable = (props)=>{\n 'use no memo';\n const rootStyles = useRootStyles();\n const headerStyles = useHeaderStyles();\n const monthAndYearStyles = useMonthAndYearStyles();\n const monthComponentsStyles = useMonthComponentsStyles();\n const headerIconButtonStyles = useHeaderIconButtonStyles();\n const disabledStyleStyles = useDisabledStyleStyles();\n const { className, headerIsClickable, showWeekNumbers } = props;\n return {\n root: mergeClasses(calendarDayClassNames.root, rootStyles.normalize, rootStyles.base, showWeekNumbers && rootStyles.showWeekNumbers, className),\n header: mergeClasses(calendarDayClassNames.header, headerStyles.base),\n monthAndYear: mergeClasses(calendarDayClassNames.monthAndYear, monthAndYearStyles.base, monthAndYearStyles.animation, headerIsClickable && monthAndYearStyles.headerIsClickable),\n monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),\n headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),\n disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base)\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["tokens","__styles","mergeClasses","shorthands","DURATION_2","EASING_FUNCTION_2","FADE_IN","calendarDayClassNames","root","header","monthAndYear","monthComponents","headerIconButton","disabledStyle","useRootStyles","base","B7ck84d","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","a9b677","normalize","E5pizo","jrapky","Frg6f3","t21cq0","B6of3ja","B74szlk","showWeekNumbers","d","p","useHeaderStyles","mc9l5x","Bqenvij","Bg96gwp","qhf8xq","useMonthAndYearStyles","Bt984gj","De3pzq","icvyot","vrafjx","oivjwe","wvpqe5","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","sj55zd","Bh6795r","Bahqtrf","Be2twd7","Bhrd7zp","B68tc82","Bmxbyg5","Bpg54ce","fsow6f","ygn44y","Huce71","animation","vin17d","Bf5fcs","Bv12yb3","Ezkn3b","headerIsClickable","Jwef8y","Bi91k9c","eoavqd","pugfm4","ukgb2i","Dwtyhm","Biisq0s","iro3zm","B2d53fq","c3iz72","mghro0","Bx68yb","syojd9","E5hylx","k","h","useMonthComponentsStyles","qb2dma","useHeaderIconButtonStyles","useDisabledStyleStyles","Bg33ivm","t69wg0","useCalendarDayStyles_unstable","props","rootStyles","headerStyles","monthAndYearStyles","monthComponentsStyles","headerIconButtonStyles","disabledStyleStyles","className"],"sources":["useCalendarDayStyles.styles.js"],"sourcesContent":["'use client';\nimport { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';\n/**\n * @internal\n */ export const calendarDayClassNames = {\n root: 'fui-CalendarDay',\n header: 'fui-CalendarDay__header',\n monthAndYear: 'fui-CalendarDay__monthAndYear',\n monthComponents: 'fui-CalendarDay__monthComponents',\n headerIconButton: 'fui-CalendarDay__headerIconButton',\n disabledStyle: 'fui-CalendarDay__disabledStyle'\n};\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n padding: '12px',\n width: '196px'\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n margin: '0',\n padding: '0'\n },\n showWeekNumbers: {\n width: '226px'\n }\n});\nconst useHeaderStyles = makeStyles({\n base: {\n display: 'inline-flex',\n height: '28px',\n lineHeight: '44px',\n position: 'relative',\n width: '100%'\n }\n});\nconst useMonthAndYearStyles = makeStyles({\n base: {\n alignItems: 'center',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground1,\n display: 'inline-block',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: '28px',\n overflow: 'hidden',\n padding: '0 4px 0 10px',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2\n },\n headerIsClickable: {\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`\n }\n }\n});\nconst useMonthComponentsStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n display: 'inline-flex'\n }\n});\nconst useHeaderIconButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground3,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n overflow: 'visible',\n padding: '0',\n position: 'relative',\n textAlign: 'center',\n width: '28px',\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed\n }\n }\n});\nconst useDisabledStyleStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none'\n }\n }\n});\n/**\n * @internal\n *\n * Apply styling to the CalendarDay slots based on the state\n */ export const useCalendarDayStyles_unstable = (props)=>{\n 'use no memo';\n const rootStyles = useRootStyles();\n const headerStyles = useHeaderStyles();\n const monthAndYearStyles = useMonthAndYearStyles();\n const monthComponentsStyles = useMonthComponentsStyles();\n const headerIconButtonStyles = useHeaderIconButtonStyles();\n const disabledStyleStyles = useDisabledStyleStyles();\n const { className, headerIsClickable, showWeekNumbers } = props;\n return {\n root: mergeClasses(calendarDayClassNames.root, rootStyles.normalize, rootStyles.base, showWeekNumbers && rootStyles.showWeekNumbers, className),\n header: mergeClasses(calendarDayClassNames.header, headerStyles.base),\n monthAndYear: mergeClasses(calendarDayClassNames.monthAndYear, monthAndYearStyles.base, monthAndYearStyles.animation, headerIsClickable && monthAndYearStyles.headerIsClickable),\n monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),\n headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),\n disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base)\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { tokens } from '@fluentui/react-theme';
2
3
  import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
3
4
  import { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CalendarDay/useCalendarDayStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarDayStyles, CalendarDayStyleProps } from './CalendarDay.types';\n\n/**\n * @internal\n */\nexport const calendarDayClassNames: SlotClassNames<CalendarDayStyles> = {\n root: 'fui-CalendarDay',\n header: 'fui-CalendarDay__header',\n monthAndYear: 'fui-CalendarDay__monthAndYear',\n monthComponents: 'fui-CalendarDay__monthComponents',\n headerIconButton: 'fui-CalendarDay__headerIconButton',\n disabledStyle: 'fui-CalendarDay__disabledStyle',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n padding: '12px',\n width: '196px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n margin: '0',\n padding: '0',\n },\n showWeekNumbers: {\n width: '226px',\n },\n});\n\nconst useHeaderStyles = makeStyles({\n base: {\n display: 'inline-flex',\n height: '28px',\n lineHeight: '44px',\n position: 'relative',\n width: '100%',\n },\n});\n\nconst useMonthAndYearStyles = makeStyles({\n base: {\n alignItems: 'center',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground1,\n display: 'inline-block',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: '28px',\n overflow: 'hidden',\n padding: '0 4px 0 10px',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2,\n },\n headerIsClickable: {\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n },\n});\n\nconst useMonthComponentsStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n display: 'inline-flex',\n },\n});\n\nconst useHeaderIconButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground3,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n overflow: 'visible',\n padding: '0',\n position: 'relative',\n textAlign: 'center',\n width: '28px',\n\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n },\n },\n});\n\nconst useDisabledStyleStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the CalendarDay slots based on the state\n */\nexport const useCalendarDayStyles_unstable = (props: CalendarDayStyleProps): CalendarDayStyles => {\n 'use no memo';\n\n const rootStyles = useRootStyles();\n const headerStyles = useHeaderStyles();\n const monthAndYearStyles = useMonthAndYearStyles();\n const monthComponentsStyles = useMonthComponentsStyles();\n const headerIconButtonStyles = useHeaderIconButtonStyles();\n const disabledStyleStyles = useDisabledStyleStyles();\n\n const { className, headerIsClickable, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarDayClassNames.root,\n rootStyles.normalize,\n rootStyles.base,\n showWeekNumbers && rootStyles.showWeekNumbers,\n className,\n ),\n header: mergeClasses(calendarDayClassNames.header, headerStyles.base),\n monthAndYear: mergeClasses(\n calendarDayClassNames.monthAndYear,\n monthAndYearStyles.base,\n monthAndYearStyles.animation,\n headerIsClickable && monthAndYearStyles.headerIsClickable,\n ),\n monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),\n headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),\n disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base),\n };\n};\n"],"names":["tokens","makeStyles","mergeClasses","shorthands","DURATION_2","EASING_FUNCTION_2","FADE_IN","calendarDayClassNames","root","header","monthAndYear","monthComponents","headerIconButton","disabledStyle","useRootStyles","base","boxSizing","padding","width","normalize","boxShadow","margin","showWeekNumbers","useHeaderStyles","display","height","lineHeight","position","useMonthAndYearStyles","alignItems","backgroundColor","colorTransparentBackground","borderStyle","borderRadius","borderRadiusMedium","color","colorNeutralForeground1","flexGrow","fontFamily","fontSize","fontSizeBase300","fontWeight","fontWeightSemibold","overflow","textAlign","textOverflow","whiteSpace","animation","animationDuration","animationFillMode","animationName","animationTimingFunction","headerIsClickable","colorBrandBackgroundInvertedHover","colorBrandForegroundOnLightHover","cursor","outline","colorTransparentStroke","colorBrandBackgroundInvertedPressed","colorBrandForegroundOnLightPressed","useMonthComponentsStyles","alignSelf","useHeaderIconButtonStyles","colorNeutralForeground3","fontSizeBase200","useDisabledStyleStyles","colorNeutralForegroundDisabled","pointerEvents","useCalendarDayStyles_unstable","props","rootStyles","headerStyles","monthAndYearStyles","monthComponentsStyles","headerIconButtonStyles","disabledStyleStyles","className"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/CalendarDay/useCalendarDayStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarDayStyles, CalendarDayStyleProps } from './CalendarDay.types';\n\n/**\n * @internal\n */\nexport const calendarDayClassNames: SlotClassNames<CalendarDayStyles> = {\n root: 'fui-CalendarDay',\n header: 'fui-CalendarDay__header',\n monthAndYear: 'fui-CalendarDay__monthAndYear',\n monthComponents: 'fui-CalendarDay__monthComponents',\n headerIconButton: 'fui-CalendarDay__headerIconButton',\n disabledStyle: 'fui-CalendarDay__disabledStyle',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n padding: '12px',\n width: '196px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n margin: '0',\n padding: '0',\n },\n showWeekNumbers: {\n width: '226px',\n },\n});\n\nconst useHeaderStyles = makeStyles({\n base: {\n display: 'inline-flex',\n height: '28px',\n lineHeight: '44px',\n position: 'relative',\n width: '100%',\n },\n});\n\nconst useMonthAndYearStyles = makeStyles({\n base: {\n alignItems: 'center',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground1,\n display: 'inline-block',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: '28px',\n overflow: 'hidden',\n padding: '0 4px 0 10px',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2,\n },\n headerIsClickable: {\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n },\n});\n\nconst useMonthComponentsStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n display: 'inline-flex',\n },\n});\n\nconst useHeaderIconButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground3,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n overflow: 'visible',\n padding: '0',\n position: 'relative',\n textAlign: 'center',\n width: '28px',\n\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n },\n },\n});\n\nconst useDisabledStyleStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the CalendarDay slots based on the state\n */\nexport const useCalendarDayStyles_unstable = (props: CalendarDayStyleProps): CalendarDayStyles => {\n 'use no memo';\n\n const rootStyles = useRootStyles();\n const headerStyles = useHeaderStyles();\n const monthAndYearStyles = useMonthAndYearStyles();\n const monthComponentsStyles = useMonthComponentsStyles();\n const headerIconButtonStyles = useHeaderIconButtonStyles();\n const disabledStyleStyles = useDisabledStyleStyles();\n\n const { className, headerIsClickable, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarDayClassNames.root,\n rootStyles.normalize,\n rootStyles.base,\n showWeekNumbers && rootStyles.showWeekNumbers,\n className,\n ),\n header: mergeClasses(calendarDayClassNames.header, headerStyles.base),\n monthAndYear: mergeClasses(\n calendarDayClassNames.monthAndYear,\n monthAndYearStyles.base,\n monthAndYearStyles.animation,\n headerIsClickable && monthAndYearStyles.headerIsClickable,\n ),\n monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),\n headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),\n disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base),\n };\n};\n"],"names":["tokens","makeStyles","mergeClasses","shorthands","DURATION_2","EASING_FUNCTION_2","FADE_IN","calendarDayClassNames","root","header","monthAndYear","monthComponents","headerIconButton","disabledStyle","useRootStyles","base","boxSizing","padding","width","normalize","boxShadow","margin","showWeekNumbers","useHeaderStyles","display","height","lineHeight","position","useMonthAndYearStyles","alignItems","backgroundColor","colorTransparentBackground","borderStyle","borderRadius","borderRadiusMedium","color","colorNeutralForeground1","flexGrow","fontFamily","fontSize","fontSizeBase300","fontWeight","fontWeightSemibold","overflow","textAlign","textOverflow","whiteSpace","animation","animationDuration","animationFillMode","animationName","animationTimingFunction","headerIsClickable","colorBrandBackgroundInvertedHover","colorBrandForegroundOnLightHover","cursor","outline","colorTransparentStroke","colorBrandBackgroundInvertedPressed","colorBrandForegroundOnLightPressed","useMonthComponentsStyles","alignSelf","useHeaderIconButtonStyles","colorNeutralForeground3","fontSizeBase200","useDisabledStyleStyles","colorNeutralForegroundDisabled","pointerEvents","useCalendarDayStyles_unstable","props","rootStyles","headerStyles","monthAndYearStyles","monthComponentsStyles","headerIconButtonStyles","disabledStyleStyles","className"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import * as React from 'react';
2
3
  import { useArrowNavigationGroup } from '@fluentui/react-tabster';
3
4
  import { useId } from '@fluentui/react-utilities';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CalendarDayGrid/CalendarDayGrid.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { useId } from '@fluentui/react-utilities';\nimport { getBoundedDateRange, getDateRangeArray, isRestrictedDate, DateRangeType, DayOfWeek } from '../../utils';\nimport { useCalendarDayGridStyles_unstable } from './useCalendarDayGridStyles.styles';\nimport { CalendarMonthHeaderRow } from './CalendarMonthHeaderRow';\nimport { CalendarGridRow } from './CalendarGridRow';\nimport { useWeeks } from './useWeeks';\nimport { useWeekCornerStyles, WeekCorners } from './useWeekCornerStyles.styles';\nimport { mergeClasses } from '@griffel/react';\nimport type { Day } from '../../utils';\nimport type { CalendarDayGridProps } from './CalendarDayGrid.types';\n\nexport interface DayInfo extends Day {\n onSelected: () => void;\n setRef(element: HTMLElement | null): void;\n}\n\nfunction useDayRefs() {\n const daysRef = React.useRef<Record<string, HTMLElement>>({});\n\n const getSetRefCallback = (dayKey: string) => (element: HTMLElement | null) => {\n if (element === null) {\n delete daysRef.current[dayKey];\n } else {\n daysRef.current[dayKey] = element;\n }\n };\n\n return [daysRef, getSetRefCallback] as const;\n}\n\nfunction useAnimateBackwards(weeks: DayInfo[][]): boolean | undefined {\n const previousNavigatedDateRef = React.useRef<Date | undefined>(undefined);\n React.useEffect(() => {\n previousNavigatedDateRef.current = weeks[0][0].originalDate;\n });\n const previousNavigatedDate = previousNavigatedDateRef.current;\n\n if (!previousNavigatedDate || previousNavigatedDate.getTime() === weeks[0][0].originalDate.getTime()) {\n return undefined;\n } else if (previousNavigatedDate <= weeks[0][0].originalDate) {\n return false;\n } else {\n return true;\n }\n}\n\nexport const CalendarDayGrid: React.FunctionComponent<CalendarDayGridProps> = props => {\n const navigatedDayRef = React.useRef<HTMLTableCellElement>(\n null,\n ) as React.MutableRefObject<HTMLTableCellElement | null>;\n\n const activeDescendantId = useId();\n\n const onSelectDate = (selectedDate: Date): void => {\n const { firstDayOfWeek, minDate, maxDate, workWeekDays, daysToSelectInDayView, restrictedDates } = props;\n const restrictedDatesOptions = { minDate, maxDate, restrictedDates };\n\n let dateRange = getDateRangeArray(selectedDate, dateRangeType, firstDayOfWeek, workWeekDays, daysToSelectInDayView);\n dateRange = getBoundedDateRange(dateRange, minDate, maxDate);\n\n dateRange = dateRange.filter((d: Date) => {\n return !isRestrictedDate(d, restrictedDatesOptions);\n });\n\n props.onSelectDate?.(selectedDate, dateRange);\n props.onNavigateDate?.(selectedDate, true);\n };\n\n const [daysRef, getSetRefCallback] = useDayRefs();\n\n const weeks = useWeeks(props, onSelectDate, getSetRefCallback);\n const animateBackwards = useAnimateBackwards(weeks);\n const [getWeekCornerStyles, calculateRoundedStyles] = useWeekCornerStyles(props);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n navigatedDayRef.current?.focus?.();\n },\n }),\n [],\n );\n\n /**\n *\n * Section for setting hover/pressed styles. Because we want arbitrary blobs of days to be selectable, to support\n * highlighting every day in the month for month view, css :hover style isn't enough, so we need mouse callbacks\n * to set classnames on all relevant child refs to apply the styling\n *\n */\n const getDayInfosInRangeOfDay = (dayToCompare: DayInfo): DayInfo[] => {\n // The hover state looks weird with non-contiguous days in work week view. In work week, show week hover state\n const dateRangeHoverType = getDateRangeTypeToUse(props.dateRangeType, props.workWeekDays);\n\n // gets all the dates for the given date range type that are in the same date range as the given day\n const dateRange = getDateRangeArray(\n dayToCompare.originalDate,\n dateRangeHoverType,\n props.firstDayOfWeek,\n props.workWeekDays,\n props.daysToSelectInDayView,\n ).map((date: Date) => date.getTime());\n\n // gets all the day refs for the given dates\n const dayInfosInRange = weeks.reduce((accumulatedValue: DayInfo[], currentWeek: DayInfo[]) => {\n return accumulatedValue.concat(\n currentWeek.filter((weekDay: DayInfo) => dateRange.indexOf(weekDay.originalDate.getTime()) !== -1),\n );\n }, []);\n\n return dayInfosInRange;\n };\n\n const getRefsFromDayInfos = (dayInfosInRange: DayInfo[]): (HTMLElement | null)[] => {\n let dayRefs: (HTMLElement | null)[] = [];\n dayRefs = dayInfosInRange.map((dayInfo: DayInfo) => daysRef.current[dayInfo.key]);\n\n return dayRefs;\n };\n\n const {\n gridLabel,\n dateRangeType,\n showWeekNumbers,\n labelledBy,\n lightenDaysOutsideNavigatedMonth,\n animationDirection,\n } = props;\n\n const classNames = useCalendarDayGridStyles_unstable({\n animateBackwards,\n animationDirection,\n dateRangeType,\n lightenDaysOutsideNavigatedMonth:\n lightenDaysOutsideNavigatedMonth === undefined ? true : lightenDaysOutsideNavigatedMonth,\n showWeekNumbers,\n });\n\n // When the month is highlighted get the corner dates so that styles can be added to them\n const weekCorners: WeekCorners = getWeekCornerStyles(weeks!);\n const partialWeekProps = {\n weeks,\n navigatedDayRef,\n calculateRoundedStyles,\n activeDescendantId,\n classNames,\n weekCorners,\n getDayInfosInRangeOfDay,\n getRefsFromDayInfos,\n } as const;\n\n const arrowNavigationAttributes = useArrowNavigationGroup({ axis: 'grid' });\n\n return (\n <table\n className={mergeClasses(classNames.table, props.className)}\n aria-multiselectable=\"false\"\n aria-label={gridLabel}\n aria-labelledby={labelledBy}\n aria-activedescendant={activeDescendantId}\n role=\"grid\"\n {...arrowNavigationAttributes}\n >\n <tbody>\n <CalendarMonthHeaderRow {...props} classNames={classNames} weeks={weeks} />\n <CalendarGridRow\n {...props}\n {...partialWeekProps}\n week={weeks[0]}\n weekIndex={-1}\n rowClassName={classNames.firstTransitionWeek}\n aria-role=\"presentation\"\n ariaHidden={true}\n />\n {weeks!.slice(1, weeks!.length - 1).map((week: DayInfo[], weekIndex: number) => (\n <CalendarGridRow\n {...props}\n {...partialWeekProps}\n key={weekIndex}\n week={week}\n weekIndex={weekIndex}\n rowClassName={classNames.weekRow}\n />\n ))}\n <CalendarGridRow\n {...props}\n {...partialWeekProps}\n week={weeks![weeks!.length - 1]}\n weekIndex={-2}\n rowClassName={classNames.lastTransitionWeek}\n aria-role=\"presentation\"\n ariaHidden={true}\n />\n </tbody>\n </table>\n );\n};\nCalendarDayGrid.displayName = 'CalendarDayGrid';\n\n/**\n * When given work week, if the days are non-contiguous, the hover states look really weird. So for non-contiguous\n * work weeks, we'll just show week view instead.\n */\nfunction getDateRangeTypeToUse(dateRangeType: DateRangeType, workWeekDays: DayOfWeek[] | undefined): DateRangeType {\n if (workWeekDays && dateRangeType === DateRangeType.WorkWeek) {\n const sortedWWDays = workWeekDays.slice().sort();\n let isContiguous = true;\n for (let i = 1; i < sortedWWDays.length; i++) {\n if (sortedWWDays[i] !== sortedWWDays[i - 1] + 1) {\n isContiguous = false;\n break;\n }\n }\n\n if (!isContiguous || workWeekDays.length === 0) {\n return DateRangeType.Week;\n }\n }\n\n return dateRangeType;\n}\n"],"names":["React","useArrowNavigationGroup","useId","getBoundedDateRange","getDateRangeArray","isRestrictedDate","DateRangeType","useCalendarDayGridStyles_unstable","CalendarMonthHeaderRow","CalendarGridRow","useWeeks","useWeekCornerStyles","mergeClasses","useDayRefs","daysRef","useRef","getSetRefCallback","dayKey","element","current","useAnimateBackwards","weeks","previousNavigatedDateRef","undefined","useEffect","originalDate","previousNavigatedDate","getTime","CalendarDayGrid","props","navigatedDayRef","activeDescendantId","onSelectDate","selectedDate","firstDayOfWeek","minDate","maxDate","workWeekDays","daysToSelectInDayView","restrictedDates","restrictedDatesOptions","dateRange","dateRangeType","filter","d","onNavigateDate","animateBackwards","getWeekCornerStyles","calculateRoundedStyles","useImperativeHandle","componentRef","focus","getDayInfosInRangeOfDay","dayToCompare","dateRangeHoverType","getDateRangeTypeToUse","map","date","dayInfosInRange","reduce","accumulatedValue","currentWeek","concat","weekDay","indexOf","getRefsFromDayInfos","dayRefs","dayInfo","key","gridLabel","showWeekNumbers","labelledBy","lightenDaysOutsideNavigatedMonth","animationDirection","classNames","weekCorners","partialWeekProps","arrowNavigationAttributes","axis","table","className","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","role","tbody","week","weekIndex","rowClassName","firstTransitionWeek","aria-role","ariaHidden","slice","length","weekRow","lastTransitionWeek","displayName","WorkWeek","sortedWWDays","sort","isContiguous","i","Week"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/CalendarDayGrid/CalendarDayGrid.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { useId } from '@fluentui/react-utilities';\nimport { getBoundedDateRange, getDateRangeArray, isRestrictedDate, DateRangeType, DayOfWeek } from '../../utils';\nimport { useCalendarDayGridStyles_unstable } from './useCalendarDayGridStyles.styles';\nimport { CalendarMonthHeaderRow } from './CalendarMonthHeaderRow';\nimport { CalendarGridRow } from './CalendarGridRow';\nimport { useWeeks } from './useWeeks';\nimport { useWeekCornerStyles, WeekCorners } from './useWeekCornerStyles.styles';\nimport { mergeClasses } from '@griffel/react';\nimport type { Day } from '../../utils';\nimport type { CalendarDayGridProps } from './CalendarDayGrid.types';\n\nexport interface DayInfo extends Day {\n onSelected: () => void;\n setRef(element: HTMLElement | null): void;\n}\n\nfunction useDayRefs() {\n const daysRef = React.useRef<Record<string, HTMLElement>>({});\n\n const getSetRefCallback = (dayKey: string) => (element: HTMLElement | null) => {\n if (element === null) {\n delete daysRef.current[dayKey];\n } else {\n daysRef.current[dayKey] = element;\n }\n };\n\n return [daysRef, getSetRefCallback] as const;\n}\n\nfunction useAnimateBackwards(weeks: DayInfo[][]): boolean | undefined {\n const previousNavigatedDateRef = React.useRef<Date | undefined>(undefined);\n React.useEffect(() => {\n previousNavigatedDateRef.current = weeks[0][0].originalDate;\n });\n const previousNavigatedDate = previousNavigatedDateRef.current;\n\n if (!previousNavigatedDate || previousNavigatedDate.getTime() === weeks[0][0].originalDate.getTime()) {\n return undefined;\n } else if (previousNavigatedDate <= weeks[0][0].originalDate) {\n return false;\n } else {\n return true;\n }\n}\n\nexport const CalendarDayGrid: React.FunctionComponent<CalendarDayGridProps> = props => {\n const navigatedDayRef = React.useRef<HTMLTableCellElement>(\n null,\n ) as React.MutableRefObject<HTMLTableCellElement | null>;\n\n const activeDescendantId = useId();\n\n const onSelectDate = (selectedDate: Date): void => {\n const { firstDayOfWeek, minDate, maxDate, workWeekDays, daysToSelectInDayView, restrictedDates } = props;\n const restrictedDatesOptions = { minDate, maxDate, restrictedDates };\n\n let dateRange = getDateRangeArray(selectedDate, dateRangeType, firstDayOfWeek, workWeekDays, daysToSelectInDayView);\n dateRange = getBoundedDateRange(dateRange, minDate, maxDate);\n\n dateRange = dateRange.filter((d: Date) => {\n return !isRestrictedDate(d, restrictedDatesOptions);\n });\n\n props.onSelectDate?.(selectedDate, dateRange);\n props.onNavigateDate?.(selectedDate, true);\n };\n\n const [daysRef, getSetRefCallback] = useDayRefs();\n\n const weeks = useWeeks(props, onSelectDate, getSetRefCallback);\n const animateBackwards = useAnimateBackwards(weeks);\n const [getWeekCornerStyles, calculateRoundedStyles] = useWeekCornerStyles(props);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n navigatedDayRef.current?.focus?.();\n },\n }),\n [],\n );\n\n /**\n *\n * Section for setting hover/pressed styles. Because we want arbitrary blobs of days to be selectable, to support\n * highlighting every day in the month for month view, css :hover style isn't enough, so we need mouse callbacks\n * to set classnames on all relevant child refs to apply the styling\n *\n */\n const getDayInfosInRangeOfDay = (dayToCompare: DayInfo): DayInfo[] => {\n // The hover state looks weird with non-contiguous days in work week view. In work week, show week hover state\n const dateRangeHoverType = getDateRangeTypeToUse(props.dateRangeType, props.workWeekDays);\n\n // gets all the dates for the given date range type that are in the same date range as the given day\n const dateRange = getDateRangeArray(\n dayToCompare.originalDate,\n dateRangeHoverType,\n props.firstDayOfWeek,\n props.workWeekDays,\n props.daysToSelectInDayView,\n ).map((date: Date) => date.getTime());\n\n // gets all the day refs for the given dates\n const dayInfosInRange = weeks.reduce((accumulatedValue: DayInfo[], currentWeek: DayInfo[]) => {\n return accumulatedValue.concat(\n currentWeek.filter((weekDay: DayInfo) => dateRange.indexOf(weekDay.originalDate.getTime()) !== -1),\n );\n }, []);\n\n return dayInfosInRange;\n };\n\n const getRefsFromDayInfos = (dayInfosInRange: DayInfo[]): (HTMLElement | null)[] => {\n let dayRefs: (HTMLElement | null)[] = [];\n dayRefs = dayInfosInRange.map((dayInfo: DayInfo) => daysRef.current[dayInfo.key]);\n\n return dayRefs;\n };\n\n const {\n gridLabel,\n dateRangeType,\n showWeekNumbers,\n labelledBy,\n lightenDaysOutsideNavigatedMonth,\n animationDirection,\n } = props;\n\n const classNames = useCalendarDayGridStyles_unstable({\n animateBackwards,\n animationDirection,\n dateRangeType,\n lightenDaysOutsideNavigatedMonth:\n lightenDaysOutsideNavigatedMonth === undefined ? true : lightenDaysOutsideNavigatedMonth,\n showWeekNumbers,\n });\n\n // When the month is highlighted get the corner dates so that styles can be added to them\n const weekCorners: WeekCorners = getWeekCornerStyles(weeks!);\n const partialWeekProps = {\n weeks,\n navigatedDayRef,\n calculateRoundedStyles,\n activeDescendantId,\n classNames,\n weekCorners,\n getDayInfosInRangeOfDay,\n getRefsFromDayInfos,\n } as const;\n\n const arrowNavigationAttributes = useArrowNavigationGroup({ axis: 'grid' });\n\n return (\n <table\n className={mergeClasses(classNames.table, props.className)}\n aria-multiselectable=\"false\"\n aria-label={gridLabel}\n aria-labelledby={labelledBy}\n aria-activedescendant={activeDescendantId}\n role=\"grid\"\n {...arrowNavigationAttributes}\n >\n <tbody>\n <CalendarMonthHeaderRow {...props} classNames={classNames} weeks={weeks} />\n <CalendarGridRow\n {...props}\n {...partialWeekProps}\n week={weeks[0]}\n weekIndex={-1}\n rowClassName={classNames.firstTransitionWeek}\n aria-role=\"presentation\"\n ariaHidden={true}\n />\n {weeks!.slice(1, weeks!.length - 1).map((week: DayInfo[], weekIndex: number) => (\n <CalendarGridRow\n {...props}\n {...partialWeekProps}\n key={weekIndex}\n week={week}\n weekIndex={weekIndex}\n rowClassName={classNames.weekRow}\n />\n ))}\n <CalendarGridRow\n {...props}\n {...partialWeekProps}\n week={weeks![weeks!.length - 1]}\n weekIndex={-2}\n rowClassName={classNames.lastTransitionWeek}\n aria-role=\"presentation\"\n ariaHidden={true}\n />\n </tbody>\n </table>\n );\n};\nCalendarDayGrid.displayName = 'CalendarDayGrid';\n\n/**\n * When given work week, if the days are non-contiguous, the hover states look really weird. So for non-contiguous\n * work weeks, we'll just show week view instead.\n */\nfunction getDateRangeTypeToUse(dateRangeType: DateRangeType, workWeekDays: DayOfWeek[] | undefined): DateRangeType {\n if (workWeekDays && dateRangeType === DateRangeType.WorkWeek) {\n const sortedWWDays = workWeekDays.slice().sort();\n let isContiguous = true;\n for (let i = 1; i < sortedWWDays.length; i++) {\n if (sortedWWDays[i] !== sortedWWDays[i - 1] + 1) {\n isContiguous = false;\n break;\n }\n }\n\n if (!isContiguous || workWeekDays.length === 0) {\n return DateRangeType.Week;\n }\n }\n\n return dateRangeType;\n}\n"],"names":["React","useArrowNavigationGroup","useId","getBoundedDateRange","getDateRangeArray","isRestrictedDate","DateRangeType","useCalendarDayGridStyles_unstable","CalendarMonthHeaderRow","CalendarGridRow","useWeeks","useWeekCornerStyles","mergeClasses","useDayRefs","daysRef","useRef","getSetRefCallback","dayKey","element","current","useAnimateBackwards","weeks","previousNavigatedDateRef","undefined","useEffect","originalDate","previousNavigatedDate","getTime","CalendarDayGrid","props","navigatedDayRef","activeDescendantId","onSelectDate","selectedDate","firstDayOfWeek","minDate","maxDate","workWeekDays","daysToSelectInDayView","restrictedDates","restrictedDatesOptions","dateRange","dateRangeType","filter","d","onNavigateDate","animateBackwards","getWeekCornerStyles","calculateRoundedStyles","useImperativeHandle","componentRef","focus","getDayInfosInRangeOfDay","dayToCompare","dateRangeHoverType","getDateRangeTypeToUse","map","date","dayInfosInRange","reduce","accumulatedValue","currentWeek","concat","weekDay","indexOf","getRefsFromDayInfos","dayRefs","dayInfo","key","gridLabel","showWeekNumbers","labelledBy","lightenDaysOutsideNavigatedMonth","animationDirection","classNames","weekCorners","partialWeekProps","arrowNavigationAttributes","axis","table","className","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","role","tbody","week","weekIndex","rowClassName","firstTransitionWeek","aria-role","ariaHidden","slice","length","weekRow","lastTransitionWeek","displayName","WorkWeek","sortedWWDays","sort","isContiguous","i","Week"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,uBAAuB,QAAQ,0BAA0B;AAClE,SAASC,KAAK,QAAQ,4BAA4B;AAClD,SAASC,mBAAmB,EAAEC,iBAAiB,EAAEC,gBAAgB,EAAEC,aAAa,QAAmB,cAAc;AACjH,SAASC,iCAAiC,QAAQ,oCAAoC;AACtF,SAASC,sBAAsB,QAAQ,2BAA2B;AAClE,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,mBAAmB,QAAqB,+BAA+B;AAChF,SAASC,YAAY,QAAQ,iBAAiB;AAS9C,SAASC;IACP,MAAMC,UAAUd,MAAMe,MAAM,CAA8B,CAAC;IAE3D,MAAMC,oBAAoB,CAACC,SAAmB,CAACC;YAC7C,IAAIA,YAAY,MAAM;gBACpB,OAAOJ,QAAQK,OAAO,CAACF,OAAO;YAChC,OAAO;gBACLH,QAAQK,OAAO,CAACF,OAAO,GAAGC;YAC5B;QACF;IAEA,OAAO;QAACJ;QAASE;KAAkB;AACrC;AAEA,SAASI,oBAAoBC,KAAkB;IAC7C,MAAMC,2BAA2BtB,MAAMe,MAAM,CAAmBQ;IAChEvB,MAAMwB,SAAS,CAAC;QACdF,yBAAyBH,OAAO,GAAGE,KAAK,CAAC,EAAE,CAAC,EAAE,CAACI,YAAY;IAC7D;IACA,MAAMC,wBAAwBJ,yBAAyBH,OAAO;IAE9D,IAAI,CAACO,yBAAyBA,sBAAsBC,OAAO,OAAON,KAAK,CAAC,EAAE,CAAC,EAAE,CAACI,YAAY,CAACE,OAAO,IAAI;QACpG,OAAOJ;IACT,OAAO,IAAIG,yBAAyBL,KAAK,CAAC,EAAE,CAAC,EAAE,CAACI,YAAY,EAAE;QAC5D,OAAO;IACT,OAAO;QACL,OAAO;IACT;AACF;AAEA,OAAO,MAAMG,kBAAiEC,CAAAA;IAC5E,MAAMC,kBAAkB9B,MAAMe,MAAM,CAClC;IAGF,MAAMgB,qBAAqB7B;IAE3B,MAAM8B,eAAe,CAACC;YAWpBJ,qBACAA;QAXA,MAAM,EAAEK,cAAc,EAAEC,OAAO,EAAEC,OAAO,EAAEC,YAAY,EAAEC,qBAAqB,EAAEC,eAAe,EAAE,GAAGV;QACnG,MAAMW,yBAAyB;YAAEL;YAASC;YAASG;QAAgB;QAEnE,IAAIE,YAAYrC,kBAAkB6B,cAAcS,eAAeR,gBAAgBG,cAAcC;QAC7FG,YAAYtC,oBAAoBsC,WAAWN,SAASC;QAEpDK,YAAYA,UAAUE,MAAM,CAAC,CAACC;YAC5B,OAAO,CAACvC,iBAAiBuC,GAAGJ;QAC9B;SAEAX,sBAAAA,MAAMG,YAAY,cAAlBH,0CAAAA,yBAAAA,OAAqBI,cAAcQ;SACnCZ,wBAAAA,MAAMgB,cAAc,cAApBhB,4CAAAA,2BAAAA,OAAuBI,cAAc;IACvC;IAEA,MAAM,CAACnB,SAASE,kBAAkB,GAAGH;IAErC,MAAMQ,QAAQX,SAASmB,OAAOG,cAAchB;IAC5C,MAAM8B,mBAAmB1B,oBAAoBC;IAC7C,MAAM,CAAC0B,qBAAqBC,uBAAuB,GAAGrC,oBAAoBkB;IAE1E7B,MAAMiD,mBAAmB,CACvBpB,MAAMqB,YAAY,EAClB,IAAO,CAAA;YACLC;oBACErB,gCAAAA;iBAAAA,2BAAAA,gBAAgBX,OAAO,cAAvBW,gDAAAA,iCAAAA,yBAAyBqB,KAAK,cAA9BrB,qDAAAA,oCAAAA;YACF;QACF,CAAA,GACA,EAAE;IAGJ;;;;;;GAMC,GACD,MAAMsB,0BAA0B,CAACC;QAC/B,8GAA8G;QAC9G,MAAMC,qBAAqBC,sBAAsB1B,MAAMa,aAAa,EAAEb,MAAMQ,YAAY;QAExF,oGAAoG;QACpG,MAAMI,YAAYrC,kBAChBiD,aAAa5B,YAAY,EACzB6B,oBACAzB,MAAMK,cAAc,EACpBL,MAAMQ,YAAY,EAClBR,MAAMS,qBAAqB,EAC3BkB,GAAG,CAAC,CAACC,OAAeA,KAAK9B,OAAO;QAElC,4CAA4C;QAC5C,MAAM+B,kBAAkBrC,MAAMsC,MAAM,CAAC,CAACC,kBAA6BC;YACjE,OAAOD,iBAAiBE,MAAM,CAC5BD,YAAYlB,MAAM,CAAC,CAACoB,UAAqBtB,UAAUuB,OAAO,CAACD,QAAQtC,YAAY,CAACE,OAAO,QAAQ,CAAC;QAEpG,GAAG,EAAE;QAEL,OAAO+B;IACT;IAEA,MAAMO,sBAAsB,CAACP;QAC3B,IAAIQ,UAAkC,EAAE;QACxCA,UAAUR,gBAAgBF,GAAG,CAAC,CAACW,UAAqBrD,QAAQK,OAAO,CAACgD,QAAQC,GAAG,CAAC;QAEhF,OAAOF;IACT;IAEA,MAAM,EACJG,SAAS,EACT3B,aAAa,EACb4B,eAAe,EACfC,UAAU,EACVC,gCAAgC,EAChCC,kBAAkB,EACnB,GAAG5C;IAEJ,MAAM6C,aAAanE,kCAAkC;QACnDuC;QACA2B;QACA/B;QACA8B,kCACEA,qCAAqCjD,YAAY,OAAOiD;QAC1DF;IACF;IAEA,yFAAyF;IACzF,MAAMK,cAA2B5B,oBAAoB1B;IACrD,MAAMuD,mBAAmB;QACvBvD;QACAS;QACAkB;QACAjB;QACA2C;QACAC;QACAvB;QACAa;IACF;IAEA,MAAMY,4BAA4B5E,wBAAwB;QAAE6E,MAAM;IAAO;IAEzE,qBACE,oBAACC;QACCC,WAAWpE,aAAa8D,WAAWK,KAAK,EAAElD,MAAMmD,SAAS;QACzDC,wBAAqB;QACrBC,cAAYb;QACZc,mBAAiBZ;QACjBa,yBAAuBrD;QACvBsD,MAAK;QACJ,GAAGR,yBAAyB;qBAE7B,oBAACS,6BACC,oBAAC9E;QAAwB,GAAGqB,KAAK;QAAE6C,YAAYA;QAAYrD,OAAOA;sBAClE,oBAACZ;QACE,GAAGoB,KAAK;QACR,GAAG+C,gBAAgB;QACpBW,MAAMlE,KAAK,CAAC,EAAE;QACdmE,WAAW,CAAC;QACZC,cAAcf,WAAWgB,mBAAmB;QAC5CC,aAAU;QACVC,YAAY;QAEbvE,MAAOwE,KAAK,CAAC,GAAGxE,MAAOyE,MAAM,GAAG,GAAGtC,GAAG,CAAC,CAAC+B,MAAiBC,0BACxD,oBAAC/E;YACE,GAAGoB,KAAK;YACR,GAAG+C,gBAAgB;YACpBR,KAAKoB;YACLD,MAAMA;YACNC,WAAWA;YACXC,cAAcf,WAAWqB,OAAO;2BAGpC,oBAACtF;QACE,GAAGoB,KAAK;QACR,GAAG+C,gBAAgB;QACpBW,MAAMlE,KAAM,CAACA,MAAOyE,MAAM,GAAG,EAAE;QAC/BN,WAAW,CAAC;QACZC,cAAcf,WAAWsB,kBAAkB;QAC3CL,aAAU;QACVC,YAAY;;AAKtB,EAAE;AACFhE,gBAAgBqE,WAAW,GAAG;AAE9B;;;CAGC,GACD,SAAS1C,sBAAsBb,aAA4B,EAAEL,YAAqC;IAChG,IAAIA,gBAAgBK,kBAAkBpC,cAAc4F,QAAQ,EAAE;QAC5D,MAAMC,eAAe9D,aAAawD,KAAK,GAAGO,IAAI;QAC9C,IAAIC,eAAe;QACnB,IAAK,IAAIC,IAAI,GAAGA,IAAIH,aAAaL,MAAM,EAAEQ,IAAK;YAC5C,IAAIH,YAAY,CAACG,EAAE,KAAKH,YAAY,CAACG,IAAI,EAAE,GAAG,GAAG;gBAC/CD,eAAe;gBACf;YACF;QACF;QAEA,IAAI,CAACA,gBAAgBhE,aAAayD,MAAM,KAAK,GAAG;YAC9C,OAAOxF,cAAciG,IAAI;QAC3B;IACF;IAEA,OAAO7D;AACT"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import * as React from 'react';
2
3
  import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Enter } from '@fluentui/keyboard-keys';
3
4
  import { getRTLSafeKey } from '@fluentui/react-utilities';