@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.
Files changed (34) hide show
  1. package/CHANGELOG.md +12 -2
  2. package/lib/components/Calendar/calendarNavigationIcons.js.map +1 -1
  3. package/lib/components/Calendar/useCalendarStyles.styles.raw.js +115 -0
  4. package/lib/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -0
  5. package/lib/components/CalendarDay/CalendarDay.js.map +1 -1
  6. package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js +142 -0
  7. package/lib/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -0
  8. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +395 -0
  9. package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -0
  10. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js +92 -0
  11. package/lib/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js.map +1 -0
  12. package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +9 -0
  13. package/lib/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -0
  14. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +291 -0
  15. package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -0
  16. package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js +9 -0
  17. package/lib/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -0
  18. package/lib-commonjs/components/Calendar/calendarNavigationIcons.js.map +1 -1
  19. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js +127 -0
  20. package/lib-commonjs/components/Calendar/useCalendarStyles.styles.raw.js.map +1 -0
  21. package/lib-commonjs/components/CalendarDay/CalendarDay.js.map +1 -1
  22. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js +154 -0
  23. package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.raw.js.map +1 -0
  24. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js +408 -0
  25. package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.raw.js.map +1 -0
  26. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js +106 -0
  27. package/lib-commonjs/components/CalendarDayGrid/useWeekCornerStyles.styles.raw.js.map +1 -0
  28. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js +15 -0
  29. package/lib-commonjs/components/CalendarMonth/useCalendarMonthStyles.styles.raw.js.map +1 -0
  30. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js +303 -0
  31. package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.raw.js.map +1 -0
  32. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js +15 -0
  33. package/lib-commonjs/components/CalendarYear/useCalendarYearStyles.styles.raw.js.map +1 -0
  34. package/package.json +2 -2
@@ -0,0 +1,291 @@
1
+ import { tokens } from '@fluentui/react-theme';
2
+ import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
3
+ import { DURATION_2, DURATION_3, EASING_FUNCTION_1, EASING_FUNCTION_2, FADE_IN, SLIDE_DOWN_IN20, SLIDE_LEFT_IN20, SLIDE_RIGHT_IN20, SLIDE_UP_IN20 } from '../../utils/animations';
4
+ import { AnimationDirection } from '../Calendar/Calendar.types';
5
+ /**
6
+ * @internal
7
+ */ export const calendarPickerClassNames = {
8
+ root: 'fui-CalendarPicker',
9
+ headerContainer: 'fui-CalendarPicker__headerContainer',
10
+ currentItemButton: 'fui-CalendarPicker__currentItemButton',
11
+ navigationButtonsContainer: 'fui-CalendarPicker__navigationButtonsContainer',
12
+ navigationButton: 'fui-CalendarPicker__navigationButton',
13
+ gridContainer: 'fui-CalendarPicker__gridContainer',
14
+ buttonRow: 'fui-CalendarPicker__buttonRow',
15
+ itemButton: 'fui-CalendarPicker__itemButton',
16
+ current: 'fui-CalendarPicker__current',
17
+ selected: 'fui-CalendarPicker__selected',
18
+ disabled: 'fui-CalendarPicker__disabled'
19
+ };
20
+ const useRootStyles = makeStyles({
21
+ base: {
22
+ boxSizing: 'content-box',
23
+ overflow: 'hidden',
24
+ padding: '12px',
25
+ width: '196px'
26
+ },
27
+ normalize: {
28
+ boxShadow: 'none',
29
+ boxSizing: 'border-box',
30
+ margin: '0',
31
+ padding: '0'
32
+ }
33
+ });
34
+ const useHeaderContainerStyles = makeStyles({
35
+ base: {
36
+ display: 'flex'
37
+ }
38
+ });
39
+ const useCurrentItemButtonStyles = makeStyles({
40
+ base: {
41
+ backgroundColor: tokens.colorTransparentBackground,
42
+ ...shorthands.borderStyle('none'),
43
+ borderRadius: tokens.borderRadiusMedium,
44
+ color: 'inherit',
45
+ flexGrow: 1,
46
+ fontFamily: 'inherit',
47
+ fontSize: tokens.fontSizeBase300,
48
+ fontWeight: tokens.fontWeightSemibold,
49
+ overflow: 'visible',
50
+ padding: '0 4px 0 10px',
51
+ textAlign: 'left'
52
+ },
53
+ animation: {
54
+ animationDuration: DURATION_2,
55
+ animationFillMode: 'both',
56
+ animationName: FADE_IN,
57
+ animationTimingFunction: EASING_FUNCTION_2
58
+ },
59
+ hasHeaderClickCallback: {
60
+ // If this is updated, make sure to update headerIsClickable in useCalendarDayStyles as well
61
+ '&:hover': {
62
+ backgroundColor: tokens.colorBrandBackgroundInvertedHover,
63
+ color: tokens.colorBrandForegroundOnLightHover,
64
+ cursor: 'pointer',
65
+ outline: `1px solid ${tokens.colorTransparentStroke}`
66
+ },
67
+ '&:hover:active': {
68
+ backgroundColor: tokens.colorBrandBackgroundInvertedPressed,
69
+ color: tokens.colorBrandForegroundOnLightPressed,
70
+ cursor: 'pointer',
71
+ outline: `1px solid ${tokens.colorTransparentStroke}`
72
+ }
73
+ }
74
+ });
75
+ const useNavigationButtonsContainerStyles = makeStyles({
76
+ base: {
77
+ alignItems: 'center',
78
+ display: 'flex'
79
+ }
80
+ });
81
+ const useNavigationButtonStyles = makeStyles({
82
+ base: {
83
+ backgroundColor: tokens.colorTransparentBackground,
84
+ border: 'none',
85
+ borderRadius: tokens.borderRadiusMedium,
86
+ color: tokens.colorNeutralForeground1,
87
+ display: 'block',
88
+ fontFamily: 'inherit',
89
+ fontSize: tokens.fontSizeBase200,
90
+ height: '28px',
91
+ lineHeight: '28px',
92
+ minHeight: '28px',
93
+ minWidth: '28px',
94
+ overflow: 'visible',
95
+ padding: '0',
96
+ position: 'relative',
97
+ textAlign: 'center',
98
+ width: '28px',
99
+ '&:hover': {
100
+ backgroundColor: tokens.colorBrandBackgroundInvertedHover,
101
+ color: tokens.colorBrandForegroundOnLightHover,
102
+ cursor: 'pointer',
103
+ outline: `1px solid ${tokens.colorTransparentStroke}`
104
+ },
105
+ '&:hover:active': {
106
+ backgroundColor: tokens.colorBrandBackgroundInvertedPressed,
107
+ color: tokens.colorBrandForegroundOnLightPressed
108
+ }
109
+ }
110
+ });
111
+ const useGridContainerStyles = makeStyles({
112
+ base: {
113
+ marginTop: '4px'
114
+ }
115
+ });
116
+ const useButtonRowStyles = makeStyles({
117
+ base: {
118
+ marginBottom: '16px',
119
+ '&:last-of-type': {
120
+ marginBottom: 0
121
+ }
122
+ },
123
+ animation: {
124
+ animationDuration: DURATION_3,
125
+ animationFillMode: 'both',
126
+ animationTimingFunction: EASING_FUNCTION_1
127
+ },
128
+ horizontalBackward: {
129
+ animationName: [
130
+ FADE_IN,
131
+ SLIDE_RIGHT_IN20
132
+ ]
133
+ },
134
+ horizontalForward: {
135
+ animationName: [
136
+ FADE_IN,
137
+ SLIDE_LEFT_IN20
138
+ ]
139
+ },
140
+ verticalBackward: {
141
+ animationName: [
142
+ FADE_IN,
143
+ SLIDE_DOWN_IN20
144
+ ]
145
+ },
146
+ verticalForward: {
147
+ animationName: [
148
+ FADE_IN,
149
+ SLIDE_UP_IN20
150
+ ]
151
+ }
152
+ });
153
+ const useItemButtonStyles = makeStyles({
154
+ base: {
155
+ backgroundColor: tokens.colorTransparentBackground,
156
+ border: 'none',
157
+ borderRadius: tokens.borderRadiusMedium,
158
+ color: tokens.colorNeutralForeground3,
159
+ fontFamily: 'inherit',
160
+ fontSize: tokens.fontSizeBase200,
161
+ height: '40px',
162
+ lineHeight: '40px',
163
+ minHeight: '40px',
164
+ minWidth: '40px',
165
+ margin: '0 12px 0 0',
166
+ overflow: 'visible',
167
+ padding: '0',
168
+ width: '40px',
169
+ '&:nth-child(4n + 4)': {
170
+ marginRight: 0
171
+ },
172
+ '&:nth-child(n + 9)': {
173
+ marginBottom: 0
174
+ },
175
+ '& div': {
176
+ fontWeight: tokens.fontWeightRegular
177
+ },
178
+ '&:hover': {
179
+ backgroundColor: tokens.colorBrandBackgroundInvertedHover,
180
+ color: tokens.colorNeutralForeground1Static,
181
+ cursor: 'pointer',
182
+ outline: `1px solid ${tokens.colorTransparentStroke}`,
183
+ '@media (forced-colors: active)': {
184
+ backgroundColor: 'Window',
185
+ color: 'WindowText',
186
+ forcedColorAdjust: 'none',
187
+ outline: '1px solid Highlight'
188
+ }
189
+ },
190
+ '&:hover:active': {
191
+ backgroundColor: tokens.colorBrandBackgroundInvertedPressed,
192
+ '@media (forced-colors: active)': {
193
+ backgroundColor: 'Window',
194
+ color: 'Highlight',
195
+ forcedColorAdjust: 'none'
196
+ }
197
+ }
198
+ }
199
+ });
200
+ const useCurrentStyles = makeStyles({
201
+ highlightCurrent: {
202
+ backgroundColor: tokens.colorBrandBackground,
203
+ color: tokens.colorNeutralForegroundOnBrand,
204
+ fontWeight: tokens.fontWeightSemibold,
205
+ '@media (forced-colors: active)': {
206
+ backgroundColor: 'WindowText',
207
+ color: 'Window',
208
+ forcedColorAdjust: 'none'
209
+ },
210
+ '&:hover, &:hover:active': {
211
+ backgroundColor: tokens.colorBrandBackground,
212
+ color: tokens.colorNeutralForegroundOnBrand,
213
+ '@media (forced-colors: active)': {
214
+ backgroundColor: 'WindowText',
215
+ color: 'Window',
216
+ forcedColorAdjust: 'none'
217
+ }
218
+ }
219
+ }
220
+ });
221
+ const useSelectedStyles = makeStyles({
222
+ highlightSelected: {
223
+ backgroundColor: tokens.colorBrandBackgroundInvertedSelected,
224
+ color: tokens.colorNeutralForeground1Static,
225
+ fontWeight: tokens.fontWeightSemibold,
226
+ '@media (forced-colors: active)': {
227
+ backgroundColor: 'Highlight',
228
+ color: 'Window',
229
+ forcedColorAdjust: 'none'
230
+ },
231
+ '& div': {
232
+ fontWeight: tokens.fontWeightSemibold
233
+ },
234
+ '&:hover': {
235
+ backgroundColor: tokens.colorBrandBackgroundInvertedSelected,
236
+ color: tokens.colorNeutralForeground1Static,
237
+ '@media (forced-colors: active)': {
238
+ backgroundColor: 'Highlight',
239
+ color: 'Window',
240
+ forcedColorAdjust: 'none'
241
+ }
242
+ },
243
+ '&:hover:active': {
244
+ backgroundColor: tokens.colorBrandBackgroundInvertedPressed
245
+ }
246
+ }
247
+ });
248
+ const useDisabledStyles = makeStyles({
249
+ base: {
250
+ '&, &:disabled, & button': {
251
+ color: tokens.colorNeutralForegroundDisabled,
252
+ pointerEvents: 'none'
253
+ },
254
+ '@media (forced-colors: active)': {
255
+ color: 'GrayText',
256
+ forcedColorAdjust: 'none'
257
+ }
258
+ }
259
+ });
260
+ /**
261
+ * @internal
262
+ *
263
+ * Apply styling to the CalendarPicker slots based on the state
264
+ */ export const useCalendarPickerStyles_unstable = (props)=>{
265
+ 'use no memo';
266
+ const rootStyles = useRootStyles();
267
+ const headerContainerStyles = useHeaderContainerStyles();
268
+ const currentItemButtonStyles = useCurrentItemButtonStyles();
269
+ const navigationButtonsContainerStyles = useNavigationButtonsContainerStyles();
270
+ const navigationButtonStyles = useNavigationButtonStyles();
271
+ const gridContainerStyles = useGridContainerStyles();
272
+ const buttonRowStyles = useButtonRowStyles();
273
+ const itemButtonStyles = useItemButtonStyles();
274
+ const currentStyles = useCurrentStyles();
275
+ const selectedStyles = useSelectedStyles();
276
+ const disabledStyles = useDisabledStyles();
277
+ const { animateBackwards, animationDirection, className, hasHeaderClickCallback, highlightCurrent, highlightSelected } = props;
278
+ return {
279
+ root: mergeClasses(calendarPickerClassNames.root, rootStyles.normalize, rootStyles.base, className),
280
+ headerContainer: mergeClasses(calendarPickerClassNames.headerContainer, headerContainerStyles.base),
281
+ currentItemButton: mergeClasses(calendarPickerClassNames.currentItemButton, currentItemButtonStyles.base, animateBackwards !== undefined && currentItemButtonStyles.animation, hasHeaderClickCallback && currentItemButtonStyles.hasHeaderClickCallback),
282
+ navigationButtonsContainer: mergeClasses(calendarPickerClassNames.navigationButtonsContainer, navigationButtonsContainerStyles.base),
283
+ navigationButton: mergeClasses(calendarPickerClassNames.navigationButton, navigationButtonStyles.base),
284
+ gridContainer: mergeClasses(calendarPickerClassNames.gridContainer, gridContainerStyles.base),
285
+ buttonRow: mergeClasses(calendarPickerClassNames.buttonRow, buttonRowStyles.base, buttonRowStyles.animation, animateBackwards !== undefined && (animationDirection === AnimationDirection.Horizontal ? animateBackwards ? buttonRowStyles.horizontalBackward : buttonRowStyles.horizontalForward : animateBackwards ? buttonRowStyles.verticalBackward : buttonRowStyles.verticalForward)),
286
+ itemButton: mergeClasses(calendarPickerClassNames.itemButton, itemButtonStyles.base),
287
+ selected: mergeClasses(calendarPickerClassNames.selected, highlightSelected && selectedStyles.highlightSelected),
288
+ current: mergeClasses(calendarPickerClassNames.current, highlightCurrent && currentStyles.highlightCurrent),
289
+ disabled: mergeClasses(calendarPickerClassNames.disabled, disabledStyles.base)
290
+ };
291
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CalendarPicker/useCalendarPickerStyles.styles.ts"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport {\n DURATION_2,\n DURATION_3,\n EASING_FUNCTION_1,\n EASING_FUNCTION_2,\n FADE_IN,\n SLIDE_DOWN_IN20,\n SLIDE_LEFT_IN20,\n SLIDE_RIGHT_IN20,\n SLIDE_UP_IN20,\n} from '../../utils/animations';\nimport { AnimationDirection } from '../Calendar/Calendar.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CalendarPickerStyles, CalendarPickerStyleProps } from './CalendarPicker.types';\n\n/**\n * @internal\n */\nexport const calendarPickerClassNames: SlotClassNames<CalendarPickerStyles> = {\n root: 'fui-CalendarPicker',\n headerContainer: 'fui-CalendarPicker__headerContainer',\n currentItemButton: 'fui-CalendarPicker__currentItemButton',\n navigationButtonsContainer: 'fui-CalendarPicker__navigationButtonsContainer',\n navigationButton: 'fui-CalendarPicker__navigationButton',\n gridContainer: 'fui-CalendarPicker__gridContainer',\n buttonRow: 'fui-CalendarPicker__buttonRow',\n itemButton: 'fui-CalendarPicker__itemButton',\n current: 'fui-CalendarPicker__current',\n selected: 'fui-CalendarPicker__selected',\n disabled: 'fui-CalendarPicker__disabled',\n};\n\nconst useRootStyles = makeStyles({\n base: {\n boxSizing: 'content-box',\n overflow: 'hidden',\n padding: '12px',\n width: '196px',\n },\n normalize: {\n boxShadow: 'none',\n boxSizing: 'border-box',\n margin: '0',\n padding: '0',\n },\n});\n\nconst useHeaderContainerStyles = makeStyles({\n base: {\n display: 'flex',\n },\n});\n\nconst useCurrentItemButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderStyle('none'),\n borderRadius: tokens.borderRadiusMedium,\n color: 'inherit',\n flexGrow: 1,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n overflow: 'visible',\n padding: '0 4px 0 10px',\n textAlign: 'left',\n },\n animation: {\n animationDuration: DURATION_2,\n animationFillMode: 'both',\n animationName: FADE_IN,\n animationTimingFunction: EASING_FUNCTION_2,\n },\n hasHeaderClickCallback: {\n // If this is updated, make sure to update headerIsClickable in useCalendarDayStyles as well\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 useNavigationButtonsContainerStyles = makeStyles({\n base: {\n alignItems: 'center',\n display: 'flex',\n },\n});\n\nconst useNavigationButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n border: 'none',\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground1,\n display: 'block',\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '28px',\n lineHeight: '28px',\n minHeight: '28px',\n minWidth: '28px',\n 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\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n color: tokens.colorBrandForegroundOnLightPressed,\n },\n },\n});\n\nconst useGridContainerStyles = makeStyles({\n base: {\n marginTop: '4px',\n },\n});\n\nconst useButtonRowStyles = makeStyles({\n base: {\n marginBottom: '16px',\n '&:last-of-type': {\n marginBottom: 0,\n },\n },\n animation: {\n animationDuration: DURATION_3,\n animationFillMode: 'both',\n animationTimingFunction: EASING_FUNCTION_1,\n },\n horizontalBackward: {\n animationName: [FADE_IN, SLIDE_RIGHT_IN20],\n },\n horizontalForward: {\n animationName: [FADE_IN, SLIDE_LEFT_IN20],\n },\n verticalBackward: {\n animationName: [FADE_IN, SLIDE_DOWN_IN20],\n },\n verticalForward: {\n animationName: [FADE_IN, SLIDE_UP_IN20],\n },\n});\n\nconst useItemButtonStyles = makeStyles({\n base: {\n backgroundColor: tokens.colorTransparentBackground,\n border: 'none',\n borderRadius: tokens.borderRadiusMedium,\n color: tokens.colorNeutralForeground3,\n fontFamily: 'inherit',\n fontSize: tokens.fontSizeBase200,\n height: '40px',\n lineHeight: '40px',\n minHeight: '40px',\n minWidth: '40px',\n margin: '0 12px 0 0',\n overflow: 'visible',\n padding: '0',\n width: '40px',\n\n '&:nth-child(4n + 4)': {\n marginRight: 0,\n },\n '&:nth-child(n + 9)': {\n marginBottom: 0,\n },\n '& div': {\n fontWeight: tokens.fontWeightRegular,\n },\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedHover,\n color: tokens.colorNeutralForeground1Static,\n cursor: 'pointer',\n outline: `1px solid ${tokens.colorTransparentStroke}`,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n color: 'WindowText',\n forcedColorAdjust: 'none',\n outline: '1px solid Highlight',\n },\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Window',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n },\n },\n});\n\nconst useCurrentStyles = makeStyles({\n highlightCurrent: {\n backgroundColor: tokens.colorBrandBackground,\n color: tokens.colorNeutralForegroundOnBrand,\n fontWeight: tokens.fontWeightSemibold,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'WindowText',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n '&:hover, &:hover:active': {\n backgroundColor: tokens.colorBrandBackground,\n color: tokens.colorNeutralForegroundOnBrand,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'WindowText',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n },\n },\n});\n\nconst useSelectedStyles = makeStyles({\n highlightSelected: {\n backgroundColor: tokens.colorBrandBackgroundInvertedSelected,\n color: tokens.colorNeutralForeground1Static,\n fontWeight: tokens.fontWeightSemibold,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n '& div': {\n fontWeight: tokens.fontWeightSemibold,\n },\n '&:hover': {\n backgroundColor: tokens.colorBrandBackgroundInvertedSelected,\n color: tokens.colorNeutralForeground1Static,\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n color: 'Window',\n forcedColorAdjust: 'none',\n },\n },\n '&:hover:active': {\n backgroundColor: tokens.colorBrandBackgroundInvertedPressed,\n },\n },\n});\n\nconst useDisabledStyles = makeStyles({\n base: {\n '&, &:disabled, & button': {\n color: tokens.colorNeutralForegroundDisabled,\n pointerEvents: 'none',\n },\n '@media (forced-colors: active)': {\n color: 'GrayText',\n forcedColorAdjust: 'none',\n },\n },\n});\n\n/**\n * @internal\n *\n * Apply styling to the CalendarPicker slots based on the state\n */\nexport const useCalendarPickerStyles_unstable = (props: CalendarPickerStyleProps): CalendarPickerStyles => {\n 'use no memo';\n\n const rootStyles = useRootStyles();\n const headerContainerStyles = useHeaderContainerStyles();\n const currentItemButtonStyles = useCurrentItemButtonStyles();\n const navigationButtonsContainerStyles = useNavigationButtonsContainerStyles();\n const navigationButtonStyles = useNavigationButtonStyles();\n const gridContainerStyles = useGridContainerStyles();\n const buttonRowStyles = useButtonRowStyles();\n const itemButtonStyles = useItemButtonStyles();\n const currentStyles = useCurrentStyles();\n const selectedStyles = useSelectedStyles();\n const disabledStyles = useDisabledStyles();\n\n const {\n animateBackwards,\n animationDirection,\n className,\n hasHeaderClickCallback,\n highlightCurrent,\n highlightSelected,\n } = props;\n\n return {\n root: mergeClasses(calendarPickerClassNames.root, rootStyles.normalize, rootStyles.base, className),\n headerContainer: mergeClasses(calendarPickerClassNames.headerContainer, headerContainerStyles.base),\n currentItemButton: mergeClasses(\n calendarPickerClassNames.currentItemButton,\n currentItemButtonStyles.base,\n animateBackwards !== undefined && currentItemButtonStyles.animation,\n hasHeaderClickCallback && currentItemButtonStyles.hasHeaderClickCallback,\n ),\n navigationButtonsContainer: mergeClasses(\n calendarPickerClassNames.navigationButtonsContainer,\n navigationButtonsContainerStyles.base,\n ),\n navigationButton: mergeClasses(calendarPickerClassNames.navigationButton, navigationButtonStyles.base),\n gridContainer: mergeClasses(calendarPickerClassNames.gridContainer, gridContainerStyles.base),\n buttonRow: mergeClasses(\n calendarPickerClassNames.buttonRow,\n buttonRowStyles.base,\n buttonRowStyles.animation,\n animateBackwards !== undefined &&\n (animationDirection === AnimationDirection.Horizontal\n ? animateBackwards\n ? buttonRowStyles.horizontalBackward\n : buttonRowStyles.horizontalForward\n : animateBackwards\n ? buttonRowStyles.verticalBackward\n : buttonRowStyles.verticalForward),\n ),\n itemButton: mergeClasses(calendarPickerClassNames.itemButton, itemButtonStyles.base),\n selected: mergeClasses(calendarPickerClassNames.selected, highlightSelected && selectedStyles.highlightSelected),\n current: mergeClasses(calendarPickerClassNames.current, highlightCurrent && currentStyles.highlightCurrent),\n disabled: mergeClasses(calendarPickerClassNames.disabled, disabledStyles.base),\n };\n};\n"],"names":["tokens","makeStyles","mergeClasses","shorthands","DURATION_2","DURATION_3","EASING_FUNCTION_1","EASING_FUNCTION_2","FADE_IN","SLIDE_DOWN_IN20","SLIDE_LEFT_IN20","SLIDE_RIGHT_IN20","SLIDE_UP_IN20","AnimationDirection","calendarPickerClassNames","root","headerContainer","currentItemButton","navigationButtonsContainer","navigationButton","gridContainer","buttonRow","itemButton","current","selected","disabled","useRootStyles","base","boxSizing","overflow","padding","width","normalize","boxShadow","margin","useHeaderContainerStyles","display","useCurrentItemButtonStyles","backgroundColor","colorTransparentBackground","borderStyle","borderRadius","borderRadiusMedium","color","flexGrow","fontFamily","fontSize","fontSizeBase300","fontWeight","fontWeightSemibold","textAlign","animation","animationDuration","animationFillMode","animationName","animationTimingFunction","hasHeaderClickCallback","colorBrandBackgroundInvertedHover","colorBrandForegroundOnLightHover","cursor","outline","colorTransparentStroke","colorBrandBackgroundInvertedPressed","colorBrandForegroundOnLightPressed","useNavigationButtonsContainerStyles","alignItems","useNavigationButtonStyles","border","colorNeutralForeground1","fontSizeBase200","height","lineHeight","minHeight","minWidth","position","useGridContainerStyles","marginTop","useButtonRowStyles","marginBottom","horizontalBackward","horizontalForward","verticalBackward","verticalForward","useItemButtonStyles","colorNeutralForeground3","marginRight","fontWeightRegular","colorNeutralForeground1Static","forcedColorAdjust","useCurrentStyles","highlightCurrent","colorBrandBackground","colorNeutralForegroundOnBrand","useSelectedStyles","highlightSelected","colorBrandBackgroundInvertedSelected","useDisabledStyles","colorNeutralForegroundDisabled","pointerEvents","useCalendarPickerStyles_unstable","props","rootStyles","headerContainerStyles","currentItemButtonStyles","navigationButtonsContainerStyles","navigationButtonStyles","gridContainerStyles","buttonRowStyles","itemButtonStyles","currentStyles","selectedStyles","disabledStyles","animateBackwards","animationDirection","className","undefined","Horizontal"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';
2
+ /**
3
+ * @internal
4
+ *
5
+ * Apply styling to the CalendarYear slots based on the state
6
+ */ export const useCalendarYearStyles_unstable = (props)=>{
7
+ 'use no memo';
8
+ return useCalendarPickerStyles_unstable(props);
9
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CalendarYear/useCalendarYearStyles.styles.ts"],"sourcesContent":["import { useCalendarPickerStyles_unstable } from '../CalendarPicker/useCalendarPickerStyles.styles';\nimport type { CalendarYearStyleProps, CalendarYearStyles } from './CalendarYear.types';\n\n/**\n * @internal\n *\n * Apply styling to the CalendarYear slots based on the state\n */\nexport const useCalendarYearStyles_unstable = (props: CalendarYearStyleProps): CalendarYearStyles => {\n 'use no memo';\n\n return useCalendarPickerStyles_unstable(props);\n};\n"],"names":["useCalendarPickerStyles_unstable","useCalendarYearStyles_unstable","props"],"rangeMappings":";;;;;;;;","mappings":"AAAA,SAASA,gCAAgC,QAAQ,mDAAmD;AAGpG;;;;CAIC,GACD,OAAO,MAAMC,iCAAiC,CAACC;IAC7C;IAEA,OAAOF,iCAAiCE;AAC1C,EAAE"}
@@ -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\n /**\n * Icon to use for down arrow navigation. Default comes from \\@fluentui\\/react-icons\n * @default ArrowDownRegular\n */\n downNavigation?: JSX.Element;\n\n /**\n * Icon to use for the dismiss button. Default comes from \\@fluentui\\/react-icons\n * @default DismissRegular\n */\n dismiss?: JSX.Element;\n};\n\nexport const defaultNavigationIcons: CalendarNavigationIcons = {\n dismiss: <DismissRegular />,\n downNavigation: <ArrowDownRegular />,\n upNavigation: <ArrowUpRegular />,\n};\n"],"names":["defaultNavigationIcons","dismiss","React","createElement","DismissRegular","downNavigation","ArrowDownRegular","upNavigation","ArrowUpRegular"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":";;;;+BAuBaA;;;eAAAA;;;;iEAvBU;4BAC0C;AAsB1D,MAAMA,yBAAkD;IAC7DC,SAAAA,WAAAA,GAASC,OAAAC,aAAA,CAACC,0BAAAA,EAAAA;IACVC,gBAAAA,WAAAA,GAAgBH,OAAAC,aAAA,CAACG,4BAAAA,EAAAA;IACjBC,cAAAA,WAAAA,GAAcL,OAAAC,aAAA,CAACK,0BAAAA,EAAAA;AACjB"}
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":["defaultNavigationIcons","dismiss","React","createElement","DismissRegular","downNavigation","ArrowDownRegular","upNavigation","ArrowUpRegular"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":";;;;+BAwBaA;;;eAAAA;;;;iEAxBU;4BAC0C;AAuB1D,MAAMA,yBAAkD;IAC7DC,SAAAA,WAAAA,GAASC,OAAAC,aAAA,CAACC,0BAAAA,EAAAA;IACVC,gBAAAA,WAAAA,GAAgBH,OAAAC,aAAA,CAACG,4BAAAA,EAAAA;IACjBC,cAAAA,WAAAA,GAAcL,OAAAC,aAAA,CAACK,0BAAAA,EAAAA;AACjB"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ calendarClassNames: function() {
13
+ return calendarClassNames;
14
+ },
15
+ useCalendarStyles_unstable: function() {
16
+ return useCalendarStyles_unstable;
17
+ }
18
+ });
19
+ const _reacttheme = require("@fluentui/react-theme");
20
+ const _react = require("@griffel/react");
21
+ const calendarClassNames = {
22
+ root: 'fui-Calendar',
23
+ divider: 'fui-Calendar__divider',
24
+ goTodayButton: 'fui-Calendar__goTodayButton',
25
+ monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',
26
+ liveRegion: 'fui-Calendar__liveRegion'
27
+ };
28
+ const useRootStyles = (0, _react.makeStyles)({
29
+ base: {
30
+ display: 'flex',
31
+ width: '220px'
32
+ },
33
+ normalize: {
34
+ boxShadow: 'none',
35
+ boxSizing: 'border-box',
36
+ margin: '0',
37
+ padding: '0'
38
+ },
39
+ monthPickerNotVisible: {
40
+ flexDirection: 'column'
41
+ },
42
+ dayAndMonthPickersVisible: {
43
+ width: '440px'
44
+ },
45
+ dayPickerVisibleAndWeekNumbersShown: {
46
+ width: '250px'
47
+ },
48
+ dayAndMonthPickersVisibleAndWeekNumbersShown: {
49
+ width: '470px'
50
+ }
51
+ });
52
+ const useDividerStyles = (0, _react.makeStyles)({
53
+ base: {
54
+ borderRight: `1px solid ${_reacttheme.tokens.colorNeutralStroke2}`,
55
+ top: 0
56
+ }
57
+ });
58
+ const useMonthPickerWrapperStyles = (0, _react.makeStyles)({
59
+ base: {
60
+ display: 'flex',
61
+ flexDirection: 'column'
62
+ }
63
+ });
64
+ const useGoTodayButtonStyles = (0, _react.makeStyles)({
65
+ base: {
66
+ alignSelf: 'flex-end',
67
+ backgroundColor: _reacttheme.tokens.colorTransparentBackground,
68
+ ..._react.shorthands.borderStyle('none'),
69
+ bottom: 0,
70
+ boxSizing: 'content-box',
71
+ color: _reacttheme.tokens.colorNeutralForeground1,
72
+ fontFamily: 'inherit',
73
+ fontSize: _reacttheme.tokens.fontSizeBase200,
74
+ height: '30px',
75
+ lineHeight: '30px',
76
+ marginRight: '16px',
77
+ marginTop: '3px',
78
+ overflow: 'visible',
79
+ padding: '0 4px',
80
+ '& div': {
81
+ fontSize: _reacttheme.tokens.fontSizeBase200
82
+ },
83
+ '&:hover': {
84
+ backgroundColor: _reacttheme.tokens.colorTransparentBackground,
85
+ color: _reacttheme.tokens.colorBrandForeground1,
86
+ cursor: 'pointer',
87
+ '@media (forced-colors: active)': {
88
+ outline: _reacttheme.tokens.strokeWidthThin,
89
+ borderRadius: _reacttheme.tokens.borderRadiusSmall
90
+ }
91
+ },
92
+ '&:hover:active': {
93
+ color: _reacttheme.tokens.colorBrandForeground2
94
+ },
95
+ '&:disabled': {
96
+ color: _reacttheme.tokens.colorNeutralForegroundDisabled,
97
+ pointerEvents: 'none'
98
+ }
99
+ }
100
+ });
101
+ const useLiveRegionStyles = (0, _react.makeStyles)({
102
+ base: {
103
+ border: 'none',
104
+ height: '1px',
105
+ margin: '-1px',
106
+ overflow: 'hidden',
107
+ padding: '0',
108
+ position: 'absolute',
109
+ width: '1px'
110
+ }
111
+ });
112
+ const useCalendarStyles_unstable = (props)=>{
113
+ 'use no memo';
114
+ const rootStyles = useRootStyles();
115
+ const dividerStyles = useDividerStyles();
116
+ const monthPickerWrapperStyles = useMonthPickerWrapperStyles();
117
+ const goTodayButtonStyles = useGoTodayButtonStyles();
118
+ const liveRegionStyles = useLiveRegionStyles();
119
+ const { className, isDayPickerVisible, isMonthPickerVisible, showWeekNumbers } = props;
120
+ return {
121
+ root: (0, _react.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),
122
+ divider: (0, _react.mergeClasses)(calendarClassNames.divider, dividerStyles.base),
123
+ monthPickerWrapper: (0, _react.mergeClasses)(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),
124
+ goTodayButton: (0, _react.mergeClasses)(calendarClassNames.goTodayButton, goTodayButtonStyles.base),
125
+ liveRegion: (0, _react.mergeClasses)(calendarClassNames.liveRegion, liveRegionStyles.base)
126
+ };
127
+ };
@@ -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":["calendarClassNames","useCalendarStyles_unstable","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","makeStyles","base","display","width","normalize","boxShadow","boxSizing","margin","padding","monthPickerNotVisible","flexDirection","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","useDividerStyles","borderRight","tokens","colorNeutralStroke2","top","useMonthPickerWrapperStyles","useGoTodayButtonStyles","alignSelf","backgroundColor","colorTransparentBackground","shorthands","borderStyle","bottom","color","colorNeutralForeground1","fontFamily","fontSize","fontSizeBase200","height","lineHeight","marginRight","marginTop","overflow","colorBrandForeground1","cursor","outline","strokeWidthThin","borderRadius","borderRadiusSmall","colorBrandForeground2","colorNeutralForegroundDisabled","pointerEvents","useLiveRegionStyles","border","position","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers","mergeClasses"],"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":["CalendarDay","props","dayGrid","React","useRef","useImperativeHandle","componentRef","focus","current","strings","gridLabel","navigatedDate","dateTimeFormatter","className","onHeaderSelect","showSixWeeksByDefault","minDate","maxDate","restrictedDates","onNavigateDate","showWeekNumbers","dateRangeType","animationDirection","classNames","useCalendarDayStyles_unstable","headerIsClickable","monthAndYear","formatMonthYear","HeaderButtonComponentType","headerAriaLabel","yearPickerHeaderAriaLabel","replace","propsWithoutStyles","createElement","div","root","header","aria-label","undefined","onClick","tabIndex","onKeyDown","onButtonKeyDown","type","span","aria-live","aria-atomic","CalendarDayNavigationButtons","CalendarDayGrid","weeksToShow","displayName","navigationIcons","allFocusable","showCloseButton","onDismiss","onSelectNextMonth","addMonths","onSelectPrevMonth","prevMonthInBounds","compareDatePart","getMonthStart","nextMonthInBounds","getMonthEnd","monthComponents","button","mergeClasses","headerIconButton","disabledStyle","aria-disabled","title","prevMonthAriaLabel","months","getMonth","upNavigation","nextMonthAriaLabel","downNavigation","closeButtonAriaLabel","dismiss","callback","ev","key","Enter"],"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":["CalendarDay","props","dayGrid","React","useRef","useImperativeHandle","componentRef","focus","current","strings","gridLabel","navigatedDate","dateTimeFormatter","className","onHeaderSelect","showSixWeeksByDefault","minDate","maxDate","restrictedDates","onNavigateDate","showWeekNumbers","dateRangeType","animationDirection","classNames","useCalendarDayStyles_unstable","headerIsClickable","monthAndYear","formatMonthYear","HeaderButtonComponentType","headerAriaLabel","yearPickerHeaderAriaLabel","replace","propsWithoutStyles","createElement","div","root","header","aria-label","undefined","onClick","tabIndex","onKeyDown","onButtonKeyDown","type","span","aria-live","aria-atomic","CalendarDayNavigationButtons","CalendarDayGrid","weeksToShow","displayName","navigationIcons","allFocusable","showCloseButton","onDismiss","onSelectNextMonth","addMonths","onSelectPrevMonth","prevMonthInBounds","compareDatePart","getMonthStart","nextMonthInBounds","getMonthEnd","monthComponents","button","mergeClasses","headerIconButton","disabledStyle","aria-disabled","title","prevMonthAriaLabel","months","getMonth","upNavigation","nextMonthAriaLabel","downNavigation","closeButtonAriaLabel","dismiss","callback","ev","key","Enter"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}