@mantine/dates 7.0.0-beta.6 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Calendar/Calendar.js +13 -6
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/CalendarHeader/CalendarHeader.js +1 -2
- package/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +9 -8
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/date-string-parser/date-string-parser.js +4 -2
- package/cjs/components/DateInput/date-string-parser/date-string-parser.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.js +17 -5
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePickerInput/DatePickerInput.js +8 -4
- package/cjs/components/DatePickerInput/DatePickerInput.js.map +1 -1
- package/cjs/components/DateTimePicker/DateTimePicker.js +9 -7
- package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/cjs/components/DatesProvider/DatesProvider.js +1 -0
- package/cjs/components/DatesProvider/DatesProvider.js.map +1 -1
- package/cjs/components/DatesProvider/use-dates-context.js +5 -0
- package/cjs/components/DatesProvider/use-dates-context.js.map +1 -1
- package/cjs/components/Day/Day.js +4 -1
- package/cjs/components/Day/Day.js.map +1 -1
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js +1 -2
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
- package/cjs/components/Month/Month.js +0 -1
- package/cjs/components/Month/Month.js.map +1 -1
- package/cjs/components/Month/get-month-days/get-month-days.js +12 -3
- package/cjs/components/Month/get-month-days/get-month-days.js.map +1 -1
- package/cjs/components/MonthPicker/MonthPicker.js +16 -5
- package/cjs/components/MonthPicker/MonthPicker.js.map +1 -1
- package/cjs/components/MonthPickerInput/MonthPickerInput.js +7 -3
- package/cjs/components/MonthPickerInput/MonthPickerInput.js.map +1 -1
- package/cjs/components/MonthsList/MonthsList.js +0 -1
- package/cjs/components/MonthsList/MonthsList.js.map +1 -1
- package/cjs/components/PickerControl/PickerControl.js +1 -3
- package/cjs/components/PickerControl/PickerControl.js.map +1 -1
- package/cjs/components/PickerInputBase/PickerInputBase.js +2 -1
- package/cjs/components/PickerInputBase/PickerInputBase.js.map +1 -1
- package/cjs/components/YearLevel/YearLevel.js +1 -2
- package/cjs/components/YearLevel/YearLevel.js.map +1 -1
- package/cjs/components/YearLevelGroup/YearLevelGroup.js +1 -2
- package/cjs/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
- package/cjs/components/YearPicker/YearPicker.js +17 -5
- package/cjs/components/YearPicker/YearPicker.js.map +1 -1
- package/cjs/components/YearPickerInput/YearPickerInput.js +8 -4
- package/cjs/components/YearPickerInput/YearPickerInput.js.map +1 -1
- package/cjs/components/YearsList/YearsList.js +0 -1
- package/cjs/components/YearsList/YearsList.js.map +1 -1
- package/cjs/hooks/use-dates-state/use-dates-state.js +9 -2
- package/cjs/hooks/use-dates-state/use-dates-state.js.map +1 -1
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js +13 -7
- package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js.map +1 -1
- package/cjs/utils/get-default-clamped-date.js +3 -2
- package/cjs/utils/get-default-clamped-date.js.map +1 -1
- package/cjs/utils/get-timezone-offset.js +25 -0
- package/cjs/utils/get-timezone-offset.js.map +1 -0
- package/cjs/utils/shift-timezone.js +36 -0
- package/cjs/utils/shift-timezone.js.map +1 -0
- package/esm/components/Calendar/Calendar.js +13 -6
- package/esm/components/Calendar/Calendar.js.map +1 -1
- package/esm/components/CalendarHeader/CalendarHeader.js +1 -2
- package/esm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/esm/components/DateInput/DateInput.js +10 -9
- package/esm/components/DateInput/DateInput.js.map +1 -1
- package/esm/components/DateInput/date-string-parser/date-string-parser.js +4 -2
- package/esm/components/DateInput/date-string-parser/date-string-parser.js.map +1 -1
- package/esm/components/DatePicker/DatePicker.js +17 -5
- package/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/esm/components/DatePickerInput/DatePickerInput.js +8 -4
- package/esm/components/DatePickerInput/DatePickerInput.js.map +1 -1
- package/esm/components/DateTimePicker/DateTimePicker.js +10 -8
- package/esm/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/esm/components/DatesProvider/DatesProvider.js +1 -0
- package/esm/components/DatesProvider/DatesProvider.js.map +1 -1
- package/esm/components/DatesProvider/use-dates-context.js +5 -0
- package/esm/components/DatesProvider/use-dates-context.js.map +1 -1
- package/esm/components/Day/Day.js +4 -1
- package/esm/components/Day/Day.js.map +1 -1
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js +1 -2
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
- package/esm/components/Month/Month.js +0 -1
- package/esm/components/Month/Month.js.map +1 -1
- package/esm/components/Month/get-month-days/get-month-days.js +12 -3
- package/esm/components/Month/get-month-days/get-month-days.js.map +1 -1
- package/esm/components/MonthPicker/MonthPicker.js +16 -5
- package/esm/components/MonthPicker/MonthPicker.js.map +1 -1
- package/esm/components/MonthPickerInput/MonthPickerInput.js +7 -3
- package/esm/components/MonthPickerInput/MonthPickerInput.js.map +1 -1
- package/esm/components/MonthsList/MonthsList.js +0 -1
- package/esm/components/MonthsList/MonthsList.js.map +1 -1
- package/esm/components/PickerControl/PickerControl.js +1 -3
- package/esm/components/PickerControl/PickerControl.js.map +1 -1
- package/esm/components/PickerInputBase/PickerInputBase.js +2 -1
- package/esm/components/PickerInputBase/PickerInputBase.js.map +1 -1
- package/esm/components/YearLevel/YearLevel.js +1 -2
- package/esm/components/YearLevel/YearLevel.js.map +1 -1
- package/esm/components/YearLevelGroup/YearLevelGroup.js +1 -2
- package/esm/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
- package/esm/components/YearPicker/YearPicker.js +17 -5
- package/esm/components/YearPicker/YearPicker.js.map +1 -1
- package/esm/components/YearPickerInput/YearPickerInput.js +8 -4
- package/esm/components/YearPickerInput/YearPickerInput.js.map +1 -1
- package/esm/components/YearsList/YearsList.js +0 -1
- package/esm/components/YearsList/YearsList.js.map +1 -1
- package/esm/hooks/use-dates-state/use-dates-state.js +9 -2
- package/esm/hooks/use-dates-state/use-dates-state.js.map +1 -1
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js +13 -7
- package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js.map +1 -1
- package/esm/utils/get-default-clamped-date.js +3 -2
- package/esm/utils/get-default-clamped-date.js.map +1 -1
- package/esm/utils/get-timezone-offset.js +15 -0
- package/esm/utils/get-timezone-offset.js.map +1 -0
- package/esm/utils/shift-timezone.js +28 -0
- package/esm/utils/shift-timezone.js.map +1 -0
- package/lib/components/PickerInputBase/PickerInputBase.d.ts.map +1 -1
- package/package.json +3 -3
- package/cjs/_virtual/_commonjsHelpers.js +0 -8
- package/cjs/_virtual/_commonjsHelpers.js.map +0 -1
- package/cjs/_virtual/timezone.js_commonjs-module +0 -8
- package/cjs/_virtual/timezone.js_commonjs-module.map +0 -1
- package/cjs/_virtual/utc.js_commonjs-module +0 -8
- package/cjs/_virtual/utc.js_commonjs-module.map +0 -1
- package/esm/_virtual/_commonjsHelpers.js +0 -4
- package/esm/_virtual/_commonjsHelpers.js.map +0 -1
- package/esm/_virtual/timezone.js_commonjs-module +0 -4
- package/esm/_virtual/timezone.js_commonjs-module.map +0 -1
- package/esm/_virtual/utc.js_commonjs-module +0 -4
- package/esm/_virtual/utc.js_commonjs-module.map +0 -1
|
@@ -7,6 +7,9 @@ var React = require('react');
|
|
|
7
7
|
var core = require('@mantine/core');
|
|
8
8
|
var hooks = require('@mantine/hooks');
|
|
9
9
|
var clampLevel = require('./clamp-level/clamp-level.js');
|
|
10
|
+
var useUncontrolledDates = require('../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.js');
|
|
11
|
+
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
12
|
+
var shiftTimezone = require('../../utils/shift-timezone.js');
|
|
10
13
|
var MonthLevelGroup = require('../MonthLevelGroup/MonthLevelGroup.js');
|
|
11
14
|
var YearLevelGroup = require('../YearLevelGroup/YearLevelGroup.js');
|
|
12
15
|
var DecadeLevelGroup = require('../DecadeLevelGroup/DecadeLevelGroup.js');
|
|
@@ -108,7 +111,8 @@ const Calendar = core.factory((_props, ref) => {
|
|
|
108
111
|
onPreviousYear,
|
|
109
112
|
onNextMonth,
|
|
110
113
|
onPreviousMonth,
|
|
111
|
-
static: isStatic
|
|
114
|
+
static: isStatic,
|
|
115
|
+
__timezoneApplied
|
|
112
116
|
} = _a, others = __objRest(_a, [
|
|
113
117
|
"vars",
|
|
114
118
|
// CalendarLevel props
|
|
@@ -170,7 +174,8 @@ const Calendar = core.factory((_props, ref) => {
|
|
|
170
174
|
"onPreviousYear",
|
|
171
175
|
"onNextMonth",
|
|
172
176
|
"onPreviousMonth",
|
|
173
|
-
"static"
|
|
177
|
+
"static",
|
|
178
|
+
"__timezoneApplied"
|
|
174
179
|
]);
|
|
175
180
|
const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
|
|
176
181
|
classNames,
|
|
@@ -183,11 +188,12 @@ const Calendar = core.factory((_props, ref) => {
|
|
|
183
188
|
finalValue: clampLevel.clampLevel(void 0, minLevel, maxLevel),
|
|
184
189
|
onChange: onLevelChange
|
|
185
190
|
});
|
|
186
|
-
const [_date, setDate] =
|
|
191
|
+
const [_date, setDate] = useUncontrolledDates.useUncontrolledDates({
|
|
192
|
+
type: "default",
|
|
187
193
|
value: date,
|
|
188
194
|
defaultValue: defaultDate,
|
|
189
|
-
|
|
190
|
-
|
|
195
|
+
onChange: onDateChange,
|
|
196
|
+
applyTimezone: !__timezoneApplied
|
|
191
197
|
});
|
|
192
198
|
const stylesApiProps = {
|
|
193
199
|
__staticSelector: __staticSelector || "Calendar",
|
|
@@ -196,8 +202,9 @@ const Calendar = core.factory((_props, ref) => {
|
|
|
196
202
|
unstyled,
|
|
197
203
|
size
|
|
198
204
|
};
|
|
205
|
+
const ctx = useDatesContext.useDatesContext();
|
|
199
206
|
const _columnsToScroll = columnsToScroll || numberOfColumns || 1;
|
|
200
|
-
const currentDate = _date || /* @__PURE__ */ new Date();
|
|
207
|
+
const currentDate = _date || shiftTimezone.shiftTimezone("add", /* @__PURE__ */ new Date(), ctx.getTimezone());
|
|
201
208
|
const handleNextMonth = () => {
|
|
202
209
|
const nextDate = dayjs__default(currentDate).add(_columnsToScroll, "month").toDate();
|
|
203
210
|
onNextMonth == null ? void 0 : onNextMonth(nextDate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { MonthLevelGroup, MonthLevelGroupStylesNames } from '../MonthLevelGroup';\nimport { YearLevelGroup, YearLevelGroupStylesNames } from '../YearLevelGroup';\nimport { DecadeLevelGroup, DecadeLevelGroupStylesNames } from '../DecadeLevelGroup';\nimport { CalendarLevel } from '../../types';\nimport { clampLevel } from './clamp-level/clamp-level';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { DecadeLevelSettings } from '../DecadeLevel';\n\nexport type CalendarStylesNames =\n | MonthLevelGroupStylesNames\n | YearLevelGroupStylesNames\n | DecadeLevelGroupStylesNames;\n\nexport interface CalendarAriaLabels {\n monthLevelControl?: string;\n yearLevelControl?: string;\n\n nextMonth?: string;\n previousMonth?: string;\n\n nextYear?: string;\n previousYear?: string;\n\n nextDecade?: string;\n previousDecade?: string;\n}\n\ntype OmittedSettings =\n | 'onNext'\n | 'onPrevious'\n | 'onLevelClick'\n | 'withNext'\n | 'withPrevious'\n | 'nextDisabled'\n | 'previousDisabled';\n\nexport interface CalendarSettings\n extends Omit<DecadeLevelSettings, OmittedSettings>,\n Omit<YearLevelSettings, OmittedSettings>,\n Omit<MonthLevelSettings, OmittedSettings> {\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n\n /** Called when user clicks year on decade level */\n onYearSelect?(date: Date): void;\n\n /** Called when user clicks month on year level */\n onMonthSelect?(date: Date): void;\n\n /** Called when mouse enters year control */\n onYearMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters month control */\n onMonthMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n}\n\nexport interface CalendarBaseProps {\n __staticSelector?: string;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Determines whether date should be updated when year control is clicked */\n __updateDateOnYearSelect?: boolean;\n\n /** Determines whether date should be updated when month control is clicked */\n __updateDateOnMonthSelect?: boolean;\n\n /** Initial date that is displayed, used for uncontrolled component */\n defaultDate?: Date;\n\n /** Date that is displayed, used for controlled component */\n date?: Date;\n\n /** Called when date changes */\n onDateChange?(date: Date): void;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Number of columns to scroll when user clicks next/prev buttons, defaults to numberOfColumns */\n columnsToScroll?: number;\n\n /** aria-label attributes for controls on different levels */\n ariaLabels?: CalendarAriaLabels;\n\n /** Called when next decade button is clicked */\n onNextDecade?(date: Date): void;\n\n /** Called when previous decade button is clicked */\n onPreviousDecade?(date: Date): void;\n\n /** Called when next year button is clicked */\n onNextYear?(date: Date): void;\n\n /** Called when previous year button is clicked */\n onPreviousYear?(date: Date): void;\n\n /** Called when next month button is clicked */\n onNextMonth?(date: Date): void;\n\n /** Called when previous month button is clicked */\n onPreviousMonth?(date: Date): void;\n}\n\nexport interface CalendarProps\n extends BoxProps,\n CalendarSettings,\n CalendarBaseProps,\n StylesApiProps<CalendarFactory>,\n ElementProps<'div'> {\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Min level that user can go down to (decade, year, month), defaults to month */\n minLevel?: CalendarLevel;\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\nexport type CalendarFactory = Factory<{\n props: CalendarProps;\n ref: HTMLDivElement;\n stylesNames: CalendarStylesNames;\n}>;\n\nconst defaultProps: Partial<CalendarProps> = {\n maxLevel: 'decade',\n minLevel: 'month',\n __updateDateOnYearSelect: true,\n __updateDateOnMonthSelect: true,\n};\n\nexport const Calendar = factory<CalendarFactory>((_props, ref) => {\n const props = useProps('Calendar', defaultProps, _props);\n const {\n vars, // CalendarLevel props\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n nextIcon,\n previousIcon,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n\n // Other props\n classNames,\n styles,\n unstyled,\n minDate,\n maxDate,\n locale,\n __staticSelector,\n size,\n __preventFocus,\n __stopPropagation,\n onNextDecade,\n onPreviousDecade,\n onNextYear,\n onPreviousYear,\n onNextMonth,\n onPreviousMonth,\n static: isStatic,\n ...others\n } = props;\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<CalendarFactory>({\n classNames,\n styles,\n props,\n });\n\n const [_level, setLevel] = useUncontrolled({\n value: level ? clampLevel(level, minLevel, maxLevel) : undefined,\n defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : undefined,\n finalValue: clampLevel(undefined, minLevel, maxLevel),\n onChange: onLevelChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Calendar',\n styles: resolvedStyles,\n classNames: resolvedClassNames,\n unstyled,\n size,\n };\n\n const _columnsToScroll = columnsToScroll || numberOfColumns || 1;\n const currentDate = _date || new Date();\n\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'month').toDate();\n onNextMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'month').toDate();\n onPreviousMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'year').toDate();\n onNextYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'year').toDate();\n onPreviousYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate)\n .add(10 * _columnsToScroll, 'year')\n .toDate();\n onNextDecade?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate)\n .subtract(10 * _columnsToScroll, 'year')\n .toDate();\n onPreviousDecade?.(nextDate);\n setDate(nextDate);\n };\n\n return (\n <Box ref={ref} size={size} data-calendar {...others}>\n {_level === 'month' && (\n <MonthLevelGroup\n month={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n weekendDays={weekendDays}\n getDayProps={getDayProps}\n excludeDate={excludeDate}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n getDayAriaLabel={getDayAriaLabel}\n onNext={handleNextMonth}\n onPrevious={handlePreviousMonth}\n hasNextLevel={maxLevel !== 'month'}\n onLevelClick={() => setLevel('year')}\n numberOfColumns={numberOfColumns}\n locale={locale}\n levelControlAriaLabel={ariaLabels?.monthLevelControl}\n nextLabel={ariaLabels?.nextMonth}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousMonth}\n previousIcon={previousIcon}\n monthLabelFormat={monthLabelFormat}\n __onDayClick={__onDayClick}\n __onDayMouseEnter={__onDayMouseEnter}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n static={isStatic}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'year' && (\n <YearLevelGroup\n year={currentDate}\n numberOfColumns={numberOfColumns}\n minDate={minDate}\n maxDate={maxDate}\n monthsListFormat={monthsListFormat}\n getMonthControlProps={getMonthControlProps}\n locale={locale}\n onNext={handleNextYear}\n onPrevious={handlePreviousYear}\n hasNextLevel={maxLevel !== 'month' && maxLevel !== 'year'}\n onLevelClick={() => setLevel('decade')}\n levelControlAriaLabel={ariaLabels?.yearLevelControl}\n nextLabel={ariaLabels?.nextYear}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousYear}\n previousIcon={previousIcon}\n yearLabelFormat={yearLabelFormat}\n __onControlMouseEnter={onMonthMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnMonthSelect && setDate(payload);\n setLevel(clampLevel('month', minLevel, maxLevel));\n onMonthSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'decade' && (\n <DecadeLevelGroup\n decade={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n yearsListFormat={yearsListFormat}\n getYearControlProps={getYearControlProps}\n locale={locale}\n onNext={handleNextDecade}\n onPrevious={handlePreviousDecade}\n numberOfColumns={numberOfColumns}\n nextLabel={ariaLabels?.nextDecade}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousDecade}\n previousIcon={previousIcon}\n decadeLabelFormat={decadeLabelFormat}\n __onControlMouseEnter={onYearMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnYearSelect && setDate(payload);\n setLevel(clampLevel('year', minLevel, maxLevel));\n onYearSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n </Box>\n );\n});\n\nCalendar.classes = {\n ...DecadeLevelGroup.classes,\n ...YearLevelGroup.classes,\n ...MonthLevelGroup.classes,\n};\nCalendar.displayName = '@mantine/dates/Calendar';\n"],"names":["factory","useProps","useResolvedStylesApi","useUncontrolled","clampLevel","dayjs","React","Box","MonthLevelGroup","YearLevelGroup","DecadeLevelGroup"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,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,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;AAcF,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,wBAAwB,EAAE,IAAI;AAChC,EAAE,yBAAyB,EAAE,IAAI;AACjC,CAAC,CAAC;AACU,MAAC,QAAQ,GAAGA,YAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AACjD,EAAE,MAAM,KAAK,GAAGC,aAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC3D,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AACpB,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,KAAK;AACT,IAAI,aAAa;AACjB,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,eAAe;AACnB,IAAI,eAAe;AACnB,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,gBAAgB;AACpB,IAAI,iBAAiB;AACrB,IAAI,wBAAwB;AAC5B,IAAI,yBAAyB;AAC7B,IAAI,cAAc,EAAE,cAAc;AAClC,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,eAAe;AACnB,IAAI,gBAAgB;AACpB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,iBAAiB;AACrB,IAAI,eAAe;AACnB,IAAI,gBAAgB,EAAE,gBAAgB;AACtC,IAAI,oBAAoB;AACxB,IAAI,eAAe;AACnB,IAAI,eAAe,EAAE,eAAe;AACpC,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,IAAI;AACR,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,eAAe;AACnB,IAAI,MAAM,EAAE,QAAQ;AACpB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,MAAM;AACV;AACA,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,eAAe;AACnB,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,eAAe;AACnB,IAAI,kBAAkB;AACtB,IAAI,mBAAmB;AACvB,IAAI,0BAA0B;AAC9B,IAAI,2BAA2B;AAC/B;AACA,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,kBAAkB;AACtB,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB;AACA,IAAI,kBAAkB;AACtB,IAAI,sBAAsB;AAC1B,IAAI,iBAAiB;AACrB;AACA,IAAI,iBAAiB;AACrB,IAAI,qBAAqB;AACzB,IAAI,mBAAmB;AACvB;AACA,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,kBAAkB;AACtB,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,aAAa;AACjB,IAAI,iBAAiB;AACrB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAGC,yBAAoB,CAAC;AACtE,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,KAAK;AACT,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGC,qBAAe,CAAC;AAC7C,IAAI,KAAK,EAAE,KAAK,GAAGC,qBAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;AACjE,IAAI,YAAY,EAAE,YAAY,GAAGA,qBAAU,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;AACtF,IAAI,UAAU,EAAEA,qBAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACtD,IAAI,QAAQ,EAAE,aAAa;AAC3B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAGD,qBAAe,CAAC;AAC3C,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,YAAY,EAAE,WAAW;AAC7B,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,YAAY;AAC1B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,cAAc,GAAG;AACzB,IAAI,gBAAgB,EAAE,gBAAgB,IAAI,UAAU;AACpD,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,UAAU,EAAE,kBAAkB;AAClC,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,eAAe,IAAI,eAAe,IAAI,CAAC,CAAC;AACnE,EAAE,MAAM,WAAW,GAAG,KAAK,oBAAoB,IAAI,IAAI,EAAE,CAAC;AAC1D,EAAE,MAAM,eAAe,GAAG,MAAM;AAChC,IAAI,MAAM,QAAQ,GAAGE,cAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;AAChF,IAAI,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AACzD,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,MAAM,mBAAmB,GAAG,MAAM;AACpC,IAAI,MAAM,QAAQ,GAAGA,cAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;AACrF,IAAI,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AACjE,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,MAAM,QAAQ,GAAGA,cAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/E,IAAI,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACvD,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,MAAM;AACnC,IAAI,MAAM,QAAQ,GAAGA,cAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACpF,IAAI,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC/D,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,MAAM,QAAQ,GAAGA,cAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACpF,IAAI,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,MAAM;AACrC,IAAI,MAAM,QAAQ,GAAGA,cAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACzF,IAAI,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACnE,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,QAAG,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,oBAAoBD,cAAK,CAAC,aAAa;AACzK,IAAIE,+BAAe;AACnB,IAAI,cAAc,CAAC;AACnB,MAAM,KAAK,EAAE,WAAW;AACxB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,cAAc;AACpB,MAAM,aAAa;AACnB,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,gBAAgB;AACtB,MAAM,YAAY;AAClB,MAAM,eAAe;AACrB,MAAM,MAAM,EAAE,eAAe;AAC7B,MAAM,UAAU,EAAE,mBAAmB;AACrC,MAAM,YAAY,EAAE,QAAQ,KAAK,OAAO;AACxC,MAAM,YAAY,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC;AAC1C,MAAM,eAAe;AACrB,MAAM,MAAM;AACZ,MAAM,qBAAqB,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,iBAAiB;AACvF,MAAM,SAAS,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,SAAS;AACnE,MAAM,QAAQ;AACd,MAAM,aAAa,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,aAAa;AAC3E,MAAM,YAAY;AAClB,MAAM,gBAAgB;AACtB,MAAM,YAAY;AAClB,MAAM,iBAAiB;AACvB,MAAM,cAAc;AACpB,MAAM,iBAAiB;AACvB,MAAM,MAAM,EAAE,QAAQ;AACtB,MAAM,eAAe;AACrB,KAAK,EAAE,cAAc,CAAC;AACtB,GAAG,EAAE,MAAM,KAAK,MAAM,oBAAoBF,cAAK,CAAC,aAAa;AAC7D,IAAIG,6BAAc;AAClB,IAAI,cAAc,CAAC;AACnB,MAAM,IAAI,EAAE,WAAW;AACvB,MAAM,eAAe;AACrB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,gBAAgB;AACtB,MAAM,oBAAoB;AAC1B,MAAM,MAAM;AACZ,MAAM,MAAM,EAAE,cAAc;AAC5B,MAAM,UAAU,EAAE,kBAAkB;AACpC,MAAM,YAAY,EAAE,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM;AAC/D,MAAM,YAAY,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;AAC5C,MAAM,qBAAqB,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,gBAAgB;AACtF,MAAM,SAAS,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ;AAClE,MAAM,QAAQ;AACd,MAAM,aAAa,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,YAAY;AAC1E,MAAM,YAAY;AAClB,MAAM,eAAe;AACrB,MAAM,qBAAqB,EAAE,iBAAiB;AAC9C,MAAM,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK;AAC7C,QAAQ,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;AACtD,QAAQ,QAAQ,CAACL,qBAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1D,QAAQ,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAChE,OAAO;AACP,MAAM,cAAc;AACpB,MAAM,iBAAiB;AACvB,MAAM,eAAe;AACrB,KAAK,EAAE,cAAc,CAAC;AACtB,GAAG,EAAE,MAAM,KAAK,QAAQ,oBAAoBE,cAAK,CAAC,aAAa;AAC/D,IAAII,iCAAgB;AACpB,IAAI,cAAc,CAAC;AACnB,MAAM,MAAM,EAAE,WAAW;AACzB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,eAAe;AACrB,MAAM,mBAAmB;AACzB,MAAM,MAAM;AACZ,MAAM,MAAM,EAAE,gBAAgB;AAC9B,MAAM,UAAU,EAAE,oBAAoB;AACtC,MAAM,eAAe;AACrB,MAAM,SAAS,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,UAAU;AACpE,MAAM,QAAQ;AACd,MAAM,aAAa,EAAE,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,cAAc;AAC5E,MAAM,YAAY;AAClB,MAAM,iBAAiB;AACvB,MAAM,qBAAqB,EAAE,gBAAgB;AAC7C,MAAM,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK;AAC7C,QAAQ,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,QAAQ,QAAQ,CAACN,qBAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzD,QAAQ,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9D,OAAO;AACP,MAAM,cAAc;AACpB,MAAM,iBAAiB;AACvB,MAAM,eAAe;AACrB,KAAK,EAAE,cAAc,CAAC;AACtB,GAAG,CAAC,CAAC;AACL,CAAC,EAAE;AACH,QAAQ,CAAC,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAEM,iCAAgB,CAAC,OAAO,CAAC,EAAED,6BAAc,CAAC,OAAO,CAAC,EAAED,+BAAe,CAAC,OAAO,CAAC,CAAC;AACjJ,QAAQ,CAAC,WAAW,GAAG,yBAAyB;;;;"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n useResolvedStylesApi,\n} from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { MonthLevelGroup, MonthLevelGroupStylesNames } from '../MonthLevelGroup';\nimport { YearLevelGroup, YearLevelGroupStylesNames } from '../YearLevelGroup';\nimport { DecadeLevelGroup, DecadeLevelGroupStylesNames } from '../DecadeLevelGroup';\nimport { CalendarLevel } from '../../types';\nimport { clampLevel } from './clamp-level/clamp-level';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { DecadeLevelSettings } from '../DecadeLevel';\nimport { useDatesContext } from '../DatesProvider';\nimport { shiftTimezone } from '../../utils';\nimport { useUncontrolledDates } from '../../hooks';\n\nexport type CalendarStylesNames =\n | MonthLevelGroupStylesNames\n | YearLevelGroupStylesNames\n | DecadeLevelGroupStylesNames;\n\nexport interface CalendarAriaLabels {\n monthLevelControl?: string;\n yearLevelControl?: string;\n\n nextMonth?: string;\n previousMonth?: string;\n\n nextYear?: string;\n previousYear?: string;\n\n nextDecade?: string;\n previousDecade?: string;\n}\n\ntype OmittedSettings =\n | 'onNext'\n | 'onPrevious'\n | 'onLevelClick'\n | 'withNext'\n | 'withPrevious'\n | 'nextDisabled'\n | 'previousDisabled';\n\nexport interface CalendarSettings\n extends Omit<DecadeLevelSettings, OmittedSettings>,\n Omit<YearLevelSettings, OmittedSettings>,\n Omit<MonthLevelSettings, OmittedSettings> {\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n\n /** Called when user clicks year on decade level */\n onYearSelect?(date: Date): void;\n\n /** Called when user clicks month on year level */\n onMonthSelect?(date: Date): void;\n\n /** Called when mouse enters year control */\n onYearMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters month control */\n onMonthMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n}\n\nexport interface CalendarBaseProps {\n __staticSelector?: string;\n\n /** Internal Variable to check if timezones were applied by parent component */\n __timezoneApplied?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Determines whether date should be updated when year control is clicked */\n __updateDateOnYearSelect?: boolean;\n\n /** Determines whether date should be updated when month control is clicked */\n __updateDateOnMonthSelect?: boolean;\n\n /** Initial date that is displayed, used for uncontrolled component */\n defaultDate?: Date;\n\n /** Date that is displayed, used for controlled component */\n date?: Date;\n\n /** Called when date changes */\n onDateChange?(date: Date): void;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Number of columns to scroll when user clicks next/prev buttons, defaults to numberOfColumns */\n columnsToScroll?: number;\n\n /** aria-label attributes for controls on different levels */\n ariaLabels?: CalendarAriaLabels;\n\n /** Called when next decade button is clicked */\n onNextDecade?(date: Date): void;\n\n /** Called when previous decade button is clicked */\n onPreviousDecade?(date: Date): void;\n\n /** Called when next year button is clicked */\n onNextYear?(date: Date): void;\n\n /** Called when previous year button is clicked */\n onPreviousYear?(date: Date): void;\n\n /** Called when next month button is clicked */\n onNextMonth?(date: Date): void;\n\n /** Called when previous month button is clicked */\n onPreviousMonth?(date: Date): void;\n}\n\nexport interface CalendarProps\n extends BoxProps,\n CalendarSettings,\n CalendarBaseProps,\n StylesApiProps<CalendarFactory>,\n ElementProps<'div'> {\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Min level that user can go down to (decade, year, month), defaults to month */\n minLevel?: CalendarLevel;\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\nexport type CalendarFactory = Factory<{\n props: CalendarProps;\n ref: HTMLDivElement;\n stylesNames: CalendarStylesNames;\n}>;\n\nconst defaultProps: Partial<CalendarProps> = {\n maxLevel: 'decade',\n minLevel: 'month',\n __updateDateOnYearSelect: true,\n __updateDateOnMonthSelect: true,\n};\n\nexport const Calendar = factory<CalendarFactory>((_props, ref) => {\n const props = useProps('Calendar', defaultProps, _props);\n const {\n vars, // CalendarLevel props\n maxLevel,\n minLevel,\n defaultLevel,\n level,\n onLevelChange,\n date,\n defaultDate,\n onDateChange,\n numberOfColumns,\n columnsToScroll,\n ariaLabels,\n onYearSelect,\n onMonthSelect,\n onYearMouseEnter,\n onMonthMouseEnter,\n __updateDateOnYearSelect,\n __updateDateOnMonthSelect,\n\n // MonthLevelGroup props\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n monthLabelFormat,\n nextIcon,\n previousIcon,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n\n // YearLevelGroup props\n monthsListFormat,\n getMonthControlProps,\n yearLabelFormat,\n\n // DecadeLevelGroup props\n yearsListFormat,\n getYearControlProps,\n decadeLabelFormat,\n\n // Other props\n classNames,\n styles,\n unstyled,\n minDate,\n maxDate,\n locale,\n __staticSelector,\n size,\n __preventFocus,\n __stopPropagation,\n onNextDecade,\n onPreviousDecade,\n onNextYear,\n onPreviousYear,\n onNextMonth,\n onPreviousMonth,\n static: isStatic,\n __timezoneApplied,\n ...others\n } = props;\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<CalendarFactory>({\n classNames,\n styles,\n props,\n });\n\n const [_level, setLevel] = useUncontrolled({\n value: level ? clampLevel(level, minLevel, maxLevel) : undefined,\n defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : undefined,\n finalValue: clampLevel(undefined, minLevel, maxLevel),\n onChange: onLevelChange,\n });\n\n const [_date, setDate] = useUncontrolledDates({\n type: 'default',\n value: date,\n defaultValue: defaultDate,\n onChange: onDateChange as any,\n applyTimezone: !__timezoneApplied,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Calendar',\n styles: resolvedStyles,\n classNames: resolvedClassNames,\n unstyled,\n size,\n };\n\n const ctx = useDatesContext();\n\n const _columnsToScroll = columnsToScroll || numberOfColumns || 1;\n const currentDate = _date || shiftTimezone('add', new Date(), ctx.getTimezone());\n\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'month').toDate();\n onNextMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'month').toDate();\n onPreviousMonth?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(_columnsToScroll, 'year').toDate();\n onNextYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(_columnsToScroll, 'year').toDate();\n onPreviousYear?.(nextDate);\n setDate(nextDate);\n };\n\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate)\n .add(10 * _columnsToScroll, 'year')\n .toDate();\n onNextDecade?.(nextDate);\n setDate(nextDate);\n };\n\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate)\n .subtract(10 * _columnsToScroll, 'year')\n .toDate();\n onPreviousDecade?.(nextDate);\n setDate(nextDate);\n };\n\n return (\n <Box ref={ref} size={size} data-calendar {...others}>\n {_level === 'month' && (\n <MonthLevelGroup\n month={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n weekendDays={weekendDays}\n getDayProps={getDayProps}\n excludeDate={excludeDate}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n getDayAriaLabel={getDayAriaLabel}\n onNext={handleNextMonth}\n onPrevious={handlePreviousMonth}\n hasNextLevel={maxLevel !== 'month'}\n onLevelClick={() => setLevel('year')}\n numberOfColumns={numberOfColumns}\n locale={locale}\n levelControlAriaLabel={ariaLabels?.monthLevelControl}\n nextLabel={ariaLabels?.nextMonth}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousMonth}\n previousIcon={previousIcon}\n monthLabelFormat={monthLabelFormat}\n __onDayClick={__onDayClick}\n __onDayMouseEnter={__onDayMouseEnter}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n static={isStatic}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'year' && (\n <YearLevelGroup\n year={currentDate}\n numberOfColumns={numberOfColumns}\n minDate={minDate}\n maxDate={maxDate}\n monthsListFormat={monthsListFormat}\n getMonthControlProps={getMonthControlProps}\n locale={locale}\n onNext={handleNextYear}\n onPrevious={handlePreviousYear}\n hasNextLevel={maxLevel !== 'month' && maxLevel !== 'year'}\n onLevelClick={() => setLevel('decade')}\n levelControlAriaLabel={ariaLabels?.yearLevelControl}\n nextLabel={ariaLabels?.nextYear}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousYear}\n previousIcon={previousIcon}\n yearLabelFormat={yearLabelFormat}\n __onControlMouseEnter={onMonthMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnMonthSelect && setDate(payload);\n setLevel(clampLevel('month', minLevel, maxLevel));\n onMonthSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n\n {_level === 'decade' && (\n <DecadeLevelGroup\n decade={currentDate}\n minDate={minDate}\n maxDate={maxDate}\n yearsListFormat={yearsListFormat}\n getYearControlProps={getYearControlProps}\n locale={locale}\n onNext={handleNextDecade}\n onPrevious={handlePreviousDecade}\n numberOfColumns={numberOfColumns}\n nextLabel={ariaLabels?.nextDecade}\n nextIcon={nextIcon}\n previousLabel={ariaLabels?.previousDecade}\n previousIcon={previousIcon}\n decadeLabelFormat={decadeLabelFormat}\n __onControlMouseEnter={onYearMouseEnter}\n __onControlClick={(_event, payload) => {\n __updateDateOnYearSelect && setDate(payload);\n setLevel(clampLevel('year', minLevel, maxLevel));\n onYearSelect?.(payload);\n }}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n withCellSpacing={withCellSpacing}\n {...stylesApiProps}\n />\n )}\n </Box>\n );\n});\n\nCalendar.classes = {\n ...DecadeLevelGroup.classes,\n ...YearLevelGroup.classes,\n ...MonthLevelGroup.classes,\n};\nCalendar.displayName = '@mantine/dates/Calendar';\n"],"names":["factory","useProps","useResolvedStylesApi","useUncontrolled","clampLevel","useUncontrolledDates","useDatesContext","shiftTimezone","dayjs","React","Box","MonthLevelGroup","YearLevelGroup","DecadeLevelGroup"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarHeader.js","sources":["../../../src/components/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n UnstyledButton,\n AccordionChevron,\n getSize,\n getFontSize,\n} from '@mantine/core';\nimport classes from './CalendarHeader.module.css';\n\nexport type CalendarHeaderStylesNames =\n | 'calendarHeader'\n | 'calendarHeaderControl'\n | 'calendarHeaderLevel'\n | 'calendarHeaderControlIcon';\nexport type CalendarHeaderCssVariables = {\n calendarHeader: '--dch-control-size' | '--dch-fz';\n};\n\nexport interface CalendarHeaderSettings {\n __preventFocus?: boolean;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Change next icon */\n nextIcon?: React.ReactNode;\n\n /** Change previous icon */\n previousIcon?: React.ReactNode;\n\n /** aria-label for next button */\n nextLabel?: string;\n\n /** aria-label for previous button */\n previousLabel?: string;\n\n /** Called when next button is clicked */\n onNext?(): void;\n\n /** Called when previous button is clicked */\n onPrevious?(): void;\n\n /** Called when level button is clicked */\n onLevelClick?(): void;\n\n /** Determines whether next control should be disabled, defaults to true */\n nextDisabled?: boolean;\n\n /** Determines whether previous control should be disabled, defaults to true */\n previousDisabled?: boolean;\n\n /** Determines whether next level button should be enabled, defaults to true */\n hasNextLevel?: boolean;\n\n /** Determines whether next control should be rendered, defaults to true */\n withNext?: boolean;\n\n /** Determines whether previous control should be rendered, defaults to true */\n withPrevious?: boolean;\n\n /** Component size */\n size?: MantineSize;\n}\n\nexport interface CalendarHeaderProps\n extends BoxProps,\n CalendarHeaderSettings,\n StylesApiProps<CalendarHeaderFactory>,\n ElementProps<'div'> {\n __staticSelector?: string;\n\n /** Label displayed between next and previous buttons */\n label: React.ReactNode;\n\n /** aria-label for level control */\n levelControlAriaLabel?: string;\n}\n\nexport type CalendarHeaderFactory = Factory<{\n props: CalendarHeaderProps;\n ref: HTMLDivElement;\n stylesNames: CalendarHeaderStylesNames;\n vars: CalendarHeaderCssVariables;\n}>;\n\nconst defaultProps: Partial<CalendarHeaderProps> = {\n nextDisabled: false,\n previousDisabled: false,\n hasNextLevel: true,\n withNext: true,\n withPrevious: true,\n size: 'sm',\n};\n\nconst varsResolver = createVarsResolver<CalendarHeaderFactory>((_, { size }) => ({\n calendarHeader: {\n '--dch-control-size': getSize(size, 'dch-control-size'),\n '--dch-fz': getFontSize(size),\n },\n}));\n\nexport const CalendarHeader = factory<CalendarHeaderFactory>((_props, ref) => {\n const props = useProps('CalendarHeader', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n label,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n __staticSelector,\n __preventFocus,\n __stopPropagation,\n ...others\n } = props;\n\n const getStyles = useStyles<CalendarHeaderFactory>({\n name: __staticSelector || 'CalendarHeader',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n rootSelector: 'calendarHeader',\n });\n\n const preventFocus = __preventFocus\n ? (event: React.MouseEvent<HTMLElement>) => event.preventDefault()\n : undefined;\n\n return (\n <Box {...getStyles('calendarHeader')} ref={ref} {...others}>\n {withPrevious && (\n <UnstyledButton\n {...getStyles('calendarHeaderControl')}\n data-direction=\"previous\"\n aria-label={previousLabel}\n onClick={onPrevious}\n unstyled={unstyled}\n onMouseDown={preventFocus}\n disabled={previousDisabled}\n data-disabled={previousDisabled || undefined}\n tabIndex={__preventFocus ? -1 : 0}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n >\n {previousIcon || (\n <AccordionChevron\n {...getStyles('calendarHeaderControlIcon')}\n data-direction=\"previous\"\n size=\"45%\"\n />\n )}\n </UnstyledButton>\n )}\n\n <UnstyledButton\n component={hasNextLevel ? 'button' : 'div'}\n {...getStyles('calendarHeaderLevel')}\n onClick={hasNextLevel ? onLevelClick : undefined}\n unstyled={unstyled}\n onMouseDown={hasNextLevel ? preventFocus : undefined}\n disabled={!hasNextLevel}\n data-static={!hasNextLevel || undefined}\n aria-label={levelControlAriaLabel}\n tabIndex={__preventFocus || !hasNextLevel ? -1 : 0}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n >\n {label}\n </UnstyledButton>\n\n {withNext && (\n <UnstyledButton\n {...getStyles('calendarHeaderControl')}\n data-direction=\"next\"\n aria-label={nextLabel}\n onClick={onNext}\n unstyled={unstyled}\n onMouseDown={preventFocus}\n disabled={nextDisabled}\n data-disabled={nextDisabled || undefined}\n tabIndex={__preventFocus ? -1 : 0}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n >\n {nextIcon || (\n <AccordionChevron\n {...getStyles('calendarHeaderControlIcon')}\n data-direction=\"next\"\n size=\"45%\"\n />\n )}\n </UnstyledButton>\n )}\n </Box>\n );\n});\n\nCalendarHeader.classes = classes;\nCalendarHeader.displayName = '@mantine/dates/CalendarHeader';\n"],"names":["createVarsResolver","getSize","getFontSize","factory","useProps","useStyles","classes","React","Box","UnstyledButton","AccordionChevron"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarHeader.js","sources":["../../../src/components/CalendarHeader/CalendarHeader.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n createVarsResolver,\n Factory,\n MantineSize,\n UnstyledButton,\n AccordionChevron,\n getSize,\n getFontSize,\n} from '@mantine/core';\nimport classes from './CalendarHeader.module.css';\n\nexport type CalendarHeaderStylesNames =\n | 'calendarHeader'\n | 'calendarHeaderControl'\n | 'calendarHeaderLevel'\n | 'calendarHeaderControlIcon';\nexport type CalendarHeaderCssVariables = {\n calendarHeader: '--dch-control-size' | '--dch-fz';\n};\n\nexport interface CalendarHeaderSettings {\n __preventFocus?: boolean;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Change next icon */\n nextIcon?: React.ReactNode;\n\n /** Change previous icon */\n previousIcon?: React.ReactNode;\n\n /** aria-label for next button */\n nextLabel?: string;\n\n /** aria-label for previous button */\n previousLabel?: string;\n\n /** Called when next button is clicked */\n onNext?(): void;\n\n /** Called when previous button is clicked */\n onPrevious?(): void;\n\n /** Called when level button is clicked */\n onLevelClick?(): void;\n\n /** Determines whether next control should be disabled, defaults to true */\n nextDisabled?: boolean;\n\n /** Determines whether previous control should be disabled, defaults to true */\n previousDisabled?: boolean;\n\n /** Determines whether next level button should be enabled, defaults to true */\n hasNextLevel?: boolean;\n\n /** Determines whether next control should be rendered, defaults to true */\n withNext?: boolean;\n\n /** Determines whether previous control should be rendered, defaults to true */\n withPrevious?: boolean;\n\n /** Component size */\n size?: MantineSize;\n}\n\nexport interface CalendarHeaderProps\n extends BoxProps,\n CalendarHeaderSettings,\n StylesApiProps<CalendarHeaderFactory>,\n ElementProps<'div'> {\n __staticSelector?: string;\n\n /** Label displayed between next and previous buttons */\n label: React.ReactNode;\n\n /** aria-label for level control */\n levelControlAriaLabel?: string;\n}\n\nexport type CalendarHeaderFactory = Factory<{\n props: CalendarHeaderProps;\n ref: HTMLDivElement;\n stylesNames: CalendarHeaderStylesNames;\n vars: CalendarHeaderCssVariables;\n}>;\n\nconst defaultProps: Partial<CalendarHeaderProps> = {\n nextDisabled: false,\n previousDisabled: false,\n hasNextLevel: true,\n withNext: true,\n withPrevious: true,\n};\n\nconst varsResolver = createVarsResolver<CalendarHeaderFactory>((_, { size }) => ({\n calendarHeader: {\n '--dch-control-size': getSize(size, 'dch-control-size'),\n '--dch-fz': getFontSize(size),\n },\n}));\n\nexport const CalendarHeader = factory<CalendarHeaderFactory>((_props, ref) => {\n const props = useProps('CalendarHeader', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n label,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n levelControlAriaLabel,\n withNext,\n withPrevious,\n __staticSelector,\n __preventFocus,\n __stopPropagation,\n ...others\n } = props;\n\n const getStyles = useStyles<CalendarHeaderFactory>({\n name: __staticSelector || 'CalendarHeader',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n rootSelector: 'calendarHeader',\n });\n\n const preventFocus = __preventFocus\n ? (event: React.MouseEvent<HTMLElement>) => event.preventDefault()\n : undefined;\n\n return (\n <Box {...getStyles('calendarHeader')} ref={ref} {...others}>\n {withPrevious && (\n <UnstyledButton\n {...getStyles('calendarHeaderControl')}\n data-direction=\"previous\"\n aria-label={previousLabel}\n onClick={onPrevious}\n unstyled={unstyled}\n onMouseDown={preventFocus}\n disabled={previousDisabled}\n data-disabled={previousDisabled || undefined}\n tabIndex={__preventFocus ? -1 : 0}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n >\n {previousIcon || (\n <AccordionChevron\n {...getStyles('calendarHeaderControlIcon')}\n data-direction=\"previous\"\n size=\"45%\"\n />\n )}\n </UnstyledButton>\n )}\n\n <UnstyledButton\n component={hasNextLevel ? 'button' : 'div'}\n {...getStyles('calendarHeaderLevel')}\n onClick={hasNextLevel ? onLevelClick : undefined}\n unstyled={unstyled}\n onMouseDown={hasNextLevel ? preventFocus : undefined}\n disabled={!hasNextLevel}\n data-static={!hasNextLevel || undefined}\n aria-label={levelControlAriaLabel}\n tabIndex={__preventFocus || !hasNextLevel ? -1 : 0}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n >\n {label}\n </UnstyledButton>\n\n {withNext && (\n <UnstyledButton\n {...getStyles('calendarHeaderControl')}\n data-direction=\"next\"\n aria-label={nextLabel}\n onClick={onNext}\n unstyled={unstyled}\n onMouseDown={preventFocus}\n disabled={nextDisabled}\n data-disabled={nextDisabled || undefined}\n tabIndex={__preventFocus ? -1 : 0}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n >\n {nextIcon || (\n <AccordionChevron\n {...getStyles('calendarHeaderControlIcon')}\n data-direction=\"next\"\n size=\"45%\"\n />\n )}\n </UnstyledButton>\n )}\n </Box>\n );\n});\n\nCalendarHeader.classes = classes;\nCalendarHeader.displayName = '@mantine/dates/CalendarHeader';\n"],"names":["createVarsResolver","getSize","getFontSize","factory","useProps","useStyles","classes","React","Box","UnstyledButton","AccordionChevron"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ var isDateValid = require('./is-date-valid/is-date-valid.js');
|
|
|
10
10
|
var dateStringParser = require('./date-string-parser/date-string-parser.js');
|
|
11
11
|
var pickCalendarLevelsProps = require('../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js');
|
|
12
12
|
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
13
|
+
var useUncontrolledDates = require('../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.js');
|
|
13
14
|
var Calendar = require('../Calendar/Calendar.js');
|
|
14
15
|
var HiddenDatesInput = require('../HiddenDatesInput/HiddenDatesInput.js');
|
|
15
16
|
var assignTime = require('../../utils/assign-time/assign-time.js');
|
|
@@ -53,8 +54,7 @@ var __objRest = (source, exclude) => {
|
|
|
53
54
|
const defaultProps = {
|
|
54
55
|
valueFormat: "MMMM D, YYYY",
|
|
55
56
|
fixOnBlur: true,
|
|
56
|
-
preserveTime: true
|
|
57
|
-
size: "sm"
|
|
57
|
+
preserveTime: true
|
|
58
58
|
};
|
|
59
59
|
const DateInput = core.factory((_props, ref) => {
|
|
60
60
|
const props = core.useInputProps("DateInput", defaultProps, _props);
|
|
@@ -125,21 +125,21 @@ const DateInput = core.factory((_props, ref) => {
|
|
|
125
125
|
const ctx = useDatesContext.useDatesContext();
|
|
126
126
|
const defaultDateParser = (val) => {
|
|
127
127
|
const parsedDate = dayjs__default(val, valueFormat, ctx.getLocale(locale)).toDate();
|
|
128
|
-
return Number.isNaN(parsedDate.getTime()) ? dateStringParser.dateStringParser(val) : parsedDate;
|
|
128
|
+
return Number.isNaN(parsedDate.getTime()) ? dateStringParser.dateStringParser(val, ctx.getTimezone()) : parsedDate;
|
|
129
129
|
};
|
|
130
130
|
const _dateParser = dateParser || defaultDateParser;
|
|
131
131
|
const _allowDeselect = allowDeselect !== void 0 ? allowDeselect : clearable;
|
|
132
132
|
const formatValue = (val) => val ? dayjs__default(val).locale(ctx.getLocale(locale)).format(valueFormat) : "";
|
|
133
|
-
const [_value, setValue, controlled] =
|
|
133
|
+
const [_value, setValue, controlled] = useUncontrolledDates.useUncontrolledDates({
|
|
134
|
+
type: "default",
|
|
134
135
|
value,
|
|
135
136
|
defaultValue,
|
|
136
|
-
finalValue: null,
|
|
137
137
|
onChange
|
|
138
138
|
});
|
|
139
|
-
const [_date, setDate] =
|
|
139
|
+
const [_date, setDate] = useUncontrolledDates.useUncontrolledDates({
|
|
140
|
+
type: "default",
|
|
140
141
|
value: date,
|
|
141
142
|
defaultValue: defaultValue || defaultDate,
|
|
142
|
-
finalValue: null,
|
|
143
143
|
onChange: onDateChange
|
|
144
144
|
});
|
|
145
145
|
React.useEffect(() => {
|
|
@@ -236,7 +236,8 @@ const DateInput = core.factory((_props, ref) => {
|
|
|
236
236
|
/* @__PURE__ */ React__default.createElement(core.Popover.Dropdown, { onMouseDown: (event) => event.preventDefault(), "data-dates-dropdown": true }, /* @__PURE__ */ React__default.createElement(
|
|
237
237
|
Calendar.Calendar,
|
|
238
238
|
__spreadProps(__spreadValues({
|
|
239
|
-
__staticSelector: "DateInput"
|
|
239
|
+
__staticSelector: "DateInput",
|
|
240
|
+
__timezoneApplied: true
|
|
240
241
|
}, calendarProps), {
|
|
241
242
|
classNames,
|
|
242
243
|
styles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.js","sources":["../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n Factory,\n InputVariant,\n __BaseInputProps,\n __InputStylesNames,\n PopoverProps,\n useInputProps,\n Input,\n Popover,\n CloseButton,\n MantineSize,\n} from '@mantine/core';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { Calendar, CalendarBaseProps, CalendarStylesNames, pickCalendarProps } from '../Calendar';\nimport { DecadeLevelSettings } from '../DecadeLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { HiddenDatesInput } from '../HiddenDatesInput';\nimport { assignTime } from '../../utils';\nimport { DateValue, CalendarLevel } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { isDateValid } from './is-date-valid/is-date-valid';\nimport { dateStringParser } from './date-string-parser/date-string-parser';\n\nexport type DateInputStylesNames = __InputStylesNames | CalendarStylesNames;\n\nexport interface DateInputProps\n extends BoxProps,\n Omit<__BaseInputProps, 'size'>,\n CalendarBaseProps,\n DecadeLevelSettings,\n YearLevelSettings,\n MonthLevelSettings,\n StylesApiProps<DateInputFactory>,\n ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Parses user input to convert it to Date object */\n dateParser?: (value: string) => Date | null;\n\n /** Value for controlled component */\n value?: DateValue;\n\n /** Default value for uncontrolled component */\n defaultValue?: DateValue;\n\n /** Called when value changes */\n onChange?(value: DateValue): void;\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, '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 /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n\n /** Determines whether input value should be reverted to last known valid value on blur, true by default */\n fixOnBlur?: boolean;\n\n /** Determines whether value can be deselected when the user clicks on the selected date in the calendar (only when clearable prop is set), defaults to true if clearable prop is set, false otherwise */\n allowDeselect?: boolean;\n\n /** Determines whether time (hours, minutes, seconds and milliseconds) should be preserved when new date is picked, true by default */\n preserveTime?: boolean;\n\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nexport type DateInputFactory = Factory<{\n props: DateInputProps;\n ref: HTMLInputElement;\n stylesNames: DateInputStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<DateInputProps> = {\n valueFormat: 'MMMM D, YYYY',\n fixOnBlur: true,\n preserveTime: true,\n size: 'sm',\n};\n\nexport const DateInput = factory<DateInputFactory>((_props, ref) => {\n const props = useInputProps('DateInput', defaultProps, _props);\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n preserveTime,\n date,\n defaultDate,\n onDateChange,\n ...rest\n } = props;\n\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val: string) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : parsedDate;\n };\n\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = allowDeselect !== undefined ? allowDeselect : clearable;\n\n const formatValue = (val: Date) =>\n val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : '';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultValue || defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n useEffect(() => {\n if (controlled) {\n setDate(value!);\n }\n }, [controlled, value]);\n\n const [inputValue, setInputValue] = useState(formatValue(_value!));\n\n useEffect(() => {\n setInputValue(formatValue(_value!));\n }, [ctx.getLocale(locale)]);\n\n const [dropdownOpened, setDropdownOpened] = useState(false);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n\n if (val.trim() === '' && clearable) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (isDateValid({ date: dateValue!, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value!));\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n const _getDayProps = (day: Date) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value!).isSame(day, 'day'),\n onClick: () => {\n const valueWithTime = preserveTime ? assignTime(_value!, day) : day;\n const val =\n clearable && _allowDeselect\n ? dayjs(_value!).isSame(day, 'day')\n ? null\n : valueWithTime\n : valueWithTime;\n setValue(val);\n !controlled && setInputValue(formatValue(val!));\n setDropdownOpened(false);\n },\n });\n\n const _rightSection =\n rightSection ||\n (clearable && _value && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n onClick={() => {\n setValue(null);\n !controlled && setInputValue('');\n setDropdownOpened(false);\n }}\n unstyled={unstyled}\n {...clearButtonProps}\n />\n ) : null);\n\n useDidUpdate(() => {\n value !== undefined && !dropdownOpened && setInputValue(formatValue(value!));\n }, [value]);\n\n return (\n <>\n <Input.Wrapper {...wrapperProps} __staticSelector=\"DateInput\">\n <Popover\n opened={dropdownOpened}\n trapFocus={false}\n position=\"bottom-start\"\n disabled={readOnly}\n withRoles={false}\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n autoComplete=\"off\"\n ref={ref}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onClick={handleInputClick}\n readOnly={readOnly}\n rightSection={_rightSection}\n {...inputProps}\n {...others}\n __staticSelector=\"DateInput\"\n />\n </Popover.Target>\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} data-dates-dropdown>\n <Calendar\n __staticSelector=\"DateInput\"\n {...calendarProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __preventFocus\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n getDayProps={_getDayProps}\n size={inputProps.size as MantineSize}\n date={_date!}\n onDateChange={setDate}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput name={name} form={form} value={_value} type=\"default\" />\n </>\n );\n});\n\nDateInput.classes = { ...Input.classes, ...Calendar.classes };\nDateInput.displayName = '@mantine/dates/DateInput';\n"],"names":["factory","useInputProps","pickCalendarProps","useDatesContext","dayjs","dateStringParser","useUncontrolled","useEffect","useState","isDateValid","assignTime","React","CloseButton","useDidUpdate","Input","Popover","Calendar","HiddenDatesInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateInput.js","sources":["../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n Factory,\n InputVariant,\n __BaseInputProps,\n __InputStylesNames,\n PopoverProps,\n useInputProps,\n Input,\n Popover,\n CloseButton,\n MantineSize,\n} from '@mantine/core';\nimport { useDidUpdate } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { Calendar, CalendarBaseProps, CalendarStylesNames, pickCalendarProps } from '../Calendar';\nimport { DecadeLevelSettings } from '../DecadeLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { HiddenDatesInput } from '../HiddenDatesInput';\nimport { assignTime } from '../../utils';\nimport { DateValue, CalendarLevel } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { isDateValid } from './is-date-valid/is-date-valid';\nimport { dateStringParser } from './date-string-parser/date-string-parser';\nimport { useUncontrolledDates } from '../../hooks';\n\nexport type DateInputStylesNames = __InputStylesNames | CalendarStylesNames;\n\nexport interface DateInputProps\n extends BoxProps,\n Omit<__BaseInputProps, 'size'>,\n CalendarBaseProps,\n DecadeLevelSettings,\n YearLevelSettings,\n MonthLevelSettings,\n StylesApiProps<DateInputFactory>,\n ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Parses user input to convert it to Date object */\n dateParser?: (value: string) => Date | null;\n\n /** Value for controlled component */\n value?: DateValue;\n\n /** Default value for uncontrolled component */\n defaultValue?: DateValue;\n\n /** Called when value changes */\n onChange?(value: DateValue): void;\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, '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 /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n\n /** Determines whether input value should be reverted to last known valid value on blur, true by default */\n fixOnBlur?: boolean;\n\n /** Determines whether value can be deselected when the user clicks on the selected date in the calendar (only when clearable prop is set), defaults to true if clearable prop is set, false otherwise */\n allowDeselect?: boolean;\n\n /** Determines whether time (hours, minutes, seconds and milliseconds) should be preserved when new date is picked, true by default */\n preserveTime?: boolean;\n\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nexport type DateInputFactory = Factory<{\n props: DateInputProps;\n ref: HTMLInputElement;\n stylesNames: DateInputStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<DateInputProps> = {\n valueFormat: 'MMMM D, YYYY',\n fixOnBlur: true,\n preserveTime: true,\n};\n\nexport const DateInput = factory<DateInputFactory>((_props, ref) => {\n const props = useInputProps('DateInput', defaultProps, _props);\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n preserveTime,\n date,\n defaultDate,\n onDateChange,\n ...rest\n } = props;\n\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val: string) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime())\n ? dateStringParser(val, ctx.getTimezone())\n : parsedDate;\n };\n\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = allowDeselect !== undefined ? allowDeselect : clearable;\n\n const formatValue = (val: Date) =>\n val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : '';\n\n const [_value, setValue, controlled] = useUncontrolledDates({\n type: 'default',\n value,\n defaultValue,\n onChange,\n });\n\n const [_date, setDate] = useUncontrolledDates({\n type: 'default',\n value: date,\n defaultValue: defaultValue || defaultDate,\n onChange: onDateChange as any,\n });\n\n useEffect(() => {\n if (controlled) {\n setDate(value!);\n }\n }, [controlled, value]);\n\n const [inputValue, setInputValue] = useState(formatValue(_value!));\n\n useEffect(() => {\n setInputValue(formatValue(_value!));\n }, [ctx.getLocale(locale)]);\n\n const [dropdownOpened, setDropdownOpened] = useState(false);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n\n if (val.trim() === '' && clearable) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (isDateValid({ date: dateValue!, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value!));\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n const _getDayProps = (day: Date) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value!).isSame(day, 'day'),\n onClick: () => {\n const valueWithTime = preserveTime ? assignTime(_value!, day) : day;\n const val =\n clearable && _allowDeselect\n ? dayjs(_value!).isSame(day, 'day')\n ? null\n : valueWithTime\n : valueWithTime;\n setValue(val);\n !controlled && setInputValue(formatValue(val!));\n setDropdownOpened(false);\n },\n });\n\n const _rightSection =\n rightSection ||\n (clearable && _value && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n onClick={() => {\n setValue(null);\n !controlled && setInputValue('');\n setDropdownOpened(false);\n }}\n unstyled={unstyled}\n {...clearButtonProps}\n />\n ) : null);\n\n useDidUpdate(() => {\n value !== undefined && !dropdownOpened && setInputValue(formatValue(value!));\n }, [value]);\n\n return (\n <>\n <Input.Wrapper {...wrapperProps} __staticSelector=\"DateInput\">\n <Popover\n opened={dropdownOpened}\n trapFocus={false}\n position=\"bottom-start\"\n disabled={readOnly}\n withRoles={false}\n unstyled={unstyled}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n autoComplete=\"off\"\n ref={ref}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onClick={handleInputClick}\n readOnly={readOnly}\n rightSection={_rightSection}\n {...inputProps}\n {...others}\n __staticSelector=\"DateInput\"\n />\n </Popover.Target>\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} data-dates-dropdown>\n <Calendar\n __staticSelector=\"DateInput\"\n __timezoneApplied\n {...calendarProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __preventFocus\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n getDayProps={_getDayProps}\n size={inputProps.size as MantineSize}\n date={_date!}\n onDateChange={setDate}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput name={name} form={form} value={_value} type=\"default\" />\n </>\n );\n});\n\nDateInput.classes = { ...Input.classes, ...Calendar.classes };\nDateInput.displayName = '@mantine/dates/DateInput';\n"],"names":["factory","useInputProps","pickCalendarProps","useDatesContext","dayjs","dateStringParser","useUncontrolledDates","useEffect","useState","isDateValid","assignTime","React","CloseButton","useDidUpdate","Input","Popover","Calendar","HiddenDatesInput"],"mappings":"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"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
var shiftTimezone = require('../../../utils/shift-timezone.js');
|
|
6
|
+
|
|
7
|
+
function dateStringParser(dateString, timezone) {
|
|
6
8
|
if (dateString === null) {
|
|
7
9
|
return null;
|
|
8
10
|
}
|
|
9
|
-
const date = new Date(dateString);
|
|
11
|
+
const date = shiftTimezone.shiftTimezone("add", new Date(dateString), timezone);
|
|
10
12
|
if (Number.isNaN(date.getTime()) || !dateString) {
|
|
11
13
|
return null;
|
|
12
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-string-parser.js","sources":["../../../../src/components/DateInput/date-string-parser/date-string-parser.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"date-string-parser.js","sources":["../../../../src/components/DateInput/date-string-parser/date-string-parser.ts"],"sourcesContent":["import { shiftTimezone } from '../../../utils';\n\nexport function dateStringParser(dateString: string | null, timezone?: string) {\n if (dateString === null) {\n return null;\n }\n\n const date = shiftTimezone('add', new Date(dateString), timezone);\n\n if (Number.isNaN(date.getTime()) || !dateString) {\n return null;\n }\n\n return date;\n}\n"],"names":["shiftTimezone"],"mappings":";;;;;;AACO,SAAS,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE;AACvD,EAAE,IAAI,UAAU,KAAK,IAAI,EAAE;AAC3B,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,MAAM,IAAI,GAAGA,2BAAa,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpE,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;AACnD,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd;;;;"}
|
|
@@ -5,13 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var core = require('@mantine/core');
|
|
7
7
|
var useDatesState = require('../../hooks/use-dates-state/use-dates-state.js');
|
|
8
|
+
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
8
9
|
var Calendar = require('../Calendar/Calendar.js');
|
|
10
|
+
var shiftTimezone = require('../../utils/shift-timezone.js');
|
|
9
11
|
|
|
10
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
11
13
|
|
|
12
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
15
|
|
|
14
16
|
var __defProp = Object.defineProperty;
|
|
17
|
+
var __defProps = Object.defineProperties;
|
|
18
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
15
19
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
16
20
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
17
21
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -27,6 +31,7 @@ var __spreadValues = (a, b) => {
|
|
|
27
31
|
}
|
|
28
32
|
return a;
|
|
29
33
|
};
|
|
34
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
30
35
|
var __objRest = (source, exclude) => {
|
|
31
36
|
var target = {};
|
|
32
37
|
for (var prop in source)
|
|
@@ -62,7 +67,8 @@ const DatePicker = core.factory((_props, ref) => {
|
|
|
62
67
|
numberOfColumns,
|
|
63
68
|
hideOutsideDates,
|
|
64
69
|
__onDayMouseEnter,
|
|
65
|
-
__onDayClick
|
|
70
|
+
__onDayClick,
|
|
71
|
+
__timezoneApplied
|
|
66
72
|
} = _a, others = __objRest(_a, [
|
|
67
73
|
"classNames",
|
|
68
74
|
"styles",
|
|
@@ -79,7 +85,8 @@ const DatePicker = core.factory((_props, ref) => {
|
|
|
79
85
|
"numberOfColumns",
|
|
80
86
|
"hideOutsideDates",
|
|
81
87
|
"__onDayMouseEnter",
|
|
82
|
-
"__onDayClick"
|
|
88
|
+
"__onDayClick",
|
|
89
|
+
"__timezoneApplied"
|
|
83
90
|
]);
|
|
84
91
|
const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState.useDatesState({
|
|
85
92
|
type,
|
|
@@ -89,16 +96,18 @@ const DatePicker = core.factory((_props, ref) => {
|
|
|
89
96
|
value,
|
|
90
97
|
defaultValue,
|
|
91
98
|
onChange,
|
|
92
|
-
onMouseLeave
|
|
99
|
+
onMouseLeave,
|
|
100
|
+
applyTimezone: !__timezoneApplied
|
|
93
101
|
});
|
|
94
102
|
const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
|
|
95
103
|
classNames,
|
|
96
104
|
styles,
|
|
97
105
|
props
|
|
98
106
|
});
|
|
107
|
+
const ctx = useDatesContext.useDatesContext();
|
|
99
108
|
return /* @__PURE__ */ React__default.createElement(
|
|
100
109
|
Calendar.Calendar,
|
|
101
|
-
__spreadValues({
|
|
110
|
+
__spreadProps(__spreadValues({
|
|
102
111
|
ref,
|
|
103
112
|
minLevel: "month",
|
|
104
113
|
classNames: resolvedClassNames,
|
|
@@ -116,7 +125,10 @@ const DatePicker = core.factory((_props, ref) => {
|
|
|
116
125
|
__onDayClick == null ? void 0 : __onDayClick(_event, date);
|
|
117
126
|
},
|
|
118
127
|
getDayProps: (date) => __spreadValues(__spreadValues({}, getControlProps(date)), getDayProps == null ? void 0 : getDayProps(date))
|
|
119
|
-
}, others)
|
|
128
|
+
}, others), {
|
|
129
|
+
date: shiftTimezone.shiftTimezone("add", others.date, ctx.getTimezone(), __timezoneApplied),
|
|
130
|
+
__timezoneApplied: true
|
|
131
|
+
})
|
|
120
132
|
);
|
|
121
133
|
});
|
|
122
134
|
DatePicker.classes = Calendar.Calendar.classes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n MantineComponentStaticProperties,\n useResolvedStylesApi,\n} from '@mantine/core';\nimport { useDatesState } from '../../hooks';\nimport { PickerBaseProps, DatePickerType, CalendarLevel } from '../../types';\nimport { Calendar, CalendarBaseProps, CalendarSettings, CalendarStylesNames } from '../Calendar';\nimport { DecadeLevelBaseSettings } from '../DecadeLevel';\nimport { YearLevelBaseSettings } from '../YearLevel';\nimport { MonthLevelBaseSettings } from '../MonthLevel';\n\nexport type DatePickerStylesNames = CalendarStylesNames;\n\nexport interface DatePickerBaseProps<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type>,\n DecadeLevelBaseSettings,\n YearLevelBaseSettings,\n MonthLevelBaseSettings,\n CalendarBaseProps,\n CalendarSettings {\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nexport interface DatePickerProps<Type extends DatePickerType = 'default'>\n extends BoxProps,\n DatePickerBaseProps<Type>,\n StylesApiProps<DatePickerFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {}\n\nexport type DatePickerFactory = Factory<{\n props: DatePickerProps;\n ref: HTMLDivElement;\n stylesNames: DatePickerStylesNames;\n}>;\n\nconst defaultProps: Partial<DatePickerProps> = {\n type: 'default',\n defaultLevel: 'month',\n numberOfColumns: 1,\n};\n\ntype DatePickerComponent = (<Type extends DatePickerType = 'default'>(\n props: DatePickerProps<Type> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => JSX.Element) & { displayName?: string } & MantineComponentStaticProperties<DatePickerFactory>;\n\nexport const DatePicker: DatePickerComponent = factory<DatePickerFactory>((_props, ref) => {\n const props = useProps('DatePicker', defaultProps, _props);\n const {\n classNames,\n styles,\n vars,\n type,\n defaultValue,\n value,\n onChange,\n __staticSelector,\n getDayProps,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n numberOfColumns,\n hideOutsideDates,\n __onDayMouseEnter,\n __onDayClick,\n ...others\n } = props;\n\n const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState({\n type: type as any,\n level: 'day',\n allowDeselect,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onMouseLeave,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<DatePickerFactory>({\n classNames,\n styles,\n props,\n });\n\n return (\n <Calendar\n ref={ref}\n minLevel=\"month\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector={__staticSelector || 'DatePicker'}\n onMouseLeave={onRootMouseLeave}\n numberOfColumns={numberOfColumns}\n hideOutsideDates={hideOutsideDates ?? numberOfColumns !== 1}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n __onDayMouseEnter?.(_event, date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date);\n __onDayClick?.(_event, date);\n }}\n getDayProps={(date) => ({\n ...getControlProps(date),\n ...getDayProps?.(date),\n })}\n {...others}\n />\n );\n}) as any;\n\nDatePicker.classes = Calendar.classes;\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":["factory","useProps","useDatesState","useResolvedStylesApi","React","Calendar"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n MantineComponentStaticProperties,\n useResolvedStylesApi,\n} from '@mantine/core';\nimport { useDatesState } from '../../hooks';\nimport { PickerBaseProps, DatePickerType, CalendarLevel } from '../../types';\nimport { Calendar, CalendarBaseProps, CalendarSettings, CalendarStylesNames } from '../Calendar';\nimport { DecadeLevelBaseSettings } from '../DecadeLevel';\nimport { YearLevelBaseSettings } from '../YearLevel';\nimport { MonthLevelBaseSettings } from '../MonthLevel';\nimport { shiftTimezone } from '../../utils';\nimport { useDatesContext } from '../DatesProvider';\n\nexport type DatePickerStylesNames = CalendarStylesNames;\n\nexport interface DatePickerBaseProps<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type>,\n DecadeLevelBaseSettings,\n YearLevelBaseSettings,\n MonthLevelBaseSettings,\n CalendarBaseProps,\n CalendarSettings {\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nexport interface DatePickerProps<Type extends DatePickerType = 'default'>\n extends BoxProps,\n DatePickerBaseProps<Type>,\n StylesApiProps<DatePickerFactory>,\n ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> {}\n\nexport type DatePickerFactory = Factory<{\n props: DatePickerProps;\n ref: HTMLDivElement;\n stylesNames: DatePickerStylesNames;\n}>;\n\nconst defaultProps: Partial<DatePickerProps> = {\n type: 'default',\n defaultLevel: 'month',\n numberOfColumns: 1,\n};\n\ntype DatePickerComponent = (<Type extends DatePickerType = 'default'>(\n props: DatePickerProps<Type> & { ref?: React.ForwardedRef<HTMLDivElement> }\n) => JSX.Element) & { displayName?: string } & MantineComponentStaticProperties<DatePickerFactory>;\n\nexport const DatePicker: DatePickerComponent = factory<DatePickerFactory>((_props, ref) => {\n const props = useProps('DatePicker', defaultProps, _props);\n const {\n classNames,\n styles,\n vars,\n type,\n defaultValue,\n value,\n onChange,\n __staticSelector,\n getDayProps,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n numberOfColumns,\n hideOutsideDates,\n __onDayMouseEnter,\n __onDayClick,\n __timezoneApplied,\n ...others\n } = props;\n\n const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState({\n type: type as any,\n level: 'day',\n allowDeselect,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onMouseLeave,\n applyTimezone: !__timezoneApplied,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<DatePickerFactory>({\n classNames,\n styles,\n props,\n });\n const ctx = useDatesContext();\n\n return (\n <Calendar\n ref={ref}\n minLevel=\"month\"\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector={__staticSelector || 'DatePicker'}\n onMouseLeave={onRootMouseLeave}\n numberOfColumns={numberOfColumns}\n hideOutsideDates={hideOutsideDates ?? numberOfColumns !== 1}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n __onDayMouseEnter?.(_event, date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date);\n __onDayClick?.(_event, date);\n }}\n getDayProps={(date) => ({\n ...getControlProps(date),\n ...getDayProps?.(date),\n })}\n {...others}\n date={shiftTimezone('add', others.date, ctx.getTimezone(), __timezoneApplied)}\n __timezoneApplied\n />\n );\n}) as any;\n\nDatePicker.classes = Calendar.classes;\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":["factory","useProps","useDatesState","useResolvedStylesApi","useDatesContext","React","Calendar","shiftTimezone"],"mappings":"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"}
|
|
@@ -6,9 +6,11 @@ var React = require('react');
|
|
|
6
6
|
var core = require('@mantine/core');
|
|
7
7
|
var pickCalendarLevelsProps = require('../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js');
|
|
8
8
|
var useDatesInput = require('../../hooks/use-dates-input/use-dates-input.js');
|
|
9
|
+
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
9
10
|
var PickerInputBase = require('../PickerInputBase/PickerInputBase.js');
|
|
10
11
|
var DatePicker = require('../DatePicker/DatePicker.js');
|
|
11
12
|
var getDefaultClampedDate = require('../../utils/get-default-clamped-date.js');
|
|
13
|
+
var shiftTimezone = require('../../utils/shift-timezone.js');
|
|
12
14
|
|
|
13
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
14
16
|
|
|
@@ -50,8 +52,7 @@ const defaultProps = {
|
|
|
50
52
|
valueFormat: "MMMM D, YYYY",
|
|
51
53
|
closeOnChange: true,
|
|
52
54
|
sortDates: true,
|
|
53
|
-
dropdownType: "popover"
|
|
54
|
-
size: "sm"
|
|
55
|
+
dropdownType: "popover"
|
|
55
56
|
};
|
|
56
57
|
const DatePickerInput = core.factory(
|
|
57
58
|
(_props, ref) => {
|
|
@@ -123,6 +124,7 @@ const DatePickerInput = core.factory(
|
|
|
123
124
|
sortDates
|
|
124
125
|
});
|
|
125
126
|
const _defaultDate = Array.isArray(_value) ? _value[0] || defaultDate : _value || defaultDate;
|
|
127
|
+
const ctx = useDatesContext.useDatesContext();
|
|
126
128
|
return /* @__PURE__ */ React__default.createElement(
|
|
127
129
|
PickerInputBase.PickerInputBase,
|
|
128
130
|
__spreadProps(__spreadValues({
|
|
@@ -150,7 +152,7 @@ const DatePickerInput = core.factory(
|
|
|
150
152
|
variant,
|
|
151
153
|
type,
|
|
152
154
|
value: _value,
|
|
153
|
-
defaultDate: _defaultDate || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate }),
|
|
155
|
+
defaultDate: _defaultDate || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() }),
|
|
154
156
|
onChange: setValue,
|
|
155
157
|
locale,
|
|
156
158
|
classNames: resolvedClassNames,
|
|
@@ -159,7 +161,9 @@ const DatePickerInput = core.factory(
|
|
|
159
161
|
__staticSelector: "DatePickerInput",
|
|
160
162
|
__stopPropagation: dropdownType === "popover",
|
|
161
163
|
minDate,
|
|
162
|
-
maxDate
|
|
164
|
+
maxDate,
|
|
165
|
+
date: shiftTimezone.shiftTimezone("add", calendarProps.date, ctx.getTimezone()),
|
|
166
|
+
__timezoneApplied: true
|
|
163
167
|
})
|
|
164
168
|
)
|
|
165
169
|
);
|