@fluentui/react-calendar-compat 0.3.3 → 0.3.4
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 +12 -2
- package/lib/components/Calendar/calendarNavigationIcons.js.map +1 -1
- package/lib/components/Calendar/useCalendarStyles.styles.raw.js +115 -0
- package/lib/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -0
- package/lib/components/CalendarDay/CalendarDay.js.map +1 -1
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js +142 -0
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -0
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +395 -0
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -0
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js +92 -0
- package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js.map +1 -0
- package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +9 -0
- package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -0
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +291 -0
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -0
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js +9 -0
- package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/Calendar/calendarNavigationIcons.js.map +1 -1
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js +127 -0
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js +154 -0
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +408 -0
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js +106 -0
- package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +15 -0
- package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +303 -0
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js +15 -0
- package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
# Change Log - @fluentui/react-calendar-compat
|
2
2
|
|
3
|
-
This log was last generated on
|
3
|
+
This log was last generated on Thu, 17 Jul 2025 13:45:35 GMT and should not be manually modified.
|
4
4
|
|
5
5
|
<!-- Start content -->
|
6
6
|
|
7
|
+
## [0.3.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.3.4)
|
8
|
+
|
9
|
+
Thu, 17 Jul 2025 13:45:35 GMT
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.3.3..@fluentui/react-calendar-compat_v0.3.4)
|
11
|
+
|
12
|
+
### Patches
|
13
|
+
|
14
|
+
- feat: enable griffel raw styles ([PR #34853](https://github.com/microsoft/fluentui/pull/34853) by martinhochel@microsoft.com)
|
15
|
+
- Bump @fluentui/react-tabster to v9.26.0 ([PR #34862](https://github.com/microsoft/fluentui/pull/34862) by beachball)
|
16
|
+
|
7
17
|
## [0.3.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-calendar-compat_v0.3.3)
|
8
18
|
|
9
|
-
Fri, 27 Jun 2025 13:
|
19
|
+
Fri, 27 Jun 2025 13:39:41 GMT
|
10
20
|
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-calendar-compat_v0.3.2..@fluentui/react-calendar-compat_v0.3.3)
|
11
21
|
|
12
22
|
### Patches
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/components/Calendar/calendarNavigationIcons.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ArrowDownRegular, ArrowUpRegular, DismissRegular } from '@fluentui/react-icons';\n\nexport type CalendarNavigationIcons = {\n /**\n * Icon to use for up arrow navigation. Default comes from \\@fluentui\\/react-icons\n * @default ArrowUpRegular\n */\n upNavigation?: JSX.Element;\n
|
1
|
+
{"version":3,"sources":["../src/components/Calendar/calendarNavigationIcons.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ArrowDownRegular, ArrowUpRegular, DismissRegular } from '@fluentui/react-icons';\n\nexport type CalendarNavigationIcons = {\n /**\n * Icon to use for up arrow navigation. Default comes from \\@fluentui\\/react-icons\n * @default ArrowUpRegular\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n upNavigation?: JSX.Element;\n /**\n * Icon to use for down arrow navigation. Default comes from \\@fluentui\\/react-icons\n * @default ArrowDownRegular\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n downNavigation?: JSX.Element;\n /**\n * Icon to use for the dismiss button. Default comes from \\@fluentui\\/react-icons\n * @default DismissRegular\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n dismiss?: JSX.Element;\n};\n\nexport const defaultNavigationIcons: CalendarNavigationIcons = {\n dismiss: <DismissRegular />,\n downNavigation: <ArrowDownRegular />,\n upNavigation: <ArrowUpRegular />,\n};\n"],"names":["React","ArrowDownRegular","ArrowUpRegular","DismissRegular","defaultNavigationIcons","dismiss","downNavigation","upNavigation"],"rangeMappings":";;;;;;","mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,cAAc,EAAEC,cAAc,QAAQ,wBAAwB;AAuBzF,OAAO,MAAMC,yBAAkD;IAC7DC,uBAAS,oBAACF;IACVG,8BAAgB,oBAACL;IACjBM,4BAAc,oBAACL;AACjB,EAAE"}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
import { tokens } from '@fluentui/react-theme';
|
2
|
+
import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
|
3
|
+
/**
|
4
|
+
* @internal
|
5
|
+
*/ export const calendarClassNames = {
|
6
|
+
root: 'fui-Calendar',
|
7
|
+
divider: 'fui-Calendar__divider',
|
8
|
+
goTodayButton: 'fui-Calendar__goTodayButton',
|
9
|
+
monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',
|
10
|
+
liveRegion: 'fui-Calendar__liveRegion'
|
11
|
+
};
|
12
|
+
const useRootStyles = makeStyles({
|
13
|
+
base: {
|
14
|
+
display: 'flex',
|
15
|
+
width: '220px'
|
16
|
+
},
|
17
|
+
normalize: {
|
18
|
+
boxShadow: 'none',
|
19
|
+
boxSizing: 'border-box',
|
20
|
+
margin: '0',
|
21
|
+
padding: '0'
|
22
|
+
},
|
23
|
+
monthPickerNotVisible: {
|
24
|
+
flexDirection: 'column'
|
25
|
+
},
|
26
|
+
dayAndMonthPickersVisible: {
|
27
|
+
width: '440px'
|
28
|
+
},
|
29
|
+
dayPickerVisibleAndWeekNumbersShown: {
|
30
|
+
width: '250px'
|
31
|
+
},
|
32
|
+
dayAndMonthPickersVisibleAndWeekNumbersShown: {
|
33
|
+
width: '470px'
|
34
|
+
}
|
35
|
+
});
|
36
|
+
const useDividerStyles = makeStyles({
|
37
|
+
base: {
|
38
|
+
borderRight: `1px solid ${tokens.colorNeutralStroke2}`,
|
39
|
+
top: 0
|
40
|
+
}
|
41
|
+
});
|
42
|
+
const useMonthPickerWrapperStyles = makeStyles({
|
43
|
+
base: {
|
44
|
+
display: 'flex',
|
45
|
+
flexDirection: 'column'
|
46
|
+
}
|
47
|
+
});
|
48
|
+
const useGoTodayButtonStyles = makeStyles({
|
49
|
+
base: {
|
50
|
+
alignSelf: 'flex-end',
|
51
|
+
backgroundColor: tokens.colorTransparentBackground,
|
52
|
+
...shorthands.borderStyle('none'),
|
53
|
+
bottom: 0,
|
54
|
+
boxSizing: 'content-box',
|
55
|
+
color: tokens.colorNeutralForeground1,
|
56
|
+
fontFamily: 'inherit',
|
57
|
+
fontSize: tokens.fontSizeBase200,
|
58
|
+
height: '30px',
|
59
|
+
lineHeight: '30px',
|
60
|
+
marginRight: '16px',
|
61
|
+
marginTop: '3px',
|
62
|
+
overflow: 'visible',
|
63
|
+
padding: '0 4px',
|
64
|
+
'& div': {
|
65
|
+
fontSize: tokens.fontSizeBase200
|
66
|
+
},
|
67
|
+
'&:hover': {
|
68
|
+
backgroundColor: tokens.colorTransparentBackground,
|
69
|
+
color: tokens.colorBrandForeground1,
|
70
|
+
cursor: 'pointer',
|
71
|
+
'@media (forced-colors: active)': {
|
72
|
+
outline: tokens.strokeWidthThin,
|
73
|
+
borderRadius: tokens.borderRadiusSmall
|
74
|
+
}
|
75
|
+
},
|
76
|
+
'&:hover:active': {
|
77
|
+
color: tokens.colorBrandForeground2
|
78
|
+
},
|
79
|
+
'&:disabled': {
|
80
|
+
color: tokens.colorNeutralForegroundDisabled,
|
81
|
+
pointerEvents: 'none'
|
82
|
+
}
|
83
|
+
}
|
84
|
+
});
|
85
|
+
const useLiveRegionStyles = makeStyles({
|
86
|
+
base: {
|
87
|
+
border: 'none',
|
88
|
+
height: '1px',
|
89
|
+
margin: '-1px',
|
90
|
+
overflow: 'hidden',
|
91
|
+
padding: '0',
|
92
|
+
position: 'absolute',
|
93
|
+
width: '1px'
|
94
|
+
}
|
95
|
+
});
|
96
|
+
/**
|
97
|
+
* @internal
|
98
|
+
*
|
99
|
+
* Apply styling to the Calendar slots based on the state
|
100
|
+
*/ export const useCalendarStyles_unstable = (props)=>{
|
101
|
+
'use no memo';
|
102
|
+
const rootStyles = useRootStyles();
|
103
|
+
const dividerStyles = useDividerStyles();
|
104
|
+
const monthPickerWrapperStyles = useMonthPickerWrapperStyles();
|
105
|
+
const goTodayButtonStyles = useGoTodayButtonStyles();
|
106
|
+
const liveRegionStyles = useLiveRegionStyles();
|
107
|
+
const { className, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;
|
108
|
+
return {
|
109
|
+
root: mergeClasses(calendarClassNames.root, rootStyles.base, rootStyles.normalize, !isMonthPickerVisible && rootStyles.monthPickerNotVisible, isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible, isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown, isDayPickerVisible && isMonthPickerVisible && showWeekNumbers && rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown, className),
|
110
|
+
divider: mergeClasses(calendarClassNames.divider, dividerStyles.base),
|
111
|
+
monthPickerWrapper: mergeClasses(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),
|
112
|
+
goTodayButton: mergeClasses(calendarClassNames.goTodayButton, goTodayButtonStyles.base),
|
113
|
+
liveRegion: mergeClasses(calendarClassNames.liveRegion, liveRegionStyles.base)
|
114
|
+
};
|
115
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/Calendar/useCalendarStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarStyles, CalendarStyleProps } from './Calendar.types';\n\n/**\n * @internal\n */\nexport const calendarClassNames: SlotClassNames<CalendarStyles> = {\n root: 'fui-Calendar',\n divider: 'fui-Calendar__divider',\n goTodayButton: 'fui-Calendar__goTodayButton',\n monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',\n liveRegion: 'fui-Calendar__liveRegion',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n display: 'flex',\n width: '220px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n margin: '0',\n padding: '0',\n },\n monthPickerNotVisible: {\n flexDirection: 'column',\n },\n dayAndMonthPickersVisible: {\n width: '440px',\n },\n dayPickerVisibleAndWeekNumbersShown: {\n width: '250px',\n },\n dayAndMonthPickersVisibleAndWeekNumbersShown: {\n width: '470px',\n },\n});\n\nconst useDividerStyles = makeStyles({\n base: {\n borderRight: `1px solid ${tokens.colorNeutralStroke2}`,\n top: 0,\n },\n});\n\nconst useMonthPickerWrapperStyles = makeStyles({\n base: {\n display: 'flex',\n flexDirection: 'column',\n },\n});\n\nconst useGoTodayButtonStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n bottom: 0,\n boxSizing: 'content-box',\n color: tokens.colorNeutralForeground1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '30px',\n lineHeight: '30px',\n marginRight: '16px',\n marginTop: '3px',\n overflow: 'visible',\n padding: '0 4px',\n\n '& div': {\n fontSize: tokens.fontSizeBase200,\n },\n '&:hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorBrandForeground1,\n cursor: 'pointer',\n\n '@media (forced-colors: active)': {\n outline: tokens.strokeWidthThin,\n borderRadius: tokens.borderRadiusSmall,\n },\n },\n '&:hover:active': {\n color: tokens.colorBrandForeground2,\n },\n '&:disabled': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n },\n});\n\nconst useLiveRegionStyles = makeStyles({\n base: {\n border: 'none',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n width: '1px',\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the Calendar slots based on the state\n */\nexport const useCalendarStyles_unstable = (props: CalendarStyleProps): CalendarStyles => {\n 'use no memo';\n\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n const monthPickerWrapperStyles = useMonthPickerWrapperStyles();\n const goTodayButtonStyles = useGoTodayButtonStyles();\n const liveRegionStyles = useLiveRegionStyles();\n\n const { className, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarClassNames.root,\n rootStyles.base,\n rootStyles.normalize,\n !isMonthPickerVisible && rootStyles.monthPickerNotVisible,\n isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible,\n isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown,\n isDayPickerVisible &&\n isMonthPickerVisible &&\n showWeekNumbers &&\n rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown,\n className,\n ),\n divider: mergeClasses(calendarClassNames.divider, dividerStyles.base),\n monthPickerWrapper: mergeClasses(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),\n goTodayButton: mergeClasses(calendarClassNames.goTodayButton, goTodayButtonStyles.base),\n liveRegion: mergeClasses(calendarClassNames.liveRegion, liveRegionStyles.base),\n };\n};\n"],"names":["tokens","makeStyles","mergeClasses","shorthands","calendarClassNames","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","base","display","width","normalize","boxShadow","boxSizing","margin","padding","monthPickerNotVisible","flexDirection","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","useDividerStyles","borderRight","colorNeutralStroke2","top","useMonthPickerWrapperStyles","useGoTodayButtonStyles","alignSelf","backgroundColor","colorTransparentBackground","borderStyle","bottom","color","colorNeutralForeground1","fontFamily","fontSize","fontSizeBase200","height","lineHeight","marginRight","marginTop","overflow","colorBrandForeground1","cursor","outline","strokeWidthThin","borderRadius","borderRadiusSmall","colorBrandForeground2","colorNeutralForegroundDisabled","pointerEvents","useLiveRegionStyles","border","position","useCalendarStyles_unstable","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Enter } from '@fluentui/keyboard-keys';\nimport { mergeClasses } from '@griffel/react';\nimport { addMonths, compareDatePart, getMonthEnd, getMonthStart } from '../../utils';\nimport { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';\nimport { useCalendarDayStyles_unstable } from './useCalendarDayStyles.styles';\nimport type { ICalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid.types';\nimport type { CalendarDayProps, CalendarDayStyles } from './CalendarDay.types';\n\n/**\n * @internal\n */\nexport const CalendarDay: React.FunctionComponent<CalendarDayProps> = props => {\n const dayGrid = React.useRef<ICalendarDayGrid>(null);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n dayGrid.current?.focus?.();\n },\n }),\n [],\n );\n\n const {\n strings,\n gridLabel,\n navigatedDate,\n dateTimeFormatter,\n className,\n onHeaderSelect,\n showSixWeeksByDefault,\n minDate,\n maxDate,\n restrictedDates,\n onNavigateDate,\n showWeekNumbers,\n dateRangeType,\n animationDirection,\n } = props;\n\n const classNames = useCalendarDayStyles_unstable({\n className,\n headerIsClickable: !!onHeaderSelect,\n showWeekNumbers,\n animationDirection,\n });\n\n const monthAndYear = dateTimeFormatter.formatMonthYear(navigatedDate, strings);\n const HeaderButtonComponentType = onHeaderSelect ? 'button' : 'div';\n const headerAriaLabel = strings.yearPickerHeaderAriaLabel\n ? strings.yearPickerHeaderAriaLabel.replace('{0}', monthAndYear)\n : monthAndYear;\n\n const { ...propsWithoutStyles } = props;\n\n return (\n <div className={classNames.root}>\n <div className={classNames.header}>\n <HeaderButtonComponentType\n aria-label={onHeaderSelect ? headerAriaLabel : undefined}\n className={classNames.monthAndYear}\n onClick={onHeaderSelect}\n tabIndex={onHeaderSelect ? 0 : -1} // prevent focus if there's no action for the button\n onKeyDown={onButtonKeyDown(onHeaderSelect)}\n type=\"button\"\n >\n <span aria-live=\"polite\" aria-atomic=\"true\">\n {monthAndYear}\n </span>\n </HeaderButtonComponentType>\n <CalendarDayNavigationButtons {...props} classNames={classNames} />\n </div>\n <CalendarDayGrid\n {...propsWithoutStyles}\n gridLabel={`${monthAndYear}, ${gridLabel}`}\n componentRef={dayGrid}\n strings={strings}\n navigatedDate={navigatedDate!}\n weeksToShow={showSixWeeksByDefault ? 6 : undefined}\n dateTimeFormatter={dateTimeFormatter!}\n minDate={minDate}\n maxDate={maxDate}\n restrictedDates={restrictedDates}\n onNavigateDate={onNavigateDate}\n dateRangeType={dateRangeType}\n />\n </div>\n );\n};\nCalendarDay.displayName = 'CalendarDay';\n\ninterface CalendarDayNavigationButtonsProps extends CalendarDayProps {\n classNames: Record<keyof CalendarDayStyles, string>;\n}\n\nconst CalendarDayNavigationButtons = (props: CalendarDayNavigationButtonsProps): JSX.Element => {\n const {\n minDate,\n maxDate,\n navigatedDate,\n navigationIcons,\n allFocusable,\n strings,\n showCloseButton,\n classNames,\n onNavigateDate,\n onDismiss,\n } = props;\n\n const onSelectNextMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, 1), false);\n };\n\n const onSelectPrevMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, -1), false);\n };\n\n // determine if previous/next months are in bounds\n const prevMonthInBounds = minDate ? compareDatePart(minDate, getMonthStart(navigatedDate)) < 0 : true;\n const nextMonthInBounds = maxDate ? compareDatePart(getMonthEnd(navigatedDate), maxDate) < 0 : true;\n\n // use aria-disabled instead of disabled so focus is not lost\n // when a prev/next button becomes disabled after being clicked\n return (\n <div className={classNames.monthComponents}>\n <button\n className={mergeClasses(classNames.headerIconButton, !prevMonthInBounds && classNames.disabledStyle)}\n tabIndex={prevMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!prevMonthInBounds}\n onClick={prevMonthInBounds ? onSelectPrevMonth : undefined}\n onKeyDown={prevMonthInBounds ? onButtonKeyDown(onSelectPrevMonth) : undefined}\n title={\n strings.prevMonthAriaLabel\n ? strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, -1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.upNavigation}\n </button>\n <button\n className={mergeClasses(classNames.headerIconButton, !nextMonthInBounds && classNames.disabledStyle)}\n tabIndex={nextMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!nextMonthInBounds}\n onClick={nextMonthInBounds ? onSelectNextMonth : undefined}\n onKeyDown={nextMonthInBounds ? onButtonKeyDown(onSelectNextMonth) : undefined}\n title={\n strings.nextMonthAriaLabel\n ? strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, 1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.downNavigation}\n </button>\n {showCloseButton && (\n <button\n className={classNames.headerIconButton}\n onClick={onDismiss}\n onKeyDown={onButtonKeyDown(onDismiss)}\n title={strings.closeButtonAriaLabel}\n type=\"button\"\n >\n {navigationIcons.dismiss}\n </button>\n )}\n </div>\n );\n};\nCalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';\n\nconst onButtonKeyDown =\n (callback?: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => void) =>\n (ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n switch (ev.key) {\n case Enter:\n callback?.();\n break;\n }\n };\n"],"names":["React","Enter","mergeClasses","addMonths","compareDatePart","getMonthEnd","getMonthStart","CalendarDayGrid","useCalendarDayStyles_unstable","CalendarDay","props","dayGrid","useRef","useImperativeHandle","componentRef","focus","current","strings","gridLabel","navigatedDate","dateTimeFormatter","className","onHeaderSelect","showSixWeeksByDefault","minDate","maxDate","restrictedDates","onNavigateDate","showWeekNumbers","dateRangeType","animationDirection","classNames","headerIsClickable","monthAndYear","formatMonthYear","HeaderButtonComponentType","headerAriaLabel","yearPickerHeaderAriaLabel","replace","propsWithoutStyles","div","root","header","aria-label","undefined","onClick","tabIndex","onKeyDown","onButtonKeyDown","type","span","aria-live","aria-atomic","CalendarDayNavigationButtons","weeksToShow","displayName","navigationIcons","allFocusable","showCloseButton","onDismiss","onSelectNextMonth","onSelectPrevMonth","prevMonthInBounds","nextMonthInBounds","monthComponents","button","headerIconButton","disabledStyle","aria-disabled","title","prevMonthAriaLabel","months","getMonth","upNavigation","nextMonthAriaLabel","downNavigation","closeButtonAriaLabel","dismiss","callback","ev","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
1
|
+
{"version":3,"sources":["../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Enter } from '@fluentui/keyboard-keys';\nimport { mergeClasses } from '@griffel/react';\nimport { addMonths, compareDatePart, getMonthEnd, getMonthStart } from '../../utils';\nimport { CalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid';\nimport { useCalendarDayStyles_unstable } from './useCalendarDayStyles.styles';\nimport type { ICalendarDayGrid } from '../CalendarDayGrid/CalendarDayGrid.types';\nimport type { CalendarDayProps, CalendarDayStyles } from './CalendarDay.types';\n\n/**\n * @internal\n */\nexport const CalendarDay: React.FunctionComponent<CalendarDayProps> = props => {\n const dayGrid = React.useRef<ICalendarDayGrid>(null);\n\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n dayGrid.current?.focus?.();\n },\n }),\n [],\n );\n\n const {\n strings,\n gridLabel,\n navigatedDate,\n dateTimeFormatter,\n className,\n onHeaderSelect,\n showSixWeeksByDefault,\n minDate,\n maxDate,\n restrictedDates,\n onNavigateDate,\n showWeekNumbers,\n dateRangeType,\n animationDirection,\n } = props;\n\n const classNames = useCalendarDayStyles_unstable({\n className,\n headerIsClickable: !!onHeaderSelect,\n showWeekNumbers,\n animationDirection,\n });\n\n const monthAndYear = dateTimeFormatter.formatMonthYear(navigatedDate, strings);\n const HeaderButtonComponentType = onHeaderSelect ? 'button' : 'div';\n const headerAriaLabel = strings.yearPickerHeaderAriaLabel\n ? strings.yearPickerHeaderAriaLabel.replace('{0}', monthAndYear)\n : monthAndYear;\n\n const { ...propsWithoutStyles } = props;\n\n return (\n <div className={classNames.root}>\n <div className={classNames.header}>\n <HeaderButtonComponentType\n aria-label={onHeaderSelect ? headerAriaLabel : undefined}\n className={classNames.monthAndYear}\n onClick={onHeaderSelect}\n tabIndex={onHeaderSelect ? 0 : -1} // prevent focus if there's no action for the button\n onKeyDown={onButtonKeyDown(onHeaderSelect)}\n type=\"button\"\n >\n <span aria-live=\"polite\" aria-atomic=\"true\">\n {monthAndYear}\n </span>\n </HeaderButtonComponentType>\n <CalendarDayNavigationButtons {...props} classNames={classNames} />\n </div>\n <CalendarDayGrid\n {...propsWithoutStyles}\n gridLabel={`${monthAndYear}, ${gridLabel}`}\n componentRef={dayGrid}\n strings={strings}\n navigatedDate={navigatedDate!}\n weeksToShow={showSixWeeksByDefault ? 6 : undefined}\n dateTimeFormatter={dateTimeFormatter!}\n minDate={minDate}\n maxDate={maxDate}\n restrictedDates={restrictedDates}\n onNavigateDate={onNavigateDate}\n dateRangeType={dateRangeType}\n />\n </div>\n );\n};\nCalendarDay.displayName = 'CalendarDay';\n\ninterface CalendarDayNavigationButtonsProps extends CalendarDayProps {\n classNames: Record<keyof CalendarDayStyles, string>;\n}\n\nconst CalendarDayNavigationButtons = (\n props: CalendarDayNavigationButtonsProps,\n): // eslint-disable-next-line @typescript-eslint/no-deprecated\nJSX.Element => {\n const {\n minDate,\n maxDate,\n navigatedDate,\n navigationIcons,\n allFocusable,\n strings,\n showCloseButton,\n classNames,\n onNavigateDate,\n onDismiss,\n } = props;\n\n const onSelectNextMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, 1), false);\n };\n\n const onSelectPrevMonth = (): void => {\n onNavigateDate(addMonths(navigatedDate, -1), false);\n };\n\n // determine if previous/next months are in bounds\n const prevMonthInBounds = minDate ? compareDatePart(minDate, getMonthStart(navigatedDate)) < 0 : true;\n const nextMonthInBounds = maxDate ? compareDatePart(getMonthEnd(navigatedDate), maxDate) < 0 : true;\n\n // use aria-disabled instead of disabled so focus is not lost\n // when a prev/next button becomes disabled after being clicked\n return (\n <div className={classNames.monthComponents}>\n <button\n className={mergeClasses(classNames.headerIconButton, !prevMonthInBounds && classNames.disabledStyle)}\n tabIndex={prevMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!prevMonthInBounds}\n onClick={prevMonthInBounds ? onSelectPrevMonth : undefined}\n onKeyDown={prevMonthInBounds ? onButtonKeyDown(onSelectPrevMonth) : undefined}\n title={\n strings.prevMonthAriaLabel\n ? strings.prevMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, -1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.upNavigation}\n </button>\n <button\n className={mergeClasses(classNames.headerIconButton, !nextMonthInBounds && classNames.disabledStyle)}\n tabIndex={nextMonthInBounds ? undefined : allFocusable ? 0 : -1}\n aria-disabled={!nextMonthInBounds}\n onClick={nextMonthInBounds ? onSelectNextMonth : undefined}\n onKeyDown={nextMonthInBounds ? onButtonKeyDown(onSelectNextMonth) : undefined}\n title={\n strings.nextMonthAriaLabel\n ? strings.nextMonthAriaLabel + ' ' + strings.months[addMonths(navigatedDate, 1).getMonth()]\n : undefined\n }\n type=\"button\"\n >\n {navigationIcons.downNavigation}\n </button>\n {showCloseButton && (\n <button\n className={classNames.headerIconButton}\n onClick={onDismiss}\n onKeyDown={onButtonKeyDown(onDismiss)}\n title={strings.closeButtonAriaLabel}\n type=\"button\"\n >\n {navigationIcons.dismiss}\n </button>\n )}\n </div>\n );\n};\nCalendarDayNavigationButtons.displayName = 'CalendarDayNavigationButtons';\n\nconst onButtonKeyDown =\n (callback?: () => void): ((ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => void) =>\n (ev: React.KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n switch (ev.key) {\n case Enter:\n callback?.();\n break;\n }\n };\n"],"names":["React","Enter","mergeClasses","addMonths","compareDatePart","getMonthEnd","getMonthStart","CalendarDayGrid","useCalendarDayStyles_unstable","CalendarDay","props","dayGrid","useRef","useImperativeHandle","componentRef","focus","current","strings","gridLabel","navigatedDate","dateTimeFormatter","className","onHeaderSelect","showSixWeeksByDefault","minDate","maxDate","restrictedDates","onNavigateDate","showWeekNumbers","dateRangeType","animationDirection","classNames","headerIsClickable","monthAndYear","formatMonthYear","HeaderButtonComponentType","headerAriaLabel","yearPickerHeaderAriaLabel","replace","propsWithoutStyles","div","root","header","aria-label","undefined","onClick","tabIndex","onKeyDown","onButtonKeyDown","type","span","aria-live","aria-atomic","CalendarDayNavigationButtons","weeksToShow","displayName","navigationIcons","allFocusable","showCloseButton","onDismiss","onSelectNextMonth","onSelectPrevMonth","prevMonthInBounds","nextMonthInBounds","monthComponents","button","headerIconButton","disabledStyle","aria-disabled","title","prevMonthAriaLabel","months","getMonth","upNavigation","nextMonthAriaLabel","downNavigation","closeButtonAriaLabel","dismiss","callback","ev","key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
@@ -0,0 +1,142 @@
|
|
1
|
+
import { tokens } from '@fluentui/react-theme';
|
2
|
+
import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
|
3
|
+
import { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';
|
4
|
+
/**
|
5
|
+
* @internal
|
6
|
+
*/ export const calendarDayClassNames = {
|
7
|
+
root: 'fui-CalendarDay',
|
8
|
+
header: 'fui-CalendarDay__header',
|
9
|
+
monthAndYear: 'fui-CalendarDay__monthAndYear',
|
10
|
+
monthComponents: 'fui-CalendarDay__monthComponents',
|
11
|
+
headerIconButton: 'fui-CalendarDay__headerIconButton',
|
12
|
+
disabledStyle: 'fui-CalendarDay__disabledStyle'
|
13
|
+
};
|
14
|
+
const useRootStyles = makeStyles({
|
15
|
+
base: {
|
16
|
+
boxSizing: 'content-box',
|
17
|
+
padding: '12px',
|
18
|
+
width: '196px'
|
19
|
+
},
|
20
|
+
normalize: {
|
21
|
+
boxShadow: 'none',
|
22
|
+
boxSizing: 'border-box',
|
23
|
+
margin: '0',
|
24
|
+
padding: '0'
|
25
|
+
},
|
26
|
+
showWeekNumbers: {
|
27
|
+
width: '226px'
|
28
|
+
}
|
29
|
+
});
|
30
|
+
const useHeaderStyles = makeStyles({
|
31
|
+
base: {
|
32
|
+
display: 'inline-flex',
|
33
|
+
height: '28px',
|
34
|
+
lineHeight: '44px',
|
35
|
+
position: 'relative',
|
36
|
+
width: '100%'
|
37
|
+
}
|
38
|
+
});
|
39
|
+
const useMonthAndYearStyles = makeStyles({
|
40
|
+
base: {
|
41
|
+
alignItems: 'center',
|
42
|
+
backgroundColor: tokens.colorTransparentBackground,
|
43
|
+
...shorthands.borderStyle('none'),
|
44
|
+
borderRadius: tokens.borderRadiusMedium,
|
45
|
+
color: tokens.colorNeutralForeground1,
|
46
|
+
display: 'inline-block',
|
47
|
+
flexGrow: 1,
|
48
|
+
fontFamily: 'inherit',
|
49
|
+
fontSize: tokens.fontSizeBase300,
|
50
|
+
fontWeight: tokens.fontWeightSemibold,
|
51
|
+
lineHeight: '28px',
|
52
|
+
overflow: 'hidden',
|
53
|
+
padding: '0 4px 0 10px',
|
54
|
+
textAlign: 'left',
|
55
|
+
textOverflow: 'ellipsis',
|
56
|
+
whiteSpace: 'nowrap'
|
57
|
+
},
|
58
|
+
animation: {
|
59
|
+
animationDuration: DURATION_2,
|
60
|
+
animationFillMode: 'both',
|
61
|
+
animationName: FADE_IN,
|
62
|
+
animationTimingFunction: EASING_FUNCTION_2
|
63
|
+
},
|
64
|
+
headerIsClickable: {
|
65
|
+
'&:hover': {
|
66
|
+
backgroundColor: tokens.colorBrandBackgroundInvertedHover,
|
67
|
+
color: tokens.colorBrandForegroundOnLightHover,
|
68
|
+
cursor: 'pointer',
|
69
|
+
outline: `1px solid ${tokens.colorTransparentStroke}`
|
70
|
+
},
|
71
|
+
'&:hover:active': {
|
72
|
+
backgroundColor: tokens.colorBrandBackgroundInvertedPressed,
|
73
|
+
color: tokens.colorBrandForegroundOnLightPressed,
|
74
|
+
cursor: 'pointer',
|
75
|
+
outline: `1px solid ${tokens.colorTransparentStroke}`
|
76
|
+
}
|
77
|
+
}
|
78
|
+
});
|
79
|
+
const useMonthComponentsStyles = makeStyles({
|
80
|
+
base: {
|
81
|
+
alignSelf: 'flex-end',
|
82
|
+
display: 'inline-flex'
|
83
|
+
}
|
84
|
+
});
|
85
|
+
const useHeaderIconButtonStyles = makeStyles({
|
86
|
+
base: {
|
87
|
+
backgroundColor: tokens.colorTransparentBackground,
|
88
|
+
...shorthands.borderStyle('none'),
|
89
|
+
borderRadius: tokens.borderRadiusMedium,
|
90
|
+
color: tokens.colorNeutralForeground3,
|
91
|
+
display: 'block',
|
92
|
+
fontFamily: 'inherit',
|
93
|
+
fontSize: tokens.fontSizeBase200,
|
94
|
+
height: '28px',
|
95
|
+
lineHeight: '28px',
|
96
|
+
overflow: 'visible',
|
97
|
+
padding: '0',
|
98
|
+
position: 'relative',
|
99
|
+
textAlign: 'center',
|
100
|
+
width: '28px',
|
101
|
+
'&:hover': {
|
102
|
+
backgroundColor: tokens.colorBrandBackgroundInvertedHover,
|
103
|
+
color: tokens.colorBrandForegroundOnLightHover,
|
104
|
+
cursor: 'pointer',
|
105
|
+
outline: `1px solid ${tokens.colorTransparentStroke}`
|
106
|
+
},
|
107
|
+
'&:hover:active': {
|
108
|
+
backgroundColor: tokens.colorBrandBackgroundInvertedPressed,
|
109
|
+
color: tokens.colorBrandForegroundOnLightPressed
|
110
|
+
}
|
111
|
+
}
|
112
|
+
});
|
113
|
+
const useDisabledStyleStyles = makeStyles({
|
114
|
+
base: {
|
115
|
+
'&, &:disabled, & button': {
|
116
|
+
color: tokens.colorNeutralForegroundDisabled,
|
117
|
+
pointerEvents: 'none'
|
118
|
+
}
|
119
|
+
}
|
120
|
+
});
|
121
|
+
/**
|
122
|
+
* @internal
|
123
|
+
*
|
124
|
+
* Apply styling to the CalendarDay slots based on the state
|
125
|
+
*/ export const useCalendarDayStyles_unstable = (props)=>{
|
126
|
+
'use no memo';
|
127
|
+
const rootStyles = useRootStyles();
|
128
|
+
const headerStyles = useHeaderStyles();
|
129
|
+
const monthAndYearStyles = useMonthAndYearStyles();
|
130
|
+
const monthComponentsStyles = useMonthComponentsStyles();
|
131
|
+
const headerIconButtonStyles = useHeaderIconButtonStyles();
|
132
|
+
const disabledStyleStyles = useDisabledStyleStyles();
|
133
|
+
const { className, headerIsClickable, showWeekNumbers } = props;
|
134
|
+
return {
|
135
|
+
root: mergeClasses(calendarDayClassNames.root, rootStyles.normalize, rootStyles.base, showWeekNumbers && rootStyles.showWeekNumbers, className),
|
136
|
+
header: mergeClasses(calendarDayClassNames.header, headerStyles.base),
|
137
|
+
monthAndYear: mergeClasses(calendarDayClassNames.monthAndYear, monthAndYearStyles.base, monthAndYearStyles.animation, headerIsClickable && monthAndYearStyles.headerIsClickable),
|
138
|
+
monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),
|
139
|
+
headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),
|
140
|
+
disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base)
|
141
|
+
};
|
142
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/CalendarDay/useCalendarDayStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { DURATION_2, EASING_FUNCTION_2, FADE_IN } from '../../utils/animations';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarDayStyles, CalendarDayStyleProps } from './CalendarDay.types';\n\n/**\n * @internal\n */\nexport const calendarDayClassNames: SlotClassNames<CalendarDayStyles> = {\n root: 'fui-CalendarDay',\n header: 'fui-CalendarDay__header',\n monthAndYear: 'fui-CalendarDay__monthAndYear',\n monthComponents: 'fui-CalendarDay__monthComponents',\n headerIconButton: 'fui-CalendarDay__headerIconButton',\n disabledStyle: 'fui-CalendarDay__disabledStyle',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n padding: '12px',\n width: '196px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n margin: '0',\n padding: '0',\n },\n showWeekNumbers: {\n width: '226px',\n },\n});\n\nconst useHeaderStyles = makeStyles({\n base: {\n display: 'inline-flex',\n height: '28px',\n lineHeight: '44px',\n position: 'relative',\n width: '100%',\n },\n});\n\nconst useMonthAndYearStyles = makeStyles({\n base: {\n alignItems: 'center',\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground1,\n display: 'inline-block',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: '28px',\n overflow: 'hidden',\n padding: '0 4px 0 10px',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2,\n },\n headerIsClickable: {\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n },\n});\n\nconst useMonthComponentsStyles = makeStyles({\n base: {\n alignSelf: 'flex-end',\n display: 'inline-flex',\n },\n});\n\nconst useHeaderIconButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground3,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n overflow: 'visible',\n padding: '0',\n position: 'relative',\n textAlign: 'center',\n width: '28px',\n\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorBrandForegroundOnLightHover,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n },\n },\n});\n\nconst useDisabledStyleStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the CalendarDay slots based on the state\n */\nexport const useCalendarDayStyles_unstable = (props: CalendarDayStyleProps): CalendarDayStyles => {\n 'use no memo';\n\n const rootStyles = useRootStyles();\n const headerStyles = useHeaderStyles();\n const monthAndYearStyles = useMonthAndYearStyles();\n const monthComponentsStyles = useMonthComponentsStyles();\n const headerIconButtonStyles = useHeaderIconButtonStyles();\n const disabledStyleStyles = useDisabledStyleStyles();\n\n const { className, headerIsClickable, showWeekNumbers } = props;\n\n return {\n root: mergeClasses(\n calendarDayClassNames.root,\n rootStyles.normalize,\n rootStyles.base,\n showWeekNumbers && rootStyles.showWeekNumbers,\n className,\n ),\n header: mergeClasses(calendarDayClassNames.header, headerStyles.base),\n monthAndYear: mergeClasses(\n calendarDayClassNames.monthAndYear,\n monthAndYearStyles.base,\n monthAndYearStyles.animation,\n headerIsClickable && monthAndYearStyles.headerIsClickable,\n ),\n monthComponents: mergeClasses(calendarDayClassNames.monthComponents, monthComponentsStyles.base),\n headerIconButton: mergeClasses(calendarDayClassNames.headerIconButton, headerIconButtonStyles.base),\n disabledStyle: mergeClasses(calendarDayClassNames.disabledStyle, disabledStyleStyles.base),\n };\n};\n"],"names":["tokens","makeStyles","mergeClasses","shorthands","DURATION_2","EASING_FUNCTION_2","FADE_IN","calendarDayClassNames","root","header","monthAndYear","monthComponents","headerIconButton","disabledStyle","useRootStyles","base","boxSizing","padding","width","normalize","boxShadow","margin","showWeekNumbers","useHeaderStyles","display","height","lineHeight","position","useMonthAndYearStyles","alignItems","backgroundColor","colorTransparentBackground","borderStyle","borderRadius","borderRadiusMedium","color","colorNeutralForeground1","flexGrow","fontFamily","fontSize","fontSizeBase300","fontWeight","fontWeightSemibold","overflow","textAlign","textOverflow","whiteSpace","animation","animationDuration","animationFillMode","animationName","animationTimingFunction","headerIsClickable","colorBrandBackgroundInvertedHover","colorBrandForegroundOnLightHover","cursor","outline","colorTransparentStroke","colorBrandBackgroundInvertedPressed","colorBrandForegroundOnLightPressed","useMonthComponentsStyles","alignSelf","useHeaderIconButtonStyles","colorNeutralForeground3","fontSizeBase200","useDisabledStyleStyles","colorNeutralForegroundDisabled","pointerEvents","useCalendarDayStyles_unstable","props","rootStyles","headerStyles","monthAndYearStyles","monthComponentsStyles","headerIconButtonStyles","disabledStyleStyles","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|