UNPKG

@mantine/dates

Version:

Calendars, date and time pickers based on Mantine components

95 lines (94 loc) 2.78 kB
"use client"; import { getDefaultClampedDate } from "../../utils/get-default-clamped-date/get-default-clamped-date.mjs"; import { PickerInputBase } from "../PickerInputBase/PickerInputBase.mjs"; import { useDatesInput } from "../../hooks/use-dates-input/use-dates-input.mjs"; import { pickCalendarProps } from "../Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs"; import { MonthPicker } from "../MonthPicker/MonthPicker.mjs"; import { jsx } from "react/jsx-runtime"; import { factory, useProps, useResolvedStylesApi } from "@mantine/core"; //#region packages/@mantine/dates/src/components/MonthPickerInput/MonthPickerInput.tsx const defaultProps = { type: "default", size: "sm", valueFormat: "MMMM YYYY", closeOnChange: true, sortDates: true, dropdownType: "popover" }; const MonthPickerInput = factory((_props) => { const props = useProps([ "Input", "InputWrapper", "MonthPickerInput" ], defaultProps, _props); const { type, value, defaultValue, onChange, valueFormat, labelSeparator, locale, classNames, styles, unstyled, closeOnChange, size, variant, dropdownType, sortDates, minDate, maxDate, vars, valueFormatter, presets, attributes, ...rest } = props; const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({ classNames, styles, props }); const { calendarProps, others } = pickCalendarProps(rest); const { _value, setValue, formattedValue, dropdownHandlers, dropdownOpened, onClear, shouldClear } = useDatesInput({ type, value, defaultValue, onChange, locale, format: valueFormat, labelSeparator, closeOnChange, sortDates, valueFormatter }); return /* @__PURE__ */ jsx(PickerInputBase, { formattedValue, dropdownOpened, dropdownHandlers, classNames: resolvedClassNames, styles: resolvedStyles, unstyled, onClear, shouldClear, value: _value, size, variant, dropdownType, ...others, attributes, type, __staticSelector: "MonthPickerInput", children: /* @__PURE__ */ jsx(MonthPicker, { ...calendarProps, size, variant, type, value: _value, defaultDate: calendarProps.defaultDate || (Array.isArray(_value) ? _value[0] || getDefaultClampedDate({ maxDate, minDate }) : _value || getDefaultClampedDate({ maxDate, minDate })), onChange: setValue, locale, classNames: resolvedClassNames, styles: resolvedStyles, unstyled, __staticSelector: "MonthPickerInput", __stopPropagation: dropdownType === "popover", minDate, maxDate, presets, attributes }) }); }); MonthPickerInput.classes = { ...PickerInputBase.classes, ...MonthPicker.classes }; MonthPickerInput.displayName = "@mantine/dates/MonthPickerInput"; //#endregion export { MonthPickerInput }; //# sourceMappingURL=MonthPickerInput.mjs.map