@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.
Files changed (126) hide show
  1. package/cjs/components/Calendar/Calendar.js +13 -6
  2. package/cjs/components/Calendar/Calendar.js.map +1 -1
  3. package/cjs/components/CalendarHeader/CalendarHeader.js +1 -2
  4. package/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  5. package/cjs/components/DateInput/DateInput.js +9 -8
  6. package/cjs/components/DateInput/DateInput.js.map +1 -1
  7. package/cjs/components/DateInput/date-string-parser/date-string-parser.js +4 -2
  8. package/cjs/components/DateInput/date-string-parser/date-string-parser.js.map +1 -1
  9. package/cjs/components/DatePicker/DatePicker.js +17 -5
  10. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  11. package/cjs/components/DatePickerInput/DatePickerInput.js +8 -4
  12. package/cjs/components/DatePickerInput/DatePickerInput.js.map +1 -1
  13. package/cjs/components/DateTimePicker/DateTimePicker.js +9 -7
  14. package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
  15. package/cjs/components/DatesProvider/DatesProvider.js +1 -0
  16. package/cjs/components/DatesProvider/DatesProvider.js.map +1 -1
  17. package/cjs/components/DatesProvider/use-dates-context.js +5 -0
  18. package/cjs/components/DatesProvider/use-dates-context.js.map +1 -1
  19. package/cjs/components/Day/Day.js +4 -1
  20. package/cjs/components/Day/Day.js.map +1 -1
  21. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js +1 -2
  22. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
  23. package/cjs/components/Month/Month.js +0 -1
  24. package/cjs/components/Month/Month.js.map +1 -1
  25. package/cjs/components/Month/get-month-days/get-month-days.js +12 -3
  26. package/cjs/components/Month/get-month-days/get-month-days.js.map +1 -1
  27. package/cjs/components/MonthPicker/MonthPicker.js +16 -5
  28. package/cjs/components/MonthPicker/MonthPicker.js.map +1 -1
  29. package/cjs/components/MonthPickerInput/MonthPickerInput.js +7 -3
  30. package/cjs/components/MonthPickerInput/MonthPickerInput.js.map +1 -1
  31. package/cjs/components/MonthsList/MonthsList.js +0 -1
  32. package/cjs/components/MonthsList/MonthsList.js.map +1 -1
  33. package/cjs/components/PickerControl/PickerControl.js +1 -3
  34. package/cjs/components/PickerControl/PickerControl.js.map +1 -1
  35. package/cjs/components/PickerInputBase/PickerInputBase.js +2 -1
  36. package/cjs/components/PickerInputBase/PickerInputBase.js.map +1 -1
  37. package/cjs/components/YearLevel/YearLevel.js +1 -2
  38. package/cjs/components/YearLevel/YearLevel.js.map +1 -1
  39. package/cjs/components/YearLevelGroup/YearLevelGroup.js +1 -2
  40. package/cjs/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
  41. package/cjs/components/YearPicker/YearPicker.js +17 -5
  42. package/cjs/components/YearPicker/YearPicker.js.map +1 -1
  43. package/cjs/components/YearPickerInput/YearPickerInput.js +8 -4
  44. package/cjs/components/YearPickerInput/YearPickerInput.js.map +1 -1
  45. package/cjs/components/YearsList/YearsList.js +0 -1
  46. package/cjs/components/YearsList/YearsList.js.map +1 -1
  47. package/cjs/hooks/use-dates-state/use-dates-state.js +9 -2
  48. package/cjs/hooks/use-dates-state/use-dates-state.js.map +1 -1
  49. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js +13 -7
  50. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js.map +1 -1
  51. package/cjs/utils/get-default-clamped-date.js +3 -2
  52. package/cjs/utils/get-default-clamped-date.js.map +1 -1
  53. package/cjs/utils/get-timezone-offset.js +25 -0
  54. package/cjs/utils/get-timezone-offset.js.map +1 -0
  55. package/cjs/utils/shift-timezone.js +36 -0
  56. package/cjs/utils/shift-timezone.js.map +1 -0
  57. package/esm/components/Calendar/Calendar.js +13 -6
  58. package/esm/components/Calendar/Calendar.js.map +1 -1
  59. package/esm/components/CalendarHeader/CalendarHeader.js +1 -2
  60. package/esm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  61. package/esm/components/DateInput/DateInput.js +10 -9
  62. package/esm/components/DateInput/DateInput.js.map +1 -1
  63. package/esm/components/DateInput/date-string-parser/date-string-parser.js +4 -2
  64. package/esm/components/DateInput/date-string-parser/date-string-parser.js.map +1 -1
  65. package/esm/components/DatePicker/DatePicker.js +17 -5
  66. package/esm/components/DatePicker/DatePicker.js.map +1 -1
  67. package/esm/components/DatePickerInput/DatePickerInput.js +8 -4
  68. package/esm/components/DatePickerInput/DatePickerInput.js.map +1 -1
  69. package/esm/components/DateTimePicker/DateTimePicker.js +10 -8
  70. package/esm/components/DateTimePicker/DateTimePicker.js.map +1 -1
  71. package/esm/components/DatesProvider/DatesProvider.js +1 -0
  72. package/esm/components/DatesProvider/DatesProvider.js.map +1 -1
  73. package/esm/components/DatesProvider/use-dates-context.js +5 -0
  74. package/esm/components/DatesProvider/use-dates-context.js.map +1 -1
  75. package/esm/components/Day/Day.js +4 -1
  76. package/esm/components/Day/Day.js.map +1 -1
  77. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js +1 -2
  78. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
  79. package/esm/components/Month/Month.js +0 -1
  80. package/esm/components/Month/Month.js.map +1 -1
  81. package/esm/components/Month/get-month-days/get-month-days.js +12 -3
  82. package/esm/components/Month/get-month-days/get-month-days.js.map +1 -1
  83. package/esm/components/MonthPicker/MonthPicker.js +16 -5
  84. package/esm/components/MonthPicker/MonthPicker.js.map +1 -1
  85. package/esm/components/MonthPickerInput/MonthPickerInput.js +7 -3
  86. package/esm/components/MonthPickerInput/MonthPickerInput.js.map +1 -1
  87. package/esm/components/MonthsList/MonthsList.js +0 -1
  88. package/esm/components/MonthsList/MonthsList.js.map +1 -1
  89. package/esm/components/PickerControl/PickerControl.js +1 -3
  90. package/esm/components/PickerControl/PickerControl.js.map +1 -1
  91. package/esm/components/PickerInputBase/PickerInputBase.js +2 -1
  92. package/esm/components/PickerInputBase/PickerInputBase.js.map +1 -1
  93. package/esm/components/YearLevel/YearLevel.js +1 -2
  94. package/esm/components/YearLevel/YearLevel.js.map +1 -1
  95. package/esm/components/YearLevelGroup/YearLevelGroup.js +1 -2
  96. package/esm/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
  97. package/esm/components/YearPicker/YearPicker.js +17 -5
  98. package/esm/components/YearPicker/YearPicker.js.map +1 -1
  99. package/esm/components/YearPickerInput/YearPickerInput.js +8 -4
  100. package/esm/components/YearPickerInput/YearPickerInput.js.map +1 -1
  101. package/esm/components/YearsList/YearsList.js +0 -1
  102. package/esm/components/YearsList/YearsList.js.map +1 -1
  103. package/esm/hooks/use-dates-state/use-dates-state.js +9 -2
  104. package/esm/hooks/use-dates-state/use-dates-state.js.map +1 -1
  105. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js +13 -7
  106. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.js.map +1 -1
  107. package/esm/utils/get-default-clamped-date.js +3 -2
  108. package/esm/utils/get-default-clamped-date.js.map +1 -1
  109. package/esm/utils/get-timezone-offset.js +15 -0
  110. package/esm/utils/get-timezone-offset.js.map +1 -0
  111. package/esm/utils/shift-timezone.js +28 -0
  112. package/esm/utils/shift-timezone.js.map +1 -0
  113. package/lib/components/PickerInputBase/PickerInputBase.d.ts.map +1 -1
  114. package/package.json +3 -3
  115. package/cjs/_virtual/_commonjsHelpers.js +0 -8
  116. package/cjs/_virtual/_commonjsHelpers.js.map +0 -1
  117. package/cjs/_virtual/timezone.js_commonjs-module +0 -8
  118. package/cjs/_virtual/timezone.js_commonjs-module.map +0 -1
  119. package/cjs/_virtual/utc.js_commonjs-module +0 -8
  120. package/cjs/_virtual/utc.js_commonjs-module.map +0 -1
  121. package/esm/_virtual/_commonjsHelpers.js +0 -4
  122. package/esm/_virtual/_commonjsHelpers.js.map +0 -1
  123. package/esm/_virtual/timezone.js_commonjs-module +0 -4
  124. package/esm/_virtual/timezone.js_commonjs-module.map +0 -1
  125. package/esm/_virtual/utc.js_commonjs-module +0 -4
  126. 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 size: 'sm',\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\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] || getDefaultClampedDate({ maxDate, minDate })\n : _value || getDefaultClampedDate({ maxDate, minDate })\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 />\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","useDatesInput","React","PickerInputBase","YearPicker","getDefaultClampedDate"],"mappings":"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"}
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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"}
@@ -50,7 +50,6 @@ var __objRest = (source, exclude) => {
50
50
  };
51
51
  const defaultProps = {
52
52
  yearsListFormat: "YYYY",
53
- size: "sm",
54
53
  withCellSpacing: true
55
54
  };
56
55
  const YearsList = core.factory((_props, ref) => {
@@ -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":";;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAeF,MAAM,YAAY,GAAG;AACrB,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,eAAe,EAAE,IAAI;AACvB,CAAC,CAAC;AACU,MAAC,SAAS,GAAGA,YAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAClD,EAAE,MAAM,KAAK,GAAGC,aAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAC5D,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;AACpB,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,mBAAmB;AACvB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,qBAAqB;AACzB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,eAAe;AACnB,IAAI,IAAI;AACR,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,iBAAiB;AACrB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,qBAAqB;AACzB,IAAI,kBAAkB;AACtB,IAAI,iBAAiB;AACrB,IAAI,oBAAoB;AACxB,IAAI,kBAAkB;AACtB,IAAI,uBAAuB;AAC3B,IAAI,gBAAgB;AACpB,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAGC,cAAS,CAAC;AAC9B,IAAI,IAAI,EAAE,gBAAgB,IAAI,WAAW;AACzC,aAAIC,2BAAO;AACX,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,YAAY,EAAE,WAAW;AAC7B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,GAAG,GAAGC,+BAAe,EAAE,CAAC;AAChC,EAAE,MAAM,KAAK,GAAGC,yBAAY,CAAC,MAAM,CAAC,CAAC;AACrC,EAAE,MAAM,cAAc,GAAGC,mCAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACzF,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK;AACjD,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK;AACpD,MAAM,MAAM,YAAY,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC5F,MAAM,MAAM,gBAAgB,GAAGC,cAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC1E,MAAM,uBAAuBC,cAAK,CAAC,aAAa;AAChD,QAAQ,IAAI;AACZ,QAAQ,aAAa,CAAC,cAAc,CAAC;AACrC,UAAU,GAAG,EAAE,SAAS;AACxB,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE;AACxC,UAAU,mBAAmB,EAAE,eAAe,IAAI,KAAK,CAAC;AACxD,SAAS,CAAC;AACV,wBAAwBA,cAAK,CAAC,aAAa;AAC3C,UAAUC,2BAAa;AACvB,UAAU,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE;AACxG,YAAY,IAAI;AAChB,YAAY,QAAQ;AACpB,YAAY,+BAA+B,EAAE,iBAAiB,IAAI,KAAK,CAAC;AACxE,YAAY,QAAQ,EAAEC,6BAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;AAC5D,YAAY,GAAG,EAAE,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC;AACxG,WAAW,CAAC,EAAE,YAAY,CAAC,EAAE;AAC7B,YAAY,SAAS,EAAE,CAAC,KAAK,KAAK;AAClC,cAAc,IAAI,GAAG,CAAC;AACtB,cAAc,CAAC,GAAG,GAAG,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9H,cAAc,kBAAkB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACnH,aAAa;AACb,YAAY,OAAO,EAAE,CAAC,KAAK,KAAK;AAChC,cAAc,IAAI,GAAG,CAAC;AACtB,cAAc,CAAC,GAAG,GAAG,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC5H,cAAc,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAChF,aAAa;AACb,YAAY,YAAY,EAAE,CAAC,KAAK,KAAK;AACrC,cAAc,IAAI,GAAG,CAAC;AACtB,cAAc,CAAC,GAAG,GAAG,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACjI,cAAc,qBAAqB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1F,aAAa;AACb,YAAY,WAAW,EAAE,CAAC,KAAK,KAAK;AACpC,cAAc,IAAI,GAAG,CAAC;AACtB,cAAc,CAAC,GAAG,GAAG,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAChI,cAAc,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AACvD,aAAa;AACb,YAAY,QAAQ,EAAE,cAAc,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAC;AAClE,WAAW,CAAC;AACZ,UAAUH,cAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;AAC3E,SAAS;AACT,OAAO,CAAC;AACR,KAAK,CAAC,CAAC;AACP,IAAI,uBAAuBC,cAAK,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC1H,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAACG,QAAG,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,kBAAkBH,cAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/M,CAAC,EAAE;AACH,SAAS,CAAC,OAAO,GAAGL,2BAAO,CAAC;AAC5B,SAAS,CAAC,WAAW,GAAG,0BAA0B;;;;"}
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({ type, value, defaultValue, onChange });
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 [_value, _setValue] = hooks.useUncontrolled({
17
- value,
18
- defaultValue,
19
- onChange,
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 onChange,\n finalValue: getEmptyValue(type),\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];\n}\n"],"names":["useRef","useUncontrolled"],"mappings":";;;;;;;AAEA,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,CAAC,EAAE;AACH,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,qBAAe,CAAC;AAC9C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;AACnC,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,CAAC,CAAC;AAClC;;;;"}
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":";;;;;;;;;;AACO,SAAS,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;AAC5D,EAAE,MAAM,KAAK,mBAAmB,IAAI,IAAI,EAAE,CAAC;AAC3C,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE;AAC5B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,OAAO,IAAIA,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;;;;"}
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] = useUncontrolled({
182
+ const [_date, setDate] = useUncontrolledDates({
183
+ type: "default",
178
184
  value: date,
179
185
  defaultValue: defaultDate,
180
- finalValue: null,
181
- onChange: onDateChange
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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"}
@@ -38,8 +38,7 @@ const defaultProps = {
38
38
  previousDisabled: false,
39
39
  hasNextLevel: true,
40
40
  withNext: true,
41
- withPrevious: true,
42
- size: "sm"
41
+ withPrevious: true
43
42
  };
44
43
  const varsResolver = createVarsResolver((_, { size }) => ({
45
44
  calendarHeader: {