@mantine/dates 2.6.0-alpha.2 → 2.6.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Calendar/Calendar.js +4 -3
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/Calendar/CalendarWrapper/CalendarWrapper.js +6 -4
- package/cjs/components/Calendar/CalendarWrapper/CalendarWrapper.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.js +3 -5
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePickerBase/DatePickerBase.js +7 -8
- package/cjs/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +3 -5
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/Month/Day/Day.js +3 -5
- package/cjs/components/Month/Day/Day.js.map +1 -1
- package/cjs/components/Month/Month.js +4 -3
- package/cjs/components/Month/Month.js.map +1 -1
- package/cjs/components/RangeCalendar/RangeCalendar.js +4 -3
- package/cjs/components/RangeCalendar/RangeCalendar.js.map +1 -1
- package/cjs/components/TimeInput/TimeField/TimeField.js +3 -5
- package/cjs/components/TimeInput/TimeField/TimeField.js.map +1 -1
- package/cjs/components/TimeInput/TimeInput.js +8 -9
- package/cjs/components/TimeInput/TimeInput.js.map +1 -1
- package/cjs/components/TimeRangeInput/TimeRangeInput.js +12 -13
- package/cjs/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
- package/esm/components/Calendar/Calendar.js +5 -4
- package/esm/components/Calendar/Calendar.js.map +1 -1
- package/esm/components/Calendar/CalendarWrapper/CalendarWrapper.js +8 -6
- package/esm/components/Calendar/CalendarWrapper/CalendarWrapper.js.map +1 -1
- package/esm/components/DatePicker/DatePicker.js +4 -6
- package/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/esm/components/DatePickerBase/DatePickerBase.js +9 -10
- package/esm/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/esm/components/DateRangePicker/DateRangePicker.js +4 -6
- package/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/esm/components/Month/Day/Day.js +4 -6
- package/esm/components/Month/Day/Day.js.map +1 -1
- package/esm/components/Month/Month.js +5 -4
- package/esm/components/Month/Month.js.map +1 -1
- package/esm/components/RangeCalendar/RangeCalendar.js +5 -4
- package/esm/components/RangeCalendar/RangeCalendar.js.map +1 -1
- package/esm/components/TimeInput/TimeField/TimeField.js +4 -6
- package/esm/components/TimeInput/TimeField/TimeField.js.map +1 -1
- package/esm/components/TimeInput/TimeInput.js +10 -11
- package/esm/components/TimeInput/TimeInput.js.map +1 -1
- package/esm/components/TimeRangeInput/TimeRangeInput.js +14 -15
- package/esm/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
- package/lib/components/Calendar/Calendar.d.ts +1 -4
- package/lib/components/Calendar/Calendar.d.ts.map +1 -1
- package/lib/components/Calendar/CalendarWrapper/CalendarWrapper.d.ts +1 -4
- package/lib/components/Calendar/CalendarWrapper/CalendarWrapper.d.ts.map +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts +2 -5
- package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/components/DatePickerBase/DatePickerBase.d.ts +1 -6
- package/lib/components/DatePickerBase/DatePickerBase.d.ts.map +1 -1
- package/lib/components/DateRangePicker/DateRangePicker.d.ts +2 -5
- package/lib/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/lib/components/Month/Day/Day.d.ts +1 -5
- package/lib/components/Month/Day/Day.d.ts.map +1 -1
- package/lib/components/Month/Month.d.ts.map +1 -1
- package/lib/components/RangeCalendar/RangeCalendar.d.ts +1 -4
- package/lib/components/RangeCalendar/RangeCalendar.d.ts.map +1 -1
- package/lib/components/TimeInput/TimeField/TimeField.d.ts +1 -6
- package/lib/components/TimeInput/TimeField/TimeField.d.ts.map +1 -1
- package/lib/components/TimeInput/TimeInput.d.ts +1 -6
- package/lib/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/lib/components/TimeRangeInput/TimeRangeInput.d.ts +1 -6
- package/lib/components/TimeRangeInput/TimeRangeInput.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
2
|
import dayjs from 'dayjs';
|
|
3
3
|
import { useUncontrolled } from '@mantine/hooks';
|
|
4
4
|
import { Month } from '../Month/Month.js';
|
|
@@ -34,7 +34,7 @@ var __objRest = (source, exclude) => {
|
|
|
34
34
|
}
|
|
35
35
|
return target;
|
|
36
36
|
};
|
|
37
|
-
|
|
37
|
+
const Calendar = forwardRef((_a, ref) => {
|
|
38
38
|
var _b = _a, {
|
|
39
39
|
classNames,
|
|
40
40
|
styles,
|
|
@@ -96,7 +96,8 @@ function Calendar(_a) {
|
|
|
96
96
|
const disabledState = getDisabledState({ month: _month, minDate, maxDate });
|
|
97
97
|
return /* @__PURE__ */ React.createElement(CalendarWrapper, __spreadValues({
|
|
98
98
|
size,
|
|
99
|
-
fullWidth
|
|
99
|
+
fullWidth,
|
|
100
|
+
ref
|
|
100
101
|
}, others), /* @__PURE__ */ React.createElement(CalendarHeader, {
|
|
101
102
|
size,
|
|
102
103
|
nextMonthLabel,
|
|
@@ -133,7 +134,7 @@ function Calendar(_a) {
|
|
|
133
134
|
locale,
|
|
134
135
|
__staticSelector
|
|
135
136
|
}));
|
|
136
|
-
}
|
|
137
|
+
});
|
|
137
138
|
Calendar.displayName = "@mantine/dates/Calendar";
|
|
138
139
|
|
|
139
140
|
export { Calendar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { DefaultProps } from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { Month, MonthSettings, MonthStylesNames } from '../Month/Month';\nimport { CalendarLabelStylesNames } from './CalendarLabel/CalendarLabel';\nimport { CalendarHeader } from './CalendarHeader/CalendarHeader';\nimport { CalendarWrapper } from './CalendarWrapper/CalendarWrapper';\nimport { getDisabledState } from './get-disabled-state/get-disabled-state';\n\nexport interface CalendarSettings extends MonthSettings {\n /** aria-label for next month arrow button */\n nextMonthLabel?: string;\n\n /** aria-label for previous month arrow button */\n previousMonthLabel?: string;\n\n /** aria-label for month select */\n monthLabel?: string;\n\n /** aria-label for year select */\n yearLabel?: string;\n\n /** Locale used for all labels formatting */\n locale?: string;\n\n /** Initial selected month */\n initialMonth?: Date | null;\n\n /** dayjs label format */\n labelFormat?: string;\n\n /** Replace calendar label with month and year selects */\n withSelect?: boolean;\n\n /** Years range for year select */\n yearsRange?: { from: number; to: number };\n}\n\nexport type CalendarStylesNames = Exclude<MonthStylesNames, 'root'> | CalendarLabelStylesNames;\n\nexport interface CalendarProps\n extends DefaultProps<CalendarStylesNames>,\n CalendarSettings,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Current month */\n month?: Date;\n\n /** Selected date */\n value?: Date;\n\n /** Called when selected date changes */\n onChange?(value: Date): void;\n\n /** Called when month changes */\n onMonthChange?(value: Date): void;\n\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nexport
|
|
1
|
+
{"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport dayjs from 'dayjs';\nimport { DefaultProps } from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { Month, MonthSettings, MonthStylesNames } from '../Month/Month';\nimport { CalendarLabelStylesNames } from './CalendarLabel/CalendarLabel';\nimport { CalendarHeader } from './CalendarHeader/CalendarHeader';\nimport { CalendarWrapper } from './CalendarWrapper/CalendarWrapper';\nimport { getDisabledState } from './get-disabled-state/get-disabled-state';\n\nexport interface CalendarSettings extends MonthSettings {\n /** aria-label for next month arrow button */\n nextMonthLabel?: string;\n\n /** aria-label for previous month arrow button */\n previousMonthLabel?: string;\n\n /** aria-label for month select */\n monthLabel?: string;\n\n /** aria-label for year select */\n yearLabel?: string;\n\n /** Locale used for all labels formatting */\n locale?: string;\n\n /** Initial selected month */\n initialMonth?: Date | null;\n\n /** dayjs label format */\n labelFormat?: string;\n\n /** Replace calendar label with month and year selects */\n withSelect?: boolean;\n\n /** Years range for year select */\n yearsRange?: { from: number; to: number };\n}\n\nexport type CalendarStylesNames = Exclude<MonthStylesNames, 'root'> | CalendarLabelStylesNames;\n\nexport interface CalendarProps\n extends DefaultProps<CalendarStylesNames>,\n CalendarSettings,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n /** Current month */\n month?: Date;\n\n /** Selected date */\n value?: Date;\n\n /** Called when selected date changes */\n onChange?(value: Date): void;\n\n /** Called when month changes */\n onMonthChange?(value: Date): void;\n\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(\n (\n {\n classNames,\n styles,\n locale = 'en',\n nextMonthLabel,\n previousMonthLabel,\n initialMonth,\n month,\n onMonthChange,\n value,\n onChange,\n labelFormat = 'MMMM YYYY',\n withSelect = false,\n yearsRange = { from: 2020, to: 2030 },\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n fullWidth = false,\n size = 'sm',\n __staticSelector = 'calendar',\n monthLabel,\n yearLabel,\n ...others\n }: CalendarProps,\n ref\n ) => {\n const [_month, setMonth] = useUncontrolled({\n value: month,\n defaultValue: initialMonth,\n finalValue: new Date(),\n onChange: onMonthChange,\n rule: (val) => val instanceof Date,\n });\n\n const disabledState = getDisabledState({ month: _month, minDate, maxDate });\n\n return (\n <CalendarWrapper size={size} fullWidth={fullWidth} ref={ref} {...others}>\n <CalendarHeader\n size={size}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n previousMonthDisabled={disabledState.previousDisabled}\n nextMonthDisabled={disabledState.nextDisabled}\n onPreviousMonth={() => setMonth(dayjs(_month).subtract(1, 'month').toDate())}\n onNextMonth={() => setMonth(dayjs(_month).add(1, 'month').toDate())}\n classNames={classNames}\n styles={styles}\n locale={locale}\n withSelect={withSelect}\n yearsRange={yearsRange}\n month={_month}\n setMonth={setMonth}\n labelFormat={labelFormat}\n __staticSelector={__staticSelector}\n monthLabel={monthLabel}\n yearLabel={yearLabel}\n />\n\n <Month\n month={_month}\n value={value}\n onChange={onChange}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n classNames={classNames}\n styles={styles}\n fullWidth={fullWidth}\n size={size}\n locale={locale}\n __staticSelector={__staticSelector}\n />\n </CalendarWrapper>\n );\n }\n);\n\nCalendar.displayName = '@mantine/dates/Calendar';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { getSizeValue } from '@mantine/core';
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import { useExtractedMargins, getSizeValue } from '@mantine/core';
|
|
3
3
|
import { sizes } from '../../Month/Day/Day.styles.js';
|
|
4
4
|
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -30,14 +30,16 @@ var __objRest = (source, exclude) => {
|
|
|
30
30
|
}
|
|
31
31
|
return target;
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
const CalendarWrapper = forwardRef((_a, ref) => {
|
|
34
34
|
var _b = _a, { size, fullWidth, style } = _b, others = __objRest(_b, ["size", "fullWidth", "style"]);
|
|
35
|
+
const { mergedStyles, rest } = useExtractedMargins({ others, style });
|
|
35
36
|
return /* @__PURE__ */ React.createElement("div", __spreadValues({
|
|
37
|
+
ref,
|
|
36
38
|
style: __spreadValues({
|
|
37
39
|
maxWidth: fullWidth ? "100%" : getSizeValue({ size, sizes: sizes }) * 7
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
}
|
|
40
|
+
}, mergedStyles)
|
|
41
|
+
}, rest));
|
|
42
|
+
});
|
|
41
43
|
CalendarWrapper.displayName = "@mantine/dates/CalendarWrapper";
|
|
42
44
|
|
|
43
45
|
export { CalendarWrapper };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarWrapper.js","sources":["../../../../src/components/Calendar/CalendarWrapper/CalendarWrapper.tsx"],"sourcesContent":["import React from 'react';\nimport { MantineSize, getSizeValue } from '@mantine/core';\nimport { sizes as DAY_SIZES } from '../../Month/Day/Day.styles';\n\ninterface CalendarWrapperProps extends React.ComponentPropsWithoutRef<'div'> {\n size: MantineSize;\n fullWidth: boolean;\n}\n\nexport
|
|
1
|
+
{"version":3,"file":"CalendarWrapper.js","sources":["../../../../src/components/Calendar/CalendarWrapper/CalendarWrapper.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { MantineSize, getSizeValue, useExtractedMargins } from '@mantine/core';\nimport { sizes as DAY_SIZES } from '../../Month/Day/Day.styles';\n\ninterface CalendarWrapperProps extends React.ComponentPropsWithoutRef<'div'> {\n size: MantineSize;\n fullWidth: boolean;\n}\n\nexport const CalendarWrapper = forwardRef<HTMLDivElement, CalendarWrapperProps>(\n ({ size, fullWidth, style, ...others }: CalendarWrapperProps, ref) => {\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n return (\n <div\n ref={ref}\n style={{\n maxWidth: fullWidth ? '100%' : getSizeValue({ size, sizes: DAY_SIZES }) * 7,\n ...mergedStyles,\n }}\n {...rest}\n />\n );\n }\n);\n\nCalendarWrapper.displayName = '@mantine/dates/CalendarWrapper';\n"],"names":["DAY_SIZES"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState, useRef } from 'react';
|
|
1
|
+
import React, { forwardRef, useState, useRef } from 'react';
|
|
2
2
|
import { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';
|
|
3
3
|
import dayjs from 'dayjs';
|
|
4
4
|
import { Calendar } from '../Calendar/Calendar.js';
|
|
@@ -32,7 +32,7 @@ var __objRest = (source, exclude) => {
|
|
|
32
32
|
}
|
|
33
33
|
return target;
|
|
34
34
|
};
|
|
35
|
-
|
|
35
|
+
const DatePicker = forwardRef((_a, ref) => {
|
|
36
36
|
var _b = _a, {
|
|
37
37
|
value,
|
|
38
38
|
onChange,
|
|
@@ -56,7 +56,6 @@ function DatePicker(_a) {
|
|
|
56
56
|
minDate,
|
|
57
57
|
maxDate,
|
|
58
58
|
excludeDate,
|
|
59
|
-
elementRef,
|
|
60
59
|
initialMonth,
|
|
61
60
|
initiallyOpened = false,
|
|
62
61
|
name = "date",
|
|
@@ -88,7 +87,6 @@ function DatePicker(_a) {
|
|
|
88
87
|
"minDate",
|
|
89
88
|
"maxDate",
|
|
90
89
|
"excludeDate",
|
|
91
|
-
"elementRef",
|
|
92
90
|
"initialMonth",
|
|
93
91
|
"initiallyOpened",
|
|
94
92
|
"name",
|
|
@@ -129,7 +127,7 @@ function DatePicker(_a) {
|
|
|
129
127
|
setDropdownOpened,
|
|
130
128
|
shadow,
|
|
131
129
|
transitionDuration,
|
|
132
|
-
|
|
130
|
+
ref: useMergedRef(ref, inputRef),
|
|
133
131
|
size,
|
|
134
132
|
styles,
|
|
135
133
|
classNames,
|
|
@@ -166,7 +164,7 @@ function DatePicker(_a) {
|
|
|
166
164
|
name,
|
|
167
165
|
value: _value instanceof Date ? _value.toISOString() : ""
|
|
168
166
|
}));
|
|
169
|
-
}
|
|
167
|
+
});
|
|
170
168
|
DatePicker.displayName = "@mantine/dates/DatePicker";
|
|
171
169
|
|
|
172
170
|
export { DatePicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { Calendar, CalendarSettings } from '../Calendar/Calendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps extends DatePickerBaseSharedProps, Omit<CalendarSettings, 'size'> {\n /** Selected date, required with controlled input */\n value?: Date;\n\n /** Called when date changes */\n onChange?(value: Date | null): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: Date | null;\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n}\n\nexport
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { Calendar, CalendarSettings } from '../Calendar/Calendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps extends DatePickerBaseSharedProps, Omit<CalendarSettings, 'size'> {\n /** Selected date, required with controlled input */\n value?: Date;\n\n /** Called when date changes */\n onChange?(value: Date | null): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: Date | null;\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n}\n\nexport const DatePicker = forwardRef<HTMLButtonElement, DatePickerProps>(\n (\n {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow = 'sm',\n locale = 'en',\n inputFormat = 'MMMM D, YYYY',\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\n withSelect = false,\n yearsRange,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened = false,\n name = 'date',\n size = 'sm',\n dropdownType = 'popover',\n clearable = true,\n disabled = false,\n clearButtonLabel,\n ...others\n }: DatePickerProps,\n ref\n ) => {\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({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n rule: (val) => val === null || val instanceof Date,\n });\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n setTimeout(() => inputRef.current?.focus(), transitionDuration + 20);\n };\n\n const handleValueChange = (date: Date) => {\n setValue(date);\n closeCalendarOnChange && closeDropdown();\n };\n\n const handleClear = () => {\n setValue(null);\n inputRef.current?.focus();\n };\n\n return (\n <>\n <DatePickerBase\n dropdownOpened={dropdownOpened}\n setDropdownOpened={setDropdownOpened}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n inputLabel={\n _value instanceof Date\n ? upperFirst(dayjs(_value).locale(locale).format(inputFormat))\n : null\n }\n __staticSelector=\"date-picker\"\n dropdownType={dropdownType}\n clearable={clearable && !!_value && !disabled}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n disabled={disabled}\n {...others}\n >\n <Calendar\n classNames={classNames}\n styles={styles}\n locale={locale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n initialMonth={_value instanceof Date ? _value : initialMonth}\n value={_value}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n withSelect={withSelect}\n yearsRange={yearsRange}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"date-picker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n />\n </DatePickerBase>\n\n <input\n type=\"hidden\"\n name={name}\n value={_value instanceof Date ? _value.toISOString() : ''}\n />\n </>\n );\n }\n);\n\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { useState, useRef } from 'react';
|
|
2
|
-
import { mergeStyles, useUuid, InputWrapper, Input, getSizeValue, Text, Popper, Paper, Modal, CloseButton } from '@mantine/core';
|
|
1
|
+
import React, { forwardRef, useState, useRef } from 'react';
|
|
2
|
+
import { mergeStyles, useExtractedMargins, useUuid, InputWrapper, Input, getSizeValue, Text, Popper, Paper, Modal, CloseButton } from '@mantine/core';
|
|
3
3
|
import { useFocusTrap, useClickOutside, useWindowEvent, useMergedRef } from '@mantine/hooks';
|
|
4
4
|
import useStyles from './DatePickerBase.styles.js';
|
|
5
5
|
|
|
@@ -41,7 +41,7 @@ const RIGHT_SECTION_WIDTH = {
|
|
|
41
41
|
lg: 40,
|
|
42
42
|
xl: 44
|
|
43
43
|
};
|
|
44
|
-
|
|
44
|
+
const DatePickerBase = forwardRef((_a, ref) => {
|
|
45
45
|
var _b = _a, {
|
|
46
46
|
classNames,
|
|
47
47
|
className,
|
|
@@ -58,7 +58,6 @@ function DatePickerBase(_a) {
|
|
|
58
58
|
transition = "pop-top-left",
|
|
59
59
|
transitionDuration = 200,
|
|
60
60
|
transitionTimingFunction,
|
|
61
|
-
elementRef,
|
|
62
61
|
closeDropdownOnScroll = true,
|
|
63
62
|
size = "sm",
|
|
64
63
|
children,
|
|
@@ -88,7 +87,6 @@ function DatePickerBase(_a) {
|
|
|
88
87
|
"transition",
|
|
89
88
|
"transitionDuration",
|
|
90
89
|
"transitionTimingFunction",
|
|
91
|
-
"elementRef",
|
|
92
90
|
"closeDropdownOnScroll",
|
|
93
91
|
"size",
|
|
94
92
|
"children",
|
|
@@ -105,6 +103,7 @@ function DatePickerBase(_a) {
|
|
|
105
103
|
]);
|
|
106
104
|
const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, __staticSelector);
|
|
107
105
|
const _styles = mergeStyles(classes, styles);
|
|
106
|
+
const { mergedStyles, rest } = useExtractedMargins({ others, style });
|
|
108
107
|
const [dropdownElement, setDropdownElement] = useState(null);
|
|
109
108
|
const [rootElement, setRootElement] = useState(null);
|
|
110
109
|
const [referenceElement, setReferenceElement] = useState(null);
|
|
@@ -117,7 +116,7 @@ function DatePickerBase(_a) {
|
|
|
117
116
|
setTimeout(() => {
|
|
118
117
|
var _a2;
|
|
119
118
|
return (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
120
|
-
}, transitionDuration +
|
|
119
|
+
}, transitionDuration + 50);
|
|
121
120
|
}
|
|
122
121
|
};
|
|
123
122
|
const closeOnEscape = (event) => event.nativeEvent.code === "Escape" && closeDropdown();
|
|
@@ -139,7 +138,7 @@ function DatePickerBase(_a) {
|
|
|
139
138
|
error,
|
|
140
139
|
description,
|
|
141
140
|
className,
|
|
142
|
-
style,
|
|
141
|
+
style: mergedStyles,
|
|
143
142
|
classNames,
|
|
144
143
|
styles,
|
|
145
144
|
size,
|
|
@@ -157,14 +156,14 @@ function DatePickerBase(_a) {
|
|
|
157
156
|
styles: __spreadProps(__spreadValues({}, styles), { input: __spreadProps(__spreadValues({}, styles == null ? void 0 : styles.input), { cursor: "pointer" }) }),
|
|
158
157
|
onClick: () => setDropdownOpened(!dropdownOpened),
|
|
159
158
|
id: uuid,
|
|
160
|
-
|
|
159
|
+
ref: useMergedRef(ref, inputRef),
|
|
161
160
|
__staticSelector,
|
|
162
161
|
size,
|
|
163
162
|
required,
|
|
164
163
|
invalid: !!error,
|
|
165
164
|
rightSection,
|
|
166
165
|
rightSectionWidth: getSizeValue({ size, sizes: RIGHT_SECTION_WIDTH })
|
|
167
|
-
},
|
|
166
|
+
}, rest), inputLabel || /* @__PURE__ */ React.createElement(Text, {
|
|
168
167
|
style: _styles.placeholder,
|
|
169
168
|
className: classes.placeholder,
|
|
170
169
|
size
|
|
@@ -196,7 +195,7 @@ function DatePickerBase(_a) {
|
|
|
196
195
|
onClose: closeDropdown,
|
|
197
196
|
hideCloseButton: true
|
|
198
197
|
}, children)));
|
|
199
|
-
}
|
|
198
|
+
});
|
|
200
199
|
DatePickerBase.displayName = "@mantine/dates/DatePickerBase";
|
|
201
200
|
|
|
202
201
|
export { DatePickerBase };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport {\n DefaultProps,\n mergeStyles,\n Input,\n InputWrapper,\n Text,\n InputBaseProps,\n InputWrapperBaseProps,\n Paper,\n Popper,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n getSizeValue,\n MantineShadow,\n ClassNames,\n useUuid,\n} from '@mantine/core';\nimport { useClickOutside, useFocusTrap, useMergedRef, useWindowEvent } from '@mantine/hooks';\nimport { CalendarStylesNames } from '../Calendar/Calendar';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | ClassNames<typeof useStyles>\n | CalendarStylesNames\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface DatePickerBaseSharedProps\n extends InputBaseProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'button'>,\n 'value' | 'defaultValue' | 'onChange' | 'placeholder'\n > {\n /** Props spread to root element (InputWrapper) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: React.ReactNode;\n\n /** Dropdown appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration */\n transitionDuration?: number;\n\n /** Dropdown appear/disappear transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or css value for custom box-shadow */\n shadow?: MantineShadow;\n\n /** Get input button ref */\n elementRef?: React.ForwardedRef<HTMLButtonElement>;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set to true to disable dropdown closing on scroll */\n closeDropdownOnScroll?: boolean;\n\n /** Input size */\n size?: MantineSize;\n\n /** Where to show calendar in modal or popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Popper zIndex */\n zIndex?: number;\n}\n\nexport interface DatePickerBaseProps extends DatePickerBaseSharedProps {\n /** Internal prop to set input label */\n inputLabel?: string;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Controls dropdown opened state */\n dropdownOpened: boolean;\n\n /** Called when dropdown opened state changes */\n setDropdownOpened(opened: boolean): void;\n\n /** Called when clear button in clicked */\n onClear(): void;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nexport function DatePickerBase({\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n label,\n error,\n id,\n description,\n placeholder,\n shadow = 'sm',\n transition = 'pop-top-left',\n transitionDuration = 200,\n transitionTimingFunction,\n elementRef,\n closeDropdownOnScroll = true,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'date-picker',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex = 3,\n ...others\n}: DatePickerBaseProps) {\n const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, __staticSelector);\n const _styles = mergeStyles(classes, styles);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [referenceElement, setReferenceElement] = useState<HTMLDivElement>(null);\n const uuid = useUuid(id);\n\n const focusTrapRef = useFocusTrap();\n const inputRef = useRef<HTMLButtonElement>();\n const closeDropdown = () => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n setTimeout(() => inputRef.current?.focus(), transitionDuration + 20);\n }\n };\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) =>\n event.nativeEvent.code === 'Escape' && closeDropdown();\n\n useClickOutside(() => dropdownType === 'popover' && closeDropdown(), null, [\n dropdownElement,\n rootElement,\n ]);\n\n useWindowEvent('scroll', () => closeDropdownOnScroll && setDropdownOpened(false));\n\n const rightSection = clearable ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n />\n ) : null;\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector={__staticSelector}\n {...wrapperProps}\n >\n <div ref={setRootElement}>\n <div className={classes.wrapper} style={_styles.wrapper} ref={setReferenceElement}>\n <Input\n component=\"button\"\n type=\"button\"\n classNames={{ ...classNames, input: cx(classes.input, classNames?.input) }}\n styles={{ ...styles, input: { ...styles?.input, cursor: 'pointer' } }}\n onClick={() => setDropdownOpened(!dropdownOpened)}\n id={uuid}\n elementRef={useMergedRef(elementRef, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n required={required}\n invalid={!!error}\n rightSection={rightSection}\n rightSectionWidth={getSizeValue({ size, sizes: RIGHT_SECTION_WIDTH })}\n {...others}\n >\n {inputLabel || (\n <Text style={_styles.placeholder} className={classes.placeholder} size={size}>\n {placeholder}\n </Text>\n )}\n </Input>\n </div>\n\n {dropdownType === 'popover' ? (\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n forceUpdateDependencies={positionDependencies}\n transition={transition}\n mounted={dropdownOpened}\n position=\"bottom\"\n placement=\"start\"\n gutter={0}\n withArrow\n arrowSize={3}\n zIndex={zIndex}\n >\n <div\n className={classes.dropdownWrapper}\n style={_styles.dropdownWrapper}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n data-mantine-stop-propagation={dropdownType === 'popover' && dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n >\n <Paper className={classes.dropdown} style={_styles.dropdown} shadow={shadow}>\n {children}\n </Paper>\n </div>\n </Popper>\n ) : (\n <Modal opened={dropdownOpened} onClose={closeDropdown} hideCloseButton>\n {children}\n </Modal>\n )}\n </div>\n </InputWrapper>\n );\n}\n\nDatePickerBase.displayName = '@mantine/dates/DatePickerBase';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n mergeStyles,\n Input,\n InputWrapper,\n Text,\n InputBaseProps,\n InputWrapperBaseProps,\n Paper,\n Popper,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n getSizeValue,\n MantineShadow,\n ClassNames,\n useUuid,\n useExtractedMargins,\n} from '@mantine/core';\nimport { useClickOutside, useFocusTrap, useMergedRef, useWindowEvent } from '@mantine/hooks';\nimport { CalendarStylesNames } from '../Calendar/Calendar';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | ClassNames<typeof useStyles>\n | CalendarStylesNames\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface DatePickerBaseSharedProps\n extends InputBaseProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'button'>,\n 'value' | 'defaultValue' | 'onChange' | 'placeholder'\n > {\n /** Props spread to root element (InputWrapper) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: React.ReactNode;\n\n /** Dropdown appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration */\n transitionDuration?: number;\n\n /** Dropdown appear/disappear transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or css value for custom box-shadow */\n shadow?: MantineShadow;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set to true to disable dropdown closing on scroll */\n closeDropdownOnScroll?: boolean;\n\n /** Input size */\n size?: MantineSize;\n\n /** Where to show calendar in modal or popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Popper zIndex */\n zIndex?: number;\n}\n\nexport interface DatePickerBaseProps extends DatePickerBaseSharedProps {\n /** Internal prop to set input label */\n inputLabel?: string;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Controls dropdown opened state */\n dropdownOpened: boolean;\n\n /** Called when dropdown opened state changes */\n setDropdownOpened(opened: boolean): void;\n\n /** Called when clear button in clicked */\n onClear(): void;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nexport const DatePickerBase = forwardRef<HTMLButtonElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n label,\n error,\n id,\n description,\n placeholder,\n shadow = 'sm',\n transition = 'pop-top-left',\n transitionDuration = 200,\n transitionTimingFunction,\n closeDropdownOnScroll = true,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'date-picker',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex = 3,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ size, invalid: !!error }, classNames, __staticSelector);\n const _styles = mergeStyles(classes, styles);\n const { mergedStyles, rest } = useExtractedMargins({ others, style });\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [referenceElement, setReferenceElement] = useState<HTMLDivElement>(null);\n const uuid = useUuid(id);\n\n const focusTrapRef = useFocusTrap();\n const inputRef = useRef<HTMLButtonElement>();\n const closeDropdown = () => {\n if (dropdownOpened) {\n setDropdownOpened(false);\n setTimeout(() => inputRef.current?.focus(), transitionDuration + 50);\n }\n };\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) =>\n event.nativeEvent.code === 'Escape' && closeDropdown();\n\n useClickOutside(() => dropdownType === 'popover' && closeDropdown(), null, [\n dropdownElement,\n rootElement,\n ]);\n\n useWindowEvent('scroll', () => closeDropdownOnScroll && setDropdownOpened(false));\n\n const rightSection = clearable ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n />\n ) : null;\n\n return (\n <InputWrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n className={className}\n style={mergedStyles}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector={__staticSelector}\n {...wrapperProps}\n >\n <div ref={setRootElement}>\n <div className={classes.wrapper} style={_styles.wrapper} ref={setReferenceElement}>\n <Input\n component=\"button\"\n type=\"button\"\n classNames={{ ...classNames, input: cx(classes.input, classNames?.input) }}\n styles={{ ...styles, input: { ...styles?.input, cursor: 'pointer' } }}\n onClick={() => setDropdownOpened(!dropdownOpened)}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n required={required}\n invalid={!!error}\n rightSection={rightSection}\n rightSectionWidth={getSizeValue({ size, sizes: RIGHT_SECTION_WIDTH })}\n {...rest}\n >\n {inputLabel || (\n <Text style={_styles.placeholder} className={classes.placeholder} size={size}>\n {placeholder}\n </Text>\n )}\n </Input>\n </div>\n\n {dropdownType === 'popover' ? (\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n forceUpdateDependencies={positionDependencies}\n transition={transition}\n mounted={dropdownOpened}\n position=\"bottom\"\n placement=\"start\"\n gutter={0}\n withArrow\n arrowSize={3}\n zIndex={zIndex}\n >\n <div\n className={classes.dropdownWrapper}\n style={_styles.dropdownWrapper}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n data-mantine-stop-propagation={dropdownType === 'popover' && dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n >\n <Paper className={classes.dropdown} style={_styles.dropdown} shadow={shadow}>\n {children}\n </Paper>\n </div>\n </Popper>\n ) : (\n <Modal opened={dropdownOpened} onClose={closeDropdown} hideCloseButton>\n {children}\n </Modal>\n )}\n </div>\n </InputWrapper>\n );\n }\n);\n\nDatePickerBase.displayName = '@mantine/dates/DatePickerBase';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState, useRef } from 'react';
|
|
1
|
+
import React, { forwardRef, useState, useRef } from 'react';
|
|
2
2
|
import { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';
|
|
3
3
|
import dayjs from 'dayjs';
|
|
4
4
|
import { RangeCalendar } from '../RangeCalendar/RangeCalendar.js';
|
|
@@ -33,7 +33,7 @@ var __objRest = (source, exclude) => {
|
|
|
33
33
|
return target;
|
|
34
34
|
};
|
|
35
35
|
const validationRule = (val) => Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date);
|
|
36
|
-
|
|
36
|
+
const DateRangePicker = forwardRef((_a, ref) => {
|
|
37
37
|
var _b = _a, {
|
|
38
38
|
value,
|
|
39
39
|
onChange,
|
|
@@ -57,7 +57,6 @@ function DateRangePicker(_a) {
|
|
|
57
57
|
minDate,
|
|
58
58
|
maxDate,
|
|
59
59
|
excludeDate,
|
|
60
|
-
elementRef,
|
|
61
60
|
initialMonth,
|
|
62
61
|
initiallyOpened = false,
|
|
63
62
|
name = "date",
|
|
@@ -89,7 +88,6 @@ function DateRangePicker(_a) {
|
|
|
89
88
|
"minDate",
|
|
90
89
|
"maxDate",
|
|
91
90
|
"excludeDate",
|
|
92
|
-
"elementRef",
|
|
93
91
|
"initialMonth",
|
|
94
92
|
"initiallyOpened",
|
|
95
93
|
"name",
|
|
@@ -131,7 +129,7 @@ function DateRangePicker(_a) {
|
|
|
131
129
|
setDropdownOpened,
|
|
132
130
|
shadow,
|
|
133
131
|
transitionDuration,
|
|
134
|
-
|
|
132
|
+
ref: useMergedRef(ref, inputRef),
|
|
135
133
|
size,
|
|
136
134
|
styles,
|
|
137
135
|
classNames,
|
|
@@ -171,7 +169,7 @@ function DateRangePicker(_a) {
|
|
|
171
169
|
name: `${name}-to`,
|
|
172
170
|
value: valueValid ? _value[1].toISOString() : ""
|
|
173
171
|
}));
|
|
174
|
-
}
|
|
172
|
+
});
|
|
175
173
|
DateRangePicker.displayName = "@mantine/dates/DateRangePicker";
|
|
176
174
|
|
|
177
175
|
export { DateRangePicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.js","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { CalendarSettings } from '../Calendar/Calendar';\nimport { RangeCalendar } from '../RangeCalendar/RangeCalendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DateRangePickerProps\n extends DatePickerBaseSharedProps,\n Omit<CalendarSettings, 'size'> {\n /** Selected date, required with controlled input */\n value?: [Date, Date];\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, Date];\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: 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\nconst validationRule = (val: any) =>\n Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date);\n\nexport function DateRangePicker({\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow = 'sm',\n locale = 'en',\n inputFormat = 'MMMM D, YYYY',\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\n withSelect = false,\n yearsRange,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n elementRef,\n initialMonth,\n initiallyOpened = false,\n name = 'date',\n size = 'sm',\n dropdownType = 'popover',\n labelSeparator = '–',\n clearable = true,\n clearButtonLabel,\n ...others\n}: DateRangePickerProps) {\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({\n value,\n defaultValue,\n finalValue: [null, null],\n onChange,\n rule: validationRule,\n });\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n setTimeout(() => inputRef.current?.focus(), transitionDuration + 20);\n };\n\n const handleValueChange = (range: [Date, Date]) => {\n setValue(range);\n closeCalendarOnChange && validationRule(range) && closeDropdown();\n };\n\n const valueValid = validationRule(_value);\n\n const handleClear = () => {\n setValue([null, null]);\n inputRef.current?.focus();\n };\n\n return (\n <>\n <DatePickerBase\n dropdownOpened={dropdownOpened}\n setDropdownOpened={setDropdownOpened}\n shadow={shadow}\n transitionDuration={transitionDuration}\n elementRef={useMergedRef(elementRef, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n inputLabel={\n valueValid\n ? `${upperFirst(\n dayjs(_value[0]).locale(locale).format(inputFormat)\n )} ${labelSeparator} ${upperFirst(\n dayjs(_value[1]).locale(locale).format(inputFormat)\n )}`\n : null\n }\n __staticSelector=\"date-range-picker\"\n dropdownType={dropdownType}\n clearable={clearable && valueValid}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n {...others}\n >\n <RangeCalendar\n classNames={classNames}\n styles={styles}\n locale={locale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n initialMonth={valueValid ? _value[0] : initialMonth}\n value={_value}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n withSelect={withSelect}\n yearsRange={yearsRange}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"date-range-picker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n />\n </DatePickerBase>\n\n <input\n type=\"hidden\"\n name={`${name}-from`}\n value={valueValid ? _value[0].toISOString() : ''}\n />\n\n <input type=\"hidden\" name={`${name}-to`} value={valueValid ? _value[1].toISOString() : ''} />\n </>\n );\n}\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\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;AAMF,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;AACvG,SAAS,eAAe,CAAC,EAAE,EAAE;AACpC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,WAAW,GAAG,cAAc;AAChC,IAAI,kBAAkB,GAAG,GAAG;AAC5B,IAAI,wBAAwB;AAC5B,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,qBAAqB,GAAG,IAAI;AAChC,IAAI,WAAW,GAAG,WAAW;AAC7B,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,eAAe,GAAG,KAAK;AAC3B,IAAI,IAAI,GAAG,MAAM;AACjB,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,YAAY,GAAG,SAAS;AAC5B,IAAI,cAAc,GAAG,QAAQ;AAC7B,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,gBAAgB;AACpB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,sBAAsB;AAC1B,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AACxE,EAAE,MAAM,YAAY,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACpE,EAAE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5B,IAAI,QAAQ;AACZ,IAAI,IAAI,EAAE,cAAc;AACxB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,IAAI,UAAU,CAAC,MAAM;AACrB,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AACrE,KAAK,EAAE,kBAAkB,GAAG,EAAE,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACvC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpB,IAAI,qBAAqB,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;AACtE,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAC5C,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3B,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC5D,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;AACtI,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,IAAI,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;AAClD,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,UAAU,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;AAC7L,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,YAAY;AAChB,IAAI,SAAS,EAAE,SAAS,IAAI,UAAU;AACtC,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;AACjE,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,YAAY,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY;AACvD,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,gBAAgB,EAAE,mBAAmB;AACzC,IAAI,SAAS,EAAE,YAAY,KAAK,OAAO;AACvC,IAAI,IAAI,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,GAAG,YAAY;AACxD,GAAG,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACpD,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;AACxB,IAAI,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE;AACpD,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;AACnD,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;AACtB,IAAI,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE;AACpD,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;AACD,eAAe,CAAC,WAAW,GAAG,gCAAgC;;;;"}
|
|
1
|
+
{"version":3,"file":"DateRangePicker.js","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { CalendarSettings } from '../Calendar/Calendar';\nimport { RangeCalendar } from '../RangeCalendar/RangeCalendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DateRangePickerProps\n extends DatePickerBaseSharedProps,\n Omit<CalendarSettings, 'size'> {\n /** Selected date, required with controlled input */\n value?: [Date, Date];\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, Date];\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: 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\nconst validationRule = (val: any) =>\n Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date);\n\nexport const DateRangePicker = forwardRef<HTMLButtonElement, DateRangePickerProps>(\n (\n {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow = 'sm',\n locale = 'en',\n inputFormat = 'MMMM D, YYYY',\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\n withSelect = false,\n yearsRange,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened = false,\n name = 'date',\n size = 'sm',\n dropdownType = 'popover',\n labelSeparator = '–',\n clearable = true,\n clearButtonLabel,\n ...others\n }: DateRangePickerProps,\n ref\n ) => {\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({\n value,\n defaultValue,\n finalValue: [null, null],\n onChange,\n rule: validationRule,\n });\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n setTimeout(() => inputRef.current?.focus(), transitionDuration + 20);\n };\n\n const handleValueChange = (range: [Date, Date]) => {\n setValue(range);\n closeCalendarOnChange && validationRule(range) && closeDropdown();\n };\n\n const valueValid = validationRule(_value);\n\n const handleClear = () => {\n setValue([null, null]);\n inputRef.current?.focus();\n };\n\n return (\n <>\n <DatePickerBase\n dropdownOpened={dropdownOpened}\n setDropdownOpened={setDropdownOpened}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n inputLabel={\n valueValid\n ? `${upperFirst(\n dayjs(_value[0]).locale(locale).format(inputFormat)\n )} ${labelSeparator} ${upperFirst(\n dayjs(_value[1]).locale(locale).format(inputFormat)\n )}`\n : null\n }\n __staticSelector=\"date-range-picker\"\n dropdownType={dropdownType}\n clearable={clearable && valueValid}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n {...others}\n >\n <RangeCalendar\n classNames={classNames}\n styles={styles}\n locale={locale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n initialMonth={valueValid ? _value[0] : initialMonth}\n value={_value}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n withSelect={withSelect}\n yearsRange={yearsRange}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"date-range-picker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n />\n </DatePickerBase>\n\n <input\n type=\"hidden\"\n name={`${name}-from`}\n value={valueValid ? _value[0].toISOString() : ''}\n />\n\n <input\n type=\"hidden\"\n name={`${name}-to`}\n value={valueValid ? _value[1].toISOString() : ''}\n />\n </>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
2
|
import { mergeStyles } from '@mantine/core';
|
|
3
3
|
import useStyles from './Day.styles.js';
|
|
4
4
|
|
|
@@ -33,7 +33,7 @@ var __objRest = (source, exclude) => {
|
|
|
33
33
|
}
|
|
34
34
|
return target;
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
const Day = forwardRef((_a, ref) => {
|
|
37
37
|
var _b = _a, {
|
|
38
38
|
className,
|
|
39
39
|
style,
|
|
@@ -42,7 +42,6 @@ function Day(_a) {
|
|
|
42
42
|
weekend,
|
|
43
43
|
outside,
|
|
44
44
|
onClick,
|
|
45
|
-
elementRef,
|
|
46
45
|
onKeyDown,
|
|
47
46
|
onMouseEnter,
|
|
48
47
|
classNames,
|
|
@@ -64,7 +63,6 @@ function Day(_a) {
|
|
|
64
63
|
"weekend",
|
|
65
64
|
"outside",
|
|
66
65
|
"onClick",
|
|
67
|
-
"elementRef",
|
|
68
66
|
"onKeyDown",
|
|
69
67
|
"onMouseEnter",
|
|
70
68
|
"classNames",
|
|
@@ -84,7 +82,7 @@ function Day(_a) {
|
|
|
84
82
|
return /* @__PURE__ */ React.createElement("button", __spreadProps(__spreadValues({}, others), {
|
|
85
83
|
type: "button",
|
|
86
84
|
onClick,
|
|
87
|
-
ref
|
|
85
|
+
ref,
|
|
88
86
|
onKeyDown: (event) => onKeyDown(value, event),
|
|
89
87
|
onMouseEnter: (event) => onMouseEnter(value, event),
|
|
90
88
|
tabIndex: hasValue ? selected ? 0 : -1 : firstInMonth ? 0 : -1,
|
|
@@ -101,7 +99,7 @@ function Day(_a) {
|
|
|
101
99
|
[classes.lastInRange]: lastInRange
|
|
102
100
|
}, className)
|
|
103
101
|
}), value.getDate());
|
|
104
|
-
}
|
|
102
|
+
});
|
|
105
103
|
Day.displayName = "@mantine/core/Day";
|
|
106
104
|
|
|
107
105
|
export { Day };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineSize, mergeStyles, ClassNames } from '@mantine/core';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = ClassNames<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onKeyDown' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onClick?(): void;\n
|
|
1
|
+
{"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, mergeStyles, ClassNames } from '@mantine/core';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = ClassNames<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onKeyDown' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onClick?(): void;\n onKeyDown(date: Date, event: React.KeyboardEvent): void;\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}\n\nexport const Day = forwardRef<HTMLButtonElement, DayProps>(\n (\n {\n className,\n style,\n value,\n selected,\n weekend,\n outside,\n onClick,\n onKeyDown,\n onMouseEnter,\n classNames,\n disabled,\n styles,\n hasValue,\n firstInRange,\n lastInRange,\n __staticSelector = 'month',\n inRange,\n size,\n fullWidth,\n firstInMonth,\n ...others\n }: DayProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ size, fullWidth }, classNames, __staticSelector);\n const _styles = mergeStyles(classes, styles);\n\n return (\n <button\n {...others}\n type=\"button\"\n onClick={onClick}\n ref={ref}\n onKeyDown={(event) => onKeyDown(value, event)}\n onMouseEnter={(event) => onMouseEnter(value, event)}\n tabIndex={hasValue ? (selected ? 0 : -1) : firstInMonth ? 0 : -1}\n data-autofocus={hasValue ? (selected ? true : undefined) : firstInMonth ? true : undefined}\n data-mantine-stop-propagation\n style={{\n ..._styles.day,\n ...(outside ? _styles.outside : null),\n ...(weekend ? _styles.weekend : null),\n ...(selected ? _styles.selected : null),\n ...(inRange ? _styles.inRange : null),\n ...(firstInRange ? _styles.firstInRange : null),\n ...(lastInRange ? _styles.lastInRange : null),\n ...style,\n }}\n disabled={disabled}\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 {value.getDate()}\n </button>\n );\n }\n);\n\nDay.displayName = '@mantine/core/Day';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useRef, useEffect } from 'react';
|
|
2
|
-
import { mergeStyles, Text } from '@mantine/core';
|
|
2
|
+
import { mergeStyles, useExtractedMargins, Text } 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';
|
|
@@ -87,6 +87,7 @@ function Month(_a) {
|
|
|
87
87
|
]);
|
|
88
88
|
const { classes, cx } = useStyles({ fullWidth }, classNames, __staticSelector);
|
|
89
89
|
const _styles = mergeStyles(classes, styles);
|
|
90
|
+
const { mergedStyles, rest } = useExtractedMargins({ others, style, rootStyle: _styles.root });
|
|
90
91
|
const daysRefs = useRef({});
|
|
91
92
|
const days = getMonthDays(month);
|
|
92
93
|
const focusDay = (date, diff) => {
|
|
@@ -154,7 +155,7 @@ function Month(_a) {
|
|
|
154
155
|
style: _styles.cell,
|
|
155
156
|
key: cellIndex
|
|
156
157
|
}, /* @__PURE__ */ React.createElement(Day, {
|
|
157
|
-
|
|
158
|
+
ref: (button) => {
|
|
158
159
|
daysRefs.current[date.toISOString()] = button;
|
|
159
160
|
},
|
|
160
161
|
onClick: () => typeof onChange === "function" && onChange(date),
|
|
@@ -185,8 +186,8 @@ function Month(_a) {
|
|
|
185
186
|
});
|
|
186
187
|
return /* @__PURE__ */ React.createElement("table", __spreadValues({
|
|
187
188
|
className: cx(classes.root, className),
|
|
188
|
-
style:
|
|
189
|
-
},
|
|
189
|
+
style: mergedStyles
|
|
190
|
+
}, rest), !hideWeekdays && /* @__PURE__ */ React.createElement("thead", null, /* @__PURE__ */ React.createElement("tr", null, weekdays)), /* @__PURE__ */ React.createElement("tbody", null, rows));
|
|
190
191
|
}
|
|
191
192
|
Month.displayName = "@mantine/core/Month";
|
|
192
193
|
|