@mantine/dates 4.2.8 → 5.0.0-alpha.10

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 (148) hide show
  1. package/cjs/components/Calendar/Calendar.js +1 -1
  2. package/cjs/components/Calendar/Calendar.js.map +1 -1
  3. package/cjs/components/CalendarBase/CalendarBase.js +13 -9
  4. package/cjs/components/CalendarBase/CalendarBase.js.map +1 -1
  5. package/cjs/components/CalendarBase/CalendarHeader/CalendarHeader.js +9 -4
  6. package/cjs/components/CalendarBase/CalendarHeader/CalendarHeader.js.map +1 -1
  7. package/cjs/components/CalendarBase/MonthPicker/MonthPicker.js +8 -4
  8. package/cjs/components/CalendarBase/MonthPicker/MonthPicker.js.map +1 -1
  9. package/cjs/components/CalendarBase/MonthsList/MonthsList.js +8 -4
  10. package/cjs/components/CalendarBase/MonthsList/MonthsList.js.map +1 -1
  11. package/cjs/components/CalendarBase/YearPicker/YearPicker.js +7 -3
  12. package/cjs/components/CalendarBase/YearPicker/YearPicker.js.map +1 -1
  13. package/cjs/components/DatePicker/DatePicker.js +11 -8
  14. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  15. package/cjs/components/DatePickerBase/DatePickerBase.js +59 -50
  16. package/cjs/components/DatePickerBase/DatePickerBase.js.map +1 -1
  17. package/cjs/components/DatePickerBase/DatePickerBase.styles.js +1 -25
  18. package/cjs/components/DatePickerBase/DatePickerBase.styles.js.map +1 -1
  19. package/cjs/components/DateRangePicker/DateRangePicker.js +10 -7
  20. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  21. package/cjs/components/Month/Day/Day.js +15 -11
  22. package/cjs/components/Month/Day/Day.js.map +1 -1
  23. package/cjs/components/Month/Day/Day.styles.js +47 -61
  24. package/cjs/components/Month/Day/Day.styles.js.map +1 -1
  25. package/cjs/components/Month/Month.js +18 -11
  26. package/cjs/components/Month/Month.js.map +1 -1
  27. package/cjs/components/Month/get-day-props/get-day-props.js +3 -2
  28. package/cjs/components/Month/get-day-props/get-day-props.js.map +1 -1
  29. package/cjs/components/Month/get-day-props/is-weekend/is-weekend.js +2 -3
  30. package/cjs/components/Month/get-day-props/is-weekend/is-weekend.js.map +1 -1
  31. package/cjs/components/RangeCalendar/RangeCalendar.js +1 -1
  32. package/cjs/components/RangeCalendar/RangeCalendar.js.map +1 -1
  33. package/cjs/components/TimeInput/TimeInput.js +36 -17
  34. package/cjs/components/TimeInput/TimeInput.js.map +1 -1
  35. package/cjs/components/TimeInput/TimeInput.styles.js +1 -0
  36. package/cjs/components/TimeInput/TimeInput.styles.js.map +1 -1
  37. package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js +25 -7
  38. package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -1
  39. package/cjs/components/TimeInputBase/TimeField/TimeField.js +10 -7
  40. package/cjs/components/TimeInputBase/TimeField/TimeField.js.map +1 -1
  41. package/cjs/components/TimeInputBase/TimeInputBase.styles.js +7 -2
  42. package/cjs/components/TimeInputBase/TimeInputBase.styles.js.map +1 -1
  43. package/cjs/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js +3 -3
  44. package/cjs/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js.map +1 -1
  45. package/cjs/components/TimeInputBase/create-time-handler/create-time-handler.js +1 -1
  46. package/cjs/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -1
  47. package/cjs/components/TimeInputBase/get-date/get-date.js +2 -2
  48. package/cjs/components/TimeInputBase/get-date/get-date.js.map +1 -1
  49. package/cjs/components/TimeInputBase/get-time-values/get-time-value.js +2 -2
  50. package/cjs/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -1
  51. package/cjs/components/TimeRangeInput/TimeRangeInput.js +18 -11
  52. package/cjs/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
  53. package/esm/components/Calendar/Calendar.js +2 -2
  54. package/esm/components/Calendar/Calendar.js.map +1 -1
  55. package/esm/components/CalendarBase/CalendarBase.js +13 -9
  56. package/esm/components/CalendarBase/CalendarBase.js.map +1 -1
  57. package/esm/components/CalendarBase/CalendarHeader/CalendarHeader.js +9 -4
  58. package/esm/components/CalendarBase/CalendarHeader/CalendarHeader.js.map +1 -1
  59. package/esm/components/CalendarBase/MonthPicker/MonthPicker.js +8 -4
  60. package/esm/components/CalendarBase/MonthPicker/MonthPicker.js.map +1 -1
  61. package/esm/components/CalendarBase/MonthsList/MonthsList.js +8 -4
  62. package/esm/components/CalendarBase/MonthsList/MonthsList.js.map +1 -1
  63. package/esm/components/CalendarBase/YearPicker/YearPicker.js +7 -3
  64. package/esm/components/CalendarBase/YearPicker/YearPicker.js.map +1 -1
  65. package/esm/components/DatePicker/DatePicker.js +12 -9
  66. package/esm/components/DatePicker/DatePicker.js.map +1 -1
  67. package/esm/components/DatePickerBase/DatePickerBase.js +62 -53
  68. package/esm/components/DatePickerBase/DatePickerBase.js.map +1 -1
  69. package/esm/components/DatePickerBase/DatePickerBase.styles.js +2 -26
  70. package/esm/components/DatePickerBase/DatePickerBase.styles.js.map +1 -1
  71. package/esm/components/DateRangePicker/DateRangePicker.js +11 -8
  72. package/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
  73. package/esm/components/Month/Day/Day.js +15 -11
  74. package/esm/components/Month/Day/Day.js.map +1 -1
  75. package/esm/components/Month/Day/Day.styles.js +47 -61
  76. package/esm/components/Month/Day/Day.styles.js.map +1 -1
  77. package/esm/components/Month/Month.js +19 -12
  78. package/esm/components/Month/Month.js.map +1 -1
  79. package/esm/components/Month/get-day-props/get-day-props.js +3 -2
  80. package/esm/components/Month/get-day-props/get-day-props.js.map +1 -1
  81. package/esm/components/Month/get-day-props/is-weekend/is-weekend.js +2 -3
  82. package/esm/components/Month/get-day-props/is-weekend/is-weekend.js.map +1 -1
  83. package/esm/components/RangeCalendar/RangeCalendar.js +2 -2
  84. package/esm/components/RangeCalendar/RangeCalendar.js.map +1 -1
  85. package/esm/components/TimeInput/TimeInput.js +38 -19
  86. package/esm/components/TimeInput/TimeInput.js.map +1 -1
  87. package/esm/components/TimeInput/TimeInput.styles.js +1 -0
  88. package/esm/components/TimeInput/TimeInput.styles.js.map +1 -1
  89. package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js +25 -7
  90. package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -1
  91. package/esm/components/TimeInputBase/TimeField/TimeField.js +10 -7
  92. package/esm/components/TimeInputBase/TimeField/TimeField.js.map +1 -1
  93. package/esm/components/TimeInputBase/TimeInputBase.styles.js +7 -2
  94. package/esm/components/TimeInputBase/TimeInputBase.styles.js.map +1 -1
  95. package/esm/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js +3 -3
  96. package/esm/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js.map +1 -1
  97. package/esm/components/TimeInputBase/create-time-handler/create-time-handler.js +1 -1
  98. package/esm/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -1
  99. package/esm/components/TimeInputBase/get-date/get-date.js +2 -2
  100. package/esm/components/TimeInputBase/get-date/get-date.js.map +1 -1
  101. package/esm/components/TimeInputBase/get-time-values/get-time-value.js +2 -2
  102. package/esm/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -1
  103. package/esm/components/TimeRangeInput/TimeRangeInput.js +20 -13
  104. package/esm/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
  105. package/lib/components/CalendarBase/CalendarBase.d.ts.map +1 -1
  106. package/lib/components/CalendarBase/CalendarHeader/CalendarHeader.d.ts +1 -1
  107. package/lib/components/CalendarBase/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  108. package/lib/components/CalendarBase/MonthPicker/MonthPicker.d.ts +1 -1
  109. package/lib/components/CalendarBase/MonthPicker/MonthPicker.d.ts.map +1 -1
  110. package/lib/components/CalendarBase/MonthsList/MonthsList.d.ts +1 -1
  111. package/lib/components/CalendarBase/MonthsList/MonthsList.d.ts.map +1 -1
  112. package/lib/components/CalendarBase/YearPicker/YearPicker.d.ts +1 -1
  113. package/lib/components/CalendarBase/YearPicker/YearPicker.d.ts.map +1 -1
  114. package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
  115. package/lib/components/DatePickerBase/DatePickerBase.d.ts +7 -9
  116. package/lib/components/DatePickerBase/DatePickerBase.d.ts.map +1 -1
  117. package/lib/components/DatePickerBase/DatePickerBase.styles.d.ts +2 -7
  118. package/lib/components/DatePickerBase/DatePickerBase.styles.d.ts.map +1 -1
  119. package/lib/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  120. package/lib/components/Month/Day/Day.d.ts.map +1 -1
  121. package/lib/components/Month/Day/Day.styles.d.ts +2 -2
  122. package/lib/components/Month/Day/Day.styles.d.ts.map +1 -1
  123. package/lib/components/Month/Month.d.ts +2 -0
  124. package/lib/components/Month/Month.d.ts.map +1 -1
  125. package/lib/components/Month/get-day-props/get-day-props.d.ts +3 -1
  126. package/lib/components/Month/get-day-props/get-day-props.d.ts.map +1 -1
  127. package/lib/components/Month/get-day-props/is-weekend/is-weekend.d.ts +1 -1
  128. package/lib/components/Month/get-day-props/is-weekend/is-weekend.d.ts.map +1 -1
  129. package/lib/components/TimeInput/TimeInput.d.ts +6 -2
  130. package/lib/components/TimeInput/TimeInput.d.ts.map +1 -1
  131. package/lib/components/TimeInput/TimeInput.styles.d.ts +2 -2
  132. package/lib/components/TimeInput/TimeInput.styles.d.ts.map +1 -1
  133. package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts +5 -0
  134. package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts.map +1 -1
  135. package/lib/components/TimeInputBase/TimeField/TimeField.d.ts +1 -0
  136. package/lib/components/TimeInputBase/TimeField/TimeField.d.ts.map +1 -1
  137. package/lib/components/TimeInputBase/TimeInputBase.styles.d.ts +2 -2
  138. package/lib/components/TimeInputBase/TimeInputBase.styles.d.ts.map +1 -1
  139. package/lib/components/TimeInputBase/create-amPm-handler/create-amPm-handler.d.ts +3 -1
  140. package/lib/components/TimeInputBase/create-amPm-handler/create-amPm-handler.d.ts.map +1 -1
  141. package/lib/components/TimeInputBase/get-date/get-date.d.ts +1 -1
  142. package/lib/components/TimeInputBase/get-date/get-date.d.ts.map +1 -1
  143. package/lib/components/TimeInputBase/get-time-values/get-time-value.d.ts +1 -1
  144. package/lib/components/TimeInputBase/get-time-values/get-time-value.d.ts.map +1 -1
  145. package/lib/components/TimeRangeInput/TimeRangeInput.d.ts +2 -2
  146. package/lib/components/TimeRangeInput/TimeRangeInput.d.ts.map +1 -1
  147. package/lib/components/TimeRangeInput/TimeRangeInput.styles.d.ts +2 -2
  148. package/package.json +4 -3
@@ -1,7 +1,7 @@
1
1
  import dayjs from 'dayjs';
2
2
  import React, { forwardRef, useState, useRef } from 'react';
3
3
  import { useUncontrolled, upperFirst, useMergedRef } from '@mantine/hooks';
4
- import { useMantineDefaultProps, useMantineTheme } from '@mantine/core';
4
+ import { useComponentDefaultProps, useMantineTheme } from '@mantine/core';
5
5
  import { RangeCalendar } from '../RangeCalendar/RangeCalendar.js';
6
6
  import { DatePickerBase } from '../DatePickerBase/DatePickerBase.js';
7
7
 
@@ -52,7 +52,7 @@ const defaultProps = {
52
52
  openDropdownOnClear: true
53
53
  };
54
54
  const DateRangePicker = forwardRef((props, ref) => {
55
- const _a = useMantineDefaultProps("DateRangePicker", defaultProps, props), {
55
+ const _a = useComponentDefaultProps("DateRangePicker", defaultProps, props), {
56
56
  value,
57
57
  onChange,
58
58
  defaultValue,
@@ -91,7 +91,8 @@ const DateRangePicker = forwardRef((props, ref) => {
91
91
  hideOutsideDates,
92
92
  hideWeekdays,
93
93
  renderDay,
94
- openDropdownOnClear
94
+ openDropdownOnClear,
95
+ unstyled
95
96
  } = _a, others = __objRest(_a, [
96
97
  "value",
97
98
  "onChange",
@@ -131,7 +132,8 @@ const DateRangePicker = forwardRef((props, ref) => {
131
132
  "hideOutsideDates",
132
133
  "hideWeekdays",
133
134
  "renderDay",
134
- "openDropdownOnClear"
135
+ "openDropdownOnClear",
136
+ "unstyled"
135
137
  ]);
136
138
  const theme = useMantineTheme();
137
139
  const finalLocale = locale || theme.datesLocale;
@@ -143,8 +145,7 @@ const DateRangePicker = forwardRef((props, ref) => {
143
145
  value,
144
146
  defaultValue,
145
147
  finalValue: [null, null],
146
- onChange,
147
- rule: isFirstDateSet
148
+ onChange
148
149
  });
149
150
  const handleValueChange = (range) => {
150
151
  setValue(range);
@@ -192,7 +193,8 @@ const DateRangePicker = forwardRef((props, ref) => {
192
193
  withinPortal,
193
194
  amountOfMonths,
194
195
  onDropdownClose,
195
- onDropdownOpen
196
+ onDropdownOpen,
197
+ unstyled
196
198
  }, others), /* @__PURE__ */ React.createElement(RangeCalendar, {
197
199
  classNames,
198
200
  styles,
@@ -219,7 +221,8 @@ const DateRangePicker = forwardRef((props, ref) => {
219
221
  initialLevel,
220
222
  hideOutsideDates,
221
223
  hideWeekdays,
222
- renderDay
224
+ renderDay,
225
+ unstyled
223
226
  }));
224
227
  });
225
228
  DateRangePicker.displayName = "@mantine/dates/DateRangePicker";
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.js","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme, useMantineDefaultProps } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { RangeCalendar } from '../RangeCalendar/RangeCalendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DateRangePickerProps\n extends Omit<DatePickerBaseSharedProps, 'value' | 'onChange' | 'fixOnBlur'>,\n Omit<\n CalendarSharedProps,\n 'size' | 'styles' | 'classNames' | 'value' | 'onChange' | 'onMonthChange'\n > {\n /** Selected date, required with controlled input */\n value?: [Date | null, Date | null];\n\n /** Called when date range changes */\n onChange?(value: [Date | null, Date | null]): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: [Date | null, Date | null];\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** Set to true to open dropdown on clear */\n openDropdownOnClear?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Separator between dates */\n labelSeparator?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow one date to be selected as range */\n allowSingleDateInRange?: boolean;\n\n /** Allows to show multiple months */\n amountOfMonths?: number;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n}\n\nconst validationRule = (val: any) =>\n Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date);\n\nconst isFirstDateSet = (val: any) =>\n Array.isArray(val) && val.length === 2 && val[0] instanceof Date;\n\nconst defaultProps: Partial<DateRangePickerProps> = {\n shadow: 'sm',\n transitionDuration: 200,\n closeCalendarOnChange: true,\n labelFormat: 'MMMM YYYY',\n initiallyOpened: false,\n size: 'sm',\n dropdownType: 'popover',\n labelSeparator: '–',\n clearable: true,\n firstDayOfWeek: 'monday',\n allowSingleDateInRange: false,\n amountOfMonths: 1,\n withinPortal: true,\n openDropdownOnClear: true,\n};\n\nexport const DateRangePicker = forwardRef<HTMLInputElement, DateRangePickerProps>(\n (props: DateRangePickerProps, ref) => {\n const {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow,\n locale,\n inputFormat,\n transitionDuration,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange,\n labelFormat,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened,\n size,\n dropdownType,\n labelSeparator,\n clearable,\n clearButtonLabel,\n firstDayOfWeek,\n allowLevelChange,\n allowSingleDateInRange,\n amountOfMonths,\n withinPortal,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n hideOutsideDates,\n hideWeekdays,\n renderDay,\n openDropdownOnClear,\n ...others\n } = useMantineDefaultProps('DateRangePicker', defaultProps, props);\n\n const theme = useMantineTheme();\n const finalLocale = locale || theme.datesLocale;\n const dateFormat = inputFormat || theme.dateFormat;\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const calendarSize = size === 'lg' || size === 'xl' ? 'md' : 'sm';\n const inputRef = useRef<HTMLInputElement>();\n const [_value, setValue] = useUncontrolled<[Date, Date]>({\n value,\n defaultValue,\n finalValue: [null, null],\n onChange,\n rule: isFirstDateSet,\n });\n\n const handleValueChange = (range: [Date, Date]) => {\n setValue(range);\n if (closeCalendarOnChange && validationRule(range)) {\n setDropdownOpened(false);\n onDropdownClose?.();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const valueValid = validationRule(_value);\n const firstValueValid = isFirstDateSet(_value);\n\n const firstDateLabel = _value[0]\n ? upperFirst(dayjs(_value[0]).locale(finalLocale).format(dateFormat))\n : '';\n\n const secondDateLabel = _value[1]\n ? upperFirst(dayjs(_value[1]).locale(finalLocale).format(dateFormat))\n : '';\n\n const handleClear = () => {\n setValue([null, null]);\n setDropdownOpened(true);\n openDropdownOnClear && onDropdownOpen?.();\n inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpened: boolean) => {\n if (!isOpened && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(isOpened);\n };\n\n return (\n <DatePickerBase\n dropdownOpened={dropdownOpened}\n setDropdownOpened={handleDropdownToggle}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n inputLabel={firstValueValid ? `${firstDateLabel} ${labelSeparator} ${secondDateLabel}` : ''}\n __staticSelector=\"DateRangePicker\"\n dropdownType={dropdownType}\n clearable={clearable && firstValueValid}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n {...others}\n >\n <RangeCalendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n initialMonth={valueValid ? _value[0] : initialMonth}\n value={_value}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"DateRangePicker\"\n fullWidth={dropdownType === 'modal'}\n firstDayOfWeek={firstDayOfWeek}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n allowLevelChange={allowLevelChange}\n allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\n initialLevel={initialLevel}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n renderDay={renderDay}\n />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateRangePicker.js","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme, useComponentDefaultProps } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { RangeCalendar } from '../RangeCalendar/RangeCalendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DateRangePickerProps\n extends Omit<DatePickerBaseSharedProps, 'value' | 'onChange' | 'fixOnBlur'>,\n Omit<\n CalendarSharedProps,\n 'size' | 'styles' | 'classNames' | 'value' | 'onChange' | 'onMonthChange'\n > {\n /** Selected date, required with controlled input */\n value?: [Date | null, Date | null];\n\n /** Called when date range changes */\n onChange?(value: [Date | null, Date | null]): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: [Date | null, Date | null];\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** Set to true to open dropdown on clear */\n openDropdownOnClear?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Separator between dates */\n labelSeparator?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow one date to be selected as range */\n allowSingleDateInRange?: boolean;\n\n /** Allows to show multiple months */\n amountOfMonths?: number;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n}\n\nconst validationRule = (val: any) =>\n Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date);\n\nconst isFirstDateSet = (val: any) =>\n Array.isArray(val) && val.length === 2 && val[0] instanceof Date;\n\nconst defaultProps: Partial<DateRangePickerProps> = {\n shadow: 'sm',\n transitionDuration: 200,\n closeCalendarOnChange: true,\n labelFormat: 'MMMM YYYY',\n initiallyOpened: false,\n size: 'sm',\n dropdownType: 'popover',\n labelSeparator: '–',\n clearable: true,\n firstDayOfWeek: 'monday',\n allowSingleDateInRange: false,\n amountOfMonths: 1,\n withinPortal: true,\n openDropdownOnClear: true,\n};\n\nexport const DateRangePicker = forwardRef<HTMLInputElement, DateRangePickerProps>(\n (props: DateRangePickerProps, ref) => {\n const {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow,\n locale,\n inputFormat,\n transitionDuration,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange,\n labelFormat,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened,\n size,\n dropdownType,\n labelSeparator,\n clearable,\n clearButtonLabel,\n firstDayOfWeek,\n allowLevelChange,\n allowSingleDateInRange,\n amountOfMonths,\n withinPortal,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n hideOutsideDates,\n hideWeekdays,\n renderDay,\n openDropdownOnClear,\n unstyled,\n ...others\n } = useComponentDefaultProps('DateRangePicker', defaultProps, props);\n\n const theme = useMantineTheme();\n const finalLocale = locale || theme.datesLocale;\n const dateFormat = inputFormat || theme.dateFormat;\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const calendarSize = size === 'lg' || size === 'xl' ? 'md' : 'sm';\n const inputRef = useRef<HTMLInputElement>();\n const [_value, setValue] = useUncontrolled<[Date, Date]>({\n value,\n defaultValue,\n finalValue: [null, null],\n onChange,\n });\n\n const handleValueChange = (range: [Date, Date]) => {\n setValue(range);\n if (closeCalendarOnChange && validationRule(range)) {\n setDropdownOpened(false);\n onDropdownClose?.();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const valueValid = validationRule(_value);\n const firstValueValid = isFirstDateSet(_value);\n\n const firstDateLabel = _value[0]\n ? upperFirst(dayjs(_value[0]).locale(finalLocale).format(dateFormat))\n : '';\n\n const secondDateLabel = _value[1]\n ? upperFirst(dayjs(_value[1]).locale(finalLocale).format(dateFormat))\n : '';\n\n const handleClear = () => {\n setValue([null, null]);\n setDropdownOpened(true);\n openDropdownOnClear && onDropdownOpen?.();\n inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpened: boolean) => {\n if (!isOpened && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(isOpened);\n };\n\n return (\n <DatePickerBase\n dropdownOpened={dropdownOpened}\n setDropdownOpened={handleDropdownToggle}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n inputLabel={firstValueValid ? `${firstDateLabel} ${labelSeparator} ${secondDateLabel}` : ''}\n __staticSelector=\"DateRangePicker\"\n dropdownType={dropdownType}\n clearable={clearable && firstValueValid}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n unstyled={unstyled}\n {...others}\n >\n <RangeCalendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n initialMonth={valueValid ? _value[0] : initialMonth}\n value={_value}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"DateRangePicker\"\n fullWidth={dropdownType === 'modal'}\n firstDayOfWeek={firstDayOfWeek}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n allowLevelChange={allowLevelChange}\n allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\n initialLevel={initialLevel}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n renderDay={renderDay}\n unstyled={unstyled}\n />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":[],"mappings":"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"}
@@ -54,7 +54,9 @@ const Day = forwardRef((_a, ref) => {
54
54
  firstInMonth,
55
55
  focusable,
56
56
  hideOutsideDates,
57
- renderDay
57
+ renderDay,
58
+ unstyled,
59
+ disabled
58
60
  } = _b, others = __objRest(_b, [
59
61
  "className",
60
62
  "value",
@@ -74,24 +76,26 @@ const Day = forwardRef((_a, ref) => {
74
76
  "firstInMonth",
75
77
  "focusable",
76
78
  "hideOutsideDates",
77
- "renderDay"
79
+ "renderDay",
80
+ "unstyled",
81
+ "disabled"
78
82
  ]);
79
- const { classes, cx } = useStyles({ size, fullWidth, hideOutsideDates }, { classNames, styles, name: __staticSelector });
83
+ const { classes, cx } = useStyles({ size, fullWidth, hideOutsideDates }, { classNames, styles, unstyled, name: __staticSelector });
80
84
  return /* @__PURE__ */ React.createElement("button", __spreadProps(__spreadValues({}, others), {
81
85
  type: "button",
82
86
  ref,
87
+ disabled,
83
88
  onMouseEnter: (event) => onMouseEnter(value, event),
84
89
  tabIndex: getDayTabIndex({ focusable, hasValue, selected, firstInMonth }),
85
90
  "data-autofocus": getDayAutofocus({ hasValue, selected, firstInMonth }),
86
91
  "data-mantine-stop-propagation": true,
87
- className: cx(classes.day, {
88
- [classes.outside]: outside,
89
- [classes.weekend]: weekend,
90
- [classes.selected]: selected,
91
- [classes.inRange]: inRange,
92
- [classes.firstInRange]: firstInRange,
93
- [classes.lastInRange]: lastInRange
94
- }, className)
92
+ "data-outside": outside && !disabled || void 0,
93
+ "data-weekend": weekend && !disabled || void 0,
94
+ "data-selected": selected && !disabled || void 0,
95
+ "data-in-range": inRange && !disabled || void 0,
96
+ "data-first-in-range": firstInRange && !disabled || void 0,
97
+ "data-last-in-range": lastInRange && !disabled || void 0,
98
+ className: cx(classes.day, className)
95
99
  }), typeof renderDay === "function" ? renderDay(value) : value.getDate());
96
100
  });
97
101
  Day.displayName = "@mantine/core/Day";
@@ -1 +1 @@
1
- {"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/core';\nimport { getDayTabIndex } from './get-day-tab-index/get-day-tab-index';\nimport { getDayAutofocus } from './get-day-autofocus/get-day-autofocus';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = Selectors<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onMouseEnter(date: Date, event: React.MouseEvent): void;\n disabled: boolean;\n hasValue: boolean;\n inRange: boolean;\n firstInRange: boolean;\n lastInRange: boolean;\n size: MantineSize;\n fullWidth: boolean;\n __staticSelector?: string;\n firstInMonth: boolean;\n focusable?: boolean;\n hideOutsideDates?: boolean;\n renderDay?(date: Date): React.ReactNode;\n}\n\nexport const Day = forwardRef<HTMLButtonElement, DayProps>(\n (\n {\n className,\n value,\n selected,\n weekend,\n outside,\n onMouseEnter,\n classNames,\n styles,\n hasValue,\n firstInRange,\n lastInRange,\n __staticSelector = 'Month',\n inRange,\n size,\n fullWidth,\n firstInMonth,\n focusable,\n hideOutsideDates,\n renderDay,\n ...others\n }: DayProps,\n ref\n ) => {\n const { classes, cx } = useStyles(\n { size, fullWidth, hideOutsideDates },\n { classNames, styles, name: __staticSelector }\n );\n\n return (\n <button\n {...others}\n type=\"button\"\n ref={ref}\n onMouseEnter={(event) => onMouseEnter(value, event)}\n tabIndex={getDayTabIndex({ focusable, hasValue, selected, firstInMonth })}\n data-autofocus={getDayAutofocus({ hasValue, selected, firstInMonth })}\n data-mantine-stop-propagation\n className={cx(\n classes.day,\n {\n [classes.outside]: outside,\n [classes.weekend]: weekend,\n [classes.selected]: selected,\n [classes.inRange]: inRange,\n [classes.firstInRange]: firstInRange,\n [classes.lastInRange]: lastInRange,\n },\n className\n )}\n >\n {typeof renderDay === 'function' ? renderDay(value) : value.getDate()}\n </button>\n );\n }\n);\n\nDay.displayName = '@mantine/core/Day';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/core';\nimport { getDayTabIndex } from './get-day-tab-index/get-day-tab-index';\nimport { getDayAutofocus } from './get-day-autofocus/get-day-autofocus';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = Selectors<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onMouseEnter(date: Date, event: React.MouseEvent): void;\n disabled: boolean;\n hasValue: boolean;\n inRange: boolean;\n firstInRange: boolean;\n lastInRange: boolean;\n size: MantineSize;\n fullWidth: boolean;\n __staticSelector?: string;\n firstInMonth: boolean;\n focusable?: boolean;\n hideOutsideDates?: boolean;\n renderDay?(date: Date): React.ReactNode;\n}\n\nexport const Day = forwardRef<HTMLButtonElement, DayProps>(\n (\n {\n className,\n value,\n selected,\n weekend,\n outside,\n onMouseEnter,\n classNames,\n styles,\n hasValue,\n firstInRange,\n lastInRange,\n __staticSelector = 'Month',\n inRange,\n size,\n fullWidth,\n firstInMonth,\n focusable,\n hideOutsideDates,\n renderDay,\n unstyled,\n disabled,\n ...others\n }: DayProps,\n ref\n ) => {\n const { classes, cx } = useStyles(\n { size, fullWidth, hideOutsideDates },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n\n return (\n <button\n {...others}\n type=\"button\"\n ref={ref}\n disabled={disabled}\n onMouseEnter={(event) => onMouseEnter(value, event)}\n tabIndex={getDayTabIndex({ focusable, hasValue, selected, firstInMonth })}\n data-autofocus={getDayAutofocus({ hasValue, selected, firstInMonth })}\n data-mantine-stop-propagation\n data-outside={(outside && !disabled) || undefined}\n data-weekend={(weekend && !disabled) || undefined}\n data-selected={(selected && !disabled) || undefined}\n data-in-range={(inRange && !disabled) || undefined}\n data-first-in-range={(firstInRange && !disabled) || undefined}\n data-last-in-range={(lastInRange && !disabled) || undefined}\n className={cx(classes.day, className)}\n >\n {typeof renderDay === 'function' ? renderDay(value) : value.getDate()}\n </button>\n );\n }\n);\n\nDay.displayName = '@mantine/core/Day';\n"],"names":[],"mappings":"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"}
@@ -26,67 +26,53 @@ const sizes = {
26
26
  lg: 58,
27
27
  xl: 66
28
28
  };
29
- var useStyles = createStyles((theme, { size, fullWidth, hideOutsideDates }, getRef) => {
30
- const weekend = { ref: getRef("weekend") };
31
- const outside = { ref: getRef("outside") };
32
- const selected = { ref: getRef("selected") };
33
- const inRange = { ref: getRef("inRange") };
34
- const firstInRange = { ref: getRef("firstInRange") };
35
- const lastInRange = { ref: getRef("lastInRange") };
36
- return {
37
- weekend,
38
- outside,
39
- selected,
40
- inRange,
41
- firstInRange,
42
- lastInRange,
43
- day: __spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), theme.fn.focusStyles()), {
44
- position: "relative",
45
- WebkitTapHighlightColor: "transparent",
46
- backgroundColor: "transparent",
47
- width: fullWidth ? "100%" : theme.fn.size({ size, sizes }),
48
- height: theme.fn.size({ size, sizes }),
49
- lineHeight: `${theme.fn.size({ size, sizes })}px`,
50
- fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),
51
- padding: 0,
52
- borderRadius: theme.radius.sm,
53
- border: "none",
54
- cursor: "pointer",
55
- userSelect: "none",
56
- color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.colors.gray[7],
57
- "&:disabled": {
58
- pointerEvents: "none",
59
- color: theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[4]
60
- }
61
- }), theme.fn.hover({
62
- backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[5] : theme.colors.gray[0]
63
- })), {
64
- [`&.${weekend.ref}:not(:disabled)`]: {
65
- color: theme.colorScheme === "dark" ? theme.colors.red[5] : theme.colors.red[7]
66
- },
67
- [`&.${outside.ref}`]: {
68
- display: hideOutsideDates ? "none" : void 0,
69
- color: `${theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[4]} !important`
70
- },
71
- [`&.${inRange.ref}:not(:disabled)`]: {
72
- backgroundColor: theme.fn.variant({ variant: "light" }).background,
73
- borderRadius: 0
74
- },
75
- [`&.${selected.ref}:not(:disabled)`]: {
76
- backgroundColor: theme.fn.variant({ variant: "filled" }).background,
77
- color: theme.white
78
- },
79
- [`&.${firstInRange.ref}:not(:disabled)`]: {
80
- borderTopLeftRadius: theme.radius.sm,
81
- borderBottomLeftRadius: theme.radius.sm
82
- },
83
- [`&.${lastInRange.ref}:not(:disabled)`]: {
84
- borderTopRightRadius: theme.radius.sm,
85
- borderBottomRightRadius: theme.radius.sm
86
- }
87
- })
88
- };
89
- });
29
+ var useStyles = createStyles((theme, { size, fullWidth, hideOutsideDates }) => ({
30
+ day: __spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), theme.fn.focusStyles()), {
31
+ position: "relative",
32
+ WebkitTapHighlightColor: "transparent",
33
+ backgroundColor: "transparent",
34
+ width: fullWidth ? "100%" : theme.fn.size({ size, sizes }),
35
+ height: theme.fn.size({ size, sizes }),
36
+ lineHeight: `${theme.fn.size({ size, sizes })}px`,
37
+ fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),
38
+ padding: 0,
39
+ borderRadius: theme.radius.sm,
40
+ border: "none",
41
+ cursor: "pointer",
42
+ userSelect: "none",
43
+ color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.colors.gray[7],
44
+ "&:disabled": {
45
+ pointerEvents: "none",
46
+ color: theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[4]
47
+ }
48
+ }), theme.fn.hover({
49
+ backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[5] : theme.colors.gray[0]
50
+ })), {
51
+ "&[data-weekend]": {
52
+ color: theme.colorScheme === "dark" ? theme.colors.red[5] : theme.colors.red[7]
53
+ },
54
+ "&[data-outside]": {
55
+ display: hideOutsideDates ? "none" : void 0,
56
+ color: `${theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[4]}`
57
+ },
58
+ "&[data-in-range]": {
59
+ backgroundColor: theme.fn.variant({ variant: "light" }).background,
60
+ borderRadius: 0
61
+ },
62
+ "&[data-selected]": {
63
+ backgroundColor: theme.fn.variant({ variant: "filled" }).background,
64
+ color: theme.white
65
+ },
66
+ "&[data-first-in-range]": {
67
+ borderTopLeftRadius: theme.radius.sm,
68
+ borderBottomLeftRadius: theme.radius.sm
69
+ },
70
+ "&[data-last-in-range]": {
71
+ borderTopRightRadius: theme.radius.sm,
72
+ borderBottomRightRadius: theme.radius.sm
73
+ }
74
+ })
75
+ }));
90
76
 
91
77
  export default useStyles;
92
78
  export { sizes };
@@ -1 +1 @@
1
- {"version":3,"file":"Day.styles.js","sources":["../../../../src/components/Month/Day/Day.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/core';\n\ninterface DayStyles {\n size: MantineSize;\n fullWidth: boolean;\n hideOutsideDates: boolean;\n}\n\nexport const sizes = {\n xs: 34,\n sm: 38,\n md: 46,\n lg: 58,\n xl: 66,\n};\n\nexport default createStyles((theme, { size, fullWidth, hideOutsideDates }: DayStyles, getRef) => {\n const weekend = { ref: getRef('weekend') };\n const outside = { ref: getRef('outside') };\n const selected = { ref: getRef('selected') };\n const inRange = { ref: getRef('inRange') };\n const firstInRange = { ref: getRef('firstInRange') };\n const lastInRange = { ref: getRef('lastInRange') };\n\n return {\n weekend,\n outside,\n selected,\n inRange,\n firstInRange,\n lastInRange,\n\n day: {\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n width: fullWidth ? '100%' : theme.fn.size({ size, sizes }),\n height: theme.fn.size({ size, sizes }),\n lineHeight: `${theme.fn.size({ size, sizes })}px`,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n padding: 0,\n borderRadius: theme.radius.sm,\n border: 'none',\n cursor: 'pointer',\n userSelect: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.colors.gray[7],\n\n '&:disabled': {\n pointerEvents: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[4],\n },\n\n ...theme.fn.hover({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[0],\n }),\n\n [`&.${weekend.ref}:not(:disabled)`]: {\n color: theme.colorScheme === 'dark' ? theme.colors.red[5] : theme.colors.red[7],\n },\n\n [`&.${outside.ref}`]: {\n display: hideOutsideDates ? 'none' : undefined,\n color: `${\n theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[4]\n } !important`,\n },\n\n [`&.${inRange.ref}:not(:disabled)`]: {\n backgroundColor: theme.fn.variant({ variant: 'light' }).background,\n borderRadius: 0,\n },\n\n [`&.${selected.ref}:not(:disabled)`]: {\n backgroundColor: theme.fn.variant({ variant: 'filled' }).background,\n color: theme.white,\n },\n\n [`&.${firstInRange.ref}:not(:disabled)`]: {\n borderTopLeftRadius: theme.radius.sm,\n borderBottomLeftRadius: theme.radius.sm,\n },\n\n [`&.${lastInRange.ref}:not(:disabled)`]: {\n borderTopRightRadius: theme.radius.sm,\n borderBottomRightRadius: theme.radius.sm,\n },\n },\n };\n});\n"],"names":[],"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;AAEtD,MAAC,KAAK,GAAG;AACrB,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE,EAAE,EAAE,EAAE;AACR,EAAE;AACF,gBAAe,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,MAAM,KAAK;AACtF,EAAE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7C,EAAE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7C,EAAE,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;AAC/C,EAAE,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7C,EAAE,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;AACvD,EAAE,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACrD,EAAE,OAAO;AACT,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE;AACvI,MAAM,QAAQ,EAAE,UAAU;AAC1B,MAAM,uBAAuB,EAAE,aAAa;AAC5C,MAAM,eAAe,EAAE,aAAa;AACpC,MAAM,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAChE,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5C,MAAM,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;AACvD,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AAC/D,MAAM,OAAO,EAAE,CAAC;AAChB,MAAM,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,MAAM,EAAE,SAAS;AACvB,MAAM,UAAU,EAAE,MAAM;AACxB,MAAM,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,MAAM,YAAY,EAAE;AACpB,QAAQ,aAAa,EAAE,MAAM;AAC7B,QAAQ,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACzF,OAAO;AACP,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;AACvB,MAAM,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACjG,KAAK,CAAC,CAAC,EAAE;AACT,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG;AAC3C,QAAQ,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACvF,OAAO;AACP,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG;AAC5B,QAAQ,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,KAAK,CAAC;AACnD,QAAQ,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACzG,OAAO;AACP,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG;AAC3C,QAAQ,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU;AAC1E,QAAQ,YAAY,EAAE,CAAC;AACvB,OAAO;AACP,MAAM,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG;AAC5C,QAAQ,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,UAAU;AAC3E,QAAQ,KAAK,EAAE,KAAK,CAAC,KAAK;AAC1B,OAAO;AACP,MAAM,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG;AAChD,QAAQ,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AAC5C,QAAQ,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AAC/C,OAAO;AACP,MAAM,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG;AAC/C,QAAQ,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AAC7C,QAAQ,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;AAChD,OAAO;AACP,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC,CAAC;;;;;"}
1
+ {"version":3,"file":"Day.styles.js","sources":["../../../../src/components/Month/Day/Day.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/core';\n\ninterface DayStyles {\n size: MantineSize;\n fullWidth: boolean;\n hideOutsideDates: boolean;\n}\n\nexport const sizes = {\n xs: 34,\n sm: 38,\n md: 46,\n lg: 58,\n xl: 66,\n};\n\nexport default createStyles((theme, { size, fullWidth, hideOutsideDates }: DayStyles) => ({\n day: {\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n width: fullWidth ? '100%' : theme.fn.size({ size, sizes }),\n height: theme.fn.size({ size, sizes }),\n lineHeight: `${theme.fn.size({ size, sizes })}px`,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n padding: 0,\n borderRadius: theme.radius.sm,\n border: 'none',\n cursor: 'pointer',\n userSelect: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.colors.gray[7],\n\n '&:disabled': {\n pointerEvents: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[4],\n },\n\n ...theme.fn.hover({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[0],\n }),\n\n '&[data-weekend]': {\n color: theme.colorScheme === 'dark' ? theme.colors.red[5] : theme.colors.red[7],\n },\n\n '&[data-outside]': {\n display: hideOutsideDates ? 'none' : undefined,\n color: `${theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[4]}`,\n },\n\n '&[data-in-range]': {\n backgroundColor: theme.fn.variant({ variant: 'light' }).background,\n borderRadius: 0,\n },\n\n '&[data-selected]': {\n backgroundColor: theme.fn.variant({ variant: 'filled' }).background,\n color: theme.white,\n },\n\n '&[data-first-in-range]': {\n borderTopLeftRadius: theme.radius.sm,\n borderBottomLeftRadius: theme.radius.sm,\n },\n\n '&[data-last-in-range]': {\n borderTopRightRadius: theme.radius.sm,\n borderBottomRightRadius: theme.radius.sm,\n },\n },\n}));\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef } from 'react';
2
- import { useMantineDefaultProps, Text, Box } from '@mantine/core';
2
+ import { useComponentDefaultProps, Text, Box } from '@mantine/core';
3
3
  import { upperFirst } from '@mantine/hooks';
4
4
  import dayjs from 'dayjs';
5
5
  import { getMonthDays } from '../../utils/get-month-days/get-month-days.js';
@@ -37,7 +37,7 @@ var __objRest = (source, exclude) => {
37
37
  }
38
38
  return target;
39
39
  };
40
- const no = () => false;
40
+ const noop = () => false;
41
41
  const defaultProps = {
42
42
  disableOutsideEvents: false,
43
43
  hideWeekdays: false,
@@ -47,10 +47,11 @@ const defaultProps = {
47
47
  preventFocus: false,
48
48
  focusable: true,
49
49
  firstDayOfWeek: "monday",
50
- hideOutsideDates: false
50
+ hideOutsideDates: false,
51
+ weekendDays: [0, 6]
51
52
  };
52
53
  const Month = forwardRef((props, ref) => {
53
- const _a = useMantineDefaultProps("Month", defaultProps, props), {
54
+ const _a = useComponentDefaultProps("Month", defaultProps, props), {
54
55
  className,
55
56
  month,
56
57
  value,
@@ -76,11 +77,13 @@ const Month = forwardRef((props, ref) => {
76
77
  onDayKeyDown,
77
78
  daysRefs,
78
79
  hideOutsideDates,
79
- isDateInRange = no,
80
- isDateFirstInRange = no,
81
- isDateLastInRange = no,
80
+ isDateInRange = noop,
81
+ isDateFirstInRange = noop,
82
+ isDateLastInRange = noop,
82
83
  renderDay,
83
- weekdayLabelFormat
84
+ weekdayLabelFormat,
85
+ unstyled,
86
+ weekendDays
84
87
  } = _a, others = __objRest(_a, [
85
88
  "className",
86
89
  "month",
@@ -111,9 +114,11 @@ const Month = forwardRef((props, ref) => {
111
114
  "isDateFirstInRange",
112
115
  "isDateLastInRange",
113
116
  "renderDay",
114
- "weekdayLabelFormat"
117
+ "weekdayLabelFormat",
118
+ "unstyled",
119
+ "weekendDays"
115
120
  ]);
116
- const { classes, cx, theme } = useStyles({ fullWidth }, { classNames, styles, name: __staticSelector });
121
+ const { classes, cx, theme } = useStyles({ fullWidth }, { classNames, styles, unstyled, name: __staticSelector });
117
122
  const finalLocale = locale || theme.datesLocale;
118
123
  const days = getMonthDays(month, firstDayOfWeek);
119
124
  const weekdays = getWeekdaysNames(finalLocale, firstDayOfWeek, weekdayLabelFormat).map((weekday) => /* @__PURE__ */ React.createElement("th", {
@@ -136,13 +141,15 @@ const Month = forwardRef((props, ref) => {
136
141
  value,
137
142
  excludeDate,
138
143
  disableOutsideEvents,
139
- range
144
+ range,
145
+ weekendDays
140
146
  });
141
147
  const onKeyDownPayload = { rowIndex, cellIndex, date };
142
148
  return /* @__PURE__ */ React.createElement("td", {
143
149
  className: classes.cell,
144
150
  key: cellIndex
145
151
  }, /* @__PURE__ */ React.createElement(Day, {
152
+ unstyled,
146
153
  ref: (button) => {
147
154
  if (daysRefs) {
148
155
  if (!Array.isArray(daysRefs[rowIndex])) {
@@ -166,7 +173,7 @@ const Month = forwardRef((props, ref) => {
166
173
  className: typeof dayClassName === "function" ? dayClassName(date, dayProps) : null,
167
174
  style: typeof dayStyle === "function" ? dayStyle(date, dayProps) : null,
168
175
  disabled: dayProps.disabled,
169
- onMouseEnter: typeof onDayMouseEnter === "function" ? onDayMouseEnter : no,
176
+ onMouseEnter: typeof onDayMouseEnter === "function" ? onDayMouseEnter : noop,
170
177
  size,
171
178
  fullWidth,
172
179
  focusable,
@@ -1 +1 @@
1
- {"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n Text,\n Box,\n MantineSize,\n Selectors,\n useMantineDefaultProps,\n} from '@mantine/core';\nimport { upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { FirstDayOfWeek } from '../../types';\nimport { getMonthDays, getWeekdaysNames, isSameDate } from '../../utils';\nimport { Day, DayStylesNames } from './Day/Day';\nimport { getDayProps } from './get-day-props/get-day-props';\nimport { DayKeydownPayload, DayModifiers } from './types';\nimport useStyles from './Month.styles';\n\nexport interface MonthSettings {\n /** Adds className to day button based on date and modifiers */\n dayClassName?(date: Date, modifiers: DayModifiers): string;\n\n /** Adds style to day button based on date and modifiers */\n dayStyle?(date: Date, modifiers: DayModifiers): React.CSSProperties;\n\n /** When true dates that are outside of given month cannot be clicked or focused */\n disableOutsideEvents?: boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Callback function to determine if day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Set to false to remove weekdays row */\n hideWeekdays?: boolean;\n\n /** Controls month days font-size and height */\n size?: MantineSize;\n\n /** Set to true to make calendar take 100% of container width */\n fullWidth?: boolean;\n\n /** Prevent focusing upon clicking */\n preventFocus?: boolean;\n\n /** Should focusable days have tabIndex={0}? */\n focusable?: boolean;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Remove outside dates */\n hideOutsideDates?: boolean;\n\n /** Should date be displayed as in range */\n isDateInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as first in range */\n isDateFirstInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as last in range */\n isDateLastInRange?(date: Date, modifiers: DayModifiers): boolean;\n}\n\nexport type MonthStylesNames = Selectors<typeof useStyles> | DayStylesNames;\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n Omit<React.ComponentPropsWithoutRef<'table'>, 'onChange' | 'value'> {\n /** Date at which month should be shown */\n month: Date;\n\n /** Locale is used to get weekdays names with dayjs format */\n locale?: string;\n\n /** Selected date or an array of selected dates */\n value?: Date | Date[];\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Called when day is selected */\n onChange?(value: Date): void;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Get days buttons refs */\n daysRefs?: HTMLButtonElement[][];\n\n /** Called when keydown event is registered on day */\n onDayKeyDown?(payload: DayKeydownPayload, event: React.KeyboardEvent<HTMLButtonElement>): void;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n}\n\nconst no = () => false;\n\nconst defaultProps: Partial<MonthProps> = {\n disableOutsideEvents: false,\n hideWeekdays: false,\n __staticSelector: 'Month',\n size: 'sm',\n fullWidth: false,\n preventFocus: false,\n focusable: true,\n firstDayOfWeek: 'monday',\n hideOutsideDates: false,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props: MonthProps, ref) => {\n const {\n className,\n month,\n value,\n onChange,\n disableOutsideEvents,\n locale,\n dayClassName,\n dayStyle,\n classNames,\n styles,\n minDate,\n maxDate,\n excludeDate,\n onDayMouseEnter,\n range,\n hideWeekdays,\n __staticSelector,\n size,\n fullWidth,\n preventFocus,\n focusable,\n firstDayOfWeek,\n onDayKeyDown,\n daysRefs,\n hideOutsideDates,\n isDateInRange = no,\n isDateFirstInRange = no,\n isDateLastInRange = no,\n renderDay,\n weekdayLabelFormat,\n ...others\n } = useMantineDefaultProps('Month', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { fullWidth },\n { classNames, styles, name: __staticSelector }\n );\n const finalLocale = locale || theme.datesLocale;\n const days = getMonthDays(month, firstDayOfWeek);\n\n const weekdays = getWeekdaysNames(finalLocale, firstDayOfWeek, weekdayLabelFormat).map(\n (weekday) => (\n <th className={classes.weekdayCell} key={weekday}>\n <Text size={size} className={classes.weekday}>\n {weekday.length >= 2 ? upperFirst(weekday) : weekday}\n </Text>\n </th>\n )\n );\n\n const hasValue = Array.isArray(value)\n ? value.every((item) => item instanceof Date)\n : value instanceof Date;\n\n const hasValueInMonthRange =\n value instanceof Date &&\n dayjs(value).isAfter(dayjs(month).startOf('month')) &&\n dayjs(value).isBefore(dayjs(month).endOf('month'));\n\n const rows = days.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const dayProps = getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n });\n\n const onKeyDownPayload = { rowIndex, cellIndex, date };\n\n return (\n <td className={classes.cell} key={cellIndex}>\n <Day\n ref={(button) => {\n if (daysRefs) {\n if (!Array.isArray(daysRefs[rowIndex])) {\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex] = [];\n }\n\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex][cellIndex] = button;\n }\n }}\n onClick={() => typeof onChange === 'function' && onChange(date)}\n onMouseDown={(event) => preventFocus && event.preventDefault()}\n value={date}\n outside={dayProps.outside}\n weekend={dayProps.weekend}\n inRange={dayProps.inRange || isDateInRange(date, dayProps)}\n firstInRange={dayProps.firstInRange || isDateFirstInRange(date, dayProps)}\n lastInRange={dayProps.lastInRange || isDateLastInRange(date, dayProps)}\n firstInMonth={\n hideOutsideDates\n ? isSameDate(date, dayjs(month).startOf('month').toDate())\n : cellIndex === 0 && rowIndex === 0\n }\n selected={dayProps.selected || dayProps.selectedInRange}\n hasValue={hasValueInMonthRange}\n onKeyDown={(event) =>\n typeof onDayKeyDown === 'function' && onDayKeyDown(onKeyDownPayload, event)\n }\n className={typeof dayClassName === 'function' ? dayClassName(date, dayProps) : null}\n style={typeof dayStyle === 'function' ? dayStyle(date, dayProps) : null}\n disabled={dayProps.disabled}\n onMouseEnter={typeof onDayMouseEnter === 'function' ? onDayMouseEnter : no}\n size={size}\n fullWidth={fullWidth}\n focusable={focusable}\n hideOutsideDates={hideOutsideDates}\n __staticSelector={__staticSelector}\n styles={styles}\n classNames={classNames}\n renderDay={renderDay}\n />\n </td>\n );\n });\n\n return <tr key={rowIndex}>{cells}</tr>;\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead>\n <tr>{weekdays}</tr>\n </thead>\n )}\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAaF,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC;AACvB,MAAM,YAAY,GAAG;AACrB,EAAE,oBAAoB,EAAE,KAAK;AAC7B,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,cAAc,EAAE,QAAQ;AAC1B,EAAE,gBAAgB,EAAE,KAAK;AACzB,CAAC,CAAC;AACU,MAAC,KAAK,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAChD,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACnE,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,eAAe;AACnB,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,kBAAkB,GAAG,EAAE;AAC3B,IAAI,iBAAiB,GAAG,EAAE;AAC1B,IAAI,SAAS;AACb,IAAI,kBAAkB;AACtB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,sBAAsB;AAC1B,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,iBAAiB;AACrB,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,oBAAoB;AACxB,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,oBAAoB;AACxB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAC1G,EAAE,MAAM,WAAW,GAAG,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC;AAClD,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACnD,EAAE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,qBAAqB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AAChJ,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,IAAI,GAAG,EAAE,OAAO;AAChB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AAC/C,IAAI,IAAI;AACR,IAAI,SAAS,EAAE,OAAO,CAAC,OAAO;AAC9B,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5D,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,YAAY,IAAI,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC;AAC9G,EAAE,MAAM,oBAAoB,GAAG,KAAK,YAAY,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAClK,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK;AAC3C,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK;AAC/C,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC;AACnC,QAAQ,IAAI;AACZ,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,QAAQ,oBAAoB;AAC5B,QAAQ,KAAK;AACb,OAAO,CAAC,CAAC;AACT,MAAM,MAAM,gBAAgB,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7D,MAAM,uBAAuB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACvD,QAAQ,SAAS,EAAE,OAAO,CAAC,IAAI;AAC/B,QAAQ,GAAG,EAAE,SAAS;AACtB,OAAO,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAClD,QAAQ,GAAG,EAAE,CAAC,MAAM,KAAK;AACzB,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;AACpD,cAAc,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACtC,aAAa;AACb,YAAY,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;AACnD,WAAW;AACX,SAAS;AACT,QAAQ,OAAO,EAAE,MAAM,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC;AACvE,QAAQ,WAAW,EAAE,CAAC,KAAK,KAAK,YAAY,IAAI,KAAK,CAAC,cAAc,EAAE;AACtE,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO;AACjC,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO;AACjC,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC;AAClE,QAAQ,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;AACjF,QAAQ,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC9E,QAAQ,YAAY,EAAE,gBAAgB,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;AACrI,QAAQ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe;AAC/D,QAAQ,QAAQ,EAAE,oBAAoB;AACtC,QAAQ,SAAS,EAAE,CAAC,KAAK,KAAK,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC;AACzG,QAAQ,SAAS,EAAE,OAAO,YAAY,KAAK,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI;AAC3F,QAAQ,KAAK,EAAE,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI;AAC/E,QAAQ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;AACnC,QAAQ,YAAY,EAAE,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,EAAE;AAClF,QAAQ,IAAI;AACZ,QAAQ,SAAS;AACjB,QAAQ,SAAS;AACjB,QAAQ,gBAAgB;AACxB,QAAQ,gBAAgB;AACxB,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC,CAAC;AACP,IAAI,uBAAuB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACrD,MAAM,GAAG,EAAE,QAAQ;AACnB,KAAK,EAAE,KAAK,CAAC,CAAC;AACd,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;AAC3C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,oBAAoB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACxM,CAAC,EAAE;AACH,KAAK,CAAC,WAAW,GAAG,sBAAsB;;;;"}
1
+ {"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n Text,\n Box,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { FirstDayOfWeek } from '../../types';\nimport { getMonthDays, getWeekdaysNames, isSameDate } from '../../utils';\nimport { Day, DayStylesNames } from './Day/Day';\nimport { getDayProps } from './get-day-props/get-day-props';\nimport { DayKeydownPayload, DayModifiers } from './types';\nimport useStyles from './Month.styles';\n\nexport interface MonthSettings {\n /** Adds className to day button based on date and modifiers */\n dayClassName?(date: Date, modifiers: DayModifiers): string;\n\n /** Adds style to day button based on date and modifiers */\n dayStyle?(date: Date, modifiers: DayModifiers): React.CSSProperties;\n\n /** When true dates that are outside of given month cannot be clicked or focused */\n disableOutsideEvents?: boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Callback function to determine if day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Set to false to remove weekdays row */\n hideWeekdays?: boolean;\n\n /** Controls month days font-size and height */\n size?: MantineSize;\n\n /** Set to true to make calendar take 100% of container width */\n fullWidth?: boolean;\n\n /** Prevent focusing upon clicking */\n preventFocus?: boolean;\n\n /** Should focusable days have tabIndex={0}? */\n focusable?: boolean;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Remove outside dates */\n hideOutsideDates?: boolean;\n\n /** Should date be displayed as in range */\n isDateInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as first in range */\n isDateFirstInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as last in range */\n isDateLastInRange?(date: Date, modifiers: DayModifiers): boolean;\n}\n\nexport type MonthStylesNames = Selectors<typeof useStyles> | DayStylesNames;\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n Omit<React.ComponentPropsWithoutRef<'table'>, 'onChange' | 'value'> {\n /** Date at which month should be shown */\n month: Date;\n\n /** Locale is used to get weekdays names with dayjs format */\n locale?: string;\n\n /** Selected date or an array of selected dates */\n value?: Date | Date[];\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Called when day is selected */\n onChange?(value: Date): void;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Get days buttons refs */\n daysRefs?: HTMLButtonElement[][];\n\n /** Called when keydown event is registered on day */\n onDayKeyDown?(payload: DayKeydownPayload, event: React.KeyboardEvent<HTMLButtonElement>): void;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n\n /** Indices of weekend days */\n weekendDays?: number[];\n}\n\nconst noop = () => false;\n\nconst defaultProps: Partial<MonthProps> = {\n disableOutsideEvents: false,\n hideWeekdays: false,\n __staticSelector: 'Month',\n size: 'sm',\n fullWidth: false,\n preventFocus: false,\n focusable: true,\n firstDayOfWeek: 'monday',\n hideOutsideDates: false,\n weekendDays: [0, 6],\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n month,\n value,\n onChange,\n disableOutsideEvents,\n locale,\n dayClassName,\n dayStyle,\n classNames,\n styles,\n minDate,\n maxDate,\n excludeDate,\n onDayMouseEnter,\n range,\n hideWeekdays,\n __staticSelector,\n size,\n fullWidth,\n preventFocus,\n focusable,\n firstDayOfWeek,\n onDayKeyDown,\n daysRefs,\n hideOutsideDates,\n isDateInRange = noop,\n isDateFirstInRange = noop,\n isDateLastInRange = noop,\n renderDay,\n weekdayLabelFormat,\n unstyled,\n weekendDays,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { fullWidth },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n const finalLocale = locale || theme.datesLocale;\n const days = getMonthDays(month, firstDayOfWeek);\n\n const weekdays = getWeekdaysNames(finalLocale, firstDayOfWeek, weekdayLabelFormat).map(\n (weekday) => (\n <th className={classes.weekdayCell} key={weekday}>\n <Text size={size} className={classes.weekday}>\n {weekday.length >= 2 ? upperFirst(weekday) : weekday}\n </Text>\n </th>\n )\n );\n\n const hasValue = Array.isArray(value)\n ? value.every((item) => item instanceof Date)\n : value instanceof Date;\n\n const hasValueInMonthRange =\n value instanceof Date &&\n dayjs(value).isAfter(dayjs(month).startOf('month')) &&\n dayjs(value).isBefore(dayjs(month).endOf('month'));\n\n const rows = days.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const dayProps = getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n weekendDays,\n });\n\n const onKeyDownPayload = { rowIndex, cellIndex, date };\n\n return (\n <td className={classes.cell} key={cellIndex}>\n <Day\n unstyled={unstyled}\n ref={(button) => {\n if (daysRefs) {\n if (!Array.isArray(daysRefs[rowIndex])) {\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex] = [];\n }\n\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex][cellIndex] = button;\n }\n }}\n onClick={() => typeof onChange === 'function' && onChange(date)}\n onMouseDown={(event) => preventFocus && event.preventDefault()}\n value={date}\n outside={dayProps.outside}\n weekend={dayProps.weekend}\n inRange={dayProps.inRange || isDateInRange(date, dayProps)}\n firstInRange={dayProps.firstInRange || isDateFirstInRange(date, dayProps)}\n lastInRange={dayProps.lastInRange || isDateLastInRange(date, dayProps)}\n firstInMonth={\n hideOutsideDates\n ? isSameDate(date, dayjs(month).startOf('month').toDate())\n : cellIndex === 0 && rowIndex === 0\n }\n selected={dayProps.selected || dayProps.selectedInRange}\n hasValue={hasValueInMonthRange}\n onKeyDown={(event) =>\n typeof onDayKeyDown === 'function' && onDayKeyDown(onKeyDownPayload, event)\n }\n className={typeof dayClassName === 'function' ? dayClassName(date, dayProps) : null}\n style={typeof dayStyle === 'function' ? dayStyle(date, dayProps) : null}\n disabled={dayProps.disabled}\n onMouseEnter={typeof onDayMouseEnter === 'function' ? onDayMouseEnter : noop}\n size={size}\n fullWidth={fullWidth}\n focusable={focusable}\n hideOutsideDates={hideOutsideDates}\n __staticSelector={__staticSelector}\n styles={styles}\n classNames={classNames}\n renderDay={renderDay}\n />\n </td>\n );\n });\n\n return <tr key={rowIndex}>{cells}</tr>;\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead>\n <tr>{weekdays}</tr>\n </thead>\n )}\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":[],"mappings":"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"}
@@ -14,14 +14,15 @@ function getDayProps({
14
14
  value,
15
15
  excludeDate,
16
16
  disableOutsideEvents,
17
- range
17
+ range,
18
+ weekendDays
18
19
  }) {
19
20
  const outside = isOutside(date, month);
20
21
  const selected = hasValue && (Array.isArray(value) ? value.some((val) => isSameDate(val, date)) : isSameDate(date, value));
21
22
  const { inRange, lastInRange, firstInRange, selectedInRange } = getRangeProps(date, range);
22
23
  return {
23
24
  disabled: isDisabled({ minDate, maxDate, excludeDate, disableOutsideEvents, date, outside }),
24
- weekend: isWeekend(date),
25
+ weekend: isWeekend(date, weekendDays),
25
26
  selectedInRange,
26
27
  selected,
27
28
  inRange,
@@ -1 +1 @@
1
- {"version":3,"file":"get-day-props.js","sources":["../../../../src/components/Month/get-day-props/get-day-props.ts"],"sourcesContent":["import { isSameDate } from '../../../utils';\nimport { DayModifiers } from '../types';\nimport { isWeekend } from './is-weekend/is-weekend';\nimport { isOutside } from './is-outside/is-outside';\nimport { isDisabled } from './is-disabled/is-disabled';\nimport { getRangeProps } from './get-range-props/get-range-props';\n\ninterface GetDayProps {\n /** Date associated with Day component */\n date: Date;\n\n /** Month that is currently displayed */\n month: Date;\n\n /** Does month have value prop? */\n hasValue: boolean;\n\n /** Min and max possible dates */\n maxDate: Date;\n minDate: Date;\n\n /** Currently selected date or an array of dates */\n value: Date | Date[];\n\n /** Function to determine if date should be excluded */\n excludeDate(date: Date): boolean;\n\n /** Should outside events be disabled */\n disableOutsideEvents: boolean;\n\n /** Selected date range */\n range: [Date, Date];\n}\n\nexport function getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n}: GetDayProps): DayModifiers {\n const outside = isOutside(date, month);\n const selected =\n hasValue &&\n (Array.isArray(value) ? value.some((val) => isSameDate(val, date)) : isSameDate(date, value));\n const { inRange, lastInRange, firstInRange, selectedInRange } = getRangeProps(date, range);\n\n return {\n disabled: isDisabled({ minDate, maxDate, excludeDate, disableOutsideEvents, date, outside }),\n weekend: isWeekend(date),\n selectedInRange,\n selected,\n inRange,\n firstInRange,\n lastInRange,\n outside,\n };\n}\n"],"names":[],"mappings":";;;;;;;AAKO,SAAS,WAAW,CAAC;AAC5B,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,oBAAoB;AACtB,EAAE,KAAK;AACP,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,QAAQ,GAAG,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7H,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7F,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAChG,IAAI,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC;AAC5B,IAAI,eAAe;AACnB,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"get-day-props.js","sources":["../../../../src/components/Month/get-day-props/get-day-props.ts"],"sourcesContent":["import { isSameDate } from '../../../utils';\nimport { DayModifiers } from '../types';\nimport { isWeekend } from './is-weekend/is-weekend';\nimport { isOutside } from './is-outside/is-outside';\nimport { isDisabled } from './is-disabled/is-disabled';\nimport { getRangeProps } from './get-range-props/get-range-props';\n\ninterface GetDayProps {\n /** Date associated with Day component */\n date: Date;\n\n /** Month that is currently displayed */\n month: Date;\n\n /** Does month have value prop? */\n hasValue: boolean;\n\n /** Min and max possible dates */\n maxDate: Date;\n minDate: Date;\n\n /** Currently selected date or an array of dates */\n value: Date | Date[];\n\n /** Function to determine if date should be excluded */\n excludeDate(date: Date): boolean;\n\n /** Should outside events be disabled */\n disableOutsideEvents: boolean;\n\n /** Selected date range */\n range: [Date, Date];\n\n /** Indices of weekend days */\n weekendDays: number[];\n}\n\nexport function getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n weekendDays,\n}: GetDayProps): DayModifiers {\n const outside = isOutside(date, month);\n const selected =\n hasValue &&\n (Array.isArray(value) ? value.some((val) => isSameDate(val, date)) : isSameDate(date, value));\n const { inRange, lastInRange, firstInRange, selectedInRange } = getRangeProps(date, range);\n\n return {\n disabled: isDisabled({ minDate, maxDate, excludeDate, disableOutsideEvents, date, outside }),\n weekend: isWeekend(date, weekendDays),\n selectedInRange,\n selected,\n inRange,\n firstInRange,\n lastInRange,\n outside,\n };\n}\n"],"names":[],"mappings":";;;;;;;AAKO,SAAS,WAAW,CAAC;AAC5B,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,oBAAoB;AACtB,EAAE,KAAK;AACP,EAAE,WAAW;AACb,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,QAAQ,GAAG,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7H,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7F,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAChG,IAAI,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;AACzC,IAAI,eAAe;AACnB,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,GAAG,CAAC;AACJ;;;;"}
@@ -1,6 +1,5 @@
1
- function isWeekend(date) {
2
- const weekday = date.getDay();
3
- return weekday === 6 || weekday === 0;
1
+ function isWeekend(date, weekendDays = [0, 6]) {
2
+ return weekendDays.includes(date.getDay());
4
3
  }
5
4
 
6
5
  export { isWeekend };
@@ -1 +1 @@
1
- {"version":3,"file":"is-weekend.js","sources":["../../../../../src/components/Month/get-day-props/is-weekend/is-weekend.ts"],"sourcesContent":["export function isWeekend(date: Date) {\n const weekday = date.getDay();\n return weekday === 6 || weekday === 0;\n}\n"],"names":[],"mappings":"AAAO,SAAS,SAAS,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAChC,EAAE,OAAO,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC;AACxC;;;;"}
1
+ {"version":3,"file":"is-weekend.js","sources":["../../../../../src/components/Month/get-day-props/is-weekend/is-weekend.ts"],"sourcesContent":["export function isWeekend(date: Date, weekendDays = [0, 6]) {\n return weekendDays.includes(date.getDay());\n}\n"],"names":[],"mappings":"AAAO,SAAS,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AACtD,EAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7C;;;;"}
@@ -1,6 +1,6 @@
1
1
  import dayjs from 'dayjs';
2
2
  import React, { forwardRef, useState } from 'react';
3
- import { useMantineDefaultProps } from '@mantine/core';
3
+ import { useComponentDefaultProps } from '@mantine/core';
4
4
  import { isSameDate } from '../../utils/is-same-date/is-same-date.js';
5
5
  import { CalendarBase } from '../CalendarBase/CalendarBase.js';
6
6
 
@@ -38,7 +38,7 @@ const defaultProps = {
38
38
  amountOfMonths: 1
39
39
  };
40
40
  const RangeCalendar = forwardRef((props, ref) => {
41
- const _a = useMantineDefaultProps("RangeCalendar", defaultProps, props), {
41
+ const _a = useComponentDefaultProps("RangeCalendar", defaultProps, props), {
42
42
  value,
43
43
  onChange,
44
44
  dayStyle,