@mantine᜵dates-umd

UMD of @mantine/dates

Dit script moet niet direct worden geïnstalleerd - het is een bibliotheek voor andere scripts om op te nemen met de meta-richtlijn // @require https://update.greasyfork.org/scripts/499641/1458386/%40mantine%E1%9C%B5dates-umd.js

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

(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/[email protected]) es2022 development */
    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/[email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/TimeInput/TimeInput.module.css.mjs
    var classes = { "input": "m_468e7eda" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/Day/Day.module.css.mjs
    var classes2 = { "day": "m_396ce5cb" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs
    var classes3 = { "weekday": "m_18a3eca" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/Month/Month.module.css.mjs
    var classes4 = { "month": "m_cc9820d3", "monthCell": "m_8f457cd5" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/PickerControl/PickerControl.module.css.mjs
    var classes5 = { "pickerControl": "m_dc6a3c71" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/YearsList/YearsList.module.css.mjs
    var classes6 = { "yearsList": "m_9206547b", "yearsListCell": "m_c5a19c7d" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/MonthsList/MonthsList.module.css.mjs
    var classes7 = { "monthsList": "m_2a6c32d", "monthsListCell": "m_fe27622f" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/LevelsGroup/LevelsGroup.module.css.mjs
    var classes9 = { "levelsGroup": "m_30b26e33" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/PickerInputBase/PickerInputBase.module.css.mjs
    var classes10 = { "input": "m_6fa5e2aa" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/@mantine/dates/esm/components/DateTimePicker/DateTimePicker.module.css.mjs
    var classes11 = { "timeWrapper": "m_208d2562", "timeInput": "m_62ee059" };

    // ../esmd/npm/@mantine/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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/[email protected]/node_modules/.pnpm/@[email protected]_@[email protected]_@[email protected][email protected][email protected][email protected]/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;

}));