@fluentui/react-datepicker-compat 0.2.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +139 -1
- package/CHANGELOG.md +38 -2
- package/dist/index.d.ts +3 -2
- package/lib/components/Calendar/useCalendarStyles.styles.js +3 -7
- package/lib/components/Calendar/useCalendarStyles.styles.js.map +1 -1
- package/lib/components/CalendarDay/useCalendarDayStyles.styles.js +4 -4
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +8 -14
- package/lib/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
- package/lib/components/CalendarPicker/useCalendarPickerStyles.styles.js +6 -6
- package/lib/components/DatePicker/DatePicker.types.js.map +1 -1
- package/lib/components/DatePicker/renderDatePicker.js +5 -3
- package/lib/components/DatePicker/renderDatePicker.js.map +1 -1
- package/lib/components/DatePicker/useDatePicker.js +19 -18
- package/lib/components/DatePicker/useDatePicker.js.map +1 -1
- package/lib/components/DatePicker/useDatePickerStyles.styles.js +1 -1
- package/lib/components/DatePicker/useDatePickerStyles.styles.js.map +1 -1
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js +5 -17
- package/lib-commonjs/components/Calendar/useCalendarStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js +9 -10
- package/lib-commonjs/components/CalendarDay/useCalendarDayStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js +25 -55
- package/lib-commonjs/components/CalendarDayGrid/useCalendarDayGridStyles.styles.js.map +1 -1
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js +19 -25
- package/lib-commonjs/components/CalendarPicker/useCalendarPickerStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DatePicker/renderDatePicker.js +4 -2
- package/lib-commonjs/components/DatePicker/renderDatePicker.js.map +1 -1
- package/lib-commonjs/components/DatePicker/useDatePicker.js +18 -17
- package/lib-commonjs/components/DatePicker/useDatePicker.js.map +1 -1
- package/lib-commonjs/components/DatePicker/useDatePickerStyles.styles.js +1 -1
- package/lib-commonjs/components/DatePicker/useDatePickerStyles.styles.js.map +1 -1
- package/package.json +12 -12
|
@@ -49,7 +49,7 @@ const useHeaderContainerStyles = /*#__PURE__*/__styles({
|
|
|
49
49
|
mc9l5x: "f22iagw"
|
|
50
50
|
}
|
|
51
51
|
}, {
|
|
52
|
-
d: [".f22iagw{display
|
|
52
|
+
d: [".f22iagw{display:flex;}"]
|
|
53
53
|
});
|
|
54
54
|
const useCurrentItemButtonStyles = /*#__PURE__*/__styles({
|
|
55
55
|
base: {
|
|
@@ -92,8 +92,8 @@ const useCurrentItemButtonStyles = /*#__PURE__*/__styles({
|
|
|
92
92
|
mghro0: "fw9cbop"
|
|
93
93
|
}
|
|
94
94
|
}, {
|
|
95
|
-
d: [".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".f1ern45e{border-top-style:none;}", ".f1n71otn{border-right-style:none;}", ".f1deefiw{border-left-style:none;}", ".f1h8hb77{border-bottom-style:none;}", ".f1ym3bx4{color:inherit;}", ".fqerorx{
|
|
96
|
-
k: ["
|
|
95
|
+
d: [".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".f1ern45e{border-top-style:none;}", ".f1n71otn{border-right-style:none;}", ".f1deefiw{border-left-style:none;}", ".f1h8hb77{border-bottom-style:none;}", ".f1ym3bx4{color:inherit;}", ".fqerorx{flex-grow:1;}", ".f1mo0ibp{font-family:inherit;}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".f1mtd64y{overflow-x:visible;}", ".f1y7q3j9{overflow-y:visible;}", ".f1g0x7ka{padding-top:0;}", ".f8wuabp{padding-right:4px;}", ".fycuoez{padding-left:4px;}", ".f1qch9an{padding-bottom:0;}", ".frdkuqy{padding-left:10px;}", ".f81rol6{padding-right:10px;}", ".f1o700av{text-align:left;}", ".fes3tcz{text-align:right;}", ".fhsqnsn{animation-duration:0.267s;}", ".fywypte{animation-fill-mode:both;}", ".f1h7u52p{animation-name:f5j8bii;}", ".fjq4c94{animation-timing-function:cubic-bezier(.1,.25,.75,.9);}"],
|
|
96
|
+
k: ["@keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}"],
|
|
97
97
|
h: [".f18a0fwf:hover{background-color:var(--colorBrandBackgroundInvertedHover);}", ".f3sdaeg:hover{color:var(--colorBrandForegroundOnLightHover);}", ".f8491dx:hover{cursor:pointer;}", ".f14gx60i:hover{outline-width:1px;}", ".f1o3croz:hover{outline-style:solid;}", ".f11jyo21:hover{outline-color:var(--colorTransparentStroke);}", ".f1wvkgvo:hover:active{background-color:var(--colorBrandBackgroundInvertedPressed);}", ".f1wdoaqd:hover:active{color:var(--colorBrandForegroundOnLightPressed);}", ".f13c0t7h:hover:active{cursor:pointer;}", ".f190yoes:hover:active{outline-width:1px;}", ".f98srbw:hover:active{outline-style:solid;}", ".fw9cbop:hover:active{outline-color:var(--colorTransparentStroke);}"]
|
|
98
98
|
});
|
|
99
99
|
const useNavigationButtonsContainerStyles = /*#__PURE__*/__styles({
|
|
@@ -102,7 +102,7 @@ const useNavigationButtonsContainerStyles = /*#__PURE__*/__styles({
|
|
|
102
102
|
mc9l5x: "f22iagw"
|
|
103
103
|
}
|
|
104
104
|
}, {
|
|
105
|
-
d: [".f122n59{
|
|
105
|
+
d: [".f122n59{align-items:center;}", ".f22iagw{display:flex;}"]
|
|
106
106
|
});
|
|
107
107
|
const useNavigationButtonStyles = /*#__PURE__*/__styles({
|
|
108
108
|
base: {
|
|
@@ -175,8 +175,8 @@ const useButtonRowStyles = /*#__PURE__*/__styles({
|
|
|
175
175
|
Bv12yb3: "faiu5ye"
|
|
176
176
|
}
|
|
177
177
|
}, {
|
|
178
|
-
d: [".f15tpi3i{margin-bottom:16px;}", ".f1gdbdba:last-of-type{margin-bottom:0;}", ".f5f2jbu{
|
|
179
|
-
k: ["
|
|
178
|
+
d: [".f15tpi3i{margin-bottom:16px;}", ".f1gdbdba:last-of-type{margin-bottom:0;}", ".f5f2jbu{animation-duration:0.367s;}", ".fywypte{animation-fill-mode:both;}", ".f1ee2ue{animation-timing-function:cubic-bezier(.1,.9,.2,1);}", ".f1o9w3l8{animation-name:f5j8bii,f2lgmc3;}", ".f1kwjajc{animation-name:f5j8bii,fpktcv7;}", ".fgl3yn7{animation-name:f5j8bii,f3bv9km;}", ".faiu5ye{animation-name:f5j8bii,funtx0y;}"],
|
|
179
|
+
k: ["@keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}", "@keyframes f2lgmc3{from{pointer-events:none;transform:translate3d(-20px, 0, 0);}to{pointer-events:auto;transform:translate3d(0, 0, 0);}}", "@keyframes fpktcv7{from{pointer-events:none;transform:translate3d(20px, 0, 0);}to{pointer-events:auto;transform:translate3d(0, 0, 0);}}", "@keyframes f3bv9km{from{pointer-events:none;transform:translate3d(0, -20px, 0);}to{pointer-events:auto;transform:translate3d(0, 0, 0);}}", "@keyframes funtx0y{from{pointer-events:none;transform:translate3d(0, 20px, 0);}to{pointer-events:auto;transform:translate3d(0, 0, 0);}}"]
|
|
180
180
|
});
|
|
181
181
|
const useItemButtonStyles = /*#__PURE__*/__styles({
|
|
182
182
|
base: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DatePicker.types.ts"],"sourcesContent":["import { DayOfWeek, FirstWeekOfYear } from '../../utils';\nimport { Input } from '@fluentui/react-input';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { CalendarProps } from '../Calendar/Calendar.types';\nimport type { CalendarStrings, DateFormatting } from '../../utils';\nimport type { PositioningProps } from '@fluentui/react-positioning';\n\nexport type DatePickerSlots = {\n root: NonNullable<Slot<typeof Input>>;\n calendar: NonNullable<Slot<Partial<CalendarProps>>>;\n popupSurface?: Slot<'div'>;\n};\n\nexport type DatePickerProps = Omit<ComponentProps<Partial<DatePickerSlots>>, 'defaultValue' | 'value'> & {\n
|
|
1
|
+
{"version":3,"sources":["DatePicker.types.ts"],"sourcesContent":["import { DayOfWeek, FirstWeekOfYear } from '../../utils';\nimport { Input } from '@fluentui/react-input';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { CalendarProps } from '../Calendar/Calendar.types';\nimport type { CalendarStrings, DateFormatting } from '../../utils';\nimport type { PortalProps } from '@fluentui/react-portal';\nimport type { PositioningProps } from '@fluentui/react-positioning';\n\nexport type DatePickerSlots = {\n root: NonNullable<Slot<typeof Input>>;\n calendar: NonNullable<Slot<Partial<CalendarProps>>>;\n popupSurface?: Slot<'div'>;\n};\n\nexport type DatePickerProps = Omit<ComponentProps<Partial<DatePickerSlots>>, 'defaultValue' | 'value'> &\n Pick<PortalProps, 'mountNode'> & {\n /**\n * Callback issued when a date is selected\n */\n onSelectDate?: (date: Date | null | undefined) => void;\n\n /**\n * Whether the DatePicker is a required field or not. When using `<Field>`, this prop is automatically set.\n * @default false\n */\n required?: boolean;\n\n /**\n * Disabled state of the DatePicker.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Whether or not the Input of the DatePicker is underlined.\n * @default false\n */\n underlined?: boolean;\n\n /**\n * Whether the month picker is shown beside the day picker or hidden.\n * @default true\n */\n isMonthPickerVisible?: boolean;\n\n /**\n * Show month picker on top of date picker when visible.\n * @default false\n */\n showMonthPickerAsOverlay?: boolean;\n\n /**\n * Whether the DatePicker allows input a date string directly or not\n * @default false\n */\n allowTextInput?: boolean;\n\n /**\n * Whether the DatePicker should open automatically when the control is focused\n * WARNING: setting this to false creates an accessibility violation and is not recommended\n * @default true\n */\n disableAutoFocus?: boolean;\n\n /**\n * Whether the DatePicker should open when the input is clicked\n * @default true\n */\n openOnClick?: boolean;\n\n /**\n * Whether the DatePicker should be open by default\n *\n * @default false\n */\n defaultOpen?: boolean;\n\n /**\n * Whether the DatePicker is open or not\n *\n * @default false\n */\n open?: boolean;\n\n /**\n * Callback to run when the DatePicker's open state changes\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * Callback to run after the DatePicker's input has been validated\n */\n onValidationResult?: (data: DatePickerValidationResultData) => void;\n\n /**\n * Whether the DatePicker should render the popup as inline or in a portal\n *\n * @default false\n */\n inlinePopup?: boolean;\n\n /**\n * Configure the positioning of the DatePicker dialog\n *\n * @default below\n */\n positioning?: PositioningProps;\n\n /**\n * Placeholder text for the DatePicker\n */\n placeholder?: string;\n\n /**\n * Value of today. If unspecified, current time in client machine will be used.\n */\n today?: Date;\n\n /**\n * Default value of the DatePicker, if any\n *\n * When the component is controlled, `null` should be used instead of `undefined` to avoid controlled vs. uncontrolled\n * ambiguity.\n */\n value?: Date | null;\n\n /**\n * Optional method to format the chosen date to a string to display in the DatePicker\n * @default date.toString()\n */\n formatDate?: (date?: Date) => string;\n\n /**\n * Optional method to parse the text input value to date, it is only useful when allowTextInput is set to true\n * @default new Date(Date.parse(dateStr))\n */\n parseDateFromString?: (dateStr: string) => Date | null;\n\n /**\n * The first day of the week for your locale.\n * @default DayOfWeek.Sunday\n */\n firstDayOfWeek?: DayOfWeek;\n\n /**\n * Localized strings to use in the Calendar\n */\n strings?: CalendarStrings;\n\n /**\n * Whether the month picker should highlight the current month\n * @default false\n */\n highlightCurrentMonth?: boolean;\n\n /**\n * Whether the month picker should highlight the selected month\n * @default false\n */\n highlightSelectedMonth?: boolean;\n\n /**\n * Whether the calendar should show the week number (weeks 1 to 53) before each week row\n * @default false\n */\n showWeekNumbers?: boolean;\n\n /**\n * Defines when the first week of the year should start, FirstWeekOfYear.FirstDay,\n * FirstWeekOfYear.FirstFullWeek or FirstWeekOfYear.FirstFourDayWeek are the possible values\n * @default FirstWeekOfYear.FirstFullWeek\n */\n firstWeekOfYear?: FirstWeekOfYear;\n\n /**\n * Whether the \"Go to today\" link should be shown or not\n */\n showGoToToday?: boolean;\n\n /**\n * Determines if the DatePicker has a border.\n * @default false\n */\n borderless?: boolean;\n\n /**\n * Apply additional formatting to dates, for example localized date formatting.\n */\n dateTimeFormatter?: DateFormatting;\n\n /**\n * The minimum allowable date.\n */\n minDate?: Date;\n\n /**\n * The maximum allowable date.\n */\n maxDate?: Date;\n\n /**\n * The initially highlighted date.\n */\n initialPickerDate?: Date;\n\n /**\n * Allows all elements to be focused, including disabled ones\n * @default false\n */\n allFocusable?: boolean;\n\n /**\n * Whether the CalendarDay close button should be shown or not.\n */\n showCloseButton?: boolean;\n };\n\n/**\n * State used in rendering DatePicker.\n */\nexport type DatePickerState = ComponentState<DatePickerSlots> &\n Pick<DatePickerProps, 'mountNode'> & {\n disabled: boolean;\n inlinePopup: boolean;\n };\n\n/**\n * Data passed to the `onValidationResult` callback.\n */\nexport type DatePickerValidationResultData = {\n /** The error found when validating the input. */\n error?: DatePickerErrorType;\n};\n\n/**\n * Error types returned by the `onValidationResult` callback.\n */\nexport type DatePickerErrorType = 'invalid-input' | 'out-of-bounds' | 'required-input';\n"],"names":[],"mappings":"AAAA,WA6OuF"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/** @jsxRuntime classic */ /** @jsxFrag React.Fragment */ /** @jsx createElement */ import * as React from 'react';
|
|
2
2
|
import { createElement } from '@fluentui/react-jsx-runtime';
|
|
3
3
|
import { Portal } from '@fluentui/react-portal';
|
|
4
|
-
import {
|
|
4
|
+
import { assertSlots } from '@fluentui/react-utilities';
|
|
5
5
|
/**
|
|
6
6
|
* Render the final JSX of DatePicker
|
|
7
7
|
*/ export const renderDatePicker_unstable = (state)=>{
|
|
8
|
-
|
|
8
|
+
assertSlots(state);
|
|
9
9
|
const { inlinePopup } = state;
|
|
10
|
-
return /*#__PURE__*/ createElement(React.Fragment, null, /*#__PURE__*/ createElement(
|
|
10
|
+
return /*#__PURE__*/ createElement(React.Fragment, null, /*#__PURE__*/ createElement(state.root, null), state.popupSurface && (inlinePopup ? /*#__PURE__*/ createElement(state.popupSurface, null, /*#__PURE__*/ createElement(state.calendar, null)) : /*#__PURE__*/ createElement(Portal, {
|
|
11
|
+
mountNode: state.mountNode
|
|
12
|
+
}, /*#__PURE__*/ createElement(state.popupSurface, null, /*#__PURE__*/ createElement(state.calendar, null)))));
|
|
11
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["renderDatePicker.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsxFrag React.Fragment */\n/** @jsx createElement */\n\nimport * as React from 'react';\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { Portal } from '@fluentui/react-portal';\nimport {
|
|
1
|
+
{"version":3,"sources":["renderDatePicker.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsxFrag React.Fragment */\n/** @jsx createElement */\n\nimport * as React from 'react';\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { Portal } from '@fluentui/react-portal';\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { DatePickerSlots, DatePickerState } from './DatePicker.types';\n\n/**\n * Render the final JSX of DatePicker\n */\nexport const renderDatePicker_unstable = (state: DatePickerState) => {\n assertSlots<DatePickerSlots>(state);\n const { inlinePopup } = state;\n\n return (\n <>\n <state.root />\n {state.popupSurface &&\n (inlinePopup ? (\n <state.popupSurface>\n <state.calendar />\n </state.popupSurface>\n ) : (\n <Portal mountNode={state.mountNode}>\n <state.popupSurface>\n <state.calendar />\n </state.popupSurface>\n </Portal>\n ))}\n </>\n );\n};\n"],"names":["React","createElement","Portal","assertSlots","renderDatePicker_unstable","state","inlinePopup","root","popupSurface","calendar","mountNode"],"mappings":"AAAA,wBAAwB,GACxB,4BAA4B,GAC5B,uBAAuB,GAEvB,YAAYA,WAAW,QAAQ;AAC/B,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,MAAM,QAAQ,yBAAyB;AAChD,SAASC,WAAW,QAAQ,4BAA4B;AAGxD;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CAACC,QAA2B;IACnEF,YAA6BE;IAC7B,MAAM,EAAEC,YAAW,EAAE,GAAGD;IAExB,qBACE,AAhBJ,cADA,cAA8B,sBAkBxB,AAjBN,cAiBOA,MAAME,IAAI,SACVF,MAAMG,YAAY,IAChBF,CAAAA,4BACC,AApBV,cAoBWD,MAAMG,YAAY,sBACjB,AArBZ,cAqBaH,MAAMI,QAAQ,yBAGjB,AAxBV,cAwBWP;QAAOQ,WAAWL,MAAMK,SAAS;qBAChC,AAzBZ,cAyBaL,MAAMG,YAAY,sBACjB,AA1Bd,cA0BeH,MAAMI,QAAQ,SAGpB,AAAD;AAGR,EAAE"}
|
|
@@ -5,7 +5,7 @@ import { CalendarMonthRegular } from '@fluentui/react-icons';
|
|
|
5
5
|
import { compareDatePart, DayOfWeek, FirstWeekOfYear } from '../../utils';
|
|
6
6
|
import { defaultDatePickerStrings } from './defaults';
|
|
7
7
|
import { Input } from '@fluentui/react-input';
|
|
8
|
-
import { mergeCallbacks,
|
|
8
|
+
import { mergeCallbacks, useControllableState, useEventCallback, useId, useMergedRefs, useOnClickOutside, useOnScrollOutside, slot } from '@fluentui/react-utilities';
|
|
9
9
|
import { useFieldContext_unstable as useFieldContext } from '@fluentui/react-field';
|
|
10
10
|
import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
|
|
11
11
|
import { useModalAttributes } from '@fluentui/react-tabster';
|
|
@@ -93,7 +93,7 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
93
93
|
* @param props - props from this instance of DatePicker
|
|
94
94
|
* @param ref - reference to root Input slot
|
|
95
95
|
*/ export const useDatePicker_unstable = (props, ref)=>{
|
|
96
|
-
const { allowTextInput =false , allFocusable =false , borderless =false , dateTimeFormatter , defaultOpen =false , disableAutoFocus =true , firstDayOfWeek =DayOfWeek.Sunday , firstWeekOfYear =FirstWeekOfYear.FirstDay , formatDate =defaultFormatDate , highlightCurrentMonth =false , highlightSelectedMonth =false , initialPickerDate =new Date() , inlinePopup =false , isMonthPickerVisible =true , maxDate , minDate , onOpenChange , onSelectDate: onUserSelectDate , openOnClick =true , onValidationResult , parseDateFromString =defaultParseDateFromString , showCloseButton =false , showGoToToday =true , showMonthPickerAsOverlay =false , showWeekNumbers =false , strings =defaultDatePickerStrings , today , underlined =false , value , ...restOfProps } = props;
|
|
96
|
+
const { allowTextInput =false , allFocusable =false , borderless =false , dateTimeFormatter , defaultOpen =false , disableAutoFocus =true , firstDayOfWeek =DayOfWeek.Sunday , firstWeekOfYear =FirstWeekOfYear.FirstDay , formatDate =defaultFormatDate , highlightCurrentMonth =false , highlightSelectedMonth =false , initialPickerDate =new Date() , inlinePopup =false , isMonthPickerVisible =true , maxDate , minDate , mountNode , onOpenChange , onSelectDate: onUserSelectDate , openOnClick =true , onValidationResult , parseDateFromString =defaultParseDateFromString , showCloseButton =false , showGoToToday =true , showMonthPickerAsOverlay =false , showWeekNumbers =false , strings =defaultDatePickerStrings , today , underlined =false , value , ...restOfProps } = props;
|
|
97
97
|
const calendar = React.useRef(null);
|
|
98
98
|
const [focus, rootRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker] = useFocusLogic();
|
|
99
99
|
const [selectedDate, formattedDate, setSelectedDate, setFormattedDate] = useSelectedDate({
|
|
@@ -304,8 +304,7 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
304
304
|
};
|
|
305
305
|
const inputAppearance = underlined ? 'underline' : borderless ? 'filled-lighter' : 'outline';
|
|
306
306
|
const [triggerWrapperRef, popupRef] = usePopupPositioning(props);
|
|
307
|
-
const root =
|
|
308
|
-
required: true,
|
|
307
|
+
const root = slot.always(restOfProps, {
|
|
309
308
|
defaultProps: {
|
|
310
309
|
appearance: inputAppearance,
|
|
311
310
|
'aria-controls': open ? popupSurfaceId : undefined,
|
|
@@ -316,19 +315,20 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
316
315
|
}),
|
|
317
316
|
readOnly: !allowTextInput,
|
|
318
317
|
role: 'combobox'
|
|
319
|
-
}
|
|
318
|
+
},
|
|
319
|
+
elementType: Input
|
|
320
320
|
});
|
|
321
|
-
const inputRoot =
|
|
322
|
-
required: true,
|
|
321
|
+
const inputRoot = slot.always(props.root, {
|
|
323
322
|
defaultProps: {
|
|
324
323
|
'aria-owns': open ? popupSurfaceId : undefined,
|
|
325
324
|
ref: triggerWrapperRef
|
|
326
|
-
}
|
|
325
|
+
},
|
|
326
|
+
elementType: 'span'
|
|
327
327
|
});
|
|
328
328
|
inputRoot.ref = useMergedRefs(inputRoot.ref, triggerWrapperRef);
|
|
329
329
|
root.root = inputRoot;
|
|
330
|
-
const inputShorthand =
|
|
331
|
-
|
|
330
|
+
const inputShorthand = slot.always(props.input, {
|
|
331
|
+
elementType: 'input'
|
|
332
332
|
});
|
|
333
333
|
inputShorthand.ref = useMergedRefs(inputShorthand.ref, ref, rootRef);
|
|
334
334
|
root.input = inputShorthand;
|
|
@@ -342,8 +342,8 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
342
342
|
alwaysFocusable: true,
|
|
343
343
|
legacyTrapFocus: false
|
|
344
344
|
});
|
|
345
|
-
const popupSurface = open ?
|
|
346
|
-
|
|
345
|
+
const popupSurface = open ? slot.optional(props.popupSurface, {
|
|
346
|
+
renderByDefault: true,
|
|
347
347
|
defaultProps: {
|
|
348
348
|
'aria-label': 'Calendar',
|
|
349
349
|
'aria-modal': true,
|
|
@@ -351,7 +351,8 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
351
351
|
role: 'dialog',
|
|
352
352
|
ref: popupRef,
|
|
353
353
|
...modalAttributes
|
|
354
|
-
}
|
|
354
|
+
},
|
|
355
|
+
elementType: 'div'
|
|
355
356
|
}) : undefined;
|
|
356
357
|
const { targetDocument } = useFluent();
|
|
357
358
|
useOnClickOutside({
|
|
@@ -371,8 +372,7 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
371
372
|
popupRef
|
|
372
373
|
],
|
|
373
374
|
disabled: !open
|
|
374
|
-
});
|
|
375
|
-
// When the popup is opened, focus should go to the calendar.
|
|
375
|
+
}); // When the popup is opened, focus should go to the calendar.
|
|
376
376
|
// In v8 this was done by focusing after the callout was positioned, but in v9 this can be simulated by using a
|
|
377
377
|
// useEffect hook.
|
|
378
378
|
React.useEffect(()=>{
|
|
@@ -384,8 +384,7 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
384
384
|
open,
|
|
385
385
|
props.disabled
|
|
386
386
|
]);
|
|
387
|
-
const calendarShorthand =
|
|
388
|
-
required: true,
|
|
387
|
+
const calendarShorthand = slot.always(props.calendar, {
|
|
389
388
|
defaultProps: {
|
|
390
389
|
allFocusable,
|
|
391
390
|
componentRef: calendar,
|
|
@@ -404,7 +403,8 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
404
403
|
strings,
|
|
405
404
|
today,
|
|
406
405
|
value: selectedDate || initialPickerDate
|
|
407
|
-
}
|
|
406
|
+
},
|
|
407
|
+
elementType: Calendar
|
|
408
408
|
});
|
|
409
409
|
calendarShorthand.onDismiss = useEventCallback(mergeCallbacks(calendarShorthand.onDismiss, calendarDismissed));
|
|
410
410
|
calendarShorthand.onSelectDate = useEventCallback(mergeCallbacks(calendarShorthand.onSelectDate, calendarDismissed));
|
|
@@ -417,6 +417,7 @@ const defaultParseDateFromString = (dateStr)=>{
|
|
|
417
417
|
popupSurface: 'div'
|
|
418
418
|
},
|
|
419
419
|
calendar: calendarShorthand,
|
|
420
|
+
mountNode,
|
|
420
421
|
root,
|
|
421
422
|
popupSurface
|
|
422
423
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useDatePicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ArrowDown, Enter, Escape } from '@fluentui/keyboard-keys';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarMonthRegular } from '@fluentui/react-icons';\nimport { compareDatePart, DayOfWeek, FirstWeekOfYear } from '../../utils';\nimport { defaultDatePickerStrings } from './defaults';\nimport { Input } from '@fluentui/react-input';\nimport {\n mergeCallbacks,\n resolveShorthand,\n useControllableState,\n useEventCallback,\n useId,\n useMergedRefs,\n useOnClickOutside,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFieldContext_unstable as useFieldContext } from '@fluentui/react-field';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useModalAttributes } from '@fluentui/react-tabster';\nimport { usePopupPositioning } from '../../utils/usePopupPositioning';\nimport type { CalendarProps, ICalendar } from '../Calendar/Calendar.types';\nimport type { DatePickerProps, DatePickerState, DatePickerValidationResultData } from './DatePicker.types';\nimport type { InputProps, InputOnChangeData } from '@fluentui/react-input';\n\nfunction isDateOutOfBounds(date: Date, minDate?: Date, maxDate?: Date): boolean {\n return (!!minDate && compareDatePart(minDate!, date) > 0) || (!!maxDate && compareDatePart(maxDate!, date) < 0);\n}\n\nfunction useFocusLogic() {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const preventFocusOpeningPicker = React.useRef(false);\n\n const focus = React.useCallback(() => {\n inputRef.current?.focus?.();\n }, []);\n\n const preventNextFocusOpeningPicker = React.useCallback(() => {\n preventFocusOpeningPicker.current = true;\n }, []);\n\n return [focus, inputRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker] as const;\n}\n\nfunction usePopupVisibility(props: DatePickerProps) {\n const [open, setOpen] = useControllableState({\n initialState: false,\n defaultState: props.defaultOpen,\n state: props.open,\n });\n const isMounted = React.useRef(false);\n\n React.useEffect(\n () => {\n if (isMounted.current && !open) {\n // If DatePicker's menu (Calendar) is closed, run onAfterMenuDismiss\n props.onOpenChange?.(false);\n }\n isMounted.current = true;\n },\n // Should only run on allowTextInput or open change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.allowTextInput, open],\n );\n\n return [open, setOpen] as const;\n}\n\nfunction useSelectedDate({ formatDate, onSelectDate, value }: DatePickerProps) {\n const [selectedDate, setSelectedDateState] = useControllableState<Date | null | undefined>({\n initialState: null,\n state: value,\n });\n const [formattedDate, setFormattedDate] = React.useState(() => (value && formatDate ? formatDate(value) : ''));\n\n const setSelectedDate = (newDate: Date | null | undefined) => {\n onSelectDate?.(newDate);\n setSelectedDateState(newDate);\n setFormattedDate(newDate && formatDate ? formatDate(newDate) : '');\n };\n\n React.useEffect(() => {\n setFormattedDate(value && formatDate ? formatDate(value) : '');\n }, [formatDate, value]);\n\n return [selectedDate, formattedDate, setSelectedDate, setFormattedDate] as const;\n}\n\nconst defaultFormatDate = (date?: Date) => (date ? date.toDateString() : '');\nconst defaultParseDateFromString = (dateStr: string) => {\n const date = Date.parse(dateStr);\n return date ? new Date(date) : null;\n};\n\n/**\n * Create the state required to render DatePicker.\n *\n * The returned state can be modified with hooks such as useDatePickerStyles_unstable,\n * before being passed to renderDatePicker_unstable.\n *\n * @param props - props from this instance of DatePicker\n * @param ref - reference to root Input slot\n */\nexport const useDatePicker_unstable = (props: DatePickerProps, ref: React.Ref<HTMLInputElement>): DatePickerState => {\n const {\n allowTextInput = false,\n allFocusable = false,\n borderless = false,\n dateTimeFormatter,\n defaultOpen = false,\n disableAutoFocus = true,\n firstDayOfWeek = DayOfWeek.Sunday,\n firstWeekOfYear = FirstWeekOfYear.FirstDay,\n formatDate = defaultFormatDate,\n highlightCurrentMonth = false,\n highlightSelectedMonth = false,\n initialPickerDate = new Date(),\n inlinePopup = false,\n isMonthPickerVisible = true,\n maxDate,\n minDate,\n onOpenChange,\n onSelectDate: onUserSelectDate,\n openOnClick = true,\n onValidationResult,\n parseDateFromString = defaultParseDateFromString,\n showCloseButton = false,\n showGoToToday = true,\n showMonthPickerAsOverlay = false,\n showWeekNumbers = false,\n strings = defaultDatePickerStrings,\n today,\n underlined = false,\n value,\n ...restOfProps\n } = props;\n const calendar = React.useRef<ICalendar>(null);\n const [focus, rootRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker] = useFocusLogic();\n const [selectedDate, formattedDate, setSelectedDate, setFormattedDate] = useSelectedDate({\n formatDate,\n onSelectDate: onUserSelectDate,\n value,\n });\n const [open, setOpenState] = usePopupVisibility(props);\n const fieldContext = useFieldContext();\n const required = fieldContext?.required ?? props.required;\n const popupSurfaceId = useId('datePicker-popupSurface');\n\n const validateTextInput = React.useCallback(\n (date: Date | null = null): void => {\n let error: DatePickerValidationResultData['error'];\n\n if (allowTextInput) {\n if (formattedDate || date) {\n // Don't parse if the selected date has the same formatted string as what we're about to parse.\n // The formatted string might be ambiguous (ex: \"1/2/3\" or \"New Year Eve\") and the parser might\n // not be able to come up with the exact same date.\n if (selectedDate && formatDate && formatDate(date ?? selectedDate) === formattedDate) {\n return;\n }\n date = date || parseDateFromString!(formattedDate);\n\n // Check if date is null or date is an invalid date\n if (!date || isNaN(date.getTime())) {\n // Reset input if formatting is available\n setSelectedDate(selectedDate);\n error = 'invalid-input';\n } else {\n if (isDateOutOfBounds(date, minDate, maxDate)) {\n error = 'out-of-bounds';\n } else {\n setSelectedDate(date);\n }\n }\n } else {\n if (required) {\n error = 'required-input';\n }\n\n onUserSelectDate?.(date);\n }\n } else if (required && !formattedDate) {\n error = 'required-input';\n }\n\n onValidationResult?.({ error });\n },\n [\n allowTextInput,\n formatDate,\n formattedDate,\n maxDate,\n minDate,\n onUserSelectDate,\n onValidationResult,\n parseDateFromString,\n required,\n selectedDate,\n setSelectedDate,\n ],\n );\n\n const setOpen = React.useCallback(\n (newState: boolean) => {\n onOpenChange?.(newState);\n setOpenState(newState);\n\n if (!open && !props.disabled) {\n focus();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [focus, onOpenChange, props.disabled, setOpenState],\n );\n\n const dismissDatePickerPopup = React.useCallback(\n (newlySelectedDate?: Date | null): void => {\n if (open) {\n setOpen(false);\n\n validateTextInput(newlySelectedDate);\n if (!allowTextInput && newlySelectedDate) {\n setSelectedDate(newlySelectedDate);\n }\n }\n },\n [allowTextInput, open, setOpen, setSelectedDate, validateTextInput],\n );\n\n const showDatePickerPopup = React.useCallback((): void => {\n if (!open) {\n preventNextFocusOpeningPicker();\n setOpen(true);\n }\n }, [open, preventNextFocusOpeningPicker, setOpen]);\n\n /**\n * Callback for closing the calendar callout\n */\n const calendarDismissed = React.useCallback(\n (newlySelectedDate?: Date): void => {\n preventNextFocusOpeningPicker();\n dismissDatePickerPopup(newlySelectedDate);\n },\n [dismissDatePickerPopup, preventNextFocusOpeningPicker],\n );\n\n const onInputChange = React.useCallback(\n (ev: React.ChangeEvent<HTMLInputElement>, data: InputOnChangeData) => {\n const { value: newValue } = data;\n\n if (allowTextInput) {\n if (open) {\n dismissDatePickerPopup();\n }\n\n setFormattedDate(newValue);\n }\n },\n [allowTextInput, dismissDatePickerPopup, open, setFormattedDate],\n );\n\n const onInputBlur: React.FocusEventHandler<HTMLInputElement> = React.useCallback((): void => {\n validateTextInput();\n }, [validateTextInput]);\n\n const onInputKeyDown = React.useCallback(\n (ev: React.KeyboardEvent<HTMLElement>): void => {\n switch (ev.key) {\n case Enter:\n ev.preventDefault();\n ev.stopPropagation();\n if (!open) {\n validateTextInput();\n showDatePickerPopup();\n } else {\n // When DatePicker allows input date string directly,\n // it is expected to hit another enter to close the popup\n if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n }\n break;\n\n case Escape:\n ev.stopPropagation();\n ev.preventDefault();\n if (open) {\n calendarDismissed();\n }\n break;\n\n case ArrowDown:\n ev.preventDefault();\n if (ev.altKey && !open) {\n showDatePickerPopup();\n }\n break;\n\n default:\n break;\n }\n },\n [calendarDismissed, dismissDatePickerPopup, open, props.allowTextInput, showDatePickerPopup, validateTextInput],\n );\n\n const onInputFocus: React.FocusEventHandler<HTMLInputElement> = React.useCallback((): void => {\n if (disableAutoFocus) {\n return;\n }\n\n if (!allowTextInput) {\n if (!preventFocusOpeningPicker.current) {\n showDatePickerPopup();\n }\n preventFocusOpeningPicker.current = false;\n }\n }, [allowTextInput, disableAutoFocus, preventFocusOpeningPicker, showDatePickerPopup]);\n\n const onInputClick: React.MouseEventHandler<HTMLInputElement> = React.useCallback((): void => {\n // default openOnClick to !props.disableAutoFocus for legacy support of disableAutoFocus behavior\n if ((props.openOnClick || !props.disableAutoFocus) && !open && !props.disabled) {\n showDatePickerPopup();\n return;\n }\n\n if (allowTextInput) {\n dismissDatePickerPopup();\n }\n }, [\n allowTextInput,\n dismissDatePickerPopup,\n open,\n props.disabled,\n props.disableAutoFocus,\n props.openOnClick,\n showDatePickerPopup,\n ]);\n\n const onIconClick = (ev: React.MouseEvent<HTMLElement>): void => {\n ev.stopPropagation();\n if (!open && !props.disabled) {\n showDatePickerPopup();\n } else if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n };\n\n const inputAppearance: InputProps['appearance'] = underlined\n ? 'underline'\n : borderless\n ? 'filled-lighter'\n : 'outline';\n\n const [triggerWrapperRef, popupRef] = usePopupPositioning(props);\n const root = resolveShorthand(restOfProps, {\n required: true,\n defaultProps: {\n appearance: inputAppearance,\n 'aria-controls': open ? popupSurfaceId : undefined,\n 'aria-expanded': open,\n 'aria-haspopup': 'dialog',\n contentAfter: <CalendarMonthRegular onClick={onIconClick as unknown as React.MouseEventHandler<SVGElement>} />,\n readOnly: !allowTextInput,\n role: 'combobox',\n },\n });\n\n const inputRoot = resolveShorthand(props.root, {\n required: true,\n defaultProps: {\n 'aria-owns': open ? popupSurfaceId : undefined,\n ref: triggerWrapperRef,\n },\n });\n inputRoot.ref = useMergedRefs(inputRoot.ref, triggerWrapperRef);\n root.root = inputRoot;\n\n const inputShorthand = resolveShorthand(props.input, { required: true });\n inputShorthand.ref = useMergedRefs(inputShorthand.ref, ref, rootRef);\n root.input = inputShorthand;\n\n root.onChange = useEventCallback(mergeCallbacks(root.onChange, onInputChange));\n root.onBlur = useEventCallback(mergeCallbacks(root.onBlur, onInputBlur));\n root.onKeyDown = useEventCallback(mergeCallbacks(root.onKeyDown, onInputKeyDown));\n root.onFocus = useEventCallback(mergeCallbacks(root.onFocus, onInputFocus));\n root.onClick = useEventCallback(mergeCallbacks(root.onClick, onInputClick));\n\n const { modalAttributes } = useModalAttributes({ trapFocus: true, alwaysFocusable: true, legacyTrapFocus: false });\n const popupSurface = open\n ? resolveShorthand(props.popupSurface, {\n required: true,\n defaultProps: {\n 'aria-label': 'Calendar',\n 'aria-modal': true,\n id: popupSurfaceId,\n role: 'dialog',\n ref: popupRef,\n ...modalAttributes,\n },\n })\n : undefined;\n\n const { targetDocument } = useFluent();\n useOnClickOutside({\n element: targetDocument,\n callback: ev => dismissDatePickerPopup(),\n refs: [triggerWrapperRef, popupRef],\n disabled: !open,\n });\n\n useOnScrollOutside({\n element: targetDocument,\n callback: ev => dismissDatePickerPopup(),\n refs: [triggerWrapperRef, popupRef],\n disabled: !open,\n });\n\n // When the popup is opened, focus should go to the calendar.\n // In v8 this was done by focusing after the callout was positioned, but in v9 this can be simulated by using a\n // useEffect hook.\n React.useEffect(() => {\n if (open && !props.disabled && calendar.current) {\n calendar.current.focus();\n }\n }, [disableAutoFocus, open, props.disabled]);\n\n const calendarShorthand = resolveShorthand(props.calendar, {\n required: true,\n defaultProps: {\n allFocusable,\n componentRef: calendar,\n dateTimeFormatter,\n firstDayOfWeek,\n firstWeekOfYear,\n highlightCurrentMonth,\n highlightSelectedMonth,\n isMonthPickerVisible,\n maxDate,\n minDate,\n showCloseButton,\n showGoToToday,\n showMonthPickerAsOverlay,\n showWeekNumbers,\n strings,\n today,\n value: selectedDate || initialPickerDate,\n },\n });\n\n calendarShorthand.onDismiss = useEventCallback(mergeCallbacks(calendarShorthand.onDismiss, calendarDismissed));\n calendarShorthand.onSelectDate = useEventCallback(mergeCallbacks(calendarShorthand.onSelectDate, calendarDismissed));\n\n const state: DatePickerState = {\n disabled: !!props.disabled,\n inlinePopup,\n\n components: {\n root: Input,\n calendar: Calendar as React.FC<Partial<CalendarProps>>,\n popupSurface: 'div',\n },\n\n calendar: calendarShorthand,\n root,\n popupSurface,\n };\n\n state.root.value = formattedDate;\n\n return state;\n};\n"],"names":["React","ArrowDown","Enter","Escape","Calendar","CalendarMonthRegular","compareDatePart","DayOfWeek","FirstWeekOfYear","defaultDatePickerStrings","Input","mergeCallbacks","resolveShorthand","useControllableState","useEventCallback","useId","useMergedRefs","useOnClickOutside","useOnScrollOutside","useFieldContext_unstable","useFieldContext","useFluent_unstable","useFluent","useModalAttributes","usePopupPositioning","isDateOutOfBounds","date","minDate","maxDate","useFocusLogic","inputRef","useRef","preventFocusOpeningPicker","focus","useCallback","current","preventNextFocusOpeningPicker","usePopupVisibility","props","open","setOpen","initialState","defaultState","defaultOpen","state","isMounted","useEffect","onOpenChange","allowTextInput","useSelectedDate","formatDate","onSelectDate","value","selectedDate","setSelectedDateState","formattedDate","setFormattedDate","useState","setSelectedDate","newDate","defaultFormatDate","toDateString","defaultParseDateFromString","dateStr","Date","parse","useDatePicker_unstable","ref","allFocusable","borderless","dateTimeFormatter","disableAutoFocus","firstDayOfWeek","Sunday","firstWeekOfYear","FirstDay","highlightCurrentMonth","highlightSelectedMonth","initialPickerDate","inlinePopup","isMonthPickerVisible","onUserSelectDate","openOnClick","onValidationResult","parseDateFromString","showCloseButton","showGoToToday","showMonthPickerAsOverlay","showWeekNumbers","strings","today","underlined","restOfProps","calendar","rootRef","setOpenState","fieldContext","required","popupSurfaceId","validateTextInput","error","isNaN","getTime","newState","disabled","dismissDatePickerPopup","newlySelectedDate","showDatePickerPopup","calendarDismissed","onInputChange","ev","data","newValue","onInputBlur","onInputKeyDown","key","preventDefault","stopPropagation","altKey","onInputFocus","onInputClick","onIconClick","inputAppearance","triggerWrapperRef","popupRef","root","defaultProps","appearance","undefined","contentAfter","onClick","readOnly","role","inputRoot","inputShorthand","input","onChange","onBlur","onKeyDown","onFocus","modalAttributes","trapFocus","alwaysFocusable","legacyTrapFocus","popupSurface","id","targetDocument","element","callback","refs","calendarShorthand","componentRef","onDismiss","components"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["useDatePicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ArrowDown, Enter, Escape } from '@fluentui/keyboard-keys';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarMonthRegular } from '@fluentui/react-icons';\nimport { compareDatePart, DayOfWeek, FirstWeekOfYear } from '../../utils';\nimport { defaultDatePickerStrings } from './defaults';\nimport { Input } from '@fluentui/react-input';\nimport {\n mergeCallbacks,\n useControllableState,\n useEventCallback,\n useId,\n useMergedRefs,\n useOnClickOutside,\n useOnScrollOutside,\n slot,\n} from '@fluentui/react-utilities';\nimport { useFieldContext_unstable as useFieldContext } from '@fluentui/react-field';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useModalAttributes } from '@fluentui/react-tabster';\nimport { usePopupPositioning } from '../../utils/usePopupPositioning';\nimport type { CalendarProps, ICalendar } from '../Calendar/Calendar.types';\nimport type { DatePickerProps, DatePickerState, DatePickerValidationResultData } from './DatePicker.types';\nimport type { InputProps, InputOnChangeData } from '@fluentui/react-input';\n\nfunction isDateOutOfBounds(date: Date, minDate?: Date, maxDate?: Date): boolean {\n return (!!minDate && compareDatePart(minDate!, date) > 0) || (!!maxDate && compareDatePart(maxDate!, date) < 0);\n}\n\nfunction useFocusLogic() {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const preventFocusOpeningPicker = React.useRef(false);\n\n const focus = React.useCallback(() => {\n inputRef.current?.focus?.();\n }, []);\n\n const preventNextFocusOpeningPicker = React.useCallback(() => {\n preventFocusOpeningPicker.current = true;\n }, []);\n\n return [focus, inputRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker] as const;\n}\n\nfunction usePopupVisibility(props: DatePickerProps) {\n const [open, setOpen] = useControllableState({\n initialState: false,\n defaultState: props.defaultOpen,\n state: props.open,\n });\n const isMounted = React.useRef(false);\n\n React.useEffect(\n () => {\n if (isMounted.current && !open) {\n // If DatePicker's menu (Calendar) is closed, run onAfterMenuDismiss\n props.onOpenChange?.(false);\n }\n isMounted.current = true;\n },\n // Should only run on allowTextInput or open change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.allowTextInput, open],\n );\n\n return [open, setOpen] as const;\n}\n\nfunction useSelectedDate({ formatDate, onSelectDate, value }: DatePickerProps) {\n const [selectedDate, setSelectedDateState] = useControllableState<Date | null | undefined>({\n initialState: null,\n state: value,\n });\n const [formattedDate, setFormattedDate] = React.useState(() => (value && formatDate ? formatDate(value) : ''));\n\n const setSelectedDate = (newDate: Date | null | undefined) => {\n onSelectDate?.(newDate);\n setSelectedDateState(newDate);\n setFormattedDate(newDate && formatDate ? formatDate(newDate) : '');\n };\n\n React.useEffect(() => {\n setFormattedDate(value && formatDate ? formatDate(value) : '');\n }, [formatDate, value]);\n\n return [selectedDate, formattedDate, setSelectedDate, setFormattedDate] as const;\n}\n\nconst defaultFormatDate = (date?: Date) => (date ? date.toDateString() : '');\nconst defaultParseDateFromString = (dateStr: string) => {\n const date = Date.parse(dateStr);\n return date ? new Date(date) : null;\n};\n\n/**\n * Create the state required to render DatePicker.\n *\n * The returned state can be modified with hooks such as useDatePickerStyles_unstable,\n * before being passed to renderDatePicker_unstable.\n *\n * @param props - props from this instance of DatePicker\n * @param ref - reference to root Input slot\n */\nexport const useDatePicker_unstable = (props: DatePickerProps, ref: React.Ref<HTMLInputElement>): DatePickerState => {\n const {\n allowTextInput = false,\n allFocusable = false,\n borderless = false,\n dateTimeFormatter,\n defaultOpen = false,\n disableAutoFocus = true,\n firstDayOfWeek = DayOfWeek.Sunday,\n firstWeekOfYear = FirstWeekOfYear.FirstDay,\n formatDate = defaultFormatDate,\n highlightCurrentMonth = false,\n highlightSelectedMonth = false,\n initialPickerDate = new Date(),\n inlinePopup = false,\n isMonthPickerVisible = true,\n maxDate,\n minDate,\n mountNode,\n onOpenChange,\n onSelectDate: onUserSelectDate,\n openOnClick = true,\n onValidationResult,\n parseDateFromString = defaultParseDateFromString,\n showCloseButton = false,\n showGoToToday = true,\n showMonthPickerAsOverlay = false,\n showWeekNumbers = false,\n strings = defaultDatePickerStrings,\n today,\n underlined = false,\n value,\n ...restOfProps\n } = props;\n const calendar = React.useRef<ICalendar>(null);\n const [focus, rootRef, preventFocusOpeningPicker, preventNextFocusOpeningPicker] = useFocusLogic();\n const [selectedDate, formattedDate, setSelectedDate, setFormattedDate] = useSelectedDate({\n formatDate,\n onSelectDate: onUserSelectDate,\n value,\n });\n const [open, setOpenState] = usePopupVisibility(props);\n const fieldContext = useFieldContext();\n const required = fieldContext?.required ?? props.required;\n const popupSurfaceId = useId('datePicker-popupSurface');\n\n const validateTextInput = React.useCallback(\n (date: Date | null = null): void => {\n let error: DatePickerValidationResultData['error'];\n\n if (allowTextInput) {\n if (formattedDate || date) {\n // Don't parse if the selected date has the same formatted string as what we're about to parse.\n // The formatted string might be ambiguous (ex: \"1/2/3\" or \"New Year Eve\") and the parser might\n // not be able to come up with the exact same date.\n if (selectedDate && formatDate && formatDate(date ?? selectedDate) === formattedDate) {\n return;\n }\n date = date || parseDateFromString!(formattedDate);\n\n // Check if date is null or date is an invalid date\n if (!date || isNaN(date.getTime())) {\n // Reset input if formatting is available\n setSelectedDate(selectedDate);\n error = 'invalid-input';\n } else {\n if (isDateOutOfBounds(date, minDate, maxDate)) {\n error = 'out-of-bounds';\n } else {\n setSelectedDate(date);\n }\n }\n } else {\n if (required) {\n error = 'required-input';\n }\n\n onUserSelectDate?.(date);\n }\n } else if (required && !formattedDate) {\n error = 'required-input';\n }\n\n onValidationResult?.({ error });\n },\n [\n allowTextInput,\n formatDate,\n formattedDate,\n maxDate,\n minDate,\n onUserSelectDate,\n onValidationResult,\n parseDateFromString,\n required,\n selectedDate,\n setSelectedDate,\n ],\n );\n\n const setOpen = React.useCallback(\n (newState: boolean) => {\n onOpenChange?.(newState);\n setOpenState(newState);\n\n if (!open && !props.disabled) {\n focus();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [focus, onOpenChange, props.disabled, setOpenState],\n );\n\n const dismissDatePickerPopup = React.useCallback(\n (newlySelectedDate?: Date | null): void => {\n if (open) {\n setOpen(false);\n\n validateTextInput(newlySelectedDate);\n if (!allowTextInput && newlySelectedDate) {\n setSelectedDate(newlySelectedDate);\n }\n }\n },\n [allowTextInput, open, setOpen, setSelectedDate, validateTextInput],\n );\n\n const showDatePickerPopup = React.useCallback((): void => {\n if (!open) {\n preventNextFocusOpeningPicker();\n setOpen(true);\n }\n }, [open, preventNextFocusOpeningPicker, setOpen]);\n\n /**\n * Callback for closing the calendar callout\n */\n const calendarDismissed = React.useCallback(\n (newlySelectedDate?: Date): void => {\n preventNextFocusOpeningPicker();\n dismissDatePickerPopup(newlySelectedDate);\n },\n [dismissDatePickerPopup, preventNextFocusOpeningPicker],\n );\n\n const onInputChange = React.useCallback(\n (ev: React.ChangeEvent<HTMLInputElement>, data: InputOnChangeData) => {\n const { value: newValue } = data;\n\n if (allowTextInput) {\n if (open) {\n dismissDatePickerPopup();\n }\n\n setFormattedDate(newValue);\n }\n },\n [allowTextInput, dismissDatePickerPopup, open, setFormattedDate],\n );\n\n const onInputBlur: React.FocusEventHandler<HTMLInputElement> = React.useCallback((): void => {\n validateTextInput();\n }, [validateTextInput]);\n\n const onInputKeyDown = React.useCallback(\n (ev: React.KeyboardEvent<HTMLElement>): void => {\n switch (ev.key) {\n case Enter:\n ev.preventDefault();\n ev.stopPropagation();\n if (!open) {\n validateTextInput();\n showDatePickerPopup();\n } else {\n // When DatePicker allows input date string directly,\n // it is expected to hit another enter to close the popup\n if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n }\n break;\n\n case Escape:\n ev.stopPropagation();\n ev.preventDefault();\n if (open) {\n calendarDismissed();\n }\n break;\n\n case ArrowDown:\n ev.preventDefault();\n if (ev.altKey && !open) {\n showDatePickerPopup();\n }\n break;\n\n default:\n break;\n }\n },\n [calendarDismissed, dismissDatePickerPopup, open, props.allowTextInput, showDatePickerPopup, validateTextInput],\n );\n\n const onInputFocus: React.FocusEventHandler<HTMLInputElement> = React.useCallback((): void => {\n if (disableAutoFocus) {\n return;\n }\n\n if (!allowTextInput) {\n if (!preventFocusOpeningPicker.current) {\n showDatePickerPopup();\n }\n preventFocusOpeningPicker.current = false;\n }\n }, [allowTextInput, disableAutoFocus, preventFocusOpeningPicker, showDatePickerPopup]);\n\n const onInputClick: React.MouseEventHandler<HTMLInputElement> = React.useCallback((): void => {\n // default openOnClick to !props.disableAutoFocus for legacy support of disableAutoFocus behavior\n if ((props.openOnClick || !props.disableAutoFocus) && !open && !props.disabled) {\n showDatePickerPopup();\n return;\n }\n\n if (allowTextInput) {\n dismissDatePickerPopup();\n }\n }, [\n allowTextInput,\n dismissDatePickerPopup,\n open,\n props.disabled,\n props.disableAutoFocus,\n props.openOnClick,\n showDatePickerPopup,\n ]);\n\n const onIconClick = (ev: React.MouseEvent<HTMLElement>): void => {\n ev.stopPropagation();\n if (!open && !props.disabled) {\n showDatePickerPopup();\n } else if (props.allowTextInput) {\n dismissDatePickerPopup();\n }\n };\n\n const inputAppearance: InputProps['appearance'] = underlined\n ? 'underline'\n : borderless\n ? 'filled-lighter'\n : 'outline';\n\n const [triggerWrapperRef, popupRef] = usePopupPositioning(props);\n const root = slot.always(restOfProps, {\n defaultProps: {\n appearance: inputAppearance,\n 'aria-controls': open ? popupSurfaceId : undefined,\n 'aria-expanded': open,\n 'aria-haspopup': 'dialog',\n contentAfter: <CalendarMonthRegular onClick={onIconClick as unknown as React.MouseEventHandler<SVGElement>} />,\n readOnly: !allowTextInput,\n role: 'combobox',\n },\n elementType: Input,\n });\n\n const inputRoot = slot.always(props.root, {\n defaultProps: {\n 'aria-owns': open ? popupSurfaceId : undefined,\n ref: triggerWrapperRef,\n },\n elementType: 'span',\n });\n inputRoot.ref = useMergedRefs(inputRoot.ref, triggerWrapperRef);\n root.root = inputRoot;\n const inputShorthand = slot.always(props.input, {\n elementType: 'input',\n });\n inputShorthand.ref = useMergedRefs(inputShorthand.ref, ref, rootRef);\n root.input = inputShorthand;\n root.onChange = useEventCallback(mergeCallbacks(root.onChange, onInputChange));\n root.onBlur = useEventCallback(mergeCallbacks(root.onBlur, onInputBlur));\n root.onKeyDown = useEventCallback(mergeCallbacks(root.onKeyDown, onInputKeyDown));\n root.onFocus = useEventCallback(mergeCallbacks(root.onFocus, onInputFocus));\n root.onClick = useEventCallback(mergeCallbacks(root.onClick, onInputClick));\n const { modalAttributes } = useModalAttributes({ trapFocus: true, alwaysFocusable: true, legacyTrapFocus: false });\n const popupSurface = open\n ? slot.optional(props.popupSurface, {\n renderByDefault: true,\n defaultProps: {\n 'aria-label': 'Calendar',\n 'aria-modal': true,\n id: popupSurfaceId,\n role: 'dialog',\n ref: popupRef,\n ...modalAttributes,\n },\n elementType: 'div',\n })\n : undefined;\n const { targetDocument } = useFluent();\n useOnClickOutside({\n element: targetDocument,\n callback: ev => dismissDatePickerPopup(),\n refs: [triggerWrapperRef, popupRef],\n disabled: !open,\n });\n useOnScrollOutside({\n element: targetDocument,\n callback: ev => dismissDatePickerPopup(),\n refs: [triggerWrapperRef, popupRef],\n disabled: !open,\n }); // When the popup is opened, focus should go to the calendar.\n // In v8 this was done by focusing after the callout was positioned, but in v9 this can be simulated by using a\n // useEffect hook.\n React.useEffect(() => {\n if (open && !props.disabled && calendar.current) {\n calendar.current.focus();\n }\n }, [disableAutoFocus, open, props.disabled]);\n const calendarShorthand = slot.always(props.calendar, {\n defaultProps: {\n allFocusable,\n componentRef: calendar,\n dateTimeFormatter,\n firstDayOfWeek,\n firstWeekOfYear,\n highlightCurrentMonth,\n highlightSelectedMonth,\n isMonthPickerVisible,\n maxDate,\n minDate,\n showCloseButton,\n showGoToToday,\n showMonthPickerAsOverlay,\n showWeekNumbers,\n strings,\n today,\n value: selectedDate || initialPickerDate,\n },\n elementType: Calendar,\n });\n calendarShorthand.onDismiss = useEventCallback(mergeCallbacks(calendarShorthand.onDismiss, calendarDismissed));\n calendarShorthand.onSelectDate = useEventCallback(mergeCallbacks(calendarShorthand.onSelectDate, calendarDismissed));\n const state: DatePickerState = {\n disabled: !!props.disabled,\n inlinePopup,\n components: { root: Input, calendar: Calendar as React.FC<Partial<CalendarProps>>, popupSurface: 'div' },\n calendar: calendarShorthand,\n mountNode,\n root,\n popupSurface,\n };\n\n state.root.value = formattedDate;\n\n return state;\n};\n"],"names":["React","ArrowDown","Enter","Escape","Calendar","CalendarMonthRegular","compareDatePart","DayOfWeek","FirstWeekOfYear","defaultDatePickerStrings","Input","mergeCallbacks","useControllableState","useEventCallback","useId","useMergedRefs","useOnClickOutside","useOnScrollOutside","slot","useFieldContext_unstable","useFieldContext","useFluent_unstable","useFluent","useModalAttributes","usePopupPositioning","isDateOutOfBounds","date","minDate","maxDate","useFocusLogic","inputRef","useRef","preventFocusOpeningPicker","focus","useCallback","current","preventNextFocusOpeningPicker","usePopupVisibility","props","open","setOpen","initialState","defaultState","defaultOpen","state","isMounted","useEffect","onOpenChange","allowTextInput","useSelectedDate","formatDate","onSelectDate","value","selectedDate","setSelectedDateState","formattedDate","setFormattedDate","useState","setSelectedDate","newDate","defaultFormatDate","toDateString","defaultParseDateFromString","dateStr","Date","parse","useDatePicker_unstable","ref","allFocusable","borderless","dateTimeFormatter","disableAutoFocus","firstDayOfWeek","Sunday","firstWeekOfYear","FirstDay","highlightCurrentMonth","highlightSelectedMonth","initialPickerDate","inlinePopup","isMonthPickerVisible","mountNode","onUserSelectDate","openOnClick","onValidationResult","parseDateFromString","showCloseButton","showGoToToday","showMonthPickerAsOverlay","showWeekNumbers","strings","today","underlined","restOfProps","calendar","rootRef","setOpenState","fieldContext","required","popupSurfaceId","validateTextInput","error","isNaN","getTime","newState","disabled","dismissDatePickerPopup","newlySelectedDate","showDatePickerPopup","calendarDismissed","onInputChange","ev","data","newValue","onInputBlur","onInputKeyDown","key","preventDefault","stopPropagation","altKey","onInputFocus","onInputClick","onIconClick","inputAppearance","triggerWrapperRef","popupRef","root","always","defaultProps","appearance","undefined","contentAfter","onClick","readOnly","role","elementType","inputRoot","inputShorthand","input","onChange","onBlur","onKeyDown","onFocus","modalAttributes","trapFocus","alwaysFocusable","legacyTrapFocus","popupSurface","optional","renderByDefault","id","targetDocument","element","callback","refs","calendarShorthand","componentRef","onDismiss","components"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ const useStyles = /*#__PURE__*/__styles({
|
|
|
18
18
|
}, {
|
|
19
19
|
d: [".f10pi13n{position:relative;}", ".f1k6fduh{cursor:pointer;}", ".faxec97 input{cursor:pointer;}", ".f158kwzp{cursor:default;}", ".f19qwlmg input{cursor:default;}"]
|
|
20
20
|
});
|
|
21
|
-
const usePopupSurfaceClassName = /*#__PURE__*/__resetStyles("r1ytv1z8", null, [".r1ytv1z8{background-color:var(--colorNeutralBackground1);box-shadow:var(--shadow16);border-radius:var(--borderRadiusMedium);border-width:1px;border-style:solid;border-color:var(--colorTransparentStroke);display
|
|
21
|
+
const usePopupSurfaceClassName = /*#__PURE__*/__resetStyles("r1ytv1z8", null, [".r1ytv1z8{background-color:var(--colorNeutralBackground1);box-shadow:var(--shadow16);border-radius:var(--borderRadiusMedium);border-width:1px;border-style:solid;border-color:var(--colorTransparentStroke);display:inline-flex;color:var(--colorNeutralForeground1);font-family:var(--fontFamilyBase);font-size:var(--fontSizeBase300);font-weight:var(--fontWeightRegular);line-height:var(--lineHeightBase300);}"]);
|
|
22
22
|
/**
|
|
23
23
|
* Apply styling to the DatePicker slots based on the state
|
|
24
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__resetStyles","__styles","mergeClasses","tokens","typographyStyles","datePickerClassNames","root","calendar","popupSurface","useStyles","base","qhf8xq","Bceei9c","xfaavh","disabled","d","usePopupSurfaceClassName","useDatePickerStyles_unstable","state","styles","popupSurfaceClassName","className"],"sources":["useDatePickerStyles.styles.js"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const datePickerClassNames = {\n root: 'fui-DatePicker',\n calendar: 'fui-DatePicker__calendar',\n popupSurface: 'fui-DatePicker__popupSurface'\n};\nconst useStyles = makeStyles({\n base: {\n position: 'relative',\n cursor: 'pointer',\n '& input': {\n cursor: 'pointer'\n }\n },\n disabled: {\n cursor: 'default',\n '& input': {\n cursor: 'default'\n }\n }\n});\nconst usePopupSurfaceClassName = makeResetStyles({\n backgroundColor: tokens.colorNeutralBackground1,\n boxShadow: tokens.shadow16,\n borderRadius: tokens.borderRadiusMedium,\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: tokens.colorTransparentStroke,\n display: 'inline-flex',\n color: tokens.colorNeutralForeground1,\n ...typographyStyles.body1\n});\n/**\n * Apply styling to the DatePicker slots based on the state\n */ export const useDatePickerStyles_unstable = (state)=>{\n const styles = useStyles();\n const popupSurfaceClassName = usePopupSurfaceClassName();\n const { disabled } = state;\n state.root.className = mergeClasses(datePickerClassNames.root, styles.base, disabled && styles.disabled, state.root.className);\n if (state.popupSurface) {\n state.popupSurface.className = mergeClasses(datePickerClassNames.popupSurface, popupSurfaceClassName, state.popupSurface.className);\n }\n state.calendar.className = mergeClasses(datePickerClassNames.calendar, state.calendar.className);\n return state;\n};\n"],"mappings":"AAAA,SAAAA,aAAA,EAAAC,QAAA,EAAsCC,YAAY,QAAQ,gBAAgB;AAC1E,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,OAAO,MAAMC,oBAAoB,GAAG;EAChCC,IAAI,EAAE,gBAAgB;EACtBC,QAAQ,EAAE,0BAA0B;EACpCC,YAAY,EAAE;AAClB,CAAC;AACD,MAAMC,SAAS,gBAAGR,QAAA;EAAAS,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAC,QAAA;IAAAF,OAAA;IAAAC,MAAA;EAAA;AAAA;EAAAE,CAAA;AAAA,CAcjB,CAAC;AACF,MAAMC,wBAAwB,gBAAGhB,aAAA,
|
|
1
|
+
{"version":3,"names":["__resetStyles","__styles","mergeClasses","tokens","typographyStyles","datePickerClassNames","root","calendar","popupSurface","useStyles","base","qhf8xq","Bceei9c","xfaavh","disabled","d","usePopupSurfaceClassName","useDatePickerStyles_unstable","state","styles","popupSurfaceClassName","className"],"sources":["useDatePickerStyles.styles.js"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nexport const datePickerClassNames = {\n root: 'fui-DatePicker',\n calendar: 'fui-DatePicker__calendar',\n popupSurface: 'fui-DatePicker__popupSurface'\n};\nconst useStyles = makeStyles({\n base: {\n position: 'relative',\n cursor: 'pointer',\n '& input': {\n cursor: 'pointer'\n }\n },\n disabled: {\n cursor: 'default',\n '& input': {\n cursor: 'default'\n }\n }\n});\nconst usePopupSurfaceClassName = makeResetStyles({\n backgroundColor: tokens.colorNeutralBackground1,\n boxShadow: tokens.shadow16,\n borderRadius: tokens.borderRadiusMedium,\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: tokens.colorTransparentStroke,\n display: 'inline-flex',\n color: tokens.colorNeutralForeground1,\n ...typographyStyles.body1\n});\n/**\n * Apply styling to the DatePicker slots based on the state\n */ export const useDatePickerStyles_unstable = (state)=>{\n const styles = useStyles();\n const popupSurfaceClassName = usePopupSurfaceClassName();\n const { disabled } = state;\n state.root.className = mergeClasses(datePickerClassNames.root, styles.base, disabled && styles.disabled, state.root.className);\n if (state.popupSurface) {\n state.popupSurface.className = mergeClasses(datePickerClassNames.popupSurface, popupSurfaceClassName, state.popupSurface.className);\n }\n state.calendar.className = mergeClasses(datePickerClassNames.calendar, state.calendar.className);\n return state;\n};\n"],"mappings":"AAAA,SAAAA,aAAA,EAAAC,QAAA,EAAsCC,YAAY,QAAQ,gBAAgB;AAC1E,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,uBAAuB;AAChE,OAAO,MAAMC,oBAAoB,GAAG;EAChCC,IAAI,EAAE,gBAAgB;EACtBC,QAAQ,EAAE,0BAA0B;EACpCC,YAAY,EAAE;AAClB,CAAC;AACD,MAAMC,SAAS,gBAAGR,QAAA;EAAAS,IAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAC,QAAA;IAAAF,OAAA;IAAAC,MAAA;EAAA;AAAA;EAAAE,CAAA;AAAA,CAcjB,CAAC;AACF,MAAMC,wBAAwB,gBAAGhB,aAAA,0aAUhC,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMiB,4BAA4B,GAAIC,KAAK,IAAG;EACrD,MAAMC,MAAM,GAAGV,SAAS,CAAC,CAAC;EAC1B,MAAMW,qBAAqB,GAAGJ,wBAAwB,CAAC,CAAC;EACxD,MAAM;IAAEF;EAAU,CAAC,GAAGI,KAAK;EAC3BA,KAAK,CAACZ,IAAI,CAACe,SAAS,GAAGnB,YAAY,CAACG,oBAAoB,CAACC,IAAI,EAAEa,MAAM,CAACT,IAAI,EAAEI,QAAQ,IAAIK,MAAM,CAACL,QAAQ,EAAEI,KAAK,CAACZ,IAAI,CAACe,SAAS,CAAC;EAC9H,IAAIH,KAAK,CAACV,YAAY,EAAE;IACpBU,KAAK,CAACV,YAAY,CAACa,SAAS,GAAGnB,YAAY,CAACG,oBAAoB,CAACG,YAAY,EAAEY,qBAAqB,EAAEF,KAAK,CAACV,YAAY,CAACa,SAAS,CAAC;EACvI;EACAH,KAAK,CAACX,QAAQ,CAACc,SAAS,GAAGnB,YAAY,CAACG,oBAAoB,CAACE,QAAQ,EAAEW,KAAK,CAACX,QAAQ,CAACc,SAAS,CAAC;EAChG,OAAOH,KAAK;AAChB,CAAC"}
|
|
@@ -63,7 +63,7 @@ const useRootStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
63
63
|
}
|
|
64
64
|
}, {
|
|
65
65
|
d: [
|
|
66
|
-
".f22iagw{display
|
|
66
|
+
".f22iagw{display:flex;}",
|
|
67
67
|
".f13dwy2t{width:220px;}",
|
|
68
68
|
".f1couhl3{box-shadow:none;}",
|
|
69
69
|
".f1ewtqcl{box-sizing:border-box;}",
|
|
@@ -75,7 +75,7 @@ const useRootStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
75
75
|
".fhxju0i{padding-right:0;}",
|
|
76
76
|
".f1cnd47f{padding-left:0;}",
|
|
77
77
|
".f1qch9an{padding-bottom:0;}",
|
|
78
|
-
".f1vx9l62{
|
|
78
|
+
".f1vx9l62{flex-direction:column;}",
|
|
79
79
|
".fcy5b15{width:440px;}",
|
|
80
80
|
".fhsg0in{width:250px;}",
|
|
81
81
|
".fcarq7f{width:470px;}"
|
|
@@ -123,8 +123,8 @@ const useMonthPickerWrapperStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
123
123
|
}
|
|
124
124
|
}, {
|
|
125
125
|
d: [
|
|
126
|
-
".f22iagw{display
|
|
127
|
-
".f1vx9l62{
|
|
126
|
+
".f22iagw{display:flex;}",
|
|
127
|
+
".f1vx9l62{flex-direction:column;}"
|
|
128
128
|
]
|
|
129
129
|
});
|
|
130
130
|
const useGoTodayButtonStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
@@ -194,7 +194,7 @@ const useGoTodayButtonStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
194
194
|
}
|
|
195
195
|
}, {
|
|
196
196
|
d: [
|
|
197
|
-
".fpydfdc{
|
|
197
|
+
".fpydfdc{align-self:flex-end;}",
|
|
198
198
|
".f1c21dwh{background-color:var(--colorTransparentBackground);}",
|
|
199
199
|
".f1ern45e{border-top-style:none;}",
|
|
200
200
|
".f1n71otn{border-right-style:none;}",
|
|
@@ -251,18 +251,6 @@ const useGoTodayButtonStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
251
251
|
m: "(forced-colors: active)"
|
|
252
252
|
}
|
|
253
253
|
],
|
|
254
|
-
[
|
|
255
|
-
"@media (forced-colors: active){.f1q1rlij:hover{border-bottom-right-radius:var(--borderRadiusSmall);}.f1txf70x:hover{border-bottom-left-radius:var(--borderRadiusSmall);}}",
|
|
256
|
-
{
|
|
257
|
-
m: "(forced-colors: active)"
|
|
258
|
-
}
|
|
259
|
-
],
|
|
260
|
-
[
|
|
261
|
-
"@media (forced-colors: active){.fduk3fc:hover{border-top-right-radius:var(--borderRadiusSmall);}.fw6hbk1:hover{border-top-left-radius:var(--borderRadiusSmall);}}",
|
|
262
|
-
{
|
|
263
|
-
m: "(forced-colors: active)"
|
|
264
|
-
}
|
|
265
|
-
],
|
|
266
254
|
[
|
|
267
255
|
"@media (forced-colors: active){.fduk3fc:hover{border-top-right-radius:var(--borderRadiusSmall);}.fw6hbk1:hover{border-top-left-radius:var(--borderRadiusSmall);}}",
|
|
268
256
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useCalendarStyles.styles.js"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { __styles, mergeClasses, shorthands } from '@griffel/react';\n/**\n * @internal\n */\nexport const calendarClassNames = {\n root: 'fui-Calendar',\n divider: 'fui-Calendar__divider',\n goTodayButton: 'fui-Calendar__goTodayButton',\n monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',\n liveRegion: 'fui-Calendar__liveRegion'\n};\nconst useRootStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"f22iagw\",\n a9b677: \"f13dwy2t\"\n },\n normalize: {\n E5pizo: \"f1couhl3\",\n B7ck84d: \"f1ewtqcl\",\n B6of3ja: \"f1hu3pq6\",\n t21cq0: [\"f11qmguv\", \"f1tyq0we\"],\n jrapky: \"f19f4twv\",\n Frg6f3: [\"f1tyq0we\", \"f11qmguv\"],\n z8tnut: \"f1g0x7ka\",\n z189sj: [\"fhxju0i\", \"f1cnd47f\"],\n Byoj8tv: \"f1qch9an\",\n uwmqm3: [\"f1cnd47f\", \"fhxju0i\"]\n },\n monthPickerNotVisible: {\n Beiy3e4: \"f1vx9l62\"\n },\n dayAndMonthPickersVisible: {\n a9b677: \"fcy5b15\"\n },\n dayPickerVisibleAndWeekNumbersShown: {\n a9b677: \"fhsg0in\"\n },\n dayAndMonthPickersVisibleAndWeekNumbersShown: {\n a9b677: \"fcarq7f\"\n }\n}, {\n d: [\".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}\", \".f13dwy2t{width:220px;}\", \".f1couhl3{box-shadow:none;}\", \".f1ewtqcl{box-sizing:border-box;}\", \".f1hu3pq6{margin-top:0;}\", \".f11qmguv{margin-right:0;}\", \".f1tyq0we{margin-left:0;}\", \".f19f4twv{margin-bottom:0;}\", \".f1g0x7ka{padding-top:0;}\", \".fhxju0i{padding-right:0;}\", \".f1cnd47f{padding-left:0;}\", \".f1qch9an{padding-bottom:0;}\", \".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}\", \".fcy5b15{width:440px;}\", \".fhsg0in{width:250px;}\", \".fcarq7f{width:470px;}\"]\n});\nconst useDividerStyles = /*#__PURE__*/__styles({\n base: {\n g2u3we: \"f68mrw8\",\n h3c5rm: [\"f7pw515\", \"fw35ms5\"],\n B9xav0g: \"frpde29\",\n zhjwy3: [\"fw35ms5\", \"f7pw515\"],\n Bekrc4i: [\"f1hqa2wf\", \"finvdd3\"],\n vrafjx: [\"fcdblym\", \"fjik90z\"],\n Bhzewxz: \"f15twtuk\"\n }\n}, {\n d: [\".f68mrw8{border-top-color:var(--colorNeutralStroke2);}\", \".f7pw515{border-right-color:var(--colorNeutralStroke2);}\", \".fw35ms5{border-left-color:var(--colorNeutralStroke2);}\", \".frpde29{border-bottom-color:var(--colorNeutralStroke2);}\", \".f1hqa2wf{border-right-width:1px;}\", \".finvdd3{border-left-width:1px;}\", \".fcdblym{border-right-style:solid;}\", \".fjik90z{border-left-style:solid;}\", \".f15twtuk{top:0;}\"]\n});\nconst useMonthPickerWrapperStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\"\n }\n}, {\n d: [\".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}\", \".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}\"]\n});\nconst useGoTodayButtonStyles = /*#__PURE__*/__styles({\n base: {\n qb2dma: \"fpydfdc\",\n De3pzq: \"f1c21dwh\",\n icvyot: \"f1ern45e\",\n vrafjx: [\"f1n71otn\", \"f1deefiw\"],\n oivjwe: \"f1h8hb77\",\n wvpqe5: [\"f1deefiw\", \"f1n71otn\"],\n B5kzvoi: \"f1yab3r1\",\n B7ck84d: \"f1e4lqlz\",\n sj55zd: \"f19n0e5\",\n Bahqtrf: \"f1mo0ibp\",\n Be2twd7: \"fy9rknc\",\n Bqenvij: \"f1tvdnth\",\n Bg96gwp: \"fpfng1i\",\n t21cq0: [\"f17vyym1\", \"fb5scp\"],\n B6of3ja: \"f4gg0ds\",\n B68tc82: \"f1mtd64y\",\n Bmxbyg5: \"f1y7q3j9\",\n z8tnut: \"f1g0x7ka\",\n z189sj: [\"f8wuabp\", \"fycuoez\"],\n Byoj8tv: \"f1qch9an\",\n uwmqm3: [\"fycuoez\", \"f8wuabp\"],\n seuwu7: \"fvy6vk6\",\n Jwef8y: \"f9ql6rf\",\n Bi91k9c: \"f1f1pb61\",\n eoavqd: \"f8491dx\",\n Bv57zgv: \"fq3vqfz\",\n Bnosqey: \"f7lk14\",\n Bx7pl5v: \"f1awoz4y\",\n B23s7e0: [\"f1q1rlij\", \"f1txf70x\"],\n knvgbf: [\"f1txf70x\", \"f1q1rlij\"],\n B3ons6i: [\"fduk3fc\", \"fw6hbk1\"],\n Be8uuq8: [\"fw6hbk1\", \"fduk3fc\"],\n B2d53fq: \"fc9d3oc\",\n Dyrjrp: \"f1cqwcg4\",\n Be90el1: \"fmjaa5u\"\n }\n}, {\n d: [\".fpydfdc{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".f1ern45e{border-top-style:none;}\", \".f1n71otn{border-right-style:none;}\", \".f1deefiw{border-left-style:none;}\", \".f1h8hb77{border-bottom-style:none;}\", \".f1yab3r1{bottom:0;}\", \".f1e4lqlz{box-sizing:content-box;}\", \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".f1mo0ibp{font-family:inherit;}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".f1tvdnth{height:30px;}\", \".fpfng1i{line-height:30px;}\", \".f17vyym1{margin-right:16px;}\", \".fb5scp{margin-left:16px;}\", \".f4gg0ds{margin-top:3px;}\", \".f1mtd64y{overflow-x:visible;}\", \".f1y7q3j9{overflow-y:visible;}\", \".f1g0x7ka{padding-top:0;}\", \".f8wuabp{padding-right:4px;}\", \".fycuoez{padding-left:4px;}\", \".f1qch9an{padding-bottom:0;}\", \".fvy6vk6 div{font-size:var(--fontSizeBase200);}\", \".f1cqwcg4:disabled{color:var(--colorNeutralForegroundDisabled);}\", \".fmjaa5u:disabled{pointer-events:none;}\"],\n h: [\".f9ql6rf:hover{background-color:var(--colorTransparentBackground);}\", \".f1f1pb61:hover{color:var(--colorBrandForeground1);}\", \".f8491dx:hover{cursor:pointer;}\", \".fc9d3oc:hover:active{color:var(--colorBrandForeground2);}\"],\n m: [[\"@media (forced-colors: active){.fq3vqfz:hover{outline-width:var(--strokeWidthThin);}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f7lk14:hover{outline-style:solid;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1awoz4y:hover{outline-color:ButtonText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1q1rlij:hover{border-bottom-right-radius:var(--borderRadiusSmall);}.f1txf70x:hover{border-bottom-left-radius:var(--borderRadiusSmall);}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1q1rlij:hover{border-bottom-right-radius:var(--borderRadiusSmall);}.f1txf70x:hover{border-bottom-left-radius:var(--borderRadiusSmall);}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fduk3fc:hover{border-top-right-radius:var(--borderRadiusSmall);}.fw6hbk1:hover{border-top-left-radius:var(--borderRadiusSmall);}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fduk3fc:hover{border-top-right-radius:var(--borderRadiusSmall);}.fw6hbk1:hover{border-top-left-radius:var(--borderRadiusSmall);}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useLiveRegionStyles = /*#__PURE__*/__styles({\n base: {\n B4j52fo: \"fre7gi1\",\n Bekrc4i: [\"f1358rze\", \"f1rvrf73\"],\n Bn0qgzm: \"fqdk4by\",\n ibv6hh: [\"f1rvrf73\", \"f1358rze\"],\n Bqenvij: \"f1mpe4l3\",\n B6of3ja: \"fkrn0sh\",\n t21cq0: [\"f179hvsh\", \"f1538868\"],\n jrapky: \"fmxx68s\",\n Frg6f3: [\"f1538868\", \"f179hvsh\"],\n B68tc82: \"f1p9o1ba\",\n Bmxbyg5: \"f1sil6mw\",\n z8tnut: \"f1g0x7ka\",\n z189sj: [\"fhxju0i\", \"f1cnd47f\"],\n Byoj8tv: \"f1qch9an\",\n uwmqm3: [\"f1cnd47f\", \"fhxju0i\"],\n qhf8xq: \"f1euv43f\",\n a9b677: \"frkrog8\"\n }\n}, {\n d: [\".fre7gi1{border-top-width:0;}\", \".f1358rze{border-right-width:0;}\", \".f1rvrf73{border-left-width:0;}\", \".fqdk4by{border-bottom-width:0;}\", \".f1mpe4l3{height:1px;}\", \".fkrn0sh{margin-top:-1px;}\", \".f179hvsh{margin-right:-1px;}\", \".f1538868{margin-left:-1px;}\", \".fmxx68s{margin-bottom:-1px;}\", \".f1p9o1ba{overflow-x:hidden;}\", \".f1sil6mw{overflow-y:hidden;}\", \".f1g0x7ka{padding-top:0;}\", \".fhxju0i{padding-right:0;}\", \".f1cnd47f{padding-left:0;}\", \".f1qch9an{padding-bottom:0;}\", \".f1euv43f{position:absolute;}\", \".frkrog8{width:1px;}\"]\n});\n/**\n * @internal\n *\n * Apply styling to the Calendar slots based on the state\n */\nexport const useCalendarStyles_unstable = props => {\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n const monthPickerWrapperStyles = useMonthPickerWrapperStyles();\n const goTodayButtonStyles = useGoTodayButtonStyles();\n const liveRegionStyles = useLiveRegionStyles();\n const {\n className,\n isDayPickerVisible,\n isMonthPickerVisible,\n showWeekNumbers\n } = props;\n return {\n root: mergeClasses(calendarClassNames.root, rootStyles.base, rootStyles.normalize, !isMonthPickerVisible && rootStyles.monthPickerNotVisible, isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible, isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown, isDayPickerVisible && isMonthPickerVisible && showWeekNumbers && rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown, className),\n divider: mergeClasses(calendarClassNames.divider, dividerStyles.base),\n monthPickerWrapper: mergeClasses(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),\n goTodayButton: mergeClasses(calendarClassNames.goTodayButton, goTodayButtonStyles.base),\n liveRegion: mergeClasses(calendarClassNames.liveRegion, liveRegionStyles.base)\n };\n};\n//# sourceMappingURL=useCalendarStyles.styles.js.map"],"names":["calendarClassNames","useCalendarStyles_unstable","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","__styles","base","mc9l5x","a9b677","normalize","E5pizo","B7ck84d","B6of3ja","t21cq0","jrapky","Frg6f3","z8tnut","z189sj","Byoj8tv","uwmqm3","monthPickerNotVisible","Beiy3e4","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","d","useDividerStyles","g2u3we","h3c5rm","B9xav0g","zhjwy3","Bekrc4i","vrafjx","Bhzewxz","useMonthPickerWrapperStyles","useGoTodayButtonStyles","qb2dma","De3pzq","icvyot","oivjwe","wvpqe5","B5kzvoi","sj55zd","Bahqtrf","Be2twd7","Bqenvij","Bg96gwp","B68tc82","Bmxbyg5","seuwu7","Jwef8y","Bi91k9c","eoavqd","Bv57zgv","Bnosqey","Bx7pl5v","B23s7e0","knvgbf","B3ons6i","Be8uuq8","B2d53fq","Dyrjrp","Be90el1","h","m","useLiveRegionStyles","B4j52fo","Bn0qgzm","ibv6hh","qhf8xq","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers","mergeClasses"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["useCalendarStyles.styles.js"],"sourcesContent":["import { tokens } from '@fluentui/react-theme';\nimport { __styles, mergeClasses, shorthands } from '@griffel/react';\n/**\n * @internal\n */\nexport const calendarClassNames = {\n root: 'fui-Calendar',\n divider: 'fui-Calendar__divider',\n goTodayButton: 'fui-Calendar__goTodayButton',\n monthPickerWrapper: 'fui-Calendar__monthPickerWrapper',\n liveRegion: 'fui-Calendar__liveRegion'\n};\nconst useRootStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"f22iagw\",\n a9b677: \"f13dwy2t\"\n },\n normalize: {\n E5pizo: \"f1couhl3\",\n B7ck84d: \"f1ewtqcl\",\n B6of3ja: \"f1hu3pq6\",\n t21cq0: [\"f11qmguv\", \"f1tyq0we\"],\n jrapky: \"f19f4twv\",\n Frg6f3: [\"f1tyq0we\", \"f11qmguv\"],\n z8tnut: \"f1g0x7ka\",\n z189sj: [\"fhxju0i\", \"f1cnd47f\"],\n Byoj8tv: \"f1qch9an\",\n uwmqm3: [\"f1cnd47f\", \"fhxju0i\"]\n },\n monthPickerNotVisible: {\n Beiy3e4: \"f1vx9l62\"\n },\n dayAndMonthPickersVisible: {\n a9b677: \"fcy5b15\"\n },\n dayPickerVisibleAndWeekNumbersShown: {\n a9b677: \"fhsg0in\"\n },\n dayAndMonthPickersVisibleAndWeekNumbersShown: {\n a9b677: \"fcarq7f\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f13dwy2t{width:220px;}\", \".f1couhl3{box-shadow:none;}\", \".f1ewtqcl{box-sizing:border-box;}\", \".f1hu3pq6{margin-top:0;}\", \".f11qmguv{margin-right:0;}\", \".f1tyq0we{margin-left:0;}\", \".f19f4twv{margin-bottom:0;}\", \".f1g0x7ka{padding-top:0;}\", \".fhxju0i{padding-right:0;}\", \".f1cnd47f{padding-left:0;}\", \".f1qch9an{padding-bottom:0;}\", \".f1vx9l62{flex-direction:column;}\", \".fcy5b15{width:440px;}\", \".fhsg0in{width:250px;}\", \".fcarq7f{width:470px;}\"]\n});\nconst useDividerStyles = /*#__PURE__*/__styles({\n base: {\n g2u3we: \"f68mrw8\",\n h3c5rm: [\"f7pw515\", \"fw35ms5\"],\n B9xav0g: \"frpde29\",\n zhjwy3: [\"fw35ms5\", \"f7pw515\"],\n Bekrc4i: [\"f1hqa2wf\", \"finvdd3\"],\n vrafjx: [\"fcdblym\", \"fjik90z\"],\n Bhzewxz: \"f15twtuk\"\n }\n}, {\n d: [\".f68mrw8{border-top-color:var(--colorNeutralStroke2);}\", \".f7pw515{border-right-color:var(--colorNeutralStroke2);}\", \".fw35ms5{border-left-color:var(--colorNeutralStroke2);}\", \".frpde29{border-bottom-color:var(--colorNeutralStroke2);}\", \".f1hqa2wf{border-right-width:1px;}\", \".finvdd3{border-left-width:1px;}\", \".fcdblym{border-right-style:solid;}\", \".fjik90z{border-left-style:solid;}\", \".f15twtuk{top:0;}\"]\n});\nconst useMonthPickerWrapperStyles = /*#__PURE__*/__styles({\n base: {\n mc9l5x: \"f22iagw\",\n Beiy3e4: \"f1vx9l62\"\n }\n}, {\n d: [\".f22iagw{display:flex;}\", \".f1vx9l62{flex-direction:column;}\"]\n});\nconst useGoTodayButtonStyles = /*#__PURE__*/__styles({\n base: {\n qb2dma: \"fpydfdc\",\n De3pzq: \"f1c21dwh\",\n icvyot: \"f1ern45e\",\n vrafjx: [\"f1n71otn\", \"f1deefiw\"],\n oivjwe: \"f1h8hb77\",\n wvpqe5: [\"f1deefiw\", \"f1n71otn\"],\n B5kzvoi: \"f1yab3r1\",\n B7ck84d: \"f1e4lqlz\",\n sj55zd: \"f19n0e5\",\n Bahqtrf: \"f1mo0ibp\",\n Be2twd7: \"fy9rknc\",\n Bqenvij: \"f1tvdnth\",\n Bg96gwp: \"fpfng1i\",\n t21cq0: [\"f17vyym1\", \"fb5scp\"],\n B6of3ja: \"f4gg0ds\",\n B68tc82: \"f1mtd64y\",\n Bmxbyg5: \"f1y7q3j9\",\n z8tnut: \"f1g0x7ka\",\n z189sj: [\"f8wuabp\", \"fycuoez\"],\n Byoj8tv: \"f1qch9an\",\n uwmqm3: [\"fycuoez\", \"f8wuabp\"],\n seuwu7: \"fvy6vk6\",\n Jwef8y: \"f9ql6rf\",\n Bi91k9c: \"f1f1pb61\",\n eoavqd: \"f8491dx\",\n Bv57zgv: \"fq3vqfz\",\n Bnosqey: \"f7lk14\",\n Bx7pl5v: \"f1awoz4y\",\n B23s7e0: [\"f1q1rlij\", \"f1txf70x\"],\n knvgbf: [\"f1txf70x\", \"f1q1rlij\"],\n B3ons6i: [\"fduk3fc\", \"fw6hbk1\"],\n Be8uuq8: [\"fw6hbk1\", \"fduk3fc\"],\n B2d53fq: \"fc9d3oc\",\n Dyrjrp: \"f1cqwcg4\",\n Be90el1: \"fmjaa5u\"\n }\n}, {\n d: [\".fpydfdc{align-self:flex-end;}\", \".f1c21dwh{background-color:var(--colorTransparentBackground);}\", \".f1ern45e{border-top-style:none;}\", \".f1n71otn{border-right-style:none;}\", \".f1deefiw{border-left-style:none;}\", \".f1h8hb77{border-bottom-style:none;}\", \".f1yab3r1{bottom:0;}\", \".f1e4lqlz{box-sizing:content-box;}\", \".f19n0e5{color:var(--colorNeutralForeground1);}\", \".f1mo0ibp{font-family:inherit;}\", \".fy9rknc{font-size:var(--fontSizeBase200);}\", \".f1tvdnth{height:30px;}\", \".fpfng1i{line-height:30px;}\", \".f17vyym1{margin-right:16px;}\", \".fb5scp{margin-left:16px;}\", \".f4gg0ds{margin-top:3px;}\", \".f1mtd64y{overflow-x:visible;}\", \".f1y7q3j9{overflow-y:visible;}\", \".f1g0x7ka{padding-top:0;}\", \".f8wuabp{padding-right:4px;}\", \".fycuoez{padding-left:4px;}\", \".f1qch9an{padding-bottom:0;}\", \".fvy6vk6 div{font-size:var(--fontSizeBase200);}\", \".f1cqwcg4:disabled{color:var(--colorNeutralForegroundDisabled);}\", \".fmjaa5u:disabled{pointer-events:none;}\"],\n h: [\".f9ql6rf:hover{background-color:var(--colorTransparentBackground);}\", \".f1f1pb61:hover{color:var(--colorBrandForeground1);}\", \".f8491dx:hover{cursor:pointer;}\", \".fc9d3oc:hover:active{color:var(--colorBrandForeground2);}\"],\n m: [[\"@media (forced-colors: active){.fq3vqfz:hover{outline-width:var(--strokeWidthThin);}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f7lk14:hover{outline-style:solid;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1awoz4y:hover{outline-color:ButtonText;}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.f1q1rlij:hover{border-bottom-right-radius:var(--borderRadiusSmall);}.f1txf70x:hover{border-bottom-left-radius:var(--borderRadiusSmall);}}\", {\n m: \"(forced-colors: active)\"\n }], [\"@media (forced-colors: active){.fduk3fc:hover{border-top-right-radius:var(--borderRadiusSmall);}.fw6hbk1:hover{border-top-left-radius:var(--borderRadiusSmall);}}\", {\n m: \"(forced-colors: active)\"\n }]]\n});\nconst useLiveRegionStyles = /*#__PURE__*/__styles({\n base: {\n B4j52fo: \"fre7gi1\",\n Bekrc4i: [\"f1358rze\", \"f1rvrf73\"],\n Bn0qgzm: \"fqdk4by\",\n ibv6hh: [\"f1rvrf73\", \"f1358rze\"],\n Bqenvij: \"f1mpe4l3\",\n B6of3ja: \"fkrn0sh\",\n t21cq0: [\"f179hvsh\", \"f1538868\"],\n jrapky: \"fmxx68s\",\n Frg6f3: [\"f1538868\", \"f179hvsh\"],\n B68tc82: \"f1p9o1ba\",\n Bmxbyg5: \"f1sil6mw\",\n z8tnut: \"f1g0x7ka\",\n z189sj: [\"fhxju0i\", \"f1cnd47f\"],\n Byoj8tv: \"f1qch9an\",\n uwmqm3: [\"f1cnd47f\", \"fhxju0i\"],\n qhf8xq: \"f1euv43f\",\n a9b677: \"frkrog8\"\n }\n}, {\n d: [\".fre7gi1{border-top-width:0;}\", \".f1358rze{border-right-width:0;}\", \".f1rvrf73{border-left-width:0;}\", \".fqdk4by{border-bottom-width:0;}\", \".f1mpe4l3{height:1px;}\", \".fkrn0sh{margin-top:-1px;}\", \".f179hvsh{margin-right:-1px;}\", \".f1538868{margin-left:-1px;}\", \".fmxx68s{margin-bottom:-1px;}\", \".f1p9o1ba{overflow-x:hidden;}\", \".f1sil6mw{overflow-y:hidden;}\", \".f1g0x7ka{padding-top:0;}\", \".fhxju0i{padding-right:0;}\", \".f1cnd47f{padding-left:0;}\", \".f1qch9an{padding-bottom:0;}\", \".f1euv43f{position:absolute;}\", \".frkrog8{width:1px;}\"]\n});\n/**\n * @internal\n *\n * Apply styling to the Calendar slots based on the state\n */\nexport const useCalendarStyles_unstable = props => {\n const rootStyles = useRootStyles();\n const dividerStyles = useDividerStyles();\n const monthPickerWrapperStyles = useMonthPickerWrapperStyles();\n const goTodayButtonStyles = useGoTodayButtonStyles();\n const liveRegionStyles = useLiveRegionStyles();\n const {\n className,\n isDayPickerVisible,\n isMonthPickerVisible,\n showWeekNumbers\n } = props;\n return {\n root: mergeClasses(calendarClassNames.root, rootStyles.base, rootStyles.normalize, !isMonthPickerVisible && rootStyles.monthPickerNotVisible, isDayPickerVisible && isMonthPickerVisible && !showWeekNumbers && rootStyles.dayAndMonthPickersVisible, isDayPickerVisible && !isMonthPickerVisible && showWeekNumbers && rootStyles.dayPickerVisibleAndWeekNumbersShown, isDayPickerVisible && isMonthPickerVisible && showWeekNumbers && rootStyles.dayAndMonthPickersVisibleAndWeekNumbersShown, className),\n divider: mergeClasses(calendarClassNames.divider, dividerStyles.base),\n monthPickerWrapper: mergeClasses(calendarClassNames.monthPickerWrapper, monthPickerWrapperStyles.base),\n goTodayButton: mergeClasses(calendarClassNames.goTodayButton, goTodayButtonStyles.base),\n liveRegion: mergeClasses(calendarClassNames.liveRegion, liveRegionStyles.base)\n };\n};\n//# sourceMappingURL=useCalendarStyles.styles.js.map"],"names":["calendarClassNames","useCalendarStyles_unstable","root","divider","goTodayButton","monthPickerWrapper","liveRegion","useRootStyles","__styles","base","mc9l5x","a9b677","normalize","E5pizo","B7ck84d","B6of3ja","t21cq0","jrapky","Frg6f3","z8tnut","z189sj","Byoj8tv","uwmqm3","monthPickerNotVisible","Beiy3e4","dayAndMonthPickersVisible","dayPickerVisibleAndWeekNumbersShown","dayAndMonthPickersVisibleAndWeekNumbersShown","d","useDividerStyles","g2u3we","h3c5rm","B9xav0g","zhjwy3","Bekrc4i","vrafjx","Bhzewxz","useMonthPickerWrapperStyles","useGoTodayButtonStyles","qb2dma","De3pzq","icvyot","oivjwe","wvpqe5","B5kzvoi","sj55zd","Bahqtrf","Be2twd7","Bqenvij","Bg96gwp","B68tc82","Bmxbyg5","seuwu7","Jwef8y","Bi91k9c","eoavqd","Bv57zgv","Bnosqey","Bx7pl5v","B23s7e0","knvgbf","B3ons6i","Be8uuq8","B2d53fq","Dyrjrp","Be90el1","h","m","useLiveRegionStyles","B4j52fo","Bn0qgzm","ibv6hh","qhf8xq","props","rootStyles","dividerStyles","monthPickerWrapperStyles","goTodayButtonStyles","liveRegionStyles","className","isDayPickerVisible","isMonthPickerVisible","showWeekNumbers","mergeClasses"],"mappings":";;;;;;;;;;;IAKaA,kBAAkB,MAAlBA;IA6IAC,0BAA0B,MAA1BA;;uBAjJsC;AAI5C,MAAMD,qBAAqB;IAChCE,MAAM;IACNC,SAAS;IACTC,eAAe;IACfC,oBAAoB;IACpBC,YAAY;AACd;AACA,MAAMC,gBAAgB,WAAW,GAAEC,IAAAA,kBAAQ,EAAC;IAC1CC,MAAM;QACJC,QAAQ;QACRC,QAAQ;IACV;IACAC,WAAW;QACTC,QAAQ;QACRC,SAAS;QACTC,SAAS;QACTC,QAAQ;YAAC;YAAY;SAAW;QAChCC,QAAQ;QACRC,QAAQ;YAAC;YAAY;SAAW;QAChCC,QAAQ;QACRC,QAAQ;YAAC;YAAW;SAAW;QAC/BC,SAAS;QACTC,QAAQ;YAAC;YAAY;SAAU;IACjC;IACAC,uBAAuB;QACrBC,SAAS;IACX;IACAC,2BAA2B;QACzBd,QAAQ;IACV;IACAe,qCAAqC;QACnCf,QAAQ;IACV;IACAgB,8CAA8C;QAC5ChB,QAAQ;IACV;AACF,GAAG;IACDiB,GAAG;QAAC;QAA2B;QAA2B;QAA+B;QAAqC;QAA4B;QAA8B;QAA6B;QAA+B;QAA6B;QAA8B;QAA8B;QAAgC;QAAqC;QAA0B;QAA0B;KAAyB;AACje;AACA,MAAMC,mBAAmB,WAAW,GAAErB,IAAAA,kBAAQ,EAAC;IAC7CC,MAAM;QACJqB,QAAQ;QACRC,QAAQ;YAAC;YAAW;SAAU;QAC9BC,SAAS;QACTC,QAAQ;YAAC;YAAW;SAAU;QAC9BC,SAAS;YAAC;YAAY;SAAU;QAChCC,QAAQ;YAAC;YAAW;SAAU;QAC9BC,SAAS;IACX;AACF,GAAG;IACDR,GAAG;QAAC;QAA0D;QAA4D;QAA2D;QAA6D;QAAsC;QAAoC;QAAuC;QAAsC;KAAoB;AAC/Z;AACA,MAAMS,8BAA8B,WAAW,GAAE7B,IAAAA,kBAAQ,EAAC;IACxDC,MAAM;QACJC,QAAQ;QACRc,SAAS;IACX;AACF,GAAG;IACDI,GAAG;QAAC;QAA2B;KAAoC;AACrE;AACA,MAAMU,yBAAyB,WAAW,GAAE9B,IAAAA,kBAAQ,EAAC;IACnDC,MAAM;QACJ8B,QAAQ;QACRC,QAAQ;QACRC,QAAQ;QACRN,QAAQ;YAAC;YAAY;SAAW;QAChCO,QAAQ;QACRC,QAAQ;YAAC;YAAY;SAAW;QAChCC,SAAS;QACT9B,SAAS;QACT+B,QAAQ;QACRC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTjC,QAAQ;YAAC;YAAY;SAAS;QAC9BD,SAAS;QACTmC,SAAS;QACTC,SAAS;QACThC,QAAQ;QACRC,QAAQ;YAAC;YAAW;SAAU;QAC9BC,SAAS;QACTC,QAAQ;YAAC;YAAW;SAAU;QAC9B8B,QAAQ;QACRC,QAAQ;QACRC,SAAS;QACTC,QAAQ;QACRC,SAAS;QACTC,SAAS;QACTC,SAAS;QACTC,SAAS;YAAC;YAAY;SAAW;QACjCC,QAAQ;YAAC;YAAY;SAAW;QAChCC,SAAS;YAAC;YAAW;SAAU;QAC/BC,SAAS;YAAC;YAAW;SAAU;QAC/BC,SAAS;QACTC,QAAQ;QACRC,SAAS;IACX;AACF,GAAG;IACDrC,GAAG;QAAC;QAAkC;QAAkE;QAAqC;QAAuC;QAAsC;QAAwC;QAAwB;QAAsC;QAAmD;QAAmC;QAA+C;QAA2B;QAA+B;QAAiC;QAA8B;QAA6B;QAAkC;QAAkC;QAA6B;QAAgC;QAA+B;QAAgC;QAAmD;QAAoE;KAA0C;IAC57BsC,GAAG;QAAC;QAAuE;QAAwD;QAAmC;KAA6D;IACnOC,GAAG;QAAC;YAAC;YAAyF;gBAC5FA,GAAG;YACL;SAAE;QAAE;YAAC;YAAuE;gBAC1EA,GAAG;YACL;SAAE;QAAE;YAAC;YAA8E;gBACjFA,GAAG;YACL;SAAE;QAAE;YAAC;YAA6K;gBAChLA,GAAG;YACL;SAAE;QAAE;YAAC;YAAqK;gBACxKA,GAAG;YACL;SAAE;KAAC;AACL;AACA,MAAMC,sBAAsB,WAAW,GAAE5D,IAAAA,kBAAQ,EAAC;IAChDC,MAAM;QACJ4D,SAAS;QACTnC,SAAS;YAAC;YAAY;SAAW;QACjCoC,SAAS;QACTC,QAAQ;YAAC;YAAY;SAAW;QAChCvB,SAAS;QACTjC,SAAS;QACTC,QAAQ;YAAC;YAAY;SAAW;QAChCC,QAAQ;QACRC,QAAQ;YAAC;YAAY;SAAW;QAChCgC,SAAS;QACTC,SAAS;QACThC,QAAQ;QACRC,QAAQ;YAAC;YAAW;SAAW;QAC/BC,SAAS;QACTC,QAAQ;YAAC;YAAY;SAAU;QAC/BkD,QAAQ;QACR7D,QAAQ;IACV;AACF,GAAG;IACDiB,GAAG;QAAC;QAAiC;QAAoC;QAAmC;QAAoC;QAA0B;QAA8B;QAAiC;QAAgC;QAAiC;QAAiC;QAAiC;QAA6B;QAA8B;QAA8B;QAAgC;QAAiC;KAAuB;AAC/hB;AAMO,MAAM3B,6BAA6BwE,CAAAA,QAAS;IACjD,MAAMC,aAAanE;IACnB,MAAMoE,gBAAgB9C;IACtB,MAAM+C,2BAA2BvC;IACjC,MAAMwC,sBAAsBvC;IAC5B,MAAMwC,mBAAmBV;IACzB,MAAM,EACJW,UAAS,EACTC,mBAAkB,EAClBC,qBAAoB,EACpBC,gBAAe,EAChB,GAAGT;IACJ,OAAO;QACLvE,MAAMiF,IAAAA,mBAAY,EAACnF,mBAAmBE,IAAI,EAAEwE,WAAWjE,IAAI,EAAEiE,WAAW9D,SAAS,EAAE,CAACqE,wBAAwBP,WAAWnD,qBAAqB,EAAEyD,sBAAsBC,wBAAwB,CAACC,mBAAmBR,WAAWjD,yBAAyB,EAAEuD,sBAAsB,CAACC,wBAAwBC,mBAAmBR,WAAWhD,mCAAmC,EAAEsD,sBAAsBC,wBAAwBC,mBAAmBR,WAAW/C,4CAA4C,EAAEoD;QACle5E,SAASgF,IAAAA,mBAAY,EAACnF,mBAAmBG,OAAO,EAAEwE,cAAclE,IAAI;QACpEJ,oBAAoB8E,IAAAA,mBAAY,EAACnF,mBAAmBK,kBAAkB,EAAEuE,yBAAyBnE,IAAI;QACrGL,eAAe+E,IAAAA,mBAAY,EAACnF,mBAAmBI,aAAa,EAAEyE,oBAAoBpE,IAAI;QACtFH,YAAY6E,IAAAA,mBAAY,EAACnF,mBAAmBM,UAAU,EAAEwE,iBAAiBrE,IAAI;IAC/E;AACF,GACA,oDAAoD"}
|
|
@@ -94,7 +94,7 @@ const useHeaderStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
94
94
|
}
|
|
95
95
|
}, {
|
|
96
96
|
d: [
|
|
97
|
-
".ftuwxu6{display
|
|
97
|
+
".ftuwxu6{display:inline-flex;}",
|
|
98
98
|
".fxldao9{height:28px;}",
|
|
99
99
|
".f1vzymgo{line-height:44px;}",
|
|
100
100
|
".f10pi13n{position:relative;}",
|
|
@@ -171,7 +171,7 @@ const useMonthAndYearStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
171
171
|
}
|
|
172
172
|
}, {
|
|
173
173
|
d: [
|
|
174
|
-
".f122n59{
|
|
174
|
+
".f122n59{align-items:center;}",
|
|
175
175
|
".f1c21dwh{background-color:var(--colorTransparentBackground);}",
|
|
176
176
|
".f1ern45e{border-top-style:none;}",
|
|
177
177
|
".f1n71otn{border-right-style:none;}",
|
|
@@ -183,7 +183,7 @@ const useMonthAndYearStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
183
183
|
".f1127022{border-top-left-radius:2px;}",
|
|
184
184
|
".f19n0e5{color:var(--colorNeutralForeground1);}",
|
|
185
185
|
".f14t3ns0{display:inline-block;}",
|
|
186
|
-
".fqerorx{
|
|
186
|
+
".fqerorx{flex-grow:1;}",
|
|
187
187
|
".f1mo0ibp{font-family:inherit;}",
|
|
188
188
|
".fkhj508{font-size:var(--fontSizeBase300);}",
|
|
189
189
|
".fl43uef{font-weight:var(--fontWeightSemibold);}",
|
|
@@ -200,13 +200,12 @@ const useMonthAndYearStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
200
200
|
".fes3tcz{text-align:right;}",
|
|
201
201
|
".f1cmbuwj{text-overflow:ellipsis;}",
|
|
202
202
|
".fz5stix{white-space:nowrap;}",
|
|
203
|
-
".fhsqnsn{
|
|
204
|
-
".fywypte{
|
|
205
|
-
".f1h7u52p{
|
|
206
|
-
".fjq4c94{
|
|
203
|
+
".fhsqnsn{animation-duration:0.267s;}",
|
|
204
|
+
".fywypte{animation-fill-mode:both;}",
|
|
205
|
+
".f1h7u52p{animation-name:f5j8bii;}",
|
|
206
|
+
".fjq4c94{animation-timing-function:cubic-bezier(.1,.25,.75,.9);}"
|
|
207
207
|
],
|
|
208
208
|
k: [
|
|
209
|
-
"@-webkit-keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}",
|
|
210
209
|
"@keyframes f5j8bii{from{opacity:0;}to{opacity:1;}}"
|
|
211
210
|
],
|
|
212
211
|
h: [
|
|
@@ -223,8 +222,8 @@ const useMonthComponentsStyles = /*#__PURE__*/ (0, _react["__styles"])({
|
|
|
223
222
|
}
|
|
224
223
|
}, {
|
|
225
224
|
d: [
|
|
226
|
-
".fpydfdc{
|
|
227
|
-
".ftuwxu6{display
|
|
225
|
+
".fpydfdc{align-self:flex-end;}",
|
|
226
|
+
".ftuwxu6{display:inline-flex;}"
|
|
228
227
|
]
|
|
229
228
|
});
|
|
230
229
|
const useHeaderIconButtonStyles = /*#__PURE__*/ (0, _react["__styles"])({
|