Greasy Fork is available in English.

@mantine᜵dates-umd

UMD of @mantine/dates

สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/499641/1458386/%40mantine%E1%9C%B5dates-umd.js

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('dayjs'), require('dayjs/plugin/timezone.js'), require('dayjs/plugin/utc.js'), require('react/jsx-runtime'), require('react'), require('@mantine/core'), require('@mantine/hooks')) :
    typeof define === 'function' && define.amd ? define(['exports', 'dayjs', 'dayjs/plugin/timezone.js', 'dayjs/plugin/utc.js', 'react/jsx-runtime', 'react', '@mantine/core', '@mantine/hooks'], factory) :
    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MantineDates = {}, global.dayjs, global.dayjs_plugin_timezone, global.dayjs_plugin_utc, global.ReactJSXRuntime, global.React, global.MantineCore, global.MantineHooks));
})(this, (function (exports, dayjs26, timezonePlugin, utcPlugin, jsxRuntime, react, core, hooks) { 'use strict';

    /* esm.sh - esbuild bundle(@mantine/dates@7.11.1) es2022 development */
    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/utils/get-formatted-date.mjs
    function defaultDateFormatter({
        type,
        date,
        locale,
        format,
        labelSeparator
    }) {
        const formatDate = (value) => dayjs26(value).locale(locale).format(format);
        if (type === "default") {
            return date === null ? "" : formatDate(date);
        }
        if (type === "multiple") {
            return date.map(formatDate).join(", ");
        }
        if (type === "range" && Array.isArray(date)) {
            if (date[0] && date[1]) {
                return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;
            }
            if (date[0]) {
                return `${formatDate(date[0])} ${labelSeparator} `;
            }
            return "";
        }
        return "";
    }
    function getFormattedDate({ formatter, ...others }) {
        return (formatter || defaultDateFormatter)(others);
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/utils/handle-control-key-down.mjs
    function getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }) {
        switch (direction) {
            case "up":
                if (levelIndex === 0 && rowIndex === 0) {
                    return null;
                }
                if (rowIndex === 0) {
                    return {
                        levelIndex: levelIndex - 1,
                        rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,
                        cellIndex
                    };
                }
                return {
                    levelIndex,
                    rowIndex: rowIndex - 1,
                    cellIndex
                };
            case "down":
                if (rowIndex === size[levelIndex].length - 1) {
                    return {
                        levelIndex: levelIndex + 1,
                        rowIndex: 0,
                        cellIndex
                    };
                }
                if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) {
                    return {
                        levelIndex: levelIndex + 1,
                        rowIndex: 0,
                        cellIndex
                    };
                }
                return {
                    levelIndex,
                    rowIndex: rowIndex + 1,
                    cellIndex
                };
            case "left":
                if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {
                    return null;
                }
                if (rowIndex === 0 && cellIndex === 0) {
                    return {
                        levelIndex: levelIndex - 1,
                        rowIndex: size[levelIndex - 1].length - 1,
                        cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1
                    };
                }
                if (cellIndex === 0) {
                    return {
                        levelIndex,
                        rowIndex: rowIndex - 1,
                        cellIndex: size[levelIndex][rowIndex - 1] - 1
                    };
                }
                return {
                    levelIndex,
                    rowIndex,
                    cellIndex: cellIndex - 1
                };
            case "right":
                if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) {
                    return {
                        levelIndex: levelIndex + 1,
                        rowIndex: 0,
                        cellIndex: 0
                    };
                }
                if (cellIndex === size[levelIndex][rowIndex] - 1) {
                    return {
                        levelIndex,
                        rowIndex: rowIndex + 1,
                        cellIndex: 0
                    };
                }
                return {
                    levelIndex,
                    rowIndex,
                    cellIndex: cellIndex + 1
                };
            default:
                return { levelIndex, rowIndex, cellIndex };
        }
    }
    function focusOnNextFocusableControl({
        controlsRef,
        direction,
        levelIndex,
        rowIndex,
        cellIndex,
        size
    }) {
        const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });
        if (!nextIndex) {
            return;
        }
        const controlToFocus = controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];
        if (!controlToFocus) {
            return;
        }
        if (controlToFocus.disabled || controlToFocus.getAttribute("data-hidden") || controlToFocus.getAttribute("data-outside")) {
            focusOnNextFocusableControl({
                controlsRef,
                direction,
                levelIndex: nextIndex.levelIndex,
                cellIndex: nextIndex.cellIndex,
                rowIndex: nextIndex.rowIndex,
                size
            });
        } else {
            controlToFocus.focus();
        }
    }
    function getDirection(key) {
        switch (key) {
            case "ArrowDown":
                return "down";
            case "ArrowUp":
                return "up";
            case "ArrowRight":
                return "right";
            case "ArrowLeft":
                return "left";
            default:
                return null;
        }
    }
    function getControlsSize(controlsRef) {
        return controlsRef.current?.map((column) => column.map((row) => row.length));
    }
    function handleControlKeyDown({
        controlsRef,
        levelIndex,
        rowIndex,
        cellIndex,
        event
    }) {
        const direction = getDirection(event.key);
        if (direction) {
            event.preventDefault();
            const size = getControlsSize(controlsRef);
            focusOnNextFocusableControl({
                controlsRef,
                direction,
                levelIndex,
                rowIndex,
                cellIndex,
                size
            });
        }
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/utils/assign-time/assign-time.mjs
    function assignTime(originalDate, resultDate) {
        if (!originalDate || !resultDate) {
            return resultDate;
        }
        const hours = originalDate.getHours();
        const minutes = originalDate.getMinutes();
        const seconds = originalDate.getSeconds();
        const ms = originalDate.getMilliseconds();
        const result = new Date(resultDate);
        result.setHours(hours);
        result.setMinutes(minutes);
        result.setSeconds(seconds);
        result.setMilliseconds(ms);
        return result;
    }
    dayjs26.extend(utcPlugin);
    dayjs26.extend(timezonePlugin);
    function getTimezoneOffset(date, timezone) {
        if (timezone) {
            return dayjs26(date).tz(timezone).utcOffset() + date.getTimezoneOffset();
        }
        return 0;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/utils/shift-timezone.mjs
    var updateTimezone = (date, timezone, direction) => {
        if (!date) {
            return null;
        }
        if (!timezone) {
            return date;
        }
        let offset = getTimezoneOffset(date, timezone);
        if (direction === "remove") {
            offset *= -1;
        }
        return dayjs26(date).add(offset, "minutes").toDate();
    };
    function shiftTimezone(direction, date, timezone, disabled) {
        if (disabled || !date) {
            return date;
        }
        if (Array.isArray(date)) {
            return date.map((d) => updateTimezone(d, timezone, direction));
        }
        return updateTimezone(date, timezone, direction);
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/utils/get-default-clamped-date.mjs
    function getDefaultClampedDate({ minDate, maxDate, timezone }) {
        const today = shiftTimezone("add", /* @__PURE__ */ new Date(), timezone);
        if (!minDate && !maxDate) {
            return today;
        }
        if (minDate && dayjs26(today).isBefore(minDate)) {
            return minDate;
        }
        if (maxDate && dayjs26(today).isAfter(maxDate)) {
            return maxDate;
        }
        return today;
    }
    var DATES_PROVIDER_DEFAULT_SETTINGS = {
        locale: "en",
        timezone: null,
        firstDayOfWeek: 1,
        weekendDays: [0, 6],
        labelSeparator: "\u2013",
        consistentWeeks: false
    };
    var DatesProviderContext = react.createContext(DATES_PROVIDER_DEFAULT_SETTINGS);
    function DatesProvider({ settings, children }) {
        return /* @__PURE__ */ jsxRuntime.jsx(DatesProviderContext.Provider, { value: { ...DATES_PROVIDER_DEFAULT_SETTINGS, ...settings }, children });
    }
    function useDatesContext() {
        const ctx = react.useContext(DatesProviderContext);
        const getLocale = react.useCallback((input) => input || ctx.locale, [ctx.locale]);
        const getTimezone = react.useCallback(
            (input) => input || ctx.timezone || void 0,
            [ctx.timezone]
        );
        const getFirstDayOfWeek = react.useCallback(
            (input) => typeof input === "number" ? input : ctx.firstDayOfWeek,
            [ctx.firstDayOfWeek]
        );
        const getWeekendDays = react.useCallback(
            (input) => Array.isArray(input) ? input : ctx.weekendDays,
            [ctx.weekendDays]
        );
        const getLabelSeparator = react.useCallback(
            (input) => typeof input === "string" ? input : ctx.labelSeparator,
            [ctx.labelSeparator]
        );
        return {
            ...ctx,
            getLocale,
            getTimezone,
            getFirstDayOfWeek,
            getWeekendDays,
            getLabelSeparator
        };
    }
    function formatValue(value, type) {
        if (type === "range" && Array.isArray(value)) {
            const [startDate, endDate] = value;
            if (!startDate) {
                return "";
            }
            if (!endDate) {
                return `${startDate.toISOString()} \u2013`;
            }
            return `${startDate.toISOString()} \u2013 ${endDate.toISOString()}`;
        }
        if (type === "multiple" && Array.isArray(value)) {
            return value.map((date) => date?.toISOString()).filter(Boolean).join(", ");
        }
        if (!Array.isArray(value) && value) {
            return value.toISOString();
        }
        return "";
    }
    function HiddenDatesInput({ value, type, name, form }) {
        return /* @__PURE__ */ jsxRuntime.jsx("input", { type: "hidden", value: formatValue(value, type), name, form });
    }
    HiddenDatesInput.displayName = "@mantine/dates/HiddenDatesInput";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
    function r(e) {
        var t, f, n = "";
        if ("string" == typeof e || "number" == typeof e)
            n += e;
        else if ("object" == typeof e)
            if (Array.isArray(e)) {
                var o = e.length;
                for (t = 0; t < o; t++)
                    e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
            } else
                for (f in e)
                    e[f] && (n && (n += " "), n += f);
        return n;
    }
    function clsx() {
        for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++)
            (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
        return n;
    }
    var clsx_default = clsx;

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/TimeInput/TimeInput.module.css.mjs
    var classes = { "input": "m_468e7eda" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/TimeInput/TimeInput.mjs
    var defaultProps = {};
    var TimeInput = core.factory((_props, ref) => {
        const props = core.useProps("TimeInput", defaultProps, _props);
        const {
            classNames,
            styles,
            unstyled,
            vars,
            withSeconds,
            minTime,
            maxTime,
            value,
            onChange,
            ...others
        } = props;
        const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
            classNames,
            styles,
            props
        });
        const checkIfTimeLimitExceeded = (val) => {
            if (minTime !== void 0 || maxTime !== void 0) {
                const [hours, minutes, seconds] = val.split(":").map(Number);
                if (minTime) {
                    const [minHours, minMinutes, minSeconds] = minTime.split(":").map(Number);
                    if (hours < minHours || hours === minHours && minutes < minMinutes || withSeconds && hours === minHours && minutes === minMinutes && seconds < minSeconds) {
                        return -1;
                    }
                }
                if (maxTime) {
                    const [maxHours, maxMinutes, maxSeconds] = maxTime.split(":").map(Number);
                    if (hours > maxHours || hours === maxHours && minutes > maxMinutes || withSeconds && hours === maxHours && minutes === maxMinutes && seconds > maxSeconds) {
                        return 1;
                    }
                }
            }
            return 0;
        };
        const onTimeBlur = (event) => {
            props.onBlur?.(event);
            if (minTime !== void 0 || maxTime !== void 0) {
                const val = event.currentTarget.value;
                if (val) {
                    const check = checkIfTimeLimitExceeded(val);
                    if (check === 1) {
                        event.currentTarget.value = maxTime;
                        props.onChange?.(event);
                    } else if (check === -1) {
                        event.currentTarget.value = minTime;
                        props.onChange?.(event);
                    }
                }
            }
        };
        return /* @__PURE__ */ jsxRuntime.jsx(
            core.InputBase,
            {
                classNames: { ...resolvedClassNames, input: clsx_default(classes.input, resolvedClassNames?.input) },
                styles: resolvedStyles,
                unstyled,
                ref,
                value,
                ...others,
                step: withSeconds ? 1 : 60,
                onChange,
                onBlur: onTimeBlur,
                type: "time",
                __staticSelector: "TimeInput"
            }
        );
    });
    TimeInput.classes = core.InputBase.classes;
    TimeInput.displayName = "@mantine/dates/TimeInput";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Day/Day.module.css.mjs
    var classes2 = { "day": "m_396ce5cb" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Day/Day.mjs
    var defaultProps2 = {};
    var varsResolver = core.createVarsResolver((_, { size }) => ({
        day: {
            "--day-size": core.getSize(size, "day-size")
        }
    }));
    var Day = core.factory((_props, ref) => {
        const props = core.useProps("Day", defaultProps2, _props);
        const {
            classNames,
            className,
            style,
            styles,
            unstyled,
            vars,
            date,
            disabled,
            __staticSelector,
            weekend,
            outside,
            selected,
            renderDay,
            inRange,
            firstInRange,
            lastInRange,
            hidden,
            static: isStatic,
            highlightToday,
            ...others
        } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "Day",
            classes: classes2,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            varsResolver,
            rootSelector: "day"
        });
        const ctx = useDatesContext();
        return /* @__PURE__ */ jsxRuntime.jsx(
            core.UnstyledButton,
            {
                ...getStyles("day", { style: hidden ? { display: "none" } : void 0 }),
                component: isStatic ? "div" : "button",
                ref,
                disabled,
                "data-today": dayjs26(date).isSame(shiftTimezone("add", /* @__PURE__ */ new Date(), ctx.getTimezone()), "day") || void 0,
                "data-hidden": hidden || void 0,
                "data-highlight-today": highlightToday || void 0,
                "data-disabled": disabled || void 0,
                "data-weekend": !disabled && !outside && weekend || void 0,
                "data-outside": !disabled && outside || void 0,
                "data-selected": !disabled && selected || void 0,
                "data-in-range": inRange && !disabled || void 0,
                "data-first-in-range": firstInRange && !disabled || void 0,
                "data-last-in-range": lastInRange && !disabled || void 0,
                "data-static": isStatic || void 0,
                unstyled,
                ...others,
                children: renderDay?.(date) || date.getDate()
            }
        );
    });
    Day.classes = classes2;
    Day.displayName = "@mantine/dates/Day";
    function getWeekdayNames({
        locale,
        format = "dd",
        firstDayOfWeek = 1
    }) {
        const baseDate = dayjs26().day(firstDayOfWeek);
        const labels = [];
        for (let i = 0; i < 7; i += 1) {
            if (typeof format === "string") {
                labels.push(dayjs26(baseDate).add(i, "days").locale(locale).format(format));
            } else {
                labels.push(format(dayjs26(baseDate).add(i, "days").toDate()));
            }
        }
        return labels;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs
    var classes3 = { "weekday": "m_18a3eca" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.mjs
    var defaultProps3 = {};
    var varsResolver2 = core.createVarsResolver((_, { size }) => ({
        weekdaysRow: {
            "--wr-fz": core.getFontSize(size),
            "--wr-spacing": core.getSpacing(size)
        }
    }));
    var WeekdaysRow = core.factory((_props, ref) => {
        const props = core.useProps("WeekdaysRow", defaultProps3, _props);
        const {
            classNames,
            className,
            style,
            styles,
            unstyled,
            vars,
            locale,
            firstDayOfWeek,
            weekdayFormat,
            cellComponent: CellComponent = "th",
            __staticSelector,
            ...others
        } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "WeekdaysRow",
            classes: classes3,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            varsResolver: varsResolver2,
            rootSelector: "weekdaysRow"
        });
        const ctx = useDatesContext();
        const weekdays = getWeekdayNames({
            locale: ctx.getLocale(locale),
            format: weekdayFormat,
            firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)
        }).map((weekday, index) => /* @__PURE__ */ jsxRuntime.jsx(CellComponent, { ...getStyles("weekday"), children: weekday }, index));
        return /* @__PURE__ */ jsxRuntime.jsx(core.Box, { component: "tr", ref, ...getStyles("weekdaysRow"), ...others, children: weekdays });
    });
    WeekdaysRow.classes = classes3;
    WeekdaysRow.displayName = "@mantine/dates/WeekdaysRow";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Month/get-end-of-week/get-end-of-week.mjs
    function getEndOfWeek(date, firstDayOfWeek = 1) {
        const value = new Date(date);
        const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;
        while (value.getDay() !== lastDayOfWeek) {
            value.setDate(value.getDate() + 1);
        }
        return value;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Month/get-start-of-week/get-start-of-week.mjs
    function getStartOfWeek(date, firstDayOfWeek = 1) {
        const value = new Date(date);
        while (value.getDay() !== firstDayOfWeek) {
            value.setDate(value.getDate() - 1);
        }
        return value;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Month/get-month-days/get-month-days.mjs
    function getMonthDays({
        month,
        firstDayOfWeek = 1,
        consistentWeeks
    }) {
        const currentMonth = month.getMonth();
        const startOfMonth = new Date(month.getFullYear(), currentMonth, 1);
        const endOfMonth = new Date(month.getFullYear(), month.getMonth() + 1, 0);
        const endDate = getEndOfWeek(endOfMonth, firstDayOfWeek);
        const date = getStartOfWeek(startOfMonth, firstDayOfWeek);
        const weeks = [];
        while (date <= endDate) {
            const days = [];
            for (let i = 0; i < 7; i += 1) {
                days.push(new Date(date));
                date.setDate(date.getDate() + 1);
            }
            weeks.push(days);
        }
        if (consistentWeeks && weeks.length < 6) {
            const lastWeek = weeks[weeks.length - 1];
            const lastDay = lastWeek[lastWeek.length - 1];
            const nextDay = new Date(lastDay);
            nextDay.setDate(nextDay.getDate() + 1);
            while (weeks.length < 6) {
                const days = [];
                for (let i = 0; i < 7; i += 1) {
                    days.push(new Date(nextDay));
                    nextDay.setDate(nextDay.getDate() + 1);
                }
                weeks.push(days);
            }
        }
        return weeks;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Month/is-same-month/is-same-month.mjs
    function isSameMonth(date, comparison) {
        return date.getFullYear() === comparison.getFullYear() && date.getMonth() === comparison.getMonth();
    }
    function isAfterMinDate(date, minDate) {
        return minDate instanceof Date ? dayjs26(date).isAfter(dayjs26(minDate).subtract(1, "day"), "day") : true;
    }
    function isBeforeMaxDate(date, maxDate) {
        return maxDate instanceof Date ? dayjs26(date).isBefore(dayjs26(maxDate).add(1, "day"), "day") : true;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs
    function getDateInTabOrder(dates, minDate, maxDate, getDateControlProps, excludeDate, hideOutsideDates, month) {
        const enabledDates = dates.flat().filter(
            (date) => isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !excludeDate?.(date) && !getDateControlProps?.(date)?.disabled && (!hideOutsideDates || isSameMonth(date, month))
        );
        const selectedDate = enabledDates.find((date) => getDateControlProps?.(date)?.selected);
        if (selectedDate) {
            return selectedDate;
        }
        const currentDate = enabledDates.find((date) => dayjs26().isSame(date, "date"));
        if (currentDate) {
            return currentDate;
        }
        return enabledDates[0];
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Month/Month.module.css.mjs
    var classes4 = { "month": "m_cc9820d3", "monthCell": "m_8f457cd5" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Month/Month.mjs
    var defaultProps4 = {
        withCellSpacing: true
    };
    var Month = core.factory((_props, ref) => {
        const props = core.useProps("Month", defaultProps4, _props);
        const {
            classNames,
            className,
            style,
            styles,
            unstyled,
            vars,
            __staticSelector,
            locale,
            firstDayOfWeek,
            weekdayFormat,
            month,
            weekendDays,
            getDayProps,
            excludeDate,
            minDate,
            maxDate,
            renderDay,
            hideOutsideDates,
            hideWeekdays,
            getDayAriaLabel,
            static: isStatic,
            __getDayRef,
            __onDayKeyDown,
            __onDayClick,
            __onDayMouseEnter,
            __preventFocus,
            __stopPropagation,
            withCellSpacing,
            size,
            highlightToday,
            ...others
        } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "Month",
            classes: classes4,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            rootSelector: "month"
        });
        const ctx = useDatesContext();
        const dates = getMonthDays({
            month,
            firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),
            consistentWeeks: ctx.consistentWeeks
        });
        const dateInTabOrder = getDateInTabOrder(
            dates,
            minDate,
            maxDate,
            getDayProps,
            excludeDate,
            hideOutsideDates,
            month
        );
        const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
            classNames,
            styles,
            props
        });
        const rows = dates.map((row, rowIndex) => {
            const cells = row.map((date, cellIndex) => {
                const outside = !isSameMonth(date, month);
                const ariaLabel = getDayAriaLabel?.(date) || dayjs26(date).locale(locale || ctx.locale).format("D MMMM YYYY");
                const dayProps = getDayProps?.(date);
                const isDateInTabOrder = dayjs26(date).isSame(dateInTabOrder, "date");
                return /* @__PURE__ */ jsxRuntime.jsx(
                    "td",
                    {
                        ...getStyles("monthCell"),
                        "data-with-spacing": withCellSpacing || void 0,
                        children: /* @__PURE__ */ jsxRuntime.jsx(
                            Day,
                            {
                                __staticSelector: __staticSelector || "Month",
                                classNames: resolvedClassNames,
                                styles: resolvedStyles,
                                unstyled,
                                "data-mantine-stop-propagation": __stopPropagation || void 0,
                                highlightToday,
                                renderDay,
                                date,
                                size,
                                weekend: ctx.getWeekendDays(weekendDays).includes(date.getDay()),
                                outside,
                                hidden: hideOutsideDates ? outside : false,
                                "aria-label": ariaLabel,
                                static: isStatic,
                                disabled: excludeDate?.(date) || !isBeforeMaxDate(date, maxDate) || !isAfterMinDate(date, minDate),
                                ref: (node) => __getDayRef?.(rowIndex, cellIndex, node),
                                ...dayProps,
                                onKeyDown: (event) => {
                                    dayProps?.onKeyDown?.(event);
                                    __onDayKeyDown?.(event, { rowIndex, cellIndex, date });
                                },
                                onMouseEnter: (event) => {
                                    dayProps?.onMouseEnter?.(event);
                                    __onDayMouseEnter?.(event, date);
                                },
                                onClick: (event) => {
                                    dayProps?.onClick?.(event);
                                    __onDayClick?.(event, date);
                                },
                                onMouseDown: (event) => {
                                    dayProps?.onMouseDown?.(event);
                                    __preventFocus && event.preventDefault();
                                },
                                tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0
                            }
                        )
                    },
                    date.toString()
                );
            });
            return /* @__PURE__ */ jsxRuntime.jsx("tr", { ...getStyles("monthRow"), children: cells }, rowIndex);
        });
        return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { component: "table", ...getStyles("month"), size, ref, ...others, children: [
            !hideWeekdays && /* @__PURE__ */ jsxRuntime.jsx("thead", { ...getStyles("monthThead"), children: /* @__PURE__ */ jsxRuntime.jsx(
                WeekdaysRow,
                {
                    __staticSelector: __staticSelector || "Month",
                    locale,
                    firstDayOfWeek,
                    weekdayFormat,
                    size,
                    classNames: resolvedClassNames,
                    styles: resolvedStyles,
                    unstyled
                }
            ) }),
            /* @__PURE__ */ jsxRuntime.jsx("tbody", { ...getStyles("monthTbody"), children: rows })
        ] });
    });
    Month.classes = classes4;
    Month.displayName = "@mantine/dates/Month";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.module.css.mjs
    var classes5 = { "pickerControl": "m_dc6a3c71" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.mjs
    var defaultProps5 = {};
    var varsResolver3 = core.createVarsResolver((_, { size }) => ({
        pickerControl: {
            "--dpc-fz": core.getFontSize(size),
            "--dpc-size": core.getSize(size, "dpc-size")
        }
    }));
    var PickerControl = core.factory((_props, ref) => {
        const props = core.useProps("PickerControl", defaultProps5, _props);
        const {
            classNames,
            className,
            style,
            styles,
            unstyled,
            vars,
            firstInRange,
            lastInRange,
            inRange,
            __staticSelector,
            selected,
            disabled,
            ...others
        } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "PickerControl",
            classes: classes5,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            varsResolver: varsResolver3,
            rootSelector: "pickerControl"
        });
        return /* @__PURE__ */ jsxRuntime.jsx(
            core.UnstyledButton,
            {
                ...getStyles("pickerControl"),
                ref,
                unstyled,
                "data-picker-control": true,
                "data-selected": selected && !disabled || void 0,
                "data-disabled": disabled || void 0,
                "data-in-range": inRange && !disabled && !selected || void 0,
                "data-first-in-range": firstInRange && !disabled || void 0,
                "data-last-in-range": lastInRange && !disabled || void 0,
                disabled,
                ...others
            }
        );
    });
    PickerControl.classes = classes5;
    PickerControl.displayName = "@mantine/dates/PickerControl";
    function isYearDisabled(year, minDate, maxDate) {
        if (!minDate && !maxDate) {
            return false;
        }
        if (minDate && dayjs26(year).isBefore(minDate, "year")) {
            return true;
        }
        if (maxDate && dayjs26(year).isAfter(maxDate, "year")) {
            return true;
        }
        return false;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs
    function getYearInTabOrder(years, minDate, maxDate, getYearControlProps) {
        const enabledYears = years.flat().filter(
            (year) => !isYearDisabled(year, minDate, maxDate) && !getYearControlProps?.(year)?.disabled
        );
        const selectedYear = enabledYears.find((year) => getYearControlProps?.(year)?.selected);
        if (selectedYear) {
            return selectedYear;
        }
        const currentYear = enabledYears.find((year) => dayjs26().isSame(year, "year"));
        if (currentYear) {
            return currentYear;
        }
        return enabledYears[0];
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/YearsList/get-years-data/get-years-data.mjs
    function getYearsData(decade) {
        const year = decade.getFullYear();
        const rounded = year - year % 10;
        let currentYearIndex = 0;
        const results = [[], [], [], []];
        for (let i = 0; i < 4; i += 1) {
            const max = i === 3 ? 1 : 3;
            for (let j = 0; j < max; j += 1) {
                results[i].push(new Date(rounded + currentYearIndex, 0));
                currentYearIndex += 1;
            }
        }
        return results;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/YearsList/YearsList.module.css.mjs
    var classes6 = { "yearsList": "m_9206547b", "yearsListCell": "m_c5a19c7d" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/YearsList/YearsList.mjs
    var defaultProps6 = {
        yearsListFormat: "YYYY",
        withCellSpacing: true
    };
    var YearsList = core.factory((_props, ref) => {
        const props = core.useProps("YearsList", defaultProps6, _props);
        const {
            classNames,
            className,
            style,
            styles,
            unstyled,
            vars,
            decade,
            yearsListFormat,
            locale,
            minDate,
            maxDate,
            getYearControlProps,
            __staticSelector,
            __getControlRef,
            __onControlKeyDown,
            __onControlClick,
            __onControlMouseEnter,
            __preventFocus,
            __stopPropagation,
            withCellSpacing,
            size,
            ...others
        } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "YearsList",
            classes: classes6,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            rootSelector: "yearsList"
        });
        const ctx = useDatesContext();
        const years = getYearsData(decade);
        const yearInTabOrder = getYearInTabOrder(years, minDate, maxDate, getYearControlProps);
        const rows = years.map((yearsRow, rowIndex) => {
            const cells = yearsRow.map((year, cellIndex) => {
                const controlProps = getYearControlProps?.(year);
                const isYearInTabOrder = dayjs26(year).isSame(yearInTabOrder, "year");
                return /* @__PURE__ */ jsxRuntime.jsx(
                    "td",
                    {
                        ...getStyles("yearsListCell"),
                        "data-with-spacing": withCellSpacing || void 0,
                        children: /* @__PURE__ */ jsxRuntime.jsx(
                            PickerControl,
                            {
                                ...getStyles("yearsListControl"),
                                size,
                                unstyled,
                                "data-mantine-stop-propagation": __stopPropagation || void 0,
                                disabled: isYearDisabled(year, minDate, maxDate),
                                ref: (node) => __getControlRef?.(rowIndex, cellIndex, node),
                                ...controlProps,
                                onKeyDown: (event) => {
                                    controlProps?.onKeyDown?.(event);
                                    __onControlKeyDown?.(event, { rowIndex, cellIndex, date: year });
                                },
                                onClick: (event) => {
                                    controlProps?.onClick?.(event);
                                    __onControlClick?.(event, year);
                                },
                                onMouseEnter: (event) => {
                                    controlProps?.onMouseEnter?.(event);
                                    __onControlMouseEnter?.(event, year);
                                },
                                onMouseDown: (event) => {
                                    controlProps?.onMouseDown?.(event);
                                    __preventFocus && event.preventDefault();
                                },
                                tabIndex: __preventFocus || !isYearInTabOrder ? -1 : 0,
                                children: dayjs26(year).locale(ctx.getLocale(locale)).format(yearsListFormat)
                            }
                        )
                    },
                    cellIndex
                );
            });
            return /* @__PURE__ */ jsxRuntime.jsx("tr", { ...getStyles("yearsListRow"), children: cells }, rowIndex);
        });
        return /* @__PURE__ */ jsxRuntime.jsx(core.Box, { component: "table", ref, size, ...getStyles("yearsList"), ...others, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows }) });
    });
    YearsList.classes = classes6;
    YearsList.displayName = "@mantine/dates/YearsList";
    function isMonthDisabled(month, minDate, maxDate) {
        if (!minDate && !maxDate) {
            return false;
        }
        if (minDate && dayjs26(month).isBefore(minDate, "month")) {
            return true;
        }
        if (maxDate && dayjs26(month).isAfter(maxDate, "month")) {
            return true;
        }
        return false;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs
    function getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps) {
        const enabledMonths = months.flat().filter(
            (month) => !isMonthDisabled(month, minDate, maxDate) && !getMonthControlProps?.(month)?.disabled
        );
        const selectedMonth = enabledMonths.find((month) => getMonthControlProps?.(month)?.selected);
        if (selectedMonth) {
            return selectedMonth;
        }
        const currentMonth = enabledMonths.find((month) => dayjs26().isSame(month, "month"));
        if (currentMonth) {
            return currentMonth;
        }
        return enabledMonths[0];
    }
    function getMonthsData(year) {
        const startOfYear = dayjs26(year).startOf("year").toDate();
        const results = [[], [], [], []];
        let currentMonthIndex = 0;
        for (let i = 0; i < 4; i += 1) {
            for (let j = 0; j < 3; j += 1) {
                results[i].push(dayjs26(startOfYear).add(currentMonthIndex, "months").toDate());
                currentMonthIndex += 1;
            }
        }
        return results;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.module.css.mjs
    var classes7 = { "monthsList": "m_2a6c32d", "monthsListCell": "m_fe27622f" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.mjs
    var defaultProps7 = {
        monthsListFormat: "MMM",
        withCellSpacing: true
    };
    var MonthsList = core.factory((_props, ref) => {
        const props = core.useProps("MonthsList", defaultProps7, _props);
        const {
            classNames,
            className,
            style,
            styles,
            unstyled,
            vars,
            __staticSelector,
            year,
            monthsListFormat,
            locale,
            minDate,
            maxDate,
            getMonthControlProps,
            __getControlRef,
            __onControlKeyDown,
            __onControlClick,
            __onControlMouseEnter,
            __preventFocus,
            __stopPropagation,
            withCellSpacing,
            size,
            ...others
        } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "MonthsList",
            classes: classes7,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            rootSelector: "monthsList"
        });
        const ctx = useDatesContext();
        const months = getMonthsData(year);
        const monthInTabOrder = getMonthInTabOrder(months, minDate, maxDate, getMonthControlProps);
        const rows = months.map((monthsRow, rowIndex) => {
            const cells = monthsRow.map((month, cellIndex) => {
                const controlProps = getMonthControlProps?.(month);
                const isMonthInTabOrder = dayjs26(month).isSame(monthInTabOrder, "month");
                return /* @__PURE__ */ jsxRuntime.jsx(
                    "td",
                    {
                        ...getStyles("monthsListCell"),
                        "data-with-spacing": withCellSpacing || void 0,
                        children: /* @__PURE__ */ jsxRuntime.jsx(
                            PickerControl,
                            {
                                ...getStyles("monthsListControl"),
                                size,
                                unstyled,
                                __staticSelector: __staticSelector || "MonthsList",
                                "data-mantine-stop-propagation": __stopPropagation || void 0,
                                disabled: isMonthDisabled(month, minDate, maxDate),
                                ref: (node) => __getControlRef?.(rowIndex, cellIndex, node),
                                ...controlProps,
                                onKeyDown: (event) => {
                                    controlProps?.onKeyDown?.(event);
                                    __onControlKeyDown?.(event, { rowIndex, cellIndex, date: month });
                                },
                                onClick: (event) => {
                                    controlProps?.onClick?.(event);
                                    __onControlClick?.(event, month);
                                },
                                onMouseEnter: (event) => {
                                    controlProps?.onMouseEnter?.(event);
                                    __onControlMouseEnter?.(event, month);
                                },
                                onMouseDown: (event) => {
                                    controlProps?.onMouseDown?.(event);
                                    __preventFocus && event.preventDefault();
                                },
                                tabIndex: __preventFocus || !isMonthInTabOrder ? -1 : 0,
                                children: dayjs26(month).locale(ctx.getLocale(locale)).format(monthsListFormat)
                            }
                        )
                    },
                    cellIndex
                );
            });
            return /* @__PURE__ */ jsxRuntime.jsx("tr", { ...getStyles("monthsListRow"), children: cells }, rowIndex);
        });
        return /* @__PURE__ */ jsxRuntime.jsx(core.Box, { component: "table", ref, size, ...getStyles("monthsList"), ...others, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows }) });
    });
    MonthsList.classes = classes7;
    MonthsList.displayName = "@mantine/dates/MonthsList";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.module.css.mjs
    var classes8 = { "calendarHeader": "m_730a79ed", "calendarHeaderLevel": "m_f6645d97", "calendarHeaderControl": "m_2351eeb0", "calendarHeaderControlIcon": "m_367dc749" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/CalendarHeader/CalendarHeader.mjs
    var defaultProps8 = {
        nextDisabled: false,
        previousDisabled: false,
        hasNextLevel: true,
        withNext: true,
        withPrevious: true
    };
    var varsResolver4 = core.createVarsResolver((_, { size }) => ({
        calendarHeader: {
            "--dch-control-size": core.getSize(size, "dch-control-size"),
            "--dch-fz": core.getFontSize(size)
        }
    }));
    var CalendarHeader = core.factory((_props, ref) => {
        const props = core.useProps("CalendarHeader", defaultProps8, _props);
        const {
            classNames,
            className,
            style,
            styles,
            unstyled,
            vars,
            nextIcon,
            previousIcon,
            nextLabel,
            previousLabel,
            onNext,
            onPrevious,
            onLevelClick,
            label,
            nextDisabled,
            previousDisabled,
            hasNextLevel,
            levelControlAriaLabel,
            withNext,
            withPrevious,
            __staticSelector,
            __preventFocus,
            __stopPropagation,
            ...others
        } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "CalendarHeader",
            classes: classes8,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            varsResolver: varsResolver4,
            rootSelector: "calendarHeader"
        });
        const preventFocus = __preventFocus ? (event) => event.preventDefault() : void 0;
        return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("calendarHeader"), ref, ...others, children: [
            withPrevious && /* @__PURE__ */ jsxRuntime.jsx(
                core.UnstyledButton,
                {
                    ...getStyles("calendarHeaderControl"),
                    "data-direction": "previous",
                    "aria-label": previousLabel,
                    onClick: onPrevious,
                    unstyled,
                    onMouseDown: preventFocus,
                    disabled: previousDisabled,
                    "data-disabled": previousDisabled || void 0,
                    tabIndex: __preventFocus || previousDisabled ? -1 : 0,
                    "data-mantine-stop-propagation": __stopPropagation || void 0,
                    children: previousIcon || /* @__PURE__ */ jsxRuntime.jsx(
                        core.AccordionChevron,
                        {
                            ...getStyles("calendarHeaderControlIcon"),
                            "data-direction": "previous",
                            size: "45%"
                        }
                    )
                }
            ),
            /* @__PURE__ */ jsxRuntime.jsx(
                core.UnstyledButton,
                {
                    component: hasNextLevel ? "button" : "div",
                    ...getStyles("calendarHeaderLevel"),
                    onClick: hasNextLevel ? onLevelClick : void 0,
                    unstyled,
                    onMouseDown: hasNextLevel ? preventFocus : void 0,
                    disabled: !hasNextLevel,
                    "data-static": !hasNextLevel || void 0,
                    "aria-label": levelControlAriaLabel,
                    tabIndex: __preventFocus || !hasNextLevel ? -1 : 0,
                    "data-mantine-stop-propagation": __stopPropagation || void 0,
                    children: label
                }
            ),
            withNext && /* @__PURE__ */ jsxRuntime.jsx(
                core.UnstyledButton,
                {
                    ...getStyles("calendarHeaderControl"),
                    "data-direction": "next",
                    "aria-label": nextLabel,
                    onClick: onNext,
                    unstyled,
                    onMouseDown: preventFocus,
                    disabled: nextDisabled,
                    "data-disabled": nextDisabled || void 0,
                    tabIndex: __preventFocus || nextDisabled ? -1 : 0,
                    "data-mantine-stop-propagation": __stopPropagation || void 0,
                    children: nextIcon || /* @__PURE__ */ jsxRuntime.jsx(
                        core.AccordionChevron,
                        {
                            ...getStyles("calendarHeaderControlIcon"),
                            "data-direction": "next",
                            size: "45%"
                        }
                    )
                }
            )
        ] });
    });
    CalendarHeader.classes = classes8;
    CalendarHeader.displayName = "@mantine/dates/CalendarHeader";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs
    function getDecadeRange(decade) {
        const years = getYearsData(decade);
        return [years[0][0], years[3][0]];
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/DecadeLevel/DecadeLevel.mjs
    var defaultProps9 = {
        decadeLabelFormat: "YYYY"
    };
    var DecadeLevel = core.factory((_props, ref) => {
        const props = core.useProps("DecadeLevel", defaultProps9, _props);
        const {
            // YearsList settings
            decade,
            locale,
            minDate,
            maxDate,
            yearsListFormat,
            getYearControlProps,
            __getControlRef,
            __onControlKeyDown,
            __onControlClick,
            __onControlMouseEnter,
            withCellSpacing,
            // CalendarHeader settings
            __preventFocus,
            nextIcon,
            previousIcon,
            nextLabel,
            previousLabel,
            onNext,
            onPrevious,
            nextDisabled,
            previousDisabled,
            levelControlAriaLabel,
            withNext,
            withPrevious,
            // Other props
            decadeLabelFormat,
            classNames,
            styles,
            unstyled,
            __staticSelector,
            __stopPropagation,
            size,
            ...others
        } = props;
        const ctx = useDatesContext();
        const [startOfDecade, endOfDecade] = getDecadeRange(decade);
        const stylesApiProps = {
            __staticSelector: __staticSelector || "DecadeLevel",
            classNames,
            styles,
            unstyled,
            size
        };
        const _nextDisabled = typeof nextDisabled === "boolean" ? nextDisabled : maxDate ? !dayjs26(endOfDecade).endOf("year").isBefore(maxDate) : false;
        const _previousDisabled = typeof previousDisabled === "boolean" ? previousDisabled : minDate ? !dayjs26(startOfDecade).startOf("year").isAfter(minDate) : false;
        const formatDecade = (date, format) => dayjs26(date).locale(locale || ctx.locale).format(format);
        return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { "data-decade-level": true, size, ref, ...others, children: [
            /* @__PURE__ */ jsxRuntime.jsx(
                CalendarHeader,
                {
                    label: typeof decadeLabelFormat === "function" ? decadeLabelFormat(startOfDecade, endOfDecade) : `${formatDecade(startOfDecade, decadeLabelFormat)} \u2013 ${formatDecade(
                    endOfDecade,
                    decadeLabelFormat
                )}`,
                    __preventFocus,
                    __stopPropagation,
                    nextIcon,
                    previousIcon,
                    nextLabel,
                    previousLabel,
                    onNext,
                    onPrevious,
                    nextDisabled: _nextDisabled,
                    previousDisabled: _previousDisabled,
                    hasNextLevel: false,
                    levelControlAriaLabel,
                    withNext,
                    withPrevious,
                    ...stylesApiProps
                }
            ),
            /* @__PURE__ */ jsxRuntime.jsx(
                YearsList,
                {
                    decade,
                    locale,
                    minDate,
                    maxDate,
                    yearsListFormat,
                    getYearControlProps,
                    __getControlRef,
                    __onControlKeyDown,
                    __onControlClick,
                    __onControlMouseEnter,
                    __preventFocus,
                    __stopPropagation,
                    withCellSpacing,
                    ...stylesApiProps
                }
            )
        ] });
    });
    DecadeLevel.classes = { ...YearsList.classes, ...CalendarHeader.classes };
    DecadeLevel.displayName = "@mantine/dates/DecadeLevel";
    var defaultProps10 = {
        yearLabelFormat: "YYYY"
    };
    var YearLevel = core.factory((_props, ref) => {
        const props = core.useProps("YearLevel", defaultProps10, _props);
        const {
            // MonthsList settings
            year,
            locale,
            minDate,
            maxDate,
            monthsListFormat,
            getMonthControlProps,
            __getControlRef,
            __onControlKeyDown,
            __onControlClick,
            __onControlMouseEnter,
            withCellSpacing,
            // CalendarHeader settings
            __preventFocus,
            nextIcon,
            previousIcon,
            nextLabel,
            previousLabel,
            onNext,
            onPrevious,
            onLevelClick,
            nextDisabled,
            previousDisabled,
            hasNextLevel,
            levelControlAriaLabel,
            withNext,
            withPrevious,
            // Other props
            yearLabelFormat,
            __staticSelector,
            __stopPropagation,
            size,
            classNames,
            styles,
            unstyled,
            ...others
        } = props;
        const ctx = useDatesContext();
        const stylesApiProps = {
            __staticSelector: __staticSelector || "YearLevel",
            classNames,
            styles,
            unstyled,
            size
        };
        const _nextDisabled = typeof nextDisabled === "boolean" ? nextDisabled : maxDate ? !dayjs26(year).endOf("year").isBefore(maxDate) : false;
        const _previousDisabled = typeof previousDisabled === "boolean" ? previousDisabled : minDate ? !dayjs26(year).startOf("year").isAfter(minDate) : false;
        return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { "data-year-level": true, size, ref, ...others, children: [
            /* @__PURE__ */ jsxRuntime.jsx(
                CalendarHeader,
                {
                    label: typeof yearLabelFormat === "function" ? yearLabelFormat(year) : dayjs26(year).locale(locale || ctx.locale).format(yearLabelFormat),
                    __preventFocus,
                    __stopPropagation,
                    nextIcon,
                    previousIcon,
                    nextLabel,
                    previousLabel,
                    onNext,
                    onPrevious,
                    onLevelClick,
                    nextDisabled: _nextDisabled,
                    previousDisabled: _previousDisabled,
                    hasNextLevel,
                    levelControlAriaLabel,
                    withNext,
                    withPrevious,
                    ...stylesApiProps
                }
            ),
            /* @__PURE__ */ jsxRuntime.jsx(
                MonthsList,
                {
                    year,
                    locale,
                    minDate,
                    maxDate,
                    monthsListFormat,
                    getMonthControlProps,
                    __getControlRef,
                    __onControlKeyDown,
                    __onControlClick,
                    __onControlMouseEnter,
                    __preventFocus,
                    __stopPropagation,
                    withCellSpacing,
                    ...stylesApiProps
                }
            )
        ] });
    });
    YearLevel.classes = { ...CalendarHeader.classes, ...MonthsList.classes };
    YearLevel.displayName = "@mantine/dates/YearLevel";
    var defaultProps11 = {
        monthLabelFormat: "MMMM YYYY"
    };
    var MonthLevel = core.factory((_props, ref) => {
        const props = core.useProps("MonthLevel", defaultProps11, _props);
        const {
            // Month settings
            month,
            locale,
            firstDayOfWeek,
            weekdayFormat,
            weekendDays,
            getDayProps,
            excludeDate,
            minDate,
            maxDate,
            renderDay,
            hideOutsideDates,
            hideWeekdays,
            getDayAriaLabel,
            __getDayRef,
            __onDayKeyDown,
            __onDayClick,
            __onDayMouseEnter,
            withCellSpacing,
            highlightToday,
            // CalendarHeader settings
            __preventFocus,
            __stopPropagation,
            nextIcon,
            previousIcon,
            nextLabel,
            previousLabel,
            onNext,
            onPrevious,
            onLevelClick,
            nextDisabled,
            previousDisabled,
            hasNextLevel,
            levelControlAriaLabel,
            withNext,
            withPrevious,
            // Other props
            monthLabelFormat,
            classNames,
            styles,
            unstyled,
            __staticSelector,
            size,
            static: isStatic,
            ...others
        } = props;
        const ctx = useDatesContext();
        const stylesApiProps = {
            __staticSelector: __staticSelector || "MonthLevel",
            classNames,
            styles,
            unstyled,
            size
        };
        const _nextDisabled = typeof nextDisabled === "boolean" ? nextDisabled : maxDate ? !dayjs26(month).endOf("month").isBefore(maxDate) : false;
        const _previousDisabled = typeof previousDisabled === "boolean" ? previousDisabled : minDate ? !dayjs26(month).startOf("month").isAfter(minDate) : false;
        return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { "data-month-level": true, size, ref, ...others, children: [
            /* @__PURE__ */ jsxRuntime.jsx(
                CalendarHeader,
                {
                    label: typeof monthLabelFormat === "function" ? monthLabelFormat(month) : dayjs26(month).locale(locale || ctx.locale).format(monthLabelFormat),
                    __preventFocus,
                    __stopPropagation,
                    nextIcon,
                    previousIcon,
                    nextLabel,
                    previousLabel,
                    onNext,
                    onPrevious,
                    onLevelClick,
                    nextDisabled: _nextDisabled,
                    previousDisabled: _previousDisabled,
                    hasNextLevel,
                    levelControlAriaLabel,
                    withNext,
                    withPrevious,
                    ...stylesApiProps
                }
            ),
            /* @__PURE__ */ jsxRuntime.jsx(
                Month,
                {
                    month,
                    locale,
                    firstDayOfWeek,
                    weekdayFormat,
                    weekendDays,
                    getDayProps,
                    excludeDate,
                    minDate,
                    maxDate,
                    renderDay,
                    hideOutsideDates,
                    hideWeekdays,
                    getDayAriaLabel,
                    __getDayRef,
                    __onDayKeyDown,
                    __onDayClick,
                    __onDayMouseEnter,
                    __preventFocus,
                    __stopPropagation,
                    static: isStatic,
                    withCellSpacing,
                    highlightToday,
                    ...stylesApiProps
                }
            )
        ] });
    });
    MonthLevel.classes = { ...Month.classes, ...CalendarHeader.classes };
    MonthLevel.displayName = "@mantine/dates/MonthLevel";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.module.css.mjs
    var classes9 = { "levelsGroup": "m_30b26e33" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.mjs
    var defaultProps12 = {};
    var LevelsGroup = core.factory((_props, ref) => {
        const props = core.useProps("LevelsGroup", defaultProps12, _props);
        const { classNames, className, style, styles, unstyled, vars, __staticSelector, ...others } = props;
        const getStyles = core.useStyles({
            name: __staticSelector || "LevelsGroup",
            classes: classes9,
            props,
            className,
            style,
            classNames,
            styles,
            unstyled,
            vars,
            rootSelector: "levelsGroup"
        });
        return /* @__PURE__ */ jsxRuntime.jsx(core.Box, { ref, ...getStyles("levelsGroup"), ...others });
    });
    LevelsGroup.classes = classes9;
    LevelsGroup.displayName = "@mantine/dates/LevelsGroup";
    var defaultProps13 = {
        numberOfColumns: 1
    };
    var DecadeLevelGroup = core.factory((_props, ref) => {
        const props = core.useProps("DecadeLevelGroup", defaultProps13, _props);
        const {
            // DecadeLevel settings
            decade,
            locale,
            minDate,
            maxDate,
            yearsListFormat,
            getYearControlProps,
            __onControlClick,
            __onControlMouseEnter,
            withCellSpacing,
            // CalendarHeader settings
            __preventFocus,
            nextIcon,
            previousIcon,
            nextLabel,
            previousLabel,
            onNext,
            onPrevious,
            nextDisabled,
            previousDisabled,
            // Other settings
            classNames,
            styles,
            unstyled,
            __staticSelector,
            __stopPropagation,
            numberOfColumns,
            levelControlAriaLabel,
            decadeLabelFormat,
            size,
            vars,
            ...others
        } = props;
        const controlsRef = react.useRef([]);
        const decades = Array(numberOfColumns).fill(0).map((_, decadeIndex) => {
            const currentDecade = dayjs26(decade).add(decadeIndex * 10, "years").toDate();
            return /* @__PURE__ */ jsxRuntime.jsx(
                DecadeLevel,
                {
                    size,
                    yearsListFormat,
                    decade: currentDecade,
                    withNext: decadeIndex === numberOfColumns - 1,
                    withPrevious: decadeIndex === 0,
                    decadeLabelFormat,
                    __onControlClick,
                    __onControlMouseEnter,
                    __onControlKeyDown: (event, payload) => handleControlKeyDown({
                        levelIndex: decadeIndex,
                        rowIndex: payload.rowIndex,
                        cellIndex: payload.cellIndex,
                        event,
                        controlsRef
                    }),
                    __getControlRef: (rowIndex, cellIndex, node) => {
                        if (!Array.isArray(controlsRef.current[decadeIndex])) {
                            controlsRef.current[decadeIndex] = [];
                        }
                        if (!Array.isArray(controlsRef.current[decadeIndex][rowIndex])) {
                            controlsRef.current[decadeIndex][rowIndex] = [];
                        }
                        controlsRef.current[decadeIndex][rowIndex][cellIndex] = node;
                    },
                    levelControlAriaLabel: typeof levelControlAriaLabel === "function" ? levelControlAriaLabel(currentDecade) : levelControlAriaLabel,
                    locale,
                    minDate,
                    maxDate,
                    __preventFocus,
                    __stopPropagation,
                    nextIcon,
                    previousIcon,
                    nextLabel,
                    previousLabel,
                    onNext,
                    onPrevious,
                    nextDisabled,
                    previousDisabled,
                    getYearControlProps,
                    __staticSelector: __staticSelector || "DecadeLevelGroup",
                    classNames,
                    styles,
                    unstyled,
                    withCellSpacing
                },
                decadeIndex
            );
        });
        return /* @__PURE__ */ jsxRuntime.jsx(
            LevelsGroup,
            {
                classNames,
                styles,
                __staticSelector: __staticSelector || "DecadeLevelGroup",
                ref,
                size,
                unstyled,
                ...others,
                children: decades
            }
        );
    });
    DecadeLevelGroup.classes = { ...LevelsGroup.classes, ...DecadeLevel.classes };
    DecadeLevelGroup.displayName = "@mantine/dates/DecadeLevelGroup";
    var defaultProps14 = {
        numberOfColumns: 1
    };
    var YearLevelGroup = core.factory((_props, ref) => {
        const props = core.useProps("YearLevelGroup", defaultProps14, _props);
        const {
            // YearLevel settings
            year,
            locale,
            minDate,
            maxDate,
            monthsListFormat,
            getMonthControlProps,
            __onControlClick,
            __onControlMouseEnter,
            withCellSpacing,
            // CalendarHeader settings
            __preventFocus,
            nextIcon,
            previousIcon,
            nextLabel,
            previousLabel,
            onNext,
            onPrevious,
            onLevelClick,
            nextDisabled,
            previousDisabled,
            hasNextLevel,
            // Other settings
            classNames,
            styles,
            unstyled,
            __staticSelector,
            __stopPropagation,
            numberOfColumns,
            levelControlAriaLabel,
            yearLabelFormat,
            size,
            vars,
            ...others
        } = props;
        const controlsRef = react.useRef([]);
        const years = Array(numberOfColumns).fill(0).map((_, yearIndex) => {
            const currentYear = dayjs26(year).add(yearIndex, "years").toDate();
            return /* @__PURE__ */ jsxRuntime.jsx(
                YearLevel,
                {
                    size,
                    monthsListFormat,
                    year: currentYear,
                    withNext: yearIndex === numberOfColumns - 1,
                    withPrevious: yearIndex === 0,
                    yearLabelFormat,
                    __stopPropagation,
                    __onControlClick,
                    __onControlMouseEnter,
                    __onControlKeyDown: (event, payload) => handleControlKeyDown({
                        levelIndex: yearIndex,
                        rowIndex: payload.rowIndex,
                        cellIndex: payload.cellIndex,
                        event,
                        controlsRef
                    }),
                    __getControlRef: (rowIndex, cellIndex, node) => {
                        if (!Array.isArray(controlsRef.current[yearIndex])) {
                            controlsRef.current[yearIndex] = [];
                        }
                        if (!Array.isArray(controlsRef.current[yearIndex][rowIndex])) {
                            controlsRef.current[yearIndex][rowIndex] = [];
                        }
                        controlsRef.current[yearIndex][rowIndex][cellIndex] = node;
                    },
                    levelControlAriaLabel: typeof levelControlAriaLabel === "function" ? levelControlAriaLabel(currentYear) : levelControlAriaLabel,
                    locale,
                    minDate,
                    maxDate,
                    __preventFocus,
                    nextIcon,
                    previousIcon,
                    nextLabel,
                    previousLabel,
                    onNext,
                    onPrevious,
                    onLevelClick,
                    nextDisabled,
                    previousDisabled,
                    hasNextLevel,
                    getMonthControlProps,
                    classNames,
                    styles,
                    unstyled,
                    __staticSelector: __staticSelector || "YearLevelGroup",
                    withCellSpacing
                },
                yearIndex
            );
        });
        return /* @__PURE__ */ jsxRuntime.jsx(
            LevelsGroup,
            {
                classNames,
                styles,
                __staticSelector: __staticSelector || "YearLevelGroup",
                ref,
                size,
                unstyled,
                ...others,
                children: years
            }
        );
    });
    YearLevelGroup.classes = { ...YearLevel.classes, ...LevelsGroup.classes };
    YearLevelGroup.displayName = "@mantine/dates/YearLevelGroup";
    var defaultProps15 = {
        numberOfColumns: 1
    };
    var MonthLevelGroup = core.factory((_props, ref) => {
        const props = core.useProps("MonthLevelGroup", defaultProps15, _props);
        const {
            // Month settings
            month,
            locale,
            firstDayOfWeek,
            weekdayFormat,
            weekendDays,
            getDayProps,
            excludeDate,
            minDate,
            maxDate,
            renderDay,
            hideOutsideDates,
            hideWeekdays,
            getDayAriaLabel,
            __onDayClick,
            __onDayMouseEnter,
            withCellSpacing,
            highlightToday,
            // CalendarHeader settings
            __preventFocus,
            nextIcon,
            previousIcon,
            nextLabel,
            previousLabel,
            onNext,
            onPrevious,
            onLevelClick,
            nextDisabled,
            previousDisabled,
            hasNextLevel,
            // Other settings
            classNames,
            styles,
            unstyled,
            numberOfColumns,
            levelControlAriaLabel,
            monthLabelFormat,
            __staticSelector,
            __stopPropagation,
            size,
            static: isStatic,
            vars,
            ...others
        } = props;
        const daysRefs = react.useRef([]);
        const months = Array(numberOfColumns).fill(0).map((_, monthIndex) => {
            const currentMonth = dayjs26(month).add(monthIndex, "months").toDate();
            return /* @__PURE__ */ jsxRuntime.jsx(
                MonthLevel,
                {
                    month: currentMonth,
                    withNext: monthIndex === numberOfColumns - 1,
                    withPrevious: monthIndex === 0,
                    monthLabelFormat,
                    __stopPropagation,
                    __onDayClick,
                    __onDayMouseEnter,
                    __onDayKeyDown: (event, payload) => handleControlKeyDown({
                        levelIndex: monthIndex,
                        rowIndex: payload.rowIndex,
                        cellIndex: payload.cellIndex,
                        event,
                        controlsRef: daysRefs
                    }),
                    __getDayRef: (rowIndex, cellIndex, node) => {
                        if (!Array.isArray(daysRefs.current[monthIndex])) {
                            daysRefs.current[monthIndex] = [];
                        }
                        if (!Array.isArray(daysRefs.current[monthIndex][rowIndex])) {
                            daysRefs.current[monthIndex][rowIndex] = [];
                        }
                        daysRefs.current[monthIndex][rowIndex][cellIndex] = node;
                    },
                    levelControlAriaLabel: typeof levelControlAriaLabel === "function" ? levelControlAriaLabel(currentMonth) : levelControlAriaLabel,
                    locale,
                    firstDayOfWeek,
                    weekdayFormat,
                    weekendDays,
                    getDayProps,
                    excludeDate,
                    minDate,
                    maxDate,
                    renderDay,
                    hideOutsideDates,
                    hideWeekdays,
                    getDayAriaLabel,
                    __preventFocus,
                    nextIcon,
                    previousIcon,
                    nextLabel,
                    previousLabel,
                    onNext,
                    onPrevious,
                    onLevelClick,
                    nextDisabled,
                    previousDisabled,
                    hasNextLevel,
                    classNames,
                    styles,
                    unstyled,
                    __staticSelector: __staticSelector || "MonthLevelGroup",
                    size,
                    static: isStatic,
                    withCellSpacing,
                    highlightToday
                },
                monthIndex
            );
        });
        return /* @__PURE__ */ jsxRuntime.jsx(
            LevelsGroup,
            {
                classNames,
                styles,
                __staticSelector: __staticSelector || "MonthLevelGroup",
                ref,
                size,
                ...others,
                children: months
            }
        );
    });
    MonthLevelGroup.classes = { ...LevelsGroup.classes, ...MonthLevel.classes };
    MonthLevelGroup.displayName = "@mantine/dates/MonthLevelGroup";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/PickerInputBase/PickerInputBase.module.css.mjs
    var classes10 = { "input": "m_6fa5e2aa" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/PickerInputBase/PickerInputBase.mjs
    var defaultProps16 = {};
    var PickerInputBase = core.factory((_props, ref) => {
        const {
            inputProps,
            wrapperProps,
            placeholder,
            classNames,
            styles,
            unstyled,
            popoverProps,
            modalProps,
            dropdownType,
            children,
            formattedValue,
            dropdownHandlers,
            dropdownOpened,
            onClick,
            clearable,
            onClear,
            clearButtonProps,
            rightSection,
            shouldClear,
            readOnly,
            disabled,
            value,
            name,
            form,
            type,
            ...others
        } = core.useInputProps("PickerInputBase", defaultProps16, _props);
        const _rightSection = rightSection || (clearable && shouldClear && !readOnly && !disabled ? /* @__PURE__ */ jsxRuntime.jsx(
            core.CloseButton,
            {
                variant: "transparent",
                onClick: onClear,
                unstyled,
                size: inputProps.size || "sm",
                ...clearButtonProps
            }
        ) : null);
        const handleClose = () => {
            const isInvalidRangeValue = type === "range" && Array.isArray(value) && value[0] && !value[1];
            if (isInvalidRangeValue) {
                onClear();
            }
            dropdownHandlers.close();
        };
        return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
            dropdownType === "modal" && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
                core.Modal,
                {
                    opened: dropdownOpened,
                    onClose: handleClose,
                    withCloseButton: false,
                    size: "auto",
                    "data-dates-modal": true,
                    unstyled,
                    ...modalProps,
                    children
                }
            ),
            /* @__PURE__ */ jsxRuntime.jsx(core.Input.Wrapper, { ...wrapperProps, children: /* @__PURE__ */ jsxRuntime.jsxs(
                core.Popover,
                {
                    position: "bottom-start",
                    opened: dropdownOpened,
                    trapFocus: true,
                    returnFocus: true,
                    unstyled,
                    ...popoverProps,
                    disabled: popoverProps?.disabled || dropdownType === "modal" || readOnly,
                    onClose: () => {
                        popoverProps?.onClose?.();
                        handleClose();
                    },
                    children: [
                        /* @__PURE__ */ jsxRuntime.jsx(core.Popover.Target, { children: /* @__PURE__ */ jsxRuntime.jsx(
                            core.Input,
                            {
                                "aria-label": formattedValue || placeholder,
                                "data-dates-input": true,
                                "data-read-only": readOnly || void 0,
                                disabled,
                                component: "button",
                                type: "button",
                                multiline: true,
                                onClick: (event) => {
                                    onClick?.(event);
                                    dropdownHandlers.toggle();
                                },
                                rightSection: _rightSection,
                                ...inputProps,
                                ref,
                                classNames: { ...classNames, input: clsx_default(classes10.input, classNames?.input) },
                                ...others,
                                children: formattedValue || /* @__PURE__ */ jsxRuntime.jsx(
                                    core.Input.Placeholder,
                                    {
                                        error: inputProps.error,
                                        unstyled,
                                        className: classNames?.placeholder,
                                        style: styles?.placeholder,
                                        children: placeholder
                                    }
                                )
                            }
                        ) }),
                        /* @__PURE__ */ jsxRuntime.jsx(core.Popover.Dropdown, { "data-dates-dropdown": true, children })
                    ]
                }
            ) }),
            /* @__PURE__ */ jsxRuntime.jsx(HiddenDatesInput, { value, name, form, type })
        ] });
    });
    PickerInputBase.classes = classes10;
    PickerInputBase.displayName = "@mantine/dates/PickerInputBase";
    var getEmptyValue = (type) => type === "range" ? [null, null] : type === "multiple" ? [] : null;
    function useUncontrolledDates({
        type,
        value,
        defaultValue,
        onChange,
        applyTimezone = true
    }) {
        const storedType = react.useRef(type);
        const ctx = useDatesContext();
        const [_value, _setValue, controlled] = hooks.useUncontrolled({
            value: shiftTimezone("add", value, ctx.getTimezone(), !applyTimezone),
            defaultValue: shiftTimezone("add", defaultValue, ctx.getTimezone(), !applyTimezone),
            finalValue: getEmptyValue(type),
            onChange: (newDate) => {
                onChange?.(shiftTimezone("remove", newDate, ctx.getTimezone(), !applyTimezone));
            }
        });
        let _finalValue = _value;
        if (storedType.current !== type) {
            storedType.current = type;
            if (value === void 0) {
                _finalValue = defaultValue !== void 0 ? defaultValue : getEmptyValue(type);
                _setValue(_finalValue);
            } else {
                switch (type) {
                    case "default":
                        if (value !== null && typeof value !== "string") {
                            console.error(
                                "[@mantine/dates/use-uncontrolled-dates] Value must be type of `null` or `string`"
                            );
                        }
                        break;
                    case "multiple":
                        if (!(value instanceof Array)) {
                            console.error(
                                "[@mantine/dates/use-uncontrolled-dates] Value must be type of `string[]`"
                            );
                        }
                        break;
                    case "range":
                        if (!(value instanceof Array) || value.length !== 2) {
                            console.error(
                                "[@mantine/dates/use-uncontrolled-dates] Value must be type of `[string, string]`"
                            );
                        }
                        break;
                }
            }
        }
        return [_finalValue, _setValue, controlled];
    }
    function levelToNumber(level, fallback) {
        if (!level) {
            return fallback || 0;
        }
        return level === "month" ? 0 : level === "year" ? 1 : 2;
    }
    function levelNumberToLevel(levelNumber) {
        return levelNumber === 0 ? "month" : levelNumber === 1 ? "year" : "decade";
    }
    function clampLevel(level, minLevel, maxLevel) {
        return levelNumberToLevel(
            hooks.clamp(
                levelToNumber(level, 0),
                levelToNumber(minLevel, 0),
                levelToNumber(maxLevel, 2)
            )
        );
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Calendar/Calendar.mjs
    var defaultProps17 = {
        maxLevel: "decade",
        minLevel: "month",
        __updateDateOnYearSelect: true,
        __updateDateOnMonthSelect: true
    };
    var Calendar = core.factory((_props, ref) => {
        const props = core.useProps("Calendar", defaultProps17, _props);
        const {
            vars,
            // CalendarLevel props
            maxLevel,
            minLevel,
            defaultLevel,
            level,
            onLevelChange,
            date,
            defaultDate,
            onDateChange,
            numberOfColumns,
            columnsToScroll,
            ariaLabels,
            onYearSelect,
            onMonthSelect,
            onYearMouseEnter,
            onMonthMouseEnter,
            __updateDateOnYearSelect,
            __updateDateOnMonthSelect,
            // MonthLevelGroup props
            firstDayOfWeek,
            weekdayFormat,
            weekendDays,
            getDayProps,
            excludeDate,
            renderDay,
            hideOutsideDates,
            hideWeekdays,
            getDayAriaLabel,
            monthLabelFormat,
            nextIcon,
            previousIcon,
            __onDayClick,
            __onDayMouseEnter,
            withCellSpacing,
            highlightToday,
            // YearLevelGroup props
            monthsListFormat,
            getMonthControlProps,
            yearLabelFormat,
            // DecadeLevelGroup props
            yearsListFormat,
            getYearControlProps,
            decadeLabelFormat,
            // Other props
            classNames,
            styles,
            unstyled,
            minDate,
            maxDate,
            locale,
            __staticSelector,
            size,
            __preventFocus,
            __stopPropagation,
            onNextDecade,
            onPreviousDecade,
            onNextYear,
            onPreviousYear,
            onNextMonth,
            onPreviousMonth,
            static: isStatic,
            __timezoneApplied,
            ...others
        } = props;
        const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
            classNames,
            styles,
            props
        });
        const [_level, setLevel] = hooks.useUncontrolled({
            value: level ? clampLevel(level, minLevel, maxLevel) : void 0,
            defaultValue: defaultLevel ? clampLevel(defaultLevel, minLevel, maxLevel) : void 0,
            finalValue: clampLevel(void 0, minLevel, maxLevel),
            onChange: onLevelChange
        });
        const [_date, setDate] = useUncontrolledDates({
            type: "default",
            value: date,
            defaultValue: defaultDate,
            onChange: onDateChange,
            applyTimezone: !__timezoneApplied
        });
        const stylesApiProps = {
            __staticSelector: __staticSelector || "Calendar",
            styles: resolvedStyles,
            classNames: resolvedClassNames,
            unstyled,
            size
        };
        const ctx = useDatesContext();
        const _columnsToScroll = columnsToScroll || numberOfColumns || 1;
        const currentDate = _date || shiftTimezone("add", /* @__PURE__ */ new Date(), ctx.getTimezone());
        const handleNextMonth = () => {
            const nextDate = dayjs26(currentDate).add(_columnsToScroll, "month").toDate();
            onNextMonth?.(nextDate);
            setDate(nextDate);
        };
        const handlePreviousMonth = () => {
            const nextDate = dayjs26(currentDate).subtract(_columnsToScroll, "month").toDate();
            onPreviousMonth?.(nextDate);
            setDate(nextDate);
        };
        const handleNextYear = () => {
            const nextDate = dayjs26(currentDate).add(_columnsToScroll, "year").toDate();
            onNextYear?.(nextDate);
            setDate(nextDate);
        };
        const handlePreviousYear = () => {
            const nextDate = dayjs26(currentDate).subtract(_columnsToScroll, "year").toDate();
            onPreviousYear?.(nextDate);
            setDate(nextDate);
        };
        const handleNextDecade = () => {
            const nextDate = dayjs26(currentDate).add(10 * _columnsToScroll, "year").toDate();
            onNextDecade?.(nextDate);
            setDate(nextDate);
        };
        const handlePreviousDecade = () => {
            const nextDate = dayjs26(currentDate).subtract(10 * _columnsToScroll, "year").toDate();
            onPreviousDecade?.(nextDate);
            setDate(nextDate);
        };
        return /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ref, size, "data-calendar": true, ...others, children: [
            _level === "month" && /* @__PURE__ */ jsxRuntime.jsx(
                MonthLevelGroup,
                {
                    month: currentDate,
                    minDate,
                    maxDate,
                    firstDayOfWeek,
                    weekdayFormat,
                    weekendDays,
                    getDayProps,
                    excludeDate,
                    renderDay,
                    hideOutsideDates,
                    hideWeekdays,
                    getDayAriaLabel,
                    onNext: handleNextMonth,
                    onPrevious: handlePreviousMonth,
                    hasNextLevel: maxLevel !== "month",
                    onLevelClick: () => setLevel("year"),
                    numberOfColumns,
                    locale,
                    levelControlAriaLabel: ariaLabels?.monthLevelControl,
                    nextLabel: ariaLabels?.nextMonth,
                    nextIcon,
                    previousLabel: ariaLabels?.previousMonth,
                    previousIcon,
                    monthLabelFormat,
                    __onDayClick,
                    __onDayMouseEnter,
                    __preventFocus,
                    __stopPropagation,
                    static: isStatic,
                    withCellSpacing,
                    highlightToday,
                    ...stylesApiProps
                }
            ),
            _level === "year" && /* @__PURE__ */ jsxRuntime.jsx(
                YearLevelGroup,
                {
                    year: currentDate,
                    numberOfColumns,
                    minDate,
                    maxDate,
                    monthsListFormat,
                    getMonthControlProps,
                    locale,
                    onNext: handleNextYear,
                    onPrevious: handlePreviousYear,
                    hasNextLevel: maxLevel !== "month" && maxLevel !== "year",
                    onLevelClick: () => setLevel("decade"),
                    levelControlAriaLabel: ariaLabels?.yearLevelControl,
                    nextLabel: ariaLabels?.nextYear,
                    nextIcon,
                    previousLabel: ariaLabels?.previousYear,
                    previousIcon,
                    yearLabelFormat,
                    __onControlMouseEnter: onMonthMouseEnter,
                    __onControlClick: (_event, payload) => {
                        __updateDateOnMonthSelect && setDate(payload);
                        setLevel(clampLevel("month", minLevel, maxLevel));
                        onMonthSelect?.(payload);
                    },
                    __preventFocus,
                    __stopPropagation,
                    withCellSpacing,
                    ...stylesApiProps
                }
            ),
            _level === "decade" && /* @__PURE__ */ jsxRuntime.jsx(
                DecadeLevelGroup,
                {
                    decade: currentDate,
                    minDate,
                    maxDate,
                    yearsListFormat,
                    getYearControlProps,
                    locale,
                    onNext: handleNextDecade,
                    onPrevious: handlePreviousDecade,
                    numberOfColumns,
                    nextLabel: ariaLabels?.nextDecade,
                    nextIcon,
                    previousLabel: ariaLabels?.previousDecade,
                    previousIcon,
                    decadeLabelFormat,
                    __onControlMouseEnter: onYearMouseEnter,
                    __onControlClick: (_event, payload) => {
                        __updateDateOnYearSelect && setDate(payload);
                        setLevel(clampLevel("year", minLevel, maxLevel));
                        onYearSelect?.(payload);
                    },
                    __preventFocus,
                    __stopPropagation,
                    withCellSpacing,
                    ...stylesApiProps
                }
            )
        ] });
    });
    Calendar.classes = {
        ...DecadeLevelGroup.classes,
        ...YearLevelGroup.classes,
        ...MonthLevelGroup.classes
    };
    Calendar.displayName = "@mantine/dates/Calendar";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs
    function pickCalendarProps(props) {
        const {
            maxLevel,
            minLevel,
            defaultLevel,
            level,
            onLevelChange,
            nextIcon,
            previousIcon,
            date,
            defaultDate,
            onDateChange,
            numberOfColumns,
            columnsToScroll,
            ariaLabels,
            onYearSelect,
            onMonthSelect,
            onYearMouseEnter,
            onMonthMouseEnter,
            onNextMonth,
            onPreviousMonth,
            onNextYear,
            onPreviousYear,
            onNextDecade,
            onPreviousDecade,
            withCellSpacing,
            highlightToday,
            __updateDateOnYearSelect,
            __updateDateOnMonthSelect,
            // MonthLevelGroup props
            firstDayOfWeek,
            weekdayFormat,
            weekendDays,
            getDayProps,
            excludeDate,
            renderDay,
            hideOutsideDates,
            hideWeekdays,
            getDayAriaLabel,
            monthLabelFormat,
            // YearLevelGroup props
            monthsListFormat,
            getMonthControlProps,
            yearLabelFormat,
            // DecadeLevelGroup props
            yearsListFormat,
            getYearControlProps,
            decadeLabelFormat,
            // External picker props
            allowSingleDateInRange,
            allowDeselect,
            // Other props
            minDate,
            maxDate,
            locale,
            ...others
        } = props;
        return {
            calendarProps: {
                maxLevel,
                minLevel,
                defaultLevel,
                level,
                onLevelChange,
                nextIcon,
                previousIcon,
                date,
                defaultDate,
                onDateChange,
                numberOfColumns,
                columnsToScroll,
                ariaLabels,
                onYearSelect,
                onMonthSelect,
                onYearMouseEnter,
                onMonthMouseEnter,
                onNextMonth,
                onPreviousMonth,
                onNextYear,
                onPreviousYear,
                onNextDecade,
                onPreviousDecade,
                withCellSpacing,
                highlightToday,
                __updateDateOnYearSelect,
                __updateDateOnMonthSelect,
                // MonthLevelGroup props
                firstDayOfWeek,
                weekdayFormat,
                weekendDays,
                getDayProps,
                excludeDate,
                renderDay,
                hideOutsideDates,
                hideWeekdays,
                getDayAriaLabel,
                monthLabelFormat,
                // YearLevelGroup props
                monthsListFormat,
                getMonthControlProps,
                yearLabelFormat,
                // DecadeLevelGroup props
                yearsListFormat,
                getYearControlProps,
                decadeLabelFormat,
                // External picker props
                allowSingleDateInRange,
                allowDeselect,
                // Other props
                minDate,
                maxDate,
                locale
            },
            others
        };
    }
    function isInRange(date, range) {
        const _range = [...range].sort((a, b) => a.getTime() - b.getTime());
        return dayjs26(_range[0]).startOf("day").subtract(1, "ms").isBefore(date) && dayjs26(_range[1]).endOf("day").add(1, "ms").isAfter(date);
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/hooks/use-dates-state/use-dates-state.mjs
    function useDatesState({
        type,
        level,
        value,
        defaultValue,
        onChange,
        allowSingleDateInRange,
        allowDeselect,
        onMouseLeave,
        applyTimezone = true
    }) {
        const [_value, setValue] = useUncontrolledDates({
            type,
            value,
            defaultValue,
            onChange,
            applyTimezone
        });
        const [pickedDate, setPickedDate] = react.useState(
            type === "range" ? _value[0] && !_value[1] ? _value[0] : null : null
        );
        const [hoveredDate, setHoveredDate] = react.useState(null);
        const onDateChange = (date) => {
            if (type === "range") {
                if (pickedDate instanceof Date && !_value[1]) {
                    if (dayjs26(date).isSame(pickedDate, level) && !allowSingleDateInRange) {
                        setPickedDate(null);
                        setHoveredDate(null);
                        setValue([null, null]);
                        return;
                    }
                    const result = [date, pickedDate];
                    result.sort((a, b) => a.getTime() - b.getTime());
                    setValue(result);
                    setHoveredDate(null);
                    setPickedDate(null);
                    return;
                }
                if (_value[0] && !_value[1] && dayjs26(date).isSame(_value[0], level) && !allowSingleDateInRange) {
                    setPickedDate(null);
                    setHoveredDate(null);
                    setValue([null, null]);
                    return;
                }
                setValue([date, null]);
                setHoveredDate(null);
                setPickedDate(date);
                return;
            }
            if (type === "multiple") {
                if (_value.some((selected) => dayjs26(selected).isSame(date, level))) {
                    setValue(_value.filter((selected) => !dayjs26(selected).isSame(date, level)));
                } else {
                    setValue([..._value, date]);
                }
                return;
            }
            if (_value && allowDeselect && dayjs26(date).isSame(_value, level)) {
                setValue(null);
            } else {
                setValue(date);
            }
        };
        const isDateInRange = (date) => {
            if (pickedDate instanceof Date && hoveredDate instanceof Date) {
                return isInRange(date, [hoveredDate, pickedDate]);
            }
            if (_value[0] instanceof Date && _value[1] instanceof Date) {
                return isInRange(date, _value);
            }
            return false;
        };
        const onRootMouseLeave = type === "range" ? (event) => {
            onMouseLeave?.(event);
            setHoveredDate(null);
        } : onMouseLeave;
        const isFirstInRange = (date) => {
            if (!(_value[0] instanceof Date)) {
                return false;
            }
            if (dayjs26(date).isSame(_value[0], level)) {
                return !(hoveredDate && dayjs26(hoveredDate).isBefore(_value[0]));
            }
            return false;
        };
        const isLastInRange = (date) => {
            if (_value[1] instanceof Date) {
                return dayjs26(date).isSame(_value[1], level);
            }
            if (!(_value[0] instanceof Date) || !hoveredDate) {
                return false;
            }
            return dayjs26(hoveredDate).isBefore(_value[0]) && dayjs26(date).isSame(_value[0], level);
        };
        const getControlProps = (date) => {
            if (type === "range") {
                return {
                    selected: _value.some(
                        (selection) => selection && dayjs26(selection).isSame(date, level)
                    ),
                    inRange: isDateInRange(date),
                    firstInRange: isFirstInRange(date),
                    lastInRange: isLastInRange(date),
                    "data-autofocus": !!_value[0] && dayjs26(_value[0]).isSame(date, level) || void 0
                };
            }
            if (type === "multiple") {
                return {
                    selected: _value.some(
                        (selection) => selection && dayjs26(selection).isSame(date, level)
                    ),
                    "data-autofocus": !!_value[0] && dayjs26(_value[0]).isSame(date, level) || void 0
                };
            }
            const selected = dayjs26(_value).isSame(date, level);
            return { selected, "data-autofocus": selected || void 0 };
        };
        const onHoveredDateChange = type === "range" && pickedDate ? setHoveredDate : () => {
        };
        react.useEffect(() => {
            if (type === "range" && !_value[0] && !_value[1]) {
                setPickedDate(null);
            }
        }, [value]);
        return {
            onDateChange,
            onRootMouseLeave,
            onHoveredDateChange,
            getControlProps,
            _value,
            setValue
        };
    }
    var defaultProps18 = {
        type: "default"
    };
    var YearPicker = core.factory((_props, ref) => {
        const props = core.useProps("YearPicker", defaultProps18, _props);
        const {
            classNames,
            styles,
            vars,
            type,
            defaultValue,
            value,
            onChange,
            __staticSelector,
            getYearControlProps,
            allowSingleDateInRange,
            allowDeselect,
            onMouseLeave,
            onYearSelect,
            __updateDateOnYearSelect,
            __timezoneApplied,
            ...others
        } = props;
        const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState({
            type,
            level: "year",
            allowDeselect,
            allowSingleDateInRange,
            value,
            defaultValue,
            onChange,
            onMouseLeave,
            applyTimezone: !__timezoneApplied
        });
        const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
            classNames,
            styles,
            props
        });
        const ctx = useDatesContext();
        return /* @__PURE__ */ jsxRuntime.jsx(
            Calendar,
            {
                ref,
                minLevel: "decade",
                __updateDateOnYearSelect: __updateDateOnYearSelect ?? false,
                __staticSelector: __staticSelector || "YearPicker",
                onMouseLeave: onRootMouseLeave,
                onYearMouseEnter: (_event, date) => onHoveredDateChange(date),
                onYearSelect: (date) => {
                    onDateChange(date);
                    onYearSelect?.(date);
                },
                getYearControlProps: (date) => ({
                    ...getControlProps(date),
                    ...getYearControlProps?.(date)
                }),
                classNames: resolvedClassNames,
                styles: resolvedStyles,
                ...others,
                date: shiftTimezone("add", others.date, ctx.getTimezone(), __timezoneApplied),
                __timezoneApplied: true
            }
        );
    });
    YearPicker.classes = Calendar.classes;
    YearPicker.displayName = "@mantine/dates/YearPicker";
    var defaultProps19 = {
        type: "default"
    };
    var MonthPicker = core.factory((_props, ref) => {
        const props = core.useProps("MonthPicker", defaultProps19, _props);
        const {
            classNames,
            styles,
            vars,
            type,
            defaultValue,
            value,
            onChange,
            __staticSelector,
            getMonthControlProps,
            allowSingleDateInRange,
            allowDeselect,
            onMouseLeave,
            onMonthSelect,
            __updateDateOnMonthSelect,
            __timezoneApplied,
            onLevelChange,
            ...others
        } = props;
        const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState({
            type,
            level: "month",
            allowDeselect,
            allowSingleDateInRange,
            value,
            defaultValue,
            onChange,
            onMouseLeave,
            applyTimezone: !__timezoneApplied
        });
        const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
            classNames,
            styles,
            props
        });
        const ctx = useDatesContext();
        return /* @__PURE__ */ jsxRuntime.jsx(
            Calendar,
            {
                ref,
                minLevel: "year",
                __updateDateOnMonthSelect: __updateDateOnMonthSelect ?? false,
                __staticSelector: __staticSelector || "MonthPicker",
                onMouseLeave: onRootMouseLeave,
                onMonthMouseEnter: (_event, date) => onHoveredDateChange(date),
                onMonthSelect: (date) => {
                    onDateChange(date);
                    onMonthSelect?.(date);
                },
                getMonthControlProps: (date) => ({
                    ...getControlProps(date),
                    ...getMonthControlProps?.(date)
                }),
                classNames: resolvedClassNames,
                styles: resolvedStyles,
                onLevelChange,
                ...others,
                date: shiftTimezone("add", others.date, ctx.getTimezone(), __timezoneApplied)
            }
        );
    });
    MonthPicker.classes = Calendar.classes;
    MonthPicker.displayName = "@mantine/dates/MonthPicker";
    var defaultProps20 = {
        type: "default",
        defaultLevel: "month",
        numberOfColumns: 1
    };
    var DatePicker = core.factory((_props, ref) => {
        const props = core.useProps("DatePicker", defaultProps20, _props);
        const {
            classNames,
            styles,
            vars,
            type,
            defaultValue,
            value,
            onChange,
            __staticSelector,
            getDayProps,
            allowSingleDateInRange,
            allowDeselect,
            onMouseLeave,
            numberOfColumns,
            hideOutsideDates,
            __onDayMouseEnter,
            __onDayClick,
            __timezoneApplied,
            ...others
        } = props;
        const { onDateChange, onRootMouseLeave, onHoveredDateChange, getControlProps } = useDatesState({
            type,
            level: "day",
            allowDeselect,
            allowSingleDateInRange,
            value,
            defaultValue,
            onChange,
            onMouseLeave,
            applyTimezone: !__timezoneApplied
        });
        const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
            classNames,
            styles,
            props
        });
        const ctx = useDatesContext();
        return /* @__PURE__ */ jsxRuntime.jsx(
            Calendar,
            {
                ref,
                minLevel: "month",
                classNames: resolvedClassNames,
                styles: resolvedStyles,
                __staticSelector: __staticSelector || "DatePicker",
                onMouseLeave: onRootMouseLeave,
                numberOfColumns,
                hideOutsideDates: hideOutsideDates ?? numberOfColumns !== 1,
                __onDayMouseEnter: (_event, date) => {
                    onHoveredDateChange(date);
                    __onDayMouseEnter?.(_event, date);
                },
                __onDayClick: (_event, date) => {
                    onDateChange(date);
                    __onDayClick?.(_event, date);
                },
                getDayProps: (date) => ({
                    ...getControlProps(date),
                    ...getDayProps?.(date)
                }),
                ...others,
                date: shiftTimezone("add", others.date, ctx.getTimezone(), __timezoneApplied),
                __timezoneApplied: true
            }
        );
    });
    DatePicker.classes = Calendar.classes;
    DatePicker.displayName = "@mantine/dates/DatePicker";
    function dateStringParser(dateString, timezone) {
        if (dateString === null) {
            return null;
        }
        const date = shiftTimezone("add", new Date(dateString), timezone);
        if (Number.isNaN(date.getTime()) || !dateString) {
            return null;
        }
        return date;
    }
    function isDateValid({ date, maxDate, minDate }) {
        if (date == null) {
            return false;
        }
        if (Number.isNaN(date.getTime())) {
            return false;
        }
        if (maxDate && dayjs26(date).isAfter(maxDate, "date")) {
            return false;
        }
        if (minDate && dayjs26(date).isBefore(minDate, "date")) {
            return false;
        }
        return true;
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/DateInput/DateInput.mjs
    var defaultProps21 = {
        valueFormat: "MMMM D, YYYY",
        fixOnBlur: true,
        preserveTime: true
    };
    var DateInput = core.factory((_props, ref) => {
        const props = core.useInputProps("DateInput", defaultProps21, _props);
        const {
            inputProps,
            wrapperProps,
            value,
            defaultValue,
            onChange,
            clearable,
            clearButtonProps,
            popoverProps,
            getDayProps,
            locale,
            valueFormat,
            dateParser,
            minDate,
            maxDate,
            fixOnBlur,
            onFocus,
            onBlur,
            onClick,
            readOnly,
            name,
            form,
            rightSection,
            unstyled,
            classNames,
            styles,
            allowDeselect,
            preserveTime,
            date,
            defaultDate,
            onDateChange,
            ...rest
        } = props;
        const [dropdownOpened, setDropdownOpened] = react.useState(false);
        const { calendarProps, others } = pickCalendarProps(rest);
        const ctx = useDatesContext();
        const defaultDateParser = (val) => {
            const parsedDate = dayjs26(val, valueFormat, ctx.getLocale(locale)).toDate();
            return Number.isNaN(parsedDate.getTime()) ? dateStringParser(val, ctx.getTimezone()) : parsedDate;
        };
        const _dateParser = dateParser || defaultDateParser;
        const _allowDeselect = allowDeselect !== void 0 ? allowDeselect : clearable;
        const formatValue2 = (val) => val ? dayjs26(val).locale(ctx.getLocale(locale)).format(valueFormat) : "";
        const [_value, setValue, controlled] = useUncontrolledDates({
            type: "default",
            value,
            defaultValue,
            onChange
        });
        const [_date, setDate] = useUncontrolledDates({
            type: "default",
            value: date,
            defaultValue: defaultValue || defaultDate,
            onChange: onDateChange
        });
        react.useEffect(() => {
            if (controlled) {
                setDate(value);
            }
        }, [controlled, value]);
        const [inputValue, setInputValue] = react.useState(formatValue2(_value));
        react.useEffect(() => {
            setInputValue(formatValue2(_value));
        }, [ctx.getLocale(locale)]);
        const handleInputChange = (event) => {
            const val = event.currentTarget.value;
            setInputValue(val);
            setDropdownOpened(true);
            if (val.trim() === "" && clearable) {
                setValue(null);
            } else {
                const dateValue = _dateParser(val);
                if (isDateValid({ date: dateValue, minDate, maxDate })) {
                    setValue(dateValue);
                    setDate(dateValue);
                }
            }
        };
        const handleInputBlur = (event) => {
            onBlur?.(event);
            setDropdownOpened(false);
            fixOnBlur && setInputValue(formatValue2(_value));
        };
        const handleInputFocus = (event) => {
            onFocus?.(event);
            setDropdownOpened(true);
        };
        const handleInputClick = (event) => {
            onClick?.(event);
            setDropdownOpened(true);
        };
        const _getDayProps = (day) => ({
            ...getDayProps?.(day),
            selected: dayjs26(_value).isSame(day, "day"),
            onClick: () => {
                const valueWithTime = preserveTime ? assignTime(_value, day) : day;
                const val = clearable && _allowDeselect ? dayjs26(_value).isSame(day, "day") ? null : valueWithTime : valueWithTime;
                setValue(val);
                !controlled && setInputValue(formatValue2(val));
                setDropdownOpened(false);
            }
        });
        const _rightSection = rightSection || (clearable && _value && !readOnly ? /* @__PURE__ */ jsxRuntime.jsx(
            core.CloseButton,
            {
                variant: "transparent",
                onMouseDown: (event) => event.preventDefault(),
                tabIndex: -1,
                onClick: () => {
                    setValue(null);
                    !controlled && setInputValue("");
                    setDropdownOpened(false);
                },
                unstyled,
                size: inputProps.size || "sm",
                ...clearButtonProps
            }
        ) : null);
        hooks.useDidUpdate(() => {
            value !== void 0 && !dropdownOpened && setInputValue(formatValue2(value));
        }, [value]);
        return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
            /* @__PURE__ */ jsxRuntime.jsx(core.Input.Wrapper, { ...wrapperProps, __staticSelector: "DateInput", children: /* @__PURE__ */ jsxRuntime.jsxs(
                core.Popover,
                {
                    opened: dropdownOpened,
                    trapFocus: false,
                    position: "bottom-start",
                    disabled: readOnly,
                    withRoles: false,
                    unstyled,
                    ...popoverProps,
                    children: [
                        /* @__PURE__ */ jsxRuntime.jsx(core.Popover.Target, { children: /* @__PURE__ */ jsxRuntime.jsx(
                            core.Input,
                            {
                                "data-dates-input": true,
                                "data-read-only": readOnly || void 0,
                                autoComplete: "off",
                                ref,
                                value: inputValue,
                                onChange: handleInputChange,
                                onBlur: handleInputBlur,
                                onFocus: handleInputFocus,
                                onClick: handleInputClick,
                                readOnly,
                                rightSection: _rightSection,
                                ...inputProps,
                                ...others,
                                __staticSelector: "DateInput"
                            }
                        ) }),
                        /* @__PURE__ */ jsxRuntime.jsx(core.Popover.Dropdown, { onMouseDown: (event) => event.preventDefault(), "data-dates-dropdown": true, children: /* @__PURE__ */ jsxRuntime.jsx(
                            Calendar,
                            {
                                __staticSelector: "DateInput",
                                __timezoneApplied: true,
                                ...calendarProps,
                                classNames,
                                styles,
                                unstyled,
                                __preventFocus: true,
                                minDate,
                                maxDate,
                                locale,
                                getDayProps: _getDayProps,
                                size: inputProps.size,
                                date: _date,
                                onDateChange: setDate
                            }
                        ) })
                    ]
                }
            ) }),
            /* @__PURE__ */ jsxRuntime.jsx(HiddenDatesInput, { name, form, value: _value, type: "default" })
        ] });
    });
    DateInput.classes = { ...core.Input.classes, ...Calendar.classes };
    DateInput.displayName = "@mantine/dates/DateInput";

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/DateTimePicker/DateTimePicker.module.css.mjs
    var classes11 = { "timeWrapper": "m_208d2562", "timeInput": "m_62ee059" };

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/DateTimePicker/DateTimePicker.mjs
    var defaultProps22 = {
        dropdownType: "popover"
    };
    var DateTimePicker = core.factory((_props, ref) => {
        const props = core.useProps("DateTimePicker", defaultProps22, _props);
        const {
            value,
            defaultValue,
            onChange,
            valueFormat,
            locale,
            classNames,
            styles,
            unstyled,
            timeInputProps,
            submitButtonProps,
            withSeconds,
            level,
            defaultLevel,
            size,
            variant,
            dropdownType,
            vars,
            minDate,
            maxDate,
            ...rest
        } = props;
        const getStyles = core.useStyles({
            name: "DateTimePicker",
            classes: classes11,
            props,
            classNames,
            styles,
            unstyled,
            vars
        });
        const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
            classNames,
            styles,
            props
        });
        const _valueFormat = valueFormat || (withSeconds ? "DD/MM/YYYY HH:mm:ss" : "DD/MM/YYYY HH:mm");
        const timeInputRef = react.useRef();
        const timeInputRefMerged = hooks.useMergedRef(timeInputRef, timeInputProps?.ref);
        const {
            calendarProps: { allowSingleDateInRange, ...calendarProps },
            others
        } = pickCalendarProps(rest);
        const ctx = useDatesContext();
        const [_value, setValue] = useUncontrolledDates({
            type: "default",
            value,
            defaultValue,
            onChange
        });
        const formatTime = (dateValue) => dateValue ? dayjs26(dateValue).format(withSeconds ? "HH:mm:ss" : "HH:mm") : "";
        const [timeValue, setTimeValue] = react.useState(formatTime(_value));
        const [currentLevel, setCurrentLevel] = react.useState(level || defaultLevel || "month");
        const [dropdownOpened, dropdownHandlers] = hooks.useDisclosure(false);
        const formattedValue = _value ? dayjs26(_value).locale(ctx.getLocale(locale)).format(_valueFormat) : "";
        const handleTimeChange = (event) => {
            timeInputProps?.onChange?.(event);
            const val = event.currentTarget.value;
            setTimeValue(val);
            if (val) {
                const [hours, minutes, seconds] = val.split(":").map(Number);
                const timeDate = shiftTimezone("add", /* @__PURE__ */ new Date(), ctx.getTimezone());
                timeDate.setHours(hours);
                timeDate.setMinutes(minutes);
                timeDate.setSeconds(seconds || 0);
                setValue(assignTime(timeDate, _value || shiftTimezone("add", /* @__PURE__ */ new Date(), ctx.getTimezone())));
            }
        };
        const handleDateChange = (date) => {
            if (date) {
                setValue(assignTime(_value, date));
            }
            timeInputRef.current?.focus();
        };
        const handleTimeInputKeyDown = (event) => {
            timeInputProps?.onKeyDown?.(event);
            if (event.key === "Enter") {
                event.preventDefault();
                dropdownHandlers.close();
            }
        };
        hooks.useDidUpdate(() => {
            if (!dropdownOpened) {
                setTimeValue(formatTime(_value));
            }
        }, [_value, dropdownOpened]);
        hooks.useDidUpdate(() => {
            if (dropdownOpened) {
                setCurrentLevel("month");
            }
        }, [dropdownOpened]);
        const minTime = minDate ? dayjs26(minDate).format("HH:mm:ss") : null;
        const maxTime = maxDate ? dayjs26(maxDate).format("HH:mm:ss") : null;
        const __stopPropagation = dropdownType === "popover";
        return /* @__PURE__ */ jsxRuntime.jsxs(
            PickerInputBase,
            {
                formattedValue,
                dropdownOpened,
                dropdownHandlers,
                classNames: resolvedClassNames,
                styles: resolvedStyles,
                unstyled,
                ref,
                onClear: () => setValue(null),
                shouldClear: !!_value,
                value: _value,
                size,
                variant,
                dropdownType,
                ...others,
                type: "default",
                __staticSelector: "DateTimePicker",
                children: [
                    /* @__PURE__ */ jsxRuntime.jsx(
                        DatePicker,
                        {
                            ...calendarProps,
                            maxDate,
                            minDate,
                            size,
                            variant,
                            type: "default",
                            value: _value,
                            defaultDate: _value,
                            onChange: handleDateChange,
                            locale,
                            classNames: resolvedClassNames,
                            styles: resolvedStyles,
                            unstyled,
                            __staticSelector: "DateTimePicker",
                            __stopPropagation,
                            level,
                            defaultLevel,
                            onLevelChange: (_level) => {
                                setCurrentLevel(_level);
                                calendarProps.onLevelChange?.(_level);
                            },
                            __timezoneApplied: true
                        }
                    ),
                    currentLevel === "month" && /* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles("timeWrapper"), children: [
                        /* @__PURE__ */ jsxRuntime.jsx(
                            TimeInput,
                            {
                                value: timeValue,
                                withSeconds,
                                ref: timeInputRefMerged,
                                unstyled,
                                minTime: _value && minDate && _value.toDateString() === minDate.toDateString() ? minTime != null ? minTime : void 0 : void 0,
                                maxTime: _value && maxDate && _value.toDateString() === maxDate.toDateString() ? maxTime != null ? maxTime : void 0 : void 0,
                                ...timeInputProps,
                                ...getStyles("timeInput", {
                                    className: timeInputProps?.className,
                                    style: timeInputProps?.style
                                }),
                                onChange: handleTimeChange,
                                onKeyDown: handleTimeInputKeyDown,
                                size,
                                "data-mantine-stop-propagation": __stopPropagation || void 0
                            }
                        ),
                        /* @__PURE__ */ jsxRuntime.jsx(
                            core.ActionIcon,
                            {
                                variant: "default",
                                size: `input-${size || "sm"}`,
                                ...getStyles("submitButton", {
                                    className: submitButtonProps?.className,
                                    style: submitButtonProps?.style
                                }),
                                unstyled,
                                "data-mantine-stop-propagation": __stopPropagation || void 0,
                                children: /* @__PURE__ */ jsxRuntime.jsx(core.CheckIcon, { size: "30%" }),
                                ...submitButtonProps,
                                onClick: (event) => {
                                    submitButtonProps?.onClick?.(event);
                                    dropdownHandlers.close();
                                }
                            }
                        )
                    ] })
                ]
            }
        );
    });
    DateTimePicker.classes = { ...classes11, ...PickerInputBase.classes, ...DatePicker.classes };
    DateTimePicker.displayName = "@mantine/dates/DateTimePicker";
    function useDatesInput({
        type,
        value,
        defaultValue,
        onChange,
        locale,
        format,
        closeOnChange,
        sortDates,
        labelSeparator,
        valueFormatter
    }) {
        const ctx = useDatesContext();
        const [dropdownOpened, dropdownHandlers] = hooks.useDisclosure(false);
        const [_value, _setValue] = useUncontrolledDates({
            type,
            value,
            defaultValue,
            onChange
        });
        const formattedValue = getFormattedDate({
            type,
            date: _value,
            locale: ctx.getLocale(locale),
            format,
            labelSeparator: ctx.getLabelSeparator(labelSeparator),
            formatter: valueFormatter
        });
        const setValue = (val) => {
            if (closeOnChange) {
                if (type === "default") {
                    dropdownHandlers.close();
                }
                if (type === "range" && val[0] && val[1]) {
                    dropdownHandlers.close();
                }
            }
            if (sortDates && type === "multiple") {
                _setValue([...val].sort((a, b) => a.getTime() - b.getTime()));
            } else {
                _setValue(val);
            }
        };
        const onClear = () => setValue(type === "range" ? [null, null] : type === "multiple" ? [] : null);
        const shouldClear = type === "range" ? !!_value[0] : type === "multiple" ? _value.length > 0 : _value !== null;
        return {
            _value,
            setValue,
            onClear,
            shouldClear,
            formattedValue,
            dropdownOpened,
            dropdownHandlers
        };
    }

    // ../esmd/npm/@mantine/dates@7.11.1/node_modules/.pnpm/@mantine+dates@7.11.1_@mantine+core@7.11.1_@mantine+hooks@7.11.1_dayjs@1.11.11_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/dates/esm/components/YearPickerInput/YearPickerInput.mjs
    var defaultProps23 = {
        type: "default",
        valueFormat: "YYYY",
        closeOnChange: true,
        sortDates: true,
        dropdownType: "popover"
    };
    var YearPickerInput = core.factory(
        (_props, ref) => {
            const props = core.useProps("YearPickerInput", defaultProps23, _props);
            const {
                type,
                value,
                defaultValue,
                onChange,
                valueFormat,
                labelSeparator,
                locale,
                classNames,
                styles,
                unstyled,
                closeOnChange,
                size,
                variant,
                dropdownType,
                sortDates,
                minDate,
                maxDate,
                vars,
                valueFormatter,
                ...rest
            } = props;
            const { resolvedClassNames, resolvedStyles } = core.useResolvedStylesApi({
                classNames,
                styles,
                props
            });
            const { calendarProps, others } = pickCalendarProps(rest);
            const ctx = useDatesContext();
            const {
                _value,
                setValue,
                formattedValue,
                dropdownHandlers,
                dropdownOpened,
                onClear,
                shouldClear
            } = useDatesInput({
                type,
                value,
                defaultValue,
                onChange,
                locale,
                format: valueFormat,
                labelSeparator,
                closeOnChange,
                sortDates,
                valueFormatter
            });
            return /* @__PURE__ */ jsxRuntime.jsx(
                PickerInputBase,
                {
                    formattedValue,
                    dropdownOpened,
                    dropdownHandlers,
                    classNames: resolvedClassNames,
                    styles: resolvedStyles,
                    unstyled,
                    ref,
                    onClear,
                    shouldClear,
                    value: _value,
                    size,
                    variant,
                    dropdownType,
                    ...others,
                    type,
                    __staticSelector: "YearPickerInput",
                    children: /* @__PURE__ */ jsxRuntime.jsx(
                        YearPicker,
                        {
                            ...calendarProps,
                            size,
                            variant,
                            type,
                            value: _value,
                            defaultDate: Array.isArray(_value) ? _value[0] || getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() }) : _value || getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() }),
                            onChange: setValue,
                            locale,
                            classNames: resolvedClassNames,
                            styles: resolvedStyles,
                            unstyled,
                            __staticSelector: "YearPickerInput",
                            __stopPropagation: dropdownType === "popover",
                            minDate,
                            maxDate,
                            date: shiftTimezone("add", calendarProps.date, ctx.getTimezone()),
                            __timezoneApplied: true
                        }
                    )
                }
            );
        }
    );
    YearPickerInput.classes = { ...PickerInputBase.classes, ...YearPicker.classes };
    YearPickerInput.displayName = "@mantine/dates/YearPickerInput";
    var defaultProps24 = {
        type: "default",
        valueFormat: "MMMM YYYY",
        closeOnChange: true,
        sortDates: true,
        dropdownType: "popover"
    };
    var MonthPickerInput = core.factory(
        (_props, ref) => {
            const props = core.useProps("MonthPickerInput", defaultProps24, _props);
            const {
                type,
                value,
                defaultValue,
                onChange,
                valueFormat,
                labelSeparator,
                locale,
                classNames,
                styles,
                unstyled,
                closeOnChange,
                size,
                variant,
                dropdownType,
                sortDates,
                minDate,
                maxDate,
                vars,
                valueFormatter,
                ...rest
            } = props;
            const { resolvedClassNames, resolvedStyles } = core.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
            });
            const ctx = useDatesContext();
            return /* @__PURE__ */ jsxRuntime.jsx(
                PickerInputBase,
                {
                    formattedValue,
                    dropdownOpened,
                    dropdownHandlers,
                    classNames: resolvedClassNames,
                    styles: resolvedStyles,
                    unstyled,
                    ref,
                    onClear,
                    shouldClear,
                    value: _value,
                    size,
                    variant,
                    dropdownType,
                    ...others,
                    type,
                    __staticSelector: "MonthPickerInput",
                    children: /* @__PURE__ */ jsxRuntime.jsx(
                        MonthPicker,
                        {
                            ...calendarProps,
                            date: shiftTimezone("add", calendarProps.date, ctx.getTimezone()),
                            size,
                            variant,
                            type,
                            value: _value,
                            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,
                            __timezoneApplied: true
                        }
                    )
                }
            );
        }
    );
    MonthPickerInput.classes = { ...PickerInputBase.classes, ...MonthPicker.classes };
    MonthPickerInput.displayName = "@mantine/dates/MonthPickerInput";
    var defaultProps25 = {
        type: "default",
        valueFormat: "MMMM D, YYYY",
        closeOnChange: true,
        sortDates: true,
        dropdownType: "popover"
    };
    var DatePickerInput = core.factory(
        (_props, ref) => {
            const props = core.useProps("DatePickerInput", defaultProps25, _props);
            const {
                type,
                value,
                defaultValue,
                onChange,
                valueFormat,
                labelSeparator,
                locale,
                classNames,
                styles,
                unstyled,
                closeOnChange,
                size,
                variant,
                dropdownType,
                sortDates,
                minDate,
                maxDate,
                vars,
                defaultDate,
                valueFormatter,
                ...rest
            } = props;
            const { resolvedClassNames, resolvedStyles } = core.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
            });
            const _defaultDate = Array.isArray(_value) ? _value[0] || defaultDate : _value || defaultDate;
            const ctx = useDatesContext();
            return /* @__PURE__ */ jsxRuntime.jsx(
                PickerInputBase,
                {
                    formattedValue,
                    dropdownOpened,
                    dropdownHandlers,
                    classNames: resolvedClassNames,
                    styles: resolvedStyles,
                    unstyled,
                    ref,
                    onClear,
                    shouldClear,
                    value: _value,
                    size,
                    variant,
                    dropdownType,
                    ...others,
                    type,
                    __staticSelector: "DatePickerInput",
                    children: /* @__PURE__ */ jsxRuntime.jsx(
                        DatePicker,
                        {
                            ...calendarProps,
                            size,
                            variant,
                            type,
                            value: _value,
                            defaultDate: _defaultDate || getDefaultClampedDate({ maxDate, minDate, timezone: ctx.getTimezone() }),
                            onChange: setValue,
                            locale,
                            classNames: resolvedClassNames,
                            styles: resolvedStyles,
                            unstyled,
                            __staticSelector: "DatePickerInput",
                            __stopPropagation: dropdownType === "popover",
                            minDate,
                            maxDate,
                            date: shiftTimezone("add", calendarProps.date, ctx.getTimezone()),
                            __timezoneApplied: true
                        }
                    )
                }
            );
        }
    );
    DatePickerInput.classes = { ...PickerInputBase.classes, ...DatePicker.classes };
    DatePickerInput.displayName = "@mantine/dates/DatePickerInput";

    exports.Calendar = Calendar;
    exports.CalendarHeader = CalendarHeader;
    exports.DATES_PROVIDER_DEFAULT_SETTINGS = DATES_PROVIDER_DEFAULT_SETTINGS;
    exports.DateInput = DateInput;
    exports.DatePicker = DatePicker;
    exports.DatePickerInput = DatePickerInput;
    exports.DateTimePicker = DateTimePicker;
    exports.DatesProvider = DatesProvider;
    exports.Day = Day;
    exports.DecadeLevel = DecadeLevel;
    exports.DecadeLevelGroup = DecadeLevelGroup;
    exports.HiddenDatesInput = HiddenDatesInput;
    exports.LevelsGroup = LevelsGroup;
    exports.Month = Month;
    exports.MonthLevel = MonthLevel;
    exports.MonthLevelGroup = MonthLevelGroup;
    exports.MonthPicker = MonthPicker;
    exports.MonthPickerInput = MonthPickerInput;
    exports.MonthsList = MonthsList;
    exports.PickerControl = PickerControl;
    exports.PickerInputBase = PickerInputBase;
    exports.TimeInput = TimeInput;
    exports.WeekdaysRow = WeekdaysRow;
    exports.YearLevel = YearLevel;
    exports.YearLevelGroup = YearLevelGroup;
    exports.YearPicker = YearPicker;
    exports.YearPickerInput = YearPickerInput;
    exports.YearsList = YearsList;
    exports.assignTime = assignTime;
    exports.getDefaultClampedDate = getDefaultClampedDate;
    exports.getEndOfWeek = getEndOfWeek;
    exports.getFormattedDate = getFormattedDate;
    exports.getMonthDays = getMonthDays;
    exports.getStartOfWeek = getStartOfWeek;
    exports.handleControlKeyDown = handleControlKeyDown;
    exports.isSameMonth = isSameMonth;
    exports.pickCalendarProps = pickCalendarProps;
    exports.shiftTimezone = shiftTimezone;
    exports.useDatesContext = useDatesContext;

}));