@mantine/dates 6.0.2 → 6.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Month/Month.js +6 -2
- package/cjs/components/Month/Month.js.map +1 -1
- package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.js +33 -0
- package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.js.map +1 -0
- package/cjs/components/MonthsList/MonthsList.js +4 -1
- package/cjs/components/MonthsList/MonthsList.js.map +1 -1
- package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js +32 -0
- package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js.map +1 -0
- package/cjs/components/PickerInputBase/PickerInputBase.js +1 -1
- package/cjs/components/PickerInputBase/PickerInputBase.js.map +1 -1
- package/cjs/components/YearsList/YearsList.js +4 -1
- package/cjs/components/YearsList/YearsList.js.map +1 -1
- package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js +32 -0
- package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js.map +1 -0
- package/esm/components/Month/Month.js +6 -2
- package/esm/components/Month/Month.js.map +1 -1
- package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.js +25 -0
- package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.js.map +1 -0
- package/esm/components/MonthsList/MonthsList.js +4 -1
- package/esm/components/MonthsList/MonthsList.js.map +1 -1
- package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js +24 -0
- package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.js.map +1 -0
- package/esm/components/PickerInputBase/PickerInputBase.js +1 -1
- package/esm/components/PickerInputBase/PickerInputBase.js.map +1 -1
- package/esm/components/YearsList/YearsList.js +4 -1
- package/esm/components/YearsList/YearsList.js.map +1 -1
- package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js +24 -0
- package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.js.map +1 -0
- package/lib/components/Month/Month.d.ts.map +1 -1
- package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts +3 -0
- package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts.map +1 -0
- package/lib/components/MonthsList/MonthsList.d.ts.map +1 -1
- package/lib/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.d.ts +3 -0
- package/lib/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.d.ts.map +1 -0
- package/lib/components/YearsList/YearsList.d.ts.map +1 -1
- package/lib/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.d.ts +3 -0
- package/lib/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -10,6 +10,7 @@ var isSameMonth = require('./is-same-month/is-same-month.js');
|
|
|
10
10
|
var isBeforeMaxDate = require('./is-before-max-date/is-before-max-date.js');
|
|
11
11
|
var isAfterMinDate = require('./is-after-min-date/is-after-min-date.js');
|
|
12
12
|
var Month_styles = require('./Month.styles.js');
|
|
13
|
+
var getDateInTabOrder = require('./get-date-in-tab-order/get-date-in-tab-order.js');
|
|
13
14
|
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
14
15
|
var Day = require('../Day/Day.js');
|
|
15
16
|
var WeekdaysRow = require('../WeekdaysRow/WeekdaysRow.js');
|
|
@@ -131,11 +132,14 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
131
132
|
variant,
|
|
132
133
|
size
|
|
133
134
|
};
|
|
134
|
-
const
|
|
135
|
+
const dates = getMonthDays.getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));
|
|
136
|
+
const dateInTabOrder = getDateInTabOrder.getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate);
|
|
137
|
+
const rows = dates.map((row, rowIndex) => {
|
|
135
138
|
const cells = row.map((date, cellIndex) => {
|
|
136
139
|
const outside = !isSameMonth.isSameMonth(date, month);
|
|
137
140
|
const ariaLabel = (getDayAriaLabel == null ? void 0 : getDayAriaLabel(date)) || dayjs__default(date).locale(locale || ctx.locale).format("D MMMM YYYY");
|
|
138
141
|
const dayProps = getDayProps == null ? void 0 : getDayProps(date);
|
|
142
|
+
const isDateInTabOrder = dayjs__default(date).isSame(dateInTabOrder, "date");
|
|
139
143
|
return /* @__PURE__ */ React__default.createElement("td", {
|
|
140
144
|
key: date.toString(),
|
|
141
145
|
className: classes.monthCell,
|
|
@@ -172,7 +176,7 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
172
176
|
(_a2 = dayProps == null ? void 0 : dayProps.onMouseDown) == null ? void 0 : _a2.call(dayProps, event);
|
|
173
177
|
__preventFocus && event.preventDefault();
|
|
174
178
|
},
|
|
175
|
-
tabIndex: __preventFocus ? -1 : 0
|
|
179
|
+
tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0
|
|
176
180
|
})));
|
|
177
181
|
});
|
|
178
182
|
return /* @__PURE__ */ React__default.createElement("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, Box, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { useDatesContext } from '../DatesProvider';\nimport { WeekdaysRow, WeekdaysRowStylesNames } from '../WeekdaysRow';\nimport { Day, DayStylesNames, DayProps } from '../Day';\nimport { ControlKeydownPayload, DayOfWeek } from '../../types';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport useStyles from './Month.styles';\n\nexport type MonthStylesNames =\n | Selectors<typeof useStyles>\n | WeekdaysRowStylesNames\n | DayStylesNames;\n\nexport interface MonthSettings {\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?(\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ): void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?(rowIndex: number, cellIndex: number, node: HTMLButtonElement): void;\n\n /** dayjs locale, defaults to value defined in DatesProvider */\n locale?: string;\n\n /** number 0-6, 0 – Sunday, 6 – Saturday, defaults to 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** dayjs format for weekdays names, defaults to \"dd\" */\n weekdayFormat?: string;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday, defaults to value defined in DatesProvider */\n weekendDays?: DayOfWeek[];\n\n /** Adds props to Day component based on date */\n getDayProps?(date: Date): Partial<DayProps>;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Controls day value rendering */\n renderDay?(date: Date): React.ReactNode;\n\n /** Determines whether outside dates should be hidden, defaults to false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden, defaults to false */\n hideWeekdays?: boolean;\n\n /** Assigns aria-label to days based on date */\n getDayAriaLabel?(date: Date): string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Month to display */\n month: Date;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthProps> = {\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n variant,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const ctx = useDatesContext();\n\n const { classes, cx } = useStyles(null, {\n name: ['Month', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Month',\n classNames,\n styles,\n unstyled,\n variant,\n size,\n };\n\n const rows = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek)).map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n\n return (\n <td\n key={date.toString()}\n className={classes.monthCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n {...stylesApiProps}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n renderDay={renderDay}\n date={date}\n weekend={ctx.getWeekendDays(weekendDays).includes(date.getDay() as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, maxDate) ||\n !isAfterMinDate(date, minDate)\n }\n ref={(node) => __getDayRef?.(rowIndex, cellIndex, node)}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead className={classes.monthThead}>\n <WeekdaysRow\n {...stylesApiProps}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n />\n </thead>\n )}\n <tbody className={classes.monthTbody}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":["forwardRef","useComponentDefaultProps","useDatesContext","useStyles","getMonthDays","isSameMonth","dayjs","React","Day","isBeforeMaxDate","isAfterMinDate","Box","WeekdaysRow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, Box, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { useDatesContext } from '../DatesProvider';\nimport { WeekdaysRow, WeekdaysRowStylesNames } from '../WeekdaysRow';\nimport { Day, DayStylesNames, DayProps } from '../Day';\nimport { ControlKeydownPayload, DayOfWeek } from '../../types';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport useStyles from './Month.styles';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order';\n\nexport type MonthStylesNames =\n | Selectors<typeof useStyles>\n | WeekdaysRowStylesNames\n | DayStylesNames;\n\nexport interface MonthSettings {\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?(\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ): void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?(rowIndex: number, cellIndex: number, node: HTMLButtonElement): void;\n\n /** dayjs locale, defaults to value defined in DatesProvider */\n locale?: string;\n\n /** number 0-6, 0 – Sunday, 6 – Saturday, defaults to 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** dayjs format for weekdays names, defaults to \"dd\" */\n weekdayFormat?: string;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday, defaults to value defined in DatesProvider */\n weekendDays?: DayOfWeek[];\n\n /** Adds props to Day component based on date */\n getDayProps?(date: Date): Partial<DayProps>;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Controls day value rendering */\n renderDay?(date: Date): React.ReactNode;\n\n /** Determines whether outside dates should be hidden, defaults to false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden, defaults to false */\n hideWeekdays?: boolean;\n\n /** Assigns aria-label to days based on date */\n getDayAriaLabel?(date: Date): string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Month to display */\n month: Date;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthProps> = {\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n variant,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const ctx = useDatesContext();\n\n const { classes, cx } = useStyles(null, {\n name: ['Month', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Month',\n classNames,\n styles,\n unstyled,\n variant,\n size,\n };\n\n const dates = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));\n\n const dateInTabOrder = getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate);\n\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, 'date');\n\n return (\n <td\n key={date.toString()}\n className={classes.monthCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n {...stylesApiProps}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n renderDay={renderDay}\n date={date}\n weekend={ctx.getWeekendDays(weekendDays).includes(date.getDay() as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, maxDate) ||\n !isAfterMinDate(date, minDate)\n }\n ref={(node) => __getDayRef?.(rowIndex, cellIndex, node)}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isDateInTabOrder ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead className={classes.monthThead}>\n <WeekdaysRow\n {...stylesApiProps}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n />\n </thead>\n )}\n <tbody className={classes.monthTbody}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":["forwardRef","useComponentDefaultProps","useDatesContext","useStyles","getMonthDays","getDateInTabOrder","isSameMonth","dayjs","React","Day","isBeforeMaxDate","isAfterMinDate","Box","WeekdaysRow"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dayjs = require('dayjs');
|
|
6
|
+
var isAfterMinDate = require('../is-after-min-date/is-after-min-date.js');
|
|
7
|
+
var isBeforeMaxDate = require('../is-before-max-date/is-before-max-date.js');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
10
|
+
|
|
11
|
+
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
12
|
+
|
|
13
|
+
function getDateInTabOrder(dates, minDate, maxDate, getDateControlProps, excludeDate) {
|
|
14
|
+
const enabledDates = dates.flat().filter((date) => {
|
|
15
|
+
var _a;
|
|
16
|
+
return isBeforeMaxDate.isBeforeMaxDate(date, maxDate) && isAfterMinDate.isAfterMinDate(date, minDate) && !(excludeDate == null ? void 0 : excludeDate(date)) && !((_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.disabled);
|
|
17
|
+
});
|
|
18
|
+
const selectedDate = enabledDates.find((date) => {
|
|
19
|
+
var _a;
|
|
20
|
+
return (_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.selected;
|
|
21
|
+
});
|
|
22
|
+
if (selectedDate) {
|
|
23
|
+
return selectedDate;
|
|
24
|
+
}
|
|
25
|
+
const currentDate = enabledDates.find((date) => dayjs__default().isSame(date, "date"));
|
|
26
|
+
if (currentDate) {
|
|
27
|
+
return currentDate;
|
|
28
|
+
}
|
|
29
|
+
return enabledDates[0];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.getDateInTabOrder = getDateInTabOrder;
|
|
33
|
+
//# sourceMappingURL=get-date-in-tab-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-date-in-tab-order.js","sources":["../../../../src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DayProps } from '../../Day';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date';\n\nexport function getDateInTabOrder(\n dates: Date[][],\n minDate: Date,\n maxDate: Date,\n getDateControlProps: (date: Date) => Partial<DayProps>,\n excludeDate: (date: Date) => boolean\n) {\n const enabledDates = dates\n .flat()\n .filter(\n (date) =>\n isBeforeMaxDate(date, maxDate) &&\n isAfterMinDate(date, minDate) &&\n !excludeDate?.(date) &&\n !getDateControlProps?.(date)?.disabled\n );\n\n const selectedDate = enabledDates.find((date) => getDateControlProps?.(date)?.selected);\n\n if (selectedDate) {\n return selectedDate;\n }\n\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, 'date'));\n\n if (currentDate) {\n return currentDate;\n }\n\n return enabledDates[0];\n}\n"],"names":["isBeforeMaxDate","isAfterMinDate","dayjs"],"mappings":";;;;;;;;;;;;AAGO,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE;AAC7F,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AACrD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAOA,+BAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAIC,6BAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC/O,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACnD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAClH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAKC,cAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB;;;;"}
|
|
@@ -8,6 +8,7 @@ var core = require('@mantine/core');
|
|
|
8
8
|
var getMonthsData = require('./get-months-data/get-months-data.js');
|
|
9
9
|
var isMonthDisabled = require('./is-month-disabled/is-month-disabled.js');
|
|
10
10
|
var MonthsList_styles = require('./MonthsList.styles.js');
|
|
11
|
+
var getMonthInTabOrder = require('./get-month-in-tab-order/get-month-in-tab-order.js');
|
|
11
12
|
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
12
13
|
var PickerControl = require('../PickerControl/PickerControl.js');
|
|
13
14
|
|
|
@@ -106,9 +107,11 @@ const MonthsList = React.forwardRef((props, ref) => {
|
|
|
106
107
|
});
|
|
107
108
|
const ctx = useDatesContext.useDatesContext();
|
|
108
109
|
const months = getMonthsData.getMonthsData(year);
|
|
110
|
+
const monthInTabOrder = getMonthInTabOrder.getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps);
|
|
109
111
|
const rows = months.map((monthsRow, rowIndex) => {
|
|
110
112
|
const cells = monthsRow.map((month, cellIndex) => {
|
|
111
113
|
const controlProps = getMonthControlProps == null ? void 0 : getMonthControlProps(month);
|
|
114
|
+
const isMonthInTabOrder = dayjs__default(month).isSame(monthInTabOrder, "month");
|
|
112
115
|
return /* @__PURE__ */ React__default.createElement("td", {
|
|
113
116
|
key: cellIndex,
|
|
114
117
|
className: classes.monthsListCell,
|
|
@@ -144,7 +147,7 @@ const MonthsList = React.forwardRef((props, ref) => {
|
|
|
144
147
|
(_a2 = controlProps == null ? void 0 : controlProps.onMouseDown) == null ? void 0 : _a2.call(controlProps, event);
|
|
145
148
|
__preventFocus && event.preventDefault();
|
|
146
149
|
},
|
|
147
|
-
tabIndex: __preventFocus ? -1 : 0
|
|
150
|
+
tabIndex: __preventFocus || !isMonthInTabOrder ? -1 : 0
|
|
148
151
|
}), dayjs__default(month).locale(ctx.getLocale(locale)).format(monthsListFormat)));
|
|
149
152
|
});
|
|
150
153
|
return /* @__PURE__ */ React__default.createElement("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthsList.js","sources":["../../../src/components/MonthsList/MonthsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getMonthsData } from './get-months-data/get-months-data';\nimport { isMonthDisabled } from './is-month-disabled/is-month-disabled';\nimport useStyles from './MonthsList.styles';\n\nexport type MonthsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface MonthsListSettings extends ControlsGroupSettings {\n /** dayjs format for months list */\n monthsListFormat?: string;\n\n /** Adds props to month picker control based on date */\n getMonthControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthsListProps\n extends DefaultProps<MonthsListStylesNames>,\n MonthsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Year for which months list should be displayed */\n year: Date;\n\n /** Component size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<MonthsListProps> = {\n monthsListFormat: 'MMM',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const MonthsList = forwardRef<HTMLTableElement, MonthsListProps>((props, ref) => {\n const {\n year,\n className,\n monthsListFormat,\n locale,\n minDate,\n maxDate,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n size,\n variant,\n __stopPropagation,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('MonthsList', defaultProps, props);\n const { classes, cx } = useStyles(null, {\n name: ['MonthsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const months = getMonthsData(year);\n\n const rows = months.map((monthsRow, rowIndex) => {\n const cells = monthsRow.map((month, cellIndex) => {\n const controlProps = getMonthControlProps?.(month);\n return (\n <td\n key={cellIndex}\n className={classes.monthsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n variant={variant}\n size={size}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'MonthsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isMonthDisabled(month, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: month });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, month);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, month);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus ? -1 : 0}\n >\n {dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.monthsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonthsList.displayName = '@mantine/dates/MonthsList';\n"],"names":["forwardRef","useComponentDefaultProps","useStyles","useDatesContext","getMonthsData","React","PickerControl","isMonthDisabled","dayjs","Box"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MonthsList.js","sources":["../../../src/components/MonthsList/MonthsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getMonthsData } from './get-months-data/get-months-data';\nimport { isMonthDisabled } from './is-month-disabled/is-month-disabled';\nimport useStyles from './MonthsList.styles';\nimport { getMonthInTabOrder } from './get-month-in-tab-order/get-month-in-tab-order';\n\nexport type MonthsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface MonthsListSettings extends ControlsGroupSettings {\n /** dayjs format for months list */\n monthsListFormat?: string;\n\n /** Adds props to month picker control based on date */\n getMonthControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthsListProps\n extends DefaultProps<MonthsListStylesNames>,\n MonthsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Year for which months list should be displayed */\n year: Date;\n\n /** Component size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<MonthsListProps> = {\n monthsListFormat: 'MMM',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const MonthsList = forwardRef<HTMLTableElement, MonthsListProps>((props, ref) => {\n const {\n year,\n className,\n monthsListFormat,\n locale,\n minDate,\n maxDate,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n size,\n variant,\n __stopPropagation,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('MonthsList', defaultProps, props);\n const { classes, cx } = useStyles(null, {\n name: ['MonthsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const months = getMonthsData(year);\n\n const monthInTabOrder = getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps);\n\n const rows = months.map((monthsRow, rowIndex) => {\n const cells = monthsRow.map((month, cellIndex) => {\n const controlProps = getMonthControlProps?.(month);\n const isMonthInTabOrder = dayjs(month).isSame(monthInTabOrder, 'month');\n return (\n <td\n key={cellIndex}\n className={classes.monthsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n variant={variant}\n size={size}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'MonthsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isMonthDisabled(month, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: month });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, month);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, month);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isMonthInTabOrder ? -1 : 0}\n >\n {dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.monthsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonthsList.displayName = '@mantine/dates/MonthsList';\n"],"names":["forwardRef","useComponentDefaultProps","useStyles","useDatesContext","getMonthsData","getMonthInTabOrder","dayjs","React","PickerControl","isMonthDisabled","Box"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dayjs = require('dayjs');
|
|
6
|
+
var isMonthDisabled = require('../is-month-disabled/is-month-disabled.js');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
9
|
+
|
|
10
|
+
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
11
|
+
|
|
12
|
+
function getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps) {
|
|
13
|
+
const enabledMonths = months.flat().filter((month) => {
|
|
14
|
+
var _a;
|
|
15
|
+
return !isMonthDisabled.isMonthDisabled(month, minDate, maxDate) && !((_a = getMonthControlProps == null ? void 0 : getMonthControlProps(month)) == null ? void 0 : _a.disabled);
|
|
16
|
+
});
|
|
17
|
+
const selectedMonth = enabledMonths.find((month) => {
|
|
18
|
+
var _a;
|
|
19
|
+
return (_a = getMonthControlProps == null ? void 0 : getMonthControlProps(month)) == null ? void 0 : _a.selected;
|
|
20
|
+
});
|
|
21
|
+
if (selectedMonth) {
|
|
22
|
+
return selectedMonth;
|
|
23
|
+
}
|
|
24
|
+
const currentMonth = enabledMonths.find((month) => dayjs__default().isSame(month, "month"));
|
|
25
|
+
if (currentMonth) {
|
|
26
|
+
return currentMonth;
|
|
27
|
+
}
|
|
28
|
+
return enabledMonths[0];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.getMonthInTabOrder = getMonthInTabOrder;
|
|
32
|
+
//# sourceMappingURL=get-month-in-tab-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-month-in-tab-order.js","sources":["../../../../src/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { PickerControlProps } from '../../PickerControl';\nimport { isMonthDisabled } from '../is-month-disabled/is-month-disabled';\n\nexport function getMonthInTabOrder(\n months: Date[][],\n minDate: Date,\n maxDate: Date,\n getMonthControlProps: (month: Date) => Partial<PickerControlProps>\n) {\n const enabledMonths = months\n .flat()\n .filter(\n (month) =>\n !isMonthDisabled(month, minDate, maxDate) && !getMonthControlProps?.(month)?.disabled\n );\n\n const selectedMonth = enabledMonths.find((month) => getMonthControlProps?.(month)?.selected);\n\n if (selectedMonth) {\n return selectedMonth;\n }\n\n const currentMonth = enabledMonths.find((month) => dayjs().isSame(month, 'month'));\n\n if (currentMonth) {\n return currentMonth;\n }\n\n return enabledMonths[0];\n}\n"],"names":["isMonthDisabled","dayjs"],"mappings":";;;;;;;;;;;AAEO,SAAS,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE;AACnF,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK;AACxD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAACA,+BAAe,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AACrK,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK;AACtD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AACrH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,KAAKC,cAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACrF,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B;;;;"}
|
|
@@ -44,7 +44,7 @@ var __objRest = (source, exclude) => {
|
|
|
44
44
|
};
|
|
45
45
|
const defaultProps = {};
|
|
46
46
|
const PickerInputBase = React.forwardRef((props, ref) => {
|
|
47
|
-
const _a = core.useInputProps(
|
|
47
|
+
const _a = core.useInputProps("PickerInputBase", defaultProps, props), {
|
|
48
48
|
inputProps,
|
|
49
49
|
wrapperProps,
|
|
50
50
|
placeholder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerInputBase.js","sources":["../../../src/components/PickerInputBase/PickerInputBase.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Input,\n useInputProps,\n InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps,\n Selectors,\n Popover,\n Modal,\n InputStylesNames,\n InputWrapperStylesNames,\n PopoverProps,\n ModalProps,\n CloseButton,\n} from '@mantine/core';\nimport { useDisclosure } from '@mantine/hooks';\nimport { HiddenDatesInput, HiddenDatesInputValue } from '../HiddenDatesInput';\nimport { CalendarStylesNames } from '../Calendar';\nimport useStyles from './PickerInputBase.styles';\nimport { DatePickerType } from '../../types';\n\nexport type PickerInputBaseStylesNames =\n | CalendarStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | Selectors<typeof useStyles>;\n\nexport interface DateInputSharedProps\n extends DefaultProps<PickerInputBaseStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithRef<'button'>, 'defaultValue' | 'value' | 'onChange' | 'type'> {\n /** Determines whether dropdown should be closed when date is selected, not applicable when type=\"multiple\", true by default */\n closeOnChange?: boolean;\n\n /** Type of dropdown, defaults to popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Props added to Modal component */\n modalProps?: Partial<Omit<ModalProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Determines whether the user can modify the value */\n readOnly?: boolean;\n\n /** Determines whether dates value should be sorted before onChange call, only applicable when type=\"multiple\", true by default */\n sortDates?: boolean;\n\n /** Separator between range value */\n labelSeparator?: string;\n}\n\nexport interface PickerInputBaseProps extends DateInputSharedProps {\n __staticSelector: string;\n children: React.ReactNode;\n formattedValue: string;\n dropdownHandlers: ReturnType<typeof useDisclosure>[1];\n dropdownOpened: boolean;\n onClear(): void;\n shouldClear: boolean;\n value: HiddenDatesInputValue;\n type: DatePickerType;\n}\n\nconst defaultProps: Partial<PickerInputBaseProps> = {};\n\nexport const PickerInputBase = forwardRef<HTMLButtonElement, PickerInputBaseProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n placeholder,\n classNames,\n styles,\n unstyled,\n popoverProps,\n modalProps,\n dropdownType,\n children,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClick,\n clearable,\n onClear,\n clearButtonProps,\n rightSection,\n shouldClear,\n readOnly,\n disabled,\n value,\n name,\n form,\n type,\n ...others\n } = useInputProps(props.__staticSelector, defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: inputProps.__staticSelector,\n classNames,\n styles,\n unstyled,\n variant: inputProps.variant,\n size: inputProps.size,\n });\n\n const _rightSection =\n rightSection ||\n (clearable && shouldClear && !readOnly && !disabled ? (\n <CloseButton\n variant=\"transparent\"\n onClick={onClear}\n unstyled={unstyled}\n size={inputProps.size}\n {...clearButtonProps}\n />\n ) : null);\n\n const handleClose = () => {\n const isInvalidRangeValue = type === 'range' && value[0] && !value[1];\n if (isInvalidRangeValue) {\n onClear();\n }\n\n dropdownHandlers.close();\n };\n\n return (\n <>\n {dropdownType === 'modal' && !readOnly && (\n <Modal\n opened={dropdownOpened}\n onClose={handleClose}\n withCloseButton={false}\n size=\"auto\"\n data-dates-modal\n unstyled={unstyled}\n {...modalProps}\n >\n {children}\n </Modal>\n )}\n\n <Input.Wrapper {...wrapperProps}>\n <Popover\n position=\"bottom-start\"\n opened={dropdownOpened}\n onClose={handleClose}\n disabled={dropdownType === 'modal' || readOnly}\n trapFocus\n returnFocus\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n disabled={disabled}\n component=\"button\"\n type=\"button\"\n multiline\n onClick={(event) => {\n onClick?.(event);\n dropdownHandlers.toggle();\n }}\n rightSection={_rightSection}\n {...inputProps}\n ref={ref}\n classNames={{ ...classNames, input: cx(classes.input, (classNames as any)?.input) }}\n {...others}\n >\n {formattedValue || (\n <Input.Placeholder className={classes.placeholder}>{placeholder}</Input.Placeholder>\n )}\n </Input>\n </Popover.Target>\n\n <Popover.Dropdown data-dates-dropdown>{children}</Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput value={value} name={name} form={form} type={type} />\n </>\n );\n});\n\nPickerInputBase.displayName = '@mantine/dates/PickerInputBase';\n"],"names":["forwardRef","useInputProps","useStyles","React","CloseButton","Modal","Input","Popover","HiddenDatesInput"],"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,YAAY,GAAG,EAAE,CAAC;AACZ,MAAC,eAAe,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1D,EAAE,MAAM,EAAE,GAAGC,kBAAa,CAAC,KAAK,CAAC,gBAAgB,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACzE,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,IAAI;AACR,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAGC,iCAAS,CAAC,IAAI,EAAE;AAC1C,IAAI,IAAI,EAAE,UAAU,CAAC,gBAAgB;AACrC,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO;AAC/B,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,YAAY,KAAK,SAAS,IAAI,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,mBAAmBC,cAAK,CAAC,aAAa,CAACC,gBAAW,EAAE,cAAc,CAAC;AAC9J,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,QAAQ;AACZ,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,GAAG,EAAE,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAChC,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,MAAM,mBAAmB,GAAG,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1E,IAAI,IAAI,mBAAmB,EAAE;AAC7B,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,uBAAuBD,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,OAAO,IAAI,CAAC,QAAQ,oBAAoBA,cAAK,CAAC,aAAa,CAACE,UAAK,EAAE,cAAc,CAAC;AACtK,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,eAAe,EAAE,KAAK;AAC1B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,QAAQ;AACZ,GAAG,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,kBAAkBF,cAAK,CAAC,aAAa,CAACG,UAAK,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,kBAAkBH,cAAK,CAAC,aAAa,CAACI,YAAO,EAAE,cAAc,CAAC;AAC9K,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,QAAQ,EAAE,YAAY,KAAK,OAAO,IAAI,QAAQ;AAClD,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,QAAQ;AACZ,GAAG,EAAE,YAAY,CAAC,kBAAkBJ,cAAK,CAAC,aAAa,CAACI,YAAO,CAAC,MAAM,EAAE,IAAI,kBAAkBJ,cAAK,CAAC,aAAa,CAACG,UAAK,EAAE,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC;AACrK,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,gBAAgB,EAAE,QAAQ,IAAI,KAAK,CAAC;AACxC,IAAI,QAAQ;AACZ,IAAI,SAAS,EAAE,QAAQ;AACvB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK;AACxB,MAAM,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAChD,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAChC,KAAK;AACL,IAAI,YAAY,EAAE,aAAa;AAC/B,GAAG,EAAE,UAAU,CAAC,EAAE;AAClB,IAAI,GAAG;AACP,IAAI,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3I,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,oBAAoBH,cAAK,CAAC,aAAa,CAACG,UAAK,CAAC,WAAW,EAAE;AACxF,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,kBAAkBH,cAAK,CAAC,aAAa,CAACI,YAAO,CAAC,QAAQ,EAAE;AAC3E,IAAI,qBAAqB,EAAE,IAAI;AAC/B,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkBJ,cAAK,CAAC,aAAa,CAACK,iCAAgB,EAAE;AACxE,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,IAAI;AACR,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,eAAe,CAAC,WAAW,GAAG,gCAAgC;;;;"}
|
|
1
|
+
{"version":3,"file":"PickerInputBase.js","sources":["../../../src/components/PickerInputBase/PickerInputBase.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Input,\n useInputProps,\n InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps,\n Selectors,\n Popover,\n Modal,\n InputStylesNames,\n InputWrapperStylesNames,\n PopoverProps,\n ModalProps,\n CloseButton,\n} from '@mantine/core';\nimport { useDisclosure } from '@mantine/hooks';\nimport { HiddenDatesInput, HiddenDatesInputValue } from '../HiddenDatesInput';\nimport { CalendarStylesNames } from '../Calendar';\nimport useStyles from './PickerInputBase.styles';\nimport { DatePickerType } from '../../types';\n\nexport type PickerInputBaseStylesNames =\n | CalendarStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | Selectors<typeof useStyles>;\n\nexport interface DateInputSharedProps\n extends DefaultProps<PickerInputBaseStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithRef<'button'>, 'defaultValue' | 'value' | 'onChange' | 'type'> {\n /** Determines whether dropdown should be closed when date is selected, not applicable when type=\"multiple\", true by default */\n closeOnChange?: boolean;\n\n /** Type of dropdown, defaults to popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Props added to Modal component */\n modalProps?: Partial<Omit<ModalProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Determines whether the user can modify the value */\n readOnly?: boolean;\n\n /** Determines whether dates value should be sorted before onChange call, only applicable when type=\"multiple\", true by default */\n sortDates?: boolean;\n\n /** Separator between range value */\n labelSeparator?: string;\n}\n\nexport interface PickerInputBaseProps extends DateInputSharedProps {\n __staticSelector: string;\n children: React.ReactNode;\n formattedValue: string;\n dropdownHandlers: ReturnType<typeof useDisclosure>[1];\n dropdownOpened: boolean;\n onClear(): void;\n shouldClear: boolean;\n value: HiddenDatesInputValue;\n type: DatePickerType;\n}\n\nconst defaultProps: Partial<PickerInputBaseProps> = {};\n\nexport const PickerInputBase = forwardRef<HTMLButtonElement, PickerInputBaseProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n placeholder,\n classNames,\n styles,\n unstyled,\n popoverProps,\n modalProps,\n dropdownType,\n children,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClick,\n clearable,\n onClear,\n clearButtonProps,\n rightSection,\n shouldClear,\n readOnly,\n disabled,\n value,\n name,\n form,\n type,\n ...others\n } = useInputProps('PickerInputBase', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: inputProps.__staticSelector,\n classNames,\n styles,\n unstyled,\n variant: inputProps.variant,\n size: inputProps.size,\n });\n\n const _rightSection =\n rightSection ||\n (clearable && shouldClear && !readOnly && !disabled ? (\n <CloseButton\n variant=\"transparent\"\n onClick={onClear}\n unstyled={unstyled}\n size={inputProps.size}\n {...clearButtonProps}\n />\n ) : null);\n\n const handleClose = () => {\n const isInvalidRangeValue = type === 'range' && value[0] && !value[1];\n if (isInvalidRangeValue) {\n onClear();\n }\n\n dropdownHandlers.close();\n };\n\n return (\n <>\n {dropdownType === 'modal' && !readOnly && (\n <Modal\n opened={dropdownOpened}\n onClose={handleClose}\n withCloseButton={false}\n size=\"auto\"\n data-dates-modal\n unstyled={unstyled}\n {...modalProps}\n >\n {children}\n </Modal>\n )}\n\n <Input.Wrapper {...wrapperProps}>\n <Popover\n position=\"bottom-start\"\n opened={dropdownOpened}\n onClose={handleClose}\n disabled={dropdownType === 'modal' || readOnly}\n trapFocus\n returnFocus\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n disabled={disabled}\n component=\"button\"\n type=\"button\"\n multiline\n onClick={(event) => {\n onClick?.(event);\n dropdownHandlers.toggle();\n }}\n rightSection={_rightSection}\n {...inputProps}\n ref={ref}\n classNames={{ ...classNames, input: cx(classes.input, (classNames as any)?.input) }}\n {...others}\n >\n {formattedValue || (\n <Input.Placeholder className={classes.placeholder}>{placeholder}</Input.Placeholder>\n )}\n </Input>\n </Popover.Target>\n\n <Popover.Dropdown data-dates-dropdown>{children}</Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput value={value} name={name} form={form} type={type} />\n </>\n );\n});\n\nPickerInputBase.displayName = '@mantine/dates/PickerInputBase';\n"],"names":["forwardRef","useInputProps","useStyles","React","CloseButton","Modal","Input","Popover","HiddenDatesInput"],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ var core = require('@mantine/core');
|
|
|
8
8
|
var getYearsData = require('./get-years-data/get-years-data.js');
|
|
9
9
|
var isYearDisabled = require('./is-year-disabled/is-year-disabled.js');
|
|
10
10
|
var YearsList_styles = require('./YearsList.styles.js');
|
|
11
|
+
var getYearInTabOrder = require('./get-year-in-tab-order/get-year-in-tab-order.js');
|
|
11
12
|
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
12
13
|
var PickerControl = require('../PickerControl/PickerControl.js');
|
|
13
14
|
|
|
@@ -106,9 +107,11 @@ const YearsList = React.forwardRef((props, ref) => {
|
|
|
106
107
|
});
|
|
107
108
|
const ctx = useDatesContext.useDatesContext();
|
|
108
109
|
const years = getYearsData.getYearsData(decade);
|
|
110
|
+
const yearInTabOrder = getYearInTabOrder.getYearInTabOrder(years, minDate, maxDate, getYearControlProps);
|
|
109
111
|
const rows = years.map((yearsRow, rowIndex) => {
|
|
110
112
|
const cells = yearsRow.map((year, cellIndex) => {
|
|
111
113
|
const controlProps = getYearControlProps == null ? void 0 : getYearControlProps(year);
|
|
114
|
+
const isYearInTabOrder = dayjs__default(year).isSame(yearInTabOrder, "year");
|
|
112
115
|
return /* @__PURE__ */ React__default.createElement("td", {
|
|
113
116
|
key: cellIndex,
|
|
114
117
|
className: classes.yearsListCell,
|
|
@@ -144,7 +147,7 @@ const YearsList = React.forwardRef((props, ref) => {
|
|
|
144
147
|
(_a2 = controlProps == null ? void 0 : controlProps.onMouseDown) == null ? void 0 : _a2.call(controlProps, event);
|
|
145
148
|
__preventFocus && event.preventDefault();
|
|
146
149
|
},
|
|
147
|
-
tabIndex: __preventFocus ? -1 : 0
|
|
150
|
+
tabIndex: __preventFocus || !isYearInTabOrder ? -1 : 0
|
|
148
151
|
}), dayjs__default(year).locale(ctx.getLocale(locale)).format(yearsListFormat)));
|
|
149
152
|
});
|
|
150
153
|
return /* @__PURE__ */ React__default.createElement("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearsList.js","sources":["../../../src/components/YearsList/YearsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getYearsData } from './get-years-data/get-years-data';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled';\nimport useStyles from './YearsList.styles';\n\nexport type YearsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface YearsListSettings extends ControlsGroupSettings {\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** dayjs format for years list */\n yearsListFormat?: string;\n\n /** Adds props to year picker control based on date */\n getYearControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Component size */\n size?: MantineSize;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface YearsListProps\n extends DefaultProps<YearsListStylesNames>,\n YearsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Decade for which years list should be displayed */\n decade: Date;\n}\n\nconst defaultProps: Partial<YearsListProps> = {\n yearsListFormat: 'YYYY',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const YearsList = forwardRef<HTMLTableElement, YearsListProps>((props, ref) => {\n const {\n decade,\n className,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n size,\n variant,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('YearsList', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['YearsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const years = getYearsData(decade);\n\n const rows = years.map((yearsRow, rowIndex) => {\n const cells = yearsRow.map((year, cellIndex) => {\n const controlProps = getYearControlProps?.(year);\n return (\n <td\n key={cellIndex}\n className={classes.yearsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n size={size}\n variant={variant}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'YearsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isYearDisabled(year, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, year);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, year);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus ? -1 : 0}\n >\n {dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.yearsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.yearsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nYearsList.displayName = '@mantine/dates/YearsList';\n"],"names":["forwardRef","useComponentDefaultProps","useStyles","useDatesContext","getYearsData","React","PickerControl","isYearDisabled","dayjs","Box"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YearsList.js","sources":["../../../src/components/YearsList/YearsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getYearsData } from './get-years-data/get-years-data';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled';\nimport useStyles from './YearsList.styles';\nimport { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order';\n\nexport type YearsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface YearsListSettings extends ControlsGroupSettings {\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** dayjs format for years list */\n yearsListFormat?: string;\n\n /** Adds props to year picker control based on date */\n getYearControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Component size */\n size?: MantineSize;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface YearsListProps\n extends DefaultProps<YearsListStylesNames>,\n YearsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Decade for which years list should be displayed */\n decade: Date;\n}\n\nconst defaultProps: Partial<YearsListProps> = {\n yearsListFormat: 'YYYY',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const YearsList = forwardRef<HTMLTableElement, YearsListProps>((props, ref) => {\n const {\n decade,\n className,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n size,\n variant,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('YearsList', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['YearsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const years = getYearsData(decade);\n\n const yearInTabOrder = getYearInTabOrder(years, minDate, maxDate, getYearControlProps);\n\n const rows = years.map((yearsRow, rowIndex) => {\n const cells = yearsRow.map((year, cellIndex) => {\n const controlProps = getYearControlProps?.(year);\n const isYearInTabOrder = dayjs(year).isSame(yearInTabOrder, 'year');\n return (\n <td\n key={cellIndex}\n className={classes.yearsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n size={size}\n variant={variant}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'YearsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isYearDisabled(year, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, year);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, year);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isYearInTabOrder ? -1 : 0}\n >\n {dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.yearsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.yearsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nYearsList.displayName = '@mantine/dates/YearsList';\n"],"names":["forwardRef","useComponentDefaultProps","useStyles","useDatesContext","getYearsData","getYearInTabOrder","dayjs","React","PickerControl","isYearDisabled","Box"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dayjs = require('dayjs');
|
|
6
|
+
var isYearDisabled = require('../is-year-disabled/is-year-disabled.js');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
9
|
+
|
|
10
|
+
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
11
|
+
|
|
12
|
+
function getYearInTabOrder(years, minDate, maxDate, getYearControlProps) {
|
|
13
|
+
const enabledYears = years.flat().filter((year) => {
|
|
14
|
+
var _a;
|
|
15
|
+
return !isYearDisabled.isYearDisabled(year, minDate, maxDate) && !((_a = getYearControlProps == null ? void 0 : getYearControlProps(year)) == null ? void 0 : _a.disabled);
|
|
16
|
+
});
|
|
17
|
+
const selectedYear = enabledYears.find((year) => {
|
|
18
|
+
var _a;
|
|
19
|
+
return (_a = getYearControlProps == null ? void 0 : getYearControlProps(year)) == null ? void 0 : _a.selected;
|
|
20
|
+
});
|
|
21
|
+
if (selectedYear) {
|
|
22
|
+
return selectedYear;
|
|
23
|
+
}
|
|
24
|
+
const currentYear = enabledYears.find((year) => dayjs__default().isSame(year, "year"));
|
|
25
|
+
if (currentYear) {
|
|
26
|
+
return currentYear;
|
|
27
|
+
}
|
|
28
|
+
return enabledYears[0];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.getYearInTabOrder = getYearInTabOrder;
|
|
32
|
+
//# sourceMappingURL=get-year-in-tab-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-year-in-tab-order.js","sources":["../../../../src/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { PickerControlProps } from '../../PickerControl';\nimport { isYearDisabled } from '../is-year-disabled/is-year-disabled';\n\nexport function getYearInTabOrder(\n years: Date[][],\n minDate: Date,\n maxDate: Date,\n getYearControlProps: (year: Date) => Partial<PickerControlProps>\n) {\n const enabledYears = years\n .flat()\n .filter(\n (year) => !isYearDisabled(year, minDate, maxDate) && !getYearControlProps?.(year)?.disabled\n );\n\n const selectedYear = enabledYears.find((year) => getYearControlProps?.(year)?.selected);\n\n if (selectedYear) {\n return selectedYear;\n }\n\n const currentYear = enabledYears.find((year) => dayjs().isSame(year, 'year'));\n\n if (currentYear) {\n return currentYear;\n }\n\n return enabledYears[0];\n}\n"],"names":["isYearDisabled","dayjs"],"mappings":";;;;;;;;;;;AAEO,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE;AAChF,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AACrD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAACA,6BAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAChK,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACnD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAClH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAKC,cAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB;;;;"}
|
|
@@ -6,6 +6,7 @@ import { isSameMonth } from './is-same-month/is-same-month.js';
|
|
|
6
6
|
import { isBeforeMaxDate } from './is-before-max-date/is-before-max-date.js';
|
|
7
7
|
import { isAfterMinDate } from './is-after-min-date/is-after-min-date.js';
|
|
8
8
|
import useStyles from './Month.styles.js';
|
|
9
|
+
import { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order.js';
|
|
9
10
|
import { useDatesContext } from '../DatesProvider/use-dates-context.js';
|
|
10
11
|
import { Day } from '../Day/Day.js';
|
|
11
12
|
import { WeekdaysRow } from '../WeekdaysRow/WeekdaysRow.js';
|
|
@@ -122,11 +123,14 @@ const Month = forwardRef((props, ref) => {
|
|
|
122
123
|
variant,
|
|
123
124
|
size
|
|
124
125
|
};
|
|
125
|
-
const
|
|
126
|
+
const dates = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));
|
|
127
|
+
const dateInTabOrder = getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate);
|
|
128
|
+
const rows = dates.map((row, rowIndex) => {
|
|
126
129
|
const cells = row.map((date, cellIndex) => {
|
|
127
130
|
const outside = !isSameMonth(date, month);
|
|
128
131
|
const ariaLabel = (getDayAriaLabel == null ? void 0 : getDayAriaLabel(date)) || dayjs(date).locale(locale || ctx.locale).format("D MMMM YYYY");
|
|
129
132
|
const dayProps = getDayProps == null ? void 0 : getDayProps(date);
|
|
133
|
+
const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, "date");
|
|
130
134
|
return /* @__PURE__ */ React.createElement("td", {
|
|
131
135
|
key: date.toString(),
|
|
132
136
|
className: classes.monthCell,
|
|
@@ -163,7 +167,7 @@ const Month = forwardRef((props, ref) => {
|
|
|
163
167
|
(_a2 = dayProps == null ? void 0 : dayProps.onMouseDown) == null ? void 0 : _a2.call(dayProps, event);
|
|
164
168
|
__preventFocus && event.preventDefault();
|
|
165
169
|
},
|
|
166
|
-
tabIndex: __preventFocus ? -1 : 0
|
|
170
|
+
tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0
|
|
167
171
|
})));
|
|
168
172
|
});
|
|
169
173
|
return /* @__PURE__ */ React.createElement("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, Box, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { useDatesContext } from '../DatesProvider';\nimport { WeekdaysRow, WeekdaysRowStylesNames } from '../WeekdaysRow';\nimport { Day, DayStylesNames, DayProps } from '../Day';\nimport { ControlKeydownPayload, DayOfWeek } from '../../types';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport useStyles from './Month.styles';\n\nexport type MonthStylesNames =\n | Selectors<typeof useStyles>\n | WeekdaysRowStylesNames\n | DayStylesNames;\n\nexport interface MonthSettings {\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?(\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ): void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?(rowIndex: number, cellIndex: number, node: HTMLButtonElement): void;\n\n /** dayjs locale, defaults to value defined in DatesProvider */\n locale?: string;\n\n /** number 0-6, 0 – Sunday, 6 – Saturday, defaults to 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** dayjs format for weekdays names, defaults to \"dd\" */\n weekdayFormat?: string;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday, defaults to value defined in DatesProvider */\n weekendDays?: DayOfWeek[];\n\n /** Adds props to Day component based on date */\n getDayProps?(date: Date): Partial<DayProps>;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Controls day value rendering */\n renderDay?(date: Date): React.ReactNode;\n\n /** Determines whether outside dates should be hidden, defaults to false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden, defaults to false */\n hideWeekdays?: boolean;\n\n /** Assigns aria-label to days based on date */\n getDayAriaLabel?(date: Date): string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Month to display */\n month: Date;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthProps> = {\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n variant,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const ctx = useDatesContext();\n\n const { classes, cx } = useStyles(null, {\n name: ['Month', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Month',\n classNames,\n styles,\n unstyled,\n variant,\n size,\n };\n\n const rows = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek)).map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n\n return (\n <td\n key={date.toString()}\n className={classes.monthCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n {...stylesApiProps}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n renderDay={renderDay}\n date={date}\n weekend={ctx.getWeekendDays(weekendDays).includes(date.getDay() as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, maxDate) ||\n !isAfterMinDate(date, minDate)\n }\n ref={(node) => __getDayRef?.(rowIndex, cellIndex, node)}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead className={classes.monthThead}>\n <WeekdaysRow\n {...stylesApiProps}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n />\n </thead>\n )}\n <tbody className={classes.monthTbody}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, Box, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { useDatesContext } from '../DatesProvider';\nimport { WeekdaysRow, WeekdaysRowStylesNames } from '../WeekdaysRow';\nimport { Day, DayStylesNames, DayProps } from '../Day';\nimport { ControlKeydownPayload, DayOfWeek } from '../../types';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport useStyles from './Month.styles';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order';\n\nexport type MonthStylesNames =\n | Selectors<typeof useStyles>\n | WeekdaysRowStylesNames\n | DayStylesNames;\n\nexport interface MonthSettings {\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?(\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ): void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?(rowIndex: number, cellIndex: number, node: HTMLButtonElement): void;\n\n /** dayjs locale, defaults to value defined in DatesProvider */\n locale?: string;\n\n /** number 0-6, 0 – Sunday, 6 – Saturday, defaults to 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** dayjs format for weekdays names, defaults to \"dd\" */\n weekdayFormat?: string;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday, defaults to value defined in DatesProvider */\n weekendDays?: DayOfWeek[];\n\n /** Adds props to Day component based on date */\n getDayProps?(date: Date): Partial<DayProps>;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Controls day value rendering */\n renderDay?(date: Date): React.ReactNode;\n\n /** Determines whether outside dates should be hidden, defaults to false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden, defaults to false */\n hideWeekdays?: boolean;\n\n /** Assigns aria-label to days based on date */\n getDayAriaLabel?(date: Date): string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Month to display */\n month: Date;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthProps> = {\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n variant,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const ctx = useDatesContext();\n\n const { classes, cx } = useStyles(null, {\n name: ['Month', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Month',\n classNames,\n styles,\n unstyled,\n variant,\n size,\n };\n\n const dates = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));\n\n const dateInTabOrder = getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate);\n\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, 'date');\n\n return (\n <td\n key={date.toString()}\n className={classes.monthCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n {...stylesApiProps}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n renderDay={renderDay}\n date={date}\n weekend={ctx.getWeekendDays(weekendDays).includes(date.getDay() as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, maxDate) ||\n !isAfterMinDate(date, minDate)\n }\n ref={(node) => __getDayRef?.(rowIndex, cellIndex, node)}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isDateInTabOrder ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead className={classes.monthThead}>\n <WeekdaysRow\n {...stylesApiProps}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n />\n </thead>\n )}\n <tbody className={classes.monthTbody}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { isAfterMinDate } from '../is-after-min-date/is-after-min-date.js';
|
|
3
|
+
import { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date.js';
|
|
4
|
+
|
|
5
|
+
function getDateInTabOrder(dates, minDate, maxDate, getDateControlProps, excludeDate) {
|
|
6
|
+
const enabledDates = dates.flat().filter((date) => {
|
|
7
|
+
var _a;
|
|
8
|
+
return isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !(excludeDate == null ? void 0 : excludeDate(date)) && !((_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.disabled);
|
|
9
|
+
});
|
|
10
|
+
const selectedDate = enabledDates.find((date) => {
|
|
11
|
+
var _a;
|
|
12
|
+
return (_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.selected;
|
|
13
|
+
});
|
|
14
|
+
if (selectedDate) {
|
|
15
|
+
return selectedDate;
|
|
16
|
+
}
|
|
17
|
+
const currentDate = enabledDates.find((date) => dayjs().isSame(date, "date"));
|
|
18
|
+
if (currentDate) {
|
|
19
|
+
return currentDate;
|
|
20
|
+
}
|
|
21
|
+
return enabledDates[0];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { getDateInTabOrder };
|
|
25
|
+
//# sourceMappingURL=get-date-in-tab-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-date-in-tab-order.js","sources":["../../../../src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DayProps } from '../../Day';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date';\n\nexport function getDateInTabOrder(\n dates: Date[][],\n minDate: Date,\n maxDate: Date,\n getDateControlProps: (date: Date) => Partial<DayProps>,\n excludeDate: (date: Date) => boolean\n) {\n const enabledDates = dates\n .flat()\n .filter(\n (date) =>\n isBeforeMaxDate(date, maxDate) &&\n isAfterMinDate(date, minDate) &&\n !excludeDate?.(date) &&\n !getDateControlProps?.(date)?.disabled\n );\n\n const selectedDate = enabledDates.find((date) => getDateControlProps?.(date)?.selected);\n\n if (selectedDate) {\n return selectedDate;\n }\n\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, 'date'));\n\n if (currentDate) {\n return currentDate;\n }\n\n return enabledDates[0];\n}\n"],"names":[],"mappings":";;;;AAGO,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE;AAC7F,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AACrD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC/O,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACnD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAClH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB;;;;"}
|
|
@@ -4,6 +4,7 @@ import { useComponentDefaultProps, Box } from '@mantine/core';
|
|
|
4
4
|
import { getMonthsData } from './get-months-data/get-months-data.js';
|
|
5
5
|
import { isMonthDisabled } from './is-month-disabled/is-month-disabled.js';
|
|
6
6
|
import useStyles from './MonthsList.styles.js';
|
|
7
|
+
import { getMonthInTabOrder } from './get-month-in-tab-order/get-month-in-tab-order.js';
|
|
7
8
|
import { useDatesContext } from '../DatesProvider/use-dates-context.js';
|
|
8
9
|
import { PickerControl } from '../PickerControl/PickerControl.js';
|
|
9
10
|
|
|
@@ -97,9 +98,11 @@ const MonthsList = forwardRef((props, ref) => {
|
|
|
97
98
|
});
|
|
98
99
|
const ctx = useDatesContext();
|
|
99
100
|
const months = getMonthsData(year);
|
|
101
|
+
const monthInTabOrder = getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps);
|
|
100
102
|
const rows = months.map((monthsRow, rowIndex) => {
|
|
101
103
|
const cells = monthsRow.map((month, cellIndex) => {
|
|
102
104
|
const controlProps = getMonthControlProps == null ? void 0 : getMonthControlProps(month);
|
|
105
|
+
const isMonthInTabOrder = dayjs(month).isSame(monthInTabOrder, "month");
|
|
103
106
|
return /* @__PURE__ */ React.createElement("td", {
|
|
104
107
|
key: cellIndex,
|
|
105
108
|
className: classes.monthsListCell,
|
|
@@ -135,7 +138,7 @@ const MonthsList = forwardRef((props, ref) => {
|
|
|
135
138
|
(_a2 = controlProps == null ? void 0 : controlProps.onMouseDown) == null ? void 0 : _a2.call(controlProps, event);
|
|
136
139
|
__preventFocus && event.preventDefault();
|
|
137
140
|
},
|
|
138
|
-
tabIndex: __preventFocus ? -1 : 0
|
|
141
|
+
tabIndex: __preventFocus || !isMonthInTabOrder ? -1 : 0
|
|
139
142
|
}), dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)));
|
|
140
143
|
});
|
|
141
144
|
return /* @__PURE__ */ React.createElement("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthsList.js","sources":["../../../src/components/MonthsList/MonthsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getMonthsData } from './get-months-data/get-months-data';\nimport { isMonthDisabled } from './is-month-disabled/is-month-disabled';\nimport useStyles from './MonthsList.styles';\n\nexport type MonthsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface MonthsListSettings extends ControlsGroupSettings {\n /** dayjs format for months list */\n monthsListFormat?: string;\n\n /** Adds props to month picker control based on date */\n getMonthControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthsListProps\n extends DefaultProps<MonthsListStylesNames>,\n MonthsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Year for which months list should be displayed */\n year: Date;\n\n /** Component size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<MonthsListProps> = {\n monthsListFormat: 'MMM',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const MonthsList = forwardRef<HTMLTableElement, MonthsListProps>((props, ref) => {\n const {\n year,\n className,\n monthsListFormat,\n locale,\n minDate,\n maxDate,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n size,\n variant,\n __stopPropagation,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('MonthsList', defaultProps, props);\n const { classes, cx } = useStyles(null, {\n name: ['MonthsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const months = getMonthsData(year);\n\n const rows = months.map((monthsRow, rowIndex) => {\n const cells = monthsRow.map((month, cellIndex) => {\n const controlProps = getMonthControlProps?.(month);\n return (\n <td\n key={cellIndex}\n className={classes.monthsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n variant={variant}\n size={size}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'MonthsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isMonthDisabled(month, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: month });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, month);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, month);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus ? -1 : 0}\n >\n {dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.monthsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonthsList.displayName = '@mantine/dates/MonthsList';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MonthsList.js","sources":["../../../src/components/MonthsList/MonthsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getMonthsData } from './get-months-data/get-months-data';\nimport { isMonthDisabled } from './is-month-disabled/is-month-disabled';\nimport useStyles from './MonthsList.styles';\nimport { getMonthInTabOrder } from './get-month-in-tab-order/get-month-in-tab-order';\n\nexport type MonthsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface MonthsListSettings extends ControlsGroupSettings {\n /** dayjs format for months list */\n monthsListFormat?: string;\n\n /** Adds props to month picker control based on date */\n getMonthControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthsListProps\n extends DefaultProps<MonthsListStylesNames>,\n MonthsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Year for which months list should be displayed */\n year: Date;\n\n /** Component size */\n size?: MantineSize;\n}\n\nconst defaultProps: Partial<MonthsListProps> = {\n monthsListFormat: 'MMM',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const MonthsList = forwardRef<HTMLTableElement, MonthsListProps>((props, ref) => {\n const {\n year,\n className,\n monthsListFormat,\n locale,\n minDate,\n maxDate,\n getMonthControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n size,\n variant,\n __stopPropagation,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('MonthsList', defaultProps, props);\n const { classes, cx } = useStyles(null, {\n name: ['MonthsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const months = getMonthsData(year);\n\n const monthInTabOrder = getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps);\n\n const rows = months.map((monthsRow, rowIndex) => {\n const cells = monthsRow.map((month, cellIndex) => {\n const controlProps = getMonthControlProps?.(month);\n const isMonthInTabOrder = dayjs(month).isSame(monthInTabOrder, 'month');\n return (\n <td\n key={cellIndex}\n className={classes.monthsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n variant={variant}\n size={size}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'MonthsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isMonthDisabled(month, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: month });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, month);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, month);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isMonthInTabOrder ? -1 : 0}\n >\n {dayjs(month).locale(ctx.getLocale(locale)).format(monthsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.monthsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonthsList.displayName = '@mantine/dates/MonthsList';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { isMonthDisabled } from '../is-month-disabled/is-month-disabled.js';
|
|
3
|
+
|
|
4
|
+
function getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps) {
|
|
5
|
+
const enabledMonths = months.flat().filter((month) => {
|
|
6
|
+
var _a;
|
|
7
|
+
return !isMonthDisabled(month, minDate, maxDate) && !((_a = getMonthControlProps == null ? void 0 : getMonthControlProps(month)) == null ? void 0 : _a.disabled);
|
|
8
|
+
});
|
|
9
|
+
const selectedMonth = enabledMonths.find((month) => {
|
|
10
|
+
var _a;
|
|
11
|
+
return (_a = getMonthControlProps == null ? void 0 : getMonthControlProps(month)) == null ? void 0 : _a.selected;
|
|
12
|
+
});
|
|
13
|
+
if (selectedMonth) {
|
|
14
|
+
return selectedMonth;
|
|
15
|
+
}
|
|
16
|
+
const currentMonth = enabledMonths.find((month) => dayjs().isSame(month, "month"));
|
|
17
|
+
if (currentMonth) {
|
|
18
|
+
return currentMonth;
|
|
19
|
+
}
|
|
20
|
+
return enabledMonths[0];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { getMonthInTabOrder };
|
|
24
|
+
//# sourceMappingURL=get-month-in-tab-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-month-in-tab-order.js","sources":["../../../../src/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { PickerControlProps } from '../../PickerControl';\nimport { isMonthDisabled } from '../is-month-disabled/is-month-disabled';\n\nexport function getMonthInTabOrder(\n months: Date[][],\n minDate: Date,\n maxDate: Date,\n getMonthControlProps: (month: Date) => Partial<PickerControlProps>\n) {\n const enabledMonths = months\n .flat()\n .filter(\n (month) =>\n !isMonthDisabled(month, minDate, maxDate) && !getMonthControlProps?.(month)?.disabled\n );\n\n const selectedMonth = enabledMonths.find((month) => getMonthControlProps?.(month)?.selected);\n\n if (selectedMonth) {\n return selectedMonth;\n }\n\n const currentMonth = enabledMonths.find((month) => dayjs().isSame(month, 'month'));\n\n if (currentMonth) {\n return currentMonth;\n }\n\n return enabledMonths[0];\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE;AACnF,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK;AACxD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AACrK,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK;AACtD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AACrH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,OAAO,aAAa,CAAC;AACzB,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACrF,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B;;;;"}
|
|
@@ -36,7 +36,7 @@ var __objRest = (source, exclude) => {
|
|
|
36
36
|
};
|
|
37
37
|
const defaultProps = {};
|
|
38
38
|
const PickerInputBase = forwardRef((props, ref) => {
|
|
39
|
-
const _a = useInputProps(
|
|
39
|
+
const _a = useInputProps("PickerInputBase", defaultProps, props), {
|
|
40
40
|
inputProps,
|
|
41
41
|
wrapperProps,
|
|
42
42
|
placeholder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerInputBase.js","sources":["../../../src/components/PickerInputBase/PickerInputBase.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Input,\n useInputProps,\n InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps,\n Selectors,\n Popover,\n Modal,\n InputStylesNames,\n InputWrapperStylesNames,\n PopoverProps,\n ModalProps,\n CloseButton,\n} from '@mantine/core';\nimport { useDisclosure } from '@mantine/hooks';\nimport { HiddenDatesInput, HiddenDatesInputValue } from '../HiddenDatesInput';\nimport { CalendarStylesNames } from '../Calendar';\nimport useStyles from './PickerInputBase.styles';\nimport { DatePickerType } from '../../types';\n\nexport type PickerInputBaseStylesNames =\n | CalendarStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | Selectors<typeof useStyles>;\n\nexport interface DateInputSharedProps\n extends DefaultProps<PickerInputBaseStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithRef<'button'>, 'defaultValue' | 'value' | 'onChange' | 'type'> {\n /** Determines whether dropdown should be closed when date is selected, not applicable when type=\"multiple\", true by default */\n closeOnChange?: boolean;\n\n /** Type of dropdown, defaults to popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Props added to Modal component */\n modalProps?: Partial<Omit<ModalProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Determines whether the user can modify the value */\n readOnly?: boolean;\n\n /** Determines whether dates value should be sorted before onChange call, only applicable when type=\"multiple\", true by default */\n sortDates?: boolean;\n\n /** Separator between range value */\n labelSeparator?: string;\n}\n\nexport interface PickerInputBaseProps extends DateInputSharedProps {\n __staticSelector: string;\n children: React.ReactNode;\n formattedValue: string;\n dropdownHandlers: ReturnType<typeof useDisclosure>[1];\n dropdownOpened: boolean;\n onClear(): void;\n shouldClear: boolean;\n value: HiddenDatesInputValue;\n type: DatePickerType;\n}\n\nconst defaultProps: Partial<PickerInputBaseProps> = {};\n\nexport const PickerInputBase = forwardRef<HTMLButtonElement, PickerInputBaseProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n placeholder,\n classNames,\n styles,\n unstyled,\n popoverProps,\n modalProps,\n dropdownType,\n children,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClick,\n clearable,\n onClear,\n clearButtonProps,\n rightSection,\n shouldClear,\n readOnly,\n disabled,\n value,\n name,\n form,\n type,\n ...others\n } = useInputProps(props.__staticSelector, defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: inputProps.__staticSelector,\n classNames,\n styles,\n unstyled,\n variant: inputProps.variant,\n size: inputProps.size,\n });\n\n const _rightSection =\n rightSection ||\n (clearable && shouldClear && !readOnly && !disabled ? (\n <CloseButton\n variant=\"transparent\"\n onClick={onClear}\n unstyled={unstyled}\n size={inputProps.size}\n {...clearButtonProps}\n />\n ) : null);\n\n const handleClose = () => {\n const isInvalidRangeValue = type === 'range' && value[0] && !value[1];\n if (isInvalidRangeValue) {\n onClear();\n }\n\n dropdownHandlers.close();\n };\n\n return (\n <>\n {dropdownType === 'modal' && !readOnly && (\n <Modal\n opened={dropdownOpened}\n onClose={handleClose}\n withCloseButton={false}\n size=\"auto\"\n data-dates-modal\n unstyled={unstyled}\n {...modalProps}\n >\n {children}\n </Modal>\n )}\n\n <Input.Wrapper {...wrapperProps}>\n <Popover\n position=\"bottom-start\"\n opened={dropdownOpened}\n onClose={handleClose}\n disabled={dropdownType === 'modal' || readOnly}\n trapFocus\n returnFocus\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n disabled={disabled}\n component=\"button\"\n type=\"button\"\n multiline\n onClick={(event) => {\n onClick?.(event);\n dropdownHandlers.toggle();\n }}\n rightSection={_rightSection}\n {...inputProps}\n ref={ref}\n classNames={{ ...classNames, input: cx(classes.input, (classNames as any)?.input) }}\n {...others}\n >\n {formattedValue || (\n <Input.Placeholder className={classes.placeholder}>{placeholder}</Input.Placeholder>\n )}\n </Input>\n </Popover.Target>\n\n <Popover.Dropdown data-dates-dropdown>{children}</Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput value={value} name={name} form={form} type={type} />\n </>\n );\n});\n\nPickerInputBase.displayName = '@mantine/dates/PickerInputBase';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PickerInputBase.js","sources":["../../../src/components/PickerInputBase/PickerInputBase.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n Input,\n useInputProps,\n InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps,\n Selectors,\n Popover,\n Modal,\n InputStylesNames,\n InputWrapperStylesNames,\n PopoverProps,\n ModalProps,\n CloseButton,\n} from '@mantine/core';\nimport { useDisclosure } from '@mantine/hooks';\nimport { HiddenDatesInput, HiddenDatesInputValue } from '../HiddenDatesInput';\nimport { CalendarStylesNames } from '../Calendar';\nimport useStyles from './PickerInputBase.styles';\nimport { DatePickerType } from '../../types';\n\nexport type PickerInputBaseStylesNames =\n | CalendarStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | Selectors<typeof useStyles>;\n\nexport interface DateInputSharedProps\n extends DefaultProps<PickerInputBaseStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithRef<'button'>, 'defaultValue' | 'value' | 'onChange' | 'type'> {\n /** Determines whether dropdown should be closed when date is selected, not applicable when type=\"multiple\", true by default */\n closeOnChange?: boolean;\n\n /** Type of dropdown, defaults to popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Props added to Modal component */\n modalProps?: Partial<Omit<ModalProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Determines whether the user can modify the value */\n readOnly?: boolean;\n\n /** Determines whether dates value should be sorted before onChange call, only applicable when type=\"multiple\", true by default */\n sortDates?: boolean;\n\n /** Separator between range value */\n labelSeparator?: string;\n}\n\nexport interface PickerInputBaseProps extends DateInputSharedProps {\n __staticSelector: string;\n children: React.ReactNode;\n formattedValue: string;\n dropdownHandlers: ReturnType<typeof useDisclosure>[1];\n dropdownOpened: boolean;\n onClear(): void;\n shouldClear: boolean;\n value: HiddenDatesInputValue;\n type: DatePickerType;\n}\n\nconst defaultProps: Partial<PickerInputBaseProps> = {};\n\nexport const PickerInputBase = forwardRef<HTMLButtonElement, PickerInputBaseProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n placeholder,\n classNames,\n styles,\n unstyled,\n popoverProps,\n modalProps,\n dropdownType,\n children,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClick,\n clearable,\n onClear,\n clearButtonProps,\n rightSection,\n shouldClear,\n readOnly,\n disabled,\n value,\n name,\n form,\n type,\n ...others\n } = useInputProps('PickerInputBase', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: inputProps.__staticSelector,\n classNames,\n styles,\n unstyled,\n variant: inputProps.variant,\n size: inputProps.size,\n });\n\n const _rightSection =\n rightSection ||\n (clearable && shouldClear && !readOnly && !disabled ? (\n <CloseButton\n variant=\"transparent\"\n onClick={onClear}\n unstyled={unstyled}\n size={inputProps.size}\n {...clearButtonProps}\n />\n ) : null);\n\n const handleClose = () => {\n const isInvalidRangeValue = type === 'range' && value[0] && !value[1];\n if (isInvalidRangeValue) {\n onClear();\n }\n\n dropdownHandlers.close();\n };\n\n return (\n <>\n {dropdownType === 'modal' && !readOnly && (\n <Modal\n opened={dropdownOpened}\n onClose={handleClose}\n withCloseButton={false}\n size=\"auto\"\n data-dates-modal\n unstyled={unstyled}\n {...modalProps}\n >\n {children}\n </Modal>\n )}\n\n <Input.Wrapper {...wrapperProps}>\n <Popover\n position=\"bottom-start\"\n opened={dropdownOpened}\n onClose={handleClose}\n disabled={dropdownType === 'modal' || readOnly}\n trapFocus\n returnFocus\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n disabled={disabled}\n component=\"button\"\n type=\"button\"\n multiline\n onClick={(event) => {\n onClick?.(event);\n dropdownHandlers.toggle();\n }}\n rightSection={_rightSection}\n {...inputProps}\n ref={ref}\n classNames={{ ...classNames, input: cx(classes.input, (classNames as any)?.input) }}\n {...others}\n >\n {formattedValue || (\n <Input.Placeholder className={classes.placeholder}>{placeholder}</Input.Placeholder>\n )}\n </Input>\n </Popover.Target>\n\n <Popover.Dropdown data-dates-dropdown>{children}</Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput value={value} name={name} form={form} type={type} />\n </>\n );\n});\n\nPickerInputBase.displayName = '@mantine/dates/PickerInputBase';\n"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { useComponentDefaultProps, Box } from '@mantine/core';
|
|
|
4
4
|
import { getYearsData } from './get-years-data/get-years-data.js';
|
|
5
5
|
import { isYearDisabled } from './is-year-disabled/is-year-disabled.js';
|
|
6
6
|
import useStyles from './YearsList.styles.js';
|
|
7
|
+
import { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order.js';
|
|
7
8
|
import { useDatesContext } from '../DatesProvider/use-dates-context.js';
|
|
8
9
|
import { PickerControl } from '../PickerControl/PickerControl.js';
|
|
9
10
|
|
|
@@ -97,9 +98,11 @@ const YearsList = forwardRef((props, ref) => {
|
|
|
97
98
|
});
|
|
98
99
|
const ctx = useDatesContext();
|
|
99
100
|
const years = getYearsData(decade);
|
|
101
|
+
const yearInTabOrder = getYearInTabOrder(years, minDate, maxDate, getYearControlProps);
|
|
100
102
|
const rows = years.map((yearsRow, rowIndex) => {
|
|
101
103
|
const cells = yearsRow.map((year, cellIndex) => {
|
|
102
104
|
const controlProps = getYearControlProps == null ? void 0 : getYearControlProps(year);
|
|
105
|
+
const isYearInTabOrder = dayjs(year).isSame(yearInTabOrder, "year");
|
|
103
106
|
return /* @__PURE__ */ React.createElement("td", {
|
|
104
107
|
key: cellIndex,
|
|
105
108
|
className: classes.yearsListCell,
|
|
@@ -135,7 +138,7 @@ const YearsList = forwardRef((props, ref) => {
|
|
|
135
138
|
(_a2 = controlProps == null ? void 0 : controlProps.onMouseDown) == null ? void 0 : _a2.call(controlProps, event);
|
|
136
139
|
__preventFocus && event.preventDefault();
|
|
137
140
|
},
|
|
138
|
-
tabIndex: __preventFocus ? -1 : 0
|
|
141
|
+
tabIndex: __preventFocus || !isYearInTabOrder ? -1 : 0
|
|
139
142
|
}), dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)));
|
|
140
143
|
});
|
|
141
144
|
return /* @__PURE__ */ React.createElement("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearsList.js","sources":["../../../src/components/YearsList/YearsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getYearsData } from './get-years-data/get-years-data';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled';\nimport useStyles from './YearsList.styles';\n\nexport type YearsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface YearsListSettings extends ControlsGroupSettings {\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** dayjs format for years list */\n yearsListFormat?: string;\n\n /** Adds props to year picker control based on date */\n getYearControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Component size */\n size?: MantineSize;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface YearsListProps\n extends DefaultProps<YearsListStylesNames>,\n YearsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Decade for which years list should be displayed */\n decade: Date;\n}\n\nconst defaultProps: Partial<YearsListProps> = {\n yearsListFormat: 'YYYY',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const YearsList = forwardRef<HTMLTableElement, YearsListProps>((props, ref) => {\n const {\n decade,\n className,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n size,\n variant,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('YearsList', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['YearsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const years = getYearsData(decade);\n\n const rows = years.map((yearsRow, rowIndex) => {\n const cells = yearsRow.map((year, cellIndex) => {\n const controlProps = getYearControlProps?.(year);\n return (\n <td\n key={cellIndex}\n className={classes.yearsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n size={size}\n variant={variant}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'YearsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isYearDisabled(year, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, year);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, year);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus ? -1 : 0}\n >\n {dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.yearsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.yearsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nYearsList.displayName = '@mantine/dates/YearsList';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YearsList.js","sources":["../../../src/components/YearsList/YearsList.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { PickerControl, PickerControlStylesNames, PickerControlProps } from '../PickerControl';\nimport { ControlsGroupSettings } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { getYearsData } from './get-years-data/get-years-data';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled';\nimport useStyles from './YearsList.styles';\nimport { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order';\n\nexport type YearsListStylesNames = PickerControlStylesNames | Selectors<typeof useStyles>;\n\nexport interface YearsListSettings extends ControlsGroupSettings {\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** dayjs format for years list */\n yearsListFormat?: string;\n\n /** Adds props to year picker control based on date */\n getYearControlProps?(date: Date): Partial<PickerControlProps>;\n\n /** Component size */\n size?: MantineSize;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface YearsListProps\n extends DefaultProps<YearsListStylesNames>,\n YearsListSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Decade for which years list should be displayed */\n decade: Date;\n}\n\nconst defaultProps: Partial<YearsListProps> = {\n yearsListFormat: 'YYYY',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const YearsList = forwardRef<HTMLTableElement, YearsListProps>((props, ref) => {\n const {\n decade,\n className,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n size,\n variant,\n withCellSpacing,\n ...others\n } = useComponentDefaultProps('YearsList', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['YearsList', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const ctx = useDatesContext();\n\n const years = getYearsData(decade);\n\n const yearInTabOrder = getYearInTabOrder(years, minDate, maxDate, getYearControlProps);\n\n const rows = years.map((yearsRow, rowIndex) => {\n const cells = yearsRow.map((year, cellIndex) => {\n const controlProps = getYearControlProps?.(year);\n const isYearInTabOrder = dayjs(year).isSame(yearInTabOrder, 'year');\n return (\n <td\n key={cellIndex}\n className={classes.yearsListCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n size={size}\n variant={variant}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'YearsList'}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n disabled={isYearDisabled(year, minDate, maxDate)}\n ref={(node) => __getControlRef?.(rowIndex, cellIndex, node)}\n {...controlProps}\n onKeyDown={(event) => {\n controlProps?.onKeyDown?.(event);\n __onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });\n }}\n onClick={(event) => {\n controlProps?.onClick?.(event);\n __onControlClick?.(event, year);\n }}\n onMouseEnter={(event) => {\n controlProps?.onMouseEnter?.(event);\n __onControlMouseEnter?.(event, year);\n }}\n onMouseDown={(event) => {\n controlProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isYearInTabOrder ? -1 : 0}\n >\n {dayjs(year).locale(ctx.getLocale(locale)).format(yearsListFormat)}\n </PickerControl>\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.yearsListRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} className={cx(classes.yearsList, className)} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nYearsList.displayName = '@mantine/dates/YearsList';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import { isYearDisabled } from '../is-year-disabled/is-year-disabled.js';
|
|
3
|
+
|
|
4
|
+
function getYearInTabOrder(years, minDate, maxDate, getYearControlProps) {
|
|
5
|
+
const enabledYears = years.flat().filter((year) => {
|
|
6
|
+
var _a;
|
|
7
|
+
return !isYearDisabled(year, minDate, maxDate) && !((_a = getYearControlProps == null ? void 0 : getYearControlProps(year)) == null ? void 0 : _a.disabled);
|
|
8
|
+
});
|
|
9
|
+
const selectedYear = enabledYears.find((year) => {
|
|
10
|
+
var _a;
|
|
11
|
+
return (_a = getYearControlProps == null ? void 0 : getYearControlProps(year)) == null ? void 0 : _a.selected;
|
|
12
|
+
});
|
|
13
|
+
if (selectedYear) {
|
|
14
|
+
return selectedYear;
|
|
15
|
+
}
|
|
16
|
+
const currentYear = enabledYears.find((year) => dayjs().isSame(year, "year"));
|
|
17
|
+
if (currentYear) {
|
|
18
|
+
return currentYear;
|
|
19
|
+
}
|
|
20
|
+
return enabledYears[0];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { getYearInTabOrder };
|
|
24
|
+
//# sourceMappingURL=get-year-in-tab-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-year-in-tab-order.js","sources":["../../../../src/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { PickerControlProps } from '../../PickerControl';\nimport { isYearDisabled } from '../is-year-disabled/is-year-disabled';\n\nexport function getYearInTabOrder(\n years: Date[][],\n minDate: Date,\n maxDate: Date,\n getYearControlProps: (year: Date) => Partial<PickerControlProps>\n) {\n const enabledYears = years\n .flat()\n .filter(\n (year) => !isYearDisabled(year, minDate, maxDate) && !getYearControlProps?.(year)?.disabled\n );\n\n const selectedYear = enabledYears.find((year) => getYearControlProps?.(year)?.selected);\n\n if (selectedYear) {\n return selectedYear;\n }\n\n const currentYear = enabledYears.find((year) => dayjs().isSame(year, 'year'));\n\n if (currentYear) {\n return currentYear;\n }\n\n return enabledYears[0];\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE;AAChF,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AACrD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAChK,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACnD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAClH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Month.d.ts","sourceRoot":"","sources":["../../../src/components/Month/Month.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAiC,WAAW,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAe,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAO,cAAc,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK/D,OAAO,SAAS,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Month.d.ts","sourceRoot":"","sources":["../../../src/components/Month/Month.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAiC,WAAW,EAAE,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAe,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAO,cAAc,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK/D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC,MAAM,MAAM,gBAAgB,GACxB,SAAS,CAAC,OAAO,SAAS,CAAC,GAC3B,sBAAsB,GACtB,cAAc,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,2DAA2D;IAC3D,YAAY,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAE5E,mCAAmC;IACnC,iBAAiB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAEjF,qFAAqF;IACrF,cAAc,CAAC,CACb,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAC7C,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAAC;IAER,8FAA8F;IAC9F,WAAW,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEjF,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mEAAmE;IACnE,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oHAAoH;IACpH,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAE1B,gDAAgD;IAChD,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,wEAAwE;IACxE,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAElC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,mCAAmC;IACnC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAExC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,+CAA+C;IAC/C,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IAErC,oBAAoB;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,UACf,SAAQ,YAAY,CAAC,gBAAgB,CAAC,EACpC,aAAa,EACb,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,uBAAuB;IACvB,KAAK,EAAE,IAAI,CAAC;IAEZ,sKAAsK;IACtK,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD,eAAO,MAAM,KAAK,qFAuIhB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { DayProps } from '../../Day';
|
|
2
|
+
export declare function getDateInTabOrder(dates: Date[][], minDate: Date, maxDate: Date, getDateControlProps: (date: Date) => Partial<DayProps>, excludeDate: (date: Date) => boolean): Date;
|
|
3
|
+
//# sourceMappingURL=get-date-in-tab-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-date-in-tab-order.d.ts","sourceRoot":"","sources":["../../../../src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,EAAE,EAAE,EACf,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,EACtD,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,QAyBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthsList.d.ts","sourceRoot":"","sources":["../../../src/components/MonthsList/MonthsList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAO,SAAS,EAA4B,WAAW,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAiB,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,SAAS,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"MonthsList.d.ts","sourceRoot":"","sources":["../../../src/components/MonthsList/MonthsList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAO,SAAS,EAA4B,WAAW,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAiB,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAG5C,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE3F,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,uDAAuD;IACvD,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/D,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eACf,SAAQ,YAAY,CAAC,qBAAqB,CAAC,EACzC,kBAAkB,EAClB,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,oDAAoD;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,qDAAqD;IACrD,IAAI,EAAE,IAAI,CAAC;IAEX,qBAAqB;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAQD,eAAO,MAAM,UAAU,0FAgGrB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PickerControlProps } from '../../PickerControl';
|
|
2
|
+
export declare function getMonthInTabOrder(months: Date[][], minDate: Date, maxDate: Date, getMonthControlProps: (month: Date) => Partial<PickerControlProps>): Date;
|
|
3
|
+
//# sourceMappingURL=get-month-in-tab-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-month-in-tab-order.d.ts","sourceRoot":"","sources":["../../../../src/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,EAAE,EAAE,EAChB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,oBAAoB,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,kBAAkB,CAAC,QAsBnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearsList.d.ts","sourceRoot":"","sources":["../../../src/components/YearsList/YearsList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAO,SAAS,EAA4B,WAAW,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAiB,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,SAAS,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"YearsList.d.ts","sourceRoot":"","sources":["../../../src/components/YearsList/YearsList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAO,SAAS,EAA4B,WAAW,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAiB,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAG3C,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE1F,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,oDAAoD;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sDAAsD;IACtD,mBAAmB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE9D,qBAAqB;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cACf,SAAQ,YAAY,CAAC,oBAAoB,CAAC,EACxC,iBAAiB,EACjB,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,sDAAsD;IACtD,MAAM,EAAE,IAAI,CAAC;CACd;AAQD,eAAO,MAAM,SAAS,yFAiGpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-year-in-tab-order.d.ts","sourceRoot":"","sources":["../../../../src/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,EAAE,EAAE,EACf,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,kBAAkB,CAAC,QAqBjE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/dates",
|
|
3
3
|
"description": "Calendars, date and time pickers based on Mantine components",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.4",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -29,13 +29,13 @@
|
|
|
29
29
|
"picker"
|
|
30
30
|
],
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@mantine/core": "6.0.
|
|
33
|
-
"@mantine/hooks": "6.0.
|
|
32
|
+
"@mantine/core": "6.0.4",
|
|
33
|
+
"@mantine/hooks": "6.0.4",
|
|
34
34
|
"dayjs": ">=1.0.0",
|
|
35
35
|
"react": ">=16.8.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@mantine/utils": "6.0.
|
|
38
|
+
"@mantine/utils": "6.0.4"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {}
|
|
41
41
|
}
|