import { require_react_dom } from "./chunk-KB6DYGX7.js"; import { require_jsx_runtime } from "./chunk-TJFCRJFQ.js"; import { require_react } from "./chunk-B3FUEPTP.js"; import { __toESM } from "./chunk-G3PMV62Z.js"; // node_modules/tslib/tslib.es6.mjs var __assign = function() { __assign = Object.assign || function __assign2(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __spreadArray(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); } // node_modules/react-remove-scroll/dist/es2015/Combination.js var React9 = __toESM(require_react()); // node_modules/react-remove-scroll/dist/es2015/UI.js var React5 = __toESM(require_react()); // node_modules/react-remove-scroll-bar/dist/es2015/constants.js var zeroRightClassName = "right-scroll-bar-position"; var fullWidthClassName = "width-before-scroll-bar"; var noScrollbarsClassName = "with-scroll-bars-hidden"; var removedBarSizeVariable = "--removed-body-scroll-bar-size"; // node_modules/use-callback-ref/dist/es2015/assignRef.js function assignRef(ref, value) { if (typeof ref === "function") { ref(value); } else if (ref) { ref.current = value; } return ref; } // node_modules/use-callback-ref/dist/es2015/useRef.js var import_react = __toESM(require_react()); function useCallbackRef(initialValue, callback) { var ref = (0, import_react.useState)(function() { return { // value value: initialValue, // last callback callback, // "memoized" public interface facade: { get current() { return ref.value; }, set current(value) { var last = ref.value; if (last !== value) { ref.value = value; ref.callback(value, last); } } } }; })[0]; ref.callback = callback; return ref.facade; } // node_modules/use-callback-ref/dist/es2015/useMergeRef.js var React = __toESM(require_react()); var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect; var currentValues = /* @__PURE__ */ new WeakMap(); function useMergeRefs(refs, defaultValue) { var callbackRef = useCallbackRef(defaultValue || null, function(newValue) { return refs.forEach(function(ref) { return assignRef(ref, newValue); }); }); useIsomorphicLayoutEffect(function() { var oldValue = currentValues.get(callbackRef); if (oldValue) { var prevRefs_1 = new Set(oldValue); var nextRefs_1 = new Set(refs); var current_1 = callbackRef.current; prevRefs_1.forEach(function(ref) { if (!nextRefs_1.has(ref)) { assignRef(ref, null); } }); nextRefs_1.forEach(function(ref) { if (!prevRefs_1.has(ref)) { assignRef(ref, current_1); } }); } currentValues.set(callbackRef, refs); }, [refs]); return callbackRef; } // node_modules/use-sidecar/dist/es2015/hoc.js var React2 = __toESM(require_react()); // node_modules/use-sidecar/dist/es2015/hook.js var import_react2 = __toESM(require_react()); // node_modules/use-sidecar/dist/es2015/medium.js function ItoI(a) { return a; } function innerCreateMedium(defaults, middleware) { if (middleware === void 0) { middleware = ItoI; } var buffer = []; var assigned = false; var medium = { read: function() { if (assigned) { throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`."); } if (buffer.length) { return buffer[buffer.length - 1]; } return defaults; }, useMedium: function(data) { var item = middleware(data, assigned); buffer.push(item); return function() { buffer = buffer.filter(function(x) { return x !== item; }); }; }, assignSyncMedium: function(cb) { assigned = true; while (buffer.length) { var cbs = buffer; buffer = []; cbs.forEach(cb); } buffer = { push: function(x) { return cb(x); }, filter: function() { return buffer; } }; }, assignMedium: function(cb) { assigned = true; var pendingQueue = []; if (buffer.length) { var cbs = buffer; buffer = []; cbs.forEach(cb); pendingQueue = buffer; } var executeQueue = function() { var cbs2 = pendingQueue; pendingQueue = []; cbs2.forEach(cb); }; var cycle = function() { return Promise.resolve().then(executeQueue); }; cycle(); buffer = { push: function(x) { pendingQueue.push(x); cycle(); }, filter: function(filter) { pendingQueue = pendingQueue.filter(filter); return buffer; } }; } }; return medium; } function createSidecarMedium(options) { if (options === void 0) { options = {}; } var medium = innerCreateMedium(null); medium.options = __assign({ async: true, ssr: false }, options); return medium; } // node_modules/use-sidecar/dist/es2015/renderProp.js var React3 = __toESM(require_react()); var import_react3 = __toESM(require_react()); // node_modules/use-sidecar/dist/es2015/exports.js var React4 = __toESM(require_react()); var SideCar = function(_a) { var sideCar = _a.sideCar, rest = __rest(_a, ["sideCar"]); if (!sideCar) { throw new Error("Sidecar: please provide `sideCar` property to import the right car"); } var Target = sideCar.read(); if (!Target) { throw new Error("Sidecar medium not found"); } return React4.createElement(Target, __assign({}, rest)); }; SideCar.isSideCarExport = true; function exportSidecar(medium, exported) { medium.useMedium(exported); return SideCar; } // node_modules/react-remove-scroll/dist/es2015/medium.js var effectCar = createSidecarMedium(); // node_modules/react-remove-scroll/dist/es2015/UI.js var nothing = function() { return; }; var RemoveScroll = React5.forwardRef(function(props, parentRef) { var ref = React5.useRef(null); var _a = React5.useState({ onScrollCapture: nothing, onWheelCapture: nothing, onTouchMoveCapture: nothing }), callbacks = _a[0], setCallbacks = _a[1]; var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container2 = _b === void 0 ? "div" : _b, gapMode = props.gapMode, rest = __rest(props, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]); var SideCar2 = sideCar; var containerRef = useMergeRefs([ref, parentRef]); var containerProps = __assign(__assign({}, rest), callbacks); return React5.createElement( React5.Fragment, null, enabled && React5.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noRelative, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }), forwardProps ? React5.cloneElement(React5.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React5.createElement(Container2, __assign({}, containerProps, { className, ref: containerRef }), children) ); }); RemoveScroll.defaultProps = { enabled: true, removeScrollBar: true, inert: false }; RemoveScroll.classNames = { fullWidth: fullWidthClassName, zeroRight: zeroRightClassName }; // node_modules/react-remove-scroll/dist/es2015/SideEffect.js var React8 = __toESM(require_react()); // node_modules/react-remove-scroll-bar/dist/es2015/component.js var React7 = __toESM(require_react()); // node_modules/react-style-singleton/dist/es2015/hook.js var React6 = __toESM(require_react()); // node_modules/get-nonce/dist/es2015/index.js var currentNonce; var getNonce = function() { if (currentNonce) { return currentNonce; } if (typeof __webpack_nonce__ !== "undefined") { return __webpack_nonce__; } return void 0; }; // node_modules/react-style-singleton/dist/es2015/singleton.js function makeStyleTag() { if (!document) return null; var tag = document.createElement("style"); tag.type = "text/css"; var nonce = getNonce(); if (nonce) { tag.setAttribute("nonce", nonce); } return tag; } function injectStyles(tag, css) { if (tag.styleSheet) { tag.styleSheet.cssText = css; } else { tag.appendChild(document.createTextNode(css)); } } function insertStyleTag(tag) { var head = document.head || document.getElementsByTagName("head")[0]; head.appendChild(tag); } var stylesheetSingleton = function() { var counter = 0; var stylesheet = null; return { add: function(style) { if (counter == 0) { if (stylesheet = makeStyleTag()) { injectStyles(stylesheet, style); insertStyleTag(stylesheet); } } counter++; }, remove: function() { counter--; if (!counter && stylesheet) { stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet); stylesheet = null; } } }; }; // node_modules/react-style-singleton/dist/es2015/hook.js var styleHookSingleton = function() { var sheet = stylesheetSingleton(); return function(styles, isDynamic) { React6.useEffect(function() { sheet.add(styles); return function() { sheet.remove(); }; }, [styles && isDynamic]); }; }; // node_modules/react-style-singleton/dist/es2015/component.js var styleSingleton = function() { var useStyle = styleHookSingleton(); var Sheet = function(_a) { var styles = _a.styles, dynamic = _a.dynamic; useStyle(styles, dynamic); return null; }; return Sheet; }; // node_modules/react-remove-scroll-bar/dist/es2015/utils.js var zeroGap = { left: 0, top: 0, right: 0, gap: 0 }; var parse = function(x) { return parseInt(x || "", 10) || 0; }; var getOffset = function(gapMode) { var cs = window.getComputedStyle(document.body); var left = cs[gapMode === "padding" ? "paddingLeft" : "marginLeft"]; var top = cs[gapMode === "padding" ? "paddingTop" : "marginTop"]; var right = cs[gapMode === "padding" ? "paddingRight" : "marginRight"]; return [parse(left), parse(top), parse(right)]; }; var getGapWidth = function(gapMode) { if (gapMode === void 0) { gapMode = "margin"; } if (typeof window === "undefined") { return zeroGap; } var offsets = getOffset(gapMode); var documentWidth = document.documentElement.clientWidth; var windowWidth = window.innerWidth; return { left: offsets[0], top: offsets[1], right: offsets[2], gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]) }; }; // node_modules/react-remove-scroll-bar/dist/es2015/component.js var Style = styleSingleton(); var lockAttribute = "data-scroll-locked"; var getStyles = function(_a, allowRelative, gapMode, important) { var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap; if (gapMode === void 0) { gapMode = "margin"; } return "\n .".concat(noScrollbarsClassName, " {\n overflow: hidden ").concat(important, ";\n padding-right: ").concat(gap, "px ").concat(important, ";\n }\n body[").concat(lockAttribute, "] {\n overflow: hidden ").concat(important, ";\n overscroll-behavior: contain;\n ").concat([ allowRelative && "position: relative ".concat(important, ";"), gapMode === "margin" && "\n padding-left: ".concat(left, "px;\n padding-top: ").concat(top, "px;\n padding-right: ").concat(right, "px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(gap, "px ").concat(important, ";\n "), gapMode === "padding" && "padding-right: ".concat(gap, "px ").concat(important, ";") ].filter(Boolean).join(""), "\n }\n \n .").concat(zeroRightClassName, " {\n right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " {\n margin-right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(zeroRightClassName, " .").concat(zeroRightClassName, " {\n right: 0 ").concat(important, ";\n }\n \n .").concat(fullWidthClassName, " .").concat(fullWidthClassName, " {\n margin-right: 0 ").concat(important, ";\n }\n \n body[").concat(lockAttribute, "] {\n ").concat(removedBarSizeVariable, ": ").concat(gap, "px;\n }\n"); }; var getCurrentUseCounter = function() { var counter = parseInt(document.body.getAttribute(lockAttribute) || "0", 10); return isFinite(counter) ? counter : 0; }; var useLockAttribute = function() { React7.useEffect(function() { document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString()); return function() { var newCounter = getCurrentUseCounter() - 1; if (newCounter <= 0) { document.body.removeAttribute(lockAttribute); } else { document.body.setAttribute(lockAttribute, newCounter.toString()); } }; }, []); }; var RemoveScrollBar = function(_a) { var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? "margin" : _b; useLockAttribute(); var gap = React7.useMemo(function() { return getGapWidth(gapMode); }, [gapMode]); return React7.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") }); }; // node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js var passiveSupported = false; if (typeof window !== "undefined") { try { options = Object.defineProperty({}, "passive", { get: function() { passiveSupported = true; return true; } }); window.addEventListener("test", options, options); window.removeEventListener("test", options, options); } catch (err) { passiveSupported = false; } } var options; var nonPassive = passiveSupported ? { passive: false } : false; // node_modules/react-remove-scroll/dist/es2015/handleScroll.js var alwaysContainsScroll = function(node) { return node.tagName === "TEXTAREA"; }; var elementCanBeScrolled = function(node, overflow) { if (!(node instanceof Element)) { return false; } var styles = window.getComputedStyle(node); return ( // not-not-scrollable styles[overflow] !== "hidden" && // contains scroll inside self !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === "visible") ); }; var elementCouldBeVScrolled = function(node) { return elementCanBeScrolled(node, "overflowY"); }; var elementCouldBeHScrolled = function(node) { return elementCanBeScrolled(node, "overflowX"); }; var locationCouldBeScrolled = function(axis, node) { var ownerDocument = node.ownerDocument; var current = node; do { if (typeof ShadowRoot !== "undefined" && current instanceof ShadowRoot) { current = current.host; } var isScrollable = elementCouldBeScrolled(axis, current); if (isScrollable) { var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2]; if (scrollHeight > clientHeight) { return true; } } current = current.parentNode; } while (current && current !== ownerDocument.body); return false; }; var getVScrollVariables = function(_a) { var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight; return [ scrollTop, scrollHeight, clientHeight ]; }; var getHScrollVariables = function(_a) { var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth; return [ scrollLeft, scrollWidth, clientWidth ]; }; var elementCouldBeScrolled = function(axis, node) { return axis === "v" ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node); }; var getScrollVariables = function(axis, node) { return axis === "v" ? getVScrollVariables(node) : getHScrollVariables(node); }; var getDirectionFactor = function(axis, direction) { return axis === "h" && direction === "rtl" ? -1 : 1; }; var handleScroll = function(axis, endTarget, event, sourceDelta, noOverscroll) { var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction); var delta = directionFactor * sourceDelta; var target = event.target; var targetInLock = endTarget.contains(target); var shouldCancelScroll = false; var isDeltaPositive = delta > 0; var availableScroll = 0; var availableScrollTop = 0; do { if (!target) { break; } var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2]; var elementScroll = scroll_1 - capacity - directionFactor * position; if (position || elementScroll) { if (elementCouldBeScrolled(axis, target)) { availableScroll += elementScroll; availableScrollTop += position; } } var parent_1 = target.parentNode; target = parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1; } while ( // portaled content !targetInLock && target !== document.body || // self content targetInLock && (endTarget.contains(target) || endTarget === target) ); if (isDeltaPositive && (noOverscroll && Math.abs(availableScroll) < 1 || !noOverscroll && delta > availableScroll)) { shouldCancelScroll = true; } else if (!isDeltaPositive && (noOverscroll && Math.abs(availableScrollTop) < 1 || !noOverscroll && -delta > availableScrollTop)) { shouldCancelScroll = true; } return shouldCancelScroll; }; // node_modules/react-remove-scroll/dist/es2015/SideEffect.js var getTouchXY = function(event) { return "changedTouches" in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0]; }; var getDeltaXY = function(event) { return [event.deltaX, event.deltaY]; }; var extractRef = function(ref) { return ref && "current" in ref ? ref.current : ref; }; var deltaCompare = function(x, y) { return x[0] === y[0] && x[1] === y[1]; }; var generateStyle = function(id) { return "\n .block-interactivity-".concat(id, " {pointer-events: none;}\n .allow-interactivity-").concat(id, " {pointer-events: all;}\n"); }; var idCounter = 0; var lockStack = []; function RemoveScrollSideCar(props) { var shouldPreventQueue = React8.useRef([]); var touchStartRef = React8.useRef([0, 0]); var activeAxis = React8.useRef(); var id = React8.useState(idCounter++)[0]; var Style2 = React8.useState(styleSingleton)[0]; var lastProps = React8.useRef(props); React8.useEffect(function() { lastProps.current = props; }, [props]); React8.useEffect(function() { if (props.inert) { document.body.classList.add("block-interactivity-".concat(id)); var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean); allow_1.forEach(function(el) { return el.classList.add("allow-interactivity-".concat(id)); }); return function() { document.body.classList.remove("block-interactivity-".concat(id)); allow_1.forEach(function(el) { return el.classList.remove("allow-interactivity-".concat(id)); }); }; } return; }, [props.inert, props.lockRef.current, props.shards]); var shouldCancelEvent = React8.useCallback(function(event, parent) { if ("touches" in event && event.touches.length === 2 || event.type === "wheel" && event.ctrlKey) { return !lastProps.current.allowPinchZoom; } var touch = getTouchXY(event); var touchStart = touchStartRef.current; var deltaX = "deltaX" in event ? event.deltaX : touchStart[0] - touch[0]; var deltaY = "deltaY" in event ? event.deltaY : touchStart[1] - touch[1]; var currentAxis; var target = event.target; var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? "h" : "v"; if ("touches" in event && moveDirection === "h" && target.type === "range") { return false; } var selection = window.getSelection(); var anchorNode = selection && selection.anchorNode; var isTouchingSelection = anchorNode ? anchorNode === target || anchorNode.contains(target) : false; if (isTouchingSelection) { return false; } var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target); if (!canBeScrolledInMainDirection) { return true; } if (canBeScrolledInMainDirection) { currentAxis = moveDirection; } else { currentAxis = moveDirection === "v" ? "h" : "v"; canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target); } if (!canBeScrolledInMainDirection) { return false; } if (!activeAxis.current && "changedTouches" in event && (deltaX || deltaY)) { activeAxis.current = currentAxis; } if (!currentAxis) { return true; } var cancelingAxis = activeAxis.current || currentAxis; return handleScroll(cancelingAxis, parent, event, cancelingAxis === "h" ? deltaX : deltaY, true); }, []); var shouldPrevent = React8.useCallback(function(_event) { var event = _event; if (!lockStack.length || lockStack[lockStack.length - 1] !== Style2) { return; } var delta = "deltaY" in event ? getDeltaXY(event) : getTouchXY(event); var sourceEvent = shouldPreventQueue.current.filter(function(e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0]; if (sourceEvent && sourceEvent.should) { if (event.cancelable) { event.preventDefault(); } return; } if (!sourceEvent) { var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function(node) { return node.contains(event.target); }); var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation; if (shouldStop) { if (event.cancelable) { event.preventDefault(); } } } }, []); var shouldCancel = React8.useCallback(function(name, delta, target, should) { var event = { name, delta, target, should, shadowParent: getOutermostShadowParent(target) }; shouldPreventQueue.current.push(event); setTimeout(function() { shouldPreventQueue.current = shouldPreventQueue.current.filter(function(e) { return e !== event; }); }, 1); }, []); var scrollTouchStart = React8.useCallback(function(event) { touchStartRef.current = getTouchXY(event); activeAxis.current = void 0; }, []); var scrollWheel = React8.useCallback(function(event) { shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current)); }, []); var scrollTouchMove = React8.useCallback(function(event) { shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current)); }, []); React8.useEffect(function() { lockStack.push(Style2); props.setCallbacks({ onScrollCapture: scrollWheel, onWheelCapture: scrollWheel, onTouchMoveCapture: scrollTouchMove }); document.addEventListener("wheel", shouldPrevent, nonPassive); document.addEventListener("touchmove", shouldPrevent, nonPassive); document.addEventListener("touchstart", scrollTouchStart, nonPassive); return function() { lockStack = lockStack.filter(function(inst) { return inst !== Style2; }); document.removeEventListener("wheel", shouldPrevent, nonPassive); document.removeEventListener("touchmove", shouldPrevent, nonPassive); document.removeEventListener("touchstart", scrollTouchStart, nonPassive); }; }, []); var removeScrollBar = props.removeScrollBar, inert = props.inert; return React8.createElement( React8.Fragment, null, inert ? React8.createElement(Style2, { styles: generateStyle(id) }) : null, removeScrollBar ? React8.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null ); } function getOutermostShadowParent(node) { var shadowParent = null; while (node !== null) { if (node instanceof ShadowRoot) { shadowParent = node.host; node = node.host; } node = node.parentNode; } return shadowParent; } // node_modules/react-remove-scroll/dist/es2015/sidecar.js var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar); // node_modules/react-remove-scroll/dist/es2015/Combination.js var ReactRemoveScroll = React9.forwardRef(function(props, ref) { return React9.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default })); }); ReactRemoveScroll.classNames = RemoveScroll.classNames; var Combination_default = ReactRemoveScroll; // node_modules/@mantine/core/esm/core/utils/keys/keys.mjs function keys(object) { return Object.keys(object); } // node_modules/@mantine/core/esm/core/utils/deep-merge/deep-merge.mjs function isObject(item) { return item && typeof item === "object" && !Array.isArray(item); } function deepMerge(target, source) { const result = { ...target }; const _source = source; if (isObject(target) && isObject(source)) { Object.keys(source).forEach((key) => { if (isObject(_source[key])) { if (!(key in target)) { result[key] = _source[key]; } else { result[key] = deepMerge(result[key], _source[key]); } } else { result[key] = _source[key]; } }); } return result; } // node_modules/@mantine/core/esm/core/utils/camel-to-kebab-case/camel-to-kebab-case.mjs function camelToKebabCase(value) { return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`); } // node_modules/@mantine/core/esm/core/utils/units-converters/px.mjs function getTransformedScaledValue(value) { if (typeof value !== "string" || !value.includes("var(--mantine-scale)")) { return value; } return value.match(/^calc\((.*?)\)$/)?.[1].split("*")[0].trim(); } function px(value) { const transformedValue = getTransformedScaledValue(value); if (typeof transformedValue === "number") { return transformedValue; } if (typeof transformedValue === "string") { if (transformedValue.includes("calc") || transformedValue.includes("var")) { return transformedValue; } if (transformedValue.includes("px")) { return Number(transformedValue.replace("px", "")); } if (transformedValue.includes("rem")) { return Number(transformedValue.replace("rem", "")) * 16; } if (transformedValue.includes("em")) { return Number(transformedValue.replace("em", "")) * 16; } return Number(transformedValue); } return NaN; } // node_modules/@mantine/core/esm/core/utils/units-converters/rem.mjs function scaleRem(remValue) { if (remValue === "0rem") { return "0rem"; } return `calc(${remValue} * var(--mantine-scale))`; } function createConverter(units, { shouldScale = false } = {}) { function converter(value) { if (value === 0 || value === "0") { return `0${units}`; } if (typeof value === "number") { const val = `${value / 16}${units}`; return shouldScale ? scaleRem(val) : val; } if (typeof value === "string") { if (value === "") { return value; } if (value.startsWith("calc(") || value.startsWith("clamp(") || value.includes("rgba(")) { return value; } if (value.includes(",")) { return value.split(",").map((val) => converter(val)).join(","); } if (value.includes(" ")) { return value.split(" ").map((val) => converter(val)).join(" "); } const replaced = value.replace("px", ""); if (!Number.isNaN(Number(replaced))) { const val = `${Number(replaced) / 16}${units}`; return shouldScale ? scaleRem(val) : val; } } return value; } return converter; } var rem = createConverter("rem", { shouldScale: true }); var em = createConverter("em"); // node_modules/@mantine/core/esm/core/utils/filter-props/filter-props.mjs function filterProps(props) { return Object.keys(props).reduce((acc, key) => { if (props[key] !== void 0) { acc[key] = props[key]; } return acc; }, {}); } // node_modules/@mantine/core/esm/core/utils/is-number-like/is-number-like.mjs function isNumberLike(value) { if (typeof value === "number") { return true; } if (typeof value === "string") { if (value.startsWith("calc(") || value.startsWith("var(") || value.includes(" ") && value.trim() !== "") { return true; } const cssUnitsRegex = /^[+-]?[0-9]+(\.[0-9]+)?(px|em|rem|ex|ch|lh|rlh|vw|vh|vmin|vmax|vb|vi|svw|svh|lvw|lvh|dvw|dvh|cm|mm|in|pt|pc|q|cqw|cqh|cqi|cqb|cqmin|cqmax|%)?$/; const values2 = value.trim().split(/\s+/); return values2.every((val) => cssUnitsRegex.test(val)); } return false; } // node_modules/@mantine/core/esm/core/utils/is-element/is-element.mjs var import_react4 = __toESM(require_react(), 1); function isElement(value) { if (Array.isArray(value) || value === null) { return false; } if (typeof value === "object") { if (value.type === import_react4.Fragment) { return false; } return true; } return false; } // node_modules/@mantine/core/esm/core/utils/create-safe-context/create-safe-context.mjs var import_jsx_runtime = __toESM(require_jsx_runtime(), 1); var import_react5 = __toESM(require_react(), 1); function createSafeContext(errorMessage) { const Context = (0, import_react5.createContext)(null); const useSafeContext = () => { const ctx = (0, import_react5.useContext)(Context); if (ctx === null) { throw new Error(errorMessage); } return ctx; }; const Provider = ({ children, value }) => (0, import_jsx_runtime.jsx)(Context.Provider, { value, children }); return [Provider, useSafeContext]; } // node_modules/@mantine/core/esm/core/utils/create-optional-context/create-optional-context.mjs var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1); var import_react6 = __toESM(require_react(), 1); function createOptionalContext(initialValue = null) { const Context = (0, import_react6.createContext)(initialValue); const useOptionalContext = () => (0, import_react6.useContext)(Context); const Provider = ({ children, value }) => (0, import_jsx_runtime2.jsx)(Context.Provider, { value, children }); return [Provider, useOptionalContext]; } // node_modules/@mantine/core/esm/core/utils/get-safe-id/get-safe-id.mjs function getSafeId(uid, errorMessage) { return (value) => { if (typeof value !== "string" || value.trim().length === 0) { throw new Error(errorMessage); } return `${uid}-${value}`; }; } // node_modules/@mantine/core/esm/core/utils/find-element-ancestor/find-element-ancestor.mjs function findElementAncestor(element, selector) { let _element = element; while ((_element = _element.parentElement) && !_element.matches(selector)) { } return _element; } // node_modules/@mantine/core/esm/core/utils/create-scoped-keydown-handler/create-scoped-keydown-handler.mjs function getPreviousIndex(current, elements, loop) { for (let i = current - 1; i >= 0; i -= 1) { if (!elements[i].disabled) { return i; } } if (loop) { for (let i = elements.length - 1; i > -1; i -= 1) { if (!elements[i].disabled) { return i; } } } return current; } function getNextIndex(current, elements, loop) { for (let i = current + 1; i < elements.length; i += 1) { if (!elements[i].disabled) { return i; } } if (loop) { for (let i = 0; i < elements.length; i += 1) { if (!elements[i].disabled) { return i; } } } return current; } function onSameLevel(target, sibling, parentSelector) { return findElementAncestor(target, parentSelector) === findElementAncestor(sibling, parentSelector); } function createScopedKeydownHandler({ parentSelector, siblingSelector, onKeyDown, loop = true, activateOnFocus = false, dir = "rtl", orientation }) { return (event) => { onKeyDown?.(event); const elements = Array.from( findElementAncestor(event.currentTarget, parentSelector)?.querySelectorAll( siblingSelector ) || [] ).filter((node) => onSameLevel(event.currentTarget, node, parentSelector)); const current = elements.findIndex((el) => event.currentTarget === el); const _nextIndex = getNextIndex(current, elements, loop); const _previousIndex = getPreviousIndex(current, elements, loop); const nextIndex = dir === "rtl" ? _previousIndex : _nextIndex; const previousIndex = dir === "rtl" ? _nextIndex : _previousIndex; switch (event.key) { case "ArrowRight": { if (orientation === "horizontal") { event.stopPropagation(); event.preventDefault(); elements[nextIndex].focus(); activateOnFocus && elements[nextIndex].click(); } break; } case "ArrowLeft": { if (orientation === "horizontal") { event.stopPropagation(); event.preventDefault(); elements[previousIndex].focus(); activateOnFocus && elements[previousIndex].click(); } break; } case "ArrowUp": { if (orientation === "vertical") { event.stopPropagation(); event.preventDefault(); elements[_previousIndex].focus(); activateOnFocus && elements[_previousIndex].click(); } break; } case "ArrowDown": { if (orientation === "vertical") { event.stopPropagation(); event.preventDefault(); elements[_nextIndex].focus(); activateOnFocus && elements[_nextIndex].click(); } break; } case "Home": { event.stopPropagation(); event.preventDefault(); !elements[0].disabled && elements[0].focus(); break; } case "End": { event.stopPropagation(); event.preventDefault(); const last = elements.length - 1; !elements[last].disabled && elements[last].focus(); break; } } }; } // node_modules/@mantine/core/esm/core/utils/get-default-z-index/get-default-z-index.mjs var elevations = { app: 100, modal: 200, popover: 300, overlay: 400, max: 9999 }; function getDefaultZIndex(level) { return elevations[level]; } // node_modules/@mantine/core/esm/core/utils/noop/noop.mjs var noop = () => { }; // node_modules/@mantine/core/esm/core/utils/close-on-escape/close-on-escape.mjs function closeOnEscape(callback, options = { active: true }) { if (typeof callback !== "function" || !options.active) { return options.onKeyDown || noop; } return (event) => { if (event.key === "Escape") { callback(event); options.onTrigger?.(); } }; } // node_modules/@mantine/core/esm/core/utils/get-size/get-size.mjs function getSize(size4, prefix = "size", convertToRem = true) { if (size4 === void 0) { return void 0; } return isNumberLike(size4) ? convertToRem ? rem(size4) : size4 : `var(--${prefix}-${size4})`; } function getSpacing(size4) { return getSize(size4, "mantine-spacing"); } function getRadius(size4) { if (size4 === void 0) { return "var(--mantine-radius-default)"; } return getSize(size4, "mantine-radius"); } function getFontSize(size4) { return getSize(size4, "mantine-font-size"); } function getLineHeight(size4) { return getSize(size4, "mantine-line-height", false); } function getShadow(size4) { if (!size4) { return void 0; } return getSize(size4, "mantine-shadow", false); } // node_modules/@mantine/core/esm/core/utils/create-event-handler/create-event-handler.mjs function createEventHandler(parentEventHandler, eventHandler) { return (event) => { parentEventHandler?.(event); eventHandler?.(event); }; } // node_modules/@mantine/core/esm/core/utils/get-breakpoint-value/get-breakpoint-value.mjs function getBreakpointValue(breakpoint, breakpoints) { if (breakpoint in breakpoints) { return px(breakpoints[breakpoint]); } return px(breakpoint); } // node_modules/@mantine/core/esm/core/utils/get-sorted-breakpoints/get-sorted-breakpoints.mjs function getSortedBreakpoints(values2, breakpoints) { const convertedBreakpoints = values2.map((breakpoint) => ({ value: breakpoint, px: getBreakpointValue(breakpoint, breakpoints) })); convertedBreakpoints.sort((a, b) => a.px - b.px); return convertedBreakpoints; } // node_modules/@mantine/core/esm/core/utils/get-base-value/get-base-value.mjs function getBaseValue(value) { if (typeof value === "object" && value !== null) { if ("base" in value) { return value.base; } return void 0; } return value; } // node_modules/@mantine/core/esm/core/utils/get-context-item-index/get-context-item-index.mjs function getContextItemIndex(elementSelector, parentSelector, node) { if (!node) { return null; } return Array.from( findElementAncestor(node, parentSelector)?.querySelectorAll(elementSelector) || [] ).findIndex((element) => element === node); } // node_modules/@mantine/core/esm/core/utils/use-hovered/use-hovered.mjs var import_react7 = __toESM(require_react(), 1); function useHovered() { const [hovered, setHovered] = (0, import_react7.useState)(-1); const resetHovered = () => setHovered(-1); return [hovered, { setHovered, resetHovered }]; } // node_modules/@mantine/hooks/esm/utils/clamp/clamp.mjs function clamp(value, min2, max2) { if (min2 === void 0 && max2 === void 0) { return value; } if (min2 !== void 0 && max2 === void 0) { return Math.max(value, min2); } if (min2 === void 0 && max2 !== void 0) { return Math.min(value, max2); } return Math.min(Math.max(value, min2), max2); } // node_modules/@mantine/hooks/esm/utils/random-id/random-id.mjs function randomId(prefix = "mantine-") { return `${prefix}${Math.random().toString(36).slice(2, 11)}`; } // node_modules/@mantine/hooks/esm/utils/shallow-equal/shallow-equal.mjs function shallowEqual(a, b) { if (a === b) { return true; } if (Number.isNaN(a) && Number.isNaN(b)) { return true; } if (!(a instanceof Object) || !(b instanceof Object)) { return false; } const keys2 = Object.keys(a); const { length } = keys2; if (length !== Object.keys(b).length) { return false; } for (let i = 0; i < length; i += 1) { const key = keys2[i]; if (!(key in b)) { return false; } if (a[key] !== b[key] && !(Number.isNaN(a[key]) && Number.isNaN(b[key]))) { return false; } } return true; } // node_modules/@mantine/hooks/esm/utils/use-callback-ref/use-callback-ref.mjs var import_react8 = __toESM(require_react(), 1); function useCallbackRef2(callback) { const callbackRef = (0, import_react8.useRef)(callback); (0, import_react8.useEffect)(() => { callbackRef.current = callback; }); return (0, import_react8.useMemo)(() => ((...args) => callbackRef.current?.(...args)), []); } // node_modules/@mantine/hooks/esm/use-debounced-callback/use-debounced-callback.mjs var import_react9 = __toESM(require_react(), 1); function useDebouncedCallback(callback, options) { const { delay, flushOnUnmount, leading } = typeof options === "number" ? { delay: options, flushOnUnmount: false, leading: false } : options; const handleCallback = useCallbackRef2(callback); const debounceTimerRef = (0, import_react9.useRef)(0); const lastCallback = (0, import_react9.useMemo)(() => { const currentCallback = Object.assign( (...args) => { window.clearTimeout(debounceTimerRef.current); const isFirstCall = currentCallback._isFirstCall; currentCallback._isFirstCall = false; function clearTimeoutAndLeadingRef() { window.clearTimeout(debounceTimerRef.current); debounceTimerRef.current = 0; currentCallback._isFirstCall = true; } if (leading && isFirstCall) { handleCallback(...args); const resetLeadingState = () => { clearTimeoutAndLeadingRef(); }; const flush2 = () => { if (debounceTimerRef.current !== 0) { clearTimeoutAndLeadingRef(); handleCallback(...args); } }; const cancel2 = () => { clearTimeoutAndLeadingRef(); }; currentCallback.flush = flush2; currentCallback.cancel = cancel2; debounceTimerRef.current = window.setTimeout(resetLeadingState, delay); return; } if (leading && !isFirstCall) { const flush2 = () => { if (debounceTimerRef.current !== 0) { clearTimeoutAndLeadingRef(); handleCallback(...args); } }; const cancel2 = () => { clearTimeoutAndLeadingRef(); }; currentCallback.flush = flush2; currentCallback.cancel = cancel2; const resetLeadingState = () => { clearTimeoutAndLeadingRef(); }; debounceTimerRef.current = window.setTimeout(resetLeadingState, delay); return; } const flush = () => { if (debounceTimerRef.current !== 0) { clearTimeoutAndLeadingRef(); handleCallback(...args); } }; const cancel = () => { clearTimeoutAndLeadingRef(); }; currentCallback.flush = flush; currentCallback.cancel = cancel; debounceTimerRef.current = window.setTimeout(flush, delay); }, { flush: () => { }, cancel: () => { }, _isFirstCall: true } ); return currentCallback; }, [handleCallback, delay, leading]); (0, import_react9.useEffect)( () => () => { if (flushOnUnmount) { lastCallback.flush(); } else { lastCallback.cancel(); } }, [lastCallback, flushOnUnmount] ); return lastCallback; } // node_modules/@mantine/hooks/esm/use-click-outside/use-click-outside.mjs var import_react10 = __toESM(require_react(), 1); var DEFAULT_EVENTS = ["mousedown", "touchstart"]; function useClickOutside(callback, events, nodes) { const ref = (0, import_react10.useRef)(null); const eventsList = events || DEFAULT_EVENTS; (0, import_react10.useEffect)(() => { const listener = (event) => { const { target } = event ?? {}; if (Array.isArray(nodes)) { const shouldIgnore = !document.body.contains(target) && target?.tagName !== "HTML"; const shouldTrigger = nodes.every((node) => !!node && !event.composedPath().includes(node)); shouldTrigger && !shouldIgnore && callback(event); } else if (ref.current && !ref.current.contains(target)) { callback(event); } }; eventsList.forEach((fn) => document.addEventListener(fn, listener)); return () => { eventsList.forEach((fn) => document.removeEventListener(fn, listener)); }; }, [ref, callback, nodes]); return ref; } // node_modules/@mantine/hooks/esm/use-clipboard/use-clipboard.mjs var import_react11 = __toESM(require_react(), 1); function useClipboard(options = { timeout: 2e3 }) { const [error2, setError] = (0, import_react11.useState)(null); const [copied, setCopied] = (0, import_react11.useState)(false); const [copyTimeout, setCopyTimeout] = (0, import_react11.useState)(null); const handleCopyResult = (value) => { window.clearTimeout(copyTimeout); setCopyTimeout(window.setTimeout(() => setCopied(false), options.timeout)); setCopied(value); }; const copy = (value) => { if ("clipboard" in navigator) { navigator.clipboard.writeText(value).then(() => handleCopyResult(true)).catch((err) => setError(err)); } else { setError(new Error("useClipboard: navigator.clipboard is not supported")); } }; const reset = () => { setCopied(false); setError(null); window.clearTimeout(copyTimeout); }; return { copy, reset, error: error2, copied }; } // node_modules/@mantine/hooks/esm/use-media-query/use-media-query.mjs var import_react12 = __toESM(require_react(), 1); function attachMediaListener(query, callback) { try { query.addEventListener("change", callback); return () => query.removeEventListener("change", callback); } catch (e) { query.addListener(callback); return () => query.removeListener(callback); } } function getInitialValue(query, initialValue) { if (typeof window !== "undefined" && "matchMedia" in window) { return window.matchMedia(query).matches; } return false; } function useMediaQuery(query, initialValue, { getInitialValueInEffect } = { getInitialValueInEffect: true }) { const [matches2, setMatches] = (0, import_react12.useState)( getInitialValueInEffect ? initialValue : getInitialValue(query) ); (0, import_react12.useEffect)(() => { try { const mediaQuery = window.matchMedia(query); setMatches(mediaQuery.matches); return attachMediaListener(mediaQuery, (event) => setMatches(event.matches)); } catch (e) { return void 0; } }, [query]); return matches2 || false; } // node_modules/@mantine/hooks/esm/use-color-scheme/use-color-scheme.mjs function useColorScheme(initialValue, options) { return useMediaQuery("(prefers-color-scheme: dark)", initialValue === "dark", options) ? "dark" : "light"; } // node_modules/@mantine/hooks/esm/use-counter/use-counter.mjs var import_react13 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-debounced-state/use-debounced-state.mjs var import_react14 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-debounced-value/use-debounced-value.mjs var import_react15 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-isomorphic-effect/use-isomorphic-effect.mjs var import_react16 = __toESM(require_react(), 1); var useIsomorphicEffect = typeof document !== "undefined" ? import_react16.useLayoutEffect : import_react16.useEffect; // node_modules/@mantine/hooks/esm/use-document-visibility/use-document-visibility.mjs var import_react17 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-focus-return/use-focus-return.mjs var import_react19 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-did-update/use-did-update.mjs var import_react18 = __toESM(require_react(), 1); function useDidUpdate(fn, dependencies) { const mounted = (0, import_react18.useRef)(false); (0, import_react18.useEffect)( () => () => { mounted.current = false; }, [] ); (0, import_react18.useEffect)(() => { if (mounted.current) { return fn(); } mounted.current = true; return void 0; }, dependencies); } // node_modules/@mantine/hooks/esm/use-focus-return/use-focus-return.mjs function useFocusReturn({ opened, shouldReturnFocus = true }) { const lastActiveElement = (0, import_react19.useRef)(null); const returnFocus = () => { if (lastActiveElement.current && "focus" in lastActiveElement.current && typeof lastActiveElement.current.focus === "function") { lastActiveElement.current?.focus({ preventScroll: true }); } }; useDidUpdate(() => { let timeout = -1; const clearFocusTimeout = (event) => { if (event.key === "Tab") { window.clearTimeout(timeout); } }; document.addEventListener("keydown", clearFocusTimeout); if (opened) { lastActiveElement.current = document.activeElement; } else if (shouldReturnFocus) { timeout = window.setTimeout(returnFocus, 10); } return () => { window.clearTimeout(timeout); document.removeEventListener("keydown", clearFocusTimeout); }; }, [opened, shouldReturnFocus]); return returnFocus; } // node_modules/@mantine/hooks/esm/use-focus-trap/use-focus-trap.mjs var import_react20 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-focus-trap/tabbable.mjs var TABBABLE_NODES = /input|select|textarea|button|object/; var FOCUS_SELECTOR = "a, input, select, textarea, button, object, [tabindex]"; function hidden(element) { if (false) { return false; } return element.style.display === "none"; } function visible(element) { const isHidden = element.getAttribute("aria-hidden") || element.getAttribute("hidden") || element.getAttribute("type") === "hidden"; if (isHidden) { return false; } let parentElement = element; while (parentElement) { if (parentElement === document.body || parentElement.nodeType === 11) { break; } if (hidden(parentElement)) { return false; } parentElement = parentElement.parentNode; } return true; } function getElementTabIndex(element) { let tabIndex = element.getAttribute("tabindex"); if (tabIndex === null) { tabIndex = void 0; } return parseInt(tabIndex, 10); } function focusable(element) { const nodeName = element.nodeName.toLowerCase(); const isTabIndexNotNaN = !Number.isNaN(getElementTabIndex(element)); const res = ( // @ts-expect-error function accepts any html element but if it is a button, it should not be disabled to trigger the condition TABBABLE_NODES.test(nodeName) && !element.disabled || (element instanceof HTMLAnchorElement ? element.href || isTabIndexNotNaN : isTabIndexNotNaN) ); return res && visible(element); } function tabbable(element) { const tabIndex = getElementTabIndex(element); const isTabIndexNaN = Number.isNaN(tabIndex); return (isTabIndexNaN || tabIndex >= 0) && focusable(element); } function findTabbableDescendants(element) { return Array.from(element.querySelectorAll(FOCUS_SELECTOR)).filter(tabbable); } // node_modules/@mantine/hooks/esm/use-focus-trap/scope-tab.mjs function scopeTab(node, event) { const tabbable3 = findTabbableDescendants(node); if (!tabbable3.length) { event.preventDefault(); return; } const finalTabbable = tabbable3[event.shiftKey ? 0 : tabbable3.length - 1]; const root = node.getRootNode(); let leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement; const activeElement2 = root.activeElement; const activeElementIsRadio = activeElement2.tagName === "INPUT" && activeElement2.getAttribute("type") === "radio"; if (activeElementIsRadio) { const activeRadioGroup = tabbable3.filter( (element) => element.getAttribute("type") === "radio" && element.getAttribute("name") === activeElement2.getAttribute("name") ); leavingFinalTabbable = activeRadioGroup.includes(finalTabbable); } if (!leavingFinalTabbable) { return; } event.preventDefault(); const target = tabbable3[event.shiftKey ? tabbable3.length - 1 : 0]; if (target) { target.focus(); } } // node_modules/@mantine/hooks/esm/use-focus-trap/use-focus-trap.mjs function useFocusTrap(active = true) { const ref = (0, import_react20.useRef)(null); const focusNode = (node) => { let focusElement = node.querySelector("[data-autofocus]"); if (!focusElement) { const children = Array.from(node.querySelectorAll(FOCUS_SELECTOR)); focusElement = children.find(tabbable) || children.find(focusable) || null; if (!focusElement && focusable(node)) { focusElement = node; } } if (focusElement) { focusElement.focus({ preventScroll: true }); } else if (true) { console.warn( "[@mantine/hooks/use-focus-trap] Failed to find focusable element within provided node", node ); } }; const setRef = (0, import_react20.useCallback)( (node) => { if (!active) { return; } if (node === null) { return; } if (ref.current === node) { return; } if (node) { setTimeout(() => { if (node.getRootNode()) { focusNode(node); } else if (true) { console.warn("[@mantine/hooks/use-focus-trap] Ref node is not part of the dom", node); } }); ref.current = node; } else { ref.current = null; } }, [active] ); (0, import_react20.useEffect)(() => { if (!active) { return void 0; } ref.current && setTimeout(() => focusNode(ref.current)); const handleKeyDown = (event) => { if (event.key === "Tab" && ref.current) { scopeTab(ref.current, event); } }; document.addEventListener("keydown", handleKeyDown); return () => document.removeEventListener("keydown", handleKeyDown); }, [active]); return setRef; } // node_modules/@mantine/hooks/esm/use-force-update/use-force-update.mjs var import_react21 = __toESM(require_react(), 1); var reducer = (value) => (value + 1) % 1e6; function useForceUpdate() { const [, update] = (0, import_react21.useReducer)(reducer, 0); return update; } // node_modules/@mantine/hooks/esm/use-id/use-id.mjs var import_react23 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-id/use-react-id.mjs var import_react22 = __toESM(require_react(), 1); var __useId = import_react22.default["useId".toString()] || (() => void 0); function useReactId() { const id = __useId(); return id ? `mantine-${id.replace(/:/g, "")}` : ""; } // node_modules/@mantine/hooks/esm/use-id/use-id.mjs function useId(staticId) { const reactId = useReactId(); const [uuid, setUuid] = (0, import_react23.useState)(reactId); useIsomorphicEffect(() => { setUuid(randomId()); }, []); if (typeof staticId === "string") { return staticId; } if (typeof window === "undefined") { return reactId; } return uuid; } // node_modules/@mantine/hooks/esm/use-idle/use-idle.mjs var import_react24 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-interval/use-interval.mjs var import_react25 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-list-state/use-list-state.mjs var import_react26 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-local-storage/create-storage.mjs var import_react28 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-window-event/use-window-event.mjs var import_react27 = __toESM(require_react(), 1); function useWindowEvent(type, listener, options) { (0, import_react27.useEffect)(() => { window.addEventListener(type, listener, options); return () => window.removeEventListener(type, listener, options); }, [type, listener]); } // node_modules/@mantine/hooks/esm/use-local-storage/create-storage.mjs function deserializeJSON(value) { try { return value && JSON.parse(value); } catch { return value; } } function createStorageHandler(type) { const getItem = (key) => { try { return window[type].getItem(key); } catch (error2) { console.warn("use-local-storage: Failed to get value from storage, localStorage is blocked"); return null; } }; const setItem = (key, value) => { try { window[type].setItem(key, value); } catch (error2) { console.warn("use-local-storage: Failed to set value to storage, localStorage is blocked"); } }; const removeItem = (key) => { try { window[type].removeItem(key); } catch (error2) { console.warn( "use-local-storage: Failed to remove value from storage, localStorage is blocked" ); } }; return { getItem, setItem, removeItem }; } function readValue(type) { const { getItem } = createStorageHandler(type); return function read({ key, defaultValue, deserialize = deserializeJSON }) { let storageBlockedOrSkipped; try { storageBlockedOrSkipped = typeof window === "undefined" || !(type in window) || window[type] === null; } catch (_e) { storageBlockedOrSkipped = true; } if (storageBlockedOrSkipped) { return defaultValue; } const storageValue = getItem(key); return storageValue !== null ? deserialize(storageValue) : defaultValue; }; } // node_modules/@mantine/hooks/esm/use-local-storage/use-local-storage.mjs var readLocalStorageValue = readValue("localStorage"); // node_modules/@mantine/hooks/esm/use-session-storage/use-session-storage.mjs var readSessionStorageValue = readValue("sessionStorage"); // node_modules/@mantine/hooks/esm/use-merged-ref/use-merged-ref.mjs var import_react29 = __toESM(require_react(), 1); function assignRef2(ref, value) { if (typeof ref === "function") { return ref(value); } else if (typeof ref === "object" && ref !== null && "current" in ref) { ref.current = value; } } function mergeRefs2(...refs) { const cleanupMap = /* @__PURE__ */ new Map(); return (node) => { refs.forEach((ref) => { const cleanup2 = assignRef2(ref, node); if (cleanup2) { cleanupMap.set(ref, cleanup2); } }); if (cleanupMap.size > 0) { return () => { refs.forEach((ref) => { const cleanup2 = cleanupMap.get(ref); if (cleanup2 && typeof cleanup2 === "function") { cleanup2(); } else { assignRef2(ref, null); } }); cleanupMap.clear(); }; } }; } function useMergedRef(...refs) { return (0, import_react29.useCallback)(mergeRefs2(...refs), refs); } // node_modules/@mantine/hooks/esm/use-mouse/use-mouse.mjs var import_react30 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-move/use-move.mjs var import_react31 = __toESM(require_react(), 1); function clampUseMovePosition(position) { return { x: clamp(position.x, 0, 1), y: clamp(position.y, 0, 1) }; } function useMove(onChange, handlers, dir = "ltr") { const mounted = (0, import_react31.useRef)(false); const isSliding = (0, import_react31.useRef)(false); const frame = (0, import_react31.useRef)(0); const [active, setActive] = (0, import_react31.useState)(false); const cleanupRef = (0, import_react31.useRef)(null); (0, import_react31.useEffect)(() => { mounted.current = true; }, []); const refCallback = (0, import_react31.useCallback)( (node) => { if (cleanupRef.current) { cleanupRef.current(); cleanupRef.current = null; } if (!node) { return; } const onScrub = ({ x, y }) => { cancelAnimationFrame(frame.current); frame.current = requestAnimationFrame(() => { if (mounted.current && node) { node.style.userSelect = "none"; const rect = node.getBoundingClientRect(); if (rect.width && rect.height) { const _x = clamp((x - rect.left) / rect.width, 0, 1); onChange({ x: dir === "ltr" ? _x : 1 - _x, y: clamp((y - rect.top) / rect.height, 0, 1) }); } } }); }; const bindEvents = () => { document.addEventListener("mousemove", onMouseMove); document.addEventListener("mouseup", stopScrubbing); document.addEventListener("touchmove", onTouchMove, { passive: false }); document.addEventListener("touchend", stopScrubbing); }; const unbindEvents = () => { document.removeEventListener("mousemove", onMouseMove); document.removeEventListener("mouseup", stopScrubbing); document.removeEventListener("touchmove", onTouchMove); document.removeEventListener("touchend", stopScrubbing); }; const startScrubbing = () => { if (!isSliding.current && mounted.current) { isSliding.current = true; typeof handlers?.onScrubStart === "function" && handlers.onScrubStart(); setActive(true); bindEvents(); } }; const stopScrubbing = () => { if (isSliding.current && mounted.current) { isSliding.current = false; setActive(false); unbindEvents(); setTimeout(() => { typeof handlers?.onScrubEnd === "function" && handlers.onScrubEnd(); }, 0); } }; const onMouseDown = (event) => { startScrubbing(); event.preventDefault(); onMouseMove(event); }; const onMouseMove = (event) => onScrub({ x: event.clientX, y: event.clientY }); const onTouchStart = (event) => { if (event.cancelable) { event.preventDefault(); } startScrubbing(); onTouchMove(event); }; const onTouchMove = (event) => { if (event.cancelable) { event.preventDefault(); } onScrub({ x: event.changedTouches[0].clientX, y: event.changedTouches[0].clientY }); }; node.addEventListener("mousedown", onMouseDown); node.addEventListener("touchstart", onTouchStart, { passive: false }); cleanupRef.current = () => { node.removeEventListener("mousedown", onMouseDown); node.removeEventListener("touchstart", onTouchStart); }; }, [dir, onChange] ); return { ref: refCallback, active }; } // node_modules/@mantine/hooks/esm/use-pagination/use-pagination.mjs var import_react33 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-uncontrolled/use-uncontrolled.mjs var import_react32 = __toESM(require_react(), 1); function useUncontrolled({ value, defaultValue, finalValue, onChange = () => { } }) { const [uncontrolledValue, setUncontrolledValue] = (0, import_react32.useState)( defaultValue !== void 0 ? defaultValue : finalValue ); const handleUncontrolledChange = (val, ...payload) => { setUncontrolledValue(val); onChange?.(val, ...payload); }; if (value !== void 0) { return [value, onChange, true]; } return [uncontrolledValue, handleUncontrolledChange, false]; } // node_modules/@mantine/hooks/esm/use-pagination/use-pagination.mjs function range(start, end) { const length = end - start + 1; return Array.from({ length }, (_, index5) => index5 + start); } var DOTS = "dots"; function usePagination({ total, siblings = 1, boundaries = 1, page, initialPage = 1, onChange }) { const _total = Math.max(Math.trunc(total), 0); const [activePage, setActivePage] = useUncontrolled({ value: page, onChange, defaultValue: initialPage, finalValue: initialPage }); const setPage = (pageNumber) => { if (pageNumber <= 0) { setActivePage(1); } else if (pageNumber > _total) { setActivePage(_total); } else { setActivePage(pageNumber); } }; const next = () => setPage(activePage + 1); const previous = () => setPage(activePage - 1); const first = () => setPage(1); const last = () => setPage(_total); const paginationRange = (0, import_react33.useMemo)(() => { const totalPageNumbers = siblings * 2 + 3 + boundaries * 2; if (totalPageNumbers >= _total) { return range(1, _total); } const leftSiblingIndex = Math.max(activePage - siblings, boundaries); const rightSiblingIndex = Math.min(activePage + siblings, _total - boundaries); const shouldShowLeftDots = leftSiblingIndex > boundaries + 2; const shouldShowRightDots = rightSiblingIndex < _total - (boundaries + 1); if (!shouldShowLeftDots && shouldShowRightDots) { const leftItemCount = siblings * 2 + boundaries + 2; return [...range(1, leftItemCount), DOTS, ...range(_total - (boundaries - 1), _total)]; } if (shouldShowLeftDots && !shouldShowRightDots) { const rightItemCount = boundaries + 1 + 2 * siblings; return [...range(1, boundaries), DOTS, ...range(_total - rightItemCount, _total)]; } return [ ...range(1, boundaries), DOTS, ...range(leftSiblingIndex, rightSiblingIndex), DOTS, ...range(_total - boundaries + 1, _total) ]; }, [_total, siblings, activePage]); return { range: paginationRange, active: activePage, setPage, next, previous, first, last }; } // node_modules/@mantine/hooks/esm/use-queue/use-queue.mjs var import_react34 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-page-leave/use-page-leave.mjs var import_react35 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-reduced-motion/use-reduced-motion.mjs function useReducedMotion(initialValue, options) { return useMediaQuery("(prefers-reduced-motion: reduce)", initialValue, options); } // node_modules/@mantine/hooks/esm/use-scroll-into-view/use-scroll-into-view.mjs var import_react36 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-resize-observer/use-resize-observer.mjs var import_react37 = __toESM(require_react(), 1); var defaultState = { x: 0, y: 0, width: 0, height: 0, top: 0, left: 0, bottom: 0, right: 0 }; function useResizeObserver(options) { const frameID = (0, import_react37.useRef)(0); const ref = (0, import_react37.useRef)(null); const [rect, setRect] = (0, import_react37.useState)(defaultState); const observer = (0, import_react37.useMemo)( () => typeof window !== "undefined" ? new ResizeObserver((entries) => { const entry = entries[0]; if (entry) { cancelAnimationFrame(frameID.current); frameID.current = requestAnimationFrame(() => { if (ref.current) { const boxSize = entry.borderBoxSize?.[0] || entry.contentBoxSize?.[0]; if (boxSize) { const width = boxSize.inlineSize; const height = boxSize.blockSize; setRect({ width, height, x: entry.contentRect.x, y: entry.contentRect.y, top: entry.contentRect.top, left: entry.contentRect.left, bottom: entry.contentRect.bottom, right: entry.contentRect.right }); } else { setRect(entry.contentRect); } } }); } }) : null, [] ); (0, import_react37.useEffect)(() => { if (ref.current) { observer?.observe(ref.current, options); } return () => { observer?.disconnect(); if (frameID.current) { cancelAnimationFrame(frameID.current); } }; }, [ref.current]); return [ref, rect]; } function useElementSize(options) { const [ref, { width, height }] = useResizeObserver(options); return { ref, width, height }; } // node_modules/@mantine/hooks/esm/use-shallow-effect/use-shallow-effect.mjs var import_react38 = __toESM(require_react(), 1); function shallowCompare(prevValue, currValue) { if (!prevValue || !currValue) { return false; } if (prevValue === currValue) { return true; } if (prevValue.length !== currValue.length) { return false; } for (let i = 0; i < prevValue.length; i += 1) { if (!shallowEqual(prevValue[i], currValue[i])) { return false; } } return true; } function useShallowCompare(dependencies) { const ref = (0, import_react38.useRef)([]); const updateRef3 = (0, import_react38.useRef)(0); if (!shallowCompare(ref.current, dependencies)) { ref.current = dependencies; updateRef3.current += 1; } return [updateRef3.current]; } function useShallowEffect(cb, dependencies) { (0, import_react38.useEffect)(cb, useShallowCompare(dependencies)); } // node_modules/@mantine/hooks/esm/use-toggle/use-toggle.mjs var import_react39 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-viewport-size/use-viewport-size.mjs var import_react40 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-window-scroll/use-window-scroll.mjs var import_react41 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-intersection/use-intersection.mjs var import_react42 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-hash/use-hash.mjs var import_react43 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-hotkeys/use-hotkeys.mjs var import_react44 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-fullscreen/use-fullscreen.mjs var import_react45 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-logger/use-logger.mjs var import_react46 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-hover/use-hover.mjs var import_react47 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-validated-state/use-validated-state.mjs var import_react48 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-os/use-os.mjs var import_react49 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-set-state/use-set-state.mjs var import_react50 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-input-state/use-input-state.mjs var import_react51 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-event-listener/use-event-listener.mjs var import_react52 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-disclosure/use-disclosure.mjs var import_react53 = __toESM(require_react(), 1); function useDisclosure(initialState = false, options = {}) { const [opened, setOpened] = (0, import_react53.useState)(initialState); const open = (0, import_react53.useCallback)(() => { setOpened((isOpened) => { if (!isOpened) { options.onOpen?.(); return true; } return isOpened; }); }, [options.onOpen]); const close = (0, import_react53.useCallback)(() => { setOpened((isOpened) => { if (isOpened) { options.onClose?.(); return false; } return isOpened; }); }, [options.onClose]); const toggle = (0, import_react53.useCallback)(() => { opened ? close() : open(); }, [close, open, opened]); return [opened, { open, close, toggle }]; } // node_modules/@mantine/hooks/esm/use-focus-within/use-focus-within.mjs var import_react54 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-network/use-network.mjs var import_react55 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-timeout/use-timeout.mjs var import_react56 = __toESM(require_react(), 1); function useTimeout(callback, delay, options = { autoInvoke: false }) { const timeoutRef = (0, import_react56.useRef)(null); const start = (0, import_react56.useCallback)( (...args) => { if (!timeoutRef.current) { timeoutRef.current = window.setTimeout(() => { callback(args); timeoutRef.current = null; }, delay); } }, [delay] ); const clear = (0, import_react56.useCallback)(() => { if (timeoutRef.current) { window.clearTimeout(timeoutRef.current); timeoutRef.current = null; } }, []); (0, import_react56.useEffect)(() => { if (options.autoInvoke) { start(); } return clear; }, [clear, start]); return { start, clear }; } // node_modules/@mantine/hooks/esm/use-text-selection/use-text-selection.mjs var import_react57 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-previous/use-previous.mjs var import_react58 = __toESM(require_react(), 1); function usePrevious(value) { const ref = (0, import_react58.useRef)(void 0); (0, import_react58.useEffect)(() => { ref.current = value; }, [value]); return ref.current; } // node_modules/@mantine/hooks/esm/use-favicon/use-favicon.mjs var import_react59 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-headroom/use-headroom.mjs var import_react60 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-eye-dropper/use-eye-dropper.mjs var import_react61 = __toESM(require_react(), 1); function useEyeDropper() { const [supported, setSupported] = (0, import_react61.useState)(false); useIsomorphicEffect(() => { setSupported(typeof window !== "undefined" && !isOpera() && "EyeDropper" in window); }, []); const open = (0, import_react61.useCallback)( (options = {}) => { if (supported) { const eyeDropper = new window.EyeDropper(); return eyeDropper.open(options); } return Promise.resolve(void 0); }, [supported] ); return { supported, open }; } function isOpera() { return navigator.userAgent.includes("OPR"); } // node_modules/@mantine/hooks/esm/use-in-viewport/use-in-viewport.mjs var import_react62 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-mutation-observer/use-mutation-observer.mjs var import_react63 = __toESM(require_react(), 1); function useMutationObserver(callback, options, target) { const observer = (0, import_react63.useRef)(null); const ref = (0, import_react63.useRef)(null); (0, import_react63.useEffect)(() => { const targetElement = typeof target === "function" ? target() : target; if (targetElement || ref.current) { observer.current = new MutationObserver(callback); observer.current.observe(targetElement || ref.current, options); } return () => { observer.current?.disconnect(); }; }, [callback, options]); return ref; } // node_modules/@mantine/hooks/esm/use-mounted/use-mounted.mjs var import_react64 = __toESM(require_react(), 1); function useMounted() { const [mounted, setMounted] = (0, import_react64.useState)(false); (0, import_react64.useEffect)(() => setMounted(true), []); return mounted; } // node_modules/@mantine/hooks/esm/use-state-history/use-state-history.mjs var import_react65 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-map/use-map.mjs var import_react66 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-set/use-set.mjs var import_react67 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-throttled-callback/use-throttled-callback.mjs var import_react68 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-throttled-state/use-throttled-state.mjs var import_react69 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-throttled-value/use-throttled-value.mjs var import_react70 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-is-first-render/use-is-first-render.mjs var import_react71 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-orientation/use-orientation.mjs var import_react72 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-fetch/use-fetch.mjs var import_react73 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-radial-move/use-radial-move.mjs var import_react74 = __toESM(require_react(), 1); function radiansToDegrees(radians) { return radians * (180 / Math.PI); } function getElementCenter(element) { const rect = element.getBoundingClientRect(); return [rect.left + rect.width / 2, rect.top + rect.height / 2]; } function getAngle(coordinates, element) { const center = getElementCenter(element); const x = coordinates[0] - center[0]; const y = coordinates[1] - center[1]; const deg = radiansToDegrees(Math.atan2(x, y)) + 180; return 360 - deg; } function toFixed(value, digits) { return parseFloat(value.toFixed(digits)); } function getDigitsAfterDot(value) { return value.toString().split(".")[1]?.length || 0; } function normalizeRadialValue(degree, step) { const clamped = clamp(degree, 0, 360); const high = Math.ceil(clamped / step); const low = Math.round(clamped / step); return toFixed( high >= clamped / step ? high * step === 360 ? 0 : high * step : low * step, getDigitsAfterDot(step) ); } function useRadialMove(onChange, { step = 0.01, onChangeEnd, onScrubStart, onScrubEnd } = {}) { const mounted = (0, import_react74.useRef)(false); const [active, setActive] = (0, import_react74.useState)(false); (0, import_react74.useEffect)(() => { mounted.current = true; }, []); const refCallback = (0, import_react74.useCallback)( (node) => { const update = (event, done = false) => { if (node) { node.style.userSelect = "none"; const deg = getAngle([event.clientX, event.clientY], node); const newValue = normalizeRadialValue(deg, step || 1); onChange(newValue); done && onChangeEnd?.(newValue); } }; const beginTracking = () => { onScrubStart?.(); setActive(true); document.addEventListener("mousemove", handleMouseMove, false); document.addEventListener("mouseup", handleMouseUp, false); document.addEventListener("touchmove", handleTouchMove, { passive: false }); document.addEventListener("touchend", handleTouchEnd, false); }; const endTracking = () => { onScrubEnd?.(); setActive(false); document.removeEventListener("mousemove", handleMouseMove, false); document.removeEventListener("mouseup", handleMouseUp, false); document.removeEventListener("touchmove", handleTouchMove, false); document.removeEventListener("touchend", handleTouchEnd, false); }; const onMouseDown = (event) => { beginTracking(); update(event); }; const handleMouseMove = (event) => { update(event); }; const handleMouseUp = (event) => { update(event, true); endTracking(); }; const handleTouchMove = (event) => { event.preventDefault(); update(event.touches[0]); }; const handleTouchEnd = (event) => { update(event.changedTouches[0], true); endTracking(); }; const handleTouchStart = (event) => { event.preventDefault(); beginTracking(); update(event.touches[0]); }; node?.addEventListener("mousedown", onMouseDown); node?.addEventListener("touchstart", handleTouchStart, { passive: false }); return () => { if (node) { node.removeEventListener("mousedown", onMouseDown); node.removeEventListener("touchstart", handleTouchStart); } }; }, [onChange] ); return { ref: refCallback, active }; } // node_modules/@mantine/hooks/esm/use-scroll-spy/use-scroll-spy.mjs var import_react75 = __toESM(require_react(), 1); function getHeadingsData(headings4, getDepth, getValue) { const result = []; for (let i = 0; i < headings4.length; i += 1) { const heading = headings4[i]; result.push({ depth: getDepth(heading), value: getValue(heading), id: heading.id || randomId(), getNode: () => heading.id ? document.getElementById(heading.id) : heading }); } return result; } function getActiveElement(rects, offset4 = 0) { if (rects.length === 0) { return -1; } const closest = rects.reduce( (acc, item, index5) => { if (Math.abs(acc.position - offset4) < Math.abs(item.y - offset4)) { return acc; } return { index: index5, position: item.y }; }, { index: 0, position: rects[0].y } ); return closest.index; } function getDefaultDepth(element) { return Number(element.tagName[1]); } function getDefaultValue(element) { return element.textContent || ""; } function useScrollSpy({ selector = "h1, h2, h3, h4, h5, h6", getDepth = getDefaultDepth, getValue = getDefaultValue, offset: offset4 = 0, scrollHost } = {}) { const [active, setActive] = (0, import_react75.useState)(-1); const [initialized, setInitialized] = (0, import_react75.useState)(false); const [data, setData] = (0, import_react75.useState)([]); const headingsRef = (0, import_react75.useRef)([]); const handleScroll2 = () => { setActive( getActiveElement( headingsRef.current.map((d) => d.getNode().getBoundingClientRect()), offset4 ) ); }; const initialize = () => { const headings4 = getHeadingsData( Array.from(document.querySelectorAll(selector)), getDepth, getValue ); headingsRef.current = headings4; setInitialized(true); setData(headings4); setActive( getActiveElement( headings4.map((d) => d.getNode().getBoundingClientRect()), offset4 ) ); }; (0, import_react75.useEffect)(() => { initialize(); const _scrollHost = scrollHost || window; _scrollHost.addEventListener("scroll", handleScroll2); return () => _scrollHost.removeEventListener("scroll", handleScroll2); }, [scrollHost]); return { reinitialize: initialize, active, initialized, data }; } // node_modules/@mantine/hooks/esm/use-file-dialog/use-file-dialog.mjs var import_react76 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-long-press/use-long-press.mjs var import_react77 = __toESM(require_react(), 1); // node_modules/@mantine/hooks/esm/use-selection/use-selection.mjs var import_react78 = __toESM(require_react(), 1); // node_modules/@mantine/core/esm/core/utils/create-use-external-events/create-use-external-events.mjs function dispatchEvent(type, detail) { window.dispatchEvent(new CustomEvent(type, { detail })); } function createUseExternalEvents(prefix) { function _useExternalEvents(events) { const handlers = Object.keys(events).reduce((acc, eventKey) => { acc[`${prefix}:${eventKey}`] = (event) => events[eventKey](event.detail); return acc; }, {}); useIsomorphicEffect(() => { Object.keys(handlers).forEach((eventKey) => { window.removeEventListener(eventKey, handlers[eventKey]); window.addEventListener(eventKey, handlers[eventKey]); }); return () => Object.keys(handlers).forEach((eventKey) => { window.removeEventListener(eventKey, handlers[eventKey]); }); }, [handlers]); } function createEvent(event) { return (...payload) => dispatchEvent(`${prefix}:${String(event)}`, payload[0]); } return [_useExternalEvents, createEvent]; } // node_modules/@mantine/core/esm/core/utils/get-env/get-env.mjs function getEnv() { if (typeof process !== "undefined" && process.env && "development") { return "development"; } return "development"; } // node_modules/@mantine/core/esm/core/utils/memoize/memoize.mjs function memoize(func) { const cache = /* @__PURE__ */ new Map(); return (...args) => { const key = JSON.stringify(args); if (cache.has(key)) { return cache.get(key); } const result = func(...args); cache.set(key, result); return result; }; } // node_modules/@mantine/core/esm/core/utils/find-closest-number/find-closest-number.mjs function findClosestNumber(value, numbers) { if (numbers.length === 0) { return value; } return numbers.reduce( (prev, curr) => Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev ); } // node_modules/@mantine/core/esm/core/utils/get-ref-prop/get-ref-prop.mjs var import_react79 = __toESM(require_react(), 1); function getRefProp(element) { const version = import_react79.default.version; if (typeof import_react79.default.version !== "string") { return element?.ref; } if (version.startsWith("18.")) { return element?.ref; } return element?.props?.ref; } // node_modules/@mantine/core/esm/core/utils/find-element-in-shadow-dom/find-element-in-shadow-dom.mjs function findElementBySelector(selector, root = document) { const element = root.querySelector(selector); if (element) { return element; } const allElements = root.querySelectorAll("*"); for (let i = 0; i < allElements.length; i += 1) { const el = allElements[i]; if (el.shadowRoot) { const shadowElement = findElementBySelector(selector, el.shadowRoot); if (shadowElement) { return shadowElement; } } } return null; } function findElementsBySelector(selector, root = document) { const results = []; const elements = root.querySelectorAll(selector); results.push(...Array.from(elements)); const allElements = root.querySelectorAll("*"); for (let i = 0; i < allElements.length; i += 1) { const el = allElements[i]; if (el.shadowRoot) { const shadowElements = findElementsBySelector(selector, el.shadowRoot); results.push(...shadowElements); } } return results; } function getRootElement(targetElement) { if (!targetElement) { return document; } const root = targetElement.getRootNode(); return root instanceof ShadowRoot || root instanceof Document ? root : document; } // node_modules/@mantine/core/esm/core/utils/get-single-element-child/get-single-element-child.mjs var import_react80 = __toESM(require_react(), 1); function getSingleElementChild(children) { const _children = import_react80.Children.toArray(children); if (_children.length !== 1 || !isElement(_children[0])) { return null; } return _children[0]; } // node_modules/@mantine/core/esm/core/styles-api/create-vars-resolver/create-vars-resolver.mjs function createVarsResolver(resolver) { return resolver; } // 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; // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/resolve-class-names/resolve-class-names.mjs var EMPTY_CLASS_NAMES = {}; function mergeClassNames(objects) { const merged = {}; objects.forEach((obj) => { Object.entries(obj).forEach(([key, value]) => { if (merged[key]) { merged[key] = clsx_default(merged[key], value); } else { merged[key] = value; } }); }); return merged; } function resolveClassNames({ theme, classNames, props, stylesCtx }) { const arrayClassNames = Array.isArray(classNames) ? classNames : [classNames]; const resolvedClassNames = arrayClassNames.map( (item) => typeof item === "function" ? item(theme, props, stylesCtx) : item || EMPTY_CLASS_NAMES ); return mergeClassNames(resolvedClassNames); } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-styles/resolve-styles.mjs function resolveStyles({ theme, styles, props, stylesCtx }) { const arrayStyles = Array.isArray(styles) ? styles : [styles]; return arrayStyles.reduce((acc, style) => { if (typeof style === "function") { return { ...acc, ...style(theme, props, stylesCtx) }; } return { ...acc, ...style }; }, {}); } // node_modules/@mantine/core/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs var import_react94 = __toESM(require_react(), 1); var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/Mantine.context.mjs var import_react81 = __toESM(require_react(), 1); var MantineContext = (0, import_react81.createContext)(null); function useMantineContext() { const ctx = (0, import_react81.useContext)(MantineContext); if (!ctx) { throw new Error("[@mantine/core] MantineProvider was not found in tree"); } return ctx; } function useMantineCssVariablesResolver() { return useMantineContext().cssVariablesResolver; } function useMantineClassNamesPrefix() { return useMantineContext().classNamesPrefix; } function useMantineStyleNonce() { return useMantineContext().getStyleNonce; } function useMantineWithStaticClasses() { return useMantineContext().withStaticClasses; } function useMantineIsHeadless() { return useMantineContext().headless; } function useMantineSxTransform() { return useMantineContext().stylesTransform?.sx; } function useMantineStylesTransform() { return useMantineContext().stylesTransform?.styles; } function useMantineEnv() { return useMantineContext().env || "default"; } // node_modules/@mantine/core/esm/core/MantineProvider/default-theme.mjs var import_react83 = __toESM(require_react(), 1); var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs var import_react82 = __toESM(require_react(), 1); var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/to-rgba/to-rgba.mjs function isHexColor(hex) { const HEX_REGEXP = /^#?([0-9A-F]{3}){1,2}([0-9A-F]{2})?$/i; return HEX_REGEXP.test(hex); } function hexToRgba(color) { let hexString = color.replace("#", ""); if (hexString.length === 3) { const shorthandHex = hexString.split(""); hexString = [ shorthandHex[0], shorthandHex[0], shorthandHex[1], shorthandHex[1], shorthandHex[2], shorthandHex[2] ].join(""); } if (hexString.length === 8) { const alpha2 = parseInt(hexString.slice(6, 8), 16) / 255; return { r: parseInt(hexString.slice(0, 2), 16), g: parseInt(hexString.slice(2, 4), 16), b: parseInt(hexString.slice(4, 6), 16), a: alpha2 }; } const parsed = parseInt(hexString, 16); const r2 = parsed >> 16 & 255; const g = parsed >> 8 & 255; const b = parsed & 255; return { r: r2, g, b, a: 1 }; } function rgbStringToRgba(color) { const [r2, g, b, a] = color.replace(/[^0-9,./]/g, "").split(/[/,]/).map(Number); return { r: r2, g, b, a: a === void 0 ? 1 : a }; } function hslStringToRgba(hslaString) { const hslaRegex = /^hsla?\(\s*(\d+)\s*,\s*(\d+%)\s*,\s*(\d+%)\s*(,\s*(0?\.\d+|\d+(\.\d+)?))?\s*\)$/i; const matches2 = hslaString.match(hslaRegex); if (!matches2) { return { r: 0, g: 0, b: 0, a: 1 }; } const h = parseInt(matches2[1], 10); const s = parseInt(matches2[2], 10) / 100; const l = parseInt(matches2[3], 10) / 100; const a = matches2[5] ? parseFloat(matches2[5]) : void 0; const chroma = (1 - Math.abs(2 * l - 1)) * s; const huePrime = h / 60; const x = chroma * (1 - Math.abs(huePrime % 2 - 1)); const m = l - chroma / 2; let r2; let g; let b; if (huePrime >= 0 && huePrime < 1) { r2 = chroma; g = x; b = 0; } else if (huePrime >= 1 && huePrime < 2) { r2 = x; g = chroma; b = 0; } else if (huePrime >= 2 && huePrime < 3) { r2 = 0; g = chroma; b = x; } else if (huePrime >= 3 && huePrime < 4) { r2 = 0; g = x; b = chroma; } else if (huePrime >= 4 && huePrime < 5) { r2 = x; g = 0; b = chroma; } else { r2 = chroma; g = 0; b = x; } return { r: Math.round((r2 + m) * 255), g: Math.round((g + m) * 255), b: Math.round((b + m) * 255), a: a || 1 }; } function toRgba(color) { if (isHexColor(color)) { return hexToRgba(color); } if (color.startsWith("rgb")) { return rgbStringToRgba(color); } if (color.startsWith("hsl")) { return hslStringToRgba(color); } return { r: 0, g: 0, b: 0, a: 1 }; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/darken/darken.mjs function darken(color, alpha2) { if (color.startsWith("var(")) { return `color-mix(in srgb, ${color}, black ${alpha2 * 100}%)`; } const { r: r2, g, b, a } = toRgba(color); const f = 1 - alpha2; const dark = (input) => Math.round(input * f); return `rgba(${dark(r2)}, ${dark(g)}, ${dark(b)}, ${a})`; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-primary-shade/get-primary-shade.mjs function getPrimaryShade(theme, colorScheme) { if (typeof theme.primaryShade === "number") { return theme.primaryShade; } if (colorScheme === "dark") { return theme.primaryShade.dark; } return theme.primaryShade.light; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/luminance/luminance.mjs function gammaCorrect(c) { return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4; } function getLightnessFromOklch(oklchColor) { const match = oklchColor.match(/oklch\((.*?)%\s/); return match ? parseFloat(match[1]) : null; } function luminance(color) { if (color.startsWith("oklch(")) { return (getLightnessFromOklch(color) || 0) / 100; } const { r: r2, g, b } = toRgba(color); const sR = r2 / 255; const sG = g / 255; const sB = b / 255; const rLinear = gammaCorrect(sR); const gLinear = gammaCorrect(sG); const bLinear = gammaCorrect(sB); return 0.2126 * rLinear + 0.7152 * gLinear + 0.0722 * bLinear; } function isLightColor(color, luminanceThreshold = 0.179) { if (color.startsWith("var(")) { return false; } return luminance(color) > luminanceThreshold; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/parse-theme-color/parse-theme-color.mjs function parseThemeColor({ color, theme, colorScheme }) { if (typeof color !== "string") { throw new Error( `[@mantine/core] Failed to parse color. Expected color to be a string, instead got ${typeof color}` ); } if (color === "bright") { return { color, value: colorScheme === "dark" ? theme.white : theme.black, shade: void 0, isThemeColor: false, isLight: isLightColor( colorScheme === "dark" ? theme.white : theme.black, theme.luminanceThreshold ), variable: "--mantine-color-bright" }; } if (color === "dimmed") { return { color, value: colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[7], shade: void 0, isThemeColor: false, isLight: isLightColor( colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[6], theme.luminanceThreshold ), variable: "--mantine-color-dimmed" }; } if (color === "white" || color === "black") { return { color, value: color === "white" ? theme.white : theme.black, shade: void 0, isThemeColor: false, isLight: isLightColor( color === "white" ? theme.white : theme.black, theme.luminanceThreshold ), variable: `--mantine-color-${color}` }; } const [_color, shade] = color.split("."); const colorShade = shade ? Number(shade) : void 0; const isThemeColor = _color in theme.colors; if (isThemeColor) { const colorValue = colorShade !== void 0 ? theme.colors[_color][colorShade] : theme.colors[_color][getPrimaryShade(theme, colorScheme || "light")]; return { color: _color, value: colorValue, shade: colorShade, isThemeColor, isLight: isLightColor(colorValue, theme.luminanceThreshold), variable: shade ? `--mantine-color-${_color}-${colorShade}` : `--mantine-color-${_color}-filled` }; } return { color, value: color, isThemeColor, isLight: isLightColor(color, theme.luminanceThreshold), shade: colorShade, variable: void 0 }; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-theme-color/get-theme-color.mjs function getThemeColor(color, theme) { const parsed = parseThemeColor({ color: color || theme.primaryColor, theme }); return parsed.variable ? `var(${parsed.variable})` : color; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-gradient/get-gradient.mjs function getGradient(gradient, theme) { const merged = { from: gradient?.from || theme.defaultGradient.from, to: gradient?.to || theme.defaultGradient.to, deg: gradient?.deg ?? theme.defaultGradient.deg ?? 0 }; const fromColor = getThemeColor(merged.from, theme); const toColor = getThemeColor(merged.to, theme); return `linear-gradient(${merged.deg}deg, ${fromColor} 0%, ${toColor} 100%)`; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/rgba/rgba.mjs function rgba(color, alpha2) { if (typeof color !== "string" || alpha2 > 1 || alpha2 < 0) { return "rgba(0, 0, 0, 1)"; } if (color.startsWith("var(")) { const mixPercentage = (1 - alpha2) * 100; return `color-mix(in srgb, ${color}, transparent ${mixPercentage}%)`; } if (color.startsWith("oklch")) { if (color.includes("/")) { return color.replace(/\/\s*[\d.]+\s*\)/, `/ ${alpha2})`); } return color.replace(")", ` / ${alpha2})`); } const { r: r2, g, b } = toRgba(color); return `rgba(${r2}, ${g}, ${b}, ${alpha2})`; } var alpha = rgba; // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/default-variant-colors-resolver.mjs var defaultVariantColorsResolver = ({ color, theme, variant, gradient, autoContrast }) => { const parsed = parseThemeColor({ color, theme }); const _autoContrast = typeof autoContrast === "boolean" ? autoContrast : theme.autoContrast; if (variant === "none") { return { background: "transparent", hover: "transparent", color: "inherit", border: "none" }; } if (variant === "filled") { const textColor = _autoContrast ? parsed.isLight ? "var(--mantine-color-black)" : "var(--mantine-color-white)" : "var(--mantine-color-white)"; if (parsed.isThemeColor) { if (parsed.shade === void 0) { return { background: `var(--mantine-color-${color}-filled)`, hover: `var(--mantine-color-${color}-filled-hover)`, color: textColor, border: `${rem(1)} solid transparent` }; } return { background: `var(--mantine-color-${parsed.color}-${parsed.shade})`, hover: `var(--mantine-color-${parsed.color}-${parsed.shade === 9 ? 8 : parsed.shade + 1})`, color: textColor, border: `${rem(1)} solid transparent` }; } return { background: color, hover: darken(color, 0.1), color: textColor, border: `${rem(1)} solid transparent` }; } if (variant === "light") { if (parsed.isThemeColor) { if (parsed.shade === void 0) { return { background: `var(--mantine-color-${color}-light)`, hover: `var(--mantine-color-${color}-light-hover)`, color: `var(--mantine-color-${color}-light-color)`, border: `${rem(1)} solid transparent` }; } const parsedColor = theme.colors[parsed.color][parsed.shade]; return { background: rgba(parsedColor, 0.1), hover: rgba(parsedColor, 0.12), color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`, border: `${rem(1)} solid transparent` }; } return { background: rgba(color, 0.1), hover: rgba(color, 0.12), color, border: `${rem(1)} solid transparent` }; } if (variant === "outline") { if (parsed.isThemeColor) { if (parsed.shade === void 0) { return { background: "transparent", hover: `var(--mantine-color-${color}-outline-hover)`, color: `var(--mantine-color-${color}-outline)`, border: `${rem(1)} solid var(--mantine-color-${color}-outline)` }; } return { background: "transparent", hover: rgba(theme.colors[parsed.color][parsed.shade], 0.05), color: `var(--mantine-color-${parsed.color}-${parsed.shade})`, border: `${rem(1)} solid var(--mantine-color-${parsed.color}-${parsed.shade})` }; } return { background: "transparent", hover: rgba(color, 0.05), color, border: `${rem(1)} solid ${color}` }; } if (variant === "subtle") { if (parsed.isThemeColor) { if (parsed.shade === void 0) { return { background: "transparent", hover: `var(--mantine-color-${color}-light-hover)`, color: `var(--mantine-color-${color}-light-color)`, border: `${rem(1)} solid transparent` }; } const parsedColor = theme.colors[parsed.color][parsed.shade]; return { background: "transparent", hover: rgba(parsedColor, 0.12), color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`, border: `${rem(1)} solid transparent` }; } return { background: "transparent", hover: rgba(color, 0.12), color, border: `${rem(1)} solid transparent` }; } if (variant === "transparent") { if (parsed.isThemeColor) { if (parsed.shade === void 0) { return { background: "transparent", hover: "transparent", color: `var(--mantine-color-${color}-light-color)`, border: `${rem(1)} solid transparent` }; } return { background: "transparent", hover: "transparent", color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`, border: `${rem(1)} solid transparent` }; } return { background: "transparent", hover: "transparent", color, border: `${rem(1)} solid transparent` }; } if (variant === "white") { if (parsed.isThemeColor) { if (parsed.shade === void 0) { return { background: "var(--mantine-color-white)", hover: darken(theme.white, 0.01), color: `var(--mantine-color-${color}-filled)`, border: `${rem(1)} solid transparent` }; } return { background: "var(--mantine-color-white)", hover: darken(theme.white, 0.01), color: `var(--mantine-color-${parsed.color}-${parsed.shade})`, border: `${rem(1)} solid transparent` }; } return { background: "var(--mantine-color-white)", hover: darken(theme.white, 0.01), color, border: `${rem(1)} solid transparent` }; } if (variant === "gradient") { return { background: getGradient(gradient, theme), hover: getGradient(gradient, theme), color: "var(--mantine-color-white)", border: "none" }; } if (variant === "default") { return { background: "var(--mantine-color-default)", hover: "var(--mantine-color-default-hover)", color: "var(--mantine-color-default-color)", border: `${rem(1)} solid var(--mantine-color-default-border)` }; } return {}; }; // node_modules/@mantine/core/esm/core/MantineProvider/default-colors.mjs var DEFAULT_COLORS = { dark: [ "#C9C9C9", "#b8b8b8", "#828282", "#696969", "#424242", "#3b3b3b", "#2e2e2e", "#242424", "#1f1f1f", "#141414" ], gray: [ "#f8f9fa", "#f1f3f5", "#e9ecef", "#dee2e6", "#ced4da", "#adb5bd", "#868e96", "#495057", "#343a40", "#212529" ], red: [ "#fff5f5", "#ffe3e3", "#ffc9c9", "#ffa8a8", "#ff8787", "#ff6b6b", "#fa5252", "#f03e3e", "#e03131", "#c92a2a" ], pink: [ "#fff0f6", "#ffdeeb", "#fcc2d7", "#faa2c1", "#f783ac", "#f06595", "#e64980", "#d6336c", "#c2255c", "#a61e4d" ], grape: [ "#f8f0fc", "#f3d9fa", "#eebefa", "#e599f7", "#da77f2", "#cc5de8", "#be4bdb", "#ae3ec9", "#9c36b5", "#862e9c" ], violet: [ "#f3f0ff", "#e5dbff", "#d0bfff", "#b197fc", "#9775fa", "#845ef7", "#7950f2", "#7048e8", "#6741d9", "#5f3dc4" ], indigo: [ "#edf2ff", "#dbe4ff", "#bac8ff", "#91a7ff", "#748ffc", "#5c7cfa", "#4c6ef5", "#4263eb", "#3b5bdb", "#364fc7" ], blue: [ "#e7f5ff", "#d0ebff", "#a5d8ff", "#74c0fc", "#4dabf7", "#339af0", "#228be6", "#1c7ed6", "#1971c2", "#1864ab" ], cyan: [ "#e3fafc", "#c5f6fa", "#99e9f2", "#66d9e8", "#3bc9db", "#22b8cf", "#15aabf", "#1098ad", "#0c8599", "#0b7285" ], teal: [ "#e6fcf5", "#c3fae8", "#96f2d7", "#63e6be", "#38d9a9", "#20c997", "#12b886", "#0ca678", "#099268", "#087f5b" ], green: [ "#ebfbee", "#d3f9d8", "#b2f2bb", "#8ce99a", "#69db7c", "#51cf66", "#40c057", "#37b24d", "#2f9e44", "#2b8a3e" ], lime: [ "#f4fce3", "#e9fac8", "#d8f5a2", "#c0eb75", "#a9e34b", "#94d82d", "#82c91e", "#74b816", "#66a80f", "#5c940d" ], yellow: [ "#fff9db", "#fff3bf", "#ffec99", "#ffe066", "#ffd43b", "#fcc419", "#fab005", "#f59f00", "#f08c00", "#e67700" ], orange: [ "#fff4e6", "#ffe8cc", "#ffd8a8", "#ffc078", "#ffa94d", "#ff922b", "#fd7e14", "#f76707", "#e8590c", "#d9480f" ] }; // node_modules/@mantine/core/esm/core/MantineProvider/default-theme.mjs var DEFAULT_FONT_FAMILY = "-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji"; var DEFAULT_THEME = { scale: 1, fontSmoothing: true, focusRing: "auto", white: "#fff", black: "#000", colors: DEFAULT_COLORS, primaryShade: { light: 6, dark: 8 }, primaryColor: "blue", variantColorResolver: defaultVariantColorsResolver, autoContrast: false, luminanceThreshold: 0.3, fontFamily: DEFAULT_FONT_FAMILY, fontFamilyMonospace: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace", respectReducedMotion: false, cursorType: "default", defaultGradient: { from: "blue", to: "cyan", deg: 45 }, defaultRadius: "sm", activeClassName: "mantine-active", focusClassName: "", headings: { fontFamily: DEFAULT_FONT_FAMILY, fontWeight: "700", textWrap: "wrap", sizes: { h1: { fontSize: rem(34), lineHeight: "1.3" }, h2: { fontSize: rem(26), lineHeight: "1.35" }, h3: { fontSize: rem(22), lineHeight: "1.4" }, h4: { fontSize: rem(18), lineHeight: "1.45" }, h5: { fontSize: rem(16), lineHeight: "1.5" }, h6: { fontSize: rem(14), lineHeight: "1.5" } } }, fontSizes: { xs: rem(12), sm: rem(14), md: rem(16), lg: rem(18), xl: rem(20) }, lineHeights: { xs: "1.4", sm: "1.45", md: "1.55", lg: "1.6", xl: "1.65" }, radius: { xs: rem(2), sm: rem(4), md: rem(8), lg: rem(16), xl: rem(32) }, spacing: { xs: rem(10), sm: rem(12), md: rem(16), lg: rem(20), xl: rem(32) }, breakpoints: { xs: "36em", sm: "48em", md: "62em", lg: "75em", xl: "88em" }, shadows: { xs: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), 0 ${rem(1)} ${rem(2)} rgba(0, 0, 0, 0.1)`, sm: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(10)} ${rem( 15 )} ${rem(-5)}, rgba(0, 0, 0, 0.04) 0 ${rem(7)} ${rem(7)} ${rem(-5)}`, md: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(20)} ${rem( 25 )} ${rem(-5)}, rgba(0, 0, 0, 0.04) 0 ${rem(10)} ${rem(10)} ${rem(-5)}`, lg: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(28)} ${rem( 23 )} ${rem(-7)}, rgba(0, 0, 0, 0.04) 0 ${rem(12)} ${rem(12)} ${rem(-7)}`, xl: `0 ${rem(1)} ${rem(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${rem(36)} ${rem( 28 )} ${rem(-7)}, rgba(0, 0, 0, 0.04) 0 ${rem(17)} ${rem(17)} ${rem(-7)}` }, other: {}, components: {} }; // node_modules/@mantine/core/esm/core/MantineProvider/MantineProvider.mjs var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/color-scheme-managers/is-mantine-color-scheme.mjs function isMantineColorScheme(value) { return value === "auto" || value === "dark" || value === "light"; } // node_modules/@mantine/core/esm/core/MantineProvider/color-scheme-managers/local-storage-manager.mjs function localStorageColorSchemeManager({ key = "mantine-color-scheme-value" } = {}) { let handleStorageEvent; return { get: (defaultValue) => { if (typeof window === "undefined") { return defaultValue; } try { const storedColorScheme = window.localStorage.getItem(key); return isMantineColorScheme(storedColorScheme) ? storedColorScheme : defaultValue; } catch { return defaultValue; } }, set: (value) => { try { window.localStorage.setItem(key, value); } catch (error2) { console.warn( "[@mantine/core] Local storage color scheme manager was unable to save color scheme.", error2 ); } }, subscribe: (onUpdate) => { handleStorageEvent = (event) => { if (event.storageArea === window.localStorage && event.key === key) { isMantineColorScheme(event.newValue) && onUpdate(event.newValue); } }; window.addEventListener("storage", handleStorageEvent); }, unsubscribe: () => { window.removeEventListener("storage", handleStorageEvent); }, clear: () => { window.localStorage.removeItem(key); } }; } // node_modules/@mantine/core/esm/core/MantineProvider/MantineClasses/MantineClasses.mjs var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1); var import_react86 = __toESM(require_react(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1); var import_react85 = __toESM(require_react(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/merge-mantine-theme/merge-mantine-theme.mjs var import_react84 = __toESM(require_react(), 1); var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1); var INVALID_PRIMARY_COLOR_ERROR = "[@mantine/core] MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color"; var INVALID_PRIMARY_SHADE_ERROR = "[@mantine/core] MantineProvider: Invalid theme.primaryShade, it accepts only 0-9 integers or an object { light: 0-9, dark: 0-9 }"; function isValidPrimaryShade(shade) { if (shade < 0 || shade > 9) { return false; } return parseInt(shade.toString(), 10) === shade; } function validateMantineTheme(theme) { if (!(theme.primaryColor in theme.colors)) { throw new Error(INVALID_PRIMARY_COLOR_ERROR); } if (typeof theme.primaryShade === "object") { if (!isValidPrimaryShade(theme.primaryShade.dark) || !isValidPrimaryShade(theme.primaryShade.light)) { throw new Error(INVALID_PRIMARY_SHADE_ERROR); } } if (typeof theme.primaryShade === "number" && !isValidPrimaryShade(theme.primaryShade)) { throw new Error(INVALID_PRIMARY_SHADE_ERROR); } } function mergeMantineTheme(currentTheme, themeOverride) { if (!themeOverride) { validateMantineTheme(currentTheme); return currentTheme; } const result = deepMerge(currentTheme, themeOverride); if (themeOverride.fontFamily && !themeOverride.headings?.fontFamily) { result.headings.fontFamily = themeOverride.fontFamily; } validateMantineTheme(result); return result; } // node_modules/@mantine/core/esm/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs var MantineThemeContext = (0, import_react85.createContext)(null); var useSafeMantineTheme = () => (0, import_react85.useContext)(MantineThemeContext) || DEFAULT_THEME; function useMantineTheme() { const ctx = (0, import_react85.useContext)(MantineThemeContext); if (!ctx) { throw new Error( "@mantine/core: MantineProvider was not found in component tree, make sure you have it in your app" ); } return ctx; } function MantineThemeProvider({ theme, children, inherit = true }) { const parentTheme = useSafeMantineTheme(); const mergedTheme = (0, import_react85.useMemo)( () => mergeMantineTheme(inherit ? parentTheme : DEFAULT_THEME, theme), [theme, parentTheme, inherit] ); return (0, import_jsx_runtime6.jsx)(MantineThemeContext.Provider, { value: mergedTheme, children }); } MantineThemeProvider.displayName = "@mantine/core/MantineThemeProvider"; // node_modules/@mantine/core/esm/core/MantineProvider/MantineClasses/MantineClasses.mjs function MantineClasses() { const theme = useMantineTheme(); const nonce = useMantineStyleNonce(); const classes88 = keys(theme.breakpoints).reduce((acc, breakpoint) => { const isPxBreakpoint = theme.breakpoints[breakpoint].includes("px"); const pxValue = px(theme.breakpoints[breakpoint]); const maxWidthBreakpoint = isPxBreakpoint ? `${pxValue - 0.1}px` : em(pxValue - 0.1); const minWidthBreakpoint = isPxBreakpoint ? `${pxValue}px` : em(pxValue); return `${acc}@media (max-width: ${maxWidthBreakpoint}) {.mantine-visible-from-${breakpoint} {display: none !important;}}@media (min-width: ${minWidthBreakpoint}) {.mantine-hidden-from-${breakpoint} {display: none !important;}}`; }, ""); return (0, import_jsx_runtime7.jsx)( "style", { "data-mantine-styles": "classes", nonce: nonce?.(), dangerouslySetInnerHTML: { __html: classes88 } } ); } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/convert-css-variables/css-variables-object-to-string.mjs function cssVariablesObjectToString(variables) { return Object.entries(variables).map(([name, value]) => `${name}: ${value};`).join(""); } // node_modules/@mantine/core/esm/core/MantineProvider/convert-css-variables/convert-css-variables.mjs function convertCssVariables(input, selectorOverride) { const selectors = selectorOverride ? [selectorOverride] : [":root", ":host"]; const sharedVariables = cssVariablesObjectToString(input.variables); const shared = sharedVariables ? `${selectors.join(", ")}{${sharedVariables}}` : ""; const dark = cssVariablesObjectToString(input.dark); const light = cssVariablesObjectToString(input.light); const selectorsWithScheme = (scheme) => selectors.map( (selector) => selector === ":host" ? `${selector}([data-mantine-color-scheme="${scheme}"])` : `${selector}[data-mantine-color-scheme="${scheme}"]` ).join(", "); const darkForced = dark ? `${selectorsWithScheme("dark")}{${dark}}` : ""; const lightForced = light ? `${selectorsWithScheme("light")}{${light}}` : ""; return `${shared} ${darkForced} ${lightForced}`; } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/get-merged-variables.mjs var import_react90 = __toESM(require_react(), 1); var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs var import_react89 = __toESM(require_react(), 1); var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.mjs function getContrastColor({ color, theme, autoContrast }) { const _autoContrast = typeof autoContrast === "boolean" ? autoContrast : theme.autoContrast; if (!_autoContrast) { return "var(--mantine-color-white)"; } const parsed = parseThemeColor({ color: color || theme.primaryColor, theme }); return parsed.isLight ? "var(--mantine-color-black)" : "var(--mantine-color-white)"; } function getPrimaryContrastColor(theme, colorScheme) { return getContrastColor({ color: theme.colors[theme.primaryColor][getPrimaryShade(theme, colorScheme)], theme, autoContrast: null }); } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/get-css-color-variables.mjs var import_react87 = __toESM(require_react(), 1); var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1); function getCSSColorVariables({ theme, color, colorScheme, name = color, withColorValues = true }) { if (!theme.colors[color]) { return {}; } if (colorScheme === "light") { const primaryShade2 = getPrimaryShade(theme, "light"); const dynamicVariables2 = { [`--mantine-color-${name}-text`]: `var(--mantine-color-${name}-filled)`, [`--mantine-color-${name}-filled`]: `var(--mantine-color-${name}-${primaryShade2})`, [`--mantine-color-${name}-filled-hover`]: `var(--mantine-color-${name}-${primaryShade2 === 9 ? 8 : primaryShade2 + 1})`, [`--mantine-color-${name}-light`]: alpha(theme.colors[color][primaryShade2], 0.1), [`--mantine-color-${name}-light-hover`]: alpha(theme.colors[color][primaryShade2], 0.12), [`--mantine-color-${name}-light-color`]: `var(--mantine-color-${name}-${primaryShade2})`, [`--mantine-color-${name}-outline`]: `var(--mantine-color-${name}-${primaryShade2})`, [`--mantine-color-${name}-outline-hover`]: alpha(theme.colors[color][primaryShade2], 0.05) }; if (!withColorValues) { return dynamicVariables2; } return { [`--mantine-color-${name}-0`]: theme.colors[color][0], [`--mantine-color-${name}-1`]: theme.colors[color][1], [`--mantine-color-${name}-2`]: theme.colors[color][2], [`--mantine-color-${name}-3`]: theme.colors[color][3], [`--mantine-color-${name}-4`]: theme.colors[color][4], [`--mantine-color-${name}-5`]: theme.colors[color][5], [`--mantine-color-${name}-6`]: theme.colors[color][6], [`--mantine-color-${name}-7`]: theme.colors[color][7], [`--mantine-color-${name}-8`]: theme.colors[color][8], [`--mantine-color-${name}-9`]: theme.colors[color][9], ...dynamicVariables2 }; } const primaryShade = getPrimaryShade(theme, "dark"); const dynamicVariables = { [`--mantine-color-${name}-text`]: `var(--mantine-color-${name}-4)`, [`--mantine-color-${name}-filled`]: `var(--mantine-color-${name}-${primaryShade})`, [`--mantine-color-${name}-filled-hover`]: `var(--mantine-color-${name}-${primaryShade === 9 ? 8 : primaryShade + 1})`, [`--mantine-color-${name}-light`]: alpha( theme.colors[color][Math.max(0, primaryShade - 2)], 0.15 ), [`--mantine-color-${name}-light-hover`]: alpha( theme.colors[color][Math.max(0, primaryShade - 2)], 0.2 ), [`--mantine-color-${name}-light-color`]: `var(--mantine-color-${name}-${Math.max(primaryShade - 5, 0)})`, [`--mantine-color-${name}-outline`]: `var(--mantine-color-${name}-${Math.max(primaryShade - 4, 0)})`, [`--mantine-color-${name}-outline-hover`]: alpha( theme.colors[color][Math.max(primaryShade - 4, 0)], 0.05 ) }; if (!withColorValues) { return dynamicVariables; } return { [`--mantine-color-${name}-0`]: theme.colors[color][0], [`--mantine-color-${name}-1`]: theme.colors[color][1], [`--mantine-color-${name}-2`]: theme.colors[color][2], [`--mantine-color-${name}-3`]: theme.colors[color][3], [`--mantine-color-${name}-4`]: theme.colors[color][4], [`--mantine-color-${name}-5`]: theme.colors[color][5], [`--mantine-color-${name}-6`]: theme.colors[color][6], [`--mantine-color-${name}-7`]: theme.colors[color][7], [`--mantine-color-${name}-8`]: theme.colors[color][8], [`--mantine-color-${name}-9`]: theme.colors[color][9], ...dynamicVariables }; } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.mjs var import_react88 = __toESM(require_react(), 1); var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/colors-tuple/colors-tuple.mjs function colorsTuple(input) { if (Array.isArray(input)) { return input; } return Array(10).fill(input); } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.mjs function virtualColor(input) { const result = colorsTuple( Array.from({ length: 10 }).map((_, i) => `var(--mantine-color-${input.name}-${i})`) ); Object.defineProperty(result, "mantine-virtual-color", { enumerable: false, writable: false, configurable: false, value: true }); Object.defineProperty(result, "dark", { enumerable: false, writable: false, configurable: false, value: input.dark }); Object.defineProperty(result, "light", { enumerable: false, writable: false, configurable: false, value: input.light }); Object.defineProperty(result, "name", { enumerable: false, writable: false, configurable: false, value: input.name }); return result; } function isVirtualColor(value) { return !!value && typeof value === "object" && "mantine-virtual-color" in value; } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs function assignSizeVariables(variables, sizes2, name) { keys(sizes2).forEach( (size4) => Object.assign(variables, { [`--mantine-${name}-${size4}`]: sizes2[size4] }) ); } var defaultCssVariablesResolver = (theme) => { const lightPrimaryShade = getPrimaryShade(theme, "light"); const defaultRadius = theme.defaultRadius in theme.radius ? theme.radius[theme.defaultRadius] : rem(theme.defaultRadius); const result = { variables: { "--mantine-z-index-app": "100", "--mantine-z-index-modal": "200", "--mantine-z-index-popover": "300", "--mantine-z-index-overlay": "400", "--mantine-z-index-max": "9999", "--mantine-scale": theme.scale.toString(), "--mantine-cursor-type": theme.cursorType, "--mantine-webkit-font-smoothing": theme.fontSmoothing ? "antialiased" : "unset", "--mantine-moz-font-smoothing": theme.fontSmoothing ? "grayscale" : "unset", "--mantine-color-white": theme.white, "--mantine-color-black": theme.black, "--mantine-line-height": theme.lineHeights.md, "--mantine-font-family": theme.fontFamily, "--mantine-font-family-monospace": theme.fontFamilyMonospace, "--mantine-font-family-headings": theme.headings.fontFamily, "--mantine-heading-font-weight": theme.headings.fontWeight, "--mantine-heading-text-wrap": theme.headings.textWrap, "--mantine-radius-default": defaultRadius, // Primary colors "--mantine-primary-color-filled": `var(--mantine-color-${theme.primaryColor}-filled)`, "--mantine-primary-color-filled-hover": `var(--mantine-color-${theme.primaryColor}-filled-hover)`, "--mantine-primary-color-light": `var(--mantine-color-${theme.primaryColor}-light)`, "--mantine-primary-color-light-hover": `var(--mantine-color-${theme.primaryColor}-light-hover)`, "--mantine-primary-color-light-color": `var(--mantine-color-${theme.primaryColor}-light-color)` }, light: { "--mantine-color-scheme": "light", "--mantine-primary-color-contrast": getPrimaryContrastColor(theme, "light"), "--mantine-color-bright": "var(--mantine-color-black)", "--mantine-color-text": theme.black, "--mantine-color-body": theme.white, "--mantine-color-error": "var(--mantine-color-red-6)", "--mantine-color-placeholder": "var(--mantine-color-gray-5)", "--mantine-color-anchor": `var(--mantine-color-${theme.primaryColor}-${lightPrimaryShade})`, "--mantine-color-default": "var(--mantine-color-white)", "--mantine-color-default-hover": "var(--mantine-color-gray-0)", "--mantine-color-default-color": "var(--mantine-color-black)", "--mantine-color-default-border": "var(--mantine-color-gray-4)", "--mantine-color-dimmed": "var(--mantine-color-gray-6)", "--mantine-color-disabled": "var(--mantine-color-gray-2)", "--mantine-color-disabled-color": "var(--mantine-color-gray-5)", "--mantine-color-disabled-border": "var(--mantine-color-gray-3)" }, dark: { "--mantine-color-scheme": "dark", "--mantine-primary-color-contrast": getPrimaryContrastColor(theme, "dark"), "--mantine-color-bright": "var(--mantine-color-white)", "--mantine-color-text": "var(--mantine-color-dark-0)", "--mantine-color-body": "var(--mantine-color-dark-7)", "--mantine-color-error": "var(--mantine-color-red-8)", "--mantine-color-placeholder": "var(--mantine-color-dark-3)", "--mantine-color-anchor": `var(--mantine-color-${theme.primaryColor}-4)`, "--mantine-color-default": "var(--mantine-color-dark-6)", "--mantine-color-default-hover": "var(--mantine-color-dark-5)", "--mantine-color-default-color": "var(--mantine-color-white)", "--mantine-color-default-border": "var(--mantine-color-dark-4)", "--mantine-color-dimmed": "var(--mantine-color-dark-2)", "--mantine-color-disabled": "var(--mantine-color-dark-6)", "--mantine-color-disabled-color": "var(--mantine-color-dark-3)", "--mantine-color-disabled-border": "var(--mantine-color-dark-4)" } }; assignSizeVariables(result.variables, theme.breakpoints, "breakpoint"); assignSizeVariables(result.variables, theme.spacing, "spacing"); assignSizeVariables(result.variables, theme.fontSizes, "font-size"); assignSizeVariables(result.variables, theme.lineHeights, "line-height"); assignSizeVariables(result.variables, theme.shadows, "shadow"); assignSizeVariables(result.variables, theme.radius, "radius"); theme.colors[theme.primaryColor].forEach((_, index5) => { result.variables[`--mantine-primary-color-${index5}`] = `var(--mantine-color-${theme.primaryColor}-${index5})`; }); keys(theme.colors).forEach((color) => { const value = theme.colors[color]; if (isVirtualColor(value)) { Object.assign( result.light, getCSSColorVariables({ theme, name: value.name, color: value.light, colorScheme: "light", withColorValues: true }) ); Object.assign( result.dark, getCSSColorVariables({ theme, name: value.name, color: value.dark, colorScheme: "dark", withColorValues: true }) ); return; } value.forEach((shade, index5) => { result.variables[`--mantine-color-${color}-${index5}`] = shade; }); Object.assign( result.light, getCSSColorVariables({ theme, color, colorScheme: "light", withColorValues: false }) ); Object.assign( result.dark, getCSSColorVariables({ theme, color, colorScheme: "dark", withColorValues: false }) ); }); const headings4 = theme.headings.sizes; keys(headings4).forEach((heading) => { result.variables[`--mantine-${heading}-font-size`] = headings4[heading].fontSize; result.variables[`--mantine-${heading}-line-height`] = headings4[heading].lineHeight; result.variables[`--mantine-${heading}-font-weight`] = headings4[heading].fontWeight || theme.headings.fontWeight; }); return result; }; // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/get-merged-variables.mjs function getMergedVariables({ theme, generator }) { const defaultResolver = defaultCssVariablesResolver(theme); const providerGenerator = generator?.(theme); return providerGenerator ? deepMerge(defaultResolver, providerGenerator) : defaultResolver; } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/remove-default-variables.mjs var import_react91 = __toESM(require_react(), 1); var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1); var defaultCssVariables = defaultCssVariablesResolver(DEFAULT_THEME); function removeDefaultVariables(input) { const cleaned = { variables: {}, light: {}, dark: {} }; keys(input.variables).forEach((key) => { if (defaultCssVariables.variables[key] !== input.variables[key]) { cleaned.variables[key] = input.variables[key]; } }); keys(input.light).forEach((key) => { if (defaultCssVariables.light[key] !== input.light[key]) { cleaned.light[key] = input.light[key]; } }); keys(input.dark).forEach((key) => { if (defaultCssVariables.dark[key] !== input.dark[key]) { cleaned.dark[key] = input.dark[key]; } }); return cleaned; } // node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs function getColorSchemeCssVariables(selectorOverride) { return convertCssVariables( { variables: {}, dark: { "--mantine-color-scheme": "dark" }, light: { "--mantine-color-scheme": "light" } }, selectorOverride ); } function MantineCssVariables({ cssVariablesSelector, deduplicateCssVariables }) { const theme = useMantineTheme(); const nonce = useMantineStyleNonce(); const generator = useMantineCssVariablesResolver(); const mergedVariables = getMergedVariables({ theme, generator }); const shouldCleanVariables = (cssVariablesSelector === void 0 || cssVariablesSelector === ":root" || cssVariablesSelector === ":host") && deduplicateCssVariables; const cleanedVariables = shouldCleanVariables ? removeDefaultVariables(mergedVariables) : mergedVariables; const css = convertCssVariables(cleanedVariables, cssVariablesSelector); if (css) { return (0, import_jsx_runtime13.jsx)( "style", { "data-mantine-styles": true, nonce: nonce?.(), dangerouslySetInnerHTML: { __html: `${css}${shouldCleanVariables ? "" : getColorSchemeCssVariables(cssVariablesSelector)}` } } ); } return null; } MantineCssVariables.displayName = "@mantine/CssVariables"; // node_modules/@mantine/core/esm/core/MantineProvider/MantineProvider.mjs var import_react93 = __toESM(require_react(), 1); // node_modules/@mantine/core/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs var import_react92 = __toESM(require_react(), 1); function setColorSchemeAttribute(colorScheme, getRootElement2) { const hasDarkColorScheme = typeof window !== "undefined" && "matchMedia" in window && window.matchMedia("(prefers-color-scheme: dark)")?.matches; const computedColorScheme = colorScheme !== "auto" ? colorScheme : hasDarkColorScheme ? "dark" : "light"; getRootElement2()?.setAttribute("data-mantine-color-scheme", computedColorScheme); } function useProviderColorScheme({ manager, defaultColorScheme, getRootElement: getRootElement2, forceColorScheme }) { const media = (0, import_react92.useRef)(null); const [value, setValue] = (0, import_react92.useState)(() => manager.get(defaultColorScheme)); const colorSchemeValue = forceColorScheme || value; const setColorScheme = (0, import_react92.useCallback)( (colorScheme) => { if (!forceColorScheme) { setColorSchemeAttribute(colorScheme, getRootElement2); setValue(colorScheme); manager.set(colorScheme); } }, [manager.set, colorSchemeValue, forceColorScheme] ); const clearColorScheme = (0, import_react92.useCallback)(() => { setValue(defaultColorScheme); setColorSchemeAttribute(defaultColorScheme, getRootElement2); manager.clear(); }, [manager.clear, defaultColorScheme]); (0, import_react92.useEffect)(() => { manager.subscribe(setColorScheme); return manager.unsubscribe; }, [manager.subscribe, manager.unsubscribe]); useIsomorphicEffect(() => { setColorSchemeAttribute(manager.get(defaultColorScheme), getRootElement2); }, []); (0, import_react92.useEffect)(() => { if (forceColorScheme) { setColorSchemeAttribute(forceColorScheme, getRootElement2); return () => { }; } if (forceColorScheme === void 0) { setColorSchemeAttribute(value, getRootElement2); } if (typeof window !== "undefined" && "matchMedia" in window) { media.current = window.matchMedia("(prefers-color-scheme: dark)"); } const listener = (event) => { if (value === "auto") { setColorSchemeAttribute(event.matches ? "dark" : "light", getRootElement2); } }; media.current?.addEventListener("change", listener); return () => media.current?.removeEventListener("change", listener); }, [value, forceColorScheme]); return { colorScheme: colorSchemeValue, setColorScheme, clearColorScheme }; } // node_modules/@mantine/core/esm/core/MantineProvider/use-respect-reduce-motion/use-respect-reduce-motion.mjs function useRespectReduceMotion({ respectReducedMotion, getRootElement: getRootElement2 }) { useIsomorphicEffect(() => { if (respectReducedMotion) { getRootElement2()?.setAttribute("data-respect-reduced-motion", "true"); } }, [respectReducedMotion]); } // node_modules/@mantine/core/esm/core/MantineProvider/MantineProvider.mjs function MantineProvider({ theme, children, getStyleNonce, withStaticClasses = true, withGlobalClasses = true, deduplicateCssVariables = true, withCssVariables = true, cssVariablesSelector, classNamesPrefix = "mantine", colorSchemeManager = localStorageColorSchemeManager(), defaultColorScheme = "light", getRootElement: getRootElement2 = () => document.documentElement, cssVariablesResolver, forceColorScheme, stylesTransform, env: env2 }) { const { colorScheme, setColorScheme, clearColorScheme } = useProviderColorScheme({ defaultColorScheme, forceColorScheme, manager: colorSchemeManager, getRootElement: getRootElement2 }); useRespectReduceMotion({ respectReducedMotion: theme?.respectReducedMotion || false, getRootElement: getRootElement2 }); return (0, import_jsx_runtime14.jsx)( MantineContext.Provider, { value: { colorScheme, setColorScheme, clearColorScheme, getRootElement: getRootElement2, classNamesPrefix, getStyleNonce, cssVariablesResolver, cssVariablesSelector: cssVariablesSelector ?? ":root", withStaticClasses, stylesTransform, env: env2 }, children: (0, import_jsx_runtime14.jsxs)(MantineThemeProvider, { theme, children: [ withCssVariables && (0, import_jsx_runtime14.jsx)( MantineCssVariables, { cssVariablesSelector, deduplicateCssVariables } ), withGlobalClasses && (0, import_jsx_runtime14.jsx)(MantineClasses, {}), children ] }) } ); } MantineProvider.displayName = "@mantine/core/MantineProvider"; function HeadlessMantineProvider({ children, theme, env: env2 }) { return (0, import_jsx_runtime14.jsx)( MantineContext.Provider, { value: { colorScheme: "auto", setColorScheme: () => { }, clearColorScheme: () => { }, getRootElement: () => document.documentElement, classNamesPrefix: "mantine", cssVariablesSelector: ":root", withStaticClasses: false, headless: true, env: env2 }, children: (0, import_jsx_runtime14.jsx)(MantineThemeProvider, { theme, children }) } ); } HeadlessMantineProvider.displayName = "@mantine/core/HeadlessMantineProvider"; // node_modules/@mantine/core/esm/core/styles-api/use-resolved-styles-api/use-resolved-styles-api.mjs function useResolvedStylesApi({ classNames, styles, props, stylesCtx }) { const theme = useMantineTheme(); return { resolvedClassNames: resolveClassNames({ theme, classNames, props, stylesCtx: stylesCtx || void 0 }), resolvedStyles: resolveStyles({ theme, styles, props, stylesCtx: stylesCtx || void 0 }) }; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-global-class-names/get-global-class-names.mjs var FOCUS_CLASS_NAMES = { always: "mantine-focus-always", auto: "mantine-focus-auto", never: "mantine-focus-never" }; function getGlobalClassNames({ theme, options, unstyled }) { return clsx_default( options?.focusable && !unstyled && (theme.focusClassName || FOCUS_CLASS_NAMES[theme.focusRing]), options?.active && !unstyled && theme.activeClassName ); } // node_modules/@mantine/core/esm/core/styles-api/use-styles/use-styles.mjs var import_react97 = __toESM(require_react(), 1); var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-options-class-names/get-options-class-names.mjs function getOptionsClassNames({ selector, stylesCtx, options, props, theme }) { return resolveClassNames({ theme, classNames: options?.classNames, props: options?.props || props, stylesCtx })[selector]; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-resolved-class-names/get-resolved-class-names.mjs function getResolvedClassNames({ selector, stylesCtx, theme, classNames, props }) { return resolveClassNames({ theme, classNames, props, stylesCtx })[selector]; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-root-class-name/get-root-class-name.mjs function getRootClassName({ rootSelector, selector, className }) { return rootSelector === selector ? className : void 0; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-selector-class-name/get-selector-class-name.mjs function getSelectorClassName({ selector, classes: classes88, unstyled }) { return unstyled ? void 0 : classes88[selector]; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-static-class-names/get-static-class-names.mjs function getStaticClassNames({ themeName, classNamesPrefix, selector, withStaticClass }) { if (withStaticClass === false) { return []; } return themeName.map((n) => `${classNamesPrefix}-${n}-${selector}`); } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-theme-class-names/get-theme-class-names.mjs function getThemeClassNames({ themeName, theme, selector, props, stylesCtx }) { return themeName.map( (n) => resolveClassNames({ theme, classNames: theme.components[n]?.classNames, props, stylesCtx })?.[selector] ); } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-variant-class-name/get-variant-class-name.mjs function getVariantClassName({ options, classes: classes88, selector, unstyled }) { return options?.variant && !unstyled ? classes88[`${selector}--${options.variant}`] : void 0; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-class-name/get-class-name.mjs function getClassName({ theme, options, themeName, selector, classNamesPrefix, classNames, classes: classes88, unstyled, className, rootSelector, props, stylesCtx, withStaticClasses, headless, transformedStyles }) { return clsx_default( getGlobalClassNames({ theme, options, unstyled: unstyled || headless }), getThemeClassNames({ theme, themeName, selector, props, stylesCtx }), getVariantClassName({ options, classes: classes88, selector, unstyled }), getResolvedClassNames({ selector, stylesCtx, theme, classNames, props }), getResolvedClassNames({ selector, stylesCtx, theme, classNames: transformedStyles, props }), getOptionsClassNames({ selector, stylesCtx, options, props, theme }), getRootClassName({ rootSelector, selector, className }), getSelectorClassName({ selector, classes: classes88, unstyled: unstyled || headless }), withStaticClasses && !headless && getStaticClassNames({ themeName, classNamesPrefix, selector, withStaticClass: options?.withStaticClass }), options?.className ); } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/get-theme-styles/get-theme-styles.mjs function getThemeStyles({ theme, themeName, props, stylesCtx, selector }) { return themeName.map( (n) => resolveStyles({ theme, styles: theme.components[n]?.styles, props, stylesCtx })[selector] ).reduce((acc, val) => ({ ...acc, ...val }), {}); } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-style/resolve-style.mjs function resolveStyle({ style, theme }) { if (Array.isArray(style)) { return [...style].reduce( (acc, item) => ({ ...acc, ...resolveStyle({ style: item, theme }) }), {} ); } if (typeof style === "function") { return style(theme); } if (style == null) { return {}; } return style; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-vars/merge-vars.mjs var import_react95 = __toESM(require_react(), 1); var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1); function mergeVars(vars) { return vars.reduce((acc, current) => { if (current) { Object.keys(current).forEach((key) => { acc[key] = { ...acc[key], ...filterProps(current[key]) }; }); } return acc; }, {}); } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-vars/resolve-vars.mjs function resolveVars({ vars, varsResolver: varsResolver91, theme, props, stylesCtx, selector, themeName, headless }) { return mergeVars([ headless ? {} : varsResolver91?.(theme, props, stylesCtx), ...themeName.map((name) => theme.components?.[name]?.vars?.(theme, props, stylesCtx)), vars?.(theme, props, stylesCtx) ])?.[selector]; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/get-style.mjs function getStyle({ theme, themeName, selector, options, props, stylesCtx, rootSelector, styles, style, vars, varsResolver: varsResolver91, headless, withStylesTransform }) { return { ...!withStylesTransform && getThemeStyles({ theme, themeName, props, stylesCtx, selector }), ...!withStylesTransform && resolveStyles({ theme, styles, props, stylesCtx })[selector], ...!withStylesTransform && resolveStyles({ theme, styles: options?.styles, props: options?.props || props, stylesCtx })[selector], ...resolveVars({ theme, props, stylesCtx, vars, varsResolver: varsResolver91, selector, themeName, headless }), ...rootSelector === selector ? resolveStyle({ style, theme }) : null, ...resolveStyle({ style: options?.style, theme }) }; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/use-transformed-styles.mjs var import_react96 = __toESM(require_react(), 1); var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1); function useStylesTransform({ props, stylesCtx, themeName }) { const theme = useMantineTheme(); const stylesTransform = useMantineStylesTransform()?.(); const getTransformedStyles = (styles) => { if (!stylesTransform) { return []; } const transformedStyles = styles.map( (style) => stylesTransform(style, { props, theme, ctx: stylesCtx }) ); return [ ...transformedStyles, ...themeName.map( (n) => stylesTransform(theme.components[n]?.styles, { props, theme, ctx: stylesCtx }) ) ].filter(Boolean); }; return { getTransformedStyles, withStylesTransform: !!stylesTransform }; } // node_modules/@mantine/core/esm/core/styles-api/use-styles/use-styles.mjs function useStyles({ name, classes: classes88, props, stylesCtx, className, style, rootSelector = "root", unstyled, classNames, styles, vars, varsResolver: varsResolver91, attributes }) { const theme = useMantineTheme(); const classNamesPrefix = useMantineClassNamesPrefix(); const withStaticClasses = useMantineWithStaticClasses(); const headless = useMantineIsHeadless(); const themeName = (Array.isArray(name) ? name : [name]).filter((n) => n); const { withStylesTransform, getTransformedStyles } = useStylesTransform({ props, stylesCtx, themeName }); return (selector, options) => ({ className: getClassName({ theme, options, themeName, selector, classNamesPrefix, classNames, classes: classes88, unstyled, className, rootSelector, props, stylesCtx, withStaticClasses, headless, transformedStyles: getTransformedStyles([options?.styles, styles]) }), style: getStyle({ theme, themeName, selector, options, props, stylesCtx, rootSelector, styles, style, vars, varsResolver: varsResolver91, headless, withStylesTransform }), ...attributes?.[selector] }); } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/lighten/lighten.mjs function lighten(color, alpha2) { if (color.startsWith("var(")) { return `color-mix(in srgb, ${color}, white ${alpha2 * 100}%)`; } const { r: r2, g, b, a } = toRgba(color); const light = (input) => Math.round(input + (255 - input) * alpha2); return `rgba(${light(r2)}, ${light(g)}, ${light(b)}, ${a})`; } // node_modules/@mantine/core/esm/core/MantineProvider/color-functions/get-auto-contrast-value/get-auto-contrast-value.mjs function getAutoContrastValue(autoContrast, theme) { return typeof autoContrast === "boolean" ? autoContrast : theme.autoContrast; } // node_modules/@mantine/core/esm/core/MantineProvider/use-mantine-color-scheme/use-mantine-color-scheme.mjs var import_react98 = __toESM(require_react(), 1); var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1); function disableTransition(nonce) { const style = document.createElement("style"); style.setAttribute("data-mantine-styles", "inline"); style.innerHTML = "*, *::before, *::after {transition: none !important;}"; style.setAttribute("data-mantine-disable-transition", "true"); nonce && style.setAttribute("nonce", nonce); document.head.appendChild(style); const clear = () => document.querySelectorAll("[data-mantine-disable-transition]").forEach((element) => element.remove()); return clear; } function useMantineColorScheme({ keepTransitions } = {}) { const clearStylesRef = (0, import_react98.useRef)(noop); const timeoutRef = (0, import_react98.useRef)(-1); const ctx = (0, import_react98.useContext)(MantineContext); const nonce = useMantineStyleNonce(); const nonceValue = (0, import_react98.useRef)(nonce?.()); if (!ctx) { throw new Error("[@mantine/core] MantineProvider was not found in tree"); } const setColorScheme = (value) => { ctx.setColorScheme(value); clearStylesRef.current = keepTransitions ? () => { } : disableTransition(nonceValue.current); window.clearTimeout(timeoutRef.current); timeoutRef.current = window.setTimeout(() => { clearStylesRef.current?.(); }, 10); }; const clearColorScheme = () => { ctx.clearColorScheme(); clearStylesRef.current = keepTransitions ? () => { } : disableTransition(nonceValue.current); window.clearTimeout(timeoutRef.current); timeoutRef.current = window.setTimeout(() => { clearStylesRef.current?.(); }, 10); }; const osColorScheme = useColorScheme("light", { getInitialValueInEffect: false }); const computedColorScheme = ctx.colorScheme === "auto" ? osColorScheme : ctx.colorScheme; const toggleColorScheme = (0, import_react98.useCallback)( () => setColorScheme(computedColorScheme === "light" ? "dark" : "light"), [setColorScheme, computedColorScheme] ); (0, import_react98.useEffect)( () => () => { clearStylesRef.current?.(); window.clearTimeout(timeoutRef.current); }, [] ); return { colorScheme: ctx.colorScheme, setColorScheme, clearColorScheme, toggleColorScheme }; } // node_modules/@mantine/core/esm/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.mjs function useComputedColorScheme(defaultValue, options = { getInitialValueInEffect: true }) { const osColorScheme = useColorScheme(defaultValue, options); const { colorScheme } = useMantineColorScheme(); return colorScheme === "auto" ? osColorScheme : colorScheme; } // node_modules/@mantine/core/esm/core/MantineProvider/ColorSchemeScript/ColorSchemeScript.mjs var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1); var getScript = ({ defaultColorScheme, localStorageKey, forceColorScheme }) => forceColorScheme ? `document.documentElement.setAttribute("data-mantine-color-scheme", '${forceColorScheme}');` : `try { var _colorScheme = window.localStorage.getItem("${localStorageKey}"); var colorScheme = _colorScheme === "light" || _colorScheme === "dark" || _colorScheme === "auto" ? _colorScheme : "${defaultColorScheme}"; var computedColorScheme = colorScheme !== "auto" ? colorScheme : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; document.documentElement.setAttribute("data-mantine-color-scheme", computedColorScheme); } catch (e) {} `; function ColorSchemeScript({ defaultColorScheme = "light", localStorageKey = "mantine-color-scheme-value", forceColorScheme, ...others }) { const _defaultColorScheme = ["light", "dark", "auto"].includes(defaultColorScheme) ? defaultColorScheme : "light"; return (0, import_jsx_runtime20.jsx)( "script", { ...others, "data-mantine-script": true, dangerouslySetInnerHTML: { __html: getScript({ defaultColorScheme: _defaultColorScheme, localStorageKey, forceColorScheme }) } } ); } // node_modules/@mantine/core/esm/core/MantineProvider/use-props/use-props.mjs var import_react99 = __toESM(require_react(), 1); var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1); function useProps(component, defaultProps105, props) { const theme = useMantineTheme(); const contextPropsPayload = theme.components[component]?.defaultProps; const contextProps = typeof contextPropsPayload === "function" ? contextPropsPayload(theme) : contextPropsPayload; return { ...defaultProps105, ...contextProps, ...filterProps(props) }; } // node_modules/@mantine/core/esm/core/MantineProvider/create-theme/create-theme.mjs function createTheme(theme) { return theme; } // node_modules/@mantine/core/esm/core/MantineProvider/merge-theme-overrides/merge-theme-overrides.mjs var import_react100 = __toESM(require_react(), 1); var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1); function mergeThemeOverrides(...overrides) { return overrides.reduce((acc, override) => deepMerge(acc, override), {}); } // node_modules/@mantine/core/esm/core/MantineProvider/use-matches/use-matches.mjs var BREAKPOINTS = ["xs", "sm", "md", "lg", "xl"]; function getFirstMatchingValue(value, biggestMatch) { if (!biggestMatch) { return value.base; } let index5 = BREAKPOINTS.indexOf(biggestMatch); while (index5 >= 0) { if (BREAKPOINTS[index5] in value) { return value[BREAKPOINTS[index5]]; } index5 -= 1; } return value.base; } function getFirstMatchingBreakpoint(matches2) { return matches2.findLastIndex((v) => v); } function useMatches(payload, options) { const theme = useMantineTheme(); const xsMatches = useMediaQuery(`(min-width: ${theme.breakpoints.xs})`, false, options); const smMatches = useMediaQuery(`(min-width: ${theme.breakpoints.sm})`, false, options); const mdMatches = useMediaQuery(`(min-width: ${theme.breakpoints.md})`, false, options); const lgMatches = useMediaQuery(`(min-width: ${theme.breakpoints.lg})`, false, options); const xlMatches = useMediaQuery(`(min-width: ${theme.breakpoints.xl})`, false, options); const breakpoints = [xsMatches, smMatches, mdMatches, lgMatches, xlMatches]; const firstMatchingBreakpointIndex = getFirstMatchingBreakpoint(breakpoints); return getFirstMatchingValue(payload, BREAKPOINTS[firstMatchingBreakpointIndex]); } // node_modules/@mantine/core/esm/core/MantineProvider/mantine-html-props.mjs var mantineHtmlProps = { suppressHydrationWarning: true, "data-mantine-color-scheme": "light" }; // node_modules/@mantine/core/esm/core/InlineStyles/InlineStyles.mjs var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1); var import_react102 = __toESM(require_react(), 1); // node_modules/@mantine/core/esm/core/InlineStyles/css-object-to-string/css-object-to-string.mjs var import_react101 = __toESM(require_react(), 1); var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1); function cssObjectToString(css) { return keys(css).reduce( (acc, rule) => css[rule] !== void 0 ? `${acc}${camelToKebabCase(rule)}:${css[rule]};` : acc, "" ).trim(); } // node_modules/@mantine/core/esm/core/InlineStyles/styles-to-string/styles-to-string.mjs function stylesToString({ selector, styles, media, container }) { const baseStyles = styles ? cssObjectToString(styles) : ""; const mediaQueryStyles = !Array.isArray(media) ? [] : media.map((item) => `@media${item.query}{${selector}{${cssObjectToString(item.styles)}}}`); const containerStyles = !Array.isArray(container) ? [] : container.map( (item) => `@container ${item.query}{${selector}{${cssObjectToString(item.styles)}}}` ); return `${baseStyles ? `${selector}{${baseStyles}}` : ""}${mediaQueryStyles.join("")}${containerStyles.join("")}`.trim(); } // node_modules/@mantine/core/esm/core/InlineStyles/InlineStyles.mjs function InlineStyles(props) { const nonce = useMantineStyleNonce(); return (0, import_jsx_runtime24.jsx)( "style", { "data-mantine-styles": "inline", nonce: nonce?.(), dangerouslySetInnerHTML: { __html: stylesToString(props) } } ); } // node_modules/@mantine/core/esm/core/Box/style-props/extract-style-props/extract-style-props.mjs var import_react103 = __toESM(require_react(), 1); var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1); function extractStyleProps(others) { const { m, mx, my, mt, mb, ml, mr, me, ms, p, px: px2, py, pt, pb, pl, pr, pe, ps, bd, bdrs, bg, c, opacity, ff, fz, fw, lts, ta, lh, fs, tt, td, w, miw, maw, h, mih, mah, bgsz, bgp, bgr, bga, pos, top, left, bottom, right, inset, display, flex, hiddenFrom, visibleFrom, lightHidden, darkHidden, sx, ...rest } = others; const styleProps = filterProps({ m, mx, my, mt, mb, ml, mr, me, ms, p, px: px2, py, pt, pb, pl, pr, pe, ps, bd, bg, c, opacity, ff, fz, fw, lts, ta, lh, fs, tt, td, w, miw, maw, h, mih, mah, bgsz, bgp, bgr, bga, pos, top, left, bottom, right, inset, display, flex, bdrs, hiddenFrom, visibleFrom, lightHidden, darkHidden, sx }); return { styleProps, rest }; } // node_modules/@mantine/core/esm/core/Box/style-props/style-props-data.mjs var STYlE_PROPS_DATA = { m: { type: "spacing", property: "margin" }, mt: { type: "spacing", property: "marginTop" }, mb: { type: "spacing", property: "marginBottom" }, ml: { type: "spacing", property: "marginLeft" }, mr: { type: "spacing", property: "marginRight" }, ms: { type: "spacing", property: "marginInlineStart" }, me: { type: "spacing", property: "marginInlineEnd" }, mx: { type: "spacing", property: "marginInline" }, my: { type: "spacing", property: "marginBlock" }, p: { type: "spacing", property: "padding" }, pt: { type: "spacing", property: "paddingTop" }, pb: { type: "spacing", property: "paddingBottom" }, pl: { type: "spacing", property: "paddingLeft" }, pr: { type: "spacing", property: "paddingRight" }, ps: { type: "spacing", property: "paddingInlineStart" }, pe: { type: "spacing", property: "paddingInlineEnd" }, px: { type: "spacing", property: "paddingInline" }, py: { type: "spacing", property: "paddingBlock" }, bd: { type: "border", property: "border" }, bdrs: { type: "radius", property: "borderRadius" }, bg: { type: "color", property: "background" }, c: { type: "textColor", property: "color" }, opacity: { type: "identity", property: "opacity" }, ff: { type: "fontFamily", property: "fontFamily" }, fz: { type: "fontSize", property: "fontSize" }, fw: { type: "identity", property: "fontWeight" }, lts: { type: "size", property: "letterSpacing" }, ta: { type: "identity", property: "textAlign" }, lh: { type: "lineHeight", property: "lineHeight" }, fs: { type: "identity", property: "fontStyle" }, tt: { type: "identity", property: "textTransform" }, td: { type: "identity", property: "textDecoration" }, w: { type: "spacing", property: "width" }, miw: { type: "spacing", property: "minWidth" }, maw: { type: "spacing", property: "maxWidth" }, h: { type: "spacing", property: "height" }, mih: { type: "spacing", property: "minHeight" }, mah: { type: "spacing", property: "maxHeight" }, bgsz: { type: "size", property: "backgroundSize" }, bgp: { type: "identity", property: "backgroundPosition" }, bgr: { type: "identity", property: "backgroundRepeat" }, bga: { type: "identity", property: "backgroundAttachment" }, pos: { type: "identity", property: "position" }, top: { type: "size", property: "top" }, left: { type: "size", property: "left" }, bottom: { type: "size", property: "bottom" }, right: { type: "size", property: "right" }, inset: { type: "size", property: "inset" }, display: { type: "identity", property: "display" }, flex: { type: "identity", property: "flex" } }; // node_modules/@mantine/core/esm/core/Box/style-props/parse-style-props/parse-style-props.mjs var import_react110 = __toESM(require_react(), 1); var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs var import_react105 = __toESM(require_react(), 1); var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1); // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/color-resolver/color-resolver.mjs var import_react104 = __toESM(require_react(), 1); var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1); function colorResolver(color, theme) { const parsedColor = parseThemeColor({ color, theme }); if (parsedColor.color === "dimmed") { return "var(--mantine-color-dimmed)"; } if (parsedColor.color === "bright") { return "var(--mantine-color-bright)"; } return parsedColor.variable ? `var(${parsedColor.variable})` : parsedColor.color; } function textColorResolver(color, theme) { const parsedColor = parseThemeColor({ color, theme }); if (parsedColor.isThemeColor && parsedColor.shade === void 0) { return `var(--mantine-color-${parsedColor.color}-text)`; } return colorResolver(color, theme); } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/border-resolver/border-resolver.mjs function borderResolver(value, theme) { if (typeof value === "number") { return rem(value); } if (typeof value === "string") { const [size4, style, ...colorTuple] = value.split(" ").filter((val) => val.trim() !== ""); let result = `${rem(size4)}`; style && (result += ` ${style}`); colorTuple.length > 0 && (result += ` ${colorResolver(colorTuple.join(" "), theme)}`); return result.trim(); } return value; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/font-family-resolver/font-family-resolver.mjs var values = { text: "var(--mantine-font-family)", mono: "var(--mantine-font-family-monospace)", monospace: "var(--mantine-font-family-monospace)", heading: "var(--mantine-font-family-headings)", headings: "var(--mantine-font-family-headings)" }; function fontFamilyResolver(fontFamily) { if (typeof fontFamily === "string" && fontFamily in values) { return values[fontFamily]; } return fontFamily; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/font-size-resolver/font-size-resolver.mjs var import_react106 = __toESM(require_react(), 1); var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1); var headings = ["h1", "h2", "h3", "h4", "h5", "h6"]; function fontSizeResolver(value, theme) { if (typeof value === "string" && value in theme.fontSizes) { return `var(--mantine-font-size-${value})`; } if (typeof value === "string" && headings.includes(value)) { return `var(--mantine-${value}-font-size)`; } if (typeof value === "number") { return rem(value); } if (typeof value === "string") { return rem(value); } return value; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/identity-resolver/identity-resolver.mjs function identityResolver(value) { return value; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/line-height-resolver/line-height-resolver.mjs var headings2 = ["h1", "h2", "h3", "h4", "h5", "h6"]; function lineHeightResolver(value, theme) { if (typeof value === "string" && value in theme.lineHeights) { return `var(--mantine-line-height-${value})`; } if (typeof value === "string" && headings2.includes(value)) { return `var(--mantine-${value}-line-height)`; } return value; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/radius-resolver/radius-resolver.mjs var import_react107 = __toESM(require_react(), 1); var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1); function radiusResolver(value, theme) { if (typeof value === "string" && value in theme.radius) { return `var(--mantine-radius-${value})`; } if (typeof value === "number") { return rem(value); } if (typeof value === "string") { return rem(value); } return value; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/size-resolver/size-resolver.mjs var import_react108 = __toESM(require_react(), 1); var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1); function sizeResolver(value) { if (typeof value === "number") { return rem(value); } return value; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/spacing-resolver/spacing-resolver.mjs var import_react109 = __toESM(require_react(), 1); var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1); function spacingResolver(value, theme) { if (typeof value === "number") { return rem(value); } if (typeof value === "string") { const mod = value.replace("-", ""); if (!(mod in theme.spacing)) { return rem(value); } const variable = `--mantine-spacing-${mod}`; return value.startsWith("-") ? `calc(var(${variable}) * -1)` : `var(${variable})`; } return value; } // node_modules/@mantine/core/esm/core/Box/style-props/resolvers/index.mjs var resolvers = { color: colorResolver, textColor: textColorResolver, fontSize: fontSizeResolver, spacing: spacingResolver, radius: radiusResolver, identity: identityResolver, size: sizeResolver, lineHeight: lineHeightResolver, fontFamily: fontFamilyResolver, border: borderResolver }; // node_modules/@mantine/core/esm/core/Box/style-props/parse-style-props/sort-media-queries.mjs function replaceMediaQuery(query) { return query.replace("(min-width: ", "").replace("em)", ""); } function sortMediaQueries({ media, ...props }) { const breakpoints = Object.keys(media); const sortedMedia = breakpoints.sort((a, b) => Number(replaceMediaQuery(a)) - Number(replaceMediaQuery(b))).map((query) => ({ query, styles: media[query] })); return { ...props, media: sortedMedia }; } // node_modules/@mantine/core/esm/core/Box/style-props/parse-style-props/parse-style-props.mjs function hasResponsiveStyles(styleProp) { if (typeof styleProp !== "object" || styleProp === null) { return false; } const breakpoints = Object.keys(styleProp); if (breakpoints.length === 1 && breakpoints[0] === "base") { return false; } return true; } function getBaseValue2(value) { if (typeof value === "object" && value !== null) { if ("base" in value) { return value.base; } return void 0; } return value; } function getBreakpointKeys(value) { if (typeof value === "object" && value !== null) { return keys(value).filter((key) => key !== "base"); } return []; } function getBreakpointValue2(value, breakpoint) { if (typeof value === "object" && value !== null && breakpoint in value) { return value[breakpoint]; } return value; } function parseStyleProps({ styleProps, data, theme }) { return sortMediaQueries( keys(styleProps).reduce( (acc, styleProp) => { if (styleProp === "hiddenFrom" || styleProp === "visibleFrom" || styleProp === "sx") { return acc; } const propertyData = data[styleProp]; const properties = Array.isArray(propertyData.property) ? propertyData.property : [propertyData.property]; const baseValue = getBaseValue2(styleProps[styleProp]); if (!hasResponsiveStyles(styleProps[styleProp])) { properties.forEach((property) => { acc.inlineStyles[property] = resolvers[propertyData.type](baseValue, theme); }); return acc; } acc.hasResponsiveStyles = true; const breakpoints = getBreakpointKeys(styleProps[styleProp]); properties.forEach((property) => { if (baseValue != null) { acc.styles[property] = resolvers[propertyData.type](baseValue, theme); } breakpoints.forEach((breakpoint) => { const bp = `(min-width: ${theme.breakpoints[breakpoint]})`; acc.media[bp] = { ...acc.media[bp], [property]: resolvers[propertyData.type]( getBreakpointValue2(styleProps[styleProp], breakpoint), theme ) }; }); }); return acc; }, { hasResponsiveStyles: false, styles: {}, inlineStyles: {}, media: {} } ) ); } // node_modules/@mantine/core/esm/core/Box/use-random-classname/use-random-classname.mjs var import_react111 = __toESM(require_react(), 1); function useRandomClassName() { const id = (0, import_react111.useId)().replace(/[:«»]/g, ""); return `__m__-${id}`; } // node_modules/@mantine/core/esm/core/Box/get-style-object/get-style-object.mjs function getStyleObject(style, theme) { if (Array.isArray(style)) { return [...style].reduce( (acc, item) => ({ ...acc, ...getStyleObject(item, theme) }), {} ); } if (typeof style === "function") { return style(theme); } if (style == null) { return {}; } return style; } // node_modules/@mantine/core/esm/core/Box/Box.mjs var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1); var import_react112 = __toESM(require_react(), 1); // node_modules/@mantine/core/esm/core/factory/create-polymorphic-component.mjs function createPolymorphicComponent(component) { return component; } // node_modules/@mantine/core/esm/core/Box/get-box-mod/get-box-mod.mjs function transformModKey(key) { return key.startsWith("data-") ? key : `data-${key}`; } function getMod(props) { return Object.keys(props).reduce((acc, key) => { const value = props[key]; if (value === void 0 || value === "" || value === false || value === null) { return acc; } acc[transformModKey(key)] = props[key]; return acc; }, {}); } function getBoxMod(mod) { if (!mod) { return null; } if (typeof mod === "string") { return { [transformModKey(mod)]: true }; } if (Array.isArray(mod)) { return [...mod].reduce( (acc, value) => ({ ...acc, ...getBoxMod(value) }), {} ); } return getMod(mod); } // node_modules/@mantine/core/esm/core/Box/get-box-style/get-box-style.mjs function mergeStyles(styles, theme) { if (Array.isArray(styles)) { return [...styles].reduce( (acc, item) => ({ ...acc, ...mergeStyles(item, theme) }), {} ); } if (typeof styles === "function") { return styles(theme); } if (styles == null) { return {}; } return styles; } function getBoxStyle({ theme, style, vars, styleProps }) { const _style = mergeStyles(style, theme); const _vars = mergeStyles(vars, theme); return { ..._style, ..._vars, ...styleProps }; } // node_modules/@mantine/core/esm/core/Box/Box.mjs var _Box = (0, import_react112.forwardRef)( ({ component, style, __vars, className, variant, mod, size: size4, hiddenFrom, visibleFrom, lightHidden, darkHidden, renderRoot, __size, ...others }, ref) => { const theme = useMantineTheme(); const Element2 = component || "div"; const { styleProps, rest } = extractStyleProps(others); const useSxTransform = useMantineSxTransform(); const transformedSx = useSxTransform?.()?.(styleProps.sx); const responsiveClassName = useRandomClassName(); const parsedStyleProps = parseStyleProps({ styleProps, theme, data: STYlE_PROPS_DATA }); const props = { ref, style: getBoxStyle({ theme, style, vars: __vars, styleProps: parsedStyleProps.inlineStyles }), className: clsx_default(className, transformedSx, { [responsiveClassName]: parsedStyleProps.hasResponsiveStyles, "mantine-light-hidden": lightHidden, "mantine-dark-hidden": darkHidden, [`mantine-hidden-from-${hiddenFrom}`]: hiddenFrom, [`mantine-visible-from-${visibleFrom}`]: visibleFrom }), "data-variant": variant, "data-size": isNumberLike(size4) ? void 0 : size4 || void 0, size: __size, ...getBoxMod(mod), ...rest }; return (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [ parsedStyleProps.hasResponsiveStyles && (0, import_jsx_runtime33.jsx)( InlineStyles, { selector: `.${responsiveClassName}`, styles: parsedStyleProps.styles, media: parsedStyleProps.media } ), typeof renderRoot === "function" ? renderRoot(props) : (0, import_jsx_runtime33.jsx)(Element2, { ...props }) ] }); } ); _Box.displayName = "@mantine/core/Box"; var Box = createPolymorphicComponent(_Box); // node_modules/@mantine/core/esm/core/factory/factory.mjs var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1); var import_react113 = __toESM(require_react(), 1); function identity(value) { return value; } function getWithProps(Component) { const _Component = Component; return (fixedProps) => { const Extended = (0, import_react113.forwardRef)((props, ref) => (0, import_jsx_runtime34.jsx)(_Component, { ...fixedProps, ...props, ref })); Extended.extend = _Component.extend; Extended.displayName = `WithProps(${_Component.displayName})`; return Extended; }; } function factory(ui) { const Component = (0, import_react113.forwardRef)(ui); Component.extend = identity; Component.withProps = (fixedProps) => { const Extended = (0, import_react113.forwardRef)((props, ref) => (0, import_jsx_runtime34.jsx)(Component, { ...fixedProps, ...props, ref })); Extended.extend = Component.extend; Extended.displayName = `WithProps(${Component.displayName})`; return Extended; }; return Component; } // node_modules/@mantine/core/esm/core/factory/polymorphic-factory.mjs var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1); var import_react114 = __toESM(require_react(), 1); function polymorphicFactory(ui) { const Component = (0, import_react114.forwardRef)(ui); Component.withProps = (fixedProps) => { const Extended = (0, import_react114.forwardRef)((props, ref) => (0, import_jsx_runtime35.jsx)(Component, { ...fixedProps, ...props, ref })); Extended.extend = Component.extend; Extended.displayName = `WithProps(${Component.displayName})`; return Extended; }; Component.extend = identity; return Component; } // node_modules/@mantine/core/esm/core/DirectionProvider/DirectionProvider.mjs var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1); var import_react115 = __toESM(require_react(), 1); var DirectionContext = (0, import_react115.createContext)({ dir: "ltr", toggleDirection: () => { }, setDirection: () => { } }); function useDirection() { return (0, import_react115.useContext)(DirectionContext); } function DirectionProvider({ children, initialDirection = "ltr", detectDirection = true }) { const [dir, setDir] = (0, import_react115.useState)(initialDirection); const setDirection = (0, import_react115.useCallback)((direction) => { setDir(direction); if (document.documentElement.getAttribute("dir") !== direction) { document.documentElement.setAttribute("dir", direction); } }, []); const toggleDirection = () => setDirection(dir === "ltr" ? "rtl" : "ltr"); useIsomorphicEffect(() => { if (detectDirection) { const direction = document.documentElement.getAttribute("dir"); if (direction === "rtl" || direction === "ltr") { setDir(direction); } } }, []); const mutationCallback = (0, import_react115.useCallback)(() => { if (typeof document === "undefined") { return; } const direction = document.documentElement.getAttribute("dir"); if (direction === "rtl" || direction === "ltr") { setDir((prev) => prev !== direction ? direction : prev); } }, []); useMutationObserver( mutationCallback, detectDirection ? { attributes: true, attributeFilter: ["dir"] } : {}, typeof document !== "undefined" && detectDirection ? document.documentElement : null ); return (0, import_jsx_runtime36.jsx)(DirectionContext.Provider, { value: { dir, toggleDirection, setDirection }, children }); } // node_modules/@mantine/core/esm/components/Collapse/Collapse.mjs var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1); var import_react117 = __toESM(require_react(), 1); // node_modules/@mantine/core/esm/components/Collapse/use-collapse.mjs var import_react116 = __toESM(require_react(), 1); var import_react_dom = __toESM(require_react_dom(), 1); function getAutoHeightDuration(height) { if (!height || typeof height === "string") { return 0; } const constant = height / 36; return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10); } function getElementHeight(el) { return el?.current ? el.current.scrollHeight : "auto"; } var raf = typeof window !== "undefined" && window.requestAnimationFrame; var collapsedHeight = 0; var getCollapsedStyles = (keepMounted) => ({ height: 0, overflow: "hidden", ...keepMounted ? {} : { display: "none" } }); function useCollapse({ transitionDuration, transitionTimingFunction = "ease", onTransitionEnd = () => { }, opened, keepMounted = false }) { const el = (0, import_react116.useRef)(null); const collapsedStyles = getCollapsedStyles(keepMounted); const [styles, setStylesRaw] = (0, import_react116.useState)(opened ? {} : collapsedStyles); const setStyles = (newStyles) => { (0, import_react_dom.flushSync)(() => setStylesRaw(newStyles)); }; const mergeStyles2 = (newStyles) => { setStyles((oldStyles) => ({ ...oldStyles, ...newStyles })); }; function getTransitionStyles2(height) { const _duration = transitionDuration || getAutoHeightDuration(height); return { transition: `height ${_duration}ms ${transitionTimingFunction}, opacity ${_duration}ms ${transitionTimingFunction}` }; } useDidUpdate(() => { if (typeof raf === "function") { if (opened) { raf(() => { mergeStyles2({ willChange: "height", display: "block", overflow: "hidden" }); raf(() => { const height = getElementHeight(el); mergeStyles2({ ...getTransitionStyles2(height), height }); }); }); } else { raf(() => { const height = getElementHeight(el); mergeStyles2({ ...getTransitionStyles2(height), willChange: "height", height }); raf(() => mergeStyles2({ height: collapsedHeight, overflow: "hidden" })); }); } } }, [opened]); const handleTransitionEnd = (e) => { if (e.target !== el.current || e.propertyName !== "height") { return; } if (opened) { const height = getElementHeight(el); if (height === styles.height) { setStyles({}); } else { mergeStyles2({ height }); } onTransitionEnd(); } else if (styles.height === collapsedHeight) { setStyles(collapsedStyles); onTransitionEnd(); } }; function getCollapseProps({ style = {}, refKey = "ref", ...rest } = {}) { const theirRef = rest[refKey]; const props = { "aria-hidden": !opened, ...rest, [refKey]: mergeRefs2(el, theirRef), onTransitionEnd: handleTransitionEnd, style: { boxSizing: "border-box", ...style, ...styles } }; if (import_react116.default.version.startsWith("18")) { if (!opened) { props.inert = ""; } } else { props.inert = !opened; } return props; } return getCollapseProps; } // node_modules/@mantine/core/esm/components/Collapse/Collapse.mjs var defaultProps = { transitionDuration: 200, transitionTimingFunction: "ease", animateOpacity: true }; var Collapse = factory((props, ref) => { const { children, in: opened, transitionDuration, transitionTimingFunction, style, onTransitionEnd, animateOpacity, keepMounted, ...others } = useProps("Collapse", defaultProps, props); const theme = useMantineTheme(); const shouldReduceMotion = useReducedMotion(); const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false; const duration = reduceMotion ? 0 : transitionDuration; const getCollapseProps = useCollapse({ opened, transitionDuration: duration, transitionTimingFunction, onTransitionEnd, keepMounted }); if (duration === 0) { return opened ? (0, import_jsx_runtime37.jsx)(Box, { ...others, children }) : null; } return (0, import_jsx_runtime37.jsx)( Box, { ...getCollapseProps({ style: { opacity: opened || !animateOpacity ? 1 : 0, transition: animateOpacity ? `opacity ${duration}ms ${transitionTimingFunction}` : "none", ...getStyleObject(style, theme) }, ref, ...others }), children } ); }); Collapse.displayName = "@mantine/core/Collapse"; // node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.mjs var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1); var import_react134 = __toESM(require_react(), 1); // node_modules/@floating-ui/react/dist/floating-ui.react.mjs var React15 = __toESM(require_react(), 1); // node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs function hasWindow() { return typeof window !== "undefined"; } function getNodeName(node) { if (isNode2(node)) { return (node.nodeName || "").toLowerCase(); } return "#document"; } function getWindow(node) { var _node$ownerDocument; return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; } function getDocumentElement(node) { var _ref; return (_ref = (isNode2(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement; } function isNode2(value) { if (!hasWindow()) { return false; } return value instanceof Node || value instanceof getWindow(value).Node; } function isElement2(value) { if (!hasWindow()) { return false; } return value instanceof Element || value instanceof getWindow(value).Element; } function isHTMLElement(value) { if (!hasWindow()) { return false; } return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement; } function isShadowRoot(value) { if (!hasWindow() || typeof ShadowRoot === "undefined") { return false; } return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot; } function isOverflowElement(element) { const { overflow, overflowX, overflowY, display } = getComputedStyle2(element); return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents"; } function isTableElement(element) { return /^(table|td|th)$/.test(getNodeName(element)); } function isTopLayer(element) { try { if (element.matches(":popover-open")) { return true; } } catch (_e) { } try { return element.matches(":modal"); } catch (_e) { return false; } } var willChangeRe = /transform|translate|scale|rotate|perspective|filter/; var containRe = /paint|layout|strict|content/; var isNotNone = (value) => !!value && value !== "none"; var isWebKitValue; function isContainingBlock(elementOrCss) { const css = isElement2(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss; return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || ""); } function getContainingBlock(element) { let currentNode = getParentNode(element); while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { if (isContainingBlock(currentNode)) { return currentNode; } else if (isTopLayer(currentNode)) { return null; } currentNode = getParentNode(currentNode); } return null; } function isWebKit() { if (isWebKitValue == null) { isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none"); } return isWebKitValue; } function isLastTraversableNode(node) { return /^(html|body|#document)$/.test(getNodeName(node)); } function getComputedStyle2(element) { return getWindow(element).getComputedStyle(element); } function getNodeScroll(element) { if (isElement2(element)) { return { scrollLeft: element.scrollLeft, scrollTop: element.scrollTop }; } return { scrollLeft: element.scrollX, scrollTop: element.scrollY }; } function getParentNode(node) { if (getNodeName(node) === "html") { return node; } const result = ( // Step into the shadow DOM of the parent of a slotted node. node.assignedSlot || // DOM Element detected. node.parentNode || // ShadowRoot detected. isShadowRoot(node) && node.host || // Fallback. getDocumentElement(node) ); return isShadowRoot(result) ? result.host : result; } function getNearestOverflowAncestor(node) { const parentNode = getParentNode(node); if (isLastTraversableNode(parentNode)) { return node.ownerDocument ? node.ownerDocument.body : node.body; } if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { return parentNode; } return getNearestOverflowAncestor(parentNode); } function getOverflowAncestors(node, list, traverseIframes) { var _node$ownerDocument2; if (list === void 0) { list = []; } if (traverseIframes === void 0) { traverseIframes = true; } const scrollableAncestor = getNearestOverflowAncestor(node); const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body); const win = getWindow(scrollableAncestor); if (isBody) { const frameElement = getFrameElement(win); return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []); } else { return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); } } function getFrameElement(win) { return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null; } // node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs var React13 = __toESM(require_react(), 1); var import_react118 = __toESM(require_react(), 1); // node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs var sides = ["top", "right", "bottom", "left"]; var alignments = ["start", "end"]; var placements = sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []); var min = Math.min; var max = Math.max; var round = Math.round; var floor = Math.floor; var createCoords = (v) => ({ x: v, y: v }); var oppositeSideMap = { left: "right", right: "left", bottom: "top", top: "bottom" }; function clamp2(start, value, end) { return max(start, min(value, end)); } function evaluate(value, param) { return typeof value === "function" ? value(param) : value; } function getSide(placement) { return placement.split("-")[0]; } function getAlignment(placement) { return placement.split("-")[1]; } function getOppositeAxis(axis) { return axis === "x" ? "y" : "x"; } function getAxisLength(axis) { return axis === "y" ? "height" : "width"; } function getSideAxis(placement) { const firstChar = placement[0]; return firstChar === "t" || firstChar === "b" ? "y" : "x"; } function getAlignmentAxis(placement) { return getOppositeAxis(getSideAxis(placement)); } function getAlignmentSides(placement, rects, rtl) { if (rtl === void 0) { rtl = false; } const alignment = getAlignment(placement); const alignmentAxis = getAlignmentAxis(placement); const length = getAxisLength(alignmentAxis); let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top"; if (rects.reference[length] > rects.floating[length]) { mainAlignmentSide = getOppositePlacement(mainAlignmentSide); } return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)]; } function getExpandedPlacements(placement) { const oppositePlacement = getOppositePlacement(placement); return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; } function getOppositeAlignmentPlacement(placement) { return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start"); } var lrPlacement = ["left", "right"]; var rlPlacement = ["right", "left"]; var tbPlacement = ["top", "bottom"]; var btPlacement = ["bottom", "top"]; function getSideList(side, isStart, rtl) { switch (side) { case "top": case "bottom": if (rtl) return isStart ? rlPlacement : lrPlacement; return isStart ? lrPlacement : rlPlacement; case "left": case "right": return isStart ? tbPlacement : btPlacement; default: return []; } } function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { const alignment = getAlignment(placement); let list = getSideList(getSide(placement), direction === "start", rtl); if (alignment) { list = list.map((side) => side + "-" + alignment); if (flipAlignment) { list = list.concat(list.map(getOppositeAlignmentPlacement)); } } return list; } function getOppositePlacement(placement) { const side = getSide(placement); return oppositeSideMap[side] + placement.slice(side.length); } function expandPaddingObject(padding) { return { top: 0, right: 0, bottom: 0, left: 0, ...padding }; } function getPaddingObject(padding) { return typeof padding !== "number" ? expandPaddingObject(padding) : { top: padding, right: padding, bottom: padding, left: padding }; } function rectToClientRect(rect) { const { x, y, width, height } = rect; return { width, height, top: y, left: x, right: x + width, bottom: y + height, x, y }; } // node_modules/tabbable/dist/index.esm.js var candidateSelectors = ["input:not([inert]):not([inert] *)", "select:not([inert]):not([inert] *)", "textarea:not([inert]):not([inert] *)", "a[href]:not([inert]):not([inert] *)", "button:not([inert]):not([inert] *)", "[tabindex]:not(slot):not([inert]):not([inert] *)", "audio[controls]:not([inert]):not([inert] *)", "video[controls]:not([inert]):not([inert] *)", '[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)', "details>summary:first-of-type:not([inert]):not([inert] *)", "details:not([inert]):not([inert] *)"]; var candidateSelector = candidateSelectors.join(","); var NoElement = typeof Element === "undefined"; var matches = NoElement ? function() { } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; var getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) { var _element$getRootNode; return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element); } : function(element) { return element === null || element === void 0 ? void 0 : element.ownerDocument; }; var focusableCandidateSelector = candidateSelectors.concat("iframe:not([inert]):not([inert] *)").join(","); // node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs function getPlatform() { const uaData = navigator.userAgentData; if (uaData != null && uaData.platform) { return uaData.platform; } return navigator.platform; } function getUserAgent() { const uaData = navigator.userAgentData; if (uaData && Array.isArray(uaData.brands)) { return uaData.brands.map((_ref) => { let { brand, version } = _ref; return brand + "/" + version; }).join(" "); } return navigator.userAgent; } function isSafari() { return /apple/i.test(navigator.vendor); } function isMac() { return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints; } function isJSDOM() { return getUserAgent().includes("jsdom/"); } var FOCUSABLE_ATTRIBUTE = "data-floating-ui-focusable"; var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])"; var ARROW_LEFT = "ArrowLeft"; var ARROW_RIGHT = "ArrowRight"; var ARROW_UP = "ArrowUp"; var ARROW_DOWN = "ArrowDown"; function activeElement(doc) { let activeElement2 = doc.activeElement; while (((_activeElement = activeElement2) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) { var _activeElement; activeElement2 = activeElement2.shadowRoot.activeElement; } return activeElement2; } function contains(parent, child) { if (!parent || !child) { return false; } const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); if (parent.contains(child)) { return true; } if (rootNode && isShadowRoot(rootNode)) { let next = child; while (next) { if (parent === next) { return true; } next = next.parentNode || next.host; } } return false; } function getTarget(event) { if ("composedPath" in event) { return event.composedPath()[0]; } return event.target; } function isEventTargetWithin(event, node) { if (node == null) { return false; } if ("composedPath" in event) { return event.composedPath().includes(node); } const e = event; return e.target != null && node.contains(e.target); } function isRootElement(element) { return element.matches("html,body"); } function getDocument(node) { return (node == null ? void 0 : node.ownerDocument) || document; } function isTypeableElement(element) { return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR); } function matchesFocusVisible(element) { if (!element || isJSDOM()) return true; try { return element.matches(":focus-visible"); } catch (_e) { return true; } } function getFloatingFocusElement(floatingElement) { if (!floatingElement) { return null; } return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector("[" + FOCUSABLE_ATTRIBUTE + "]") || floatingElement; } function getNodeChildren(nodes, id, onlyOpenChildren) { if (onlyOpenChildren === void 0) { onlyOpenChildren = true; } const directChildren = nodes.filter((node) => { var _node$context; return node.parentId === id && (!onlyOpenChildren || ((_node$context = node.context) == null ? void 0 : _node$context.open)); }); return directChildren.flatMap((child) => [child, ...getNodeChildren(nodes, child.id, onlyOpenChildren)]); } function stopEvent(event) { event.preventDefault(); event.stopPropagation(); } function isReactEvent(event) { return "nativeEvent" in event; } function isMouseLikePointerType(pointerType, strict) { const values2 = ["mouse", "pen"]; if (!strict) { values2.push("", void 0); } return values2.includes(pointerType); } var isClient = typeof document !== "undefined"; var noop2 = function noop3() { }; var index = isClient ? import_react118.useLayoutEffect : noop2; var SafeReact = { ...React13 }; function useLatestRef(value) { const ref = React13.useRef(value); index(() => { ref.current = value; }); return ref; } var useInsertionEffect = SafeReact.useInsertionEffect; var useSafeInsertionEffect = useInsertionEffect || ((fn) => fn()); function useEffectEvent(callback) { const ref = React13.useRef(() => { if (true) { throw new Error("Cannot call an event handler while rendering."); } }); useSafeInsertionEffect(() => { ref.current = callback; }); return React13.useCallback(function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return ref.current == null ? void 0 : ref.current(...args); }, []); } function isDifferentGridRow(index5, cols, prevRow) { return Math.floor(index5 / cols) !== prevRow; } function isIndexOutOfListBounds(listRef, index5) { return index5 < 0 || index5 >= listRef.current.length; } function getMinListIndex(listRef, disabledIndices) { return findNonDisabledListIndex(listRef, { disabledIndices }); } function getMaxListIndex(listRef, disabledIndices) { return findNonDisabledListIndex(listRef, { decrement: true, startingIndex: listRef.current.length, disabledIndices }); } function findNonDisabledListIndex(listRef, _temp) { let { startingIndex = -1, decrement = false, disabledIndices, amount = 1 } = _temp === void 0 ? {} : _temp; let index5 = startingIndex; do { index5 += decrement ? -amount : amount; } while (index5 >= 0 && index5 <= listRef.current.length - 1 && isListIndexDisabled(listRef, index5, disabledIndices)); return index5; } function getGridNavigatedIndex(listRef, _ref) { let { event, orientation, loop, rtl, cols, disabledIndices, minIndex, maxIndex, prevIndex, stopEvent: stop = false } = _ref; let nextIndex = prevIndex; if (event.key === ARROW_UP) { stop && stopEvent(event); if (prevIndex === -1) { nextIndex = maxIndex; } else { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: nextIndex, amount: cols, decrement: true, disabledIndices }); if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) { const col = prevIndex % cols; const maxCol = maxIndex % cols; const offset4 = maxIndex - (maxCol - col); if (maxCol === col) { nextIndex = maxIndex; } else { nextIndex = maxCol > col ? offset4 : offset4 - cols; } } } if (isIndexOutOfListBounds(listRef, nextIndex)) { nextIndex = prevIndex; } } if (event.key === ARROW_DOWN) { stop && stopEvent(event); if (prevIndex === -1) { nextIndex = minIndex; } else { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex, amount: cols, disabledIndices }); if (loop && prevIndex + cols > maxIndex) { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex % cols - cols, amount: cols, disabledIndices }); } } if (isIndexOutOfListBounds(listRef, nextIndex)) { nextIndex = prevIndex; } } if (orientation === "both") { const prevRow = floor(prevIndex / cols); if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) { stop && stopEvent(event); if (prevIndex % cols !== cols - 1) { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex, disabledIndices }); if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex - prevIndex % cols - 1, disabledIndices }); } } else if (loop) { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex - prevIndex % cols - 1, disabledIndices }); } if (isDifferentGridRow(nextIndex, cols, prevRow)) { nextIndex = prevIndex; } } if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) { stop && stopEvent(event); if (prevIndex % cols !== 0) { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex, decrement: true, disabledIndices }); if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex + (cols - prevIndex % cols), decrement: true, disabledIndices }); } } else if (loop) { nextIndex = findNonDisabledListIndex(listRef, { startingIndex: prevIndex + (cols - prevIndex % cols), decrement: true, disabledIndices }); } if (isDifferentGridRow(nextIndex, cols, prevRow)) { nextIndex = prevIndex; } } const lastRow = floor(maxIndex / cols) === prevRow; if (isIndexOutOfListBounds(listRef, nextIndex)) { if (loop && lastRow) { nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(listRef, { startingIndex: prevIndex - prevIndex % cols - 1, disabledIndices }); } else { nextIndex = prevIndex; } } } return nextIndex; } function createGridCellMap(sizes2, cols, dense) { const cellMap = []; let startIndex = 0; sizes2.forEach((_ref2, index5) => { let { width, height } = _ref2; if (width > cols) { if (true) { throw new Error("[Floating UI]: Invalid grid - item width at index " + index5 + " is greater than grid columns"); } } let itemPlaced = false; if (dense) { startIndex = 0; } while (!itemPlaced) { const targetCells = []; for (let i = 0; i < width; i++) { for (let j = 0; j < height; j++) { targetCells.push(startIndex + i + j * cols); } } if (startIndex % cols + width <= cols && targetCells.every((cell) => cellMap[cell] == null)) { targetCells.forEach((cell) => { cellMap[cell] = index5; }); itemPlaced = true; } else { startIndex++; } } }); return [...cellMap]; } function getGridCellIndexOfCorner(index5, sizes2, cellMap, cols, corner) { if (index5 === -1) return -1; const firstCellIndex = cellMap.indexOf(index5); const sizeItem = sizes2[index5]; switch (corner) { case "tl": return firstCellIndex; case "tr": if (!sizeItem) { return firstCellIndex; } return firstCellIndex + sizeItem.width - 1; case "bl": if (!sizeItem) { return firstCellIndex; } return firstCellIndex + (sizeItem.height - 1) * cols; case "br": return cellMap.lastIndexOf(index5); } } function getGridCellIndices(indices, cellMap) { return cellMap.flatMap((index5, cellIndex) => indices.includes(index5) ? [cellIndex] : []); } function isListIndexDisabled(listRef, index5, disabledIndices) { if (typeof disabledIndices === "function") { return disabledIndices(index5); } else if (disabledIndices) { return disabledIndices.includes(index5); } const element = listRef.current[index5]; return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true"; } // node_modules/@floating-ui/react/dist/floating-ui.react.mjs var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1); var ReactDOM2 = __toESM(require_react_dom(), 1); // node_modules/@floating-ui/core/dist/floating-ui.core.mjs function computeCoordsFromPlacement(_ref, placement, rtl) { let { reference, floating } = _ref; const sideAxis = getSideAxis(placement); const alignmentAxis = getAlignmentAxis(placement); const alignLength = getAxisLength(alignmentAxis); const side = getSide(placement); const isVertical = sideAxis === "y"; const commonX = reference.x + reference.width / 2 - floating.width / 2; const commonY = reference.y + reference.height / 2 - floating.height / 2; const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; let coords; switch (side) { case "top": coords = { x: commonX, y: reference.y - floating.height }; break; case "bottom": coords = { x: commonX, y: reference.y + reference.height }; break; case "right": coords = { x: reference.x + reference.width, y: commonY }; break; case "left": coords = { x: reference.x - floating.width, y: commonY }; break; default: coords = { x: reference.x, y: reference.y }; } switch (getAlignment(placement)) { case "start": coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); break; case "end": coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); break; } return coords; } async function detectOverflow(state, options) { var _await$platform$isEle; if (options === void 0) { options = {}; } const { x, y, platform: platform2, rects, elements, strategy } = state; const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state); const paddingObject = getPaddingObject(padding); const altContext = elementContext === "floating" ? "reference" : "floating"; const element = elements[altBoundary ? altContext : elementContext]; const clippingClientRect = rectToClientRect(await platform2.getClippingRect({ element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)), boundary, rootBoundary, strategy })); const rect = elementContext === "floating" ? { x, y, width: rects.floating.width, height: rects.floating.height } : rects.reference; const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating)); const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || { x: 1, y: 1 } : { x: 1, y: 1 }; const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({ elements, rect, offsetParent, strategy }) : rect); return { top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x }; } var MAX_RESET_COUNT = 50; var computePosition = async (reference, floating, config) => { const { placement = "bottom", strategy = "absolute", middleware = [], platform: platform2 } = config; const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : { ...platform2, detectOverflow }; const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating)); let rects = await platform2.getElementRects({ reference, floating, strategy }); let { x, y } = computeCoordsFromPlacement(rects, placement, rtl); let statefulPlacement = placement; let resetCount = 0; const middlewareData = {}; for (let i = 0; i < middleware.length; i++) { const currentMiddleware = middleware[i]; if (!currentMiddleware) { continue; } const { name, fn } = currentMiddleware; const { x: nextX, y: nextY, data, reset } = await fn({ x, y, initialPlacement: placement, placement: statefulPlacement, strategy, middlewareData, rects, platform: platformWithDetectOverflow, elements: { reference, floating } }); x = nextX != null ? nextX : x; y = nextY != null ? nextY : y; middlewareData[name] = { ...middlewareData[name], ...data }; if (reset && resetCount < MAX_RESET_COUNT) { resetCount++; if (typeof reset === "object") { if (reset.placement) { statefulPlacement = reset.placement; } if (reset.rects) { rects = reset.rects === true ? await platform2.getElementRects({ reference, floating, strategy }) : reset.rects; } ({ x, y } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); } i = -1; } } return { x, y, placement: statefulPlacement, strategy, middlewareData }; }; var arrow = (options) => ({ name: "arrow", options, async fn(state) { const { x, y, placement, rects, platform: platform2, elements, middlewareData } = state; const { element, padding = 0 } = evaluate(options, state) || {}; if (element == null) { return {}; } const paddingObject = getPaddingObject(padding); const coords = { x, y }; const axis = getAlignmentAxis(placement); const length = getAxisLength(axis); const arrowDimensions = await platform2.getDimensions(element); const isYAxis = axis === "y"; const minProp = isYAxis ? "top" : "left"; const maxProp = isYAxis ? "bottom" : "right"; const clientProp = isYAxis ? "clientHeight" : "clientWidth"; const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length]; const startDiff = coords[axis] - rects.reference[axis]; const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element)); let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0; if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) { clientSize = elements.floating[clientProp] || rects.floating[length]; } const centerToReference = endDiff / 2 - startDiff / 2; const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1; const minPadding = min(paddingObject[minProp], largestPossiblePadding); const maxPadding = min(paddingObject[maxProp], largestPossiblePadding); const min$1 = minPadding; const max2 = clientSize - arrowDimensions[length] - maxPadding; const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; const offset4 = clamp2(min$1, center, max2); const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0; const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0; return { [axis]: coords[axis] + alignmentOffset, data: { [axis]: offset4, centerOffset: center - offset4 - alignmentOffset, ...shouldAddOffset && { alignmentOffset } }, reset: shouldAddOffset }; } }); var flip = function(options) { if (options === void 0) { options = {}; } return { name: "flip", options, async fn(state) { var _middlewareData$arrow, _middlewareData$flip; const { placement, middlewareData, rects, initialPlacement, platform: platform2, elements } = state; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = "bestFit", fallbackAxisSideDirection = "none", flipAlignment = true, ...detectOverflowOptions } = evaluate(options, state); if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } const side = getSide(placement); const initialSideAxis = getSideAxis(initialPlacement); const isBasePlacement = getSide(initialPlacement) === initialPlacement; const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none"; if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) { fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); } const placements2 = [initialPlacement, ...fallbackPlacements]; const overflow = await platform2.detectOverflow(state, detectOverflowOptions); const overflows = []; let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; if (checkMainAxis) { overflows.push(overflow[side]); } if (checkCrossAxis) { const sides2 = getAlignmentSides(placement, rects, rtl); overflows.push(overflow[sides2[0]], overflow[sides2[1]]); } overflowsData = [...overflowsData, { placement, overflows }]; if (!overflows.every((side2) => side2 <= 0)) { var _middlewareData$flip2, _overflowsData$filter; const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; const nextPlacement = placements2[nextIndex]; if (nextPlacement) { const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false; if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis // overflows the main axis. overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) { return { data: { index: nextIndex, overflows: overflowsData }, reset: { placement: nextPlacement } }; } } let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; if (!resetPlacement) { switch (fallbackStrategy) { case "bestFit": { var _overflowsData$filter2; const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => { if (hasFallbackAxisSideDirection) { const currentSideAxis = getSideAxis(d.placement); return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal // reading directions favoring greater width. currentSideAxis === "y"; } return true; }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0]; if (placement2) { resetPlacement = placement2; } break; } case "initialPlacement": resetPlacement = initialPlacement; break; } } if (placement !== resetPlacement) { return { reset: { placement: resetPlacement } }; } } return {}; } }; }; function getSideOffsets(overflow, rect) { return { top: overflow.top - rect.height, right: overflow.right - rect.width, bottom: overflow.bottom - rect.height, left: overflow.left - rect.width }; } function isAnySideFullyClipped(overflow) { return sides.some((side) => overflow[side] >= 0); } var hide = function(options) { if (options === void 0) { options = {}; } return { name: "hide", options, async fn(state) { const { rects, platform: platform2 } = state; const { strategy = "referenceHidden", ...detectOverflowOptions } = evaluate(options, state); switch (strategy) { case "referenceHidden": { const overflow = await platform2.detectOverflow(state, { ...detectOverflowOptions, elementContext: "reference" }); const offsets = getSideOffsets(overflow, rects.reference); return { data: { referenceHiddenOffsets: offsets, referenceHidden: isAnySideFullyClipped(offsets) } }; } case "escaped": { const overflow = await platform2.detectOverflow(state, { ...detectOverflowOptions, altBoundary: true }); const offsets = getSideOffsets(overflow, rects.floating); return { data: { escapedOffsets: offsets, escaped: isAnySideFullyClipped(offsets) } }; } default: { return {}; } } } }; }; function getBoundingRect(rects) { const minX = min(...rects.map((rect) => rect.left)); const minY = min(...rects.map((rect) => rect.top)); const maxX = max(...rects.map((rect) => rect.right)); const maxY = max(...rects.map((rect) => rect.bottom)); return { x: minX, y: minY, width: maxX - minX, height: maxY - minY }; } function getRectsByLine(rects) { const sortedRects = rects.slice().sort((a, b) => a.y - b.y); const groups = []; let prevRect = null; for (let i = 0; i < sortedRects.length; i++) { const rect = sortedRects[i]; if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) { groups.push([rect]); } else { groups[groups.length - 1].push(rect); } prevRect = rect; } return groups.map((rect) => rectToClientRect(getBoundingRect(rect))); } var inline = function(options) { if (options === void 0) { options = {}; } return { name: "inline", options, async fn(state) { const { placement, elements, rects, platform: platform2, strategy } = state; const { padding = 2, x, y } = evaluate(options, state); const nativeClientRects = Array.from(await (platform2.getClientRects == null ? void 0 : platform2.getClientRects(elements.reference)) || []); const clientRects = getRectsByLine(nativeClientRects); const fallback = rectToClientRect(getBoundingRect(nativeClientRects)); const paddingObject = getPaddingObject(padding); function getBoundingClientRect2() { if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) { return clientRects.find((rect) => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback; } if (clientRects.length >= 2) { if (getSideAxis(placement) === "y") { const firstRect = clientRects[0]; const lastRect = clientRects[clientRects.length - 1]; const isTop = getSide(placement) === "top"; const top2 = firstRect.top; const bottom2 = lastRect.bottom; const left2 = isTop ? firstRect.left : lastRect.left; const right2 = isTop ? firstRect.right : lastRect.right; const width2 = right2 - left2; const height2 = bottom2 - top2; return { top: top2, bottom: bottom2, left: left2, right: right2, width: width2, height: height2, x: left2, y: top2 }; } const isLeftSide = getSide(placement) === "left"; const maxRight = max(...clientRects.map((rect) => rect.right)); const minLeft = min(...clientRects.map((rect) => rect.left)); const measureRects = clientRects.filter((rect) => isLeftSide ? rect.left === minLeft : rect.right === maxRight); const top = measureRects[0].top; const bottom = measureRects[measureRects.length - 1].bottom; const left = minLeft; const right = maxRight; const width = right - left; const height = bottom - top; return { top, bottom, left, right, width, height, x: left, y: top }; } return fallback; } const resetRects = await platform2.getElementRects({ reference: { getBoundingClientRect: getBoundingClientRect2 }, floating: elements.floating, strategy }); if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) { return { reset: { rects: resetRects } }; } return {}; } }; }; var originSides = /* @__PURE__ */ new Set(["left", "top"]); async function convertValueToCoords(state, options) { const { placement, platform: platform2, elements } = state; const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); const side = getSide(placement); const alignment = getAlignment(placement); const isVertical = getSideAxis(placement) === "y"; const mainAxisMulti = originSides.has(side) ? -1 : 1; const crossAxisMulti = rtl && isVertical ? -1 : 1; const rawValue = evaluate(options, state); let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === "number" ? { mainAxis: rawValue, crossAxis: 0, alignmentAxis: null } : { mainAxis: rawValue.mainAxis || 0, crossAxis: rawValue.crossAxis || 0, alignmentAxis: rawValue.alignmentAxis }; if (alignment && typeof alignmentAxis === "number") { crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis; } return isVertical ? { x: crossAxis * crossAxisMulti, y: mainAxis * mainAxisMulti } : { x: mainAxis * mainAxisMulti, y: crossAxis * crossAxisMulti }; } var offset = function(options) { if (options === void 0) { options = 0; } return { name: "offset", options, async fn(state) { var _middlewareData$offse, _middlewareData$arrow; const { x, y, placement, middlewareData } = state; const diffCoords = await convertValueToCoords(state, options); if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } return { x: x + diffCoords.x, y: y + diffCoords.y, data: { ...diffCoords, placement } }; } }; }; var shift = function(options) { if (options === void 0) { options = {}; } return { name: "shift", options, async fn(state) { const { x, y, placement, platform: platform2 } = state; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => { let { x: x2, y: y2 } = _ref; return { x: x2, y: y2 }; } }, ...detectOverflowOptions } = evaluate(options, state); const coords = { x, y }; const overflow = await platform2.detectOverflow(state, detectOverflowOptions); const crossAxis = getSideAxis(getSide(placement)); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; let crossAxisCoord = coords[crossAxis]; if (checkMainAxis) { const minSide = mainAxis === "y" ? "top" : "left"; const maxSide = mainAxis === "y" ? "bottom" : "right"; const min2 = mainAxisCoord + overflow[minSide]; const max2 = mainAxisCoord - overflow[maxSide]; mainAxisCoord = clamp2(min2, mainAxisCoord, max2); } if (checkCrossAxis) { const minSide = crossAxis === "y" ? "top" : "left"; const maxSide = crossAxis === "y" ? "bottom" : "right"; const min2 = crossAxisCoord + overflow[minSide]; const max2 = crossAxisCoord - overflow[maxSide]; crossAxisCoord = clamp2(min2, crossAxisCoord, max2); } const limitedCoords = limiter.fn({ ...state, [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }); return { ...limitedCoords, data: { x: limitedCoords.x - x, y: limitedCoords.y - y, enabled: { [mainAxis]: checkMainAxis, [crossAxis]: checkCrossAxis } } }; } }; }; var limitShift = function(options) { if (options === void 0) { options = {}; } return { options, fn(state) { const { x, y, placement, rects, middlewareData } = state; const { offset: offset4 = 0, mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true } = evaluate(options, state); const coords = { x, y }; const crossAxis = getSideAxis(placement); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; let crossAxisCoord = coords[crossAxis]; const rawOffset = evaluate(offset4, state); const computedOffset = typeof rawOffset === "number" ? { mainAxis: rawOffset, crossAxis: 0 } : { mainAxis: 0, crossAxis: 0, ...rawOffset }; if (checkMainAxis) { const len = mainAxis === "y" ? "height" : "width"; const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis; const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis; if (mainAxisCoord < limitMin) { mainAxisCoord = limitMin; } else if (mainAxisCoord > limitMax) { mainAxisCoord = limitMax; } } if (checkCrossAxis) { var _middlewareData$offse, _middlewareData$offse2; const len = mainAxis === "y" ? "width" : "height"; const isOriginSide = originSides.has(getSide(placement)); const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis); const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0); if (crossAxisCoord < limitMin) { crossAxisCoord = limitMin; } else if (crossAxisCoord > limitMax) { crossAxisCoord = limitMax; } } return { [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }; } }; }; var size = function(options) { if (options === void 0) { options = {}; } return { name: "size", options, async fn(state) { var _state$middlewareData, _state$middlewareData2; const { placement, rects, platform: platform2, elements } = state; const { apply = () => { }, ...detectOverflowOptions } = evaluate(options, state); const overflow = await platform2.detectOverflow(state, detectOverflowOptions); const side = getSide(placement); const alignment = getAlignment(placement); const isYAxis = getSideAxis(placement) === "y"; const { width, height } = rects.floating; let heightSide; let widthSide; if (side === "top" || side === "bottom") { heightSide = side; widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right"; } else { widthSide = side; heightSide = alignment === "end" ? "top" : "bottom"; } const maximumClippingHeight = height - overflow.top - overflow.bottom; const maximumClippingWidth = width - overflow.left - overflow.right; const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight); const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth); const noShift = !state.middlewareData.shift; let availableHeight = overflowAvailableHeight; let availableWidth = overflowAvailableWidth; if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) { availableWidth = maximumClippingWidth; } if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) { availableHeight = maximumClippingHeight; } if (noShift && !alignment) { const xMin = max(overflow.left, 0); const xMax = max(overflow.right, 0); const yMin = max(overflow.top, 0); const yMax = max(overflow.bottom, 0); if (isYAxis) { availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)); } else { availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)); } } await apply({ ...state, availableWidth, availableHeight }); const nextDimensions = await platform2.getDimensions(elements.floating); if (width !== nextDimensions.width || height !== nextDimensions.height) { return { reset: { rects: true } }; } return {}; } }; }; // node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs function getCssDimensions(element) { const css = getComputedStyle2(element); let width = parseFloat(css.width) || 0; let height = parseFloat(css.height) || 0; const hasOffset = isHTMLElement(element); const offsetWidth = hasOffset ? element.offsetWidth : width; const offsetHeight = hasOffset ? element.offsetHeight : height; const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; if (shouldFallback) { width = offsetWidth; height = offsetHeight; } return { width, height, $: shouldFallback }; } function unwrapElement(element) { return !isElement2(element) ? element.contextElement : element; } function getScale(element) { const domElement = unwrapElement(element); if (!isHTMLElement(domElement)) { return createCoords(1); } const rect = domElement.getBoundingClientRect(); const { width, height, $ } = getCssDimensions(domElement); let x = ($ ? round(rect.width) : rect.width) / width; let y = ($ ? round(rect.height) : rect.height) / height; if (!x || !Number.isFinite(x)) { x = 1; } if (!y || !Number.isFinite(y)) { y = 1; } return { x, y }; } var noOffsets = createCoords(0); function getVisualOffsets(element) { const win = getWindow(element); if (!isWebKit() || !win.visualViewport) { return noOffsets; } return { x: win.visualViewport.offsetLeft, y: win.visualViewport.offsetTop }; } function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) { if (isFixed === void 0) { isFixed = false; } if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) { return false; } return isFixed; } function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) { if (includeScale === void 0) { includeScale = false; } if (isFixedStrategy === void 0) { isFixedStrategy = false; } const clientRect = element.getBoundingClientRect(); const domElement = unwrapElement(element); let scale = createCoords(1); if (includeScale) { if (offsetParent) { if (isElement2(offsetParent)) { scale = getScale(offsetParent); } } else { scale = getScale(element); } } const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0); let x = (clientRect.left + visualOffsets.x) / scale.x; let y = (clientRect.top + visualOffsets.y) / scale.y; let width = clientRect.width / scale.x; let height = clientRect.height / scale.y; if (domElement) { const win = getWindow(domElement); const offsetWin = offsetParent && isElement2(offsetParent) ? getWindow(offsetParent) : offsetParent; let currentWin = win; let currentIFrame = getFrameElement(currentWin); while (currentIFrame && offsetParent && offsetWin !== currentWin) { const iframeScale = getScale(currentIFrame); const iframeRect = currentIFrame.getBoundingClientRect(); const css = getComputedStyle2(currentIFrame); const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; x *= iframeScale.x; y *= iframeScale.y; width *= iframeScale.x; height *= iframeScale.y; x += left; y += top; currentWin = getWindow(currentIFrame); currentIFrame = getFrameElement(currentWin); } } return rectToClientRect({ width, height, x, y }); } function getWindowScrollBarX(element, rect) { const leftScroll = getNodeScroll(element).scrollLeft; if (!rect) { return getBoundingClientRect(getDocumentElement(element)).left + leftScroll; } return rect.left + leftScroll; } function getHTMLOffset(documentElement, scroll) { const htmlRect = documentElement.getBoundingClientRect(); const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect); const y = htmlRect.top + scroll.scrollTop; return { x, y }; } function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { let { elements, rect, offsetParent, strategy } = _ref; const isFixed = strategy === "fixed"; const documentElement = getDocumentElement(offsetParent); const topLayer = elements ? isTopLayer(elements.floating) : false; if (offsetParent === documentElement || topLayer && isFixed) { return rect; } let scroll = { scrollLeft: 0, scrollTop: 0 }; let scale = createCoords(1); const offsets = createCoords(0); const isOffsetParentAnElement = isHTMLElement(offsetParent); if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isOffsetParentAnElement) { const offsetRect = getBoundingClientRect(offsetParent); scale = getScale(offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } } const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); return { width: rect.width * scale.x, height: rect.height * scale.y, x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x, y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y }; } function getClientRects(element) { return Array.from(element.getClientRects()); } function getDocumentRect(element) { const html = getDocumentElement(element); const scroll = getNodeScroll(element); const body = element.ownerDocument.body; const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth); const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight); let x = -scroll.scrollLeft + getWindowScrollBarX(element); const y = -scroll.scrollTop; if (getComputedStyle2(body).direction === "rtl") { x += max(html.clientWidth, body.clientWidth) - width; } return { width, height, x, y }; } var SCROLLBAR_MAX = 25; function getViewportRect(element, strategy) { const win = getWindow(element); const html = getDocumentElement(element); const visualViewport = win.visualViewport; let width = html.clientWidth; let height = html.clientHeight; let x = 0; let y = 0; if (visualViewport) { width = visualViewport.width; height = visualViewport.height; const visualViewportBased = isWebKit(); if (!visualViewportBased || visualViewportBased && strategy === "fixed") { x = visualViewport.offsetLeft; y = visualViewport.offsetTop; } } const windowScrollbarX = getWindowScrollBarX(html); if (windowScrollbarX <= 0) { const doc = html.ownerDocument; const body = doc.body; const bodyStyles = getComputedStyle(body); const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0; const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline); if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) { width -= clippingStableScrollbarWidth; } } else if (windowScrollbarX <= SCROLLBAR_MAX) { width += windowScrollbarX; } return { width, height, x, y }; } function getInnerBoundingClientRect(element, strategy) { const clientRect = getBoundingClientRect(element, true, strategy === "fixed"); const top = clientRect.top + element.clientTop; const left = clientRect.left + element.clientLeft; const scale = isHTMLElement(element) ? getScale(element) : createCoords(1); const width = element.clientWidth * scale.x; const height = element.clientHeight * scale.y; const x = left * scale.x; const y = top * scale.y; return { width, height, x, y }; } function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) { let rect; if (clippingAncestor === "viewport") { rect = getViewportRect(element, strategy); } else if (clippingAncestor === "document") { rect = getDocumentRect(getDocumentElement(element)); } else if (isElement2(clippingAncestor)) { rect = getInnerBoundingClientRect(clippingAncestor, strategy); } else { const visualOffsets = getVisualOffsets(element); rect = { x: clippingAncestor.x - visualOffsets.x, y: clippingAncestor.y - visualOffsets.y, width: clippingAncestor.width, height: clippingAncestor.height }; } return rectToClientRect(rect); } function hasFixedPositionAncestor(element, stopNode) { const parentNode = getParentNode(element); if (parentNode === stopNode || !isElement2(parentNode) || isLastTraversableNode(parentNode)) { return false; } return getComputedStyle2(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode); } function getClippingElementAncestors(element, cache) { const cachedResult = cache.get(element); if (cachedResult) { return cachedResult; } let result = getOverflowAncestors(element, [], false).filter((el) => isElement2(el) && getNodeName(el) !== "body"); let currentContainingBlockComputedStyle = null; const elementIsFixed = getComputedStyle2(element).position === "fixed"; let currentNode = elementIsFixed ? getParentNode(element) : element; while (isElement2(currentNode) && !isLastTraversableNode(currentNode)) { const computedStyle = getComputedStyle2(currentNode); const currentNodeIsContaining = isContainingBlock(currentNode); if (!currentNodeIsContaining && computedStyle.position === "fixed") { currentContainingBlockComputedStyle = null; } const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode); if (shouldDropCurrentNode) { result = result.filter((ancestor) => ancestor !== currentNode); } else { currentContainingBlockComputedStyle = computedStyle; } currentNode = getParentNode(currentNode); } cache.set(element, result); return result; } function getClippingRect(_ref) { let { element, boundary, rootBoundary, strategy } = _ref; const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary); const clippingAncestors = [...elementClippingAncestors, rootBoundary]; const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy); let top = firstRect.top; let right = firstRect.right; let bottom = firstRect.bottom; let left = firstRect.left; for (let i = 1; i < clippingAncestors.length; i++) { const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy); top = max(rect.top, top); right = min(rect.right, right); bottom = min(rect.bottom, bottom); left = max(rect.left, left); } return { width: right - left, height: bottom - top, x: left, y: top }; } function getDimensions(element) { const { width, height } = getCssDimensions(element); return { width, height }; } function getRectRelativeToOffsetParent(element, offsetParent, strategy) { const isOffsetParentAnElement = isHTMLElement(offsetParent); const documentElement = getDocumentElement(offsetParent); const isFixed = strategy === "fixed"; const rect = getBoundingClientRect(element, true, isFixed, offsetParent); let scroll = { scrollLeft: 0, scrollTop: 0 }; const offsets = createCoords(0); function setLeftRTLScrollbarOffset() { offsets.x = getWindowScrollBarX(documentElement); } if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isOffsetParentAnElement) { const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } else if (documentElement) { setLeftRTLScrollbarOffset(); } } if (isFixed && !isOffsetParentAnElement && documentElement) { setLeftRTLScrollbarOffset(); } const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x; const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y; return { x, y, width: rect.width, height: rect.height }; } function isStaticPositioned(element) { return getComputedStyle2(element).position === "static"; } function getTrueOffsetParent(element, polyfill) { if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") { return null; } if (polyfill) { return polyfill(element); } let rawOffsetParent = element.offsetParent; if (getDocumentElement(element) === rawOffsetParent) { rawOffsetParent = rawOffsetParent.ownerDocument.body; } return rawOffsetParent; } function getOffsetParent(element, polyfill) { const win = getWindow(element); if (isTopLayer(element)) { return win; } if (!isHTMLElement(element)) { let svgOffsetParent = getParentNode(element); while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { if (isElement2(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) { return svgOffsetParent; } svgOffsetParent = getParentNode(svgOffsetParent); } return win; } let offsetParent = getTrueOffsetParent(element, polyfill); while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) { offsetParent = getTrueOffsetParent(offsetParent, polyfill); } if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) { return win; } return offsetParent || getContainingBlock(element) || win; } var getElementRects = async function(data) { const getOffsetParentFn = this.getOffsetParent || getOffsetParent; const getDimensionsFn = this.getDimensions; const floatingDimensions = await getDimensionsFn(data.floating); return { reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy), floating: { x: 0, y: 0, width: floatingDimensions.width, height: floatingDimensions.height } }; }; function isRTL(element) { return getComputedStyle2(element).direction === "rtl"; } var platform = { convertOffsetParentRelativeRectToViewportRelativeRect, getDocumentElement, getClippingRect, getOffsetParent, getElementRects, getClientRects, getDimensions, getScale, isElement: isElement2, isRTL }; function rectsAreEqual(a, b) { return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; } function observeMove(element, onMove) { let io = null; let timeoutId; const root = getDocumentElement(element); function cleanup2() { var _io; clearTimeout(timeoutId); (_io = io) == null || _io.disconnect(); io = null; } function refresh(skip, threshold) { if (skip === void 0) { skip = false; } if (threshold === void 0) { threshold = 1; } cleanup2(); const elementRectForRootMargin = element.getBoundingClientRect(); const { left, top, width, height } = elementRectForRootMargin; if (!skip) { onMove(); } if (!width || !height) { return; } const insetTop = floor(top); const insetRight = floor(root.clientWidth - (left + width)); const insetBottom = floor(root.clientHeight - (top + height)); const insetLeft = floor(left); const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px"; const options = { rootMargin, threshold: max(0, min(1, threshold)) || 1 }; let isFirstUpdate = true; function handleObserve(entries) { const ratio = entries[0].intersectionRatio; if (ratio !== threshold) { if (!isFirstUpdate) { return refresh(); } if (!ratio) { timeoutId = setTimeout(() => { refresh(false, 1e-7); }, 1e3); } else { refresh(false, ratio); } } if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) { refresh(); } isFirstUpdate = false; } try { io = new IntersectionObserver(handleObserve, { ...options, // Handle