@fluentui/react-calendar-compat 0.4.1 → 0.4.3
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.md +31 -5
- package/lib/components/Calendar/useCalendarStyles.styles.js +1 -0
- package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -1
- package/lib/components/Calendar/useCalendarStyles.styles.raw.js +1 -1
- package/lib/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -1
- package/lib/components/CalendarDay/CalendarDay.js +2 -1
- package/lib/components/CalendarDay/CalendarDay.js.map +1 -1
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +3 -10
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -1
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js +2 -9
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -1
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js +33 -8
- package/lib/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -1
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js +1 -1
- package/lib/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
- package/lib/components/CalendarDayGrid/CalendarGridRow.js +6 -5
- package/lib/components/CalendarDayGrid/CalendarGridRow.js.map +1 -1
- package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js +10 -3
- package/lib/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -1
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +16 -58
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +12 -67
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -1
- package/lib/components/CalendarDayGrid/useWeeks.js +0 -1
- package/lib/components/CalendarDayGrid/useWeeks.js.map +1 -1
- package/lib/components/CalendarMonth/CalendarMonth.js +12 -4
- package/lib/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.js +1 -0
- package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.js.map +1 -1
- package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +1 -1
- package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -1
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +5 -33
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -1
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +4 -41
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -1
- package/lib/components/CalendarYear/CalendarYear.js +17 -10
- package/lib/components/CalendarYear/CalendarYear.js.map +1 -1
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.js +1 -0
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -1
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js +1 -1
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -1
- package/lib/utils/animations.js +24 -18
- package/lib/utils/animations.js.map +1 -1
- package/lib/utils/calendarMotions.js +93 -0
- package/lib/utils/calendarMotions.js.map +1 -0
- package/lib/utils/index.js +2 -2
- package/lib/utils/index.js.map +1 -1
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +1 -0
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -1
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js +1 -1
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/CalendarDay/CalendarDay.js +2 -1
- package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +3 -15
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js +2 -9
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js +33 -8
- package/lib-commonjs/components/CalendarDayGrid/CalendarDayGrid.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js +1 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridDayCell.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js +6 -5
- package/lib-commonjs/components/CalendarDayGrid/CalendarGridRow.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js +9 -3
- package/lib-commonjs/components/CalendarDayGrid/CalendarMonthHeaderRow.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +16 -98
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +12 -67
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/useWeeks.js +0 -1
- package/lib-commonjs/components/CalendarDayGrid/useWeeks.js.map +1 -1
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.js +12 -4
- package/lib-commonjs/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.js +1 -0
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +1 -1
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +6 -56
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +4 -41
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/components/CalendarYear/CalendarYear.js +17 -10
- package/lib-commonjs/components/CalendarYear/CalendarYear.js.map +1 -1
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js +1 -0
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js +1 -1
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -1
- package/lib-commonjs/utils/animations.js +12 -11
- package/lib-commonjs/utils/animations.js.map +1 -1
- package/lib-commonjs/utils/calendarMotions.js +105 -0
- package/lib-commonjs/utils/calendarMotions.js.map +1 -0
- package/lib-commonjs/utils/index.js +1 -1
- package/lib-commonjs/utils/index.js.map +1 -1
- package/package.json +6 -4
|
@@ -15,6 +15,7 @@ const _keyboardkeys = require("@fluentui/keyboard-keys");
|
|
|
15
15
|
const _reacttabster = require("@fluentui/react-tabster");
|
|
16
16
|
const _react1 = require("@griffel/react");
|
|
17
17
|
const _useCalendarYearStylesstyles = require("./useCalendarYearStyles.styles");
|
|
18
|
+
const _calendarMotions = require("../../utils/calendarMotions");
|
|
18
19
|
const CELL_COUNT = 12;
|
|
19
20
|
const CELLS_PER_ROW = 4;
|
|
20
21
|
const DefaultCalendarYearStrings = {
|
|
@@ -110,11 +111,15 @@ const CalendarYearGrid = (props)=>{
|
|
|
110
111
|
role: "grid",
|
|
111
112
|
"aria-label": gridAriaLabel
|
|
112
113
|
}, cells.map((cellRow, index)=>{
|
|
113
|
-
return /*#__PURE__*/ _react.createElement(
|
|
114
|
-
key:
|
|
114
|
+
return /*#__PURE__*/ _react.createElement(_calendarMotions.DirectionalSlideIn, {
|
|
115
|
+
key: index,
|
|
116
|
+
replayKey: fromYear,
|
|
117
|
+
animationDirection: animationDirection,
|
|
118
|
+
animateBackwards: animateBackwards
|
|
119
|
+
}, /*#__PURE__*/ _react.createElement("div", {
|
|
115
120
|
role: "row",
|
|
116
121
|
className: classNames.buttonRow
|
|
117
|
-
}, cellRow);
|
|
122
|
+
}, cellRow));
|
|
118
123
|
}));
|
|
119
124
|
};
|
|
120
125
|
CalendarYearGrid.displayName = 'CalendarYearGrid';
|
|
@@ -227,16 +232,17 @@ const CalendarYearHeader = (props)=>{
|
|
|
227
232
|
}, (_onRenderTitle = onRenderTitle === null || onRenderTitle === void 0 ? void 0 : onRenderTitle(props)) !== null && _onRenderTitle !== void 0 ? _onRenderTitle : /*#__PURE__*/ _react.createElement(CalendarYearTitle, props), /*#__PURE__*/ _react.createElement(CalendarYearNav, props));
|
|
228
233
|
};
|
|
229
234
|
CalendarYearHeader.displayName = 'CalendarYearHeader';
|
|
230
|
-
function useAnimateBackwards(
|
|
231
|
-
const
|
|
232
|
-
|
|
233
|
-
const previousFromYearRef = _react.useRef(fromYear);
|
|
234
|
-
_react.useRef(()=>{
|
|
235
|
+
function useAnimateBackwards(fromYear) {
|
|
236
|
+
const previousFromYearRef = _react.useRef(undefined);
|
|
237
|
+
_react.useEffect(()=>{
|
|
235
238
|
previousFromYearRef.current = fromYear;
|
|
236
239
|
});
|
|
240
|
+
// eslint-disable-next-line react-hooks/refs
|
|
237
241
|
const previousFromYear = previousFromYearRef.current;
|
|
238
|
-
|
|
242
|
+
// eslint-disable-next-line react-hooks/refs
|
|
243
|
+
if (previousFromYear === undefined || previousFromYear === fromYear) {
|
|
239
244
|
return undefined;
|
|
245
|
+
// eslint-disable-next-line react-hooks/refs
|
|
240
246
|
} else if (previousFromYear > fromYear) {
|
|
241
247
|
return true;
|
|
242
248
|
} else {
|
|
@@ -262,6 +268,7 @@ function useYearRangeState({ selectedYear, navigatedYear, onNavigateDate }) {
|
|
|
262
268
|
onNavigateDate === null || onNavigateDate === void 0 ? void 0 : onNavigateDate(newFromYear);
|
|
263
269
|
};
|
|
264
270
|
_react.useEffect(()=>{
|
|
271
|
+
// eslint-disable-next-line react-hooks/set-state-in-effect
|
|
265
272
|
setFromYear(rangeYear);
|
|
266
273
|
}, [
|
|
267
274
|
rangeYear
|
|
@@ -275,8 +282,8 @@ function useYearRangeState({ selectedYear, navigatedYear, onNavigateDate }) {
|
|
|
275
282
|
];
|
|
276
283
|
}
|
|
277
284
|
const CalendarYear = (props)=>{
|
|
278
|
-
const animateBackwards = useAnimateBackwards(props);
|
|
279
285
|
const [fromYear, toYear, onNavNext, onNavPrevious] = useYearRangeState(props);
|
|
286
|
+
const animateBackwards = useAnimateBackwards(fromYear);
|
|
280
287
|
const gridRef = _react.useRef(null);
|
|
281
288
|
_react.useImperativeHandle(props.componentRef, ()=>({
|
|
282
289
|
focus () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CalendarYear/CalendarYear.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\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 | null>;\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\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: 'grid' });\n\n return (\n <div {...arrowNavigationAttributes} 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 );\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 navigationIcons,\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 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 {direction === CalendarYearNavDirection.Previous ? navigationIcons.upNavigation : navigationIcons.downNavigation}\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\nfunction useYearRangeState({ selectedYear, navigatedYear, onNavigateDate }: CalendarYearProps) {\n const rangeYear = React.useMemo(() => {\n return selectedYear || navigatedYear || Math.floor(new Date().getFullYear() / 10) * 10;\n }, [navigatedYear, selectedYear]);\n\n const [fromYear, setFromYear] = React.useState<number>(rangeYear);\n\n const onNavNext = () => {\n const newFromYear = fromYear + CELL_COUNT;\n setFromYear(newFromYear);\n onNavigateDate?.(newFromYear);\n };\n\n const onNavPrevious = () => {\n const newFromYear = fromYear - CELL_COUNT;\n setFromYear(newFromYear);\n onNavigateDate?.(newFromYear);\n };\n\n React.useEffect(() => {\n setFromYear(rangeYear);\n }, [rangeYear]);\n\n const toYear = fromYear + CELL_COUNT - 1;\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"],"names":["React","Enter","Space","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","current","onClick","onKeyDown","ev","key","classNames","highlightCurrent","highlightSelected","button","itemButton","type","role","aria-selected","ref","displayName","CalendarYearGrid","fromYear","toYear","animationDirection","animateBackwards","minYear","maxYear","selectedYear","selectedCellRef","currentCellRef","renderCell","yearToRender","Date","getFullYear","value","gridAriaLabel","cells","i","push","j","arrowNavigationAttributes","axis","div","gridContainer","aria-label","map","cellRow","index","buttonRow","CalendarYearNavDirection","Previous","Next","CalendarYearNavArrow","strings","direction","onSelectPrev","onSelectNext","navigationIcons","ariaLabel","newRangeOffset","newRange","ariaLabelString","onNavigate","navigationButton","title","upNavigation","downNavigation","CalendarYearNav","navigationButtonsContainer","CalendarYearTitle","onHeaderSelect","onHeaderKeyDown","hasHeaderClickCallback","rangeAriaLabel","headerAriaLabelFormatString","currentDateRange","replace","currentItemButton","span","aria-live","aria-atomic","CalendarYearHeader","onRenderTitle","headerContainer","useAnimateBackwards","navigatedYear","rangeYear","Math","floor","previousFromYearRef","previousFromYear","useYearRangeState","onNavigateDate","useMemo","setFromYear","useState","onNavNext","newFromYear","onNavPrevious","useEffect","CalendarYear","gridRef","root"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/components/CalendarYear/CalendarYear.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport { mergeClasses } from '@griffel/react';\nimport { useCalendarYearStyles_unstable } from './useCalendarYearStyles.styles';\nimport { DirectionalSlideIn } from '../../utils/calendarMotions';\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 | null>;\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\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: 'grid' });\n\n return (\n <div {...arrowNavigationAttributes} className={classNames.gridContainer} role=\"grid\" aria-label={gridAriaLabel}>\n {cells.map((cellRow: React.ReactNode[], index: number) => {\n return (\n <DirectionalSlideIn\n key={index}\n replayKey={fromYear}\n animationDirection={animationDirection}\n animateBackwards={animateBackwards}\n >\n <div role=\"row\" className={classNames.buttonRow}>\n {cellRow}\n </div>\n </DirectionalSlideIn>\n );\n })}\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 navigationIcons,\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 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 {direction === CalendarYearNavDirection.Previous ? navigationIcons.upNavigation : navigationIcons.downNavigation}\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(fromYear: number): boolean | undefined {\n const previousFromYearRef = React.useRef<number | undefined>(undefined);\n React.useEffect(() => {\n previousFromYearRef.current = fromYear;\n });\n // eslint-disable-next-line react-hooks/refs\n const previousFromYear = previousFromYearRef.current;\n\n // eslint-disable-next-line react-hooks/refs\n if (previousFromYear === undefined || previousFromYear === fromYear) {\n return undefined;\n // eslint-disable-next-line react-hooks/refs\n } else if (previousFromYear > fromYear) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction useYearRangeState({ selectedYear, navigatedYear, onNavigateDate }: CalendarYearProps) {\n const rangeYear = React.useMemo(() => {\n return selectedYear || navigatedYear || Math.floor(new Date().getFullYear() / 10) * 10;\n }, [navigatedYear, selectedYear]);\n\n const [fromYear, setFromYear] = React.useState<number>(rangeYear);\n\n const onNavNext = () => {\n const newFromYear = fromYear + CELL_COUNT;\n setFromYear(newFromYear);\n onNavigateDate?.(newFromYear);\n };\n\n const onNavPrevious = () => {\n const newFromYear = fromYear - CELL_COUNT;\n setFromYear(newFromYear);\n onNavigateDate?.(newFromYear);\n };\n\n React.useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setFromYear(rangeYear);\n }, [rangeYear]);\n\n const toYear = fromYear + CELL_COUNT - 1;\n\n return [fromYear, toYear, onNavNext, onNavPrevious] as const;\n}\n\n/**\n * @internal\n */\nexport const CalendarYear: React.FunctionComponent<CalendarYearProps> = props => {\n const [fromYear, toYear, onNavNext, onNavPrevious] = useYearRangeState(props);\n const animateBackwards = useAnimateBackwards(fromYear);\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"],"names":["React","Enter","Space","useArrowNavigationGroup","mergeClasses","useCalendarYearStyles_unstable","DirectionalSlideIn","CELL_COUNT","CELLS_PER_ROW","DefaultCalendarYearStrings","prevRangeAriaLabel","undefined","nextRangeAriaLabel","CalendarYearGridCell","props","className","highlightCurrentYear","highlightSelectedYear","year","selected","disabled","componentRef","onSelectYear","onRenderYear","buttonRef","useRef","useImperativeHandle","focus","current","onClick","onKeyDown","ev","key","classNames","highlightCurrent","highlightSelected","button","itemButton","type","role","aria-selected","ref","displayName","CalendarYearGrid","fromYear","toYear","animationDirection","animateBackwards","minYear","maxYear","selectedYear","selectedCellRef","currentCellRef","renderCell","yearToRender","Date","getFullYear","value","gridAriaLabel","cells","i","push","j","arrowNavigationAttributes","axis","div","gridContainer","aria-label","map","cellRow","index","replayKey","buttonRow","CalendarYearNavDirection","Previous","Next","CalendarYearNavArrow","strings","direction","onSelectPrev","onSelectNext","navigationIcons","ariaLabel","newRangeOffset","newRange","ariaLabelString","onNavigate","navigationButton","title","upNavigation","downNavigation","CalendarYearNav","navigationButtonsContainer","CalendarYearTitle","onHeaderSelect","onHeaderKeyDown","hasHeaderClickCallback","rangeAriaLabel","headerAriaLabelFormatString","currentDateRange","replace","currentItemButton","span","aria-live","aria-atomic","CalendarYearHeader","onRenderTitle","headerContainer","useAnimateBackwards","previousFromYearRef","useEffect","previousFromYear","useYearRangeState","navigatedYear","onNavigateDate","rangeYear","useMemo","Math","floor","setFromYear","useState","onNavNext","newFromYear","onNavPrevious","CalendarYear","gridRef","root"],"mappings":"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"}
|
|
@@ -12,5 +12,6 @@ Object.defineProperty(exports, "useCalendarYearStyles_unstable", {
|
|
|
12
12
|
const _useCalendarPickerStylesstyles = require("../CalendarPicker/useCalendarPickerStyles.styles");
|
|
13
13
|
const useCalendarYearStyles_unstable = (props)=>{
|
|
14
14
|
'use no memo';
|
|
15
|
+
// justified: compiler would optimize useCalendarYearStyles_unstable — manual opt-out to preserve runtime behavior
|
|
15
16
|
return (0, _useCalendarPickerStylesstyles.useCalendarPickerStyles_unstable)(props);
|
|
16
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useCalendarYearStyles.styles.js"],"sourcesContent":["'use client';\nimport { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\n/**\n * Apply styling to the CalendarYear slots based on the state\n *\n * @internal\n */ export const useCalendarYearStyles_unstable = (props)=>{\n 'use no memo'
|
|
1
|
+
{"version":3,"sources":["useCalendarYearStyles.styles.js"],"sourcesContent":["'use client';\nimport { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\n/**\n * Apply styling to the CalendarYear slots based on the state\n *\n * @internal\n */ export const useCalendarYearStyles_unstable = (props)=>{\n 'use no memo'; // justified: compiler would optimize useCalendarYearStyles_unstable — manual opt-out to preserve runtime behavior\n return useCalendarPickerStyles_unstable(props);\n};\n"],"names":["useCalendarPickerStyles_unstable","useCalendarYearStyles_unstable","props"],"mappings":"AAAA,YAAY;;;;;;;;;;;+CACqC,kDAAkD;AAKxF,MAAMC,8BAA8B,IAAIC,KAAK,IAAG;IACvD,aAAa;IAAE,kHAAA;IACf,WAAOF,+DAAgC,EAACE,KAAK,CAAC;AAClD,CAAC"}
|
|
@@ -11,6 +11,6 @@ Object.defineProperty(exports, "useCalendarYearStyles_unstable", {
|
|
|
11
11
|
});
|
|
12
12
|
const _useCalendarPickerStylesstyles = require("../CalendarPicker/useCalendarPickerStyles.styles");
|
|
13
13
|
const useCalendarYearStyles_unstable = (props)=>{
|
|
14
|
-
'use no memo';
|
|
14
|
+
'use no memo'; // justified: compiler would optimize useCalendarYearStyles_unstable — manual opt-out to preserve runtime behavior
|
|
15
15
|
return (0, _useCalendarPickerStylesstyles.useCalendarPickerStyles_unstable)(props);
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CalendarYear/useCalendarYearStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\nimport type { CalendarYearStyleProps, CalendarYearStyles } from './CalendarYear.types';\n\n/**\n * Apply styling to the CalendarYear slots based on the state\n *\n * @internal\n */\nexport const useCalendarYearStyles_unstable = (props: CalendarYearStyleProps): CalendarYearStyles => {\n 'use no memo'
|
|
1
|
+
{"version":3,"sources":["../src/components/CalendarYear/useCalendarYearStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\nimport type { CalendarYearStyleProps, CalendarYearStyles } from './CalendarYear.types';\n\n/**\n * Apply styling to the CalendarYear slots based on the state\n *\n * @internal\n */\nexport const useCalendarYearStyles_unstable = (props: CalendarYearStyleProps): CalendarYearStyles => {\n 'use no memo'; // justified: compiler would optimize useCalendarYearStyles_unstable — manual opt-out to preserve runtime behavior\n\n return useCalendarPickerStyles_unstable(props);\n};\n"],"names":["useCalendarPickerStyles_unstable","useCalendarYearStyles_unstable","props"],"mappings":"AAAA;;;;;;;;;;;+CAEiD,mDAAmD;AAQ7F,MAAMC,iCAAiC,CAACC;IAC7C,eAAe,kHAAkH;IAEjI,WAAOF,+DAAAA,EAAiCE;AAC1C,EAAE"}
|
|
@@ -55,12 +55,13 @@ _export(exports, {
|
|
|
55
55
|
return TRANSITION_ROW_DISAPPEARANCE;
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
-
const
|
|
58
|
+
const _reactmotion = require("@fluentui/react-motion");
|
|
59
|
+
const EASING_FUNCTION_1 = _reactmotion.motionTokens.curveDecelerateMax;
|
|
59
60
|
const EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';
|
|
60
|
-
const DURATION_1 =
|
|
61
|
-
const DURATION_2 =
|
|
62
|
-
const DURATION_3 =
|
|
63
|
-
const DURATION_4 =
|
|
61
|
+
const DURATION_1 = `${_reactmotion.motionTokens.durationFast}ms`;
|
|
62
|
+
const DURATION_2 = `${_reactmotion.motionTokens.durationGentle}ms`;
|
|
63
|
+
const DURATION_3 = `${_reactmotion.motionTokens.durationSlower}ms`;
|
|
64
|
+
const DURATION_4 = `${_reactmotion.motionTokens.durationUltraSlow}ms`;
|
|
64
65
|
const FADE_IN = {
|
|
65
66
|
from: {
|
|
66
67
|
opacity: 0
|
|
@@ -88,30 +89,30 @@ const SLIDE_DOWN_IN20 = {
|
|
|
88
89
|
transform: 'translate3d(0, 0, 0)'
|
|
89
90
|
}
|
|
90
91
|
};
|
|
91
|
-
const
|
|
92
|
+
const SLIDE_UP_IN20 = {
|
|
92
93
|
from: {
|
|
93
94
|
pointerEvents: 'none',
|
|
94
|
-
transform: 'translate3d(
|
|
95
|
+
transform: 'translate3d(0, 20px, 0)'
|
|
95
96
|
},
|
|
96
97
|
to: {
|
|
97
98
|
pointerEvents: 'auto',
|
|
98
99
|
transform: 'translate3d(0, 0, 0)'
|
|
99
100
|
}
|
|
100
101
|
};
|
|
101
|
-
const
|
|
102
|
+
const SLIDE_LEFT_IN20 = {
|
|
102
103
|
from: {
|
|
103
104
|
pointerEvents: 'none',
|
|
104
|
-
transform: 'translate3d(
|
|
105
|
+
transform: 'translate3d(20px, 0, 0)'
|
|
105
106
|
},
|
|
106
107
|
to: {
|
|
107
108
|
pointerEvents: 'auto',
|
|
108
109
|
transform: 'translate3d(0, 0, 0)'
|
|
109
110
|
}
|
|
110
111
|
};
|
|
111
|
-
const
|
|
112
|
+
const SLIDE_RIGHT_IN20 = {
|
|
112
113
|
from: {
|
|
113
114
|
pointerEvents: 'none',
|
|
114
|
-
transform: 'translate3d(
|
|
115
|
+
transform: 'translate3d(-20px, 0, 0)'
|
|
115
116
|
},
|
|
116
117
|
to: {
|
|
117
118
|
pointerEvents: 'auto',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/animations.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../src/utils/animations.ts"],"sourcesContent":["import { motionTokens } from '@fluentui/react-motion';\n\n// === EASING FUNCTIONS ===\n\n/** @deprecated Slide animations now use motion components. Use motionTokens.curveDecelerateMax instead. */\nexport const EASING_FUNCTION_1 = motionTokens.curveDecelerateMax;\n\n/** @deprecated Fade animations now use Fade.In motion component. No exact motion token equivalent. */\nexport const EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\n\n// === DURATIONS ===\n\n/** @deprecated No longer used internally. */\nexport const DURATION_1 = `${motionTokens.durationFast}ms`;\n\n/** @deprecated Fade animations now use Fade.In motion component with motionTokens.durationGentle. */\nexport const DURATION_2 = `${motionTokens.durationGentle}ms`;\n\n/** @deprecated Slide animations now use motion components with motionTokens.durationSlower. */\nexport const DURATION_3 = `${motionTokens.durationSlower}ms`;\n\n/** @deprecated No longer used internally. */\nexport const DURATION_4 = `${motionTokens.durationUltraSlow}ms`;\n\n// === FADE ANIMATIONS ===\n\n/** @deprecated Fade animations now use Fade.In motion component. */\nexport const FADE_IN = {\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n};\n\n/** @deprecated Slide animations now use motion components. */\nexport const FADE_OUT = {\n from: {\n opacity: 1,\n },\n to: {\n opacity: 0,\n visibility: 'hidden' as const,\n },\n};\n\n// === SLIDE ANIMATIONS ===\n\n/** @deprecated Slide-in animations now use the `DirectionalSlideIn` motion component. */\nexport const SLIDE_DOWN_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(0, -20px, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\n\n/** @deprecated Slide-in animations now use the `DirectionalSlideIn` motion component. */\nexport const SLIDE_UP_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(0, 20px, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\n\n/** @deprecated Slide-in animations now use the `DirectionalSlideIn` motion component. */\nexport const SLIDE_LEFT_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(20px, 0, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\n\n/** @deprecated Slide-in animations now use the `DirectionalSlideIn` motion component. */\nexport const SLIDE_RIGHT_IN20 = {\n from: {\n pointerEvents: 'none' as const,\n transform: 'translate3d(-20px, 0, 0)',\n },\n to: {\n pointerEvents: 'auto' as const,\n transform: 'translate3d(0, 0, 0)',\n },\n};\n\n/** @deprecated Slide-out animations now use the `DirectionalSlideOut` motion component. */\nexport const SLIDE_DOWN_OUT20 = {\n from: {\n transform: 'translate3d(0, 0, 0)',\n },\n to: {\n transform: 'translate3d(0, 20px, 0)',\n },\n};\n\n/** @deprecated Slide-out animations now use the `DirectionalSlideOut` motion component. */\nexport const SLIDE_UP_OUT20 = {\n from: {\n transform: 'translate3d(0, 0, 0)',\n },\n to: {\n transform: 'translate3d(0, -20px, 0)',\n },\n};\n\n// === OTHER TRANSITIONS ===\n\n/** @deprecated No longer used internally. */\nexport const TRANSITION_ROW_DISAPPEARANCE = {\n '100%': {\n height: '0px',\n overflow: 'hidden',\n width: '0px',\n },\n '99.9%': {\n height: '28px',\n overflow: 'visible',\n width: '100%',\n },\n '0%': {\n height: '28px',\n overflow: 'visible',\n width: '100%',\n },\n};\n"],"names":["motionTokens","EASING_FUNCTION_1","curveDecelerateMax","EASING_FUNCTION_2","DURATION_1","durationFast","DURATION_2","durationGentle","DURATION_3","durationSlower","DURATION_4","durationUltraSlow","FADE_IN","from","opacity","to","FADE_OUT","visibility","SLIDE_DOWN_IN20","pointerEvents","transform","SLIDE_UP_IN20","SLIDE_LEFT_IN20","SLIDE_RIGHT_IN20","SLIDE_DOWN_OUT20","SLIDE_UP_OUT20","TRANSITION_ROW_DISAPPEARANCE","height","overflow","width"],"mappings":";;;;;;;;;;;cAaaI;;;cAGAE;eAAAA;;cAGAE;;;cAGAE;;;qBAjBAT;;;qBAGAE;;;IAmBAS,OAAAA;;;YAUAI;;;IAaAE,eAAAA;;;oBAgDAM;;;mBAxBAF;;;IAYAC,gBAAAA;;;iBAxBAF;eAAAA;;kBA8CAI;;;gCAYAC;;;;6BAxHgB,yBAAyB;AAK/C,MAAMzB,oBAAoBD,yBAAAA,CAAaE,kBAAkB,CAAC;AAG1D,MAAMC,oBAAoB,8BAA8B;AAKxD,MAAMC,aAAa,GAAGJ,yBAAAA,CAAaK,YAAY,CAAC,EAAE,CAAC,CAAC;AAGpD,mBAAmB,GAAGL,yBAAAA,CAAaO,cAAc,CAAC,EAAE,CAAC,CAAC;AAGtD,MAAMC,aAAa,GAAGR,yBAAAA,CAAaS,cAAc,CAAC,EAAE,CAAC,CAAC;AAGtD,MAAMC,aAAa,GAAGV,yBAAAA,CAAaW,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAKzD,gBAAgB;IACrBE,MAAM;QACJC,SAAS;IACX;IACAC,IAAI;QACFD,SAAS;IACX;AACF,EAAE;AAGK,MAAME,WAAW;IACtBH,MAAM;QACJC,SAAS;IACX;IACAC,IAAI;QACFD,SAAS;QACTG,YAAY;IACd;AACF,EAAE;AAKK,wBAAwB;IAC7BJ,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AAGK,sBAAsB;IAC3BP,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AAGK,MAAME,kBAAkB;IAC7BT,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AAGK,yBAAyB;IAC9BP,MAAM;QACJM,eAAe;QACfC,WAAW;IACb;IACAL,IAAI;QACFI,eAAe;QACfC,WAAW;IACb;AACF,EAAE;AAGK,MAAMI,mBAAmB;IAC9BX,MAAM;QACJO,WAAW;IACb;IACAL,IAAI;QACFK,WAAW;IACb;AACF,EAAE;AAGK,MAAMK,iBAAiB;IAC5BZ,MAAM;QACJO,WAAW;IACb;IACAL,IAAI;QACFK,WAAW;IACb;AACF,EAAE;AAKK,MAAMM,+BAA+B;IAC1C,QAAQ;QACNC,QAAQ;QACRC,UAAU;QACVC,OAAO;IACT;IACA,SAAS;QACPF,QAAQ;QACRC,UAAU;QACVC,OAAO;IACT;IACA,MAAM;QACJF,QAAQ;QACRC,UAAU;QACVC,OAAO;IACT;AACF,EAAE"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
DirectionalSlideIn: function() {
|
|
14
|
+
return DirectionalSlideIn;
|
|
15
|
+
},
|
|
16
|
+
DirectionalSlideOut: function() {
|
|
17
|
+
return DirectionalSlideOut;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
21
|
+
const _reactmotion = require("@fluentui/react-motion");
|
|
22
|
+
const _reactmotioncomponentspreview = require("@fluentui/react-motion-components-preview");
|
|
23
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
24
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
25
|
+
const _Calendar = require("../Calendar");
|
|
26
|
+
// Distance the rows travel as they slide in/out. Shared so the enter and exit motions stay in sync.
|
|
27
|
+
const SLIDE_DISTANCE = '20px';
|
|
28
|
+
// Clones the single child with a ref that merges the forwarded ref and the child's own ref. Lets the
|
|
29
|
+
// `DirectionalSlideIn`/`DirectionalSlideOut` wrappers render no DOM of their own while still exposing a
|
|
30
|
+
// ref to the actual child element (e.g. the `<tr>`), keeping them transparent for table semantics.
|
|
31
|
+
function useChildWithMergedRef(children, ref) {
|
|
32
|
+
const child = _react.Children.only(children);
|
|
33
|
+
const mergedRef = (0, _reactutilities.useMergedRefs)(ref, (0, _reactutilities.getReactElementRef)(child));
|
|
34
|
+
return /*#__PURE__*/ _react.cloneElement(child, {
|
|
35
|
+
ref: mergedRef
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const DirectionalSlideIn = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
39
|
+
const { duration = _reactmotion.motionTokens.durationSlower, easing = _reactmotion.motionTokens.curveDecelerateMax, animationDirection = _Calendar.AnimationDirection.Vertical, animateBackwards = false, replayKey, children } = props;
|
|
40
|
+
let outX = '0px';
|
|
41
|
+
let outY = '0px';
|
|
42
|
+
const distance = animateBackwards ? `-${SLIDE_DISTANCE}` : SLIDE_DISTANCE;
|
|
43
|
+
if (animationDirection === _Calendar.AnimationDirection.Horizontal) {
|
|
44
|
+
outX = distance;
|
|
45
|
+
} else {
|
|
46
|
+
outY = distance;
|
|
47
|
+
}
|
|
48
|
+
// `Slide.In`'s `useChildElement` will further merge its motion ref on top.
|
|
49
|
+
const childWithRef = useChildWithMergedRef(children, ref);
|
|
50
|
+
// `Slide.In` bakes `outY` into its atoms at mount and `replayKey` only replays them, so a
|
|
51
|
+
// direction flip needs a remount. Same-direction navigations keep the key and reuse the DOM.
|
|
52
|
+
const directionKey = animateBackwards ? 'back' : 'fwd';
|
|
53
|
+
return /*#__PURE__*/ _react.createElement(_reactmotioncomponentspreview.Slide.In, {
|
|
54
|
+
key: directionKey,
|
|
55
|
+
duration: duration,
|
|
56
|
+
easing: easing,
|
|
57
|
+
outX: outX,
|
|
58
|
+
outY: outY,
|
|
59
|
+
replayKey: replayKey
|
|
60
|
+
}, childWithRef);
|
|
61
|
+
});
|
|
62
|
+
DirectionalSlideIn.displayName = 'DirectionalSlideIn';
|
|
63
|
+
// One-way "out" motion for the day grid's transition (filler) rows. It fades and slides the row
|
|
64
|
+
// out in the navigation direction (the top row slides up, the bottom row slides down). The row is
|
|
65
|
+
// `position: absolute` and `opacity: 0` at rest, so the motion's forwards fill leaves it back at its
|
|
66
|
+
// hidden resting state once it finishes. Composed from Fluent's `fadeAtom` + `slideAtom` so it stays
|
|
67
|
+
// consistent with the rest of the motion system; there is no size animation, because the row is
|
|
68
|
+
// overlaid out of flow and hidden via opacity (not by collapsing its box).
|
|
69
|
+
const TransitionRowSlideOut = (0, _reactmotion.createMotionComponent)(({ outY })=>{
|
|
70
|
+
const duration = _reactmotion.motionTokens.durationSlower;
|
|
71
|
+
const easing = _reactmotion.motionTokens.curveDecelerateMax;
|
|
72
|
+
return [
|
|
73
|
+
(0, _reactmotioncomponentspreview.fadeAtom)({
|
|
74
|
+
direction: 'exit',
|
|
75
|
+
duration,
|
|
76
|
+
easing
|
|
77
|
+
}),
|
|
78
|
+
(0, _reactmotioncomponentspreview.slideAtom)({
|
|
79
|
+
direction: 'exit',
|
|
80
|
+
duration,
|
|
81
|
+
easing,
|
|
82
|
+
outY
|
|
83
|
+
})
|
|
84
|
+
];
|
|
85
|
+
});
|
|
86
|
+
const DirectionalSlideOut = /*#__PURE__*/ _react.forwardRef((props, ref)=>{
|
|
87
|
+
const { edge, animationDirection = _Calendar.AnimationDirection.Vertical, animateBackwards, replayKey, children } = props;
|
|
88
|
+
const childWithRef = useChildWithMergedRef(children, ref);
|
|
89
|
+
// The legacy animation only ran for vertical navigation, and only on the row matching the
|
|
90
|
+
// navigation direction: the top (first) row slides up & out when navigating forward, the bottom
|
|
91
|
+
// (last) row slides down & out when navigating backward. `animateBackwards === undefined` means no
|
|
92
|
+
// navigation has happened yet, so nothing animates on initial mount (the row stays hidden at rest).
|
|
93
|
+
const isVertical = animationDirection !== _Calendar.AnimationDirection.Horizontal;
|
|
94
|
+
const shouldAnimate = isVertical && animateBackwards !== undefined && (edge === 'first' ? !animateBackwards : animateBackwards);
|
|
95
|
+
if (!shouldAnimate) {
|
|
96
|
+
return childWithRef;
|
|
97
|
+
}
|
|
98
|
+
// First (top) row slides up and out; last (bottom) row slides down and out.
|
|
99
|
+
const outY = edge === 'first' ? `-${SLIDE_DISTANCE}` : SLIDE_DISTANCE;
|
|
100
|
+
return /*#__PURE__*/ _react.createElement(TransitionRowSlideOut, {
|
|
101
|
+
outY: outY,
|
|
102
|
+
replayKey: replayKey
|
|
103
|
+
}, childWithRef);
|
|
104
|
+
});
|
|
105
|
+
DirectionalSlideOut.displayName = 'DirectionalSlideOut';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/calendarMotions.tsx"],"sourcesContent":["'use client';\n\nimport { motionTokens, createMotionComponent } from '@fluentui/react-motion';\nimport { Slide, fadeAtom, slideAtom } from '@fluentui/react-motion-components-preview';\nimport * as React from 'react';\nimport { getReactElementRef, useMergedRefs } from '@fluentui/react-utilities';\nimport { AnimationDirection } from '../Calendar';\nimport type { JSXElement } from '@fluentui/react-utilities';\n\n// Distance the rows travel as they slide in/out. Shared so the enter and exit motions stay in sync.\nconst SLIDE_DISTANCE = '20px';\n\n// Clones the single child with a ref that merges the forwarded ref and the child's own ref. Lets the\n// `DirectionalSlideIn`/`DirectionalSlideOut` wrappers render no DOM of their own while still exposing a\n// ref to the actual child element (e.g. the `<tr>`), keeping them transparent for table semantics.\nfunction useChildWithMergedRef(children: JSXElement, ref: React.Ref<HTMLElement>) {\n const child = React.Children.only(children) as React.ReactElement<{ ref?: React.Ref<HTMLElement> }>;\n const mergedRef = useMergedRefs(ref, getReactElementRef(child));\n return React.cloneElement(child, { ref: mergedRef });\n}\n\nexport type DirectionalSlideInProps = {\n duration?: number;\n easing?: string;\n animationDirection?: AnimationDirection;\n animateBackwards?: boolean;\n /**\n * When this value changes, the slide animation replays from the start on the same DOM element\n * without remounting the subtree. Use this instead of a React `key` to retrigger the animation\n * on navigation, so focus and DOM identity are preserved during keyboard navigation.\n */\n replayKey?: string | number;\n children: JSXElement;\n};\n\n// `forwardRef` per the repo rule banning `React.FC`. This wrapper renders no DOM of its own,\n// so the forwarded ref is cloned onto the child below — callers get a ref to the actual\n// `<tr>`/`<div role=\"row\">`, keeping `DirectionalSlideIn` transparent.\nexport const DirectionalSlideIn = React.forwardRef<HTMLElement, DirectionalSlideInProps>((props, ref) => {\n const {\n // Using durationSlower (400ms) as the closest token to the original 367ms\n duration = motionTokens.durationSlower,\n easing = motionTokens.curveDecelerateMax,\n animationDirection = AnimationDirection.Vertical,\n animateBackwards = false,\n replayKey,\n children,\n } = props;\n\n let outX = '0px';\n let outY = '0px';\n const distance = animateBackwards ? `-${SLIDE_DISTANCE}` : SLIDE_DISTANCE;\n if (animationDirection === AnimationDirection.Horizontal) {\n outX = distance;\n } else {\n outY = distance;\n }\n\n // `Slide.In`'s `useChildElement` will further merge its motion ref on top.\n const childWithRef = useChildWithMergedRef(children, ref);\n\n // `Slide.In` bakes `outY` into its atoms at mount and `replayKey` only replays them, so a\n // direction flip needs a remount. Same-direction navigations keep the key and reuse the DOM.\n const directionKey = animateBackwards ? 'back' : 'fwd';\n\n return (\n <Slide.In key={directionKey} duration={duration} easing={easing} outX={outX} outY={outY} replayKey={replayKey}>\n {childWithRef}\n </Slide.In>\n );\n});\n\nDirectionalSlideIn.displayName = 'DirectionalSlideIn';\n\n// One-way \"out\" motion for the day grid's transition (filler) rows. It fades and slides the row\n// out in the navigation direction (the top row slides up, the bottom row slides down). The row is\n// `position: absolute` and `opacity: 0` at rest, so the motion's forwards fill leaves it back at its\n// hidden resting state once it finishes. Composed from Fluent's `fadeAtom` + `slideAtom` so it stays\n// consistent with the rest of the motion system; there is no size animation, because the row is\n// overlaid out of flow and hidden via opacity (not by collapsing its box).\nconst TransitionRowSlideOut = createMotionComponent(({ outY }: { outY: string }) => {\n const duration = motionTokens.durationSlower;\n const easing = motionTokens.curveDecelerateMax;\n return [fadeAtom({ direction: 'exit', duration, easing }), slideAtom({ direction: 'exit', duration, easing, outY })];\n});\n\nexport type DirectionalSlideOutProps = {\n /** Which transition row this wraps: the first (top) or last (bottom) filler row. */\n edge: 'first' | 'last';\n animationDirection?: AnimationDirection;\n animateBackwards?: boolean;\n /**\n * When this value changes, the slide-out animation replays from the start on the same DOM element\n * without remounting the subtree, matching {@link DirectionalSlideIn}.\n */\n replayKey?: string | number;\n children: JSXElement;\n};\n\n// `forwardRef` per the repo rule banning `React.FC`. Like `DirectionalSlideIn`, this wrapper renders\n// no DOM of its own — the forwarded ref is cloned onto the child so callers get a ref to the actual\n// `<tr>`, keeping the wrapper transparent for table semantics.\nexport const DirectionalSlideOut = React.forwardRef<HTMLElement, DirectionalSlideOutProps>((props, ref) => {\n const { edge, animationDirection = AnimationDirection.Vertical, animateBackwards, replayKey, children } = props;\n\n const childWithRef = useChildWithMergedRef(children, ref);\n\n // The legacy animation only ran for vertical navigation, and only on the row matching the\n // navigation direction: the top (first) row slides up & out when navigating forward, the bottom\n // (last) row slides down & out when navigating backward. `animateBackwards === undefined` means no\n // navigation has happened yet, so nothing animates on initial mount (the row stays hidden at rest).\n const isVertical = animationDirection !== AnimationDirection.Horizontal;\n const shouldAnimate =\n isVertical && animateBackwards !== undefined && (edge === 'first' ? !animateBackwards : animateBackwards);\n\n if (!shouldAnimate) {\n return childWithRef;\n }\n\n // First (top) row slides up and out; last (bottom) row slides down and out.\n const outY = edge === 'first' ? `-${SLIDE_DISTANCE}` : SLIDE_DISTANCE;\n\n return (\n <TransitionRowSlideOut outY={outY} replayKey={replayKey}>\n {childWithRef}\n </TransitionRowSlideOut>\n );\n});\n\nDirectionalSlideOut.displayName = 'DirectionalSlideOut';\n"],"names":["motionTokens","createMotionComponent","Slide","fadeAtom","slideAtom","React","getReactElementRef","useMergedRefs","AnimationDirection","SLIDE_DISTANCE","useChildWithMergedRef","children","ref","child","Children","only","mergedRef","cloneElement","DirectionalSlideIn","forwardRef","props","duration","durationSlower","easing","curveDecelerateMax","animationDirection","Vertical","animateBackwards","replayKey","outX","outY","distance","Horizontal","childWithRef","directionKey","In","key","displayName","TransitionRowSlideOut","direction","DirectionalSlideOut","edge","isVertical","shouldAnimate","undefined"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-deprecated -- Re-exporting deprecated animations for backwards compatibility */\nexport {\n DURATION_1,\n DURATION_2,\n DURATION_3,\n DURATION_4,\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 './animations';\n/* eslint-enable @typescript-eslint/no-deprecated */\nexport { DAYS_IN_WEEK, DateRangeType, DayOfWeek, FirstWeekOfYear, MonthOfYear, TimeConstants } from './constants';\nexport type { CalendarStrings, DateFormatting, DateGridStrings } from './dateFormatting';\nexport {\n DEFAULT_CALENDAR_STRINGS,\n DEFAULT_DATE_FORMATTING,\n DEFAULT_DATE_GRID_STRINGS,\n formatDay,\n formatMonth,\n formatMonthDayYear,\n formatMonthYear,\n formatYear,\n} from './dateFormatting';\nexport type { AvailableDateOptions, Day, DayGridOptions, RestrictedDatesOptions } from './dateGrid';\nexport { findAvailableDate, getBoundedDateRange, getDayGrid, isRestrictedDate } from './dateGrid';\nexport {\n addDays,\n addMonths,\n addWeeks,\n addYears,\n compareDatePart,\n compareDates,\n getDatePartHashValue,\n getDateRangeArray,\n getEndDateOfWeek,\n getMonthEnd,\n getMonthStart,\n getStartDateOfWeek,\n getWeekNumber,\n getWeekNumbersInMonth,\n getYearEnd,\n getYearStart,\n isInDateRangeArray,\n setMonth,\n} from './dateMath';\nexport { focusAsync } from './focus';\n"],"names":["DURATION_1","DURATION_2","DURATION_3","DURATION_4","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","DAYS_IN_WEEK","DateRangeType","DayOfWeek","FirstWeekOfYear","MonthOfYear","TimeConstants","DEFAULT_CALENDAR_STRINGS","DEFAULT_DATE_FORMATTING","DEFAULT_DATE_GRID_STRINGS","formatDay","formatMonth","formatMonthDayYear","formatMonthYear","formatYear","findAvailableDate","getBoundedDateRange","getDayGrid","isRestrictedDate","addDays","addMonths","addWeeks","addYears","compareDatePart","compareDates","getDatePartHashValue","getDateRangeArray","getEndDateOfWeek","getMonthEnd","getMonthStart","getStartDateOfWeek","getWeekNumber","getWeekNumbersInMonth","getYearEnd","getYearStart","isInDateRangeArray","setMonth","focusAsync"],"mappings":"AAAA,qHAAqH,GACrH;;;;;;;;;;;;eAkBSe,uBAAY;;IAGnBM,wBAAwB;;;IACxBC,uBAAuB;;;;eACvBC,yCAAyB;;;eAtBzBvB,sBAAU;;;eACVC,sBAAU;;;eACVC,sBAAU;;;eACVC,sBAAU;;;eAcWa,wBAAa;;;eAAEC,oBAAS;;;eAb7Cb,6BAAiB;;qBACA;eAAjBC;;;eACAC,mBAAO;;;eACPC,oBAAQ;;;eAUuCW,0BAAe;;;eAAEC,sBAAW;;;eAT3EX,2BAAe;;;eACfC,4BAAgB;;;eAChBC,2BAAe;;oBACC;eAAhBC;;;eACAC,yBAAa;;;eACbC,0BAAc;;;eACdC,wCAA4B;;;eAGiDM,wBAAa;;;eAe1Fa,iBAAO;;;eACPC,mBAAS;;IACTC,QAAQ;;;;eACRC,kBAAQ;;;eACRC,yBAAe;;IACfC,YAAY;;;;eAPLT,2BAAiB;;cAqBP;eAAVsB;;;eA5BP3B,yBAAS;;;eACTC,2BAAW;;;eACXC,kCAAkB;;;eAClBC,+BAAe;;;eACfC,0BAAU;;;eAGgBE,6BAAmB;;wBAQzB;eAApBS;;IACAC,iBAAiB;;;cATwC;eAAVT;;;eAU/CU,0BAAgB;;eACL;eAAXC;;;eACAC,uBAAa;;;eACbC,4BAAkB;;;eAClBC,uBAAa;;;eACbC,+BAAqB;;cACX;eAAVC;;;eACAC,sBAAY;;;eACZC,4BAAkB;;;eAlByCjB,0BAAgB;;;eAmB3EkB,kBAAQ;;;4BAlCH,eAAe;2BAE8E,cAAc;gCAW3G,mBAAmB;0BAE2D,aAAa;0BAoB3F,aAAa;uBACO,UAAU"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-calendar-compat",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Calendar compat component for Fluent UI v9",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -14,11 +14,13 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@fluentui/keyboard-keys": "^9.0.8",
|
|
16
16
|
"@fluentui/react-icons": "^2.0.245",
|
|
17
|
-
"@fluentui/react-jsx-runtime": "^9.4.
|
|
17
|
+
"@fluentui/react-jsx-runtime": "^9.4.4",
|
|
18
|
+
"@fluentui/react-motion": "^9.16.1",
|
|
19
|
+
"@fluentui/react-motion-components-preview": "^0.15.6",
|
|
18
20
|
"@fluentui/react-shared-contexts": "^9.26.2",
|
|
19
|
-
"@fluentui/react-tabster": "^9.26.
|
|
21
|
+
"@fluentui/react-tabster": "^9.26.16",
|
|
20
22
|
"@fluentui/react-theme": "^9.2.1",
|
|
21
|
-
"@fluentui/react-utilities": "^9.26.
|
|
23
|
+
"@fluentui/react-utilities": "^9.26.5",
|
|
22
24
|
"@griffel/react": "^1.5.32",
|
|
23
25
|
"@swc/helpers": "^0.5.1"
|
|
24
26
|
},
|