@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
|
@@ -5,10 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
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
|
+
var useDatesContext = require('../DatesProvider/use-dates-context.js');
|
|
8
9
|
var useDatesInput = require('../../hooks/use-dates-input/use-dates-input.js');
|
|
9
10
|
var PickerInputBase = require('../PickerInputBase/PickerInputBase.js');
|
|
10
11
|
var YearPicker = require('../YearPicker/YearPicker.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: "YYYY",
|
|
51
53
|
closeOnChange: true,
|
|
52
54
|
sortDates: true,
|
|
53
|
-
dropdownType: "popover"
|
|
54
|
-
size: "sm"
|
|
55
|
+
dropdownType: "popover"
|
|
55
56
|
};
|
|
56
57
|
const YearPickerInput = core.factory(
|
|
57
58
|
(_props, ref) => {
|
|
@@ -101,6 +102,7 @@ const YearPickerInput = core.factory(
|
|
|
101
102
|
props
|
|
102
103
|
});
|
|
103
104
|
const { calendarProps, others } = pickCalendarLevelsProps.pickCalendarProps(rest);
|
|
105
|
+
const ctx = useDatesContext.useDatesContext();
|
|
104
106
|
const {
|
|
105
107
|
_value,
|
|
106
108
|
setValue,
|
|
@@ -147,7 +149,7 @@ const YearPickerInput = core.factory(
|
|
|
147
149
|
variant,
|
|
148
150
|
type,
|
|
149
151
|
value: _value,
|
|
150
|
-
defaultDate: Array.isArray(_value) ? _value[0] || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate }) : _value || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate }),
|
|
152
|
+
defaultDate: Array.isArray(_value) ? _value[0] || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() }) : _value || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() }),
|
|
151
153
|
onChange: setValue,
|
|
152
154
|
locale,
|
|
153
155
|
classNames: resolvedClassNames,
|
|
@@ -156,7 +158,9 @@ const YearPickerInput = core.factory(
|
|
|
156
158
|
__staticSelector: "YearPickerInput",
|
|
157
159
|
__stopPropagation: dropdownType === "popover",
|
|
158
160
|
minDate,
|
|
159
|
-
maxDate
|
|
161
|
+
maxDate,
|
|
162
|
+
date: shiftTimezone.shiftTimezone("add", calendarProps.date, ctx.getTimezone()),
|
|
163
|
+
__timezoneApplied: true
|
|
160
164
|
})
|
|
161
165
|
)
|
|
162
166
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearPickerInput.js","sources":["../../../src/components/YearPickerInput/YearPickerInput.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n useProps,\n useResolvedStylesApi,\n Factory,\n InputVariant,\n __InputStylesNames,\n MantineComponentStaticProperties,\n} from '@mantine/core';\nimport { pickCalendarProps } from '../Calendar';\nimport { useDatesInput } from '../../hooks';\nimport { YearPicker, YearPickerBaseProps, YearPickerStylesNames } from '../YearPicker';\nimport { DatePickerType } from '../../types';\nimport { getDefaultClampedDate } from '../../utils';\nimport { PickerInputBase, DateInputSharedProps } from '../PickerInputBase';\n\nexport type YearPickerInputStylesNames = __InputStylesNames | YearPickerStylesNames;\n\nexport interface YearPickerInputProps<Type extends DatePickerType = 'default'>\n extends BoxProps,\n DateInputSharedProps,\n YearPickerBaseProps<Type>,\n StylesApiProps<YearPickerInputFactory> {\n /** Dayjs format to display input value, \"YYYY\" by default */\n valueFormat?: string;\n}\n\nexport type YearPickerInputFactory = Factory<{\n props: YearPickerInputProps;\n ref: HTMLButtonElement;\n stylesNames: YearPickerInputStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<YearPickerInputProps> = {\n type: 'default',\n valueFormat: 'YYYY',\n closeOnChange: true,\n sortDates: true,\n dropdownType: 'popover',\n
|
|
1
|
+
{"version":3,"file":"YearPickerInput.js","sources":["../../../src/components/YearPickerInput/YearPickerInput.tsx"],"sourcesContent":["import React from 'react';\nimport {\n BoxProps,\n StylesApiProps,\n factory,\n useProps,\n useResolvedStylesApi,\n Factory,\n InputVariant,\n __InputStylesNames,\n MantineComponentStaticProperties,\n} from '@mantine/core';\nimport { pickCalendarProps } from '../Calendar';\nimport { useDatesInput } from '../../hooks';\nimport { YearPicker, YearPickerBaseProps, YearPickerStylesNames } from '../YearPicker';\nimport { DatePickerType } from '../../types';\nimport { getDefaultClampedDate, shiftTimezone } from '../../utils';\nimport { PickerInputBase, DateInputSharedProps } from '../PickerInputBase';\nimport { useDatesContext } from '../DatesProvider';\n\nexport type YearPickerInputStylesNames = __InputStylesNames | YearPickerStylesNames;\n\nexport interface YearPickerInputProps<Type extends DatePickerType = 'default'>\n extends BoxProps,\n DateInputSharedProps,\n YearPickerBaseProps<Type>,\n StylesApiProps<YearPickerInputFactory> {\n /** Dayjs format to display input value, \"YYYY\" by default */\n valueFormat?: string;\n}\n\nexport type YearPickerInputFactory = Factory<{\n props: YearPickerInputProps;\n ref: HTMLButtonElement;\n stylesNames: YearPickerInputStylesNames;\n variant: InputVariant;\n}>;\n\nconst defaultProps: Partial<YearPickerInputProps> = {\n type: 'default',\n valueFormat: 'YYYY',\n closeOnChange: true,\n sortDates: true,\n dropdownType: 'popover',\n};\n\ntype YearPickerInputComponent = (<Type extends DatePickerType = 'default'>(\n props: YearPickerInputProps<Type> & { ref?: React.ForwardedRef<HTMLButtonElement> }\n) => JSX.Element) & {\n displayName?: string;\n} & MantineComponentStaticProperties<YearPickerInputFactory>;\n\nexport const YearPickerInput: YearPickerInputComponent = factory<YearPickerInputFactory>(\n (_props, ref) => {\n const props = useProps('YearPickerInput', defaultProps, _props);\n const {\n type,\n value,\n defaultValue,\n onChange,\n valueFormat,\n labelSeparator,\n locale,\n classNames,\n styles,\n unstyled,\n closeOnChange,\n size,\n variant,\n dropdownType,\n sortDates,\n minDate,\n maxDate,\n vars,\n ...rest\n } = props;\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<YearPickerInputFactory>({\n classNames,\n styles,\n props,\n });\n\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n\n const {\n _value,\n setValue,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClear,\n shouldClear,\n } = useDatesInput({\n type: type as any,\n value,\n defaultValue,\n onChange: onChange as any,\n locale,\n format: valueFormat,\n labelSeparator,\n closeOnChange,\n sortDates,\n });\n\n return (\n <PickerInputBase\n formattedValue={formattedValue}\n dropdownOpened={dropdownOpened}\n dropdownHandlers={dropdownHandlers}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n ref={ref}\n onClear={onClear}\n shouldClear={shouldClear}\n value={_value}\n size={size!}\n variant={variant}\n dropdownType={dropdownType}\n {...others}\n type={type as any}\n __staticSelector=\"YearPickerInput\"\n >\n <YearPicker\n {...calendarProps}\n size={size}\n variant={variant}\n type={type}\n value={_value}\n defaultDate={\n Array.isArray(_value)\n ? _value[0] ||\n getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() })\n : _value || getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() })\n }\n onChange={setValue}\n locale={locale}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n __staticSelector=\"YearPickerInput\"\n __stopPropagation={dropdownType === 'popover'}\n minDate={minDate}\n maxDate={maxDate}\n date={shiftTimezone('add', calendarProps.date, ctx.getTimezone())}\n __timezoneApplied\n />\n </PickerInputBase>\n );\n }\n) as any;\n\nYearPickerInput.classes = { ...PickerInputBase.classes, ...YearPicker.classes };\nYearPickerInput.displayName = '@mantine/dates/YearPickerInput';\n"],"names":["factory","useProps","useResolvedStylesApi","pickCalendarProps","useDatesContext","useDatesInput","React","PickerInputBase","YearPicker","getDefaultClampedDate","shiftTimezone"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearsList.js","sources":["../../../src/components/YearsList/YearsList.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n Factory,\n MantineSize,\n} from '@mantine/core';\nimport { ControlsGroupSettings } from '../../types';\nimport { PickerControl, PickerControlProps } from '../PickerControl';\nimport { getYearsData } from './get-years-data/get-years-data';\nimport { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order';\nimport { useDatesContext } from '../DatesProvider';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled';\nimport classes from './YearsList.module.css';\n\nexport type YearsListStylesNames =\n | 'yearsListControl'\n | 'yearsList'\n | 'yearsListCell'\n | 'yearsListRow';\n\nexport interface YearsListSettings extends ControlsGroupSettings {\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** dayjs format for years list, `'YYYY'` by default */\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 controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface YearsListProps\n extends BoxProps,\n YearsListSettings,\n StylesApiProps<YearsListFactory>,\n ElementProps<'table'> {\n __staticSelector?: string;\n\n /** Decade for which years list should be displayed */\n decade: Date;\n}\n\nexport type YearsListFactory = Factory<{\n props: YearsListProps;\n ref: HTMLTableElement;\n stylesNames: YearsListStylesNames;\n}>;\n\nconst defaultProps: Partial<YearsListProps> = {\n yearsListFormat: 'YYYY',\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const YearsList = factory<YearsListFactory>((_props, ref) => {\n const props = useProps('YearsList', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n decade,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n ...others\n } = props;\n\n const getStyles = useStyles<YearsListFactory>({\n name: __staticSelector || 'YearsList',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n rootSelector: 'yearsList',\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 {...getStyles('yearsListCell')}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n {...getStyles('yearsListControl')}\n size={size}\n unstyled={unstyled}\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} {...getStyles('yearsListRow')}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} size={size} {...getStyles('yearsList')} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nYearsList.classes = classes;\nYearsList.displayName = '@mantine/dates/YearsList';\n"],"names":["factory","useProps","useStyles","classes","useDatesContext","getYearsData","getYearInTabOrder","dayjs","React","PickerControl","isYearDisabled","Box"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YearsList.js","sources":["../../../src/components/YearsList/YearsList.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React from 'react';\nimport {\n Box,\n BoxProps,\n StylesApiProps,\n factory,\n ElementProps,\n useProps,\n useStyles,\n Factory,\n MantineSize,\n} from '@mantine/core';\nimport { ControlsGroupSettings } from '../../types';\nimport { PickerControl, PickerControlProps } from '../PickerControl';\nimport { getYearsData } from './get-years-data/get-years-data';\nimport { getYearInTabOrder } from './get-year-in-tab-order/get-year-in-tab-order';\nimport { useDatesContext } from '../DatesProvider';\nimport { isYearDisabled } from './is-year-disabled/is-year-disabled';\nimport classes from './YearsList.module.css';\n\nexport type YearsListStylesNames =\n | 'yearsListControl'\n | 'yearsList'\n | 'yearsListCell'\n | 'yearsListRow';\n\nexport interface YearsListSettings extends ControlsGroupSettings {\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** dayjs format for years list, `'YYYY'` by default */\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 controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface YearsListProps\n extends BoxProps,\n YearsListSettings,\n StylesApiProps<YearsListFactory>,\n ElementProps<'table'> {\n __staticSelector?: string;\n\n /** Decade for which years list should be displayed */\n decade: Date;\n}\n\nexport type YearsListFactory = Factory<{\n props: YearsListProps;\n ref: HTMLTableElement;\n stylesNames: YearsListStylesNames;\n}>;\n\nconst defaultProps: Partial<YearsListProps> = {\n yearsListFormat: 'YYYY',\n withCellSpacing: true,\n};\n\nexport const YearsList = factory<YearsListFactory>((_props, ref) => {\n const props = useProps('YearsList', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n decade,\n yearsListFormat,\n locale,\n minDate,\n maxDate,\n getYearControlProps,\n __staticSelector,\n __getControlRef,\n __onControlKeyDown,\n __onControlClick,\n __onControlMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n ...others\n } = props;\n\n const getStyles = useStyles<YearsListFactory>({\n name: __staticSelector || 'YearsList',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n rootSelector: 'yearsList',\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 {...getStyles('yearsListCell')}\n data-with-spacing={withCellSpacing || undefined}\n >\n <PickerControl\n {...getStyles('yearsListControl')}\n size={size}\n unstyled={unstyled}\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} {...getStyles('yearsListRow')}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" ref={ref} size={size} {...getStyles('yearsList')} {...others}>\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nYearsList.classes = classes;\nYearsList.displayName = '@mantine/dates/YearsList';\n"],"names":["factory","useProps","useStyles","classes","useDatesContext","getYearsData","getYearInTabOrder","dayjs","React","PickerControl","isYearDisabled","Box"],"mappings":"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"}
|
|
@@ -19,9 +19,16 @@ function useDatesState({
|
|
|
19
19
|
onChange,
|
|
20
20
|
allowSingleDateInRange,
|
|
21
21
|
allowDeselect,
|
|
22
|
-
onMouseLeave
|
|
22
|
+
onMouseLeave,
|
|
23
|
+
applyTimezone = true
|
|
23
24
|
}) {
|
|
24
|
-
const [_value, setValue] = useUncontrolledDates.useUncontrolledDates({
|
|
25
|
+
const [_value, setValue] = useUncontrolledDates.useUncontrolledDates({
|
|
26
|
+
type,
|
|
27
|
+
value,
|
|
28
|
+
defaultValue,
|
|
29
|
+
onChange,
|
|
30
|
+
applyTimezone
|
|
31
|
+
});
|
|
25
32
|
const [pickedDate, setPickedDate] = React.useState(
|
|
26
33
|
type === "range" ? _value[0] && !_value[1] ? _value[0] : null : null
|
|
27
34
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-dates-state.js","sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useState } from 'react';\nimport { DatePickerType, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?(event: React.MouseEvent<HTMLDivElement>): void;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({ type, value, defaultValue, onChange });\n\n const [pickedDate, setPickedDate] = useState<Date | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\n const onDateChange = (date: Date) => {\n if (type === 'range') {\n if (pickedDate instanceof Date && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: Date) => {\n if (pickedDate instanceof Date && hoveredDate instanceof Date) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] instanceof Date && _value[1] instanceof Date) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: Date) => {\n if (!(_value[0] instanceof Date)) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: Date) => {\n if (_value[1] instanceof Date) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!(_value[0] instanceof Date) || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: Date) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"names":["useUncontrolledDates","useState","dayjs","isInRange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-dates-state.js","sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useState } from 'react';\nimport { DatePickerType, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?(event: React.MouseEvent<HTMLDivElement>): void;\n applyTimezone?: boolean;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n applyTimezone = true,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n applyTimezone,\n });\n\n const [pickedDate, setPickedDate] = useState<Date | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\n const onDateChange = (date: Date) => {\n if (type === 'range') {\n if (pickedDate instanceof Date && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: Date) => {\n if (pickedDate instanceof Date && hoveredDate instanceof Date) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] instanceof Date && _value[1] instanceof Date) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: Date) => {\n if (!(_value[0] instanceof Date)) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: Date) => {\n if (_value[1] instanceof Date) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!(_value[0] instanceof Date) || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: Date) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"names":["useUncontrolledDates","useState","dayjs","isInRange"],"mappings":"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"}
|
|
@@ -4,20 +4,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var hooks = require('@mantine/hooks');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var useDatesContext = require('../../components/DatesProvider/use-dates-context.js');
|
|
8
|
+
var shiftTimezone = require('../../utils/shift-timezone.js');
|
|
7
9
|
|
|
8
10
|
const getEmptyValue = (type) => type === "range" ? [null, null] : type === "multiple" ? [] : null;
|
|
9
11
|
function useUncontrolledDates({
|
|
10
12
|
type,
|
|
11
13
|
value,
|
|
12
14
|
defaultValue,
|
|
13
|
-
onChange
|
|
15
|
+
onChange,
|
|
16
|
+
applyTimezone = true
|
|
14
17
|
}) {
|
|
15
18
|
const storedType = React.useRef(type);
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
finalValue: getEmptyValue(type)
|
|
19
|
+
const ctx = useDatesContext.useDatesContext();
|
|
20
|
+
const [_value, _setValue, controlled] = hooks.useUncontrolled({
|
|
21
|
+
value: shiftTimezone.shiftTimezone("add", value, ctx.getTimezone(), !applyTimezone),
|
|
22
|
+
defaultValue: shiftTimezone.shiftTimezone("add", defaultValue, ctx.getTimezone(), !applyTimezone),
|
|
23
|
+
finalValue: getEmptyValue(type),
|
|
24
|
+
onChange: (newDate) => {
|
|
25
|
+
onChange == null ? void 0 : onChange(shiftTimezone.shiftTimezone("remove", newDate, ctx.getTimezone(), !applyTimezone));
|
|
26
|
+
}
|
|
21
27
|
});
|
|
22
28
|
let _finalValue = _value;
|
|
23
29
|
if (storedType.current !== type) {
|
|
@@ -51,7 +57,7 @@ function useUncontrolledDates({
|
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
}
|
|
54
|
-
return [_finalValue, _setValue];
|
|
60
|
+
return [_finalValue, _setValue, controlled];
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
exports.useUncontrolledDates = useUncontrolledDates;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-uncontrolled-dates.js","sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useUncontrolled } from '@mantine/hooks';\nimport { useRef } from 'react';\nimport { DatePickerType, DatePickerValue } from '../../types';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type>) => void) | undefined;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const [_value, _setValue] = useUncontrolled<any>({\n value,\n defaultValue,\n
|
|
1
|
+
{"version":3,"file":"use-uncontrolled-dates.js","sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useUncontrolled } from '@mantine/hooks';\nimport { useRef } from 'react';\nimport { DatePickerType, DatePickerValue } from '../../types';\nimport { shiftTimezone } from '../../utils';\nimport { useDatesContext } from '../../components/DatesProvider';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type>) => void) | undefined;\n applyTimezone?: boolean;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n applyTimezone = true,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const ctx = useDatesContext();\n const [_value, _setValue, controlled] = useUncontrolled<any>({\n value: shiftTimezone('add', value, ctx.getTimezone(), !applyTimezone),\n defaultValue: shiftTimezone('add', defaultValue, ctx.getTimezone(), !applyTimezone),\n finalValue: getEmptyValue(type),\n onChange: (newDate) => {\n onChange?.(shiftTimezone('remove', newDate, ctx.getTimezone(), !applyTimezone));\n },\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n // Type has changed. Do some checks or resets\n\n storedType.current = type;\n if (value === undefined) {\n // Reset uncontrolled value as types aren't compatible\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n } else if (process.env.NODE_ENV === 'development') {\n // Throw errors in dev mode in case type of value isn't correct\n switch (type) {\n case 'default':\n if (value !== null && typeof value !== 'string') {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`'\n );\n }\n break;\n case 'multiple':\n if (!(value instanceof Array)) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`'\n );\n }\n break;\n case 'range':\n if (!(value instanceof Array) || value.length !== 2) {\n // eslint-disable-next-line no-console\n console.error(\n '[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`'\n );\n }\n break;\n }\n }\n }\n\n return [_finalValue, _setValue, controlled];\n}\n"],"names":["useRef","useDatesContext","useUncontrolled","shiftTimezone"],"mappings":";;;;;;;;;AAIA,MAAM,aAAa,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3F,SAAS,oBAAoB,CAAC;AACrC,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,YAAY;AACd,EAAE,QAAQ;AACV,EAAE,aAAa,GAAG,IAAI;AACtB,CAAC,EAAE;AACH,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,GAAG,GAAGC,+BAAe,EAAE,CAAC;AAChC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,GAAGC,qBAAe,CAAC;AAC1D,IAAI,KAAK,EAAEC,2BAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC;AACzE,IAAI,YAAY,EAAEA,2BAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC;AACvF,IAAI,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;AACnC,IAAI,QAAQ,EAAE,CAAC,OAAO,KAAK;AAC3B,MAAM,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAACA,2BAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AAChH,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,WAAW,GAAG,MAAM,CAAC;AAC3B,EAAE,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE;AACnC,IAAI,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AAC1B,MAAM,WAAW,GAAG,YAAY,KAAK,KAAK,CAAC,GAAG,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACjF,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;AAC7B,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACvD,MAAM,QAAQ,IAAI;AAClB,QAAQ,KAAK,SAAS;AACtB,UAAU,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3D,YAAY,OAAO,CAAC,KAAK;AACzB,cAAc,kFAAkF;AAChG,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,QAAQ,KAAK,UAAU;AACvB,UAAU,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,EAAE;AACzC,YAAY,OAAO,CAAC,KAAK;AACzB,cAAc,0EAA0E;AACxF,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,QAAQ,KAAK,OAAO;AACpB,UAAU,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/D,YAAY,OAAO,CAAC,KAAK;AACzB,cAAc,kFAAkF;AAChG,aAAa,CAAC;AACd,WAAW;AACX,UAAU,MAAM;AAChB,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC9C;;;;"}
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var dayjs = require('dayjs');
|
|
6
|
+
var shiftTimezone = require('./shift-timezone.js');
|
|
6
7
|
|
|
7
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
8
9
|
|
|
9
10
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
10
11
|
|
|
11
|
-
function getDefaultClampedDate({ minDate, maxDate }) {
|
|
12
|
-
const today = /* @__PURE__ */ new Date();
|
|
12
|
+
function getDefaultClampedDate({ minDate, maxDate, timezone }) {
|
|
13
|
+
const today = shiftTimezone.shiftTimezone("add", /* @__PURE__ */ new Date(), timezone);
|
|
13
14
|
if (!minDate && !maxDate) {
|
|
14
15
|
return today;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-default-clamped-date.js","sources":["../../src/utils/get-default-clamped-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\ninterface GetDefaultClampedDate {\n minDate: Date | undefined;\n maxDate: Date | undefined;\n}\n\nexport function getDefaultClampedDate({ minDate, maxDate }: GetDefaultClampedDate) {\n const today = new Date();\n\n if (!minDate && !maxDate) {\n return today;\n }\n\n if (minDate && dayjs(today).isBefore(minDate)) {\n return minDate;\n }\n\n if (maxDate && dayjs(today).isAfter(maxDate)) {\n return maxDate;\n }\n\n return today;\n}\n"],"names":["dayjs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-default-clamped-date.js","sources":["../../src/utils/get-default-clamped-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { shiftTimezone } from './shift-timezone';\n\ninterface GetDefaultClampedDate {\n minDate: Date | undefined;\n maxDate: Date | undefined;\n timezone?: string;\n}\n\nexport function getDefaultClampedDate({ minDate, maxDate, timezone }: GetDefaultClampedDate) {\n const today = shiftTimezone('add', new Date(), timezone);\n\n if (!minDate && !maxDate) {\n return today;\n }\n\n if (minDate && dayjs(today).isBefore(minDate)) {\n return minDate;\n }\n\n if (maxDate && dayjs(today).isAfter(maxDate)) {\n return maxDate;\n }\n\n return today;\n}\n"],"names":["shiftTimezone","dayjs"],"mappings":";;;;;;;;;;;AAEO,SAAS,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;AACtE,EAAE,MAAM,KAAK,GAAGA,2BAAa,CAAC,KAAK,kBAAkB,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC3E,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE;AAC5B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,OAAO,IAAIC,cAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACjD,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,OAAO,IAAIA,cAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAChD,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dayjs = require('dayjs');
|
|
6
|
+
var utcPlugin = require('dayjs/plugin/utc');
|
|
7
|
+
var timezonePlugin = require('dayjs/plugin/timezone');
|
|
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
|
+
var utcPlugin__default = /*#__PURE__*/_interopDefaultLegacy(utcPlugin);
|
|
13
|
+
var timezonePlugin__default = /*#__PURE__*/_interopDefaultLegacy(timezonePlugin);
|
|
14
|
+
|
|
15
|
+
dayjs__default.extend(utcPlugin__default);
|
|
16
|
+
dayjs__default.extend(timezonePlugin__default);
|
|
17
|
+
function getTimezoneOffset(date, timezone) {
|
|
18
|
+
if (timezone) {
|
|
19
|
+
return dayjs__default(date).tz(timezone).utcOffset() + date.getTimezoneOffset();
|
|
20
|
+
}
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.getTimezoneOffset = getTimezoneOffset;
|
|
25
|
+
//# sourceMappingURL=get-timezone-offset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-timezone-offset.js","sources":["../../src/utils/get-timezone-offset.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport utcPlugin from 'dayjs/plugin/utc';\nimport timezonePlugin from 'dayjs/plugin/timezone';\n\ndayjs.extend(utcPlugin);\ndayjs.extend(timezonePlugin);\n\nexport function getTimezoneOffset(date: Date, timezone?: string) {\n if (timezone) {\n return dayjs(date).tz(timezone).utcOffset() + date.getTimezoneOffset();\n }\n return 0;\n}\n"],"names":["dayjs","utcPlugin","timezonePlugin"],"mappings":";;;;;;;;;;;;;;AAGAA,cAAK,CAAC,MAAM,CAACC,kBAAS,CAAC,CAAC;AACxBD,cAAK,CAAC,MAAM,CAACE,uBAAc,CAAC,CAAC;AACtB,SAAS,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE;AAClD,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,OAAOF,cAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC3E,GAAG;AACH,EAAE,OAAO,CAAC,CAAC;AACX;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dayjs = require('dayjs');
|
|
6
|
+
var getTimezoneOffset = require('./get-timezone-offset.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
|
+
const updateTimezone = (date, timezone, direction) => {
|
|
13
|
+
if (!date) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (!timezone) {
|
|
17
|
+
return date;
|
|
18
|
+
}
|
|
19
|
+
let offset = getTimezoneOffset.getTimezoneOffset(date, timezone);
|
|
20
|
+
if (direction === "remove") {
|
|
21
|
+
offset *= -1;
|
|
22
|
+
}
|
|
23
|
+
return dayjs__default(date).add(offset, "minutes").toDate();
|
|
24
|
+
};
|
|
25
|
+
function shiftTimezone(direction, date, timezone, disabled) {
|
|
26
|
+
if (disabled || !date) {
|
|
27
|
+
return date;
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(date)) {
|
|
30
|
+
return date.map((d) => updateTimezone(d, timezone, direction));
|
|
31
|
+
}
|
|
32
|
+
return updateTimezone(date, timezone, direction);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.shiftTimezone = shiftTimezone;
|
|
36
|
+
//# sourceMappingURL=shift-timezone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shift-timezone.js","sources":["../../src/utils/shift-timezone.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { getTimezoneOffset } from './get-timezone-offset';\nimport { DatesRangeValue, DateValue } from '../types';\n\ntype TimeShiftDirection = 'add' | 'remove';\n\nconst updateTimezone = (\n date: DateValue | undefined,\n timezone?: string,\n direction?: TimeShiftDirection\n): DateValue => {\n if (!date) {\n return null;\n }\n if (!timezone) {\n return date;\n }\n let offset = getTimezoneOffset(date, timezone);\n if (direction === 'remove') {\n offset *= -1;\n }\n return dayjs(date).add(offset, 'minutes').toDate();\n};\n\nexport function shiftTimezone<T extends DateValue | Date[] | DatesRangeValue | undefined>(\n direction: TimeShiftDirection,\n date: T,\n timezone?: string,\n disabled?: boolean\n): T {\n if (disabled || !date) {\n return date;\n }\n if (Array.isArray(date)) {\n return date.map((d) => updateTimezone(d, timezone, direction)) as T;\n }\n return updateTimezone(date, timezone, direction) as T;\n}\n"],"names":["getTimezoneOffset","dayjs"],"mappings":";;;;;;;;;;;AAEA,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,KAAK;AACtD,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,MAAM,GAAGA,mCAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,EAAE,IAAI,SAAS,KAAK,QAAQ,EAAE;AAC9B,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC;AACjB,GAAG;AACH,EAAE,OAAOC,cAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC,CAAC;AACK,SAAS,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACnE,EAAE,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE;AACzB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC3B,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACnE,GAAG;AACH,EAAE,OAAO,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnD;;;;"}
|
|
@@ -3,6 +3,9 @@ import React from 'react';
|
|
|
3
3
|
import { factory, useProps, useResolvedStylesApi, Box } from '@mantine/core';
|
|
4
4
|
import { useUncontrolled } from '@mantine/hooks';
|
|
5
5
|
import { clampLevel } from './clamp-level/clamp-level.js';
|
|
6
|
+
import { useUncontrolledDates } from '../../hooks/use-uncontrolled-dates/use-uncontrolled-dates.js';
|
|
7
|
+
import { useDatesContext } from '../DatesProvider/use-dates-context.js';
|
|
8
|
+
import { shiftTimezone } from '../../utils/shift-timezone.js';
|
|
6
9
|
import { MonthLevelGroup } from '../MonthLevelGroup/MonthLevelGroup.js';
|
|
7
10
|
import { YearLevelGroup } from '../YearLevelGroup/YearLevelGroup.js';
|
|
8
11
|
import { DecadeLevelGroup } from '../DecadeLevelGroup/DecadeLevelGroup.js';
|
|
@@ -99,7 +102,8 @@ const Calendar = factory((_props, ref) => {
|
|
|
99
102
|
onPreviousYear,
|
|
100
103
|
onNextMonth,
|
|
101
104
|
onPreviousMonth,
|
|
102
|
-
static: isStatic
|
|
105
|
+
static: isStatic,
|
|
106
|
+
__timezoneApplied
|
|
103
107
|
} = _a, others = __objRest(_a, [
|
|
104
108
|
"vars",
|
|
105
109
|
// CalendarLevel props
|
|
@@ -161,7 +165,8 @@ const Calendar = factory((_props, ref) => {
|
|
|
161
165
|
"onPreviousYear",
|
|
162
166
|
"onNextMonth",
|
|
163
167
|
"onPreviousMonth",
|
|
164
|
-
"static"
|
|
168
|
+
"static",
|
|
169
|
+
"__timezoneApplied"
|
|
165
170
|
]);
|
|
166
171
|
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
|
|
167
172
|
classNames,
|
|
@@ -174,11 +179,12 @@ const Calendar = factory((_props, ref) => {
|
|
|
174
179
|
finalValue: clampLevel(void 0, minLevel, maxLevel),
|
|
175
180
|
onChange: onLevelChange
|
|
176
181
|
});
|
|
177
|
-
const [_date, setDate] =
|
|
182
|
+
const [_date, setDate] = useUncontrolledDates({
|
|
183
|
+
type: "default",
|
|
178
184
|
value: date,
|
|
179
185
|
defaultValue: defaultDate,
|
|
180
|
-
|
|
181
|
-
|
|
186
|
+
onChange: onDateChange,
|
|
187
|
+
applyTimezone: !__timezoneApplied
|
|
182
188
|
});
|
|
183
189
|
const stylesApiProps = {
|
|
184
190
|
__staticSelector: __staticSelector || "Calendar",
|
|
@@ -187,8 +193,9 @@ const Calendar = factory((_props, ref) => {
|
|
|
187
193
|
unstyled,
|
|
188
194
|
size
|
|
189
195
|
};
|
|
196
|
+
const ctx = useDatesContext();
|
|
190
197
|
const _columnsToScroll = columnsToScroll || numberOfColumns || 1;
|
|
191
|
-
const currentDate = _date || /* @__PURE__ */ new Date();
|
|
198
|
+
const currentDate = _date || shiftTimezone("add", /* @__PURE__ */ new Date(), ctx.getTimezone());
|
|
192
199
|
const handleNextMonth = () => {
|
|
193
200
|
const nextDate = dayjs(currentDate).add(_columnsToScroll, "month").toDate();
|
|
194
201
|
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":[],"mappings":"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"}
|
|
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":[],"mappings":"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"}
|