@mantine/dates 5.0.0-alpha.18 → 5.0.0-alpha.20

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 (31) hide show
  1. package/README.md +1 -1
  2. package/cjs/components/CalendarBase/CalendarBase.js +32 -11
  3. package/cjs/components/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/DatePicker/DatePicker.js +1 -0
  5. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  6. package/cjs/components/DatePickerBase/DatePickerBase.js +6 -4
  7. package/cjs/components/DatePickerBase/DatePickerBase.js.map +1 -1
  8. package/cjs/components/Month/Day/Day.js +5 -3
  9. package/cjs/components/Month/Day/Day.js.map +1 -1
  10. package/cjs/components/Month/Month.js +46 -5
  11. package/cjs/components/Month/Month.js.map +1 -1
  12. package/esm/components/CalendarBase/CalendarBase.js +32 -11
  13. package/esm/components/CalendarBase/CalendarBase.js.map +1 -1
  14. package/esm/components/DatePicker/DatePicker.js +1 -0
  15. package/esm/components/DatePicker/DatePicker.js.map +1 -1
  16. package/esm/components/DatePickerBase/DatePickerBase.js +6 -4
  17. package/esm/components/DatePickerBase/DatePickerBase.js.map +1 -1
  18. package/esm/components/Month/Day/Day.js +5 -3
  19. package/esm/components/Month/Day/Day.js.map +1 -1
  20. package/esm/components/Month/Month.js +47 -6
  21. package/esm/components/Month/Month.js.map +1 -1
  22. package/lib/components/CalendarBase/CalendarBase.d.ts.map +1 -1
  23. package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
  24. package/lib/components/DatePickerBase/DatePickerBase.d.ts +3 -1
  25. package/lib/components/DatePickerBase/DatePickerBase.d.ts.map +1 -1
  26. package/lib/components/Month/Day/Day.d.ts +1 -0
  27. package/lib/components/Month/Day/Day.d.ts.map +1 -1
  28. package/lib/components/Month/Month.d.ts +2 -0
  29. package/lib/components/Month/Month.d.ts.map +1 -1
  30. package/lib/components/Month/Month.styles.d.ts +2 -2
  31. package/package.json +4 -4
package/README.md CHANGED
@@ -6,7 +6,7 @@ Calendars, date and time pickers
6
6
 
7
7
  ## Installation
8
8
 
9
- ```sh
9
+ ```bash
10
10
  # With yarn
11
11
  yarn add @mantine/core @mantine/hooks @mantine/dates dayjs
12
12
 
@@ -84,7 +84,8 @@ const CalendarBase = React.forwardRef((_a, ref) => {
84
84
  isDateLastInRange,
85
85
  renderDay,
86
86
  unstyled,
87
- weekendDays
87
+ weekendDays,
88
+ __stopPropagation
88
89
  } = _b, others = __objRest(_b, [
89
90
  "className",
90
91
  "classNames",
@@ -126,7 +127,8 @@ const CalendarBase = React.forwardRef((_a, ref) => {
126
127
  "isDateLastInRange",
127
128
  "renderDay",
128
129
  "unstyled",
129
- "weekendDays"
130
+ "weekendDays",
131
+ "__stopPropagation"
130
132
  ]);
131
133
  const [selectionState, setSelectionState] = React.useState(initialLevel);
132
134
  const { classes, cx, theme } = CalendarBase_styles['default']({ size, fullWidth, amountOfMonths: selectionState === "date" ? amountOfMonths : 1 }, { name: __staticSelector, styles, classNames, unstyled });
@@ -141,27 +143,45 @@ const CalendarBase = React.forwardRef((_a, ref) => {
141
143
  const [yearSelection, setYearSelection] = React.useState(_month.getFullYear());
142
144
  const minYear = minDate instanceof Date ? minDate.getFullYear() : 0;
143
145
  const maxYear = maxDate instanceof Date ? maxDate.getFullYear() : 1e4;
146
+ const daysPerRow = 6;
147
+ const focusOnNextFocusableDay = (direction, monthIndex, payload, n = 1) => {
148
+ const changeRow = ["down", "up"].includes(direction);
149
+ const rowIndex = changeRow ? payload.rowIndex + (direction === "down" ? n : -n) : payload.rowIndex;
150
+ const cellIndex = changeRow ? payload.cellIndex : payload.cellIndex + (direction === "right" ? n : -n);
151
+ const dayToFocus = daysRefs.current[monthIndex][rowIndex][cellIndex];
152
+ if (!dayToFocus) {
153
+ return;
154
+ }
155
+ if (dayToFocus.disabled) {
156
+ focusOnNextFocusableDay(direction, monthIndex, payload, n + 1);
157
+ } else {
158
+ dayToFocus.focus();
159
+ }
160
+ };
144
161
  const handleDayKeyDown = (monthIndex, payload, event) => {
145
162
  var _a2;
146
163
  switch (event.key) {
147
164
  case "ArrowDown": {
148
165
  event.preventDefault();
149
- if (payload.rowIndex + 1 < daysRefs.current[monthIndex].length) {
150
- daysRefs.current[monthIndex][payload.rowIndex + 1][payload.cellIndex].focus();
166
+ const hasRowBelow = payload.rowIndex + 1 < daysRefs.current[monthIndex].length;
167
+ if (hasRowBelow) {
168
+ focusOnNextFocusableDay("down", monthIndex, payload);
151
169
  }
152
170
  break;
153
171
  }
154
172
  case "ArrowUp": {
155
173
  event.preventDefault();
156
- if (payload.rowIndex > 0) {
157
- daysRefs.current[monthIndex][payload.rowIndex - 1][payload.cellIndex].focus();
174
+ const hasRowAbove = payload.rowIndex > 0;
175
+ if (hasRowAbove) {
176
+ focusOnNextFocusableDay("up", monthIndex, payload);
158
177
  }
159
178
  break;
160
179
  }
161
180
  case "ArrowRight": {
162
181
  event.preventDefault();
163
- if (payload.cellIndex !== 6) {
164
- daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex + 1].focus();
182
+ const isNotLastCell = payload.cellIndex !== daysPerRow;
183
+ if (isNotLastCell) {
184
+ focusOnNextFocusableDay("right", monthIndex, payload);
165
185
  } else if (monthIndex + 1 < amountOfMonths) {
166
186
  if (daysRefs.current[monthIndex + 1][payload.rowIndex]) {
167
187
  (_a2 = daysRefs.current[monthIndex + 1][payload.rowIndex][0]) == null ? void 0 : _a2.focus();
@@ -172,10 +192,10 @@ const CalendarBase = React.forwardRef((_a, ref) => {
172
192
  case "ArrowLeft": {
173
193
  event.preventDefault();
174
194
  if (payload.cellIndex !== 0) {
175
- daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex - 1].focus();
195
+ focusOnNextFocusableDay("left", monthIndex, payload);
176
196
  } else if (monthIndex > 0) {
177
197
  if (daysRefs.current[monthIndex - 1][payload.rowIndex]) {
178
- daysRefs.current[monthIndex - 1][payload.rowIndex][6].focus();
198
+ daysRefs.current[monthIndex - 1][payload.rowIndex][daysPerRow].focus();
179
199
  }
180
200
  }
181
201
  }
@@ -257,7 +277,8 @@ const CalendarBase = React.forwardRef((_a, ref) => {
257
277
  isDateFirstInRange,
258
278
  isDateLastInRange,
259
279
  unstyled,
260
- weekendDays
280
+ weekendDays,
281
+ __stopPropagation
261
282
  }));
262
283
  });
263
284
  CalendarBase.displayName = "@mantine/dates/CalendarBase";
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBase.js","sources":["../../../src/components/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { Box, MantineSize, Selectors, DefaultProps } from '@mantine/core';\nimport { MonthSettings, DayKeydownPayload } from '../Month';\nimport { YearPicker, YearPickerStylesNames } from './YearPicker/YearPicker';\nimport { MonthPicker, MonthPickerStylesNames } from './MonthPicker/MonthPicker';\nimport { MonthsList, MonthsListStylesNames } from './MonthsList/MonthsList';\nimport useStyles from './CalendarBase.styles';\n\nexport type CalendarBaseStylesNames =\n | Selectors<typeof useStyles>\n | YearPickerStylesNames\n | MonthPickerStylesNames\n | MonthsListStylesNames;\n\nexport interface CalendarSharedProps extends DefaultProps<CalendarBaseStylesNames>, MonthSettings {\n /** Month for controlled calendar */\n month?: Date;\n\n /** Initial month for uncontrolled calendar */\n initialMonth?: Date;\n\n /** Called when month changes */\n onMonthChange?(month: Date): void;\n\n /** Locale used for labels formatting, defaults to theme.datesLocale */\n locale?: string;\n\n /** Amount of months */\n amountOfMonths?: number;\n\n /** Selected value */\n value?: Date | Date[] | null;\n\n /** Calendar size */\n size?: MantineSize;\n\n /** Allow to change level (date – month – year) */\n allowLevelChange?: boolean;\n\n /** Initial date selection level */\n initialLevel?: 'date' | 'month' | 'year';\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** Called when day is selected */\n onChange?(value: Date | Date[]): void;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Next month control aria-label */\n nextMonthLabel?: string;\n\n /** Previous month control aria-label */\n previousMonthLabel?: string;\n\n /** Next year control aria-label */\n nextYearLabel?: string;\n\n /** Previous year control aria-label */\n previousYearLabel?: string;\n\n /** Next decade control aria-label */\n nextDecadeLabel?: string;\n\n /** Previous decade control aria-label */\n previousDecadeLabel?: string;\n\n /** dayjs label format */\n labelFormat?: string;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n}\n\nexport interface CalendarBaseProps\n extends CalendarSharedProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {}\n\nexport const CalendarBase = forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n className,\n classNames,\n styles,\n month,\n initialMonth,\n onMonthChange,\n locale,\n amountOfMonths = 1,\n size = 'sm',\n allowLevelChange = true,\n initialLevel = 'date',\n minDate,\n maxDate,\n __staticSelector = 'CalendarBase',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n excludeDate,\n hideWeekdays,\n fullWidth,\n preventFocus,\n firstDayOfWeek = 'monday',\n value,\n onChange,\n onDayMouseEnter,\n range,\n nextDecadeLabel,\n nextMonthLabel,\n nextYearLabel,\n previousDecadeLabel,\n previousMonthLabel,\n previousYearLabel,\n labelFormat = 'MMMM YYYY',\n weekdayLabelFormat,\n hideOutsideDates,\n isDateInRange,\n isDateFirstInRange,\n isDateLastInRange,\n renderDay,\n unstyled,\n weekendDays,\n ...others\n }: CalendarBaseProps,\n ref\n ) => {\n const [selectionState, setSelectionState] = useState(initialLevel);\n const { classes, cx, theme } = useStyles(\n { size, fullWidth, amountOfMonths: selectionState === 'date' ? amountOfMonths : 1 },\n { name: __staticSelector, styles, classNames, unstyled }\n );\n const finalLocale = locale || theme.datesLocale;\n\n const daysRefs = useRef<HTMLButtonElement[][][]>(\n Array(amountOfMonths)\n .fill(0)\n .map(() => [])\n );\n\n const [_month, setMonth] = useUncontrolled({\n value: month,\n defaultValue: initialMonth,\n finalValue: new Date(),\n onChange: onMonthChange,\n });\n\n const [yearSelection, setYearSelection] = useState(_month.getFullYear());\n const minYear = minDate instanceof Date ? minDate.getFullYear() : 0;\n const maxYear = maxDate instanceof Date ? maxDate.getFullYear() : 10000;\n\n const handleDayKeyDown = (\n monthIndex: number,\n payload: DayKeydownPayload,\n event: React.KeyboardEvent<HTMLButtonElement>\n ) => {\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n\n if (payload.rowIndex + 1 < daysRefs.current[monthIndex].length) {\n daysRefs.current[monthIndex][payload.rowIndex + 1][payload.cellIndex].focus();\n }\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n\n if (payload.rowIndex > 0) {\n daysRefs.current[monthIndex][payload.rowIndex - 1][payload.cellIndex].focus();\n }\n break;\n }\n\n case 'ArrowRight': {\n event.preventDefault();\n\n if (payload.cellIndex !== 6) {\n daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex + 1].focus();\n } else if (monthIndex + 1 < amountOfMonths) {\n if (daysRefs.current[monthIndex + 1][payload.rowIndex]) {\n daysRefs.current[monthIndex + 1][payload.rowIndex][0]?.focus();\n }\n }\n\n break;\n }\n\n case 'ArrowLeft': {\n event.preventDefault();\n\n if (payload.cellIndex !== 0) {\n daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex - 1].focus();\n } else if (monthIndex > 0) {\n if (daysRefs.current[monthIndex - 1][payload.rowIndex]) {\n daysRefs.current[monthIndex - 1][payload.rowIndex][6].focus();\n }\n }\n }\n }\n };\n\n return (\n <Box className={cx(classes.calendarBase, className)} ref={ref} {...others}>\n {selectionState === 'year' && (\n <YearPicker\n size={size}\n value={yearSelection}\n minYear={minYear}\n maxYear={maxYear}\n onChange={(year) => {\n setYearSelection(year);\n setSelectionState('month');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextDecadeLabel={nextDecadeLabel}\n previousDecadeLabel={previousDecadeLabel}\n preventFocus={preventFocus}\n unstyled={unstyled}\n />\n )}\n\n {selectionState === 'month' && (\n <MonthPicker\n size={size}\n value={{ month: _month.getMonth(), year: _month.getFullYear() }}\n year={yearSelection}\n onYearChange={setYearSelection}\n onNextLevel={() => setSelectionState('year')}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n onChange={(monthValue) => {\n setMonth(new Date(yearSelection, monthValue, 1));\n setSelectionState('date');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextYearLabel={nextYearLabel}\n previousYearLabel={previousYearLabel}\n preventFocus={preventFocus}\n unstyled={unstyled}\n />\n )}\n\n {selectionState === 'date' && (\n <MonthsList\n amountOfMonths={amountOfMonths}\n month={_month}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n allowLevelChange={allowLevelChange}\n size={size}\n daysRefs={daysRefs}\n onMonthChange={setMonth}\n onNextLevel={() => setSelectionState('month')}\n onDayKeyDown={handleDayKeyDown}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n excludeDate={excludeDate}\n hideWeekdays={hideWeekdays}\n fullWidth={fullWidth}\n preventFocus={preventFocus}\n firstDayOfWeek={firstDayOfWeek}\n value={value}\n range={range}\n onChange={onChange}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n labelFormat={labelFormat}\n weekdayLabelFormat={weekdayLabelFormat}\n onDayMouseEnter={onDayMouseEnter}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n isDateInRange={isDateInRange}\n isDateFirstInRange={isDateFirstInRange}\n isDateLastInRange={isDateLastInRange}\n unstyled={unstyled}\n weekendDays={weekendDays}\n />\n )}\n </Box>\n );\n }\n);\n\nCalendarBase.displayName = '@mantine/dates/CalendarBase';\n"],"names":["forwardRef","useState","useStyles","useRef","useUncontrolled","React","Box","YearPicker","MonthPicker","MonthsList"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarBase.js","sources":["../../../src/components/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { Box, MantineSize, Selectors, DefaultProps } from '@mantine/core';\nimport { MonthSettings, DayKeydownPayload } from '../Month';\nimport { YearPicker, YearPickerStylesNames } from './YearPicker/YearPicker';\nimport { MonthPicker, MonthPickerStylesNames } from './MonthPicker/MonthPicker';\nimport { MonthsList, MonthsListStylesNames } from './MonthsList/MonthsList';\nimport useStyles from './CalendarBase.styles';\n\nexport type CalendarBaseStylesNames =\n | Selectors<typeof useStyles>\n | YearPickerStylesNames\n | MonthPickerStylesNames\n | MonthsListStylesNames;\n\nexport interface CalendarSharedProps extends DefaultProps<CalendarBaseStylesNames>, MonthSettings {\n /** Month for controlled calendar */\n month?: Date;\n\n /** Initial month for uncontrolled calendar */\n initialMonth?: Date;\n\n /** Called when month changes */\n onMonthChange?(month: Date): void;\n\n /** Locale used for labels formatting, defaults to theme.datesLocale */\n locale?: string;\n\n /** Amount of months */\n amountOfMonths?: number;\n\n /** Selected value */\n value?: Date | Date[] | null;\n\n /** Calendar size */\n size?: MantineSize;\n\n /** Allow to change level (date – month – year) */\n allowLevelChange?: boolean;\n\n /** Initial date selection level */\n initialLevel?: 'date' | 'month' | 'year';\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** Called when day is selected */\n onChange?(value: Date | Date[]): void;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Next month control aria-label */\n nextMonthLabel?: string;\n\n /** Previous month control aria-label */\n previousMonthLabel?: string;\n\n /** Next year control aria-label */\n nextYearLabel?: string;\n\n /** Previous year control aria-label */\n previousYearLabel?: string;\n\n /** Next decade control aria-label */\n nextDecadeLabel?: string;\n\n /** Previous decade control aria-label */\n previousDecadeLabel?: string;\n\n /** dayjs label format */\n labelFormat?: string;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n}\n\nexport interface CalendarBaseProps\n extends CalendarSharedProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {}\n\nexport const CalendarBase = forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n className,\n classNames,\n styles,\n month,\n initialMonth,\n onMonthChange,\n locale,\n amountOfMonths = 1,\n size = 'sm',\n allowLevelChange = true,\n initialLevel = 'date',\n minDate,\n maxDate,\n __staticSelector = 'CalendarBase',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n excludeDate,\n hideWeekdays,\n fullWidth,\n preventFocus,\n firstDayOfWeek = 'monday',\n value,\n onChange,\n onDayMouseEnter,\n range,\n nextDecadeLabel,\n nextMonthLabel,\n nextYearLabel,\n previousDecadeLabel,\n previousMonthLabel,\n previousYearLabel,\n labelFormat = 'MMMM YYYY',\n weekdayLabelFormat,\n hideOutsideDates,\n isDateInRange,\n isDateFirstInRange,\n isDateLastInRange,\n renderDay,\n unstyled,\n weekendDays,\n __stopPropagation,\n ...others\n }: CalendarBaseProps,\n ref\n ) => {\n const [selectionState, setSelectionState] = useState(initialLevel);\n const { classes, cx, theme } = useStyles(\n { size, fullWidth, amountOfMonths: selectionState === 'date' ? amountOfMonths : 1 },\n { name: __staticSelector, styles, classNames, unstyled }\n );\n const finalLocale = locale || theme.datesLocale;\n\n const daysRefs = useRef<HTMLButtonElement[][][]>(\n Array(amountOfMonths)\n .fill(0)\n .map(() => [])\n );\n\n const [_month, setMonth] = useUncontrolled({\n value: month,\n defaultValue: initialMonth,\n finalValue: new Date(),\n onChange: onMonthChange,\n });\n\n const [yearSelection, setYearSelection] = useState(_month.getFullYear());\n const minYear = minDate instanceof Date ? minDate.getFullYear() : 0;\n const maxYear = maxDate instanceof Date ? maxDate.getFullYear() : 10000;\n\n const daysPerRow = 6;\n\n const focusOnNextFocusableDay = (\n direction: 'down' | 'up' | 'left' | 'right',\n monthIndex: number,\n payload: DayKeydownPayload,\n n = 1\n ) => {\n const changeRow = ['down', 'up'].includes(direction);\n\n const rowIndex = changeRow\n ? payload.rowIndex + (direction === 'down' ? n : -n)\n : payload.rowIndex;\n\n const cellIndex = changeRow\n ? payload.cellIndex\n : payload.cellIndex + (direction === 'right' ? n : -n);\n\n const dayToFocus = daysRefs.current[monthIndex][rowIndex][cellIndex];\n\n if (!dayToFocus) {\n return;\n }\n\n if (dayToFocus.disabled) {\n // Day is disabled, call this function recursively until\n // we find a non-disabled day or there are no more days\n focusOnNextFocusableDay(direction, monthIndex, payload, n + 1);\n } else {\n dayToFocus.focus();\n }\n };\n\n const handleDayKeyDown = (\n monthIndex: number,\n payload: DayKeydownPayload,\n event: React.KeyboardEvent<HTMLButtonElement>\n ) => {\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n\n const hasRowBelow = payload.rowIndex + 1 < daysRefs.current[monthIndex].length;\n if (hasRowBelow) {\n focusOnNextFocusableDay('down', monthIndex, payload);\n }\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n\n const hasRowAbove = payload.rowIndex > 0;\n if (hasRowAbove) {\n focusOnNextFocusableDay('up', monthIndex, payload);\n }\n break;\n }\n\n case 'ArrowRight': {\n event.preventDefault();\n\n const isNotLastCell = payload.cellIndex !== daysPerRow;\n if (isNotLastCell) {\n focusOnNextFocusableDay('right', monthIndex, payload);\n } else if (monthIndex + 1 < amountOfMonths) {\n if (daysRefs.current[monthIndex + 1][payload.rowIndex]) {\n daysRefs.current[monthIndex + 1][payload.rowIndex][0]?.focus();\n }\n }\n\n break;\n }\n\n case 'ArrowLeft': {\n event.preventDefault();\n\n if (payload.cellIndex !== 0) {\n focusOnNextFocusableDay('left', monthIndex, payload);\n } else if (monthIndex > 0) {\n if (daysRefs.current[monthIndex - 1][payload.rowIndex]) {\n daysRefs.current[monthIndex - 1][payload.rowIndex][daysPerRow].focus();\n }\n }\n }\n }\n };\n\n return (\n <Box className={cx(classes.calendarBase, className)} ref={ref} {...others}>\n {selectionState === 'year' && (\n <YearPicker\n size={size}\n value={yearSelection}\n minYear={minYear}\n maxYear={maxYear}\n onChange={(year) => {\n setYearSelection(year);\n setSelectionState('month');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextDecadeLabel={nextDecadeLabel}\n previousDecadeLabel={previousDecadeLabel}\n preventFocus={preventFocus}\n unstyled={unstyled}\n />\n )}\n\n {selectionState === 'month' && (\n <MonthPicker\n size={size}\n value={{ month: _month.getMonth(), year: _month.getFullYear() }}\n year={yearSelection}\n onYearChange={setYearSelection}\n onNextLevel={() => setSelectionState('year')}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n onChange={(monthValue) => {\n setMonth(new Date(yearSelection, monthValue, 1));\n setSelectionState('date');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextYearLabel={nextYearLabel}\n previousYearLabel={previousYearLabel}\n preventFocus={preventFocus}\n unstyled={unstyled}\n />\n )}\n\n {selectionState === 'date' && (\n <MonthsList\n amountOfMonths={amountOfMonths}\n month={_month}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n allowLevelChange={allowLevelChange}\n size={size}\n daysRefs={daysRefs}\n onMonthChange={setMonth}\n onNextLevel={() => setSelectionState('month')}\n onDayKeyDown={handleDayKeyDown}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n excludeDate={excludeDate}\n hideWeekdays={hideWeekdays}\n fullWidth={fullWidth}\n preventFocus={preventFocus}\n firstDayOfWeek={firstDayOfWeek}\n value={value}\n range={range}\n onChange={onChange}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n labelFormat={labelFormat}\n weekdayLabelFormat={weekdayLabelFormat}\n onDayMouseEnter={onDayMouseEnter}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n isDateInRange={isDateInRange}\n isDateFirstInRange={isDateFirstInRange}\n isDateLastInRange={isDateLastInRange}\n unstyled={unstyled}\n weekendDays={weekendDays}\n __stopPropagation={__stopPropagation}\n />\n )}\n </Box>\n );\n }\n);\n\nCalendarBase.displayName = '@mantine/dates/CalendarBase';\n"],"names":["forwardRef","useState","useStyles","useRef","useUncontrolled","React","Box","YearPicker","MonthPicker","MonthsList"],"mappings":"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"}
@@ -304,6 +304,7 @@ const DatePicker = React.forwardRef((props, ref) => {
304
304
  excludeDate,
305
305
  __staticSelector: "DatePicker",
306
306
  fullWidth: dropdownType === "modal",
307
+ __stopPropagation: dropdownType !== "modal",
307
308
  size: dropdownType === "modal" ? "lg" : calendarSize,
308
309
  firstDayOfWeek,
309
310
  preventFocus: allowFreeInput,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme, useComponentDefaultProps } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps\n extends Omit<DatePickerBaseSharedProps, 'onChange'>,\n Omit<CalendarSharedProps, 'size' | 'classNames' | 'styles' | 'onMonthChange' | 'onChange'> {\n /** Selected date, required with controlled input */\n value?: Date | null;\n\n /** Called when date changes */\n onChange?(value: Date | null): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: Date | null;\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** Set to true to open dropdown on clear */\n openDropdownOnClear?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Parser function for date provided by input typing */\n dateParser?: (value: string) => Date;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n}\n\nconst defaultProps: Partial<DatePickerProps> = {\n shadow: 'sm',\n transitionDuration: 200,\n closeCalendarOnChange: true,\n labelFormat: 'MMMM YYYY',\n initiallyOpened: false,\n name: 'date',\n size: 'sm',\n dropdownType: 'popover',\n dropdownPosition: 'flip',\n clearable: true,\n disabled: false,\n fixOnBlur: true,\n withinPortal: true,\n firstDayOfWeek: 'monday',\n openDropdownOnClear: true,\n};\n\nexport const DatePicker = forwardRef<HTMLInputElement, DatePickerProps>(\n (props: DatePickerProps, ref) => {\n const {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow,\n locale,\n inputFormat,\n transitionDuration,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange,\n labelFormat,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened,\n name,\n size,\n dropdownType,\n dropdownPosition,\n clearable,\n disabled,\n clearButtonLabel,\n fixOnBlur,\n allowFreeInput,\n withinPortal,\n dateParser,\n firstDayOfWeek,\n onFocus,\n onBlur,\n amountOfMonths,\n allowLevelChange,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n hideOutsideDates,\n hideWeekdays,\n renderDay,\n type,\n openDropdownOnClear,\n unstyled,\n weekendDays,\n ...others\n } = useComponentDefaultProps('DatePicker', defaultProps, props);\n\n const theme = useMantineTheme();\n const finalLocale = locale || theme.datesLocale;\n const dateFormat = type === 'date' ? 'YYYY-MM-DD' : inputFormat || theme.dateFormat;\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const calendarSize = size === 'lg' || size === 'xl' ? 'md' : 'sm';\n const inputRef = useRef<HTMLInputElement>();\n const [lastValidValue, setLastValidValue] = useState(defaultValue ?? null);\n const [_value, setValue] = useUncontrolled<Date>({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n const [calendarMonth, setCalendarMonth] = useState(_value || initialMonth || new Date());\n\n const [focused, setFocused] = useState(false);\n const [inputState, setInputState] = useState(\n _value instanceof Date ? upperFirst(dayjs(_value).locale(finalLocale).format(dateFormat)) : ''\n );\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n useEffect(() => {\n if (value === null && !focused) {\n setInputState('');\n }\n\n if (value instanceof Date && !focused) {\n setInputState(dayjs(value).locale(finalLocale).format(dateFormat));\n }\n }, [value, focused]);\n\n const handleValueChange = (date: Date) => {\n setValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n closeCalendarOnChange && closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleClear = () => {\n setValue(null);\n setLastValidValue(null);\n setInputState('');\n openDropdownOnClear && openDropdown();\n inputRef.current?.focus();\n };\n\n const parseDate = (date: string) =>\n dateParser ? dateParser(date) : dayjs(date, dateFormat, finalLocale).toDate();\n\n const setDateFromInput = () => {\n let date = typeof _value === 'string' ? parseDate(_value) : _value;\n\n if (maxDate && dayjs(date).isAfter(maxDate)) {\n date = maxDate;\n }\n\n if (minDate && dayjs(date).isBefore(minDate)) {\n date = minDate;\n }\n\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n setCalendarMonth(date);\n } else if (fixOnBlur) {\n setValue(lastValidValue);\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setFocused(false);\n\n if (allowFreeInput) {\n setDateFromInput();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && allowFreeInput) {\n closeDropdown();\n setDateFromInput();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setFocused(true);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n openDropdown();\n\n const date = parseDate(event.target.value);\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(event.target.value);\n setCalendarMonth(date);\n } else {\n setInputState(event.target.value);\n }\n };\n\n return (\n <DatePickerBase\n allowFreeInput={allowFreeInput}\n dropdownOpened={dropdownOpened}\n setDropdownOpened={setDropdownOpened}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n onChange={handleChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onKeyDown={handleKeyDown}\n name={name}\n inputLabel={inputState}\n __staticSelector=\"DatePicker\"\n dropdownType={dropdownType}\n dropdownPosition={dropdownPosition}\n clearable={type === 'date' ? false : clearable && !!_value && !disabled}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n disabled={disabled}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n type={type}\n unstyled={unstyled}\n {...others}\n >\n <Calendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n month={allowFreeInput ? calendarMonth : undefined}\n initialMonth={initialMonth || (_value instanceof Date ? _value : new Date())}\n onMonthChange={setCalendarMonth}\n value={_value instanceof Date ? _value : dayjs(_value).toDate()}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"DatePicker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n firstDayOfWeek={firstDayOfWeek}\n preventFocus={allowFreeInput}\n amountOfMonths={amountOfMonths}\n allowLevelChange={allowLevelChange}\n initialLevel={initialLevel}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n renderDay={renderDay}\n unstyled={unstyled}\n weekendDays={weekendDays}\n />\n </DatePickerBase>\n );\n }\n);\n\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":["forwardRef","useComponentDefaultProps","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","useEffect","React","DatePickerBase","useMergedRef","Calendar"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme, useComponentDefaultProps } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps\n extends Omit<DatePickerBaseSharedProps, 'onChange'>,\n Omit<CalendarSharedProps, 'size' | 'classNames' | 'styles' | 'onMonthChange' | 'onChange'> {\n /** Selected date, required with controlled input */\n value?: Date | null;\n\n /** Called when date changes */\n onChange?(value: Date | null): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: Date | null;\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** Set to true to open dropdown on clear */\n openDropdownOnClear?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Parser function for date provided by input typing */\n dateParser?: (value: string) => Date;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n}\n\nconst defaultProps: Partial<DatePickerProps> = {\n shadow: 'sm',\n transitionDuration: 200,\n closeCalendarOnChange: true,\n labelFormat: 'MMMM YYYY',\n initiallyOpened: false,\n name: 'date',\n size: 'sm',\n dropdownType: 'popover',\n dropdownPosition: 'flip',\n clearable: true,\n disabled: false,\n fixOnBlur: true,\n withinPortal: true,\n firstDayOfWeek: 'monday',\n openDropdownOnClear: true,\n};\n\nexport const DatePicker = forwardRef<HTMLInputElement, DatePickerProps>(\n (props: DatePickerProps, ref) => {\n const {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow,\n locale,\n inputFormat,\n transitionDuration,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange,\n labelFormat,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened,\n name,\n size,\n dropdownType,\n dropdownPosition,\n clearable,\n disabled,\n clearButtonLabel,\n fixOnBlur,\n allowFreeInput,\n withinPortal,\n dateParser,\n firstDayOfWeek,\n onFocus,\n onBlur,\n amountOfMonths,\n allowLevelChange,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n hideOutsideDates,\n hideWeekdays,\n renderDay,\n type,\n openDropdownOnClear,\n unstyled,\n weekendDays,\n ...others\n } = useComponentDefaultProps('DatePicker', defaultProps, props);\n\n const theme = useMantineTheme();\n const finalLocale = locale || theme.datesLocale;\n const dateFormat = type === 'date' ? 'YYYY-MM-DD' : inputFormat || theme.dateFormat;\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const calendarSize = size === 'lg' || size === 'xl' ? 'md' : 'sm';\n const inputRef = useRef<HTMLInputElement>();\n const [lastValidValue, setLastValidValue] = useState(defaultValue ?? null);\n const [_value, setValue] = useUncontrolled<Date>({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n const [calendarMonth, setCalendarMonth] = useState(_value || initialMonth || new Date());\n\n const [focused, setFocused] = useState(false);\n const [inputState, setInputState] = useState(\n _value instanceof Date ? upperFirst(dayjs(_value).locale(finalLocale).format(dateFormat)) : ''\n );\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n useEffect(() => {\n if (value === null && !focused) {\n setInputState('');\n }\n\n if (value instanceof Date && !focused) {\n setInputState(dayjs(value).locale(finalLocale).format(dateFormat));\n }\n }, [value, focused]);\n\n const handleValueChange = (date: Date) => {\n setValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n closeCalendarOnChange && closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleClear = () => {\n setValue(null);\n setLastValidValue(null);\n setInputState('');\n openDropdownOnClear && openDropdown();\n inputRef.current?.focus();\n };\n\n const parseDate = (date: string) =>\n dateParser ? dateParser(date) : dayjs(date, dateFormat, finalLocale).toDate();\n\n const setDateFromInput = () => {\n let date = typeof _value === 'string' ? parseDate(_value) : _value;\n\n if (maxDate && dayjs(date).isAfter(maxDate)) {\n date = maxDate;\n }\n\n if (minDate && dayjs(date).isBefore(minDate)) {\n date = minDate;\n }\n\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n setCalendarMonth(date);\n } else if (fixOnBlur) {\n setValue(lastValidValue);\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setFocused(false);\n\n if (allowFreeInput) {\n setDateFromInput();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && allowFreeInput) {\n closeDropdown();\n setDateFromInput();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setFocused(true);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n openDropdown();\n\n const date = parseDate(event.target.value);\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(event.target.value);\n setCalendarMonth(date);\n } else {\n setInputState(event.target.value);\n }\n };\n\n return (\n <DatePickerBase\n allowFreeInput={allowFreeInput}\n dropdownOpened={dropdownOpened}\n setDropdownOpened={setDropdownOpened}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n onChange={handleChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onKeyDown={handleKeyDown}\n name={name}\n inputLabel={inputState}\n __staticSelector=\"DatePicker\"\n dropdownType={dropdownType}\n dropdownPosition={dropdownPosition}\n clearable={type === 'date' ? false : clearable && !!_value && !disabled}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n disabled={disabled}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n type={type}\n unstyled={unstyled}\n {...others}\n >\n <Calendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n month={allowFreeInput ? calendarMonth : undefined}\n initialMonth={initialMonth || (_value instanceof Date ? _value : new Date())}\n onMonthChange={setCalendarMonth}\n value={_value instanceof Date ? _value : dayjs(_value).toDate()}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"DatePicker\"\n fullWidth={dropdownType === 'modal'}\n __stopPropagation={dropdownType !== 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n firstDayOfWeek={firstDayOfWeek}\n preventFocus={allowFreeInput}\n amountOfMonths={amountOfMonths}\n allowLevelChange={allowLevelChange}\n initialLevel={initialLevel}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n renderDay={renderDay}\n unstyled={unstyled}\n weekendDays={weekendDays}\n />\n </DatePickerBase>\n );\n }\n);\n\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":["forwardRef","useComponentDefaultProps","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","useEffect","React","DatePickerBase","useMergedRef","Calendar"],"mappings":"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"}
@@ -104,7 +104,8 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
104
104
  clearButtonTabIndex = 0,
105
105
  unstyled,
106
106
  inputContainer,
107
- inputWrapperOrder
107
+ inputWrapperOrder,
108
+ modalProps
108
109
  } = _b, others = __objRest(_b, [
109
110
  "classNames",
110
111
  "className",
@@ -153,7 +154,8 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
153
154
  "clearButtonTabIndex",
154
155
  "unstyled",
155
156
  "inputContainer",
156
- "inputWrapperOrder"
157
+ "inputWrapperOrder",
158
+ "modalProps"
157
159
  ]);
158
160
  const { classes, cx, theme } = DatePickerBase_styles['default'](null, {
159
161
  classNames,
@@ -280,14 +282,14 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
280
282
  "data-mantine-stop-propagation": dropdownOpened,
281
283
  onKeyDownCapture: closeOnEscape,
282
284
  "aria-hidden": allowFreeInput || void 0
283
- }, children)) : /* @__PURE__ */ React__default.createElement(core.Modal, {
285
+ }, children)) : /* @__PURE__ */ React__default.createElement(core.Modal, __spreadProps(__spreadValues({}, modalProps), {
284
286
  opened: dropdownOpened,
285
287
  onClose: closeDropdown,
286
288
  withCloseButton: false,
287
289
  size: amountOfMonths * 400,
288
290
  zIndex: modalZIndex,
289
291
  unstyled
290
- }, children)));
292
+ }), children)));
291
293
  });
292
294
  DatePickerBase.displayName = "@mantine/dates/DatePickerBase";
293
295
 
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport {\n DefaultProps,\n Input,\n InputSharedProps,\n InputWrapperBaseProps,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n Selectors,\n extractSystemStyles,\n Popover,\n} from '@mantine/core';\nimport { useMergedRef, useId } from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | Selectors<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | 'dropdown';\n\nexport interface DatePickerBaseSharedProps\n extends InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\n\n /** Dropdown appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration */\n transitionDuration?: number;\n\n /** Dropdown appear/disappear transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or css value for custom box-shadow */\n shadow?: MantineShadow;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Input size */\n size?: MantineSize;\n\n /** Where to show calendar in modal or popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom-start' | 'top-start' | 'flip';\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Dropdown zIndex */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Modal z-index */\n modalZIndex?: React.CSSProperties['zIndex'];\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport interface DatePickerBaseProps extends DatePickerBaseSharedProps {\n /** Internal prop to set input label */\n inputLabel?: string;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Controls dropdown opened state */\n dropdownOpened: boolean;\n\n /** Called when dropdown opened state changes */\n setDropdownOpened(opened: boolean): void;\n\n /** Called when clear button in clicked */\n onClear(): void;\n\n /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Amount of months */\n amountOfMonths?: number;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nconst defaultTransition: MantineTransition = {\n in: { opacity: 1, transform: 'translateY(0) scale(1)' },\n out: { opacity: 0, transform: 'translateY(-25px) scale(0.93)' },\n common: { transformOrigin: 'top left' },\n transitionProperty: 'opacity, transform',\n};\n\nexport const DatePickerBase = forwardRef<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\n label,\n error,\n id,\n description,\n placeholder,\n shadow,\n transition = defaultTransition,\n transitionDuration = 100,\n transitionTimingFunction,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n dropdownPosition = 'flip',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex,\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n amountOfMonths = 1,\n onDropdownClose,\n onDropdownOpen,\n clickOutsideEvents = ['mousedown', 'touchstart'],\n modalZIndex,\n errorProps,\n labelProps,\n descriptionProps,\n clearButtonTabIndex = 0,\n unstyled,\n inputContainer,\n inputWrapperOrder,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(null, {\n classNames,\n styles,\n unstyled,\n name: __staticSelector,\n });\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n const toggleDropdown = () => {\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const rightSection = clearable ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n tabIndex={clearButtonTabIndex}\n unstyled={unstyled}\n />\n ) : null;\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n openDropdown();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.key === 'Space' || event.key === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n openDropdown();\n }\n };\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n unstyled={unstyled}\n {...systemStyles}\n {...wrapperProps}\n >\n <Popover\n __staticSelector={__staticSelector}\n withinPortal={withinPortal}\n offset={10}\n opened={dropdownOpened}\n transitionDuration={transitionDuration}\n transition={transition}\n positionDependencies={positionDependencies}\n middlewares={{ flip: dropdownPosition === 'flip', shift: false }}\n position={dropdownPosition === 'flip' ? 'bottom-start' : dropdownPosition}\n shadow={shadow}\n onClose={closeDropdown}\n trapFocus={!allowFreeInput}\n withRoles={false}\n clickOutsideEvents={clickOutsideEvents}\n zIndex={zIndex}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <Popover.Target>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(\n classes.input,\n { [classes.freeInput]: allowFreeInput },\n classNames?.input\n ),\n }}\n styles={styles}\n onClick={() => (!allowFreeInput ? toggleDropdown() : openDropdown())}\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"off\"\n unstyled={unstyled}\n {...rest}\n />\n </div>\n </Popover.Target>\n\n {dropdownType === 'popover' ? (\n <Popover.Dropdown>\n <div\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n {children}\n </div>\n </Popover.Dropdown>\n ) : (\n <Modal\n opened={dropdownOpened}\n onClose={closeDropdown}\n withCloseButton={false}\n size={amountOfMonths * 400}\n zIndex={modalZIndex}\n unstyled={unstyled}\n >\n {children}\n </Modal>\n )}\n </Popover>\n </Input.Wrapper>\n );\n }\n);\n\nDatePickerBase.displayName = '@mantine/dates/DatePickerBase';\n"],"names":["forwardRef","useStyles","extractSystemStyles","useId","useRef","React","CloseButton","Input","Popover","useMergedRef","Modal"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport {\n DefaultProps,\n Input,\n InputSharedProps,\n InputWrapperBaseProps,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n Selectors,\n extractSystemStyles,\n Popover,\n ModalProps,\n} from '@mantine/core';\nimport { useMergedRef, useId } from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | Selectors<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | 'dropdown';\n\nexport interface DatePickerBaseSharedProps\n extends InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\n\n /** Dropdown appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration */\n transitionDuration?: number;\n\n /** Dropdown appear/disappear transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or css value for custom box-shadow */\n shadow?: MantineShadow;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Input size */\n size?: MantineSize;\n\n /** Where to show calendar in modal or popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom-start' | 'top-start' | 'flip';\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Dropdown zIndex */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Props spread to Modal component */\n modalProps?: Partial<ModalProps>;\n\n /** Modal z-index */\n modalZIndex?: React.CSSProperties['zIndex'];\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport interface DatePickerBaseProps extends DatePickerBaseSharedProps {\n /** Internal prop to set input label */\n inputLabel?: string;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Controls dropdown opened state */\n dropdownOpened: boolean;\n\n /** Called when dropdown opened state changes */\n setDropdownOpened(opened: boolean): void;\n\n /** Called when clear button in clicked */\n onClear(): void;\n\n /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Amount of months */\n amountOfMonths?: number;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nconst defaultTransition: MantineTransition = {\n in: { opacity: 1, transform: 'translateY(0) scale(1)' },\n out: { opacity: 0, transform: 'translateY(-25px) scale(0.93)' },\n common: { transformOrigin: 'top left' },\n transitionProperty: 'opacity, transform',\n};\n\nexport const DatePickerBase = forwardRef<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\n label,\n error,\n id,\n description,\n placeholder,\n shadow,\n transition = defaultTransition,\n transitionDuration = 100,\n transitionTimingFunction,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n dropdownPosition = 'flip',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex,\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n amountOfMonths = 1,\n onDropdownClose,\n onDropdownOpen,\n clickOutsideEvents = ['mousedown', 'touchstart'],\n modalZIndex,\n errorProps,\n labelProps,\n descriptionProps,\n clearButtonTabIndex = 0,\n unstyled,\n inputContainer,\n inputWrapperOrder,\n modalProps,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(null, {\n classNames,\n styles,\n unstyled,\n name: __staticSelector,\n });\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n const toggleDropdown = () => {\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const rightSection = clearable ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n tabIndex={clearButtonTabIndex}\n unstyled={unstyled}\n />\n ) : null;\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n openDropdown();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.key === 'Space' || event.key === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n openDropdown();\n }\n };\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n unstyled={unstyled}\n {...systemStyles}\n {...wrapperProps}\n >\n <Popover\n __staticSelector={__staticSelector}\n withinPortal={withinPortal}\n offset={10}\n opened={dropdownOpened}\n transitionDuration={transitionDuration}\n transition={transition}\n positionDependencies={positionDependencies}\n middlewares={{ flip: dropdownPosition === 'flip', shift: false }}\n position={dropdownPosition === 'flip' ? 'bottom-start' : dropdownPosition}\n shadow={shadow}\n onClose={closeDropdown}\n trapFocus={!allowFreeInput}\n withRoles={false}\n clickOutsideEvents={clickOutsideEvents}\n zIndex={zIndex}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <Popover.Target>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(\n classes.input,\n { [classes.freeInput]: allowFreeInput },\n classNames?.input\n ),\n }}\n styles={styles}\n onClick={() => (!allowFreeInput ? toggleDropdown() : openDropdown())}\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"off\"\n unstyled={unstyled}\n {...rest}\n />\n </div>\n </Popover.Target>\n\n {dropdownType === 'popover' ? (\n <Popover.Dropdown>\n <div\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n {children}\n </div>\n </Popover.Dropdown>\n ) : (\n <Modal\n {...modalProps}\n opened={dropdownOpened}\n onClose={closeDropdown}\n withCloseButton={false}\n size={amountOfMonths * 400}\n zIndex={modalZIndex}\n unstyled={unstyled}\n >\n {children}\n </Modal>\n )}\n </Popover>\n </Input.Wrapper>\n );\n }\n);\n\nDatePickerBase.displayName = '@mantine/dates/DatePickerBase';\n"],"names":["forwardRef","useStyles","extractSystemStyles","useId","useRef","React","CloseButton","Input","Popover","useMergedRef","Modal"],"mappings":";;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAWF,MAAM,mBAAmB,GAAG;AAC5B,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG;AAC1B,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE;AACzD,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,+BAA+B,EAAE;AACjE,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;AACzC,EAAE,kBAAkB,EAAE,oBAAoB;AAC1C,CAAC,CAAC;AACU,MAAC,cAAc,GAAGA,gBAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AACtD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,EAAE;AACN,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,MAAM;AACV,IAAI,UAAU,GAAG,iBAAiB;AAClC,IAAI,kBAAkB,GAAG,GAAG;AAC5B,IAAI,wBAAwB;AAC5B,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,gBAAgB,GAAG,gBAAgB;AACvC,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,YAAY,GAAG,SAAS;AAC5B,IAAI,gBAAgB,GAAG,MAAM;AAC7B,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,gBAAgB;AACpB,IAAI,OAAO;AACX,IAAI,oBAAoB,GAAG,EAAE;AAC7B,IAAI,MAAM;AACV,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,IAAI,GAAG,MAAM;AACjB,IAAI,EAAE;AACN,IAAI,cAAc,GAAG,CAAC;AACtB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,kBAAkB,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC;AACpD,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,mBAAmB,GAAG,CAAC;AAC3B,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,UAAU;AACd,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,SAAS;AACb,IAAI,sBAAsB;AAC1B,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,gBAAgB;AACpB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,kBAAkB;AACtB,IAAI,qBAAqB;AACzB,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,YAAY;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAGC,gCAAS,CAAC,IAAI,EAAE;AACjD,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI,EAAE,gBAAgB;AAC1B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAGC,wBAAmB,CAAC,MAAM,CAAC,CAAC;AAC7D,EAAE,MAAM,IAAI,GAAGC,WAAK,CAAC,EAAE,CAAC,CAAC;AACzB,EAAE,MAAM,QAAQ,GAAGC,YAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,IAAI,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AACzD,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,IAAI,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,CAAC;AACvD,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;AACvC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,GAAG,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AAChI,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK;AACnC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAChC,MAAM,aAAa,EAAE,CAAC;AACtB,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM;AAC9B,QAAQ,IAAI,GAAG,CAAC;AAChB,QAAQ,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AACvE,OAAO,EAAE,CAAC,CAAC,CAAC;AACZ,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,SAAS,mBAAmBC,cAAK,CAAC,aAAa,CAACC,gBAAW,EAAE;AACpF,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,mBAAmB;AACjC,IAAI,QAAQ;AACZ,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,aAAa,EAAE,CAAC;AACtB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,YAAY,EAAE,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK;AACnC,IAAI,OAAO,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,cAAc,EAAE;AAC7E,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,YAAY,EAAE,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,uBAAuBD,cAAK,CAAC,aAAa,CAACE,UAAK,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC;AAC1F,IAAI,QAAQ;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,gBAAgB;AACpB,IAAI,EAAE;AACN,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,QAAQ;AACZ,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkBF,cAAK,CAAC,aAAa,CAACG,YAAO,EAAE;AAChF,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,kBAAkB;AACtB,IAAI,UAAU;AACd,IAAI,oBAAoB;AACxB,IAAI,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;AACpE,IAAI,QAAQ,EAAE,gBAAgB,KAAK,MAAM,GAAG,cAAc,GAAG,gBAAgB;AAC7E,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,SAAS,EAAE,CAAC,cAAc;AAC9B,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,kBAAkB;AACtB,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,GAAG,kBAAkBH,cAAK,CAAC,aAAa,CAACG,YAAO,CAAC,MAAM,EAAE,IAAI,kBAAkBH,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1G,IAAI,SAAS,EAAE,OAAO,CAAC,OAAO;AAC9B,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACE,UAAK,EAAE,cAAc,CAAC;AAC/D,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;AAC9D,MAAM,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,cAAc,EAAE,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AACvH,KAAK,CAAC;AACN,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,MAAM,CAAC,cAAc,GAAG,cAAc,EAAE,GAAG,YAAY,EAAE;AACtE,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,EAAEE,kBAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,IAAI,gBAAgB;AACpB,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK;AACpB,IAAI,QAAQ,EAAE,CAAC,cAAc;AAC7B,IAAI,YAAY;AAChB,IAAI,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;AAC1E,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,QAAQ;AACZ,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,QAAQ;AACZ,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,KAAK,SAAS,mBAAmBJ,cAAK,CAAC,aAAa,CAACG,YAAO,CAAC,QAAQ,EAAE,IAAI,kBAAkBH,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACnJ,IAAI,+BAA+B,EAAE,cAAc;AACnD,IAAI,gBAAgB,EAAE,aAAa;AACnC,IAAI,aAAa,EAAE,cAAc,IAAI,KAAK,CAAC;AAC3C,GAAG,EAAE,QAAQ,CAAC,CAAC,mBAAmBA,cAAK,CAAC,aAAa,CAACK,UAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;AAC3G,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,eAAe,EAAE,KAAK;AAC1B,IAAI,IAAI,EAAE,cAAc,GAAG,GAAG;AAC9B,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,QAAQ;AACZ,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,EAAE;AACH,cAAc,CAAC,WAAW,GAAG,+BAA+B;;;;"}
@@ -64,7 +64,8 @@ const Day = React.forwardRef((_a, ref) => {
64
64
  hideOutsideDates,
65
65
  renderDay,
66
66
  unstyled,
67
- disabled
67
+ disabled,
68
+ stopPropagation
68
69
  } = _b, others = __objRest(_b, [
69
70
  "className",
70
71
  "value",
@@ -86,7 +87,8 @@ const Day = React.forwardRef((_a, ref) => {
86
87
  "hideOutsideDates",
87
88
  "renderDay",
88
89
  "unstyled",
89
- "disabled"
90
+ "disabled",
91
+ "stopPropagation"
90
92
  ]);
91
93
  const { classes, cx } = Day_styles['default']({ size, fullWidth, hideOutsideDates }, { classNames, styles, unstyled, name: __staticSelector });
92
94
  return /* @__PURE__ */ React__default.createElement("button", __spreadProps(__spreadValues({}, others), {
@@ -96,7 +98,7 @@ const Day = React.forwardRef((_a, ref) => {
96
98
  onMouseEnter: (event) => onMouseEnter(value, event),
97
99
  tabIndex: getDayTabIndex.getDayTabIndex({ focusable, hasValue, selected, firstInMonth }),
98
100
  "data-autofocus": getDayAutofocus.getDayAutofocus({ hasValue, selected, firstInMonth }),
99
- "data-mantine-stop-propagation": true,
101
+ "data-mantine-stop-propagation": stopPropagation || void 0,
100
102
  "data-outside": outside && !disabled || void 0,
101
103
  "data-weekend": weekend && !disabled || void 0,
102
104
  "data-selected": selected && !disabled || void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/core';\nimport { getDayTabIndex } from './get-day-tab-index/get-day-tab-index';\nimport { getDayAutofocus } from './get-day-autofocus/get-day-autofocus';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = Selectors<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onMouseEnter(date: Date, event: React.MouseEvent): void;\n disabled: boolean;\n hasValue: boolean;\n inRange: boolean;\n firstInRange: boolean;\n lastInRange: boolean;\n size: MantineSize;\n fullWidth: boolean;\n __staticSelector?: string;\n firstInMonth: boolean;\n focusable?: boolean;\n hideOutsideDates?: boolean;\n renderDay?(date: Date): React.ReactNode;\n}\n\nexport const Day = forwardRef<HTMLButtonElement, DayProps>(\n (\n {\n className,\n value,\n selected,\n weekend,\n outside,\n onMouseEnter,\n classNames,\n styles,\n hasValue,\n firstInRange,\n lastInRange,\n __staticSelector = 'Month',\n inRange,\n size,\n fullWidth,\n firstInMonth,\n focusable,\n hideOutsideDates,\n renderDay,\n unstyled,\n disabled,\n ...others\n }: DayProps,\n ref\n ) => {\n const { classes, cx } = useStyles(\n { size, fullWidth, hideOutsideDates },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n\n return (\n <button\n {...others}\n type=\"button\"\n ref={ref}\n disabled={disabled}\n onMouseEnter={(event) => onMouseEnter(value, event)}\n tabIndex={getDayTabIndex({ focusable, hasValue, selected, firstInMonth })}\n data-autofocus={getDayAutofocus({ hasValue, selected, firstInMonth })}\n data-mantine-stop-propagation\n data-outside={(outside && !disabled) || undefined}\n data-weekend={(weekend && !disabled) || undefined}\n data-selected={(selected && !disabled) || undefined}\n data-in-range={(inRange && !disabled) || undefined}\n data-first-in-range={(firstInRange && !disabled) || undefined}\n data-last-in-range={(lastInRange && !disabled) || undefined}\n className={cx(classes.day, className)}\n >\n {typeof renderDay === 'function' ? renderDay(value) : value.getDate()}\n </button>\n );\n }\n);\n\nDay.displayName = '@mantine/core/Day';\n"],"names":["forwardRef","useStyles","React","getDayTabIndex","getDayAutofocus"],"mappings":"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"}
1
+ {"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/core';\nimport { getDayTabIndex } from './get-day-tab-index/get-day-tab-index';\nimport { getDayAutofocus } from './get-day-autofocus/get-day-autofocus';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = Selectors<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onMouseEnter(date: Date, event: React.MouseEvent): void;\n disabled: boolean;\n hasValue: boolean;\n inRange: boolean;\n firstInRange: boolean;\n lastInRange: boolean;\n size: MantineSize;\n fullWidth: boolean;\n __staticSelector?: string;\n firstInMonth: boolean;\n focusable?: boolean;\n hideOutsideDates?: boolean;\n renderDay?(date: Date): React.ReactNode;\n stopPropagation?: boolean;\n}\n\nexport const Day = forwardRef<HTMLButtonElement, DayProps>(\n (\n {\n className,\n value,\n selected,\n weekend,\n outside,\n onMouseEnter,\n classNames,\n styles,\n hasValue,\n firstInRange,\n lastInRange,\n __staticSelector = 'Month',\n inRange,\n size,\n fullWidth,\n firstInMonth,\n focusable,\n hideOutsideDates,\n renderDay,\n unstyled,\n disabled,\n stopPropagation,\n ...others\n }: DayProps,\n ref\n ) => {\n const { classes, cx } = useStyles(\n { size, fullWidth, hideOutsideDates },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n\n return (\n <button\n {...others}\n type=\"button\"\n ref={ref}\n disabled={disabled}\n onMouseEnter={(event) => onMouseEnter(value, event)}\n tabIndex={getDayTabIndex({ focusable, hasValue, selected, firstInMonth })}\n data-autofocus={getDayAutofocus({ hasValue, selected, firstInMonth })}\n data-mantine-stop-propagation={stopPropagation || undefined}\n data-outside={(outside && !disabled) || undefined}\n data-weekend={(weekend && !disabled) || undefined}\n data-selected={(selected && !disabled) || undefined}\n data-in-range={(inRange && !disabled) || undefined}\n data-first-in-range={(firstInRange && !disabled) || undefined}\n data-last-in-range={(lastInRange && !disabled) || undefined}\n className={cx(classes.day, className)}\n >\n {typeof renderDay === 'function' ? renderDay(value) : value.getDate()}\n </button>\n );\n }\n);\n\nDay.displayName = '@mantine/core/Day';\n"],"names":["forwardRef","useStyles","React","getDayTabIndex","getDayAutofocus"],"mappings":"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"}
@@ -57,7 +57,8 @@ const defaultProps = {
57
57
  focusable: true,
58
58
  firstDayOfWeek: "monday",
59
59
  hideOutsideDates: false,
60
- weekendDays: [0, 6]
60
+ weekendDays: [0, 6],
61
+ __stopPropagation: true
61
62
  };
62
63
  const Month = React.forwardRef((props, ref) => {
63
64
  const _a = core.useComponentDefaultProps("Month", defaultProps, props), {
@@ -92,7 +93,8 @@ const Month = React.forwardRef((props, ref) => {
92
93
  renderDay,
93
94
  weekdayLabelFormat,
94
95
  unstyled,
95
- weekendDays
96
+ weekendDays,
97
+ __stopPropagation
96
98
  } = _a, others = __objRest(_a, [
97
99
  "className",
98
100
  "month",
@@ -125,7 +127,8 @@ const Month = React.forwardRef((props, ref) => {
125
127
  "renderDay",
126
128
  "weekdayLabelFormat",
127
129
  "unstyled",
128
- "weekendDays"
130
+ "weekendDays",
131
+ "__stopPropagation"
129
132
  ]);
130
133
  const { classes, cx, theme } = Month_styles['default']({ fullWidth }, { classNames, styles, unstyled, name: __staticSelector });
131
134
  const finalLocale = locale || theme.datesLocale;
@@ -139,6 +142,43 @@ const Month = React.forwardRef((props, ref) => {
139
142
  }, weekday.length >= 2 ? hooks.upperFirst(weekday) : weekday)));
140
143
  const hasValue = Array.isArray(value) ? value.every((item) => item instanceof Date) : value instanceof Date;
141
144
  const hasValueInMonthRange = value instanceof Date && dayjs__default(value).isAfter(dayjs__default(month).startOf("month")) && dayjs__default(value).isBefore(dayjs__default(month).endOf("month"));
145
+ const firstDayOfMonth = React.useMemo(() => {
146
+ let actualFirstDayDisabled = false;
147
+ let firstDay;
148
+ for (let i = 0; i < days.length; i += 1) {
149
+ if (firstDay) {
150
+ break;
151
+ }
152
+ const dates = days[i];
153
+ for (let j = 0; j < dates.length; j += 1) {
154
+ const date = dates[j];
155
+ const dayProps = getDayProps.getDayProps({
156
+ date,
157
+ month,
158
+ hasValue,
159
+ minDate,
160
+ maxDate,
161
+ value,
162
+ excludeDate,
163
+ disableOutsideEvents,
164
+ range,
165
+ weekendDays
166
+ });
167
+ if (actualFirstDayDisabled && !dayProps.disabled) {
168
+ firstDay = date;
169
+ break;
170
+ }
171
+ const first = hideOutsideDates ? isSameDate.isSameDate(date, dayjs__default(month).startOf("month").toDate()) : j === 0 && i === 0;
172
+ if (first && !dayProps.disabled) {
173
+ firstDay = date;
174
+ break;
175
+ } else if (first && dayProps.disabled) {
176
+ actualFirstDayDisabled = true;
177
+ }
178
+ }
179
+ }
180
+ return firstDay;
181
+ }, []);
142
182
  const rows = days.map((row, rowIndex) => {
143
183
  const cells = row.map((date, cellIndex) => {
144
184
  const dayProps = getDayProps.getDayProps({
@@ -175,7 +215,7 @@ const Month = React.forwardRef((props, ref) => {
175
215
  inRange: dayProps.inRange || isDateInRange(date, dayProps),
176
216
  firstInRange: dayProps.firstInRange || isDateFirstInRange(date, dayProps),
177
217
  lastInRange: dayProps.lastInRange || isDateLastInRange(date, dayProps),
178
- firstInMonth: hideOutsideDates ? isSameDate.isSameDate(date, dayjs__default(month).startOf("month").toDate()) : cellIndex === 0 && rowIndex === 0,
218
+ firstInMonth: isSameDate.isSameDate(date, firstDayOfMonth),
179
219
  selected: dayProps.selected || dayProps.selectedInRange,
180
220
  hasValue: hasValueInMonthRange,
181
221
  onKeyDown: (event) => typeof onDayKeyDown === "function" && onDayKeyDown(onKeyDownPayload, event),
@@ -190,7 +230,8 @@ const Month = React.forwardRef((props, ref) => {
190
230
  __staticSelector,
191
231
  styles,
192
232
  classNames,
193
- renderDay
233
+ renderDay,
234
+ stopPropagation: __stopPropagation
194
235
  }));
195
236
  });
196
237
  return /* @__PURE__ */ React__default.createElement("tr", {