@fluentui/react-datepicker-compat 0.0.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +126 -5
- package/CHANGELOG.md +33 -6
- package/README.md +1 -1
- package/dist/index.d.ts +13 -8
- package/lib/components/Calendar/Calendar.js +1 -1
- package/lib/components/Calendar/Calendar.js.map +1 -1
- package/lib/components/Calendar/index.js +1 -1
- package/lib/components/Calendar/index.js.map +1 -1
- package/lib/components/Calendar/{useCalendarStyles.js → useCalendarStyles.styles.js} +1 -1
- package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -0
- package/lib/components/CalendarDay/CalendarDay.js +1 -1
- package/lib/components/CalendarDay/CalendarDay.js.map +1 -1
- package/lib/components/CalendarDay/index.js +1 -1
- package/lib/components/CalendarDay/index.js.map +1 -1
- package/lib/components/CalendarDay/{useCalendarDayStyles.js → useCalendarDayStyles.styles.js} +1 -1
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js +2 -2
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -1
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +2 -2
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
- package/lib/components/CalendarDayGrid/CalendarGridRow.js.map +1 -1
- package/lib/components/CalendarDayGrid/index.js +2 -2
- package/lib/components/CalendarDayGrid/index.js.map +1 -1
- package/lib/components/CalendarDayGrid/{useCalendarDayGridStyles.js → useCalendarDayGridStyles.styles.js} +2 -2
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
- package/lib/components/CalendarDayGrid/{useWeekCornerStyles.js → useWeekCornerStyles.styles.js} +1 -1
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
- package/lib/components/CalendarMonth/useCalendarMonthStyles.js +1 -1
- package/lib/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -1
- package/lib/components/CalendarPicker/index.js +1 -1
- package/lib/components/CalendarPicker/index.js.map +1 -1
- package/lib/components/CalendarPicker/{useCalendarPickerStyles.js → useCalendarPickerStyles.styles.js} +1 -1
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
- package/lib/components/CalendarYear/CalendarYear.js +1 -1
- package/lib/components/CalendarYear/CalendarYear.js.map +1 -1
- package/lib/components/CalendarYear/index.js +1 -1
- package/lib/components/CalendarYear/index.js.map +1 -1
- package/lib/components/CalendarYear/{useCalendarYearStyles.js → useCalendarYearStyles.styles.js} +2 -2
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
- package/lib/components/DatePicker/DatePicker.js +1 -1
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/DatePicker/DatePicker.types.js.map +1 -1
- package/lib/components/DatePicker/defaults.js.map +1 -1
- package/lib/components/DatePicker/index.js +1 -1
- package/lib/components/DatePicker/index.js.map +1 -1
- package/lib/components/DatePicker/useDatePicker.js +10 -14
- package/lib/components/DatePicker/useDatePicker.js.map +1 -1
- package/lib/components/DatePicker/{useDatePickerStyles.js → useDatePickerStyles.styles.js} +1 -1
- package/lib/components/DatePicker/useDatePickerStyles.styles.js.map +1 -0
- package/lib/index.js.map +1 -1
- package/lib-commonjs/components/Calendar/Calendar.js +2 -2
- package/lib-commonjs/components/Calendar/Calendar.js.map +1 -1
- package/lib-commonjs/components/Calendar/index.js +1 -1
- package/lib-commonjs/components/Calendar/index.js.map +1 -1
- package/lib-commonjs/components/Calendar/{useCalendarStyles.js → useCalendarStyles.styles.js} +2 -2
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarDay/CalendarDay.js +2 -2
- package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/lib-commonjs/components/CalendarDay/index.js +1 -1
- package/lib-commonjs/components/CalendarDay/index.js.map +1 -1
- package/lib-commonjs/components/CalendarDay/{useCalendarDayStyles.js → useCalendarDayStyles.styles.js} +2 -2
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js +4 -4
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +8 -8
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/index.js +3 -3
- package/lib-commonjs/components/CalendarDayGrid/index.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/{useCalendarDayGridStyles.js → useCalendarDayGridStyles.styles.js} +2 -2
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/{useWeekCornerStyles.js → useWeekCornerStyles.styles.js} +2 -2
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js +2 -2
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.js.map +1 -1
- package/lib-commonjs/components/CalendarPicker/index.js +1 -1
- package/lib-commonjs/components/CalendarPicker/index.js.map +1 -1
- package/lib-commonjs/components/CalendarPicker/{useCalendarPickerStyles.js → useCalendarPickerStyles.styles.js} +2 -2
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/CalendarYear/CalendarYear.js +8 -8
- package/lib-commonjs/components/CalendarYear/CalendarYear.js.map +1 -1
- package/lib-commonjs/components/CalendarYear/index.js +1 -1
- package/lib-commonjs/components/CalendarYear/index.js.map +1 -1
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js +14 -0
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -0
- package/lib-commonjs/components/DatePicker/DatePicker.js +2 -2
- package/lib-commonjs/components/DatePicker/DatePicker.js.map +1 -1
- package/lib-commonjs/components/DatePicker/index.js +1 -1
- package/lib-commonjs/components/DatePicker/index.js.map +1 -1
- package/lib-commonjs/components/DatePicker/useDatePicker.js +10 -14
- package/lib-commonjs/components/DatePicker/useDatePicker.js.map +1 -1
- package/lib-commonjs/components/DatePicker/{useDatePickerStyles.js → useDatePickerStyles.styles.js} +2 -2
- package/lib-commonjs/components/DatePicker/useDatePickerStyles.styles.js.map +1 -0
- package/package.json +13 -13
- package/.swcrc +0 -30
- package/lib/components/Calendar/useCalendarStyles.js.map +0 -1
- package/lib/components/CalendarDay/useCalendarDayStyles.js.map +0 -1
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.js.map +0 -1
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.js.map +0 -1
- package/lib/components/CalendarPicker/useCalendarPickerStyles.js.map +0 -1
- package/lib/components/CalendarYear/useCalendarYearStyles.js.map +0 -1
- package/lib/components/DatePicker/useDatePickerStyles.js.map +0 -1
- package/lib-commonjs/components/Calendar/useCalendarStyles.js.map +0 -1
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.js.map +0 -1
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.js.map +0 -1
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.js.map +0 -1
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.js +0 -14
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.js.map +0 -1
- package/lib-commonjs/components/DatePicker/useDatePickerStyles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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","useEffect","originalDate","previousNavigatedDate","getTime","undefined","CalendarDayGrid","props","navigatedDayRef","activeDescendantId","onSelectDate","selectedDate","_props_onSelectDate","_props_onNavigateDate","firstDayOfWeek","minDate","maxDate","workWeekDays","daysToSelectInDayView","restrictedDates","restrictedDatesOptions","dateRange","dateRangeType","filter","d","call","onNavigateDate","animateBackwards","getWeekCornerStyles","calculateRoundedStyles","useImperativeHandle","componentRef","focus","_navigatedDayRef_current","_navigatedDayRef_current_focus","getDayInfosInRangeOfDay","dayToCompare","dateRangeHoverType","getDateRangeTypeToUse","map","date","dayInfosInRange","reduce","accumulatedValue","currentWeek","concat","weekDay","indexOf","getRefsFromDayInfos","dayRefs","dayInfo","key","showWeekNumbers","labelledBy","lightenDaysOutsideNavigatedMonth","animationDirection","classNames","weekCorners","partialWeekProps","arrowNavigationAttributes","axis","createElement","className","table","role","week","weekIndex","rowClassName","firstTransitionWeek","ariaHidden","slice","length","weekRow","lastTransitionWeek","displayName","WorkWeek","sortedWWDays","sort","isContiguous","i","Week"],"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';\nimport { CalendarMonthHeaderRow } from './CalendarMonthHeaderRow';\nimport { CalendarGridRow } from './CalendarGridRow';\nimport { useWeeks } from './useWeeks';\nimport { useWeekCornerStyles, WeekCorners } from './useWeekCornerStyles';\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>();\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>(null) as React.MutableRefObject<HTMLTableCellElement>;\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 { dateRangeType, showWeekNumbers, labelledBy, lightenDaysOutsideNavigatedMonth, animationDirection } = 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-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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"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","useEffect","originalDate","previousNavigatedDate","getTime","undefined","CalendarDayGrid","props","navigatedDayRef","activeDescendantId","onSelectDate","selectedDate","_props_onSelectDate","_props_onNavigateDate","firstDayOfWeek","minDate","maxDate","workWeekDays","daysToSelectInDayView","restrictedDates","restrictedDatesOptions","dateRange","dateRangeType","filter","d","call","onNavigateDate","animateBackwards","getWeekCornerStyles","calculateRoundedStyles","useImperativeHandle","componentRef","focus","_navigatedDayRef_current","_navigatedDayRef_current_focus","getDayInfosInRangeOfDay","dayToCompare","dateRangeHoverType","getDateRangeTypeToUse","map","date","dayInfosInRange","reduce","accumulatedValue","currentWeek","concat","weekDay","indexOf","getRefsFromDayInfos","dayRefs","dayInfo","key","showWeekNumbers","labelledBy","lightenDaysOutsideNavigatedMonth","animationDirection","classNames","weekCorners","partialWeekProps","arrowNavigationAttributes","axis","createElement","className","table","role","week","weekIndex","rowClassName","firstTransitionWeek","ariaHidden","slice","length","weekRow","lastTransitionWeek","displayName","WorkWeek","sortedWWDays","sort","isContiguous","i","Week"],"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>();\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>(null) as React.MutableRefObject<HTMLTableCellElement>;\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 { dateRangeType, showWeekNumbers, labelledBy, lightenDaysOutsideNavigatedMonth, animationDirection } = 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-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"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { getRTLSafeKey } from '@fluentui/react-utilities';
|
|
|
4
4
|
import { useFluent_unstable } from '@fluentui/react-shared-contexts';
|
|
5
5
|
import { mergeClasses } from '@griffel/react';
|
|
6
6
|
import { addDays, addWeeks, compareDates, findAvailableDate, DateRangeType } from '../../utils';
|
|
7
|
-
import { weekCornersClassNames } from './useWeekCornerStyles';
|
|
8
|
-
import { extraCalendarDayGridClassNames } from './useCalendarDayGridStyles';
|
|
7
|
+
import { weekCornersClassNames } from './useWeekCornerStyles.styles';
|
|
8
|
+
import { extraCalendarDayGridClassNames } from './useCalendarDayGridStyles.styles';
|
|
9
9
|
/**
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Enter","getRTLSafeKey","useFluent_unstable","mergeClasses","addDays","addWeeks","compareDates","findAvailableDate","DateRangeType","weekCornersClassNames","extraCalendarDayGridClassNames","CalendarGridDayCell","props","navigatedDate","dateTimeFormatter","allFocusable","strings","activeDescendantId","navigatedDayRef","calculateRoundedStyles","weeks","classNames","day","dayIndex","weekIndex","weekCorners","ariaHidden","customDayCellRef","dateRangeType","daysToSelectInDayView","onSelectDate","restrictedDates","minDate","maxDate","onNavigateDate","getDayInfosInRangeOfDay","getRefsFromDayInfos","_weekCorners_","cornerStyle","isNavigatedDate","originalDate","dir","navigateMonthEdge","ev","date","targetDate","undefined","direction","key","findAvailableDateOptions","initialDate","nextDate","isInCurrentView","slice","length","some","week","dayToCompare","preventDefault","onMouseOverDay","dayInfos","dayRefs","forEach","dayRef","index","classList","add","hoverStyle","isSelected","Day","remove","bottomLeftCornerDate","bottomRightCornerDate","topLeftCornerDate","topRightCornerDate","classNamesToAdd","trim","onMouseDownDay","pressedStyle","onMouseUpDay","onMouseOutDay","onDayKeyDown","ariaLabel","getDate","months","getMonth","getFullYear","isMarked","dayMarkedAriaLabel","isFocusable","isInBounds","createElement","className","dayCell","daySelected","dayOutsideBounds","isInMonth","dayOutsideNavigatedMonth","ref","element","setRef","current","onClick","onSelected","onMouseOver","onMouseDown","onMouseUp","onMouseOut","onKeyDown","role","tabIndex","isToday","dayButton","dayIsToday","id","disabled","type","formatDay","dayMarker"],"sources":["../../../src/components/CalendarDayGrid/CalendarGridDayCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Enter } from '@fluentui/keyboard-keys';\nimport { getRTLSafeKey } from '@fluentui/react-utilities';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { mergeClasses } from '@griffel/react';\nimport { addDays, addWeeks, compareDates, findAvailableDate, DateRangeType } from '../../utils';\nimport { weekCornersClassNames } from './useWeekCornerStyles';\nimport { extraCalendarDayGridClassNames } from './useCalendarDayGridStyles';\nimport type { AvailableDateOptions } from '../../utils';\nimport type { DayInfo } from './CalendarDayGrid';\nimport type { CalendarGridRowProps } from './CalendarGridRow';\n\n/**\n * @internal\n */\nexport interface CalendarGridDayCellProps extends CalendarGridRowProps {\n day: DayInfo;\n dayIndex: number;\n}\n\n/**\n * @internal\n */\nexport const CalendarGridDayCell: React.FunctionComponent<CalendarGridDayCellProps> = props => {\n const {\n navigatedDate,\n dateTimeFormatter,\n allFocusable,\n strings,\n activeDescendantId,\n navigatedDayRef,\n calculateRoundedStyles,\n weeks,\n classNames,\n day,\n dayIndex,\n weekIndex,\n weekCorners,\n ariaHidden,\n customDayCellRef,\n dateRangeType,\n daysToSelectInDayView,\n onSelectDate,\n restrictedDates,\n minDate,\n maxDate,\n onNavigateDate,\n getDayInfosInRangeOfDay,\n getRefsFromDayInfos,\n } = props;\n const cornerStyle = weekCorners?.[weekIndex + '_' + dayIndex] ?? '';\n const isNavigatedDate = compareDates(navigatedDate, day.originalDate);\n\n const { dir } = useFluent_unstable();\n\n const navigateMonthEdge = (ev: React.KeyboardEvent<HTMLElement>, date: Date): void => {\n let targetDate: Date | undefined = undefined;\n let direction = 1; // by default search forward\n\n if (ev.key === ArrowUp) {\n targetDate = addWeeks(date, -1);\n direction = -1;\n } else if (ev.key === ArrowDown) {\n targetDate = addWeeks(date, 1);\n } else if (ev.key === getRTLSafeKey(ArrowLeft, dir)) {\n targetDate = addDays(date, -1);\n direction = -1;\n } else if (ev.key === getRTLSafeKey(ArrowRight, dir)) {\n targetDate = addDays(date, 1);\n }\n\n if (!targetDate) {\n // if we couldn't find a target date at all, do nothing\n return;\n }\n\n const findAvailableDateOptions: AvailableDateOptions = {\n initialDate: date,\n targetDate,\n direction,\n restrictedDates,\n minDate,\n maxDate,\n };\n\n // target date is restricted, search in whatever direction until finding the next possible date,\n // stopping at boundaries\n let nextDate = findAvailableDate(findAvailableDateOptions);\n\n if (!nextDate) {\n // if no dates available in initial direction, try going backwards\n findAvailableDateOptions.direction = -direction;\n nextDate = findAvailableDate(findAvailableDateOptions);\n }\n\n // if the nextDate is still inside the same focusZone area, let the focusZone handle setting the focus so we\n // don't jump the view unnecessarily\n const isInCurrentView =\n weeks &&\n nextDate &&\n weeks.slice(1, weeks.length - 1).some((week: DayInfo[]) => {\n return week.some((dayToCompare: DayInfo) => {\n return compareDates(dayToCompare.originalDate, nextDate!);\n });\n });\n if (isInCurrentView) {\n return;\n }\n\n // else, fire navigation on the date to change the view to show it\n if (nextDate) {\n onNavigateDate(nextDate, true);\n ev.preventDefault();\n }\n };\n\n const onMouseOverDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null, index: number) => {\n if (dayRef) {\n dayRef.classList.add(extraCalendarDayGridClassNames.hoverStyle);\n if (\n !dayInfos[index].isSelected &&\n dateRangeType === DateRangeType.Day &&\n daysToSelectInDayView &&\n daysToSelectInDayView > 1\n ) {\n // remove the static classes first to overwrite them\n dayRef.classList.remove(\n weekCornersClassNames.bottomLeftCornerDate!,\n weekCornersClassNames.bottomRightCornerDate!,\n weekCornersClassNames.topLeftCornerDate!,\n weekCornersClassNames.topRightCornerDate!,\n );\n\n const classNamesToAdd = calculateRoundedStyles(false, false, index > 0, index < dayRefs.length - 1).trim();\n if (classNamesToAdd) {\n dayRef.classList.add(...classNamesToAdd);\n }\n }\n }\n });\n };\n\n const onMouseDownDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null) => {\n if (dayRef) {\n dayRef.classList.add(extraCalendarDayGridClassNames.pressedStyle);\n }\n });\n };\n\n const onMouseUpDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null) => {\n if (dayRef) {\n dayRef.classList.remove(extraCalendarDayGridClassNames.pressedStyle);\n }\n });\n };\n\n const onMouseOutDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null, index: number) => {\n if (dayRef) {\n dayRef.classList.remove(extraCalendarDayGridClassNames.hoverStyle);\n dayRef.classList.remove(extraCalendarDayGridClassNames.pressedStyle);\n if (\n !dayInfos[index].isSelected &&\n dateRangeType === DateRangeType.Day &&\n daysToSelectInDayView &&\n daysToSelectInDayView > 1\n ) {\n const classNamesToAdd = calculateRoundedStyles(false, false, index > 0, index < dayRefs.length - 1).trim();\n if (classNamesToAdd) {\n dayRef.classList.remove(...classNamesToAdd);\n }\n }\n }\n });\n };\n\n const onDayKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {\n if (ev.key === Enter) {\n onSelectDate?.(day.originalDate);\n } else {\n navigateMonthEdge(ev, day.originalDate);\n }\n };\n\n let ariaLabel =\n day.originalDate.getDate() +\n ', ' +\n strings.months[day.originalDate.getMonth()] +\n ', ' +\n day.originalDate.getFullYear();\n\n if (day.isMarked) {\n ariaLabel = ariaLabel + ', ' + strings.dayMarkedAriaLabel;\n }\n\n const isFocusable = !ariaHidden && (allFocusable || (day.isInBounds ? true : undefined));\n\n return (\n <td\n className={mergeClasses(\n classNames.dayCell,\n weekCorners && cornerStyle,\n day.isSelected && classNames.daySelected,\n !day.isInBounds && classNames.dayOutsideBounds,\n !day.isInMonth && classNames.dayOutsideNavigatedMonth,\n )}\n ref={(element: HTMLTableCellElement) => {\n customDayCellRef?.(element, day.originalDate, classNames);\n day.setRef(element);\n isNavigatedDate && (navigatedDayRef.current = element);\n }}\n aria-hidden={ariaHidden}\n aria-disabled={!ariaHidden && !day.isInBounds}\n onClick={day.isInBounds && !ariaHidden ? day.onSelected : undefined}\n onMouseOver={!ariaHidden ? onMouseOverDay : undefined}\n onMouseDown={!ariaHidden ? onMouseDownDay : undefined}\n onMouseUp={!ariaHidden ? onMouseUpDay : undefined}\n onMouseOut={!ariaHidden ? onMouseOutDay : undefined}\n onKeyDown={!ariaHidden ? onDayKeyDown : undefined}\n role=\"gridcell\"\n tabIndex={isNavigatedDate || isFocusable ? 0 : undefined}\n aria-current={day.isToday ? 'date' : undefined}\n aria-selected={day.isInBounds ? day.isSelected : undefined}\n >\n <button\n key={day.key + 'button'}\n aria-hidden={ariaHidden}\n className={mergeClasses(classNames.dayButton, day.isToday && classNames.dayIsToday)}\n aria-label={ariaLabel}\n id={isNavigatedDate ? activeDescendantId : undefined}\n disabled={!ariaHidden && !day.isInBounds}\n type=\"button\"\n tabIndex={-1}\n >\n <span aria-hidden=\"true\">{dateTimeFormatter.formatDay(day.originalDate)}</span>\n {day.isMarked && <div aria-hidden=\"true\" className={classNames.dayMarker} />}\n </button>\n </td>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Enter","getRTLSafeKey","useFluent_unstable","mergeClasses","addDays","addWeeks","compareDates","findAvailableDate","DateRangeType","weekCornersClassNames","extraCalendarDayGridClassNames","CalendarGridDayCell","props","navigatedDate","dateTimeFormatter","allFocusable","strings","activeDescendantId","navigatedDayRef","calculateRoundedStyles","weeks","classNames","day","dayIndex","weekIndex","weekCorners","ariaHidden","customDayCellRef","dateRangeType","daysToSelectInDayView","onSelectDate","restrictedDates","minDate","maxDate","onNavigateDate","getDayInfosInRangeOfDay","getRefsFromDayInfos","_weekCorners_","cornerStyle","isNavigatedDate","originalDate","dir","navigateMonthEdge","ev","date","targetDate","undefined","direction","key","findAvailableDateOptions","initialDate","nextDate","isInCurrentView","slice","length","some","week","dayToCompare","preventDefault","onMouseOverDay","dayInfos","dayRefs","forEach","dayRef","index","classList","add","hoverStyle","isSelected","Day","remove","bottomLeftCornerDate","bottomRightCornerDate","topLeftCornerDate","topRightCornerDate","classNamesToAdd","trim","onMouseDownDay","pressedStyle","onMouseUpDay","onMouseOutDay","onDayKeyDown","ariaLabel","getDate","months","getMonth","getFullYear","isMarked","dayMarkedAriaLabel","isFocusable","isInBounds","createElement","className","dayCell","daySelected","dayOutsideBounds","isInMonth","dayOutsideNavigatedMonth","ref","element","setRef","current","onClick","onSelected","onMouseOver","onMouseDown","onMouseUp","onMouseOut","onKeyDown","role","tabIndex","isToday","dayButton","dayIsToday","id","disabled","type","formatDay","dayMarker"],"sources":["../../../src/components/CalendarDayGrid/CalendarGridDayCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Enter } from '@fluentui/keyboard-keys';\nimport { getRTLSafeKey } from '@fluentui/react-utilities';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { mergeClasses } from '@griffel/react';\nimport { addDays, addWeeks, compareDates, findAvailableDate, DateRangeType } from '../../utils';\nimport { weekCornersClassNames } from './useWeekCornerStyles.styles';\nimport { extraCalendarDayGridClassNames } from './useCalendarDayGridStyles.styles';\nimport type { AvailableDateOptions } from '../../utils';\nimport type { DayInfo } from './CalendarDayGrid';\nimport type { CalendarGridRowProps } from './CalendarGridRow';\n\n/**\n * @internal\n */\nexport interface CalendarGridDayCellProps extends CalendarGridRowProps {\n day: DayInfo;\n dayIndex: number;\n}\n\n/**\n * @internal\n */\nexport const CalendarGridDayCell: React.FunctionComponent<CalendarGridDayCellProps> = props => {\n const {\n navigatedDate,\n dateTimeFormatter,\n allFocusable,\n strings,\n activeDescendantId,\n navigatedDayRef,\n calculateRoundedStyles,\n weeks,\n classNames,\n day,\n dayIndex,\n weekIndex,\n weekCorners,\n ariaHidden,\n customDayCellRef,\n dateRangeType,\n daysToSelectInDayView,\n onSelectDate,\n restrictedDates,\n minDate,\n maxDate,\n onNavigateDate,\n getDayInfosInRangeOfDay,\n getRefsFromDayInfos,\n } = props;\n const cornerStyle = weekCorners?.[weekIndex + '_' + dayIndex] ?? '';\n const isNavigatedDate = compareDates(navigatedDate, day.originalDate);\n\n const { dir } = useFluent_unstable();\n\n const navigateMonthEdge = (ev: React.KeyboardEvent<HTMLElement>, date: Date): void => {\n let targetDate: Date | undefined = undefined;\n let direction = 1; // by default search forward\n\n if (ev.key === ArrowUp) {\n targetDate = addWeeks(date, -1);\n direction = -1;\n } else if (ev.key === ArrowDown) {\n targetDate = addWeeks(date, 1);\n } else if (ev.key === getRTLSafeKey(ArrowLeft, dir)) {\n targetDate = addDays(date, -1);\n direction = -1;\n } else if (ev.key === getRTLSafeKey(ArrowRight, dir)) {\n targetDate = addDays(date, 1);\n }\n\n if (!targetDate) {\n // if we couldn't find a target date at all, do nothing\n return;\n }\n\n const findAvailableDateOptions: AvailableDateOptions = {\n initialDate: date,\n targetDate,\n direction,\n restrictedDates,\n minDate,\n maxDate,\n };\n\n // target date is restricted, search in whatever direction until finding the next possible date,\n // stopping at boundaries\n let nextDate = findAvailableDate(findAvailableDateOptions);\n\n if (!nextDate) {\n // if no dates available in initial direction, try going backwards\n findAvailableDateOptions.direction = -direction;\n nextDate = findAvailableDate(findAvailableDateOptions);\n }\n\n // if the nextDate is still inside the same focusZone area, let the focusZone handle setting the focus so we\n // don't jump the view unnecessarily\n const isInCurrentView =\n weeks &&\n nextDate &&\n weeks.slice(1, weeks.length - 1).some((week: DayInfo[]) => {\n return week.some((dayToCompare: DayInfo) => {\n return compareDates(dayToCompare.originalDate, nextDate!);\n });\n });\n if (isInCurrentView) {\n return;\n }\n\n // else, fire navigation on the date to change the view to show it\n if (nextDate) {\n onNavigateDate(nextDate, true);\n ev.preventDefault();\n }\n };\n\n const onMouseOverDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null, index: number) => {\n if (dayRef) {\n dayRef.classList.add(extraCalendarDayGridClassNames.hoverStyle);\n if (\n !dayInfos[index].isSelected &&\n dateRangeType === DateRangeType.Day &&\n daysToSelectInDayView &&\n daysToSelectInDayView > 1\n ) {\n // remove the static classes first to overwrite them\n dayRef.classList.remove(\n weekCornersClassNames.bottomLeftCornerDate!,\n weekCornersClassNames.bottomRightCornerDate!,\n weekCornersClassNames.topLeftCornerDate!,\n weekCornersClassNames.topRightCornerDate!,\n );\n\n const classNamesToAdd = calculateRoundedStyles(false, false, index > 0, index < dayRefs.length - 1).trim();\n if (classNamesToAdd) {\n dayRef.classList.add(...classNamesToAdd);\n }\n }\n }\n });\n };\n\n const onMouseDownDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null) => {\n if (dayRef) {\n dayRef.classList.add(extraCalendarDayGridClassNames.pressedStyle);\n }\n });\n };\n\n const onMouseUpDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null) => {\n if (dayRef) {\n dayRef.classList.remove(extraCalendarDayGridClassNames.pressedStyle);\n }\n });\n };\n\n const onMouseOutDay = (ev: React.MouseEvent<HTMLElement>) => {\n const dayInfos = getDayInfosInRangeOfDay(day);\n const dayRefs = getRefsFromDayInfos(dayInfos);\n\n dayRefs.forEach((dayRef: HTMLElement | null, index: number) => {\n if (dayRef) {\n dayRef.classList.remove(extraCalendarDayGridClassNames.hoverStyle);\n dayRef.classList.remove(extraCalendarDayGridClassNames.pressedStyle);\n if (\n !dayInfos[index].isSelected &&\n dateRangeType === DateRangeType.Day &&\n daysToSelectInDayView &&\n daysToSelectInDayView > 1\n ) {\n const classNamesToAdd = calculateRoundedStyles(false, false, index > 0, index < dayRefs.length - 1).trim();\n if (classNamesToAdd) {\n dayRef.classList.remove(...classNamesToAdd);\n }\n }\n }\n });\n };\n\n const onDayKeyDown = (ev: React.KeyboardEvent<HTMLElement>): void => {\n if (ev.key === Enter) {\n onSelectDate?.(day.originalDate);\n } else {\n navigateMonthEdge(ev, day.originalDate);\n }\n };\n\n let ariaLabel =\n day.originalDate.getDate() +\n ', ' +\n strings.months[day.originalDate.getMonth()] +\n ', ' +\n day.originalDate.getFullYear();\n\n if (day.isMarked) {\n ariaLabel = ariaLabel + ', ' + strings.dayMarkedAriaLabel;\n }\n\n const isFocusable = !ariaHidden && (allFocusable || (day.isInBounds ? true : undefined));\n\n return (\n <td\n className={mergeClasses(\n classNames.dayCell,\n weekCorners && cornerStyle,\n day.isSelected && classNames.daySelected,\n !day.isInBounds && classNames.dayOutsideBounds,\n !day.isInMonth && classNames.dayOutsideNavigatedMonth,\n )}\n ref={(element: HTMLTableCellElement) => {\n customDayCellRef?.(element, day.originalDate, classNames);\n day.setRef(element);\n isNavigatedDate && (navigatedDayRef.current = element);\n }}\n aria-hidden={ariaHidden}\n aria-disabled={!ariaHidden && !day.isInBounds}\n onClick={day.isInBounds && !ariaHidden ? day.onSelected : undefined}\n onMouseOver={!ariaHidden ? onMouseOverDay : undefined}\n onMouseDown={!ariaHidden ? onMouseDownDay : undefined}\n onMouseUp={!ariaHidden ? onMouseUpDay : undefined}\n onMouseOut={!ariaHidden ? onMouseOutDay : undefined}\n onKeyDown={!ariaHidden ? onDayKeyDown : undefined}\n role=\"gridcell\"\n tabIndex={isNavigatedDate || isFocusable ? 0 : undefined}\n aria-current={day.isToday ? 'date' : undefined}\n aria-selected={day.isInBounds ? day.isSelected : undefined}\n >\n <button\n key={day.key + 'button'}\n aria-hidden={ariaHidden}\n className={mergeClasses(classNames.dayButton, day.isToday && classNames.dayIsToday)}\n aria-label={ariaLabel}\n id={isNavigatedDate ? activeDescendantId : undefined}\n disabled={!ariaHidden && !day.isInBounds}\n type=\"button\"\n tabIndex={-1}\n >\n <span aria-hidden=\"true\">{dateTimeFormatter.formatDay(day.originalDate)}</span>\n {day.isMarked && <div aria-hidden=\"true\" className={classNames.dayMarker} />}\n </button>\n </td>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","getWeekNumbersInMonth","CalendarGridDayCell","CalendarGridRow","props","classNames","week","weeks","weekIndex","rowClassName","ariaRole","showWeekNumbers","firstDayOfWeek","firstWeekOfYear","navigatedDate","strings","weekNumbers","length","titleString","weekNumberFormatString","replace","createElement","role","className","key","weekNumberCell","title","scope","map","day","dayIndex"],"sources":["../../../src/components/CalendarDayGrid/CalendarGridRow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getWeekNumbersInMonth } from '../../utils';\nimport { CalendarGridDayCell } from './CalendarGridDayCell';\nimport type { CalendarDayGridProps, CalendarDayGridStyles } from './CalendarDayGrid.types';\nimport type { DayInfo } from './CalendarDayGrid';\nimport type { WeekCorners } from './useWeekCornerStyles';\n\n/**\n * @internal\n */\nexport interface CalendarGridRowProps extends CalendarDayGridProps {\n classNames: CalendarDayGridStyles;\n weeks: DayInfo[][];\n week: DayInfo[];\n weekIndex: number;\n weekCorners?: WeekCorners;\n ariaHidden?: boolean;\n rowClassName?: string;\n ariaRole?: string;\n navigatedDayRef: React.MutableRefObject<HTMLTableCellElement>;\n activeDescendantId: string;\n calculateRoundedStyles(above: boolean, below: boolean, left: boolean, right: boolean): string;\n getDayInfosInRangeOfDay(dayToCompare: DayInfo): DayInfo[];\n getRefsFromDayInfos(dayInfosInRange: DayInfo[]): (HTMLElement | null)[];\n}\n\n/**\n * @internal\n */\nexport const CalendarGridRow: React.FunctionComponent<CalendarGridRowProps> = props => {\n const {\n classNames,\n week,\n weeks,\n weekIndex,\n rowClassName,\n ariaRole,\n showWeekNumbers,\n firstDayOfWeek,\n firstWeekOfYear,\n navigatedDate,\n strings,\n } = props;\n const weekNumbers = showWeekNumbers\n ? getWeekNumbersInMonth(weeks!.length, firstDayOfWeek, firstWeekOfYear, navigatedDate)\n : null;\n\n const titleString = weekNumbers\n ? strings.weekNumberFormatString && strings.weekNumberFormatString.replace('{0}', `${weekNumbers[weekIndex]}`)\n : '';\n\n return (\n <tr role={ariaRole} className={rowClassName} key={weekIndex + '_' + week[0].key}>\n {showWeekNumbers && weekNumbers && (\n <th\n className={classNames.weekNumberCell}\n key={weekIndex}\n title={titleString}\n aria-label={titleString}\n scope=\"row\"\n >\n <span>{weekNumbers[weekIndex]}</span>\n </th>\n )}\n {week.map((day: DayInfo, dayIndex: number) => (\n <CalendarGridDayCell {...props} key={day.key} day={day} dayIndex={dayIndex} />\n ))}\n </tr>\n );\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,mBAAmB,QAAQ;AAwBpC;;;AAGA,OAAO,MAAMC,eAAA,GAAiEC,KAAA,IAAS;EACrF,MAAM;IACJC,UAAA;IACAC,IAAA;IACAC,KAAA;IACAC,SAAA;IACAC,YAAA;IACAC,QAAA;IACAC,eAAA;IACAC,cAAA;IACAC,eAAA;IACAC,aAAA;IACAC;EAAO,CACR,GAAGX,KAAA;EACJ,MAAMY,WAAA,GAAcL,eAAA,GAChBV,qBAAA,CAAsBM,KAAA,CAAOU,MAAM,EAAEL,cAAA,EAAgBC,eAAA,EAAiBC,aAAA,IACtE,IAAI;EAER,MAAMI,WAAA,GAAcF,WAAA,GAChBD,OAAA,CAAQI,sBAAsB,IAAIJ,OAAA,CAAQI,sBAAsB,CAACC,OAAO,CAAC,OAAQ,GAAEJ,WAAW,CAACR,SAAA,CAAW,EAAC,IAC3G,EAAE;EAEN,oBACER,KAAA,CAAAqB,aAAA,CAAC;IAAGC,IAAA,EAAMZ,QAAA;IAAUa,SAAA,EAAWd,YAAA;IAAce,GAAA,EAAKhB,SAAA,GAAY,MAAMF,IAAI,CAAC,EAAE,CAACkB;KACzEb,eAAA,IAAmBK,WAAA,iBAClBhB,KAAA,CAAAqB,aAAA,CAAC;IACCE,SAAA,EAAWlB,UAAA,CAAWoB,cAAc;IACpCD,GAAA,EAAKhB,SAAA;IACLkB,KAAA,EAAOR,WAAA;IACP,cAAYA,WAAA;IACZS,KAAA,EAAM;kBAEN3B,KAAA,CAAAqB,aAAA,CAAC,cAAML,WAAW,CAACR,SAAA,CAAU,IAGhCF,IAAA,CAAKsB,GAAG,CAAC,CAACC,GAAA,EAAcC,QAAA,kBACvB9B,KAAA,CAAAqB,aAAA,CAACnB,mBAAA;IAAqB,GAAGE,KAAK;IAAEoB,GAAA,EAAKK,GAAA,CAAIL,GAAG;IAAEK,GAAA,EAAKA,GAAA;IAAKC,QAAA,EAAUA;;AAI1E"}
|
|
1
|
+
{"version":3,"names":["React","getWeekNumbersInMonth","CalendarGridDayCell","CalendarGridRow","props","classNames","week","weeks","weekIndex","rowClassName","ariaRole","showWeekNumbers","firstDayOfWeek","firstWeekOfYear","navigatedDate","strings","weekNumbers","length","titleString","weekNumberFormatString","replace","createElement","role","className","key","weekNumberCell","title","scope","map","day","dayIndex"],"sources":["../../../src/components/CalendarDayGrid/CalendarGridRow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getWeekNumbersInMonth } from '../../utils';\nimport { CalendarGridDayCell } from './CalendarGridDayCell';\nimport type { CalendarDayGridProps, CalendarDayGridStyles } from './CalendarDayGrid.types';\nimport type { DayInfo } from './CalendarDayGrid';\nimport type { WeekCorners } from './useWeekCornerStyles.styles';\n\n/**\n * @internal\n */\nexport interface CalendarGridRowProps extends CalendarDayGridProps {\n classNames: CalendarDayGridStyles;\n weeks: DayInfo[][];\n week: DayInfo[];\n weekIndex: number;\n weekCorners?: WeekCorners;\n ariaHidden?: boolean;\n rowClassName?: string;\n ariaRole?: string;\n navigatedDayRef: React.MutableRefObject<HTMLTableCellElement>;\n activeDescendantId: string;\n calculateRoundedStyles(above: boolean, below: boolean, left: boolean, right: boolean): string;\n getDayInfosInRangeOfDay(dayToCompare: DayInfo): DayInfo[];\n getRefsFromDayInfos(dayInfosInRange: DayInfo[]): (HTMLElement | null)[];\n}\n\n/**\n * @internal\n */\nexport const CalendarGridRow: React.FunctionComponent<CalendarGridRowProps> = props => {\n const {\n classNames,\n week,\n weeks,\n weekIndex,\n rowClassName,\n ariaRole,\n showWeekNumbers,\n firstDayOfWeek,\n firstWeekOfYear,\n navigatedDate,\n strings,\n } = props;\n const weekNumbers = showWeekNumbers\n ? getWeekNumbersInMonth(weeks!.length, firstDayOfWeek, firstWeekOfYear, navigatedDate)\n : null;\n\n const titleString = weekNumbers\n ? strings.weekNumberFormatString && strings.weekNumberFormatString.replace('{0}', `${weekNumbers[weekIndex]}`)\n : '';\n\n return (\n <tr role={ariaRole} className={rowClassName} key={weekIndex + '_' + week[0].key}>\n {showWeekNumbers && weekNumbers && (\n <th\n className={classNames.weekNumberCell}\n key={weekIndex}\n title={titleString}\n aria-label={titleString}\n scope=\"row\"\n >\n <span>{weekNumbers[weekIndex]}</span>\n </th>\n )}\n {week.map((day: DayInfo, dayIndex: number) => (\n <CalendarGridDayCell {...props} key={day.key} day={day} dayIndex={dayIndex} />\n ))}\n </tr>\n );\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,mBAAmB,QAAQ;AAwBpC;;;AAGA,OAAO,MAAMC,eAAA,GAAiEC,KAAA,IAAS;EACrF,MAAM;IACJC,UAAA;IACAC,IAAA;IACAC,KAAA;IACAC,SAAA;IACAC,YAAA;IACAC,QAAA;IACAC,eAAA;IACAC,cAAA;IACAC,eAAA;IACAC,aAAA;IACAC;EAAO,CACR,GAAGX,KAAA;EACJ,MAAMY,WAAA,GAAcL,eAAA,GAChBV,qBAAA,CAAsBM,KAAA,CAAOU,MAAM,EAAEL,cAAA,EAAgBC,eAAA,EAAiBC,aAAA,IACtE,IAAI;EAER,MAAMI,WAAA,GAAcF,WAAA,GAChBD,OAAA,CAAQI,sBAAsB,IAAIJ,OAAA,CAAQI,sBAAsB,CAACC,OAAO,CAAC,OAAQ,GAAEJ,WAAW,CAACR,SAAA,CAAW,EAAC,IAC3G,EAAE;EAEN,oBACER,KAAA,CAAAqB,aAAA,CAAC;IAAGC,IAAA,EAAMZ,QAAA;IAAUa,SAAA,EAAWd,YAAA;IAAce,GAAA,EAAKhB,SAAA,GAAY,MAAMF,IAAI,CAAC,EAAE,CAACkB;KACzEb,eAAA,IAAmBK,WAAA,iBAClBhB,KAAA,CAAAqB,aAAA,CAAC;IACCE,SAAA,EAAWlB,UAAA,CAAWoB,cAAc;IACpCD,GAAA,EAAKhB,SAAA;IACLkB,KAAA,EAAOR,WAAA;IACP,cAAYA,WAAA;IACZS,KAAA,EAAM;kBAEN3B,KAAA,CAAAqB,aAAA,CAAC,cAAML,WAAW,CAACR,SAAA,CAAU,IAGhCF,IAAA,CAAKsB,GAAG,CAAC,CAACC,GAAA,EAAcC,QAAA,kBACvB9B,KAAA,CAAAqB,aAAA,CAACnB,mBAAA;IAAqB,GAAGE,KAAK;IAAEoB,GAAA,EAAKK,GAAA,CAAIL,GAAG;IAAEK,GAAA,EAAKA,GAAA;IAAKC,QAAA,EAAUA;;AAI1E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './CalendarDayGrid';
|
|
2
2
|
export * from './CalendarDayGrid.types';
|
|
3
|
-
export * from './useCalendarDayGridStyles';
|
|
4
|
-
export { calendarDayGridClassNames, extraCalendarDayGridClassNames } from './useCalendarDayGridStyles';
|
|
3
|
+
export * from './useCalendarDayGridStyles.styles';
|
|
4
|
+
export { calendarDayGridClassNames, extraCalendarDayGridClassNames } from './useCalendarDayGridStyles.styles';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["calendarDayGridClassNames","extraCalendarDayGridClassNames"],"sources":["../../../src/components/CalendarDayGrid/index.ts"],"sourcesContent":["export * from './CalendarDayGrid';\nexport * from './CalendarDayGrid.types';\nexport * from './useCalendarDayGridStyles';\nexport { calendarDayGridClassNames, extraCalendarDayGridClassNames } from './useCalendarDayGridStyles';\nexport type { WeekCorners } from './useWeekCornerStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,yBAAyB,EAAEC,8BAA8B,QAAQ"}
|
|
1
|
+
{"version":3,"names":["calendarDayGridClassNames","extraCalendarDayGridClassNames"],"sources":["../../../src/components/CalendarDayGrid/index.ts"],"sourcesContent":["export * from './CalendarDayGrid';\nexport * from './CalendarDayGrid.types';\nexport * from './useCalendarDayGridStyles.styles';\nexport { calendarDayGridClassNames, extraCalendarDayGridClassNames } from './useCalendarDayGridStyles.styles';\nexport type { WeekCorners } from './useWeekCornerStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,yBAAyB,EAAEC,8BAA8B,QAAQ"}
|
|
@@ -2,7 +2,7 @@ import { tokens } from '@fluentui/react-theme';
|
|
|
2
2
|
import { __styles, mergeClasses, shorthands } from '@griffel/react';
|
|
3
3
|
import { DURATION_2, DURATION_3, EASING_FUNCTION_1, EASING_FUNCTION_2, FADE_IN, FADE_OUT, SLIDE_DOWN_IN20, SLIDE_DOWN_OUT20, SLIDE_LEFT_IN20, SLIDE_RIGHT_IN20, SLIDE_UP_IN20, SLIDE_UP_OUT20, TRANSITION_ROW_DISAPPEARANCE } from '../../utils';
|
|
4
4
|
import { AnimationDirection } from '../Calendar/Calendar.types';
|
|
5
|
-
import { weekCornersClassNames } from './useWeekCornerStyles';
|
|
5
|
+
import { weekCornersClassNames } from './useWeekCornerStyles.styles';
|
|
6
6
|
/**
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|
|
@@ -440,4 +440,4 @@ export const useCalendarDayGridStyles_unstable = props => {
|
|
|
440
440
|
dayMarker: mergeClasses(calendarDayGridClassNames.dayMarker, dayMarkerStyles.base)
|
|
441
441
|
};
|
|
442
442
|
};
|
|
443
|
-
//# sourceMappingURL=useCalendarDayGridStyles.js.map
|
|
443
|
+
//# sourceMappingURL=useCalendarDayGridStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tokens","__styles","mergeClasses","shorthands","DURATION_2","DURATION_3","EASING_FUNCTION_1","EASING_FUNCTION_2","FADE_IN","FADE_OUT","SLIDE_DOWN_IN20","SLIDE_DOWN_OUT20","SLIDE_LEFT_IN20","SLIDE_RIGHT_IN20","SLIDE_UP_IN20","SLIDE_UP_OUT20","TRANSITION_ROW_DISAPPEARANCE","AnimationDirection","weekCornersClassNames","calendarDayGridClassNames","wrapper","table","dayCell","daySelected","weekRow","weekDayLabelCell","weekNumberCell","dayOutsideBounds","dayOutsideNavigatedMonth","dayButton","dayIsToday","firstTransitionWeek","lastTransitionWeek","dayMarker","extraCalendarDayGridClassNames","hoverStyle","pressedStyle","useWrapperStyles","base","Byoj8tv","d","useTableStyles","po53p8","Bxjg3zr","Be2twd7","B6of3ja","qhf8xq","B73mfa3","fsow6f","a9b677","showWeekNumbers","useDayCellStyles","sj55zd","Bceei9c","Bhrd7zp","Bqenvij","Bg96gwp","t21cq0","jrapky","Frg6f3","z8tnut","z189sj","uwmqm3","Bsw6fvg","Bbusuzp","cvlxnx","Bweudez","hzfqlu","Bb91d7d","dua3dm","z1p9vi","Bsnevi5","xnb59o","Bj67fi1","B2gfgcj","B6cqqer","fpurfy","Fioj4w","Bq9yiu4","cpbo2x","Bq268z6","m","useDaySelectedStyles","De3pzq","Bjwas2f","Bn1d65q","Bxeuatn","n51gp8","ycbfsm","a3nq4f","Bnf3alp","H2c3sd","qu8ld","Bg4iunc","h","useWeekRowStyles","vin17d","Bf5fcs","Ezkn3b","horizontalBackward","Bv12yb3","horizontalForward","verticalBackward","verticalForward","k","useWeekDayLabelCellStyles","useWeekNumberCellStyles","g2u3we","h3c5rm","B9xav0g","zhjwy3","Bekrc4i","vrafjx","B7ck84d","useDayOutsideBoundsStyles","x734em","B0ssf13","B8h8h5z","useDayOutsideNavigatedMonthStyles","lightenDaysOutsideNavigatedMonth","useDayButtonStyles","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","icvyot","oivjwe","wvpqe5","B68tc82","Bmxbyg5","Bx0yju7","l98f4w","useDayIsTodayStyles","jxbfoe","useFirstTransitionWeekStyles","abs64n","useLastTransitionWeekStyles","useDayMarkerStyles","B5kzvoi","oyh7mz","j35jbq","useCornerBorderAndRadiusStyles","corners","Cy64m2","Bnn43bw","feanbc","B4268ip","useCalendarDayGridStyles_unstable","props","wrapperStyles","tableStyles","dayCellStyles","daySelectedStyles","weekRowStyles","weekDayLabelCellStyles","weekNumberCellStyles","dayOutsideBoundsStyles","dayOutsideNavigatedMonthStyles","dayButtonStyles","dayIsTodayStyles","firstTransitionWeekStyles","lastTransitionWeekStyles","dayMarkerStyles","cornerBorderAndRadiusStyles","animateBackwards","animationDirection","undefined","Horizontal"],"sources":["../../../src/components/CalendarDayGrid/useCalendarDayGridStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport {\n DURATION_2,\n DURATION_3,\n EASING_FUNCTION_1,\n EASING_FUNCTION_2,\n FADE_IN,\n FADE_OUT,\n SLIDE_DOWN_IN20,\n SLIDE_DOWN_OUT20,\n SLIDE_LEFT_IN20,\n SLIDE_RIGHT_IN20,\n SLIDE_UP_IN20,\n SLIDE_UP_OUT20,\n TRANSITION_ROW_DISAPPEARANCE,\n} from '../../utils';\nimport { AnimationDirection } from '../Calendar/Calendar.types';\nimport { weekCornersClassNames } from './useWeekCornerStyles.styles';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarDayGridStyles, CalendarDayGridStyleProps } from './CalendarDayGrid.types';\n\n/**\n * @internal\n */\nexport const calendarDayGridClassNames: SlotClassNames<CalendarDayGridStyles> = {\n wrapper: 'fui-CalendarDayGrid__wrapper',\n table: 'fui-CalendarDayGrid__table',\n dayCell: 'fui-CalendarDayGrid__dayCell',\n daySelected: 'fui-CalendarDayGrid__daySelected',\n weekRow: 'fui-CalendarDayGrid__weekRow',\n weekDayLabelCell: 'fui-CalendarDayGrid__weekDayLabelCell',\n weekNumberCell: 'fui-CalendarDayGrid__weekNumberCell',\n dayOutsideBounds: 'fui-CalendarDayGrid__dayOutsideBounds',\n dayOutsideNavigatedMonth: 'fui-CalendarDayGrid__dayOutsideNavigatedMonth',\n dayButton: 'fui-CalendarDayGrid__dayButton',\n dayIsToday: 'fui-CalendarDayGrid__dayIsToday',\n firstTransitionWeek: 'fui-CalendarDayGrid__firstTransitionWeek',\n lastTransitionWeek: 'fui-CalendarDayGrid__lastTransitionWeek',\n dayMarker: 'fui-CalendarDayGrid__dayMarker',\n};\n\n/**\n * @internal\n */\nexport const extraCalendarDayGridClassNames = {\n hoverStyle: 'fui-CalendarDayGrid__hoverStyle',\n pressedStyle: 'fui-CalendarDayGrid__pressedStyle',\n};\n\nconst useWrapperStyles = makeStyles({\n base: {\n paddingBottom: '10px',\n },\n});\n\nconst useTableStyles = makeStyles({\n base: {\n borderCollapse: 'collapse',\n borderSpacing: 0,\n fontSize: 'inherit',\n marginTop: '4px',\n paddingBottom: '10px',\n position: 'relative',\n tableLayout: 'fixed',\n textAlign: 'center',\n width: '196px',\n },\n showWeekNumbers: {\n width: '226px',\n },\n});\n\nconst useDayCellStyles = makeStyles({\n base: {\n color: tokens.colorNeutralForeground1,\n cursor: 'pointer',\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n height: '28px',\n lineHeight: '28px',\n ...shorthands.margin(0),\n ...shorthands.padding(0),\n position: 'relative',\n width: '28px',\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n color: 'WindowText',\n },\n\n [`&.${extraCalendarDayGridClassNames.hoverStyle}`]: {\n color: tokens.colorNeutralForeground1Static,\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n color: 'WindowText',\n ...shorthands.outline('1px', 'solid', 'Highlight'),\n zIndex: 3,\n },\n },\n\n [`&.${extraCalendarDayGridClassNames.pressedStyle}`]: {\n color: tokens.colorNeutralForeground1Static,\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight',\n },\n },\n },\n});\n\nconst useDaySelectedStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorBrandBackgroundInvertedSelected,\n color: tokens.colorNeutralForeground1Static,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n ...shorthands.borderColor('Highlight'),\n color: 'HighlightText',\n forcedColorAdjust: 'none',\n },\n\n [`&:hover, &.${extraCalendarDayGridClassNames.hoverStyle}, &.${extraCalendarDayGridClassNames.pressedStyle}`]: {\n color: tokens.colorNeutralForeground1Static,\n backgroundColor: tokens.colorBrandBackgroundInvertedSelected,\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n color: 'HighlightText',\n },\n },\n\n [`& > .${calendarDayGridClassNames.dayMarker}`]: {\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n },\n },\n },\n});\n\nconst useWeekRowStyles = makeStyles({\n base: {\n animationDuration: DURATION_3,\n animationFillMode: 'both',\n animationTimingFunction: EASING_FUNCTION_1,\n },\n horizontalBackward: {\n animationName: [FADE_IN, SLIDE_RIGHT_IN20],\n },\n horizontalForward: {\n animationName: [FADE_IN, SLIDE_LEFT_IN20],\n },\n verticalBackward: {\n animationName: [FADE_IN, SLIDE_DOWN_IN20],\n },\n verticalForward: {\n animationName: [FADE_IN, SLIDE_UP_IN20],\n },\n});\n\nconst useWeekDayLabelCellStyles = makeStyles({\n base: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2,\n },\n});\n\nconst useWeekNumberCellStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor(tokens.colorNeutralStroke2),\n ...shorthands.borderRight('1px', 'solid'),\n boxSizing: 'border-box',\n color: tokens.colorNeutralForeground4,\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n height: '28px',\n ...shorthands.margin(0),\n ...shorthands.padding(0),\n width: '28px',\n },\n});\n\nconst useDayOutsideBoundsStyles = makeStyles({\n base: {\n [`&, &:disabled, & button, &.${extraCalendarDayGridClassNames.hoverStyle}` +\n `, &.${extraCalendarDayGridClassNames.pressedStyle}`]: {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n '@media (forced-colors: active)': {\n color: 'GrayText',\n },\n },\n});\n\nconst useDayOutsideNavigatedMonthStyles = makeStyles({\n lightenDaysOutsideNavigatedMonth: {\n color: tokens.colorNeutralForeground4,\n fontWeight: tokens.fontWeightRegular,\n\n '@media (forced-colors: active)': {\n color: 'GrayText',\n },\n },\n});\n\nconst useDayButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderRadius('2px'),\n ...shorthands.borderStyle('none'),\n color: 'inherit',\n cursor: 'pointer',\n fontSize: tokens.fontSizeBase200,\n fontWeight: 'inherit',\n height: '24px',\n lineHeight: '24px',\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0),\n width: '24px',\n\n '&span': {\n height: 'inherit',\n lineHeight: 'inherit',\n },\n },\n});\n\nconst useDayIsTodayStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorBrandBackground,\n ...shorthands.borderRadius('100%'),\n color: tokens.colorNeutralForegroundOnBrand,\n fontWeight: tokens.fontWeightSemibold,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'WindowText',\n ...shorthands.borderColor('WindowText'),\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n\n [`& > .${calendarDayGridClassNames.dayMarker}`]: {\n backgroundColor: tokens.colorNeutralForegroundOnBrand,\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n },\n },\n },\n});\n\nconst useFirstTransitionWeekStyles = makeStyles({\n base: {\n height: 0,\n opacity: 0,\n ...shorthands.overflow('hidden'),\n position: 'absolute',\n width: 0,\n },\n verticalForward: {\n animationDuration: DURATION_3,\n animationFillMode: 'both',\n animationName: [FADE_OUT, SLIDE_UP_OUT20, TRANSITION_ROW_DISAPPEARANCE],\n animationTimingFunction: EASING_FUNCTION_1,\n },\n});\n\nconst useLastTransitionWeekStyles = makeStyles({\n base: {\n height: 0,\n marginTop: '-28px',\n opacity: 0,\n ...shorthands.overflow('hidden'),\n position: 'absolute',\n width: 0,\n },\n verticalBackward: {\n animationDuration: DURATION_3,\n animationFillMode: 'both',\n animationName: [FADE_OUT, SLIDE_DOWN_OUT20, TRANSITION_ROW_DISAPPEARANCE],\n animationTimingFunction: EASING_FUNCTION_1,\n },\n});\n\nconst useDayMarkerStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorBrandForeground2,\n ...shorthands.borderRadius('100%'),\n bottom: '1px',\n height: '4px',\n left: 0,\n ...shorthands.margin('auto'),\n position: 'absolute',\n right: 0,\n width: '4px',\n\n '@media (forced-colors: active)': {\n backgroundColor: 'WindowText',\n forcedColorAdjust: 'none',\n },\n },\n});\n\nconst useCornerBorderAndRadiusStyles = makeStyles({\n corners: {\n [`&.${weekCornersClassNames.topRightCornerDate}`]: {\n borderTopRightRadius: '2px',\n },\n [`&.${weekCornersClassNames.topLeftCornerDate}`]: {\n borderTopLeftRadius: '2px',\n },\n [`&.${weekCornersClassNames.bottomRightCornerDate}`]: {\n borderBottomRightRadius: '2px',\n },\n [`&.${weekCornersClassNames.bottomLeftCornerDate}`]: {\n borderBottomLeftRadius: '2px',\n },\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the CalendarDayGrid slots based on the state\n */\nexport const useCalendarDayGridStyles_unstable = (props: CalendarDayGridStyleProps): CalendarDayGridStyles => {\n const wrapperStyles = useWrapperStyles();\n const tableStyles = useTableStyles();\n const dayCellStyles = useDayCellStyles();\n const daySelectedStyles = useDaySelectedStyles();\n const weekRowStyles = useWeekRowStyles();\n const weekDayLabelCellStyles = useWeekDayLabelCellStyles();\n const weekNumberCellStyles = useWeekNumberCellStyles();\n const dayOutsideBoundsStyles = useDayOutsideBoundsStyles();\n const dayOutsideNavigatedMonthStyles = useDayOutsideNavigatedMonthStyles();\n const dayButtonStyles = useDayButtonStyles();\n const dayIsTodayStyles = useDayIsTodayStyles();\n const firstTransitionWeekStyles = useFirstTransitionWeekStyles();\n const lastTransitionWeekStyles = useLastTransitionWeekStyles();\n const dayMarkerStyles = useDayMarkerStyles();\n const cornerBorderAndRadiusStyles = useCornerBorderAndRadiusStyles();\n\n const { animateBackwards, animationDirection, lightenDaysOutsideNavigatedMonth, showWeekNumbers } = props;\n\n return {\n wrapper: mergeClasses(calendarDayGridClassNames.wrapper, wrapperStyles.base),\n table: mergeClasses(\n calendarDayGridClassNames.table,\n tableStyles.base,\n showWeekNumbers && tableStyles.showWeekNumbers,\n ),\n dayCell: mergeClasses(calendarDayGridClassNames.dayCell, dayCellStyles.base, cornerBorderAndRadiusStyles.corners),\n daySelected: mergeClasses(calendarDayGridClassNames.daySelected, daySelectedStyles.base),\n weekRow: mergeClasses(\n calendarDayGridClassNames.weekRow,\n animateBackwards !== undefined && weekRowStyles.base,\n animateBackwards !== undefined &&\n (animationDirection === AnimationDirection.Horizontal\n ? animateBackwards\n ? weekRowStyles.horizontalBackward\n : weekRowStyles.horizontalForward\n : animateBackwards\n ? weekRowStyles.verticalBackward\n : weekRowStyles.verticalForward),\n ),\n weekDayLabelCell: mergeClasses(calendarDayGridClassNames.weekDayLabelCell, weekDayLabelCellStyles.base),\n weekNumberCell: mergeClasses(calendarDayGridClassNames.weekNumberCell, weekNumberCellStyles.base),\n dayOutsideBounds: mergeClasses(calendarDayGridClassNames.dayOutsideBounds, dayOutsideBoundsStyles.base),\n dayOutsideNavigatedMonth: mergeClasses(\n calendarDayGridClassNames.dayOutsideNavigatedMonth,\n lightenDaysOutsideNavigatedMonth && dayOutsideNavigatedMonthStyles.lightenDaysOutsideNavigatedMonth,\n ),\n dayButton: mergeClasses(calendarDayGridClassNames.dayButton, dayButtonStyles.base),\n dayIsToday: mergeClasses(calendarDayGridClassNames.dayIsToday, dayIsTodayStyles.base),\n firstTransitionWeek: mergeClasses(\n calendarDayGridClassNames.firstTransitionWeek,\n firstTransitionWeekStyles.base,\n animateBackwards !== undefined &&\n animationDirection !== AnimationDirection.Horizontal &&\n !animateBackwards &&\n firstTransitionWeekStyles.verticalForward,\n ),\n lastTransitionWeek: mergeClasses(\n calendarDayGridClassNames.lastTransitionWeek,\n lastTransitionWeekStyles.base,\n animateBackwards !== undefined &&\n animationDirection !== AnimationDirection.Horizontal &&\n animateBackwards &&\n lastTransitionWeekStyles.verticalBackward,\n ),\n dayMarker: mergeClasses(calendarDayGridClassNames.dayMarker, dayMarkerStyles.base),\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useFluent_unstable","mergeClasses","DateRangeType","getDateRangeArray","weekCornersClassNames","topRightCornerDate","topLeftCornerDate","bottomRightCornerDate","bottomLeftCornerDate","useWeekCornerStyles","props","dir","getWeekCornerStyles","initialWeeks","weekCornersStyled","weeks","slice","length","forEach","week","weekIndex","day","dayIndex","above","isInSameHoverRange","originalDate","isSelected","below","left","right","calculateRoundedStyles","style","roundedTopLeft","roundedTopRight","roundedBottomLeft","roundedBottomRight","push","date1","date2","date1Selected","date2Selected","dateRangeType","firstDayOfWeek","workWeekDays","dateRangeHoverType","WorkWeek","Week","dateRange","filter","date","getTime"],"sources":["../../../src/components/CalendarDayGrid/useWeekCornerStyles.styles.ts"],"sourcesContent":["import { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { mergeClasses } from '@griffel/react';\nimport { DateRangeType } from '../../utils/constants';\nimport { getDateRangeArray } from '../../utils/index';\nimport { DayInfo } from './CalendarDayGrid';\nimport { CalendarDayGridProps } from './CalendarDayGrid.types';\n\n/**\n * @internal\n */\nexport const weekCornersClassNames = {\n topRightCornerDate: 'fui-CalendarDayGrid__topRightCornerDate',\n topLeftCornerDate: 'fui-CalendarDayGrid__topLeftCornerDate',\n bottomRightCornerDate: 'fui-CalendarDayGrid__bottomRightCornerDate',\n bottomLeftCornerDate: 'fui-CalendarDayGrid__bottomLeftCornerDate',\n};\n\n/**\n * @internal\n */\nexport interface WeekCorners {\n [key: string]: string;\n}\n\n/**\n * @internal\n */\nexport function useWeekCornerStyles(props: CalendarDayGridProps) {\n const { dir } = useFluent_unstable();\n\n /**\n *\n * Section for setting the rounded corner styles on individual day cells. Individual day cells need different\n * corners to be rounded depending on which date range type and where the cell is located in the current grid.\n * If we just round all of the corners, there isn't a good overlap and we get gaps between contiguous day boxes\n * in Edge browser.\n *\n */\n const getWeekCornerStyles = (initialWeeks: DayInfo[][]): WeekCorners => {\n const weekCornersStyled: { [key: string]: string } = {};\n /* need to handle setting all of the corners on arbitrarily shaped blobs\n __\n __|A |\n |B |C |__\n |D |E |F |\n\n in this case, A needs top left rounded, top right rounded\n B needs top left rounded\n C doesn't need any rounding\n D needs bottom left rounded\n E doesn't need any rounding\n F needs top right rounding\n */\n\n // cut off the animation transition weeks\n const weeks = initialWeeks.slice(1, initialWeeks.length - 1);\n\n // if there's an item above, lose both top corners. Item below, lose both bottom corners, etc.\n weeks.forEach((week: DayInfo[], weekIndex: number) => {\n week.forEach((day: DayInfo, dayIndex: number) => {\n const above =\n weeks[weekIndex - 1] &&\n weeks[weekIndex - 1][dayIndex] &&\n isInSameHoverRange(\n weeks[weekIndex - 1][dayIndex].originalDate,\n day.originalDate,\n weeks[weekIndex - 1][dayIndex].isSelected,\n day.isSelected,\n );\n const below =\n weeks[weekIndex + 1] &&\n weeks[weekIndex + 1][dayIndex] &&\n isInSameHoverRange(\n weeks[weekIndex + 1][dayIndex].originalDate,\n day.originalDate,\n weeks[weekIndex + 1][dayIndex].isSelected,\n day.isSelected,\n );\n const left =\n weeks[weekIndex][dayIndex - 1] &&\n isInSameHoverRange(\n weeks[weekIndex][dayIndex - 1].originalDate,\n day.originalDate,\n weeks[weekIndex][dayIndex - 1].isSelected,\n day.isSelected,\n );\n const right =\n weeks[weekIndex][dayIndex + 1] &&\n isInSameHoverRange(\n weeks[weekIndex][dayIndex + 1].originalDate,\n day.originalDate,\n weeks[weekIndex][dayIndex + 1].isSelected,\n day.isSelected,\n );\n\n weekCornersStyled[weekIndex + '_' + dayIndex] = calculateRoundedStyles(above, below, left, right);\n });\n });\n\n return weekCornersStyled;\n };\n\n const calculateRoundedStyles = (above: boolean, below: boolean, left: boolean, right: boolean): string => {\n const style = [];\n const roundedTopLeft = !above && !left;\n const roundedTopRight = !above && !right;\n const roundedBottomLeft = !below && !left;\n const roundedBottomRight = !below && !right;\n\n if (roundedTopLeft) {\n style.push(dir === 'rtl' ? weekCornersClassNames.topRightCornerDate : weekCornersClassNames.topLeftCornerDate);\n }\n if (roundedTopRight) {\n style.push(dir === 'rtl' ? weekCornersClassNames.topLeftCornerDate : weekCornersClassNames.topRightCornerDate);\n }\n if (roundedBottomLeft) {\n style.push(\n dir === 'rtl' ? weekCornersClassNames.bottomRightCornerDate : weekCornersClassNames.bottomLeftCornerDate,\n );\n }\n if (roundedBottomRight) {\n style.push(\n dir === 'rtl' ? weekCornersClassNames.bottomLeftCornerDate : weekCornersClassNames.bottomRightCornerDate,\n );\n }\n\n return mergeClasses(...style);\n };\n\n const isInSameHoverRange = (date1: Date, date2: Date, date1Selected: boolean, date2Selected: boolean): boolean => {\n const { dateRangeType, firstDayOfWeek, workWeekDays } = props;\n\n // The hover state looks weird with non-contiguous days in work week view. In work week, show week hover state\n const dateRangeHoverType = dateRangeType === DateRangeType.WorkWeek ? DateRangeType.Week : dateRangeType;\n\n // we do not pass daysToSelectInDayView because we handle setting those styles dyanamically in onMouseOver\n const dateRange = getDateRangeArray(date1, dateRangeHoverType, firstDayOfWeek, workWeekDays);\n\n if (date1Selected !== date2Selected) {\n // if one is selected and the other is not, they can't be in the same range\n return false;\n } else if (date1Selected && date2Selected) {\n // if they're both selected at the same time they must be in the same range\n return true;\n }\n\n // otherwise, both must be unselected, so check the dateRange\n return dateRange.filter((date: Date) => date.getTime() === date2.getTime()).length > 0;\n };\n\n return [getWeekCornerStyles, calculateRoundedStyles] as const;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCalendarPickerStyles_unstable","useCalendarMonthStyles_unstable","props"],"sources":["../../../src/components/CalendarMonth/useCalendarMonthStyles.ts"],"sourcesContent":["import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles';\nimport type { CalendarMonthStyleProps, CalendarMonthStyles } from './CalendarMonth.types';\n\n/**\n * @internal\n *\n * Apply styling to the CalendarMonth slots based on the state\n */\nexport const useCalendarMonthStyles_unstable = (props: CalendarMonthStyleProps): CalendarMonthStyles => {\n return useCalendarPickerStyles_unstable(props);\n};\n"],"mappings":"AAAA,SAASA,gCAAgC,QAAQ;AAGjD;;;;;AAKA,OAAO,MAAMC,+BAAA,GAAmCC,KAAA,IAAwD;EACtG,OAAOF,gCAAA,CAAiCE,KAAA;AAC1C"}
|
|
1
|
+
{"version":3,"names":["useCalendarPickerStyles_unstable","useCalendarMonthStyles_unstable","props"],"sources":["../../../src/components/CalendarMonth/useCalendarMonthStyles.ts"],"sourcesContent":["import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\nimport type { CalendarMonthStyleProps, CalendarMonthStyles } from './CalendarMonth.types';\n\n/**\n * @internal\n *\n * Apply styling to the CalendarMonth slots based on the state\n */\nexport const useCalendarMonthStyles_unstable = (props: CalendarMonthStyleProps): CalendarMonthStyles => {\n return useCalendarPickerStyles_unstable(props);\n};\n"],"mappings":"AAAA,SAASA,gCAAgC,QAAQ;AAGjD;;;;;AAKA,OAAO,MAAMC,+BAAA,GAAmCC,KAAA,IAAwD;EACtG,OAAOF,gCAAA,CAAiCE,KAAA;AAC1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/components/CalendarPicker/index.ts"],"sourcesContent":["export * from './CalendarPicker.types';\nexport * from './useCalendarPickerStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/CalendarPicker/index.ts"],"sourcesContent":["export * from './CalendarPicker.types';\nexport * from './useCalendarPickerStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc"}
|
|
@@ -368,4 +368,4 @@ export const useCalendarPickerStyles_unstable = props => {
|
|
|
368
368
|
disabled: mergeClasses(calendarPickerClassNames.disabled, disabledStyles.base)
|
|
369
369
|
};
|
|
370
370
|
};
|
|
371
|
-
//# sourceMappingURL=useCalendarPickerStyles.js.map
|
|
371
|
+
//# sourceMappingURL=useCalendarPickerStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tokens","__styles","mergeClasses","shorthands","DURATION_2","DURATION_3","EASING_FUNCTION_1","EASING_FUNCTION_2","FADE_IN","SLIDE_DOWN_IN20","SLIDE_LEFT_IN20","SLIDE_RIGHT_IN20","SLIDE_UP_IN20","AnimationDirection","calendarPickerClassNames","root","headerContainer","currentItemButton","navigationButtonsContainer","navigationButton","gridContainer","buttonRow","itemButton","current","selected","disabled","useRootStyles","base","B7ck84d","B68tc82","Bmxbyg5","z8tnut","z189sj","Byoj8tv","uwmqm3","a9b677","normalize","E5pizo","B6of3ja","t21cq0","jrapky","Frg6f3","d","useHeaderContainerStyles","mc9l5x","useCurrentItemButtonStyles","De3pzq","icvyot","vrafjx","oivjwe","wvpqe5","sj55zd","Bh6795r","Bahqtrf","Be2twd7","Bhrd7zp","fsow6f","animation","vin17d","Bf5fcs","Bv12yb3","Ezkn3b","hasHeaderClickCallback","Jwef8y","Bi91k9c","eoavqd","Dwtyhm","ukgb2i","pugfm4","iro3zm","B2d53fq","c3iz72","syojd9","Bx68yb","mghro0","k","h","useNavigationButtonsContainerStyles","Bt984gj","useNavigationButtonStyles","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","Bqenvij","Bg96gwp","sshi5w","Bf4jedk","qhf8xq","useGridContainerStyles","useButtonRowStyles","sw9gdo","horizontalBackward","horizontalForward","verticalBackward","verticalForward","useItemButtonStyles","Btgfwho","xrote9","Bja5ulm","Bqrx1nm","ze5xyy","iyr2r2","Bv57zgv","Bnosqey","Bx7pl5v","g2kj27","pc6evw","B76w7ga","m","useCurrentStyles","highlightCurrent","Bsw6fvg","Bbusuzp","ycbfsm","mk428o","B1lrsqs","z0vste","Bgjd7nk","kur00z","useSelectedStyles","highlightSelected","useDisabledStyles","Bg33ivm","t69wg0","useCalendarPickerStyles_unstable","props","rootStyles","headerContainerStyles","currentItemButtonStyles","navigationButtonsContainerStyles","navigationButtonStyles","gridContainerStyles","buttonRowStyles","itemButtonStyles","currentStyles","selectedStyles","disabledStyles","animateBackwards","animationDirection","className","undefined","Horizontal"],"sources":["../../../src/components/CalendarPicker/useCalendarPickerStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport {\n DURATION_2,\n DURATION_3,\n EASING_FUNCTION_1,\n EASING_FUNCTION_2,\n FADE_IN,\n SLIDE_DOWN_IN20,\n SLIDE_LEFT_IN20,\n SLIDE_RIGHT_IN20,\n SLIDE_UP_IN20,\n} from '../../utils/animations';\nimport { AnimationDirection } from '../Calendar/Calendar.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarPickerStyles, CalendarPickerStyleProps } from './CalendarPicker.types';\n\n/**\n * @internal\n */\nexport const calendarPickerClassNames: SlotClassNames<CalendarPickerStyles> = {\n root: 'fui-CalendarPicker',\n headerContainer: 'fui-CalendarPicker__headerContainer',\n currentItemButton: 'fui-CalendarPicker__currentItemButton',\n navigationButtonsContainer: 'fui-CalendarPicker__navigationButtonsContainer',\n navigationButton: 'fui-CalendarPicker__navigationButton',\n gridContainer: 'fui-CalendarPicker__gridContainer',\n buttonRow: 'fui-CalendarPicker__buttonRow',\n itemButton: 'fui-CalendarPicker__itemButton',\n current: 'fui-CalendarPicker__current',\n selected: 'fui-CalendarPicker__selected',\n disabled: 'fui-CalendarPicker__disabled',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n ...shorthands.overflow('hidden'),\n ...shorthands.padding('12px'),\n width: '196px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n ...shorthands.margin(0),\n ...shorthands.padding(0),\n },\n});\n\nconst useHeaderContainerStyles = makeStyles({\n base: {\n display: 'flex',\n },\n});\n\nconst useCurrentItemButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n color: 'inherit',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0, '4px', 0, '10px'),\n textAlign: 'left',\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2,\n },\n hasHeaderClickCallback: {\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n ...shorthands.outline('1px', 'solid', tokens.colorTransparentStroke),\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n cursor: 'pointer',\n ...shorthands.outline('1px', 'solid', tokens.colorTransparentStroke),\n },\n },\n});\n\nconst useNavigationButtonsContainerStyles = makeStyles({\n base: {\n alignItems: 'center',\n display: 'flex',\n },\n});\n\nconst useNavigationButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n ...shorthands.borderRadius('2px'),\n color: tokens.colorNeutralForeground1,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n minHeight: '28px',\n minWidth: '28px',\n ...shorthands.overflow('visible'),\n ...shorthands.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 ...shorthands.outline('1px', 'solid', tokens.colorTransparentStroke),\n },\n\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n },\n },\n});\n\nconst useGridContainerStyles = makeStyles({\n base: {\n marginTop: '4px',\n },\n});\n\nconst useButtonRowStyles = makeStyles({\n base: {\n marginBottom: '16px',\n '&:last-of-type': {\n marginBottom: 0,\n },\n },\n animation: {\n animationDuration: DURATION_3,\n animationFillMode: 'both',\n animationTimingFunction: EASING_FUNCTION_1,\n },\n horizontalBackward: {\n animationName: [FADE_IN, SLIDE_RIGHT_IN20],\n },\n horizontalForward: {\n animationName: [FADE_IN, SLIDE_LEFT_IN20],\n },\n verticalBackward: {\n animationName: [FADE_IN, SLIDE_DOWN_IN20],\n },\n verticalForward: {\n animationName: [FADE_IN, SLIDE_UP_IN20],\n },\n});\n\nconst useItemButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n ...shorthands.borderRadius('2px'),\n color: tokens.colorNeutralForeground3,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '40px',\n lineHeight: '40px',\n minHeight: '40px',\n minWidth: '40px',\n ...shorthands.margin(0, '12px', 0, 0),\n ...shorthands.overflow('visible'),\n ...shorthands.padding(0),\n width: '40px',\n\n '&:nth-child(4n + 4)': {\n marginRight: 0,\n },\n '&:nth-child(n + 9)': {\n marginBottom: 0,\n },\n '& div': {\n fontWeight: tokens.fontWeightRegular,\n },\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorNeutralForeground1Static,\n cursor: 'pointer',\n ...shorthands.outline('1px', 'solid', tokens.colorTransparentStroke),\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n color: 'WindowText',\n forcedColorAdjust: 'none',\n ...shorthands.outline('1px', 'solid', 'Highlight'),\n },\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n },\n },\n});\n\nconst useCurrentStyles = makeStyles({\n highlightCurrent: {\n backgroundColor: tokens.colorBrandBackground,\n color: tokens.colorNeutralForegroundOnBrand,\n fontWeight: tokens.fontWeightSemibold,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'WindowText',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n '&:hover, &:hover:active': {\n backgroundColor: tokens.colorBrandBackground,\n color: tokens.colorNeutralForegroundOnBrand,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'WindowText',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n },\n },\n});\n\nconst useSelectedStyles = makeStyles({\n highlightSelected: {\n backgroundColor: tokens.colorBrandBackgroundInvertedSelected,\n color: tokens.colorNeutralForeground1Static,\n fontWeight: tokens.fontWeightSemibold,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n '& div': {\n fontWeight: tokens.fontWeightSemibold,\n },\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedSelected,\n color: tokens.colorNeutralForeground1Static,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n },\n },\n});\n\nconst useDisabledStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n '@media (forced-colors: active)': {\n color: 'GrayText',\n forcedColorAdjust: 'none',\n },\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the CalendarPicker slots based on the state\n */\nexport const useCalendarPickerStyles_unstable = (props: CalendarPickerStyleProps): CalendarPickerStyles => {\n const rootStyles = useRootStyles();\n const headerContainerStyles = useHeaderContainerStyles();\n const currentItemButtonStyles = useCurrentItemButtonStyles();\n const navigationButtonsContainerStyles = useNavigationButtonsContainerStyles();\n const navigationButtonStyles = useNavigationButtonStyles();\n const gridContainerStyles = useGridContainerStyles();\n const buttonRowStyles = useButtonRowStyles();\n const itemButtonStyles = useItemButtonStyles();\n const currentStyles = useCurrentStyles();\n const selectedStyles = useSelectedStyles();\n const disabledStyles = useDisabledStyles();\n\n const {\n animateBackwards,\n animationDirection,\n className,\n hasHeaderClickCallback,\n highlightCurrent,\n highlightSelected,\n } = props;\n\n return {\n root: mergeClasses(calendarPickerClassNames.root, rootStyles.normalize, rootStyles.base, className),\n headerContainer: mergeClasses(calendarPickerClassNames.headerContainer, headerContainerStyles.base),\n currentItemButton: mergeClasses(\n calendarPickerClassNames.currentItemButton,\n currentItemButtonStyles.base,\n animateBackwards !== undefined && currentItemButtonStyles.animation,\n hasHeaderClickCallback && currentItemButtonStyles.hasHeaderClickCallback,\n ),\n navigationButtonsContainer: mergeClasses(\n calendarPickerClassNames.navigationButtonsContainer,\n navigationButtonsContainerStyles.base,\n ),\n navigationButton: mergeClasses(calendarPickerClassNames.navigationButton, navigationButtonStyles.base),\n gridContainer: mergeClasses(calendarPickerClassNames.gridContainer, gridContainerStyles.base),\n buttonRow: mergeClasses(\n calendarPickerClassNames.buttonRow,\n buttonRowStyles.base,\n buttonRowStyles.animation,\n animateBackwards !== undefined &&\n (animationDirection === AnimationDirection.Horizontal\n ? animateBackwards\n ? buttonRowStyles.horizontalBackward\n : buttonRowStyles.horizontalForward\n : animateBackwards\n ? buttonRowStyles.verticalBackward\n : buttonRowStyles.verticalForward),\n ),\n itemButton: mergeClasses(calendarPickerClassNames.itemButton, itemButtonStyles.base),\n selected: mergeClasses(calendarPickerClassNames.selected, highlightSelected && selectedStyles.highlightSelected),\n current: mergeClasses(calendarPickerClassNames.current, highlightCurrent && currentStyles.highlightCurrent),\n disabled: mergeClasses(calendarPickerClassNames.disabled, disabledStyles.base),\n };\n};\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { ArrowDownRegular, ArrowUpRegular } from '@fluentui/react-icons';
|
|
|
4
4
|
import { useFluent_unstable } from '@fluentui/react-shared-contexts';
|
|
5
5
|
import { useArrowNavigationGroup } from '@fluentui/react-tabster';
|
|
6
6
|
import { mergeClasses } from '@griffel/react';
|
|
7
|
-
import { useCalendarYearStyles_unstable } from './useCalendarYearStyles';
|
|
7
|
+
import { useCalendarYearStyles_unstable } from './useCalendarYearStyles.styles';
|
|
8
8
|
const CELL_COUNT = 12;
|
|
9
9
|
const CELLS_PER_ROW = 4;
|
|
10
10
|
const DefaultCalendarYearStrings = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Enter","Space","ArrowDownRegular","ArrowUpRegular","useFluent_unstable","useArrowNavigationGroup","mergeClasses","useCalendarYearStyles_unstable","CELL_COUNT","CELLS_PER_ROW","DefaultCalendarYearStrings","prevRangeAriaLabel","undefined","nextRangeAriaLabel","CalendarYearGridCell","props","className","highlightCurrentYear","highlightSelectedYear","year","selected","disabled","componentRef","onSelectYear","onRenderYear","buttonRef","useRef","useImperativeHandle","focus","_buttonRef_current","_buttonRef_current_focus","current","call","onClick","onKeyDown","ev","key","classNames","highlightCurrent","highlightSelected","_onRenderYear","createElement","itemButton","type","role","ref","displayName","CalendarYearGrid","fromYear","toYear","animationDirection","animateBackwards","minYear","maxYear","selectedYear","selectedCellRef","currentCellRef","_ref","_ref_focus","renderCell","yearToRender","Date","getFullYear","value","_props_onRenderYear","_props_onRenderYear1","gridAriaLabel","cells","i","push","j","arrowNavigationAttributes","axis","gridContainer","map","cellRow","index","buttonRow","CalendarYearNavDirection","Previous","Next","CalendarYearNavArrow","strings","direction","onSelectPrev","onSelectNext","ariaLabel","newRangeOffset","newRange","ariaLabelString","onNavigate","dir","isLeftNavigation","navigationButton","title","CalendarYearNav","navigationButtonsContainer","CalendarYearTitle","onHeaderSelect","_props_onHeaderSelect","onHeaderKeyDown","hasHeaderClickCallback","rangeAriaLabel","headerAriaLabelFormatString","currentDateRange","replace","currentItemButton","CalendarYearHeader","onRenderTitle","_onRenderTitle","headerContainer","useAnimateBackwards","navigatedYear","rangeYear","Math","floor","previousFromYearRef","previousFromYear","NavigationDirection","useYearRangeState","navigate","useReducer","state","action","onNavNext","onNavPrevious","CalendarYear","gridRef","_gridRef_current","_gridRef_current_focus","root"],"sources":["../../../src/components/CalendarYear/CalendarYear.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport { ArrowDownRegular, ArrowUpRegular } from '@fluentui/react-icons';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { mergeClasses } from '@griffel/react';\nimport { useCalendarYearStyles_unstable } from './useCalendarYearStyles';\nimport type {\n CalendarYearStrings,\n CalendarYearProps,\n CalendarYearRange,\n CalendarYearHeaderProps,\n} from './CalendarYear.types';\n\nconst CELL_COUNT = 12;\nconst CELLS_PER_ROW = 4;\n\nconst DefaultCalendarYearStrings: CalendarYearStrings = {\n prevRangeAriaLabel: undefined,\n nextRangeAriaLabel: undefined,\n};\ninterface CalendarYearGrid {\n focus(): void;\n}\n\ninterface CalendarYearGridCellProps extends CalendarYearProps {\n year: number;\n current?: boolean;\n selected?: boolean;\n disabled?: boolean;\n onSelectYear?: (year: number) => void;\n onRenderYear?: (year: number) => React.ReactNode;\n}\n\ninterface CalendarYearGridProps extends CalendarYearProps, CalendarYearRange {\n selectedYear?: number;\n animateBackwards?: boolean;\n componentRef?: React.RefObject<CalendarYearGridCell>;\n}\n\ninterface CalendarYearGridCell {\n focus(): void;\n}\n\nconst CalendarYearGridCell: React.FunctionComponent<CalendarYearGridCellProps> = props => {\n const {\n className,\n highlightCurrentYear,\n highlightSelectedYear,\n year,\n selected,\n disabled,\n componentRef,\n onSelectYear,\n onRenderYear,\n } = props;\n\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n buttonRef.current?.focus?.();\n },\n }),\n [],\n );\n\n const onClick = () => {\n onSelectYear?.(year);\n };\n\n const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter) {\n onSelectYear?.(year);\n }\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n highlightCurrent: highlightCurrentYear,\n highlightSelected: highlightSelectedYear,\n });\n\n return (\n <button\n className={mergeClasses(classNames.itemButton, selected && classNames.selected, disabled && classNames.disabled)}\n type=\"button\"\n role=\"gridcell\"\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? onKeyDown : undefined}\n disabled={disabled}\n aria-selected={selected}\n ref={buttonRef}\n >\n {onRenderYear?.(year) ?? year}\n </button>\n );\n};\nCalendarYearGridCell.displayName = 'CalendarYearGridCell';\n\nconst CalendarYearGrid: React.FunctionComponent<CalendarYearGridProps> = props => {\n const {\n className,\n fromYear,\n toYear,\n animationDirection,\n animateBackwards,\n minYear,\n maxYear,\n onSelectYear,\n selectedYear,\n componentRef,\n } = props;\n\n const selectedCellRef = React.useRef<CalendarYearGridCell>(null);\n const currentCellRef = React.useRef<CalendarYearGridCell>(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n (selectedCellRef.current || currentCellRef.current)?.focus?.();\n },\n }),\n [],\n );\n\n const renderCell = (yearToRender: number): React.ReactNode => {\n const selected = yearToRender === selectedYear;\n const disabled =\n (minYear !== undefined && yearToRender < minYear) || (maxYear !== undefined && yearToRender > maxYear);\n const current = yearToRender === new Date().getFullYear();\n\n return (\n <CalendarYearGridCell\n {...props}\n key={yearToRender}\n year={yearToRender}\n selected={selected}\n current={current}\n disabled={disabled}\n onSelectYear={onSelectYear}\n componentRef={selected ? selectedCellRef : current ? currentCellRef : undefined}\n />\n );\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n animateBackwards,\n animationDirection,\n });\n\n const onRenderYear = (value: number) => {\n return props.onRenderYear?.(value) ?? value;\n };\n\n const gridAriaLabel = `${onRenderYear(fromYear)} - ${onRenderYear(toYear)}`;\n\n let year = fromYear;\n const cells: React.ReactNode[][] = [];\n\n for (let i = 0; i < (toYear - fromYear + 1) / CELLS_PER_ROW; i++) {\n cells.push([]);\n for (let j = 0; j < CELLS_PER_ROW; j++) {\n cells[i].push(renderCell(year));\n year++;\n }\n }\n\n const arrowNavigationAttributes = useArrowNavigationGroup({ axis: 'both' });\n\n return (\n <div {...arrowNavigationAttributes}>\n <div className={classNames.gridContainer} role=\"grid\" aria-label={gridAriaLabel}>\n {cells.map((cellRow: React.ReactNode[], index: number) => {\n return (\n <div key={'yearPickerRow_' + index + '_' + fromYear} role=\"row\" className={classNames.buttonRow}>\n {cellRow}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\nCalendarYearGrid.displayName = 'CalendarYearGrid';\n\nconst CalendarYearNavDirection = {\n Previous: 0 as const,\n Next: 1 as const,\n};\n\ninterface CalendarYearNavArrowProps extends CalendarYearHeaderProps {\n direction: (typeof CalendarYearNavDirection)[keyof typeof CalendarYearNavDirection];\n}\n\nconst CalendarYearNavArrow: React.FunctionComponent<CalendarYearNavArrowProps> = props => {\n const {\n className,\n strings = DefaultCalendarYearStrings,\n direction,\n onSelectPrev,\n onSelectNext,\n fromYear,\n toYear,\n maxYear,\n minYear,\n } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n const ariaLabel =\n direction === CalendarYearNavDirection.Previous ? strings.prevRangeAriaLabel : strings.nextRangeAriaLabel;\n const newRangeOffset = direction === CalendarYearNavDirection.Previous ? -CELL_COUNT : CELL_COUNT;\n const newRange = { fromYear: fromYear + newRangeOffset, toYear: toYear + newRangeOffset };\n const ariaLabelString = ariaLabel ? (typeof ariaLabel === 'string' ? ariaLabel : ariaLabel(newRange)) : undefined;\n const disabled =\n direction === CalendarYearNavDirection.Previous\n ? minYear !== undefined && fromYear < minYear\n : maxYear !== undefined && props.fromYear + CELL_COUNT > maxYear;\n\n const onNavigate = () => {\n direction === CalendarYearNavDirection.Previous ? onSelectPrev?.() : onSelectNext?.();\n };\n\n const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter) {\n onNavigate();\n }\n };\n\n const { dir } = useFluent_unstable();\n\n // can be condensed, but leaving verbose for clarity due to regressions\n const isLeftNavigation =\n dir === 'rtl' ? direction === CalendarYearNavDirection.Next : direction === CalendarYearNavDirection.Previous;\n\n return (\n <button\n className={mergeClasses(classNames.navigationButton, disabled && classNames.disabled)}\n onClick={!disabled ? onNavigate : undefined}\n onKeyDown={!disabled ? onKeyDown : undefined}\n type=\"button\"\n title={ariaLabelString}\n disabled={disabled}\n >\n {isLeftNavigation ? <ArrowUpRegular /> : <ArrowDownRegular />}\n </button>\n );\n};\nCalendarYearNavArrow.displayName = 'CalendarYearNavArrow';\n\nconst CalendarYearNav: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const { className } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n return (\n <div className={classNames.navigationButtonsContainer}>\n <CalendarYearNavArrow {...props} direction={CalendarYearNavDirection.Previous} />\n <CalendarYearNavArrow {...props} direction={CalendarYearNavDirection.Next} />\n </div>\n );\n};\nCalendarYearNav.displayName = 'CalendarYearNav';\n\nconst CalendarYearTitle: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const {\n className,\n fromYear,\n toYear,\n strings = DefaultCalendarYearStrings,\n animateBackwards,\n animationDirection,\n } = props;\n\n const onHeaderSelect = () => {\n props.onHeaderSelect?.(true);\n };\n\n const onHeaderKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter || ev.key === Space) {\n onHeaderSelect();\n }\n };\n\n const onRenderYear = (year: number) => {\n return props.onRenderYear?.(year) ?? year;\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards,\n animationDirection,\n });\n\n if (props.onHeaderSelect) {\n const rangeAriaLabel = strings.rangeAriaLabel;\n const headerAriaLabelFormatString = strings.headerAriaLabelFormatString;\n const currentDateRange = rangeAriaLabel\n ? typeof rangeAriaLabel === 'string'\n ? rangeAriaLabel\n : rangeAriaLabel(props)\n : undefined;\n\n const ariaLabel = headerAriaLabelFormatString\n ? headerAriaLabelFormatString.replace('{0}', currentDateRange ?? '')\n : currentDateRange;\n\n return (\n <button\n className={classNames.currentItemButton}\n onClick={onHeaderSelect}\n onKeyDown={onHeaderKeyDown}\n aria-label={ariaLabel}\n role=\"button\"\n type=\"button\"\n >\n <span aria-live=\"assertive\" aria-atomic=\"true\">\n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n </span>\n </button>\n );\n }\n\n return (\n <div className={classNames.current}>\n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n </div>\n );\n};\nCalendarYearTitle.displayName = 'CalendarYearTitle';\n\nconst CalendarYearHeader: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const { className, animateBackwards, animationDirection, onRenderTitle } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards,\n animationDirection,\n });\n\n return (\n <div className={classNames.headerContainer}>\n {onRenderTitle?.(props) ?? <CalendarYearTitle {...props} />}\n <CalendarYearNav {...props} />\n </div>\n );\n};\nCalendarYearHeader.displayName = 'CalendarYearHeader';\n\nfunction useAnimateBackwards({ selectedYear, navigatedYear }: CalendarYearProps) {\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n const fromYear = Math.floor(rangeYear / 10) * 10;\n\n const previousFromYearRef = React.useRef<number | undefined>(fromYear);\n React.useRef(() => {\n previousFromYearRef.current = fromYear;\n });\n const previousFromYear = previousFromYearRef.current;\n\n if (!previousFromYear || previousFromYear === fromYear) {\n return undefined;\n } else if (previousFromYear > fromYear) {\n return true;\n } else {\n return false;\n }\n}\n\nconst NavigationDirection = {\n Previous: 0 as const,\n Next: 1 as const,\n};\n\nfunction useYearRangeState({ selectedYear, navigatedYear }: CalendarYearProps) {\n const [fromYear, navigate] = React.useReducer(\n (state: number, action: (typeof NavigationDirection)[keyof typeof NavigationDirection]): number => {\n return state + (action === NavigationDirection.Next ? CELL_COUNT : -CELL_COUNT);\n },\n undefined,\n () => {\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n return Math.floor(rangeYear / 10) * 10;\n },\n );\n const toYear = fromYear + CELL_COUNT - 1;\n\n const onNavNext = () => navigate(NavigationDirection.Next);\n const onNavPrevious = () => navigate(NavigationDirection.Previous);\n\n return [fromYear, toYear, onNavNext, onNavPrevious] as const;\n}\n\n/**\n * @internal\n */\nexport const CalendarYear: React.FunctionComponent<CalendarYearProps> = props => {\n const animateBackwards = useAnimateBackwards(props);\n const [fromYear, toYear, onNavNext, onNavPrevious] = useYearRangeState(props);\n\n const gridRef = React.useRef<CalendarYearGrid>(null);\n\n React.useImperativeHandle(props.componentRef, () => ({\n focus() {\n gridRef.current?.focus?.();\n },\n }));\n\n const { className } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n return (\n <div className={classNames.root}>\n <CalendarYearHeader\n {...props}\n fromYear={fromYear}\n toYear={toYear}\n onSelectPrev={onNavPrevious}\n onSelectNext={onNavNext}\n animateBackwards={animateBackwards}\n />\n <CalendarYearGrid\n {...props}\n fromYear={fromYear}\n toYear={toYear}\n animateBackwards={animateBackwards}\n componentRef={gridRef}\n />\n </div>\n );\n};\nCalendarYear.displayName = 'CalendarYear';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Enter","Space","ArrowDownRegular","ArrowUpRegular","useFluent_unstable","useArrowNavigationGroup","mergeClasses","useCalendarYearStyles_unstable","CELL_COUNT","CELLS_PER_ROW","DefaultCalendarYearStrings","prevRangeAriaLabel","undefined","nextRangeAriaLabel","CalendarYearGridCell","props","className","highlightCurrentYear","highlightSelectedYear","year","selected","disabled","componentRef","onSelectYear","onRenderYear","buttonRef","useRef","useImperativeHandle","focus","_buttonRef_current","_buttonRef_current_focus","current","call","onClick","onKeyDown","ev","key","classNames","highlightCurrent","highlightSelected","_onRenderYear","createElement","itemButton","type","role","ref","displayName","CalendarYearGrid","fromYear","toYear","animationDirection","animateBackwards","minYear","maxYear","selectedYear","selectedCellRef","currentCellRef","_ref","_ref_focus","renderCell","yearToRender","Date","getFullYear","value","_props_onRenderYear","_props_onRenderYear1","gridAriaLabel","cells","i","push","j","arrowNavigationAttributes","axis","gridContainer","map","cellRow","index","buttonRow","CalendarYearNavDirection","Previous","Next","CalendarYearNavArrow","strings","direction","onSelectPrev","onSelectNext","ariaLabel","newRangeOffset","newRange","ariaLabelString","onNavigate","dir","isLeftNavigation","navigationButton","title","CalendarYearNav","navigationButtonsContainer","CalendarYearTitle","onHeaderSelect","_props_onHeaderSelect","onHeaderKeyDown","hasHeaderClickCallback","rangeAriaLabel","headerAriaLabelFormatString","currentDateRange","replace","currentItemButton","CalendarYearHeader","onRenderTitle","_onRenderTitle","headerContainer","useAnimateBackwards","navigatedYear","rangeYear","Math","floor","previousFromYearRef","previousFromYear","NavigationDirection","useYearRangeState","navigate","useReducer","state","action","onNavNext","onNavPrevious","CalendarYear","gridRef","_gridRef_current","_gridRef_current_focus","root"],"sources":["../../../src/components/CalendarYear/CalendarYear.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport { ArrowDownRegular, ArrowUpRegular } from '@fluentui/react-icons';\nimport { useFluent_unstable } from '@fluentui/react-shared-contexts';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { mergeClasses } from '@griffel/react';\nimport { useCalendarYearStyles_unstable } from './useCalendarYearStyles.styles';\nimport type {\n CalendarYearStrings,\n CalendarYearProps,\n CalendarYearRange,\n CalendarYearHeaderProps,\n} from './CalendarYear.types';\n\nconst CELL_COUNT = 12;\nconst CELLS_PER_ROW = 4;\n\nconst DefaultCalendarYearStrings: CalendarYearStrings = {\n prevRangeAriaLabel: undefined,\n nextRangeAriaLabel: undefined,\n};\ninterface CalendarYearGrid {\n focus(): void;\n}\n\ninterface CalendarYearGridCellProps extends CalendarYearProps {\n year: number;\n current?: boolean;\n selected?: boolean;\n disabled?: boolean;\n onSelectYear?: (year: number) => void;\n onRenderYear?: (year: number) => React.ReactNode;\n}\n\ninterface CalendarYearGridProps extends CalendarYearProps, CalendarYearRange {\n selectedYear?: number;\n animateBackwards?: boolean;\n componentRef?: React.RefObject<CalendarYearGridCell>;\n}\n\ninterface CalendarYearGridCell {\n focus(): void;\n}\n\nconst CalendarYearGridCell: React.FunctionComponent<CalendarYearGridCellProps> = props => {\n const {\n className,\n highlightCurrentYear,\n highlightSelectedYear,\n year,\n selected,\n disabled,\n componentRef,\n onSelectYear,\n onRenderYear,\n } = props;\n\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n buttonRef.current?.focus?.();\n },\n }),\n [],\n );\n\n const onClick = () => {\n onSelectYear?.(year);\n };\n\n const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter) {\n onSelectYear?.(year);\n }\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n highlightCurrent: highlightCurrentYear,\n highlightSelected: highlightSelectedYear,\n });\n\n return (\n <button\n className={mergeClasses(classNames.itemButton, selected && classNames.selected, disabled && classNames.disabled)}\n type=\"button\"\n role=\"gridcell\"\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? onKeyDown : undefined}\n disabled={disabled}\n aria-selected={selected}\n ref={buttonRef}\n >\n {onRenderYear?.(year) ?? year}\n </button>\n );\n};\nCalendarYearGridCell.displayName = 'CalendarYearGridCell';\n\nconst CalendarYearGrid: React.FunctionComponent<CalendarYearGridProps> = props => {\n const {\n className,\n fromYear,\n toYear,\n animationDirection,\n animateBackwards,\n minYear,\n maxYear,\n onSelectYear,\n selectedYear,\n componentRef,\n } = props;\n\n const selectedCellRef = React.useRef<CalendarYearGridCell>(null);\n const currentCellRef = React.useRef<CalendarYearGridCell>(null);\n\n React.useImperativeHandle(\n componentRef,\n () => ({\n focus() {\n (selectedCellRef.current || currentCellRef.current)?.focus?.();\n },\n }),\n [],\n );\n\n const renderCell = (yearToRender: number): React.ReactNode => {\n const selected = yearToRender === selectedYear;\n const disabled =\n (minYear !== undefined && yearToRender < minYear) || (maxYear !== undefined && yearToRender > maxYear);\n const current = yearToRender === new Date().getFullYear();\n\n return (\n <CalendarYearGridCell\n {...props}\n key={yearToRender}\n year={yearToRender}\n selected={selected}\n current={current}\n disabled={disabled}\n onSelectYear={onSelectYear}\n componentRef={selected ? selectedCellRef : current ? currentCellRef : undefined}\n />\n );\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n animateBackwards,\n animationDirection,\n });\n\n const onRenderYear = (value: number) => {\n return props.onRenderYear?.(value) ?? value;\n };\n\n const gridAriaLabel = `${onRenderYear(fromYear)} - ${onRenderYear(toYear)}`;\n\n let year = fromYear;\n const cells: React.ReactNode[][] = [];\n\n for (let i = 0; i < (toYear - fromYear + 1) / CELLS_PER_ROW; i++) {\n cells.push([]);\n for (let j = 0; j < CELLS_PER_ROW; j++) {\n cells[i].push(renderCell(year));\n year++;\n }\n }\n\n const arrowNavigationAttributes = useArrowNavigationGroup({ axis: 'both' });\n\n return (\n <div {...arrowNavigationAttributes}>\n <div className={classNames.gridContainer} role=\"grid\" aria-label={gridAriaLabel}>\n {cells.map((cellRow: React.ReactNode[], index: number) => {\n return (\n <div key={'yearPickerRow_' + index + '_' + fromYear} role=\"row\" className={classNames.buttonRow}>\n {cellRow}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\nCalendarYearGrid.displayName = 'CalendarYearGrid';\n\nconst CalendarYearNavDirection = {\n Previous: 0 as const,\n Next: 1 as const,\n};\n\ninterface CalendarYearNavArrowProps extends CalendarYearHeaderProps {\n direction: (typeof CalendarYearNavDirection)[keyof typeof CalendarYearNavDirection];\n}\n\nconst CalendarYearNavArrow: React.FunctionComponent<CalendarYearNavArrowProps> = props => {\n const {\n className,\n strings = DefaultCalendarYearStrings,\n direction,\n onSelectPrev,\n onSelectNext,\n fromYear,\n toYear,\n maxYear,\n minYear,\n } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n const ariaLabel =\n direction === CalendarYearNavDirection.Previous ? strings.prevRangeAriaLabel : strings.nextRangeAriaLabel;\n const newRangeOffset = direction === CalendarYearNavDirection.Previous ? -CELL_COUNT : CELL_COUNT;\n const newRange = { fromYear: fromYear + newRangeOffset, toYear: toYear + newRangeOffset };\n const ariaLabelString = ariaLabel ? (typeof ariaLabel === 'string' ? ariaLabel : ariaLabel(newRange)) : undefined;\n const disabled =\n direction === CalendarYearNavDirection.Previous\n ? minYear !== undefined && fromYear < minYear\n : maxYear !== undefined && props.fromYear + CELL_COUNT > maxYear;\n\n const onNavigate = () => {\n direction === CalendarYearNavDirection.Previous ? onSelectPrev?.() : onSelectNext?.();\n };\n\n const onKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter) {\n onNavigate();\n }\n };\n\n const { dir } = useFluent_unstable();\n\n // can be condensed, but leaving verbose for clarity due to regressions\n const isLeftNavigation =\n dir === 'rtl' ? direction === CalendarYearNavDirection.Next : direction === CalendarYearNavDirection.Previous;\n\n return (\n <button\n className={mergeClasses(classNames.navigationButton, disabled && classNames.disabled)}\n onClick={!disabled ? onNavigate : undefined}\n onKeyDown={!disabled ? onKeyDown : undefined}\n type=\"button\"\n title={ariaLabelString}\n disabled={disabled}\n >\n {isLeftNavigation ? <ArrowUpRegular /> : <ArrowDownRegular />}\n </button>\n );\n};\nCalendarYearNavArrow.displayName = 'CalendarYearNavArrow';\n\nconst CalendarYearNav: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const { className } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n return (\n <div className={classNames.navigationButtonsContainer}>\n <CalendarYearNavArrow {...props} direction={CalendarYearNavDirection.Previous} />\n <CalendarYearNavArrow {...props} direction={CalendarYearNavDirection.Next} />\n </div>\n );\n};\nCalendarYearNav.displayName = 'CalendarYearNav';\n\nconst CalendarYearTitle: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const {\n className,\n fromYear,\n toYear,\n strings = DefaultCalendarYearStrings,\n animateBackwards,\n animationDirection,\n } = props;\n\n const onHeaderSelect = () => {\n props.onHeaderSelect?.(true);\n };\n\n const onHeaderKeyDown = (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === Enter || ev.key === Space) {\n onHeaderSelect();\n }\n };\n\n const onRenderYear = (year: number) => {\n return props.onRenderYear?.(year) ?? year;\n };\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards,\n animationDirection,\n });\n\n if (props.onHeaderSelect) {\n const rangeAriaLabel = strings.rangeAriaLabel;\n const headerAriaLabelFormatString = strings.headerAriaLabelFormatString;\n const currentDateRange = rangeAriaLabel\n ? typeof rangeAriaLabel === 'string'\n ? rangeAriaLabel\n : rangeAriaLabel(props)\n : undefined;\n\n const ariaLabel = headerAriaLabelFormatString\n ? headerAriaLabelFormatString.replace('{0}', currentDateRange ?? '')\n : currentDateRange;\n\n return (\n <button\n className={classNames.currentItemButton}\n onClick={onHeaderSelect}\n onKeyDown={onHeaderKeyDown}\n aria-label={ariaLabel}\n role=\"button\"\n type=\"button\"\n >\n <span aria-live=\"assertive\" aria-atomic=\"true\">\n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n </span>\n </button>\n );\n }\n\n return (\n <div className={classNames.current}>\n {onRenderYear(fromYear)} - {onRenderYear(toYear)}\n </div>\n );\n};\nCalendarYearTitle.displayName = 'CalendarYearTitle';\n\nconst CalendarYearHeader: React.FunctionComponent<CalendarYearHeaderProps> = props => {\n const { className, animateBackwards, animationDirection, onRenderTitle } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n hasHeaderClickCallback: !!props.onHeaderSelect,\n animateBackwards,\n animationDirection,\n });\n\n return (\n <div className={classNames.headerContainer}>\n {onRenderTitle?.(props) ?? <CalendarYearTitle {...props} />}\n <CalendarYearNav {...props} />\n </div>\n );\n};\nCalendarYearHeader.displayName = 'CalendarYearHeader';\n\nfunction useAnimateBackwards({ selectedYear, navigatedYear }: CalendarYearProps) {\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n const fromYear = Math.floor(rangeYear / 10) * 10;\n\n const previousFromYearRef = React.useRef<number | undefined>(fromYear);\n React.useRef(() => {\n previousFromYearRef.current = fromYear;\n });\n const previousFromYear = previousFromYearRef.current;\n\n if (!previousFromYear || previousFromYear === fromYear) {\n return undefined;\n } else if (previousFromYear > fromYear) {\n return true;\n } else {\n return false;\n }\n}\n\nconst NavigationDirection = {\n Previous: 0 as const,\n Next: 1 as const,\n};\n\nfunction useYearRangeState({ selectedYear, navigatedYear }: CalendarYearProps) {\n const [fromYear, navigate] = React.useReducer(\n (state: number, action: (typeof NavigationDirection)[keyof typeof NavigationDirection]): number => {\n return state + (action === NavigationDirection.Next ? CELL_COUNT : -CELL_COUNT);\n },\n undefined,\n () => {\n const rangeYear = selectedYear || navigatedYear || new Date().getFullYear();\n return Math.floor(rangeYear / 10) * 10;\n },\n );\n const toYear = fromYear + CELL_COUNT - 1;\n\n const onNavNext = () => navigate(NavigationDirection.Next);\n const onNavPrevious = () => navigate(NavigationDirection.Previous);\n\n return [fromYear, toYear, onNavNext, onNavPrevious] as const;\n}\n\n/**\n * @internal\n */\nexport const CalendarYear: React.FunctionComponent<CalendarYearProps> = props => {\n const animateBackwards = useAnimateBackwards(props);\n const [fromYear, toYear, onNavNext, onNavPrevious] = useYearRangeState(props);\n\n const gridRef = React.useRef<CalendarYearGrid>(null);\n\n React.useImperativeHandle(props.componentRef, () => ({\n focus() {\n gridRef.current?.focus?.();\n },\n }));\n\n const { className } = props;\n\n const classNames = useCalendarYearStyles_unstable({\n className,\n });\n\n return (\n <div className={classNames.root}>\n <CalendarYearHeader\n {...props}\n fromYear={fromYear}\n toYear={toYear}\n onSelectPrev={onNavPrevious}\n onSelectNext={onNavNext}\n animateBackwards={animateBackwards}\n />\n <CalendarYearGrid\n {...props}\n fromYear={fromYear}\n toYear={toYear}\n animateBackwards={animateBackwards}\n componentRef={gridRef}\n />\n </div>\n );\n};\nCalendarYear.displayName = 'CalendarYear';\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/components/CalendarYear/index.ts"],"sourcesContent":["export * from './CalendarYear';\nexport * from './CalendarYear.types';\nexport * from './useCalendarYearStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/CalendarYear/index.ts"],"sourcesContent":["export * from './CalendarYear';\nexport * from './CalendarYear.types';\nexport * from './useCalendarYearStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc"}
|
package/lib/components/CalendarYear/{useCalendarYearStyles.js → useCalendarYearStyles.styles.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles';
|
|
1
|
+
import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
*
|
|
@@ -7,4 +7,4 @@ import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarP
|
|
|
7
7
|
export const useCalendarYearStyles_unstable = props => {
|
|
8
8
|
return useCalendarPickerStyles_unstable(props);
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=useCalendarYearStyles.js.map
|
|
10
|
+
//# sourceMappingURL=useCalendarYearStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCalendarPickerStyles_unstable","useCalendarYearStyles_unstable","props"],"sources":["../../../src/components/CalendarYear/useCalendarYearStyles.styles.ts"],"sourcesContent":["import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\nimport type { CalendarYearStyleProps, CalendarYearStyles } from './CalendarYear.types';\n\n/**\n * @internal\n *\n * Apply styling to the CalendarYear slots based on the state\n */\nexport const useCalendarYearStyles_unstable = (props: CalendarYearStyleProps): CalendarYearStyles => {\n return useCalendarPickerStyles_unstable(props);\n};\n"],"mappings":"AAAA,SAASA,gCAAgC,QAAQ;AAGjD;;;;;AAKA,OAAO,MAAMC,8BAAA,GAAkCC,KAAA,IAAsD;EACnG,OAAOF,gCAAA,CAAiCE,KAAA;AAC1C"}
|