@mantine/dates 3.6.7 → 3.6.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.
- package/cjs/components/DatePicker/DatePicker.js +22 -7
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePickerBase/DatePickerBase.js +23 -7
- package/cjs/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +20 -7
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/esm/components/DatePicker/DatePicker.js +22 -7
- package/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/esm/components/DatePickerBase/DatePickerBase.js +23 -7
- package/esm/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/esm/components/DateRangePicker/DateRangePicker.js +20 -7
- package/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/components/DatePickerBase/DatePickerBase.d.ts +6 -0
- package/lib/components/DatePickerBase/DatePickerBase.d.ts.map +1 -1
- package/lib/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/package.json +17 -3
|
@@ -81,7 +81,9 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
81
81
|
onBlur,
|
|
82
82
|
amountOfMonths,
|
|
83
83
|
allowLevelChange,
|
|
84
|
-
initialLevel
|
|
84
|
+
initialLevel,
|
|
85
|
+
onDropdownClose,
|
|
86
|
+
onDropdownOpen
|
|
85
87
|
} = _b, others = __objRest(_b, [
|
|
86
88
|
"value",
|
|
87
89
|
"onChange",
|
|
@@ -120,7 +122,9 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
120
122
|
"onBlur",
|
|
121
123
|
"amountOfMonths",
|
|
122
124
|
"allowLevelChange",
|
|
123
|
-
"initialLevel"
|
|
125
|
+
"initialLevel",
|
|
126
|
+
"onDropdownClose",
|
|
127
|
+
"onDropdownOpen"
|
|
124
128
|
]);
|
|
125
129
|
const theme = core.useMantineTheme();
|
|
126
130
|
const finalLocale = locale || theme.datesLocale;
|
|
@@ -139,6 +143,14 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
139
143
|
const [calendarMonth, setCalendarMonth] = React.useState(_value || initialMonth || new Date());
|
|
140
144
|
const [focused, setFocused] = React.useState(false);
|
|
141
145
|
const [inputState, setInputState] = React.useState(_value instanceof Date ? hooks.upperFirst(dayjs__default(_value).locale(finalLocale).format(dateFormat)) : "");
|
|
146
|
+
const closeDropdown = () => {
|
|
147
|
+
setDropdownOpened(false);
|
|
148
|
+
onDropdownClose == null ? void 0 : onDropdownClose();
|
|
149
|
+
};
|
|
150
|
+
const openDropdown = () => {
|
|
151
|
+
setDropdownOpened(true);
|
|
152
|
+
onDropdownOpen == null ? void 0 : onDropdownOpen();
|
|
153
|
+
};
|
|
142
154
|
React.useEffect(() => {
|
|
143
155
|
if (value === null && !focused) {
|
|
144
156
|
setInputState("");
|
|
@@ -150,7 +162,7 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
150
162
|
const handleValueChange = (date) => {
|
|
151
163
|
setValue(date);
|
|
152
164
|
setInputState(hooks.upperFirst(dayjs__default(date).locale(finalLocale).format(dateFormat)));
|
|
153
|
-
closeCalendarOnChange &&
|
|
165
|
+
closeCalendarOnChange && closeDropdown();
|
|
154
166
|
window.setTimeout(() => {
|
|
155
167
|
var _a2;
|
|
156
168
|
return (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
@@ -161,7 +173,7 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
161
173
|
setValue(null);
|
|
162
174
|
setLastValidValue(null);
|
|
163
175
|
setInputState("");
|
|
164
|
-
|
|
176
|
+
openDropdown();
|
|
165
177
|
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
166
178
|
};
|
|
167
179
|
const parseDate = (date) => dateParser ? dateParser(date) : dayjs__default(date, dateFormat, finalLocale).toDate();
|
|
@@ -191,7 +203,7 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
191
203
|
};
|
|
192
204
|
const handleKeyDown = (event) => {
|
|
193
205
|
if (event.code === "Enter" && allowFreeInput) {
|
|
194
|
-
|
|
206
|
+
closeDropdown();
|
|
195
207
|
setDateFromInput();
|
|
196
208
|
}
|
|
197
209
|
};
|
|
@@ -200,7 +212,7 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
200
212
|
setFocused(true);
|
|
201
213
|
};
|
|
202
214
|
const handleChange = (event) => {
|
|
203
|
-
|
|
215
|
+
openDropdown();
|
|
204
216
|
const date = parseDate(event.target.value);
|
|
205
217
|
if (dayjs__default(date).isValid()) {
|
|
206
218
|
setValue(date);
|
|
@@ -233,7 +245,10 @@ const DatePicker = React.forwardRef((_a, ref) => {
|
|
|
233
245
|
clearButtonLabel,
|
|
234
246
|
onClear: handleClear,
|
|
235
247
|
disabled,
|
|
236
|
-
withinPortal
|
|
248
|
+
withinPortal,
|
|
249
|
+
amountOfMonths,
|
|
250
|
+
onDropdownClose,
|
|
251
|
+
onDropdownOpen
|
|
237
252
|
}, others), /* @__PURE__ */ React__default.createElement(Calendar.Calendar, {
|
|
238
253
|
classNames,
|
|
239
254
|
styles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps\n extends Omit<DatePickerBaseSharedProps, 'onChange'>,\n Omit<CalendarSharedProps, 'size' | 'classNames' | 'styles'> {\n /** Selected date, required with controlled input */\n value?: Date | null;\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 /** Parser function for date provided by input typing */\n dateParser?: (value: string) => Date;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow free input */\n allowFreeInput?: boolean;\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,\n inputFormat,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\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 fixOnBlur = true,\n allowFreeInput,\n withinPortal = true,\n dateParser,\n firstDayOfWeek = 'monday',\n onFocus,\n onBlur,\n amountOfMonths,\n allowLevelChange,\n initialLevel,\n ...others\n }: DatePickerProps,\n ref\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 [lastValidValue, setLastValidValue] = useState(defaultValue ?? null);\n const [_value, setValue] = useUncontrolled<Date>({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n rule: (val) => val === null || val instanceof Date,\n });\n const [calendarMonth, setCalendarMonth] = useState(_value || initialMonth || new Date());\n\n const [focused, setFocused] = useState(false);\n const [inputState, setInputState] = useState(\n _value instanceof Date ? upperFirst(dayjs(_value).locale(finalLocale).format(dateFormat)) : ''\n );\n\n useEffect(() => {\n if (value === null && !focused) {\n setInputState('');\n }\n\n if (value instanceof Date && !focused) {\n setInputState(dayjs(value).locale(finalLocale).format(dateFormat));\n }\n }, [value, focused]);\n\n const handleValueChange = (date: Date) => {\n setValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n closeCalendarOnChange && setDropdownOpened(false);\n window.setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleClear = () => {\n setValue(null);\n setLastValidValue(null);\n setInputState('');\n setDropdownOpened(true);\n inputRef.current?.focus();\n };\n\n const parseDate = (date: string) =>\n dateParser ? dateParser(date) : dayjs(date, dateFormat, finalLocale).toDate();\n\n const setDateFromInput = () => {\n let date = typeof _value === 'string' ? parseDate(_value) : _value;\n\n if (maxDate && dayjs(date).isAfter(maxDate)) {\n date = maxDate;\n }\n\n if (minDate && dayjs(date).isBefore(minDate)) {\n date = minDate;\n }\n\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n setCalendarMonth(date);\n } else if (fixOnBlur) {\n setValue(lastValidValue);\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setFocused(false);\n\n if (allowFreeInput) {\n setDateFromInput();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.code === 'Enter' && allowFreeInput) {\n setDropdownOpened(false);\n setDateFromInput();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setFocused(true);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setDropdownOpened(true);\n\n const date = parseDate(event.target.value);\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(event.target.value);\n setCalendarMonth(date);\n } else {\n setInputState(event.target.value);\n }\n };\n\n return (\n <DatePickerBase\n allowFreeInput={allowFreeInput}\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 onChange={handleChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onKeyDown={handleKeyDown}\n name={name}\n inputLabel={inputState}\n __staticSelector=\"DatePicker\"\n dropdownType={dropdownType}\n clearable={clearable && !!_value && !disabled}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n disabled={disabled}\n withinPortal={withinPortal}\n {...others}\n >\n <Calendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n month={allowFreeInput ? calendarMonth : undefined}\n initialMonth={initialMonth || (_value instanceof Date ? _value : new Date())}\n onMonthChange={setCalendarMonth}\n value={_value instanceof Date ? _value : dayjs(_value).toDate()}\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=\"DatePicker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n firstDayOfWeek={firstDayOfWeek}\n preventFocus={allowFreeInput}\n amountOfMonths={amountOfMonths}\n allowLevelChange={allowLevelChange}\n initialLevel={initialLevel}\n />\n </DatePickerBase>\n );\n }\n);\n\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":["forwardRef","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","useEffect","React","DatePickerBase","useMergedRef","Calendar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps\n extends Omit<DatePickerBaseSharedProps, 'onChange'>,\n Omit<CalendarSharedProps, 'size' | 'classNames' | 'styles'> {\n /** Selected date, required with controlled input */\n value?: Date | null;\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 /** Parser function for date provided by input typing */\n dateParser?: (value: string) => Date;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow free input */\n allowFreeInput?: boolean;\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,\n inputFormat,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\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 fixOnBlur = true,\n allowFreeInput,\n withinPortal = true,\n dateParser,\n firstDayOfWeek = 'monday',\n onFocus,\n onBlur,\n amountOfMonths,\n allowLevelChange,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n ...others\n }: DatePickerProps,\n ref\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 [lastValidValue, setLastValidValue] = useState(defaultValue ?? null);\n const [_value, setValue] = useUncontrolled<Date>({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n rule: (val) => val === null || val instanceof Date,\n });\n const [calendarMonth, setCalendarMonth] = useState(_value || initialMonth || new Date());\n\n const [focused, setFocused] = useState(false);\n const [inputState, setInputState] = useState(\n _value instanceof Date ? upperFirst(dayjs(_value).locale(finalLocale).format(dateFormat)) : ''\n );\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n useEffect(() => {\n if (value === null && !focused) {\n setInputState('');\n }\n\n if (value instanceof Date && !focused) {\n setInputState(dayjs(value).locale(finalLocale).format(dateFormat));\n }\n }, [value, focused]);\n\n const handleValueChange = (date: Date) => {\n setValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n closeCalendarOnChange && closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleClear = () => {\n setValue(null);\n setLastValidValue(null);\n setInputState('');\n openDropdown();\n inputRef.current?.focus();\n };\n\n const parseDate = (date: string) =>\n dateParser ? dateParser(date) : dayjs(date, dateFormat, finalLocale).toDate();\n\n const setDateFromInput = () => {\n let date = typeof _value === 'string' ? parseDate(_value) : _value;\n\n if (maxDate && dayjs(date).isAfter(maxDate)) {\n date = maxDate;\n }\n\n if (minDate && dayjs(date).isBefore(minDate)) {\n date = minDate;\n }\n\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n setCalendarMonth(date);\n } else if (fixOnBlur) {\n setValue(lastValidValue);\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setFocused(false);\n\n if (allowFreeInput) {\n setDateFromInput();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.code === 'Enter' && allowFreeInput) {\n closeDropdown();\n setDateFromInput();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setFocused(true);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n openDropdown();\n\n const date = parseDate(event.target.value);\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(event.target.value);\n setCalendarMonth(date);\n } else {\n setInputState(event.target.value);\n }\n };\n\n return (\n <DatePickerBase\n allowFreeInput={allowFreeInput}\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 onChange={handleChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onKeyDown={handleKeyDown}\n name={name}\n inputLabel={inputState}\n __staticSelector=\"DatePicker\"\n dropdownType={dropdownType}\n clearable={clearable && !!_value && !disabled}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n disabled={disabled}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n {...others}\n >\n <Calendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n month={allowFreeInput ? calendarMonth : undefined}\n initialMonth={initialMonth || (_value instanceof Date ? _value : new Date())}\n onMonthChange={setCalendarMonth}\n value={_value instanceof Date ? _value : dayjs(_value).toDate()}\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=\"DatePicker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n firstDayOfWeek={firstDayOfWeek}\n preventFocus={allowFreeInput}\n amountOfMonths={amountOfMonths}\n allowLevelChange={allowLevelChange}\n initialLevel={initialLevel}\n />\n </DatePickerBase>\n );\n }\n);\n\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":["forwardRef","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","useEffect","React","DatePickerBase","useMergedRef","Calendar"],"mappings":"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"}
|
|
@@ -86,7 +86,10 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
|
|
|
86
86
|
onChange,
|
|
87
87
|
onKeyDown,
|
|
88
88
|
name = "date",
|
|
89
|
-
sx
|
|
89
|
+
sx,
|
|
90
|
+
amountOfMonths = 1,
|
|
91
|
+
onDropdownClose,
|
|
92
|
+
onDropdownOpen
|
|
90
93
|
} = _b, others = __objRest(_b, [
|
|
91
94
|
"classNames",
|
|
92
95
|
"className",
|
|
@@ -123,7 +126,10 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
|
|
|
123
126
|
"onChange",
|
|
124
127
|
"onKeyDown",
|
|
125
128
|
"name",
|
|
126
|
-
"sx"
|
|
129
|
+
"sx",
|
|
130
|
+
"amountOfMonths",
|
|
131
|
+
"onDropdownClose",
|
|
132
|
+
"onDropdownOpen"
|
|
127
133
|
]);
|
|
128
134
|
const { classes, cx, theme } = DatePickerBase_styles['default']({ size, invalid: !!error }, { classNames, styles, name: __staticSelector });
|
|
129
135
|
const { margins, rest } = core.extractMargins(others);
|
|
@@ -135,6 +141,15 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
|
|
|
135
141
|
const inputRef = React.useRef();
|
|
136
142
|
const closeDropdown = () => {
|
|
137
143
|
setDropdownOpened(false);
|
|
144
|
+
onDropdownClose == null ? void 0 : onDropdownClose();
|
|
145
|
+
};
|
|
146
|
+
const openDropdown = () => {
|
|
147
|
+
setDropdownOpened(true);
|
|
148
|
+
onDropdownOpen == null ? void 0 : onDropdownOpen();
|
|
149
|
+
};
|
|
150
|
+
const toggleDropdown = () => {
|
|
151
|
+
setDropdownOpened(!dropdownOpened);
|
|
152
|
+
!dropdownOpened ? onDropdownOpen == null ? void 0 : onDropdownOpen() : onDropdownClose == null ? void 0 : onDropdownClose();
|
|
138
153
|
};
|
|
139
154
|
const closeOnEscape = (event) => {
|
|
140
155
|
if (event.nativeEvent.code === "Escape") {
|
|
@@ -165,14 +180,14 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
|
|
|
165
180
|
const handleInputFocus = (event) => {
|
|
166
181
|
typeof onFocus === "function" && onFocus(event);
|
|
167
182
|
if (allowFreeInput) {
|
|
168
|
-
|
|
183
|
+
openDropdown();
|
|
169
184
|
}
|
|
170
185
|
};
|
|
171
186
|
const handleKeyDown = (event) => {
|
|
172
187
|
typeof onKeyDown === "function" && onKeyDown(event);
|
|
173
188
|
if ((event.code === "Space" || event.code === "Enter") && !allowFreeInput) {
|
|
174
189
|
event.preventDefault();
|
|
175
|
-
|
|
190
|
+
openDropdown();
|
|
176
191
|
}
|
|
177
192
|
};
|
|
178
193
|
return /* @__PURE__ */ React__default.createElement(core.InputWrapper, __spreadValues(__spreadValues({
|
|
@@ -198,7 +213,7 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
|
|
|
198
213
|
input: cx(classes.input, { [classes.freeInput]: allowFreeInput }, classNames == null ? void 0 : classNames.input)
|
|
199
214
|
}),
|
|
200
215
|
styles,
|
|
201
|
-
onClick: () => !allowFreeInput ?
|
|
216
|
+
onClick: () => !allowFreeInput ? toggleDropdown() : openDropdown(),
|
|
202
217
|
onKeyDown: handleKeyDown,
|
|
203
218
|
id: uuid,
|
|
204
219
|
ref: hooks.useMergedRef(ref, inputRef),
|
|
@@ -215,7 +230,7 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
|
|
|
215
230
|
onBlur: handleInputBlur,
|
|
216
231
|
onFocus: handleInputFocus,
|
|
217
232
|
onChange,
|
|
218
|
-
autoComplete: "
|
|
233
|
+
autoComplete: "off"
|
|
219
234
|
}, rest))), dropdownType === "popover" ? /* @__PURE__ */ React__default.createElement(core.Popper, {
|
|
220
235
|
referenceElement,
|
|
221
236
|
transitionDuration,
|
|
@@ -244,7 +259,8 @@ const DatePickerBase = React.forwardRef((_a, ref) => {
|
|
|
244
259
|
}, children))) : /* @__PURE__ */ React__default.createElement(core.Modal, {
|
|
245
260
|
opened: dropdownOpened,
|
|
246
261
|
onClose: closeDropdown,
|
|
247
|
-
hideCloseButton: true
|
|
262
|
+
hideCloseButton: true,
|
|
263
|
+
size: amountOfMonths * 400
|
|
248
264
|
}, children)));
|
|
249
265
|
});
|
|
250
266
|
DatePickerBase.displayName = "@mantine/dates/DatePickerBase";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n Input,\n InputWrapper,\n InputBaseProps,\n InputWrapperBaseProps,\n Paper,\n Popper,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n ClassNames,\n extractMargins,\n getDefaultZIndex,\n} from '@mantine/core';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useWindowEvent,\n useUuid,\n} from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | ClassNames<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface DatePickerBaseSharedProps\n extends InputBaseProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element (InputWrapper) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\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 /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\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 /** Allow free input */\n allowFreeInput?: boolean;\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<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\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 = false,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { size, invalid: !!error },\n { classNames, styles, name: __staticSelector }\n );\n const { margins, rest } = extractMargins(others);\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(!allowFreeInput && dropdownOpened);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.nativeEvent.code === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n useClickOutside(() => dropdownType === 'popover' && !allowFreeInput && closeDropdown(), null, [\n dropdownElement,\n rootElement,\n ]);\n\n useWindowEvent('scroll', () => closeDropdownOnScroll && closeDropdown());\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 const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n setDropdownOpened(true);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.code === 'Space' || event.code === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n setDropdownOpened(true);\n }\n };\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 sx={sx}\n ref={setReferenceElement}\n {...margins}\n {...wrapperProps}\n >\n <div ref={setRootElement}>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(\n classes.input,\n { [classes.freeInput]: allowFreeInput },\n classNames?.input\n ),\n }}\n styles={styles}\n onClick={() =>\n !allowFreeInput ? setDropdownOpened(!dropdownOpened) : setDropdownOpened(true)\n }\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"nope\"\n {...rest}\n />\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={10}\n withinPortal={withinPortal}\n withArrow\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n >\n <div\n className={classes.dropdownWrapper}\n ref={setDropdownElement}\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n <Paper className={classes.dropdown} shadow={shadow} ref={focusTrapRef}>\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":["forwardRef","getDefaultZIndex","useStyles","extractMargins","useState","useUuid","useFocusTrap","useRef","useClickOutside","useWindowEvent","React","CloseButton","InputWrapper","Input","useMergedRef","Popper","Paper","Modal"],"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 Input,\n InputWrapper,\n InputBaseProps,\n InputWrapperBaseProps,\n Paper,\n Popper,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n ClassNames,\n extractMargins,\n getDefaultZIndex,\n} from '@mantine/core';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useWindowEvent,\n useUuid,\n} from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | ClassNames<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface DatePickerBaseSharedProps\n extends InputBaseProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element (InputWrapper) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\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 /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\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 /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Amount of months */\n amountOfMonths?: number;\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<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\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 = false,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n amountOfMonths = 1,\n onDropdownClose,\n onDropdownOpen,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { size, invalid: !!error },\n { classNames, styles, name: __staticSelector }\n );\n const { margins, rest } = extractMargins(others);\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(!allowFreeInput && dropdownOpened);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n const toggleDropdown = () => {\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.nativeEvent.code === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n useClickOutside(() => dropdownType === 'popover' && !allowFreeInput && closeDropdown(), null, [\n dropdownElement,\n rootElement,\n ]);\n\n useWindowEvent('scroll', () => closeDropdownOnScroll && closeDropdown());\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 const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n openDropdown();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.code === 'Space' || event.code === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n openDropdown();\n }\n };\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 sx={sx}\n ref={setReferenceElement}\n {...margins}\n {...wrapperProps}\n >\n <div ref={setRootElement}>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(\n classes.input,\n { [classes.freeInput]: allowFreeInput },\n classNames?.input\n ),\n }}\n styles={styles}\n onClick={() => (!allowFreeInput ? toggleDropdown() : openDropdown())}\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"off\"\n {...rest}\n />\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={10}\n withinPortal={withinPortal}\n withArrow\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n >\n <div\n className={classes.dropdownWrapper}\n ref={setDropdownElement}\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n <Paper className={classes.dropdown} shadow={shadow} ref={focusTrapRef}>\n {children}\n </Paper>\n </div>\n </Popper>\n ) : (\n <Modal\n opened={dropdownOpened}\n onClose={closeDropdown}\n hideCloseButton\n size={amountOfMonths * 400}\n >\n {children}\n </Modal>\n )}\n </div>\n </InputWrapper>\n );\n }\n);\n\nDatePickerBase.displayName = '@mantine/dates/DatePickerBase';\n"],"names":["forwardRef","getDefaultZIndex","useStyles","extractMargins","useState","useUuid","useFocusTrap","useRef","useClickOutside","useWindowEvent","React","CloseButton","InputWrapper","Input","useMergedRef","Popper","Paper","Modal"],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ const DateRangePicker = React.forwardRef((_a, ref) => {
|
|
|
52
52
|
classNames,
|
|
53
53
|
styles,
|
|
54
54
|
shadow = "sm",
|
|
55
|
-
locale
|
|
55
|
+
locale,
|
|
56
56
|
inputFormat,
|
|
57
57
|
transitionDuration = 200,
|
|
58
58
|
transitionTimingFunction,
|
|
@@ -76,7 +76,10 @@ const DateRangePicker = React.forwardRef((_a, ref) => {
|
|
|
76
76
|
firstDayOfWeek = "monday",
|
|
77
77
|
allowSingleDateInRange = false,
|
|
78
78
|
amountOfMonths = 1,
|
|
79
|
-
withinPortal = true
|
|
79
|
+
withinPortal = true,
|
|
80
|
+
initialLevel,
|
|
81
|
+
onDropdownClose,
|
|
82
|
+
onDropdownOpen
|
|
80
83
|
} = _b, others = __objRest(_b, [
|
|
81
84
|
"value",
|
|
82
85
|
"onChange",
|
|
@@ -108,7 +111,10 @@ const DateRangePicker = React.forwardRef((_a, ref) => {
|
|
|
108
111
|
"firstDayOfWeek",
|
|
109
112
|
"allowSingleDateInRange",
|
|
110
113
|
"amountOfMonths",
|
|
111
|
-
"withinPortal"
|
|
114
|
+
"withinPortal",
|
|
115
|
+
"initialLevel",
|
|
116
|
+
"onDropdownClose",
|
|
117
|
+
"onDropdownOpen"
|
|
112
118
|
]);
|
|
113
119
|
const theme = core.useMantineTheme();
|
|
114
120
|
const finalLocale = locale || theme.datesLocale;
|
|
@@ -127,6 +133,7 @@ const DateRangePicker = React.forwardRef((_a, ref) => {
|
|
|
127
133
|
setValue(range);
|
|
128
134
|
if (closeCalendarOnChange && validationRule(range)) {
|
|
129
135
|
setDropdownOpened(false);
|
|
136
|
+
onDropdownClose == null ? void 0 : onDropdownClose();
|
|
130
137
|
window.setTimeout(() => {
|
|
131
138
|
var _a2;
|
|
132
139
|
return (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
@@ -141,13 +148,15 @@ const DateRangePicker = React.forwardRef((_a, ref) => {
|
|
|
141
148
|
var _a2;
|
|
142
149
|
setValue([null, null]);
|
|
143
150
|
setDropdownOpened(true);
|
|
151
|
+
onDropdownOpen == null ? void 0 : onDropdownOpen();
|
|
144
152
|
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
145
153
|
};
|
|
146
|
-
const handleDropdownToggle = (
|
|
147
|
-
if (!
|
|
154
|
+
const handleDropdownToggle = (isOpened) => {
|
|
155
|
+
if (!isOpened && firstValueValid && _value[1] === null) {
|
|
148
156
|
handleClear();
|
|
149
157
|
}
|
|
150
158
|
setDropdownOpened(!dropdownOpened);
|
|
159
|
+
!dropdownOpened ? onDropdownOpen == null ? void 0 : onDropdownOpen() : onDropdownClose == null ? void 0 : onDropdownClose();
|
|
151
160
|
};
|
|
152
161
|
return /* @__PURE__ */ React__default.createElement(DatePickerBase.DatePickerBase, __spreadValues({
|
|
153
162
|
dropdownOpened,
|
|
@@ -164,7 +173,10 @@ const DateRangePicker = React.forwardRef((_a, ref) => {
|
|
|
164
173
|
clearable: clearable && firstValueValid,
|
|
165
174
|
clearButtonLabel,
|
|
166
175
|
onClear: handleClear,
|
|
167
|
-
withinPortal
|
|
176
|
+
withinPortal,
|
|
177
|
+
amountOfMonths,
|
|
178
|
+
onDropdownClose,
|
|
179
|
+
onDropdownOpen
|
|
168
180
|
}, others), /* @__PURE__ */ React__default.createElement(RangeCalendar.RangeCalendar, {
|
|
169
181
|
classNames,
|
|
170
182
|
styles,
|
|
@@ -186,7 +198,8 @@ const DateRangePicker = React.forwardRef((_a, ref) => {
|
|
|
186
198
|
firstDayOfWeek,
|
|
187
199
|
size: dropdownType === "modal" ? "lg" : calendarSize,
|
|
188
200
|
allowSingleDateInRange,
|
|
189
|
-
amountOfMonths
|
|
201
|
+
amountOfMonths,
|
|
202
|
+
initialLevel
|
|
190
203
|
}));
|
|
191
204
|
});
|
|
192
205
|
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 } 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'>,\n Omit<CalendarSharedProps, 'size' | 'styles' | 'classNames' | 'value' | 'onChange'> {\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 /** 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\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\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,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened = false,\n size = 'sm',\n dropdownType = 'popover',\n labelSeparator = '–',\n clearable = true,\n clearButtonLabel,\n firstDayOfWeek = 'monday',\n allowSingleDateInRange = false,\n amountOfMonths = 1,\n withinPortal = true,\n ...others\n }: DateRangePickerProps,\n ref\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 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 inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpen) => {\n if (!isOpen && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(!dropdownOpened);\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 {...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 allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\n />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":["forwardRef","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","React","DatePickerBase","useMergedRef","RangeCalendar"],"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 } 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'>,\n Omit<CalendarSharedProps, 'size' | 'styles' | 'classNames' | 'value' | 'onChange'> {\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 /** 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\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\nexport const DateRangePicker = forwardRef<HTMLButtonElement, DateRangePickerProps>(\n (\n {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow = 'sm',\n locale,\n inputFormat,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened = false,\n size = 'sm',\n dropdownType = 'popover',\n labelSeparator = '–',\n clearable = true,\n clearButtonLabel,\n firstDayOfWeek = 'monday',\n allowSingleDateInRange = false,\n amountOfMonths = 1,\n withinPortal = true,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n ...others\n }: DateRangePickerProps,\n ref\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 onDropdownOpen?.();\n inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpened: boolean) => {\n if (!isOpened && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\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 allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\n initialLevel={initialLevel}\n />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":["forwardRef","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","React","DatePickerBase","useMergedRef","RangeCalendar"],"mappings":"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"}
|
|
@@ -72,7 +72,9 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
72
72
|
onBlur,
|
|
73
73
|
amountOfMonths,
|
|
74
74
|
allowLevelChange,
|
|
75
|
-
initialLevel
|
|
75
|
+
initialLevel,
|
|
76
|
+
onDropdownClose,
|
|
77
|
+
onDropdownOpen
|
|
76
78
|
} = _b, others = __objRest(_b, [
|
|
77
79
|
"value",
|
|
78
80
|
"onChange",
|
|
@@ -111,7 +113,9 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
111
113
|
"onBlur",
|
|
112
114
|
"amountOfMonths",
|
|
113
115
|
"allowLevelChange",
|
|
114
|
-
"initialLevel"
|
|
116
|
+
"initialLevel",
|
|
117
|
+
"onDropdownClose",
|
|
118
|
+
"onDropdownOpen"
|
|
115
119
|
]);
|
|
116
120
|
const theme = useMantineTheme();
|
|
117
121
|
const finalLocale = locale || theme.datesLocale;
|
|
@@ -130,6 +134,14 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
130
134
|
const [calendarMonth, setCalendarMonth] = useState(_value || initialMonth || new Date());
|
|
131
135
|
const [focused, setFocused] = useState(false);
|
|
132
136
|
const [inputState, setInputState] = useState(_value instanceof Date ? upperFirst(dayjs(_value).locale(finalLocale).format(dateFormat)) : "");
|
|
137
|
+
const closeDropdown = () => {
|
|
138
|
+
setDropdownOpened(false);
|
|
139
|
+
onDropdownClose == null ? void 0 : onDropdownClose();
|
|
140
|
+
};
|
|
141
|
+
const openDropdown = () => {
|
|
142
|
+
setDropdownOpened(true);
|
|
143
|
+
onDropdownOpen == null ? void 0 : onDropdownOpen();
|
|
144
|
+
};
|
|
133
145
|
useEffect(() => {
|
|
134
146
|
if (value === null && !focused) {
|
|
135
147
|
setInputState("");
|
|
@@ -141,7 +153,7 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
141
153
|
const handleValueChange = (date) => {
|
|
142
154
|
setValue(date);
|
|
143
155
|
setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));
|
|
144
|
-
closeCalendarOnChange &&
|
|
156
|
+
closeCalendarOnChange && closeDropdown();
|
|
145
157
|
window.setTimeout(() => {
|
|
146
158
|
var _a2;
|
|
147
159
|
return (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
@@ -152,7 +164,7 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
152
164
|
setValue(null);
|
|
153
165
|
setLastValidValue(null);
|
|
154
166
|
setInputState("");
|
|
155
|
-
|
|
167
|
+
openDropdown();
|
|
156
168
|
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
157
169
|
};
|
|
158
170
|
const parseDate = (date) => dateParser ? dateParser(date) : dayjs(date, dateFormat, finalLocale).toDate();
|
|
@@ -182,7 +194,7 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
182
194
|
};
|
|
183
195
|
const handleKeyDown = (event) => {
|
|
184
196
|
if (event.code === "Enter" && allowFreeInput) {
|
|
185
|
-
|
|
197
|
+
closeDropdown();
|
|
186
198
|
setDateFromInput();
|
|
187
199
|
}
|
|
188
200
|
};
|
|
@@ -191,7 +203,7 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
191
203
|
setFocused(true);
|
|
192
204
|
};
|
|
193
205
|
const handleChange = (event) => {
|
|
194
|
-
|
|
206
|
+
openDropdown();
|
|
195
207
|
const date = parseDate(event.target.value);
|
|
196
208
|
if (dayjs(date).isValid()) {
|
|
197
209
|
setValue(date);
|
|
@@ -224,7 +236,10 @@ const DatePicker = forwardRef((_a, ref) => {
|
|
|
224
236
|
clearButtonLabel,
|
|
225
237
|
onClear: handleClear,
|
|
226
238
|
disabled,
|
|
227
|
-
withinPortal
|
|
239
|
+
withinPortal,
|
|
240
|
+
amountOfMonths,
|
|
241
|
+
onDropdownClose,
|
|
242
|
+
onDropdownOpen
|
|
228
243
|
}, others), /* @__PURE__ */ React.createElement(Calendar, {
|
|
229
244
|
classNames,
|
|
230
245
|
styles,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps\n extends Omit<DatePickerBaseSharedProps, 'onChange'>,\n Omit<CalendarSharedProps, 'size' | 'classNames' | 'styles'> {\n /** Selected date, required with controlled input */\n value?: Date | null;\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 /** Parser function for date provided by input typing */\n dateParser?: (value: string) => Date;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow free input */\n allowFreeInput?: boolean;\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,\n inputFormat,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\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 fixOnBlur = true,\n allowFreeInput,\n withinPortal = true,\n dateParser,\n firstDayOfWeek = 'monday',\n onFocus,\n onBlur,\n amountOfMonths,\n allowLevelChange,\n initialLevel,\n ...others\n }: DatePickerProps,\n ref\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 [lastValidValue, setLastValidValue] = useState(defaultValue ?? null);\n const [_value, setValue] = useUncontrolled<Date>({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n rule: (val) => val === null || val instanceof Date,\n });\n const [calendarMonth, setCalendarMonth] = useState(_value || initialMonth || new Date());\n\n const [focused, setFocused] = useState(false);\n const [inputState, setInputState] = useState(\n _value instanceof Date ? upperFirst(dayjs(_value).locale(finalLocale).format(dateFormat)) : ''\n );\n\n useEffect(() => {\n if (value === null && !focused) {\n setInputState('');\n }\n\n if (value instanceof Date && !focused) {\n setInputState(dayjs(value).locale(finalLocale).format(dateFormat));\n }\n }, [value, focused]);\n\n const handleValueChange = (date: Date) => {\n setValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n closeCalendarOnChange && setDropdownOpened(false);\n window.setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleClear = () => {\n setValue(null);\n setLastValidValue(null);\n setInputState('');\n setDropdownOpened(true);\n inputRef.current?.focus();\n };\n\n const parseDate = (date: string) =>\n dateParser ? dateParser(date) : dayjs(date, dateFormat, finalLocale).toDate();\n\n const setDateFromInput = () => {\n let date = typeof _value === 'string' ? parseDate(_value) : _value;\n\n if (maxDate && dayjs(date).isAfter(maxDate)) {\n date = maxDate;\n }\n\n if (minDate && dayjs(date).isBefore(minDate)) {\n date = minDate;\n }\n\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n setCalendarMonth(date);\n } else if (fixOnBlur) {\n setValue(lastValidValue);\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setFocused(false);\n\n if (allowFreeInput) {\n setDateFromInput();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.code === 'Enter' && allowFreeInput) {\n setDropdownOpened(false);\n setDateFromInput();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setFocused(true);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setDropdownOpened(true);\n\n const date = parseDate(event.target.value);\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(event.target.value);\n setCalendarMonth(date);\n } else {\n setInputState(event.target.value);\n }\n };\n\n return (\n <DatePickerBase\n allowFreeInput={allowFreeInput}\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 onChange={handleChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onKeyDown={handleKeyDown}\n name={name}\n inputLabel={inputState}\n __staticSelector=\"DatePicker\"\n dropdownType={dropdownType}\n clearable={clearable && !!_value && !disabled}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n disabled={disabled}\n withinPortal={withinPortal}\n {...others}\n >\n <Calendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n month={allowFreeInput ? calendarMonth : undefined}\n initialMonth={initialMonth || (_value instanceof Date ? _value : new Date())}\n onMonthChange={setCalendarMonth}\n value={_value instanceof Date ? _value : dayjs(_value).toDate()}\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=\"DatePicker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n firstDayOfWeek={firstDayOfWeek}\n preventFocus={allowFreeInput}\n amountOfMonths={amountOfMonths}\n allowLevelChange={allowLevelChange}\n initialLevel={initialLevel}\n />\n </DatePickerBase>\n );\n }\n);\n\nDatePicker.displayName = '@mantine/dates/DatePicker';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { Calendar } from '../Calendar/Calendar';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DatePickerProps\n extends Omit<DatePickerBaseSharedProps, 'onChange'>,\n Omit<CalendarSharedProps, 'size' | 'classNames' | 'styles'> {\n /** Selected date, required with controlled input */\n value?: Date | null;\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 /** Parser function for date provided by input typing */\n dateParser?: (value: string) => Date;\n\n /** Input name, useful for uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow free input */\n allowFreeInput?: boolean;\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,\n inputFormat,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\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 fixOnBlur = true,\n allowFreeInput,\n withinPortal = true,\n dateParser,\n firstDayOfWeek = 'monday',\n onFocus,\n onBlur,\n amountOfMonths,\n allowLevelChange,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n ...others\n }: DatePickerProps,\n ref\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 [lastValidValue, setLastValidValue] = useState(defaultValue ?? null);\n const [_value, setValue] = useUncontrolled<Date>({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n rule: (val) => val === null || val instanceof Date,\n });\n const [calendarMonth, setCalendarMonth] = useState(_value || initialMonth || new Date());\n\n const [focused, setFocused] = useState(false);\n const [inputState, setInputState] = useState(\n _value instanceof Date ? upperFirst(dayjs(_value).locale(finalLocale).format(dateFormat)) : ''\n );\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n useEffect(() => {\n if (value === null && !focused) {\n setInputState('');\n }\n\n if (value instanceof Date && !focused) {\n setInputState(dayjs(value).locale(finalLocale).format(dateFormat));\n }\n }, [value, focused]);\n\n const handleValueChange = (date: Date) => {\n setValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n closeCalendarOnChange && closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n };\n\n const handleClear = () => {\n setValue(null);\n setLastValidValue(null);\n setInputState('');\n openDropdown();\n inputRef.current?.focus();\n };\n\n const parseDate = (date: string) =>\n dateParser ? dateParser(date) : dayjs(date, dateFormat, finalLocale).toDate();\n\n const setDateFromInput = () => {\n let date = typeof _value === 'string' ? parseDate(_value) : _value;\n\n if (maxDate && dayjs(date).isAfter(maxDate)) {\n date = maxDate;\n }\n\n if (minDate && dayjs(date).isBefore(minDate)) {\n date = minDate;\n }\n\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(upperFirst(dayjs(date).locale(finalLocale).format(dateFormat)));\n setCalendarMonth(date);\n } else if (fixOnBlur) {\n setValue(lastValidValue);\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n setFocused(false);\n\n if (allowFreeInput) {\n setDateFromInput();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.code === 'Enter' && allowFreeInput) {\n closeDropdown();\n setDateFromInput();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setFocused(true);\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n openDropdown();\n\n const date = parseDate(event.target.value);\n if (dayjs(date).isValid()) {\n setValue(date);\n setLastValidValue(date);\n setInputState(event.target.value);\n setCalendarMonth(date);\n } else {\n setInputState(event.target.value);\n }\n };\n\n return (\n <DatePickerBase\n allowFreeInput={allowFreeInput}\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 onChange={handleChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onKeyDown={handleKeyDown}\n name={name}\n inputLabel={inputState}\n __staticSelector=\"DatePicker\"\n dropdownType={dropdownType}\n clearable={clearable && !!_value && !disabled}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n disabled={disabled}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n {...others}\n >\n <Calendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n month={allowFreeInput ? calendarMonth : undefined}\n initialMonth={initialMonth || (_value instanceof Date ? _value : new Date())}\n onMonthChange={setCalendarMonth}\n value={_value instanceof Date ? _value : dayjs(_value).toDate()}\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=\"DatePicker\"\n fullWidth={dropdownType === 'modal'}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n firstDayOfWeek={firstDayOfWeek}\n preventFocus={allowFreeInput}\n amountOfMonths={amountOfMonths}\n allowLevelChange={allowLevelChange}\n initialLevel={initialLevel}\n />\n </DatePickerBase>\n );\n }\n);\n\nDatePicker.displayName = '@mantine/dates/DatePicker';\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;AAOU,MAAC,UAAU,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AAClD,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;AACV,IAAI,WAAW;AACf,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,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,eAAe,GAAG,KAAK;AAC3B,IAAI,IAAI,GAAG,MAAM;AACjB,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,YAAY,GAAG,SAAS;AAC5B,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,gBAAgB;AACpB,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,cAAc;AAClB,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,UAAU;AACd,IAAI,cAAc,GAAG,QAAQ;AAC7B,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,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,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,sBAAsB;AAC1B,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,WAAW;AACf,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAClC,EAAE,MAAM,WAAW,GAAG,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC;AAClD,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC;AACrD,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,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC;AACnG,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ;AACZ,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,GAAG,YAAY,IAAI;AACtD,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AAC3F,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,MAAM,YAAY,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/I,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,IAAI,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AACzD,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,IAAI,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,CAAC;AACvD,GAAG,CAAC;AACJ,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;AACpC,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;AACxB,KAAK;AACL,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;AAC3C,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACzE,KAAK;AACL,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACvB,EAAE,MAAM,iBAAiB,GAAG,CAAC,IAAI,KAAK;AACtC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnB,IAAI,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAClF,IAAI,qBAAqB,IAAI,aAAa,EAAE,CAAC;AAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM;AAC5B,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,CAAC,CAAC,CAAC;AACV,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;AACtB,IAAI,YAAY,EAAE,CAAC;AACnB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC5D,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,CAAC,IAAI,KAAK,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5G,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,IAAI,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AACvE,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACjD,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,KAAK;AACL,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAClD,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;AAC/B,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,MAAM,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACpF,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC7B,KAAK,MAAM,IAAI,SAAS,EAAE;AAC1B,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC/B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AACtB,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,gBAAgB,EAAE,CAAC;AACzB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK;AACnC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,cAAc,EAAE;AAClD,MAAM,aAAa,EAAE,CAAC;AACtB,MAAM,gBAAgB,EAAE,CAAC;AACzB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AACpD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK;AAClC,IAAI,YAAY,EAAE,CAAC;AACnB,IAAI,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/C,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;AAC/B,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC9B,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC7B,KAAK,MAAM;AACX,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;AAC5E,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,IAAI,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,SAAS,EAAE,aAAa;AAC5B,IAAI,IAAI;AACR,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,YAAY;AAChB,IAAI,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ;AACjD,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC5D,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,KAAK,EAAE,cAAc,GAAG,aAAa,GAAG,KAAK,CAAC;AAClD,IAAI,YAAY,EAAE,YAAY,KAAK,MAAM,YAAY,IAAI,GAAG,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;AAChF,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,KAAK,EAAE,MAAM,YAAY,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;AACnE,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,gBAAgB,EAAE,YAAY;AAClC,IAAI,SAAS,EAAE,YAAY,KAAK,OAAO;AACvC,IAAI,IAAI,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,GAAG,YAAY;AACxD,IAAI,cAAc;AAClB,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,UAAU,CAAC,WAAW,GAAG,2BAA2B;;;;"}
|
|
@@ -78,7 +78,10 @@ const DatePickerBase = forwardRef((_a, ref) => {
|
|
|
78
78
|
onChange,
|
|
79
79
|
onKeyDown,
|
|
80
80
|
name = "date",
|
|
81
|
-
sx
|
|
81
|
+
sx,
|
|
82
|
+
amountOfMonths = 1,
|
|
83
|
+
onDropdownClose,
|
|
84
|
+
onDropdownOpen
|
|
82
85
|
} = _b, others = __objRest(_b, [
|
|
83
86
|
"classNames",
|
|
84
87
|
"className",
|
|
@@ -115,7 +118,10 @@ const DatePickerBase = forwardRef((_a, ref) => {
|
|
|
115
118
|
"onChange",
|
|
116
119
|
"onKeyDown",
|
|
117
120
|
"name",
|
|
118
|
-
"sx"
|
|
121
|
+
"sx",
|
|
122
|
+
"amountOfMonths",
|
|
123
|
+
"onDropdownClose",
|
|
124
|
+
"onDropdownOpen"
|
|
119
125
|
]);
|
|
120
126
|
const { classes, cx, theme } = useStyles({ size, invalid: !!error }, { classNames, styles, name: __staticSelector });
|
|
121
127
|
const { margins, rest } = extractMargins(others);
|
|
@@ -127,6 +133,15 @@ const DatePickerBase = forwardRef((_a, ref) => {
|
|
|
127
133
|
const inputRef = useRef();
|
|
128
134
|
const closeDropdown = () => {
|
|
129
135
|
setDropdownOpened(false);
|
|
136
|
+
onDropdownClose == null ? void 0 : onDropdownClose();
|
|
137
|
+
};
|
|
138
|
+
const openDropdown = () => {
|
|
139
|
+
setDropdownOpened(true);
|
|
140
|
+
onDropdownOpen == null ? void 0 : onDropdownOpen();
|
|
141
|
+
};
|
|
142
|
+
const toggleDropdown = () => {
|
|
143
|
+
setDropdownOpened(!dropdownOpened);
|
|
144
|
+
!dropdownOpened ? onDropdownOpen == null ? void 0 : onDropdownOpen() : onDropdownClose == null ? void 0 : onDropdownClose();
|
|
130
145
|
};
|
|
131
146
|
const closeOnEscape = (event) => {
|
|
132
147
|
if (event.nativeEvent.code === "Escape") {
|
|
@@ -157,14 +172,14 @@ const DatePickerBase = forwardRef((_a, ref) => {
|
|
|
157
172
|
const handleInputFocus = (event) => {
|
|
158
173
|
typeof onFocus === "function" && onFocus(event);
|
|
159
174
|
if (allowFreeInput) {
|
|
160
|
-
|
|
175
|
+
openDropdown();
|
|
161
176
|
}
|
|
162
177
|
};
|
|
163
178
|
const handleKeyDown = (event) => {
|
|
164
179
|
typeof onKeyDown === "function" && onKeyDown(event);
|
|
165
180
|
if ((event.code === "Space" || event.code === "Enter") && !allowFreeInput) {
|
|
166
181
|
event.preventDefault();
|
|
167
|
-
|
|
182
|
+
openDropdown();
|
|
168
183
|
}
|
|
169
184
|
};
|
|
170
185
|
return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues(__spreadValues({
|
|
@@ -190,7 +205,7 @@ const DatePickerBase = forwardRef((_a, ref) => {
|
|
|
190
205
|
input: cx(classes.input, { [classes.freeInput]: allowFreeInput }, classNames == null ? void 0 : classNames.input)
|
|
191
206
|
}),
|
|
192
207
|
styles,
|
|
193
|
-
onClick: () => !allowFreeInput ?
|
|
208
|
+
onClick: () => !allowFreeInput ? toggleDropdown() : openDropdown(),
|
|
194
209
|
onKeyDown: handleKeyDown,
|
|
195
210
|
id: uuid,
|
|
196
211
|
ref: useMergedRef(ref, inputRef),
|
|
@@ -207,7 +222,7 @@ const DatePickerBase = forwardRef((_a, ref) => {
|
|
|
207
222
|
onBlur: handleInputBlur,
|
|
208
223
|
onFocus: handleInputFocus,
|
|
209
224
|
onChange,
|
|
210
|
-
autoComplete: "
|
|
225
|
+
autoComplete: "off"
|
|
211
226
|
}, rest))), dropdownType === "popover" ? /* @__PURE__ */ React.createElement(Popper, {
|
|
212
227
|
referenceElement,
|
|
213
228
|
transitionDuration,
|
|
@@ -236,7 +251,8 @@ const DatePickerBase = forwardRef((_a, ref) => {
|
|
|
236
251
|
}, children))) : /* @__PURE__ */ React.createElement(Modal, {
|
|
237
252
|
opened: dropdownOpened,
|
|
238
253
|
onClose: closeDropdown,
|
|
239
|
-
hideCloseButton: true
|
|
254
|
+
hideCloseButton: true,
|
|
255
|
+
size: amountOfMonths * 400
|
|
240
256
|
}, children)));
|
|
241
257
|
});
|
|
242
258
|
DatePickerBase.displayName = "@mantine/dates/DatePickerBase";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n Input,\n InputWrapper,\n InputBaseProps,\n InputWrapperBaseProps,\n Paper,\n Popper,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n ClassNames,\n extractMargins,\n getDefaultZIndex,\n} from '@mantine/core';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useWindowEvent,\n useUuid,\n} from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | ClassNames<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface DatePickerBaseSharedProps\n extends InputBaseProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element (InputWrapper) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\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 /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\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 /** Allow free input */\n allowFreeInput?: boolean;\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<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\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 = false,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { size, invalid: !!error },\n { classNames, styles, name: __staticSelector }\n );\n const { margins, rest } = extractMargins(others);\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(!allowFreeInput && dropdownOpened);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.nativeEvent.code === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n useClickOutside(() => dropdownType === 'popover' && !allowFreeInput && closeDropdown(), null, [\n dropdownElement,\n rootElement,\n ]);\n\n useWindowEvent('scroll', () => closeDropdownOnScroll && closeDropdown());\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 const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n setDropdownOpened(true);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.code === 'Space' || event.code === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n setDropdownOpened(true);\n }\n };\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 sx={sx}\n ref={setReferenceElement}\n {...margins}\n {...wrapperProps}\n >\n <div ref={setRootElement}>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(\n classes.input,\n { [classes.freeInput]: allowFreeInput },\n classNames?.input\n ),\n }}\n styles={styles}\n onClick={() =>\n !allowFreeInput ? setDropdownOpened(!dropdownOpened) : setDropdownOpened(true)\n }\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"nope\"\n {...rest}\n />\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={10}\n withinPortal={withinPortal}\n withArrow\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n >\n <div\n className={classes.dropdownWrapper}\n ref={setDropdownElement}\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n <Paper className={classes.dropdown} shadow={shadow} ref={focusTrapRef}>\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
|
+
{"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport {\n DefaultProps,\n Input,\n InputWrapper,\n InputBaseProps,\n InputWrapperBaseProps,\n Paper,\n Popper,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n ClassNames,\n extractMargins,\n getDefaultZIndex,\n} from '@mantine/core';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useWindowEvent,\n useUuid,\n} from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | ClassNames<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface DatePickerBaseSharedProps\n extends InputBaseProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element (InputWrapper) */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\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 /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\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 /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Amount of months */\n amountOfMonths?: number;\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<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\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 = false,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex = getDefaultZIndex('popover'),\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n amountOfMonths = 1,\n onDropdownClose,\n onDropdownOpen,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(\n { size, invalid: !!error },\n { classNames, styles, name: __staticSelector }\n );\n const { margins, rest } = extractMargins(others);\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(!allowFreeInput && dropdownOpened);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n const toggleDropdown = () => {\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.nativeEvent.code === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n useClickOutside(() => dropdownType === 'popover' && !allowFreeInput && closeDropdown(), null, [\n dropdownElement,\n rootElement,\n ]);\n\n useWindowEvent('scroll', () => closeDropdownOnScroll && closeDropdown());\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 const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n openDropdown();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.code === 'Space' || event.code === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n openDropdown();\n }\n };\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 sx={sx}\n ref={setReferenceElement}\n {...margins}\n {...wrapperProps}\n >\n <div ref={setRootElement}>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(\n classes.input,\n { [classes.freeInput]: allowFreeInput },\n classNames?.input\n ),\n }}\n styles={styles}\n onClick={() => (!allowFreeInput ? toggleDropdown() : openDropdown())}\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"off\"\n {...rest}\n />\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={10}\n withinPortal={withinPortal}\n withArrow\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n >\n <div\n className={classes.dropdownWrapper}\n ref={setDropdownElement}\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n <Paper className={classes.dropdown} shadow={shadow} ref={focusTrapRef}>\n {children}\n </Paper>\n </div>\n </Popper>\n ) : (\n <Modal\n opened={dropdownOpened}\n onClose={closeDropdown}\n hideCloseButton\n size={amountOfMonths * 400}\n >\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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"}
|
|
@@ -43,7 +43,7 @@ const DateRangePicker = forwardRef((_a, ref) => {
|
|
|
43
43
|
classNames,
|
|
44
44
|
styles,
|
|
45
45
|
shadow = "sm",
|
|
46
|
-
locale
|
|
46
|
+
locale,
|
|
47
47
|
inputFormat,
|
|
48
48
|
transitionDuration = 200,
|
|
49
49
|
transitionTimingFunction,
|
|
@@ -67,7 +67,10 @@ const DateRangePicker = forwardRef((_a, ref) => {
|
|
|
67
67
|
firstDayOfWeek = "monday",
|
|
68
68
|
allowSingleDateInRange = false,
|
|
69
69
|
amountOfMonths = 1,
|
|
70
|
-
withinPortal = true
|
|
70
|
+
withinPortal = true,
|
|
71
|
+
initialLevel,
|
|
72
|
+
onDropdownClose,
|
|
73
|
+
onDropdownOpen
|
|
71
74
|
} = _b, others = __objRest(_b, [
|
|
72
75
|
"value",
|
|
73
76
|
"onChange",
|
|
@@ -99,7 +102,10 @@ const DateRangePicker = forwardRef((_a, ref) => {
|
|
|
99
102
|
"firstDayOfWeek",
|
|
100
103
|
"allowSingleDateInRange",
|
|
101
104
|
"amountOfMonths",
|
|
102
|
-
"withinPortal"
|
|
105
|
+
"withinPortal",
|
|
106
|
+
"initialLevel",
|
|
107
|
+
"onDropdownClose",
|
|
108
|
+
"onDropdownOpen"
|
|
103
109
|
]);
|
|
104
110
|
const theme = useMantineTheme();
|
|
105
111
|
const finalLocale = locale || theme.datesLocale;
|
|
@@ -118,6 +124,7 @@ const DateRangePicker = forwardRef((_a, ref) => {
|
|
|
118
124
|
setValue(range);
|
|
119
125
|
if (closeCalendarOnChange && validationRule(range)) {
|
|
120
126
|
setDropdownOpened(false);
|
|
127
|
+
onDropdownClose == null ? void 0 : onDropdownClose();
|
|
121
128
|
window.setTimeout(() => {
|
|
122
129
|
var _a2;
|
|
123
130
|
return (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
@@ -132,13 +139,15 @@ const DateRangePicker = forwardRef((_a, ref) => {
|
|
|
132
139
|
var _a2;
|
|
133
140
|
setValue([null, null]);
|
|
134
141
|
setDropdownOpened(true);
|
|
142
|
+
onDropdownOpen == null ? void 0 : onDropdownOpen();
|
|
135
143
|
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
136
144
|
};
|
|
137
|
-
const handleDropdownToggle = (
|
|
138
|
-
if (!
|
|
145
|
+
const handleDropdownToggle = (isOpened) => {
|
|
146
|
+
if (!isOpened && firstValueValid && _value[1] === null) {
|
|
139
147
|
handleClear();
|
|
140
148
|
}
|
|
141
149
|
setDropdownOpened(!dropdownOpened);
|
|
150
|
+
!dropdownOpened ? onDropdownOpen == null ? void 0 : onDropdownOpen() : onDropdownClose == null ? void 0 : onDropdownClose();
|
|
142
151
|
};
|
|
143
152
|
return /* @__PURE__ */ React.createElement(DatePickerBase, __spreadValues({
|
|
144
153
|
dropdownOpened,
|
|
@@ -155,7 +164,10 @@ const DateRangePicker = forwardRef((_a, ref) => {
|
|
|
155
164
|
clearable: clearable && firstValueValid,
|
|
156
165
|
clearButtonLabel,
|
|
157
166
|
onClear: handleClear,
|
|
158
|
-
withinPortal
|
|
167
|
+
withinPortal,
|
|
168
|
+
amountOfMonths,
|
|
169
|
+
onDropdownClose,
|
|
170
|
+
onDropdownOpen
|
|
159
171
|
}, others), /* @__PURE__ */ React.createElement(RangeCalendar, {
|
|
160
172
|
classNames,
|
|
161
173
|
styles,
|
|
@@ -177,7 +189,8 @@ const DateRangePicker = forwardRef((_a, ref) => {
|
|
|
177
189
|
firstDayOfWeek,
|
|
178
190
|
size: dropdownType === "modal" ? "lg" : calendarSize,
|
|
179
191
|
allowSingleDateInRange,
|
|
180
|
-
amountOfMonths
|
|
192
|
+
amountOfMonths,
|
|
193
|
+
initialLevel
|
|
181
194
|
}));
|
|
182
195
|
});
|
|
183
196
|
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 } 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'>,\n Omit<CalendarSharedProps, 'size' | 'styles' | 'classNames' | 'value' | 'onChange'> {\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 /** 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\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\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,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened = false,\n size = 'sm',\n dropdownType = 'popover',\n labelSeparator = '–',\n clearable = true,\n clearButtonLabel,\n firstDayOfWeek = 'monday',\n allowSingleDateInRange = false,\n amountOfMonths = 1,\n withinPortal = true,\n ...others\n }: DateRangePickerProps,\n ref\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 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 inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpen) => {\n if (!isOpen && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(!dropdownOpened);\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 {...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 allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\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 } 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'>,\n Omit<CalendarSharedProps, 'size' | 'styles' | 'classNames' | 'value' | 'onChange'> {\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 /** 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\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\nexport const DateRangePicker = forwardRef<HTMLButtonElement, DateRangePickerProps>(\n (\n {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow = 'sm',\n locale,\n inputFormat,\n transitionDuration = 200,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange = true,\n labelFormat = 'MMMM YYYY',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened = false,\n size = 'sm',\n dropdownType = 'popover',\n labelSeparator = '–',\n clearable = true,\n clearButtonLabel,\n firstDayOfWeek = 'monday',\n allowSingleDateInRange = false,\n amountOfMonths = 1,\n withinPortal = true,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n ...others\n }: DateRangePickerProps,\n ref\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 onDropdownOpen?.();\n inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpened: boolean) => {\n if (!isOpened && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\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 allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\n initialLevel={initialLevel}\n />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAkB,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,UAAU,CAAC,EACjD,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC7D,oDAAoD;IACpD,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEpB,+BAA+B;IAC/B,QAAQ,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEpC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAE3B,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,wDAAwD;IACxD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,uBAAuB;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAkB,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,UAAU,CAAC,EACjD,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC7D,oDAAoD;IACpD,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEpB,+BAA+B;IAC/B,QAAQ,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAEpC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAE3B,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,wDAAwD;IACxD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,uBAAuB;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,2FA6NtB,CAAC"}
|
|
@@ -36,6 +36,10 @@ export interface DatePickerBaseSharedProps extends InputBaseProps, InputWrapperB
|
|
|
36
36
|
fixOnBlur?: boolean;
|
|
37
37
|
/** Whether to render the dropdown in a Portal */
|
|
38
38
|
withinPortal?: boolean;
|
|
39
|
+
/** Called when dropdown opens */
|
|
40
|
+
onDropdownOpen?(): void;
|
|
41
|
+
/** Called when dropdown closes */
|
|
42
|
+
onDropdownClose?(): void;
|
|
39
43
|
}
|
|
40
44
|
export interface DatePickerBaseProps extends DatePickerBaseSharedProps {
|
|
41
45
|
/** Internal prop to set input label */
|
|
@@ -50,6 +54,8 @@ export interface DatePickerBaseProps extends DatePickerBaseSharedProps {
|
|
|
50
54
|
onClear(): void;
|
|
51
55
|
/** Allow free input */
|
|
52
56
|
allowFreeInput?: boolean;
|
|
57
|
+
/** Amount of months */
|
|
58
|
+
amountOfMonths?: number;
|
|
53
59
|
}
|
|
54
60
|
export declare const DatePickerBase: React.ForwardRefExoticComponent<DatePickerBaseProps & React.RefAttributes<HTMLInputElement>>;
|
|
55
61
|
//# sourceMappingURL=DatePickerBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerBase.d.ts","sourceRoot":"","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EACL,YAAY,EAGZ,cAAc,EACd,qBAAqB,EAGrB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EAGX,aAAa,EACb,UAAU,EAGX,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAEhD,oBAAY,qBAAqB,GAC7B,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,uBAAuB,GACvB,gBAAgB,GAChB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,yBACf,SAAQ,cAAc,EACpB,qBAAqB,EACrB,YAAY,CAAC,qBAAqB,CAAC,EACnC,IAAI,CACF,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,EACvC,OAAO,GAAG,cAAc,GAAG,aAAa,GAAG,MAAM,CAClD;IACH,kDAAkD;IAClD,YAAY,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAErD,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,uGAAuG;IACvG,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,oEAAoE;IACpE,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,iBAAiB;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,iDAAiD;IACjD,YAAY,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAEnC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,GAAG,EAAE,CAAC;IAE7B,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iDAAiD;IACjD,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePickerBase.d.ts","sourceRoot":"","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EACL,YAAY,EAGZ,cAAc,EACd,qBAAqB,EAGrB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EAGX,aAAa,EACb,UAAU,EAGX,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAEhD,oBAAY,qBAAqB,GAC7B,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,uBAAuB,GACvB,gBAAgB,GAChB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,yBACf,SAAQ,cAAc,EACpB,qBAAqB,EACrB,YAAY,CAAC,qBAAqB,CAAC,EACnC,IAAI,CACF,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,EACvC,OAAO,GAAG,cAAc,GAAG,aAAa,GAAG,MAAM,CAClD;IACH,kDAAkD;IAClD,YAAY,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAErD,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAE/B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,uGAAuG;IACvG,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,oEAAoE;IACpE,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wDAAwD;IACxD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,iBAAiB;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,iDAAiD;IACjD,YAAY,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAEnC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,GAAG,EAAE,CAAC;IAE7B,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iDAAiD;IACjD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iCAAiC;IACjC,cAAc,CAAC,IAAI,IAAI,CAAC;IAExB,kCAAkC;IAClC,eAAe,CAAC,IAAI,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,yBAAyB;IACpE,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qCAAqC;IACrC,cAAc,EAAE,OAAO,CAAC;IAExB,gDAAgD;IAChD,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEzC,0CAA0C;IAC1C,OAAO,IAAI,IAAI,CAAC;IAEhB,uBAAuB;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAUD,eAAO,MAAM,cAAc,8FAsN1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAkB,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;IACpF,oDAAoD;IACpD,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAEnC,qCAAqC;IACrC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnD,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAE1C,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,6CAA6C;IAC7C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAQD,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAkB,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;IACpF,oDAAoD;IACpD,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAEnC,qCAAqC;IACrC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnD,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAE1C,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,6CAA6C;IAC7C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAQD,eAAO,MAAM,eAAe,gGA2I3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/dates",
|
|
3
3
|
"description": "Calendars, date and time pickers based on Mantine components",
|
|
4
|
-
"version": "3.6.
|
|
4
|
+
"version": "3.6.10",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"author": "Vitaly Rtishchev <rtivital@gmail.com>",
|
|
10
10
|
"homepage": "https://mantine.dev/dates/getting-started/",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"react",
|
|
13
|
+
"next",
|
|
14
|
+
"nextjs",
|
|
15
|
+
"ui",
|
|
16
|
+
"components",
|
|
17
|
+
"ui-kit",
|
|
18
|
+
"library",
|
|
19
|
+
"frontend",
|
|
20
|
+
"calendar",
|
|
21
|
+
"date",
|
|
22
|
+
"time",
|
|
23
|
+
"picker"
|
|
24
|
+
],
|
|
11
25
|
"peerDependencies": {
|
|
12
|
-
"@mantine/core": "3.6.
|
|
13
|
-
"@mantine/hooks": "3.6.
|
|
26
|
+
"@mantine/core": "3.6.10",
|
|
27
|
+
"@mantine/hooks": "3.6.10",
|
|
14
28
|
"dayjs": "^1.10.5",
|
|
15
29
|
"react": ">=16.8.0"
|
|
16
30
|
},
|