@mantine/dates 6.0.16 → 6.0.17
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/DateInput/DateInput.js +3 -3
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePickerInput/DatePickerInput.js +7 -4
- package/cjs/components/DatePickerInput/DatePickerInput.js.map +1 -1
- package/esm/components/DateInput/DateInput.js +3 -3
- package/esm/components/DateInput/DateInput.js.map +1 -1
- package/esm/components/DatePickerInput/DatePickerInput.js +7 -4
- package/esm/components/DatePickerInput/DatePickerInput.js.map +1 -1
- package/lib/components/DateInput/DateInput.d.ts +1 -1
- package/lib/components/DateInput/DateInput.d.ts.map +1 -1
- package/lib/components/DatePickerInput/DatePickerInput.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -127,7 +127,7 @@ const DateInput = React.forwardRef((props, ref) => {
|
|
|
127
127
|
return Number.isNaN(parsedDate.getTime()) ? dateStringParser.dateStringParser(val) : parsedDate;
|
|
128
128
|
};
|
|
129
129
|
const _dateParser = dateParser || defaultDateParser;
|
|
130
|
-
const _allowDeselect =
|
|
130
|
+
const _allowDeselect = allowDeselect !== void 0 ? allowDeselect : clearable;
|
|
131
131
|
const formatValue = (val) => val ? dayjs__default(val).locale(ctx.getLocale(locale)).format(valueFormat) : "";
|
|
132
132
|
const [_value, setValue, controlled] = hooks.useUncontrolled({
|
|
133
133
|
value,
|
|
@@ -154,7 +154,7 @@ const DateInput = React.forwardRef((props, ref) => {
|
|
|
154
154
|
const handleInputChange = (event) => {
|
|
155
155
|
const val = event.currentTarget.value;
|
|
156
156
|
setInputValue(val);
|
|
157
|
-
if (val.trim() === "" &&
|
|
157
|
+
if (val.trim() === "" && clearable) {
|
|
158
158
|
setValue(null);
|
|
159
159
|
} else {
|
|
160
160
|
const dateValue = _dateParser(val);
|
|
@@ -181,7 +181,7 @@ const DateInput = React.forwardRef((props, ref) => {
|
|
|
181
181
|
selected: dayjs__default(_value).isSame(day, "day"),
|
|
182
182
|
onClick: () => {
|
|
183
183
|
const valueWithTime = preserveTime ? assignTime.assignTime(_value, day) : day;
|
|
184
|
-
const val = _allowDeselect ? dayjs__default(_value).isSame(day, "day") ? null : valueWithTime : valueWithTime;
|
|
184
|
+
const val = clearable && _allowDeselect ? dayjs__default(_value).isSame(day, "day") ? null : valueWithTime : valueWithTime;
|
|
185
185
|
setValue(val);
|
|
186
186
|
!controlled && setInputValue(formatValue(val));
|
|
187
187
|
setDropdownOpened(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.js","sources":["../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { forwardRef, useState, useEffect } from 'react';\nimport {\n DefaultProps,\n InputSharedProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n useInputProps,\n Input,\n PopoverProps,\n Popover,\n CloseButton,\n} from '@mantine/core';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { Calendar, CalendarBaseProps, CalendarStylesNames, pickCalendarProps } from '../Calendar';\nimport { DecadeLevelSettings } from '../DecadeLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { HiddenDatesInput } from '../HiddenDatesInput';\nimport { assignTime } from '../../utils';\nimport { DateValue, CalendarLevel } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { isDateValid } from './is-date-valid/is-date-valid';\nimport { dateStringParser } from './date-string-parser/date-string-parser';\n\nexport type DateInputStylesNames = CalendarStylesNames | InputStylesNames | InputWrapperStylesNames;\n\nexport interface DateInputProps\n extends DefaultProps<DateInputStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n CalendarBaseProps,\n DecadeLevelSettings,\n YearLevelSettings,\n MonthLevelSettings,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Parses user input to convert it to Date object */\n dateParser?: (value: string) => Date | null;\n\n /** Value for controlled component */\n value?: DateValue;\n\n /** Default value for uncontrolled component */\n defaultValue?: DateValue;\n\n /** Called when value changes */\n onChange?(value: DateValue): void;\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n\n /** Determines whether input value should be reverted to last known valid value on blur, true by default */\n fixOnBlur?: boolean;\n\n /** Determines whether value can be deselected when the user clicks on the selected date in the calendar or erases content of the input, true if clearable prop is set, false by default */\n allowDeselect?: boolean;\n\n /** Determines whether time (hours, minutes, seconds and milliseconds) should be preserved when new date is picked, true by default */\n preserveTime?: boolean;\n\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nconst defaultProps: Partial<DateInputProps> = {\n valueFormat: 'MMMM D, YYYY',\n fixOnBlur: true,\n preserveTime: true,\n size: 'sm',\n};\n\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n preserveTime,\n date,\n defaultDate,\n onDateChange,\n ...rest\n } = useInputProps('DateInput', defaultProps, props);\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val: string) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : parsedDate;\n };\n\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = clearable || allowDeselect;\n\n const formatValue = (val: Date) =>\n val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : '';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultValue || defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n useEffect(() => {\n if (controlled) {\n setDate(value);\n }\n }, [controlled, value]);\n\n const [inputValue, setInputValue] = useState(formatValue(_value));\n\n useEffect(() => {\n setInputValue(formatValue(_value));\n }, [ctx.getLocale(locale)]);\n\n const [dropdownOpened, setDropdownOpened] = useState(false);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n\n if (val.trim() === '' && _allowDeselect) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (isDateValid({ date: dateValue, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value));\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n const _getDayProps = (day: Date) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value).isSame(day, 'day'),\n onClick: () => {\n const valueWithTime = preserveTime ? assignTime(_value, day) : day;\n const val = _allowDeselect\n ? dayjs(_value).isSame(day, 'day')\n ? null\n : valueWithTime\n : valueWithTime;\n setValue(val);\n !controlled && setInputValue(formatValue(val));\n setDropdownOpened(false);\n },\n });\n\n const _rightSection =\n rightSection ||\n (clearable && _value && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n onClick={() => {\n setValue(null);\n !controlled && setInputValue('');\n setDropdownOpened(false);\n }}\n unstyled={unstyled}\n {...clearButtonProps}\n />\n ) : null);\n\n useDidUpdate(() => {\n value !== undefined && !dropdownOpened && setInputValue(formatValue(value));\n }, [value]);\n\n return (\n <>\n <Input.Wrapper {...wrapperProps} __staticSelector=\"DateInput\">\n <Popover\n opened={dropdownOpened}\n trapFocus={false}\n position=\"bottom-start\"\n disabled={readOnly}\n withRoles={false}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n autoComplete=\"off\"\n ref={ref}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onClick={handleInputClick}\n readOnly={readOnly}\n rightSection={_rightSection}\n {...inputProps}\n {...others}\n __staticSelector=\"DateInput\"\n />\n </Popover.Target>\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} data-dates-dropdown>\n <Calendar\n __staticSelector=\"DateInput\"\n {...calendarProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __preventFocus\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n getDayProps={_getDayProps}\n size={inputProps.size}\n date={_date}\n onDateChange={setDate}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput name={name} form={form} value={_value} type=\"default\" />\n </>\n );\n});\n\nDateInput.displayName = '@mantine/dates/DateInput';\n"],"names":["forwardRef","useInputProps","pickCalendarProps","useDatesContext","dayjs","dateStringParser","useUncontrolled","useEffect","useState","isDateValid","assignTime","React","CloseButton","useDidUpdate","Input","Popover","Calendar","HiddenDatesInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateInput.js","sources":["../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { forwardRef, useState, useEffect } from 'react';\nimport {\n DefaultProps,\n InputSharedProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n useInputProps,\n Input,\n PopoverProps,\n Popover,\n CloseButton,\n} from '@mantine/core';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { Calendar, CalendarBaseProps, CalendarStylesNames, pickCalendarProps } from '../Calendar';\nimport { DecadeLevelSettings } from '../DecadeLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { HiddenDatesInput } from '../HiddenDatesInput';\nimport { assignTime } from '../../utils';\nimport { DateValue, CalendarLevel } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { isDateValid } from './is-date-valid/is-date-valid';\nimport { dateStringParser } from './date-string-parser/date-string-parser';\n\nexport type DateInputStylesNames = CalendarStylesNames | InputStylesNames | InputWrapperStylesNames;\n\nexport interface DateInputProps\n extends DefaultProps<DateInputStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n CalendarBaseProps,\n DecadeLevelSettings,\n YearLevelSettings,\n MonthLevelSettings,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Parses user input to convert it to Date object */\n dateParser?: (value: string) => Date | null;\n\n /** Value for controlled component */\n value?: DateValue;\n\n /** Default value for uncontrolled component */\n defaultValue?: DateValue;\n\n /** Called when value changes */\n onChange?(value: DateValue): void;\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n\n /** Determines whether input value should be reverted to last known valid value on blur, true by default */\n fixOnBlur?: boolean;\n\n /** Determines whether value can be deselected when the user clicks on the selected date in the calendar (only when clearable prop is set), defaults to true if clearable prop is set, false otherwise */\n allowDeselect?: boolean;\n\n /** Determines whether time (hours, minutes, seconds and milliseconds) should be preserved when new date is picked, true by default */\n preserveTime?: boolean;\n\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nconst defaultProps: Partial<DateInputProps> = {\n valueFormat: 'MMMM D, YYYY',\n fixOnBlur: true,\n preserveTime: true,\n size: 'sm',\n};\n\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n preserveTime,\n date,\n defaultDate,\n onDateChange,\n ...rest\n } = useInputProps('DateInput', defaultProps, props);\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val: string) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : parsedDate;\n };\n\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = allowDeselect !== undefined ? allowDeselect : clearable;\n\n const formatValue = (val: Date) =>\n val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : '';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultValue || defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n useEffect(() => {\n if (controlled) {\n setDate(value);\n }\n }, [controlled, value]);\n\n const [inputValue, setInputValue] = useState(formatValue(_value));\n\n useEffect(() => {\n setInputValue(formatValue(_value));\n }, [ctx.getLocale(locale)]);\n\n const [dropdownOpened, setDropdownOpened] = useState(false);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n\n if (val.trim() === '' && clearable) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (isDateValid({ date: dateValue, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value));\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n const _getDayProps = (day: Date) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value).isSame(day, 'day'),\n onClick: () => {\n const valueWithTime = preserveTime ? assignTime(_value, day) : day;\n const val =\n clearable && _allowDeselect\n ? dayjs(_value).isSame(day, 'day')\n ? null\n : valueWithTime\n : valueWithTime;\n setValue(val);\n !controlled && setInputValue(formatValue(val));\n setDropdownOpened(false);\n },\n });\n\n const _rightSection =\n rightSection ||\n (clearable && _value && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n onClick={() => {\n setValue(null);\n !controlled && setInputValue('');\n setDropdownOpened(false);\n }}\n unstyled={unstyled}\n {...clearButtonProps}\n />\n ) : null);\n\n useDidUpdate(() => {\n value !== undefined && !dropdownOpened && setInputValue(formatValue(value));\n }, [value]);\n\n return (\n <>\n <Input.Wrapper {...wrapperProps} __staticSelector=\"DateInput\">\n <Popover\n opened={dropdownOpened}\n trapFocus={false}\n position=\"bottom-start\"\n disabled={readOnly}\n withRoles={false}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n autoComplete=\"off\"\n ref={ref}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onClick={handleInputClick}\n readOnly={readOnly}\n rightSection={_rightSection}\n {...inputProps}\n {...others}\n __staticSelector=\"DateInput\"\n />\n </Popover.Target>\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} data-dates-dropdown>\n <Calendar\n __staticSelector=\"DateInput\"\n {...calendarProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __preventFocus\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n getDayProps={_getDayProps}\n size={inputProps.size}\n date={_date}\n onDateChange={setDate}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput name={name} form={form} value={_value} type=\"default\" />\n </>\n );\n});\n\nDateInput.displayName = '@mantine/dates/DateInput';\n"],"names":["forwardRef","useInputProps","pickCalendarProps","useDatesContext","dayjs","dateStringParser","useUncontrolled","useEffect","useState","isDateValid","assignTime","React","CloseButton","useDidUpdate","Input","Popover","Calendar","HiddenDatesInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAgBF,MAAM,YAAY,GAAG;AACrB,EAAE,WAAW,EAAE,cAAc;AAC7B,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,IAAI,EAAE,IAAI;AACZ,CAAC,CAAC;AACU,MAAC,SAAS,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACpD,EAAE,MAAM,EAAE,GAAGC,kBAAa,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC9D,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,IAAI;AACR,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE;AAC/B,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAGC,yCAAiB,CAAC,IAAI,CAAC,CAAC;AAC5D,EAAE,MAAM,GAAG,GAAGC,+BAAe,EAAE,CAAC;AAChC,EAAE,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;AACrC,IAAI,MAAM,UAAU,GAAGC,cAAK,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/E,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,GAAGC,iCAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AACnF,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,UAAU,IAAI,iBAAiB,CAAC;AACtD,EAAE,MAAM,cAAc,GAAG,aAAa,KAAK,KAAK,CAAC,GAAG,aAAa,GAAG,SAAS,CAAC;AAC9E,EAAE,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,GAAG,GAAGD,cAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AACvG,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAGE,qBAAe,CAAC;AACzD,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAGA,qBAAe,CAAC;AAC3C,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,YAAY,EAAE,YAAY,IAAI,WAAW;AAC7C,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,YAAY;AAC1B,GAAG,CAAC,CAAC;AACL,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;AACrB,KAAK;AACL,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1B,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGC,cAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACpE,EAAED,eAAS,CAAC,MAAM;AAClB,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,EAAE,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACvC,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AAC1C,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AACvB,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE;AACxC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,KAAK,MAAM;AACX,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AACzC,MAAM,IAAIC,uBAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;AAC9D,QAAQ,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5B,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3B,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5C,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,IAAI,SAAS,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;AACnH,IAAI,QAAQ,EAAEL,cAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;AAC9C,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,MAAM,aAAa,GAAG,YAAY,GAAGM,qBAAU,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AACzE,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,cAAc,GAAGN,cAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC;AACxH,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC/B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,aAAa,GAAG,YAAY,KAAK,SAAS,IAAI,MAAM,IAAI,CAAC,QAAQ,mBAAmBO,cAAK,CAAC,aAAa,CAACC,gBAAW,EAAE,cAAc,CAAC;AAC5I,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,EAAE;AAClD,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;AACvC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC/B,KAAK;AACL,IAAI,QAAQ;AACZ,GAAG,EAAE,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAChC,EAAEC,kBAAY,CAAC,MAAM;AACrB,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,EAAE,uBAAuBF,cAAK,CAAC,aAAa,CAACA,cAAK,CAAC,QAAQ,EAAE,IAAI,kBAAkBA,cAAK,CAAC,aAAa,CAACG,UAAK,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE;AACtK,IAAI,gBAAgB,EAAE,WAAW;AACjC,GAAG,CAAC,kBAAkBH,cAAK,CAAC,aAAa,CAACI,YAAO,EAAE,cAAc,CAAC;AAClE,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,SAAS,EAAE,KAAK;AACpB,GAAG,EAAE,YAAY,CAAC,kBAAkBJ,cAAK,CAAC,aAAa,CAACI,YAAO,CAAC,MAAM,EAAE,IAAI,kBAAkBJ,cAAK,CAAC,aAAa,CAACG,UAAK,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;AACrK,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,gBAAgB,EAAE,QAAQ,IAAI,KAAK,CAAC;AACxC,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,GAAG;AACP,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,QAAQ;AACZ,IAAI,YAAY,EAAE,aAAa;AAC/B,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE;AAC3B,IAAI,gBAAgB,EAAE,WAAW;AACjC,GAAG,CAAC,CAAC,CAAC,kBAAkBH,cAAK,CAAC,aAAa,CAACI,YAAO,CAAC,QAAQ,EAAE;AAC9D,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,EAAE;AAClD,IAAI,qBAAqB,EAAE,IAAI;AAC/B,GAAG,kBAAkBJ,cAAK,CAAC,aAAa,CAACK,iBAAQ,EAAE,aAAa,CAAC,cAAc,CAAC;AAChF,IAAI,gBAAgB,EAAE,WAAW;AACjC,GAAG,EAAE,aAAa,CAAC,EAAE;AACrB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,cAAc,EAAE,IAAI;AACxB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,YAAY,EAAE,OAAO;AACzB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkBL,cAAK,CAAC,aAAa,CAACM,iCAAgB,EAAE;AAChE,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,IAAI,EAAE,SAAS;AACnB,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,SAAS,CAAC,WAAW,GAAG,0BAA0B;;;;"}
|
|
@@ -6,9 +6,9 @@ var React = require('react');
|
|
|
6
6
|
var core = require('@mantine/core');
|
|
7
7
|
var pickCalendarLevelsProps = require('../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js');
|
|
8
8
|
var useDatesInput = require('../../hooks/use-dates-input/use-dates-input.js');
|
|
9
|
+
var getDefaultClampedDate = require('../../utils/get-default-clamped-date.js');
|
|
9
10
|
var PickerInputBase = require('../PickerInputBase/PickerInputBase.js');
|
|
10
11
|
var DatePicker = require('../DatePicker/DatePicker.js');
|
|
11
|
-
var getDefaultClampedDate = require('../../utils/get-default-clamped-date.js');
|
|
12
12
|
|
|
13
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
|
|
14
14
|
|
|
@@ -70,7 +70,8 @@ const DatePickerInput = React.forwardRef((props, ref) => {
|
|
|
70
70
|
dropdownType,
|
|
71
71
|
sortDates,
|
|
72
72
|
maxDate,
|
|
73
|
-
minDate
|
|
73
|
+
minDate,
|
|
74
|
+
defaultDate: _defaultDate
|
|
74
75
|
} = _a, rest = __objRest(_a, [
|
|
75
76
|
"type",
|
|
76
77
|
"value",
|
|
@@ -88,7 +89,8 @@ const DatePickerInput = React.forwardRef((props, ref) => {
|
|
|
88
89
|
"dropdownType",
|
|
89
90
|
"sortDates",
|
|
90
91
|
"maxDate",
|
|
91
|
-
"minDate"
|
|
92
|
+
"minDate",
|
|
93
|
+
"defaultDate"
|
|
92
94
|
]);
|
|
93
95
|
const { calendarProps, others } = pickCalendarLevelsProps.pickCalendarProps(rest);
|
|
94
96
|
const {
|
|
@@ -110,6 +112,7 @@ const DatePickerInput = React.forwardRef((props, ref) => {
|
|
|
110
112
|
closeOnChange,
|
|
111
113
|
sortDates
|
|
112
114
|
});
|
|
115
|
+
const defaultDate = _defaultDate || (Array.isArray(_value) ? _value[0] || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate }) : _value || getDefaultClampedDate.getDefaultClampedDate({ maxDate, minDate }));
|
|
113
116
|
return /* @__PURE__ */ React__default.createElement(PickerInputBase.PickerInputBase, __spreadValues({
|
|
114
117
|
formattedValue,
|
|
115
118
|
dropdownOpened,
|
|
@@ -131,7 +134,7 @@ const DatePickerInput = React.forwardRef((props, ref) => {
|
|
|
131
134
|
variant,
|
|
132
135
|
type,
|
|
133
136
|
value: _value,
|
|
134
|
-
defaultDate
|
|
137
|
+
defaultDate,
|
|
135
138
|
onChange: setValue,
|
|
136
139
|
locale,
|
|
137
140
|
classNames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerInput.js","sources":["../../../src/components/DatePickerInput/DatePickerInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { useDatesInput } from '../../hooks';\nimport { pickCalendarProps } from '../Calendar';\nimport { DatePicker, DatePickerBaseProps } from '../DatePicker';\nimport { DatePickerType } from '../../types';\nimport { getDefaultClampedDate } from '../../utils';\nimport {\n PickerInputBase,\n DateInputSharedProps,\n PickerInputBaseStylesNames,\n} from '../PickerInputBase';\n\nexport type DatePickerInputStylesNames = PickerInputBaseStylesNames;\n\nexport interface DatePickerInputProps<Type extends DatePickerType = 'default'>\n extends DateInputSharedProps,\n DatePickerBaseProps<Type> {\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n}\n\ntype DatePickerInputComponent = (<Type extends DatePickerType = 'default'>(\n props: DatePickerInputProps<Type>\n) => JSX.Element) & { displayName?: string };\n\nconst defaultProps: Partial<DatePickerInputProps> = {\n type: 'default',\n valueFormat: 'MMMM D, YYYY',\n closeOnChange: true,\n sortDates: true,\n dropdownType: 'popover',\n};\n\nexport const DatePickerInput: DatePickerInputComponent = forwardRef((props, ref) => {\n const {\n type,\n value,\n defaultValue,\n onChange,\n valueFormat,\n labelSeparator,\n locale,\n classNames,\n styles,\n unstyled,\n closeOnChange,\n size,\n variant,\n dropdownType,\n sortDates,\n maxDate,\n minDate,\n ...rest\n } = useComponentDefaultProps('DatePickerInput', defaultProps, props);\n\n const { calendarProps, others } = pickCalendarProps(rest);\n\n const {\n _value,\n setValue,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClear,\n shouldClear,\n } = useDatesInput({\n type,\n value,\n defaultValue,\n onChange,\n locale,\n format: valueFormat,\n labelSeparator,\n closeOnChange,\n sortDates,\n });\n\n return (\n <PickerInputBase\n formattedValue={formattedValue}\n dropdownOpened={dropdownOpened}\n dropdownHandlers={dropdownHandlers}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector=\"DatePickerInput\"\n ref={ref}\n onClear={onClear}\n shouldClear={shouldClear}\n value={_value}\n type={type}\n size={size}\n variant={variant}\n dropdownType={dropdownType}\n {...others}\n >\n <DatePicker\n {...calendarProps}\n size={size}\n variant={variant}\n type={type}\n value={_value}\n defaultDate={
|
|
1
|
+
{"version":3,"file":"DatePickerInput.js","sources":["../../../src/components/DatePickerInput/DatePickerInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { useDatesInput } from '../../hooks';\nimport { pickCalendarProps } from '../Calendar';\nimport { DatePicker, DatePickerBaseProps } from '../DatePicker';\nimport { DatePickerType } from '../../types';\nimport { getDefaultClampedDate } from '../../utils';\nimport {\n PickerInputBase,\n DateInputSharedProps,\n PickerInputBaseStylesNames,\n} from '../PickerInputBase';\n\nexport type DatePickerInputStylesNames = PickerInputBaseStylesNames;\n\nexport interface DatePickerInputProps<Type extends DatePickerType = 'default'>\n extends DateInputSharedProps,\n DatePickerBaseProps<Type> {\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n}\n\ntype DatePickerInputComponent = (<Type extends DatePickerType = 'default'>(\n props: DatePickerInputProps<Type>\n) => JSX.Element) & { displayName?: string };\n\nconst defaultProps: Partial<DatePickerInputProps> = {\n type: 'default',\n valueFormat: 'MMMM D, YYYY',\n closeOnChange: true,\n sortDates: true,\n dropdownType: 'popover',\n};\n\nexport const DatePickerInput: DatePickerInputComponent = forwardRef((props, ref) => {\n const {\n type,\n value,\n defaultValue,\n onChange,\n valueFormat,\n labelSeparator,\n locale,\n classNames,\n styles,\n unstyled,\n closeOnChange,\n size,\n variant,\n dropdownType,\n sortDates,\n maxDate,\n minDate,\n defaultDate: _defaultDate,\n ...rest\n } = useComponentDefaultProps('DatePickerInput', defaultProps, props);\n\n const { calendarProps, others } = pickCalendarProps(rest);\n\n const {\n _value,\n setValue,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClear,\n shouldClear,\n } = useDatesInput({\n type,\n value,\n defaultValue,\n onChange,\n locale,\n format: valueFormat,\n labelSeparator,\n closeOnChange,\n sortDates,\n });\n\n const defaultDate =\n _defaultDate ||\n (Array.isArray(_value)\n ? _value[0] || getDefaultClampedDate({ maxDate, minDate })\n : _value || getDefaultClampedDate({ maxDate, minDate }));\n\n return (\n <PickerInputBase\n formattedValue={formattedValue}\n dropdownOpened={dropdownOpened}\n dropdownHandlers={dropdownHandlers}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector=\"DatePickerInput\"\n ref={ref}\n onClear={onClear}\n shouldClear={shouldClear}\n value={_value}\n type={type}\n size={size}\n variant={variant}\n dropdownType={dropdownType}\n {...others}\n >\n <DatePicker\n {...calendarProps}\n size={size}\n variant={variant}\n type={type}\n value={_value}\n defaultDate={defaultDate}\n onChange={setValue}\n locale={locale}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector=\"DatePickerInput\"\n __stopPropagation={dropdownType === 'popover'}\n maxDate={maxDate}\n minDate={minDate}\n />\n </PickerInputBase>\n );\n});\n\nDatePickerInput.displayName = '@mantine/dates/DatePickerInput';\n"],"names":["forwardRef","useComponentDefaultProps","pickCalendarProps","useDatesInput","getDefaultClampedDate","React","PickerInputBase","DatePicker"],"mappings":"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"}
|
|
@@ -118,7 +118,7 @@ const DateInput = forwardRef((props, ref) => {
|
|
|
118
118
|
return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : parsedDate;
|
|
119
119
|
};
|
|
120
120
|
const _dateParser = dateParser || defaultDateParser;
|
|
121
|
-
const _allowDeselect =
|
|
121
|
+
const _allowDeselect = allowDeselect !== void 0 ? allowDeselect : clearable;
|
|
122
122
|
const formatValue = (val) => val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : "";
|
|
123
123
|
const [_value, setValue, controlled] = useUncontrolled({
|
|
124
124
|
value,
|
|
@@ -145,7 +145,7 @@ const DateInput = forwardRef((props, ref) => {
|
|
|
145
145
|
const handleInputChange = (event) => {
|
|
146
146
|
const val = event.currentTarget.value;
|
|
147
147
|
setInputValue(val);
|
|
148
|
-
if (val.trim() === "" &&
|
|
148
|
+
if (val.trim() === "" && clearable) {
|
|
149
149
|
setValue(null);
|
|
150
150
|
} else {
|
|
151
151
|
const dateValue = _dateParser(val);
|
|
@@ -172,7 +172,7 @@ const DateInput = forwardRef((props, ref) => {
|
|
|
172
172
|
selected: dayjs(_value).isSame(day, "day"),
|
|
173
173
|
onClick: () => {
|
|
174
174
|
const valueWithTime = preserveTime ? assignTime(_value, day) : day;
|
|
175
|
-
const val = _allowDeselect ? dayjs(_value).isSame(day, "day") ? null : valueWithTime : valueWithTime;
|
|
175
|
+
const val = clearable && _allowDeselect ? dayjs(_value).isSame(day, "day") ? null : valueWithTime : valueWithTime;
|
|
176
176
|
setValue(val);
|
|
177
177
|
!controlled && setInputValue(formatValue(val));
|
|
178
178
|
setDropdownOpened(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.js","sources":["../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { forwardRef, useState, useEffect } from 'react';\nimport {\n DefaultProps,\n InputSharedProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n useInputProps,\n Input,\n PopoverProps,\n Popover,\n CloseButton,\n} from '@mantine/core';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { Calendar, CalendarBaseProps, CalendarStylesNames, pickCalendarProps } from '../Calendar';\nimport { DecadeLevelSettings } from '../DecadeLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { HiddenDatesInput } from '../HiddenDatesInput';\nimport { assignTime } from '../../utils';\nimport { DateValue, CalendarLevel } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { isDateValid } from './is-date-valid/is-date-valid';\nimport { dateStringParser } from './date-string-parser/date-string-parser';\n\nexport type DateInputStylesNames = CalendarStylesNames | InputStylesNames | InputWrapperStylesNames;\n\nexport interface DateInputProps\n extends DefaultProps<DateInputStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n CalendarBaseProps,\n DecadeLevelSettings,\n YearLevelSettings,\n MonthLevelSettings,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Parses user input to convert it to Date object */\n dateParser?: (value: string) => Date | null;\n\n /** Value for controlled component */\n value?: DateValue;\n\n /** Default value for uncontrolled component */\n defaultValue?: DateValue;\n\n /** Called when value changes */\n onChange?(value: DateValue): void;\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n\n /** Determines whether input value should be reverted to last known valid value on blur, true by default */\n fixOnBlur?: boolean;\n\n /** Determines whether value can be deselected when the user clicks on the selected date in the calendar or erases content of the input, true if clearable prop is set, false by default */\n allowDeselect?: boolean;\n\n /** Determines whether time (hours, minutes, seconds and milliseconds) should be preserved when new date is picked, true by default */\n preserveTime?: boolean;\n\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nconst defaultProps: Partial<DateInputProps> = {\n valueFormat: 'MMMM D, YYYY',\n fixOnBlur: true,\n preserveTime: true,\n size: 'sm',\n};\n\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n preserveTime,\n date,\n defaultDate,\n onDateChange,\n ...rest\n } = useInputProps('DateInput', defaultProps, props);\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val: string) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : parsedDate;\n };\n\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = clearable || allowDeselect;\n\n const formatValue = (val: Date) =>\n val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : '';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultValue || defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n useEffect(() => {\n if (controlled) {\n setDate(value);\n }\n }, [controlled, value]);\n\n const [inputValue, setInputValue] = useState(formatValue(_value));\n\n useEffect(() => {\n setInputValue(formatValue(_value));\n }, [ctx.getLocale(locale)]);\n\n const [dropdownOpened, setDropdownOpened] = useState(false);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n\n if (val.trim() === '' && _allowDeselect) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (isDateValid({ date: dateValue, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value));\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n const _getDayProps = (day: Date) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value).isSame(day, 'day'),\n onClick: () => {\n const valueWithTime = preserveTime ? assignTime(_value, day) : day;\n const val = _allowDeselect\n ? dayjs(_value).isSame(day, 'day')\n ? null\n : valueWithTime\n : valueWithTime;\n setValue(val);\n !controlled && setInputValue(formatValue(val));\n setDropdownOpened(false);\n },\n });\n\n const _rightSection =\n rightSection ||\n (clearable && _value && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n onClick={() => {\n setValue(null);\n !controlled && setInputValue('');\n setDropdownOpened(false);\n }}\n unstyled={unstyled}\n {...clearButtonProps}\n />\n ) : null);\n\n useDidUpdate(() => {\n value !== undefined && !dropdownOpened && setInputValue(formatValue(value));\n }, [value]);\n\n return (\n <>\n <Input.Wrapper {...wrapperProps} __staticSelector=\"DateInput\">\n <Popover\n opened={dropdownOpened}\n trapFocus={false}\n position=\"bottom-start\"\n disabled={readOnly}\n withRoles={false}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n autoComplete=\"off\"\n ref={ref}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onClick={handleInputClick}\n readOnly={readOnly}\n rightSection={_rightSection}\n {...inputProps}\n {...others}\n __staticSelector=\"DateInput\"\n />\n </Popover.Target>\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} data-dates-dropdown>\n <Calendar\n __staticSelector=\"DateInput\"\n {...calendarProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __preventFocus\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n getDayProps={_getDayProps}\n size={inputProps.size}\n date={_date}\n onDateChange={setDate}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput name={name} form={form} value={_value} type=\"default\" />\n </>\n );\n});\n\nDateInput.displayName = '@mantine/dates/DateInput';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateInput.js","sources":["../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { forwardRef, useState, useEffect } from 'react';\nimport {\n DefaultProps,\n InputSharedProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n useInputProps,\n Input,\n PopoverProps,\n Popover,\n CloseButton,\n} from '@mantine/core';\nimport { useUncontrolled, useDidUpdate } from '@mantine/hooks';\nimport { Calendar, CalendarBaseProps, CalendarStylesNames, pickCalendarProps } from '../Calendar';\nimport { DecadeLevelSettings } from '../DecadeLevel';\nimport { YearLevelSettings } from '../YearLevel';\nimport { MonthLevelSettings } from '../MonthLevel';\nimport { HiddenDatesInput } from '../HiddenDatesInput';\nimport { assignTime } from '../../utils';\nimport { DateValue, CalendarLevel } from '../../types';\nimport { useDatesContext } from '../DatesProvider';\nimport { isDateValid } from './is-date-valid/is-date-valid';\nimport { dateStringParser } from './date-string-parser/date-string-parser';\n\nexport type DateInputStylesNames = CalendarStylesNames | InputStylesNames | InputWrapperStylesNames;\n\nexport interface DateInputProps\n extends DefaultProps<DateInputStylesNames>,\n InputSharedProps,\n InputWrapperBaseProps,\n CalendarBaseProps,\n DecadeLevelSettings,\n YearLevelSettings,\n MonthLevelSettings,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'value' | 'defaultValue' | 'onChange'> {\n /** Parses user input to convert it to Date object */\n dateParser?: (value: string) => Date | null;\n\n /** Value for controlled component */\n value?: DateValue;\n\n /** Default value for uncontrolled component */\n defaultValue?: DateValue;\n\n /** Called when value changes */\n onChange?(value: DateValue): void;\n\n /** Props added to Popover component */\n popoverProps?: Partial<Omit<PopoverProps, 'children'>>;\n\n /** Determines whether input value can be cleared, adds clear button to right section, false by default */\n clearable?: boolean;\n\n /** Props added to clear button */\n clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;\n\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n\n /** Determines whether input value should be reverted to last known valid value on blur, true by default */\n fixOnBlur?: boolean;\n\n /** Determines whether value can be deselected when the user clicks on the selected date in the calendar (only when clearable prop is set), defaults to true if clearable prop is set, false otherwise */\n allowDeselect?: boolean;\n\n /** Determines whether time (hours, minutes, seconds and milliseconds) should be preserved when new date is picked, true by default */\n preserveTime?: boolean;\n\n /** Max level that user can go up to (decade, year, month), defaults to decade */\n maxLevel?: CalendarLevel;\n\n /** Initial level displayed to the user (decade, year, month), used for uncontrolled component */\n defaultLevel?: CalendarLevel;\n\n /** Current level displayed to the user (decade, year, month), used for controlled component */\n level?: CalendarLevel;\n\n /** Called when level changes */\n onLevelChange?(level: CalendarLevel): void;\n}\n\nconst defaultProps: Partial<DateInputProps> = {\n valueFormat: 'MMMM D, YYYY',\n fixOnBlur: true,\n preserveTime: true,\n size: 'sm',\n};\n\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>((props, ref) => {\n const {\n inputProps,\n wrapperProps,\n value,\n defaultValue,\n onChange,\n clearable,\n clearButtonProps,\n popoverProps,\n getDayProps,\n locale,\n valueFormat,\n dateParser,\n minDate,\n maxDate,\n fixOnBlur,\n onFocus,\n onBlur,\n onClick,\n readOnly,\n name,\n form,\n rightSection,\n unstyled,\n classNames,\n styles,\n allowDeselect,\n preserveTime,\n date,\n defaultDate,\n onDateChange,\n ...rest\n } = useInputProps('DateInput', defaultProps, props);\n const { calendarProps, others } = pickCalendarProps(rest);\n const ctx = useDatesContext();\n const defaultDateParser = (val: string) => {\n const parsedDate = dayjs(val, valueFormat, ctx.getLocale(locale)).toDate();\n return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val) : parsedDate;\n };\n\n const _dateParser = dateParser || defaultDateParser;\n const _allowDeselect = allowDeselect !== undefined ? allowDeselect : clearable;\n\n const formatValue = (val: Date) =>\n val ? dayjs(val).locale(ctx.getLocale(locale)).format(valueFormat) : '';\n\n const [_value, setValue, controlled] = useUncontrolled({\n value,\n defaultValue,\n finalValue: null,\n onChange,\n });\n\n const [_date, setDate] = useUncontrolled({\n value: date,\n defaultValue: defaultValue || defaultDate,\n finalValue: null,\n onChange: onDateChange,\n });\n\n useEffect(() => {\n if (controlled) {\n setDate(value);\n }\n }, [controlled, value]);\n\n const [inputValue, setInputValue] = useState(formatValue(_value));\n\n useEffect(() => {\n setInputValue(formatValue(_value));\n }, [ctx.getLocale(locale)]);\n\n const [dropdownOpened, setDropdownOpened] = useState(false);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.currentTarget.value;\n setInputValue(val);\n\n if (val.trim() === '' && clearable) {\n setValue(null);\n } else {\n const dateValue = _dateParser(val);\n if (isDateValid({ date: dateValue, minDate, maxDate })) {\n setValue(dateValue);\n setDate(dateValue);\n }\n }\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setDropdownOpened(false);\n fixOnBlur && setInputValue(formatValue(_value));\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n const _getDayProps = (day: Date) => ({\n ...getDayProps?.(day),\n selected: dayjs(_value).isSame(day, 'day'),\n onClick: () => {\n const valueWithTime = preserveTime ? assignTime(_value, day) : day;\n const val =\n clearable && _allowDeselect\n ? dayjs(_value).isSame(day, 'day')\n ? null\n : valueWithTime\n : valueWithTime;\n setValue(val);\n !controlled && setInputValue(formatValue(val));\n setDropdownOpened(false);\n },\n });\n\n const _rightSection =\n rightSection ||\n (clearable && _value && !readOnly ? (\n <CloseButton\n variant=\"transparent\"\n onMouseDown={(event) => event.preventDefault()}\n tabIndex={-1}\n onClick={() => {\n setValue(null);\n !controlled && setInputValue('');\n setDropdownOpened(false);\n }}\n unstyled={unstyled}\n {...clearButtonProps}\n />\n ) : null);\n\n useDidUpdate(() => {\n value !== undefined && !dropdownOpened && setInputValue(formatValue(value));\n }, [value]);\n\n return (\n <>\n <Input.Wrapper {...wrapperProps} __staticSelector=\"DateInput\">\n <Popover\n opened={dropdownOpened}\n trapFocus={false}\n position=\"bottom-start\"\n disabled={readOnly}\n withRoles={false}\n {...popoverProps}\n >\n <Popover.Target>\n <Input\n data-dates-input\n data-read-only={readOnly || undefined}\n autoComplete=\"off\"\n ref={ref}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onClick={handleInputClick}\n readOnly={readOnly}\n rightSection={_rightSection}\n {...inputProps}\n {...others}\n __staticSelector=\"DateInput\"\n />\n </Popover.Target>\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} data-dates-dropdown>\n <Calendar\n __staticSelector=\"DateInput\"\n {...calendarProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __preventFocus\n minDate={minDate}\n maxDate={maxDate}\n locale={locale}\n getDayProps={_getDayProps}\n size={inputProps.size}\n date={_date}\n onDateChange={setDate}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n <HiddenDatesInput name={name} form={form} value={_value} type=\"default\" />\n </>\n );\n});\n\nDateInput.displayName = '@mantine/dates/DateInput';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import React, { forwardRef } from 'react';
|
|
|
2
2
|
import { useComponentDefaultProps } from '@mantine/core';
|
|
3
3
|
import { pickCalendarProps } from '../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.js';
|
|
4
4
|
import { useDatesInput } from '../../hooks/use-dates-input/use-dates-input.js';
|
|
5
|
+
import { getDefaultClampedDate } from '../../utils/get-default-clamped-date.js';
|
|
5
6
|
import { PickerInputBase } from '../PickerInputBase/PickerInputBase.js';
|
|
6
7
|
import { DatePicker } from '../DatePicker/DatePicker.js';
|
|
7
|
-
import { getDefaultClampedDate } from '../../utils/get-default-clamped-date.js';
|
|
8
8
|
|
|
9
9
|
var __defProp = Object.defineProperty;
|
|
10
10
|
var __defProps = Object.defineProperties;
|
|
@@ -62,7 +62,8 @@ const DatePickerInput = forwardRef((props, ref) => {
|
|
|
62
62
|
dropdownType,
|
|
63
63
|
sortDates,
|
|
64
64
|
maxDate,
|
|
65
|
-
minDate
|
|
65
|
+
minDate,
|
|
66
|
+
defaultDate: _defaultDate
|
|
66
67
|
} = _a, rest = __objRest(_a, [
|
|
67
68
|
"type",
|
|
68
69
|
"value",
|
|
@@ -80,7 +81,8 @@ const DatePickerInput = forwardRef((props, ref) => {
|
|
|
80
81
|
"dropdownType",
|
|
81
82
|
"sortDates",
|
|
82
83
|
"maxDate",
|
|
83
|
-
"minDate"
|
|
84
|
+
"minDate",
|
|
85
|
+
"defaultDate"
|
|
84
86
|
]);
|
|
85
87
|
const { calendarProps, others } = pickCalendarProps(rest);
|
|
86
88
|
const {
|
|
@@ -102,6 +104,7 @@ const DatePickerInput = forwardRef((props, ref) => {
|
|
|
102
104
|
closeOnChange,
|
|
103
105
|
sortDates
|
|
104
106
|
});
|
|
107
|
+
const defaultDate = _defaultDate || (Array.isArray(_value) ? _value[0] || getDefaultClampedDate({ maxDate, minDate }) : _value || getDefaultClampedDate({ maxDate, minDate }));
|
|
105
108
|
return /* @__PURE__ */ React.createElement(PickerInputBase, __spreadValues({
|
|
106
109
|
formattedValue,
|
|
107
110
|
dropdownOpened,
|
|
@@ -123,7 +126,7 @@ const DatePickerInput = forwardRef((props, ref) => {
|
|
|
123
126
|
variant,
|
|
124
127
|
type,
|
|
125
128
|
value: _value,
|
|
126
|
-
defaultDate
|
|
129
|
+
defaultDate,
|
|
127
130
|
onChange: setValue,
|
|
128
131
|
locale,
|
|
129
132
|
classNames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerInput.js","sources":["../../../src/components/DatePickerInput/DatePickerInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { useDatesInput } from '../../hooks';\nimport { pickCalendarProps } from '../Calendar';\nimport { DatePicker, DatePickerBaseProps } from '../DatePicker';\nimport { DatePickerType } from '../../types';\nimport { getDefaultClampedDate } from '../../utils';\nimport {\n PickerInputBase,\n DateInputSharedProps,\n PickerInputBaseStylesNames,\n} from '../PickerInputBase';\n\nexport type DatePickerInputStylesNames = PickerInputBaseStylesNames;\n\nexport interface DatePickerInputProps<Type extends DatePickerType = 'default'>\n extends DateInputSharedProps,\n DatePickerBaseProps<Type> {\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n}\n\ntype DatePickerInputComponent = (<Type extends DatePickerType = 'default'>(\n props: DatePickerInputProps<Type>\n) => JSX.Element) & { displayName?: string };\n\nconst defaultProps: Partial<DatePickerInputProps> = {\n type: 'default',\n valueFormat: 'MMMM D, YYYY',\n closeOnChange: true,\n sortDates: true,\n dropdownType: 'popover',\n};\n\nexport const DatePickerInput: DatePickerInputComponent = forwardRef((props, ref) => {\n const {\n type,\n value,\n defaultValue,\n onChange,\n valueFormat,\n labelSeparator,\n locale,\n classNames,\n styles,\n unstyled,\n closeOnChange,\n size,\n variant,\n dropdownType,\n sortDates,\n maxDate,\n minDate,\n ...rest\n } = useComponentDefaultProps('DatePickerInput', defaultProps, props);\n\n const { calendarProps, others } = pickCalendarProps(rest);\n\n const {\n _value,\n setValue,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClear,\n shouldClear,\n } = useDatesInput({\n type,\n value,\n defaultValue,\n onChange,\n locale,\n format: valueFormat,\n labelSeparator,\n closeOnChange,\n sortDates,\n });\n\n return (\n <PickerInputBase\n formattedValue={formattedValue}\n dropdownOpened={dropdownOpened}\n dropdownHandlers={dropdownHandlers}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector=\"DatePickerInput\"\n ref={ref}\n onClear={onClear}\n shouldClear={shouldClear}\n value={_value}\n type={type}\n size={size}\n variant={variant}\n dropdownType={dropdownType}\n {...others}\n >\n <DatePicker\n {...calendarProps}\n size={size}\n variant={variant}\n type={type}\n value={_value}\n defaultDate={
|
|
1
|
+
{"version":3,"file":"DatePickerInput.js","sources":["../../../src/components/DatePickerInput/DatePickerInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { useDatesInput } from '../../hooks';\nimport { pickCalendarProps } from '../Calendar';\nimport { DatePicker, DatePickerBaseProps } from '../DatePicker';\nimport { DatePickerType } from '../../types';\nimport { getDefaultClampedDate } from '../../utils';\nimport {\n PickerInputBase,\n DateInputSharedProps,\n PickerInputBaseStylesNames,\n} from '../PickerInputBase';\n\nexport type DatePickerInputStylesNames = PickerInputBaseStylesNames;\n\nexport interface DatePickerInputProps<Type extends DatePickerType = 'default'>\n extends DateInputSharedProps,\n DatePickerBaseProps<Type> {\n /** Dayjs format to display input value, \"MMMM D, YYYY\" by default */\n valueFormat?: string;\n}\n\ntype DatePickerInputComponent = (<Type extends DatePickerType = 'default'>(\n props: DatePickerInputProps<Type>\n) => JSX.Element) & { displayName?: string };\n\nconst defaultProps: Partial<DatePickerInputProps> = {\n type: 'default',\n valueFormat: 'MMMM D, YYYY',\n closeOnChange: true,\n sortDates: true,\n dropdownType: 'popover',\n};\n\nexport const DatePickerInput: DatePickerInputComponent = forwardRef((props, ref) => {\n const {\n type,\n value,\n defaultValue,\n onChange,\n valueFormat,\n labelSeparator,\n locale,\n classNames,\n styles,\n unstyled,\n closeOnChange,\n size,\n variant,\n dropdownType,\n sortDates,\n maxDate,\n minDate,\n defaultDate: _defaultDate,\n ...rest\n } = useComponentDefaultProps('DatePickerInput', defaultProps, props);\n\n const { calendarProps, others } = pickCalendarProps(rest);\n\n const {\n _value,\n setValue,\n formattedValue,\n dropdownHandlers,\n dropdownOpened,\n onClear,\n shouldClear,\n } = useDatesInput({\n type,\n value,\n defaultValue,\n onChange,\n locale,\n format: valueFormat,\n labelSeparator,\n closeOnChange,\n sortDates,\n });\n\n const defaultDate =\n _defaultDate ||\n (Array.isArray(_value)\n ? _value[0] || getDefaultClampedDate({ maxDate, minDate })\n : _value || getDefaultClampedDate({ maxDate, minDate }));\n\n return (\n <PickerInputBase\n formattedValue={formattedValue}\n dropdownOpened={dropdownOpened}\n dropdownHandlers={dropdownHandlers}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector=\"DatePickerInput\"\n ref={ref}\n onClear={onClear}\n shouldClear={shouldClear}\n value={_value}\n type={type}\n size={size}\n variant={variant}\n dropdownType={dropdownType}\n {...others}\n >\n <DatePicker\n {...calendarProps}\n size={size}\n variant={variant}\n type={type}\n value={_value}\n defaultDate={defaultDate}\n onChange={setValue}\n locale={locale}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector=\"DatePickerInput\"\n __stopPropagation={dropdownType === 'popover'}\n maxDate={maxDate}\n minDate={minDate}\n />\n </PickerInputBase>\n );\n});\n\nDatePickerInput.displayName = '@mantine/dates/DatePickerInput';\n"],"names":[],"mappings":";;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAUF,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,WAAW,EAAE,cAAc;AAC7B,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,YAAY,EAAE,SAAS;AACzB,CAAC,CAAC;AACU,MAAC,eAAe,GAAG,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1D,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC/E,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW,EAAE,YAAY;AAC7B,GAAG,GAAG,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE;AAC/B,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,IAAI,gBAAgB;AACpB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,eAAe;AACnB,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5D,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,WAAW;AACf,GAAG,GAAG,aAAa,CAAC;AACpB,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,SAAS;AACb,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,WAAW,GAAG,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,IAAI,qBAAqB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACjL,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,cAAc,CAAC;AAC7E,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,gBAAgB,EAAE,iBAAiB;AACvC,IAAI,GAAG;AACP,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE;AAC/G,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,WAAW;AACf,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,gBAAgB,EAAE,iBAAiB;AACvC,IAAI,iBAAiB,EAAE,YAAY,KAAK,SAAS;AACjD,IAAI,OAAO;AACX,IAAI,OAAO;AACX,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,EAAE;AACH,eAAe,CAAC,WAAW,GAAG,gCAAgC;;;;"}
|
|
@@ -25,7 +25,7 @@ export interface DateInputProps extends DefaultProps<DateInputStylesNames>, Inpu
|
|
|
25
25
|
valueFormat?: string;
|
|
26
26
|
/** Determines whether input value should be reverted to last known valid value on blur, true by default */
|
|
27
27
|
fixOnBlur?: boolean;
|
|
28
|
-
/** Determines whether value can be deselected when the user clicks on the selected date in the calendar
|
|
28
|
+
/** Determines whether value can be deselected when the user clicks on the selected date in the calendar (only when clearable prop is set), defaults to true if clearable prop is set, false otherwise */
|
|
29
29
|
allowDeselect?: boolean;
|
|
30
30
|
/** Determines whether time (hours, minutes, seconds and milliseconds) should be preserved when new date is picked, true by default */
|
|
31
31
|
preserveTime?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../src/components/DateInput/DateInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EAGvB,YAAY,EAGb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAY,iBAAiB,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAEpG,MAAM,WAAW,cACf,SAAQ,YAAY,CAAC,oBAAoB,CAAC,EACxC,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;IAC/F,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAE5C,qCAAqC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,gCAAgC;IAChC,QAAQ,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAElC,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvD,0GAA0G;IAC1G,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAE5D,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2GAA2G;IAC3G,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,
|
|
1
|
+
{"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../../src/components/DateInput/DateInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EAGvB,YAAY,EAGb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAY,iBAAiB,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAEpG,MAAM,WAAW,cACf,SAAQ,YAAY,CAAC,oBAAoB,CAAC,EACxC,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;IAC/F,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAE5C,qCAAqC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,gCAAgC;IAChC,QAAQ,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAElC,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvD,0GAA0G;IAC1G,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAE5D,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2GAA2G;IAC3G,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yMAAyM;IACzM,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,sIAAsI;IACtI,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,iGAAiG;IACjG,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,+FAA+F;IAC/F,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,gCAAgC;IAChC,aAAa,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CAC5C;AASD,eAAO,MAAM,SAAS,yFAmMpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerInput.d.ts","sourceRoot":"","sources":["../../../src/components/DatePickerInput/DatePickerInput.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAc,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAEL,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAEpE,MAAM,WAAW,oBAAoB,CAAC,IAAI,SAAS,cAAc,GAAG,SAAS,CAC3E,SAAQ,oBAAoB,EAC1B,mBAAmB,CAAC,IAAI,CAAC;IAC3B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,wBAAwB,GAAG,CAAC,CAAC,IAAI,SAAS,cAAc,GAAG,SAAS,EACvE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAC9B,GAAG,CAAC,OAAO,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAU7C,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"DatePickerInput.d.ts","sourceRoot":"","sources":["../../../src/components/DatePickerInput/DatePickerInput.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAc,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAEL,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAEpE,MAAM,WAAW,oBAAoB,CAAC,IAAI,SAAS,cAAc,GAAG,SAAS,CAC3E,SAAQ,oBAAoB,EAC1B,mBAAmB,CAAC,IAAI,CAAC;IAC3B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,wBAAwB,GAAG,CAAC,CAAC,IAAI,SAAS,cAAc,GAAG,SAAS,EACvE,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAC9B,GAAG,CAAC,OAAO,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAU7C,eAAO,MAAM,eAAe,EAAE,wBAyF5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/dates",
|
|
3
3
|
"description": "Calendars, date and time pickers based on Mantine components",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.17",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -29,13 +29,13 @@
|
|
|
29
29
|
"picker"
|
|
30
30
|
],
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@mantine/core": "6.0.
|
|
33
|
-
"@mantine/hooks": "6.0.
|
|
32
|
+
"@mantine/core": "6.0.17",
|
|
33
|
+
"@mantine/hooks": "6.0.17",
|
|
34
34
|
"dayjs": ">=1.0.0",
|
|
35
35
|
"react": ">=16.8.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@mantine/utils": "6.0.
|
|
38
|
+
"@mantine/utils": "6.0.17"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {}
|
|
41
41
|
}
|