Dette scriptet burde ikke installeres direkte. Det er et bibliotek for andre script å inkludere med det nye metadirektivet // @require https://update.greasyfork.org/scripts/499181/1460309/%40mantine%E1%9C%B5core-umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('react/jsx-runtime'), require('@mantine/hooks'), require('react-dom')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'react/jsx-runtime', '@mantine/hooks', 'react-dom'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MantineCore = {}, global.React, global.ReactJSXRuntime, global.MantineHooks, global.ReactDOM));
})(this, (function (exports, React9, jsxRuntime, hooks, ReactDOM) { 'use strict';
function _interopNamespaceDefault(e) {
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var React9__namespace = /*#__PURE__*/_interopNamespaceDefault(React9);
var ReactDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM);
/* esm.sh - esbuild bundle(@mantine/core@7.13.2) es2022 development */
(()=>{var a=typeof Reflect=="object"?Reflect:null,g=a&&typeof a.apply=="function"?a.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)},p;a&&typeof a.ownKeys=="function"?p=a.ownKeys:Object.getOwnPropertySymbols?p=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:p=function(e){return Object.getOwnPropertyNames(e)};function D(n){console&&console.warn&&console.warn(n);}var w=Number.isNaN||function(e){return e!==e};function s(){L.call(this);}s.EventEmitter=s;s.prototype._events=void 0;s.prototype._eventsCount=0;s.prototype._maxListeners=void 0;var y=10;function d(n){if(typeof n!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof n)}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return y},set:function(n){if(typeof n!="number"||n<0||w(n))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+n+".");y=n;}});function L(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;}s.init=L;s.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||w(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function b(n){return n._maxListeners===void 0?s.defaultMaxListeners:n._maxListeners}s.prototype.getMaxListeners=function(){return b(this)};s.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i=e==="error",u=this._events;if(u!==void 0)i=i&&u.error===void 0;else if(!i)return !1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var c=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw c.context=o,c}var l=u[e];if(l===void 0)return !1;if(typeof l=="function")g(l,this,t);else for(var m=l.length,M=x(l,m),r=0;r<m;++r)g(M[r],this,t);return !0};function _(n,e,t,r){var i,u,o;if(d(t),u=n._events,u===void 0?(u=n._events=Object.create(null),n._eventsCount=0):(u.newListener!==void 0&&(n.emit("newListener",e,t.listener?t.listener:t),u=n._events),o=u[e]),o===void 0)o=u[e]=t,++n._eventsCount;else if(typeof o=="function"?o=u[e]=r?[t,o]:[o,t]:r?o.unshift(t):o.push(t),i=b(n),i>0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=n,c.type=e,c.count=o.length,D(c);}return n}s.prototype.addListener=function(e,t){return _(this,e,t,!1)};s.prototype.on=s.prototype.addListener;s.prototype.prependListener=function(e,t){return _(this,e,t,!0)};function R(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function E(n,e,t){var r={fired:!1,wrapFn:void 0,target:n,type:e,listener:t},i=R.bind(r);return i.listener=t,r.wrapFn=i,i}s.prototype.once=function(e,t){return d(t),this.on(e,E(this,e,t)),this};s.prototype.prependOnceListener=function(e,t){return d(t),this.prependListener(e,E(this,e,t)),this};s.prototype.removeListener=function(e,t){var r,i,u,o,c;if(d(t),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===t||r.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if(typeof r!="function"){for(u=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){c=r[o].listener,u=o;break}if(u<0)return this;u===0?r.shift():N(r,u),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,c||t);}return this};s.prototype.off=s.prototype.removeListener;s.prototype.removeAllListeners=function(e){var t,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var u=Object.keys(r),o;for(i=0;i<u.length;++i)o=u[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=r[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this};function O(n,e,t){var r=n._events;if(r===void 0)return [];var i=r[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?P(i):x(i,i.length)}s.prototype.listeners=function(e){return O(this,e,!0)};s.prototype.rawListeners=function(e){return O(this,e,!1)};function C(n,e){return typeof n.listenerCount=="function"?n.listenerCount(e):s.prototype.listenerCount.call(n,e)}s.listenerCount=C;s.prototype.listenerCount=function(n){var e=this._events;if(e!==void 0){var t=e[n];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0};s.prototype.eventNames=function(){return this._eventsCount>0?p(this._events):[]};function x(n,e){for(var t=new Array(e),r=0;r<e;++r)t[r]=n[r];return t}function N(n,e){for(;e+1<n.length;e++)n[e]=n[e+1];n.pop();}function P(n){for(var e=new Array(n.length),t=0;t<e.length;++t)e[t]=n[t].listener||n[t];return e}function v(n){let e=performance.now(),t=Math.floor(e/1e3),r=Math.floor(e*1e6-t*1e9);if(!n)return [t,r];let[i,u]=n;return [t-i,r-u]}v.bigint=function(){let[n,e]=v();return BigInt(n)*1000000000n+BigInt(e)};var h=class extends s{title="browser";browser=!0;env={};argv=[];pid=0;arch="unknown";platform="browser";version="";versions={};emitWarning=()=>{throw new Error("process.emitWarning is not supported")};binding=()=>{throw new Error("process.binding is not supported")};cwd=()=>{throw new Error("process.cwd is not supported")};chdir=e=>{throw new Error("process.chdir is not supported")};umask=()=>18;nextTick=(e,...t)=>queueMicrotask(()=>e(...t));hrtime=v;constructor(){super();}},f=new h;if(typeof Deno<"u"){f.name="deno",f.browser=!1,f.pid=Deno.pid,f.cwd=()=>Deno.cwd(),f.chdir=e=>Deno.chdir(e),f.arch=Deno.build.arch,f.platform=Deno.build.os,f.version="v18.12.1",f.versions={node:"18.12.1",uv:"1.43.0",zlib:"1.2.11",brotli:"1.0.9",ares:"1.18.1",modules:"108",nghttp2:"1.47.0",napi:"8",llhttp:"6.0.10",openssl:"3.0.7+quic",cldr:"41.0",icu:"71.1",tz:"2022b",unicode:"14.0",ngtcp2:"0.8.1",nghttp3:"0.7.0",...Deno.version},f.env=new Proxy({},{get(e,t){return Deno.env.get(String(t))},ownKeys:()=>Reflect.ownKeys(Deno.env.toObject()),getOwnPropertyDescriptor:(e,t)=>{let r=Deno.env.toObject();if(t in Deno.env.toObject()){let i={enumerable:!0,configurable:!0};return typeof t=="string"&&(i.value=r[t]),i}},set(e,t,r){return Deno.env.set(String(t),String(r)),r}});let n=["","",...Deno.args];Object.defineProperty(n,"0",{get:Deno.execPath}),Object.defineProperty(n,"1",{get:()=>Deno.mainModule.startsWith("file:")?new URL(Deno.mainModule).pathname:join(Deno.cwd(),"$deno$node.js")}),f.argv=n;}else {let n="/";f.cwd=()=>n,f.chdir=e=>n=e;}var j=f;globalThis.__Process$=j;})();
var require=n=>{const e=m=>typeof m.default<"u"?m.default:m;switch(n){case"react":return e(React9__namespace);default:throw new Error("module \""+n+"\" not found");}};
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
}) : x)(function(x) {
if (typeof require !== "undefined")
return require.apply(this, arguments);
throw Error('Dynamic require of "' + x + '" is not supported');
});
var __commonJS = (cb, mod) => function __require2() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
__defProp(target, "default", { value: mod, enumerable: true }) ,
mod
));
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/extends.js
var require_extends = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/extends.js"(exports, module) {
function _extends() {
return module.exports = _extends = Object.assign ? Object.assign.bind() : function(n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r2 in t)
({}).hasOwnProperty.call(t, r2) && (n[r2] = t[r2]);
}
return n;
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments);
}
module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js
var require_objectWithoutPropertiesLoose = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js"(exports, module) {
function _objectWithoutPropertiesLoose(r2, e) {
if (null == r2)
return {};
var t = {};
for (var n in r2)
if ({}.hasOwnProperty.call(r2, n)) {
if (e.includes(n))
continue;
t[n] = r2[n];
}
return t;
}
module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-isomorphic-layout-effect@1.1.2_react@18.3.1/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.cjs.js
var require_use_isomorphic_layout_effect_browser_cjs = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-isomorphic-layout-effect@1.1.2_react@18.3.1/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.cjs.js"(exports) {
Object.defineProperty(exports, "__esModule", { value: true });
var react = __require("react");
var index3 = react.useLayoutEffect;
exports.default = index3;
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-latest@1.2.1_react@18.3.1/node_modules/use-latest/dist/use-latest.cjs.dev.js
var require_use_latest_cjs_dev = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-latest@1.2.1_react@18.3.1/node_modules/use-latest/dist/use-latest.cjs.dev.js"(exports) {
Object.defineProperty(exports, "__esModule", { value: true });
var React11 = __require("react");
var useIsomorphicLayoutEffect2 = require_use_isomorphic_layout_effect_browser_cjs();
function _interopDefault(e) {
return e && e.__esModule ? e : { "default": e };
}
function _interopNamespace(e) {
if (e && e.__esModule)
return e;
var n = /* @__PURE__ */ Object.create(null);
if (e) {
Object.keys(e).forEach(function(k) {
if (k !== "default") {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function() {
return e[k];
}
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var React__namespace = /* @__PURE__ */ _interopNamespace(React11);
var useIsomorphicLayoutEffect__default = /* @__PURE__ */ _interopDefault(useIsomorphicLayoutEffect2);
var useLatest = function useLatest2(value) {
var ref = React__namespace.useRef(value);
useIsomorphicLayoutEffect__default["default"](function() {
ref.current = value;
});
return ref;
};
exports["default"] = useLatest;
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-latest@1.2.1_react@18.3.1/node_modules/use-latest/dist/use-latest.cjs.js
var require_use_latest_cjs = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-latest@1.2.1_react@18.3.1/node_modules/use-latest/dist/use-latest.cjs.js"(exports, module) {
{
module.exports = require_use_latest_cjs_dev();
}
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-composed-ref@1.3.0_react@18.3.1/node_modules/use-composed-ref/dist/use-composed-ref.cjs.js
var require_use_composed_ref_cjs = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-composed-ref@1.3.0_react@18.3.1/node_modules/use-composed-ref/dist/use-composed-ref.cjs.js"(exports) {
Object.defineProperty(exports, "__esModule", { value: true });
var React11 = __require("react");
var updateRef = function updateRef2(ref, value) {
if (typeof ref === "function") {
ref(value);
return;
}
ref.current = value;
};
var useComposedRef = function useComposedRef2(libRef, userRef) {
var prevUserRef = React11.useRef();
return React11.useCallback(function(instance) {
libRef.current = instance;
if (prevUserRef.current) {
updateRef(prevUserRef.current, null);
}
prevUserRef.current = userRef;
if (!userRef) {
return;
}
updateRef(userRef, instance);
}, [userRef]);
};
exports.default = useComposedRef;
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-textarea-autosize@8.5.3_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js
var require_react_textarea_autosize_browser_cjs = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-textarea-autosize@8.5.3_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.js"(exports) {
Object.defineProperty(exports, "__esModule", { value: true });
var _extends = require_extends();
var _objectWithoutPropertiesLoose = require_objectWithoutPropertiesLoose();
var React11 = __require("react");
var useLatest = require_use_latest_cjs();
var useComposedRef = require_use_composed_ref_cjs();
function _interopDefault(e) {
return e && e.__esModule ? e : { "default": e };
}
function _interopNamespace(e) {
if (e && e.__esModule)
return e;
var n = /* @__PURE__ */ Object.create(null);
if (e) {
Object.keys(e).forEach(function(k) {
if (k !== "default") {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function() {
return e[k];
}
});
}
});
}
n["default"] = e;
return Object.freeze(n);
}
var React__namespace = /* @__PURE__ */ _interopNamespace(React11);
var useLatest__default = /* @__PURE__ */ _interopDefault(useLatest);
var useComposedRef__default = /* @__PURE__ */ _interopDefault(useComposedRef);
var HIDDEN_TEXTAREA_STYLE = {
"min-height": "0",
"max-height": "none",
height: "0",
visibility: "hidden",
overflow: "hidden",
position: "absolute",
"z-index": "-1000",
top: "0",
right: "0"
};
var forceHiddenStyles = function forceHiddenStyles2(node) {
Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function(key) {
node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], "important");
});
};
var forceHiddenStyles$1 = forceHiddenStyles;
var hiddenTextarea = null;
var getHeight = function getHeight2(node, sizingData) {
var height = node.scrollHeight;
if (sizingData.sizingStyle.boxSizing === "border-box") {
return height + sizingData.borderSize;
}
return height - sizingData.paddingSize;
};
function calculateNodeHeight(sizingData, value, minRows, maxRows) {
if (minRows === void 0) {
minRows = 1;
}
if (maxRows === void 0) {
maxRows = Infinity;
}
if (!hiddenTextarea) {
hiddenTextarea = document.createElement("textarea");
hiddenTextarea.setAttribute("tabindex", "-1");
hiddenTextarea.setAttribute("aria-hidden", "true");
forceHiddenStyles$1(hiddenTextarea);
}
if (hiddenTextarea.parentNode === null) {
document.body.appendChild(hiddenTextarea);
}
var paddingSize = sizingData.paddingSize, borderSize = sizingData.borderSize, sizingStyle = sizingData.sizingStyle;
var boxSizing = sizingStyle.boxSizing;
Object.keys(sizingStyle).forEach(function(_key) {
var key = _key;
hiddenTextarea.style[key] = sizingStyle[key];
});
forceHiddenStyles$1(hiddenTextarea);
hiddenTextarea.value = value;
var height = getHeight(hiddenTextarea, sizingData);
hiddenTextarea.value = value;
height = getHeight(hiddenTextarea, sizingData);
hiddenTextarea.value = "x";
var rowHeight = hiddenTextarea.scrollHeight - paddingSize;
var minHeight = rowHeight * minRows;
if (boxSizing === "border-box") {
minHeight = minHeight + paddingSize + borderSize;
}
height = Math.max(minHeight, height);
var maxHeight = rowHeight * maxRows;
if (boxSizing === "border-box") {
maxHeight = maxHeight + paddingSize + borderSize;
}
height = Math.min(maxHeight, height);
return [height, rowHeight];
}
var noop3 = function noop4() {
};
var pick = function pick2(props, obj) {
return props.reduce(function(acc, prop) {
acc[prop] = obj[prop];
return acc;
}, {});
};
var SIZING_STYLE = [
"borderBottomWidth",
"borderLeftWidth",
"borderRightWidth",
"borderTopWidth",
"boxSizing",
"fontFamily",
"fontSize",
"fontStyle",
"fontWeight",
"letterSpacing",
"lineHeight",
"paddingBottom",
"paddingLeft",
"paddingRight",
"paddingTop",
// non-standard
"tabSize",
"textIndent",
// non-standard
"textRendering",
"textTransform",
"width",
"wordBreak"
];
var isIE = !!document.documentElement.currentStyle;
var getSizingData = function getSizingData2(node) {
var style = window.getComputedStyle(node);
if (style === null) {
return null;
}
var sizingStyle = pick(SIZING_STYLE, style);
var boxSizing = sizingStyle.boxSizing;
if (boxSizing === "") {
return null;
}
if (isIE && boxSizing === "border-box") {
sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + "px";
}
var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);
var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);
return {
sizingStyle,
paddingSize,
borderSize
};
};
var getSizingData$1 = getSizingData;
function useListener(target, type, listener) {
var latestListener = useLatest__default["default"](listener);
React__namespace.useLayoutEffect(function() {
var handler = function handler2(ev) {
return latestListener.current(ev);
};
if (!target) {
return;
}
target.addEventListener(type, handler);
return function() {
return target.removeEventListener(type, handler);
};
}, []);
}
var useWindowResizeListener = function useWindowResizeListener2(listener) {
useListener(window, "resize", listener);
};
var useFontsLoadedListener = function useFontsLoadedListener2(listener) {
useListener(document.fonts, "loadingdone", listener);
};
var _excluded = ["cacheMeasurements", "maxRows", "minRows", "onChange", "onHeightChange"];
var TextareaAutosize = function TextareaAutosize2(_ref, userRef) {
var cacheMeasurements = _ref.cacheMeasurements, maxRows = _ref.maxRows, minRows = _ref.minRows, _ref$onChange = _ref.onChange, onChange = _ref$onChange === void 0 ? noop3 : _ref$onChange, _ref$onHeightChange = _ref.onHeightChange, onHeightChange = _ref$onHeightChange === void 0 ? noop3 : _ref$onHeightChange, props = _objectWithoutPropertiesLoose(_ref, _excluded);
var isControlled = props.value !== void 0;
var libRef = React__namespace.useRef(null);
var ref = useComposedRef__default["default"](libRef, userRef);
var heightRef = React__namespace.useRef(0);
var measurementsCacheRef = React__namespace.useRef();
var resizeTextarea = function resizeTextarea2() {
var node = libRef.current;
var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData$1(node);
if (!nodeSizingData) {
return;
}
measurementsCacheRef.current = nodeSizingData;
var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || "x", minRows, maxRows), height = _calculateNodeHeight[0], rowHeight = _calculateNodeHeight[1];
if (heightRef.current !== height) {
heightRef.current = height;
node.style.setProperty("height", height + "px", "important");
onHeightChange(height, {
rowHeight
});
}
};
var handleChange = function handleChange2(event) {
if (!isControlled) {
resizeTextarea();
}
onChange(event);
};
{
React__namespace.useLayoutEffect(resizeTextarea);
useWindowResizeListener(resizeTextarea);
useFontsLoadedListener(resizeTextarea);
return /* @__PURE__ */ React__namespace.createElement("textarea", _extends({}, props, {
onChange: handleChange,
ref
}));
}
};
var index3 = /* @__PURE__ */ React__namespace.forwardRef(TextareaAutosize);
exports["default"] = index3;
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-textarea-autosize@8.5.3_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.default.js
var require_react_textarea_autosize_browser_cjs_default = __commonJS({
"../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-textarea-autosize@8.5.3_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.default.js"(exports) {
exports._default = require_react_textarea_autosize_browser_cjs().default;
}
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/tslib@2.7.0/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) {
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));
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll-bar@2.3.6_react@18.3.1/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";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-callback-ref@1.3.2_react@18.3.1/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;
}
function useCallbackRef(initialValue, callback) {
var ref = React9.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;
}
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React9__namespace.useLayoutEffect : React9__namespace.useEffect;
var currentValues = /* @__PURE__ */ new WeakMap();
function useMergeRefs(refs, defaultValue) {
var callbackRef = useCallbackRef(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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/use-sidecar@1.1.2_react@18.3.1/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;
}
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 React9__namespace.createElement(Target, __assign({}, rest));
};
SideCar.isSideCarExport = true;
function exportSidecar(medium, exported) {
medium.useMedium(exported);
return SideCar;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll@2.6.0_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.js
var effectCar = createSidecarMedium();
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll@2.6.0_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.js
var nothing = function() {
return;
};
var RemoveScroll = React9__namespace.forwardRef(function(props, parentRef) {
var ref = React9__namespace.useRef(null);
var _a = React9__namespace.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, 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", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]);
var SideCar2 = sideCar;
var containerRef = useMergeRefs([ref, parentRef]);
var containerProps = __assign(__assign({}, rest), callbacks);
return React9__namespace.createElement(
React9__namespace.Fragment,
null,
enabled && React9__namespace.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }),
forwardProps ? React9__namespace.cloneElement(React9__namespace.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React9__namespace.createElement(Container2, __assign({}, containerProps, { className, ref: containerRef }), children)
);
});
RemoveScroll.defaultProps = {
enabled: true,
removeScrollBar: true,
inert: false
};
RemoveScroll.classNames = {
fullWidth: fullWidthClassName,
zeroRight: zeroRightClassName
};
var getNonce = function() {
if (typeof __webpack_nonce__ !== "undefined") {
return __webpack_nonce__;
}
return void 0;
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-style-singleton@2.2.1_react@18.3.1/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;
}
}
};
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-style-singleton@2.2.1_react@18.3.1/node_modules/react-style-singleton/dist/es2015/hook.js
var styleHookSingleton = function() {
var sheet = stylesheetSingleton();
return function(styles, isDynamic) {
React9__namespace.useEffect(function() {
sheet.add(styles);
return function() {
sheet.remove();
};
}, [styles && isDynamic]);
};
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-style-singleton@2.2.1_react@18.3.1/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;
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll-bar@2.3.6_react@18.3.1/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])
};
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll-bar@2.3.6_react@18.3.1/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() {
React9__namespace.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 = React9__namespace.useMemo(function() {
return getGapWidth(gapMode);
}, [gapMode]);
return React9__namespace.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? "!important" : "") });
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll@2.6.0_react@18.3.1/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;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll@2.6.0_react@18.3.1/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 {
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;
}
}
if (target instanceof ShadowRoot) {
target = target.host;
} else {
target = target.parentNode;
}
} while (
// portaled content
!targetInLock && target !== document.body || // self content
targetInLock && (endTarget.contains(target) || endTarget === target)
);
if (isDeltaPositive && (Math.abs(availableScroll) < 1 || !noOverscroll)) {
shouldCancelScroll = true;
} else if (!isDeltaPositive && (Math.abs(availableScrollTop) < 1 || !noOverscroll)) {
shouldCancelScroll = true;
}
return shouldCancelScroll;
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll@2.6.0_react@18.3.1/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 = React9__namespace.useRef([]);
var touchStartRef = React9__namespace.useRef([0, 0]);
var activeAxis = React9__namespace.useRef();
var id = React9__namespace.useState(idCounter++)[0];
var Style2 = React9__namespace.useState(styleSingleton)[0];
var lastProps = React9__namespace.useRef(props);
React9__namespace.useEffect(function() {
lastProps.current = props;
}, [props]);
React9__namespace.useEffect(function() {
if (props.inert) {
document.body.classList.add("block-interactivity-".concat(id));
var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef)).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 = React9__namespace.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 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 = React9__namespace.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 = React9__namespace.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 = React9__namespace.useCallback(function(event) {
touchStartRef.current = getTouchXY(event);
activeAxis.current = void 0;
}, []);
var scrollWheel = React9__namespace.useCallback(function(event) {
shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
}, []);
var scrollTouchMove = React9__namespace.useCallback(function(event) {
shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));
}, []);
React9__namespace.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 React9__namespace.createElement(
React9__namespace.Fragment,
null,
inert ? React9__namespace.createElement(Style2, { styles: generateStyle(id) }) : null,
removeScrollBar ? React9__namespace.createElement(RemoveScrollBar, { 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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll@2.6.0_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.js
var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-remove-scroll@2.6.0_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.js
var ReactRemoveScroll = React9__namespace.forwardRef(function(props, ref) {
return React9__namespace.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
});
ReactRemoveScroll.classNames = RemoveScroll.classNames;
var Combination_default = ReactRemoveScroll;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/utils/keys/keys.mjs
function keys(object) {
return Object.keys(object);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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()}`);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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(" ");
}
if (value.includes(units)) {
return shouldScale ? scaleRem(value) : value;
}
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");
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}, {});
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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|%)?$/;
const values2 = value.trim().split(/\s+/);
return values2.every((val) => cssUnitsRegex.test(val));
}
return false;
}
function isElement(value) {
if (Array.isArray(value) || value === null) {
return false;
}
if (typeof value === "object") {
if (value.type === React9.Fragment) {
return false;
}
return true;
}
return false;
}
function createSafeContext(errorMessage) {
const Context = React9.createContext(null);
const useSafeContext = () => {
const ctx = React9.useContext(Context);
if (ctx === null) {
throw new Error(errorMessage);
}
return ctx;
};
const Provider = ({ children, value }) => /* @__PURE__ */ jsxRuntime.jsx(Context.Provider, { value, children });
return [Provider, useSafeContext];
}
function createOptionalContext(initialValue = null) {
const Context = React9.createContext(initialValue);
const useOptionalContext = () => React9.useContext(Context);
const Provider = ({ children, value }) => /* @__PURE__ */ jsxRuntime.jsx(Context.Provider, { value, children });
return [Provider, useOptionalContext];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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}`;
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
}
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/utils/noop/noop.mjs
var noop = () => {
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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?.();
}
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/utils/create-event-handler/create-event-handler.mjs
function createEventHandler(parentEventHandler, eventHandler) {
return (event) => {
parentEventHandler?.(event);
eventHandler?.(event);
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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);
}
function useHovered() {
const [hovered, setHovered] = React9.useState(-1);
const resetHovered = () => setHovered(-1);
return [hovered, { setHovered, resetHovered }];
}
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;
}, {});
hooks.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];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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";
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/styles-api/create-vars-resolver/create-vars-resolver.mjs
function createVarsResolver(resolver) {
return resolver;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
function r(e) {
var t, f, n = "";
if ("string" == typeof e || "number" == typeof e)
n += e;
else if ("object" == typeof e)
if (Array.isArray(e)) {
var o = e.length;
for (t = 0; t < o; t++)
e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
} else
for (f in e)
e[f] && (n && (n += " "), n += f);
return n;
}
function clsx() {
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++)
(e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
return n;
}
var clsx_default = clsx;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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 };
}, {});
}
var MantineContext = React9.createContext(null);
function useMantineContext() {
const ctx = React9.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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.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 || 1 };
}
function hslStringToRgba(hslaString) {
const hslaRegex = /^hsla?\(\s*(\d+)\s*,\s*(\d+%)\s*,\s*(\d+%)\s*(,\s*(0?\.\d+|\d+(\.\d+)?))?\s*\)$/i;
const matches = hslaString.match(hslaRegex);
if (!matches) {
return {
r: 0,
g: 0,
b: 0,
a: 1
};
}
const h = parseInt(matches[1], 10);
const s = parseInt(matches[2], 10) / 100;
const l = parseInt(matches[3], 10) / 100;
const a = matches[5] ? parseFloat(matches[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
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.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})`;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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%)`;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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 === "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 {};
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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"
]
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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: {}
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.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";
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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);
}
};
}
var INVALID_PRIMARY_COLOR_ERROR = "[@mantine/core] MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more \u2013 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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/MantineThemeProvider/MantineThemeProvider.mjs
var MantineThemeContext = React9.createContext(null);
var useSafeMantineTheme = () => React9.useContext(MantineThemeContext) || DEFAULT_THEME;
function useMantineTheme() {
const ctx = React9.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 = React9.useMemo(
() => mergeMantineTheme(inherit ? parentTheme : DEFAULT_THEME, theme),
[theme, parentTheme, inherit]
);
return /* @__PURE__ */ jsxRuntime.jsx(MantineThemeContext.Provider, { value: mergedTheme, children });
}
MantineThemeProvider.displayName = "@mantine/core/MantineThemeProvider";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/MantineClasses/MantineClasses.mjs
function MantineClasses() {
const theme = useMantineTheme();
const nonce = useMantineStyleNonce();
const classes86 = 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 /* @__PURE__ */ jsxRuntime.jsx(
"style",
{
"data-mantine-styles": "classes",
nonce: nonce?.(),
dangerouslySetInnerHTML: { __html: classes86 }
}
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.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("");
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/convert-css-variables/wrap-with-selector.mjs
function wrapWithSelector(selectors, code) {
const _selectors = Array.isArray(selectors) ? selectors : [selectors];
return _selectors.reduce((acc, selector) => `${selector}{${acc}}`, code);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/convert-css-variables/convert-css-variables.mjs
function convertCssVariables(input, selector) {
const sharedVariables = cssVariablesObjectToString(input.variables);
const shared = sharedVariables ? wrapWithSelector(selector, sharedVariables) : "";
const dark = cssVariablesObjectToString(input.dark);
const light = cssVariablesObjectToString(input.light);
const darkForced = dark ? selector === ":host" ? wrapWithSelector(`${selector}([data-mantine-color-scheme="dark"])`, dark) : wrapWithSelector(`${selector}[data-mantine-color-scheme="dark"]`, dark) : "";
const lightForced = light ? selector === ":host" ? wrapWithSelector(`${selector}([data-mantine-color-scheme="light"])`, light) : wrapWithSelector(`${selector}[data-mantine-color-scheme="light"]`, light) : "";
return `${shared}${darkForced}${lightForced}`;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.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
});
}
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
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.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);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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-scale": theme.scale.toString(),
"--mantine-cursor-type": theme.cursorType,
"--mantine-color-scheme": "light dark",
"--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-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)"
},
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)"
}
};
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((_, index3) => {
result.variables[`--mantine-primary-color-${index3}`] = `var(--mantine-color-${theme.primaryColor}-${index3})`;
});
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, index3) => {
result.variables[`--mantine-color-${color}-${index3}`] = 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;
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs
function getColorSchemeCssVariables(selector) {
return `
${selector}[data-mantine-color-scheme="dark"] { --mantine-color-scheme: dark; }
${selector}[data-mantine-color-scheme="light"] { --mantine-color-scheme: light; }
`;
}
function MantineCssVariables({
cssVariablesSelector,
deduplicateCssVariables
}) {
const theme = useMantineTheme();
const nonce = useMantineStyleNonce();
const generator = useMantineCssVariablesResolver();
const mergedVariables = getMergedVariables({ theme, generator });
const shouldCleanVariables = cssVariablesSelector === ":root" && deduplicateCssVariables;
const cleanedVariables = shouldCleanVariables ? removeDefaultVariables(mergedVariables) : mergedVariables;
const css = convertCssVariables(cleanedVariables, cssVariablesSelector);
if (css) {
return /* @__PURE__ */ jsxRuntime.jsx(
"style",
{
"data-mantine-styles": true,
nonce: nonce?.(),
dangerouslySetInnerHTML: {
__html: `${css}${shouldCleanVariables ? "" : getColorSchemeCssVariables(cssVariablesSelector)}`
}
}
);
}
return null;
}
MantineCssVariables.displayName = "@mantine/CssVariables";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/suppress-nextjs-warning.mjs
function suppressNextjsWarning() {
const originalError = console.error;
console.error = (...args) => {
if (args.length > 1 && typeof args[0] === "string" && args[0].toLowerCase().includes("extra attributes from the server") && typeof args[1] === "string" && args[1].toLowerCase().includes("data-mantine-color-scheme"))
;
else {
originalError(...args);
}
};
}
function setColorSchemeAttribute(colorScheme, getRootElement) {
const computedColorScheme = colorScheme !== "auto" ? colorScheme : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
getRootElement()?.setAttribute("data-mantine-color-scheme", computedColorScheme);
}
function useProviderColorScheme({
manager,
defaultColorScheme,
getRootElement,
forceColorScheme
}) {
const media = React9.useRef();
const [value, setValue] = React9.useState(() => manager.get(defaultColorScheme));
const colorSchemeValue = forceColorScheme || value;
const setColorScheme = React9.useCallback(
(colorScheme) => {
if (!forceColorScheme) {
setColorSchemeAttribute(colorScheme, getRootElement);
setValue(colorScheme);
manager.set(colorScheme);
}
},
[manager.set, colorSchemeValue, forceColorScheme]
);
const clearColorScheme = React9.useCallback(() => {
setValue(defaultColorScheme);
setColorSchemeAttribute(defaultColorScheme, getRootElement);
manager.clear();
}, [manager.clear, defaultColorScheme]);
React9.useEffect(() => {
manager.subscribe(setColorScheme);
return manager.unsubscribe;
}, [manager.subscribe, manager.unsubscribe]);
hooks.useIsomorphicEffect(() => {
setColorSchemeAttribute(manager.get(defaultColorScheme), getRootElement);
}, []);
React9.useEffect(() => {
if (forceColorScheme) {
setColorSchemeAttribute(forceColorScheme, getRootElement);
return () => {
};
}
if (forceColorScheme === void 0) {
setColorSchemeAttribute(value, getRootElement);
}
media.current = window.matchMedia("(prefers-color-scheme: dark)");
const listener = (event) => {
if (value === "auto") {
setColorSchemeAttribute(event.matches ? "dark" : "light", getRootElement);
}
};
media.current?.addEventListener("change", listener);
return () => media.current?.removeEventListener("change", listener);
}, [value, forceColorScheme]);
return { colorScheme: colorSchemeValue, setColorScheme, clearColorScheme };
}
function useRespectReduceMotion({
respectReducedMotion,
getRootElement
}) {
hooks.useIsomorphicEffect(() => {
if (respectReducedMotion) {
getRootElement()?.setAttribute("data-respect-reduced-motion", "true");
}
}, [respectReducedMotion]);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/MantineProvider.mjs
suppressNextjsWarning();
function MantineProvider({
theme,
children,
getStyleNonce,
withStaticClasses = true,
withGlobalClasses = true,
deduplicateCssVariables = true,
withCssVariables = true,
cssVariablesSelector = ":root",
classNamesPrefix = "mantine",
colorSchemeManager = localStorageColorSchemeManager(),
defaultColorScheme = "light",
getRootElement = () => document.documentElement,
cssVariablesResolver,
forceColorScheme,
stylesTransform
}) {
const { colorScheme, setColorScheme, clearColorScheme } = useProviderColorScheme({
defaultColorScheme,
forceColorScheme,
manager: colorSchemeManager,
getRootElement
});
useRespectReduceMotion({
respectReducedMotion: theme?.respectReducedMotion || false,
getRootElement
});
return /* @__PURE__ */ jsxRuntime.jsx(
MantineContext.Provider,
{
value: {
colorScheme,
setColorScheme,
clearColorScheme,
getRootElement,
classNamesPrefix,
getStyleNonce,
cssVariablesResolver,
cssVariablesSelector,
withStaticClasses,
stylesTransform
},
children: /* @__PURE__ */ jsxRuntime.jsxs(MantineThemeProvider, { theme, children: [
withCssVariables && /* @__PURE__ */ jsxRuntime.jsx(
MantineCssVariables,
{
cssVariablesSelector,
deduplicateCssVariables
}
),
withGlobalClasses && /* @__PURE__ */ jsxRuntime.jsx(MantineClasses, {}),
children
] })
}
);
}
MantineProvider.displayName = "@mantine/core/MantineProvider";
function HeadlessMantineProvider({ children, theme }) {
return /* @__PURE__ */ jsxRuntime.jsx(
MantineContext.Provider,
{
value: {
colorScheme: "auto",
setColorScheme: () => {
},
clearColorScheme: () => {
},
getRootElement: () => document.documentElement,
classNamesPrefix: "mantine",
cssVariablesSelector: ":root",
withStaticClasses: false,
headless: true
},
children: /* @__PURE__ */ jsxRuntime.jsx(MantineThemeProvider, { theme, children })
}
);
}
HeadlessMantineProvider.displayName = "@mantine/core/HeadlessMantineProvider";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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
})
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.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];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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: classes86, unstyled }) {
return unstyled ? void 0 : classes86[selector];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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}`);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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]
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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: classes86,
selector,
unstyled
}) {
return options?.variant && !unstyled ? classes86[`${selector}--${options.variant}`] : void 0;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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: classes86,
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: classes86, 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: classes86, unstyled: unstyled || headless }),
withStaticClasses && !headless && getStaticClassNames({
themeName,
classNamesPrefix,
selector,
withStaticClass: options?.withStaticClass
}),
options?.className
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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 }), {});
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
function mergeVars(vars) {
return vars.reduce((acc, current) => {
if (current) {
Object.keys(current).forEach((key) => {
acc[key] = { ...acc[key], ...filterProps(current[key]) };
});
}
return acc;
}, {});
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/styles-api/use-styles/get-style/resolve-vars/resolve-vars.mjs
function resolveVars({
vars,
varsResolver: varsResolver87,
theme,
props,
stylesCtx,
selector,
themeName,
headless
}) {
return mergeVars([
headless ? {} : varsResolver87?.(theme, props, stylesCtx),
...themeName.map((name) => theme.components?.[name]?.vars?.(theme, props, stylesCtx)),
vars?.(theme, props, stylesCtx)
])?.[selector];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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: varsResolver87,
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: varsResolver87, selector, themeName, headless }),
...rootSelector === selector ? resolveStyle({ style, theme }) : null,
...resolveStyle({ style: options?.style, theme })
};
}
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
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/styles-api/use-styles/use-styles.mjs
function useStyles({
name,
classes: classes86,
props,
stylesCtx,
className,
style,
rootSelector = "root",
unstyled,
classNames,
styles,
vars,
varsResolver: varsResolver87
}) {
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: classes86,
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: varsResolver87,
headless,
withStylesTransform
})
});
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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})`;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
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 = React9.useRef();
const timeoutRef = React9.useRef();
const ctx = React9.useContext(MantineContext);
const nonce = useMantineStyleNonce();
const nonceValue = React9.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 = hooks.useColorScheme("light", { getInitialValueInEffect: false });
const computedColorScheme = ctx.colorScheme === "auto" ? osColorScheme : ctx.colorScheme;
const toggleColorScheme = React9.useCallback(
() => setColorScheme(computedColorScheme === "light" ? "dark" : "light"),
[setColorScheme, computedColorScheme]
);
React9.useEffect(
() => () => {
clearStylesRef.current?.();
window.clearTimeout(timeoutRef.current);
},
[]
);
return {
colorScheme: ctx.colorScheme,
setColorScheme,
clearColorScheme,
toggleColorScheme
};
}
function useComputedColorScheme(defaultValue, options = { getInitialValueInEffect: true }) {
const osColorScheme = hooks.useColorScheme(defaultValue, options);
const { colorScheme } = useMantineColorScheme();
return colorScheme === "auto" ? osColorScheme : colorScheme;
}
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 /* @__PURE__ */ jsxRuntime.jsx(
"script",
{
...others,
"data-mantine-script": true,
dangerouslySetInnerHTML: {
__html: getScript({
defaultColorScheme: _defaultColorScheme,
localStorageKey,
forceColorScheme
})
}
}
);
}
function useProps(component, defaultProps181, props) {
const theme = useMantineTheme();
const contextPropsPayload = theme.components[component]?.defaultProps;
const contextProps = typeof contextPropsPayload === "function" ? contextPropsPayload(theme) : contextPropsPayload;
return { ...defaultProps181, ...contextProps, ...filterProps(props) };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/MantineProvider/create-theme/create-theme.mjs
function createTheme(theme) {
return theme;
}
function mergeThemeOverrides(...overrides) {
return overrides.reduce((acc, override) => deepMerge(acc, override), {});
}
var BREAKPOINTS = ["xs", "sm", "md", "lg", "xl"];
function getFirstMatchingValue(value, biggestMatch) {
if (!biggestMatch) {
return value.base;
}
let index3 = BREAKPOINTS.indexOf(biggestMatch);
while (index3 >= 0) {
if (BREAKPOINTS[index3] in value) {
return value[BREAKPOINTS[index3]];
}
index3 -= 1;
}
return value.base;
}
function getFirstMatchingBreakpoint(matches) {
return matches.findLastIndex((v) => v);
}
function useMatches(payload, options) {
const theme = useMantineTheme();
const xsMatches = hooks.useMediaQuery(`(min-width: ${theme.breakpoints.xs})`, false, options);
const smMatches = hooks.useMediaQuery(`(min-width: ${theme.breakpoints.sm})`, false, options);
const mdMatches = hooks.useMediaQuery(`(min-width: ${theme.breakpoints.md})`, false, options);
const lgMatches = hooks.useMediaQuery(`(min-width: ${theme.breakpoints.lg})`, false, options);
const xlMatches = hooks.useMediaQuery(`(min-width: ${theme.breakpoints.xl})`, false, options);
const breakpoints = [xsMatches, smMatches, mdMatches, lgMatches, xlMatches];
const firstMatchingBreakpointIndex = getFirstMatchingBreakpoint(breakpoints);
return getFirstMatchingValue(payload, BREAKPOINTS[firstMatchingBreakpointIndex]);
}
function cssObjectToString(css) {
return keys(css).reduce(
(acc, rule) => css[rule] !== void 0 ? `${acc}${camelToKebabCase(rule)}:${css[rule]};` : acc,
""
).trim();
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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();
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/InlineStyles/InlineStyles.mjs
function InlineStyles(props) {
const nonce = useMantineStyleNonce();
return /* @__PURE__ */ jsxRuntime.jsx(
"style",
{
"data-mantine-styles": "inline",
nonce: nonce?.(),
dangerouslySetInnerHTML: { __html: stylesToString(props) }
}
);
}
function extractStyleProps(others) {
const {
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,
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,
hiddenFrom,
visibleFrom,
lightHidden,
darkHidden,
sx
});
return { styleProps, rest };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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" },
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: "identity", 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" }
};
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);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/Box/style-props/resolvers/identity-resolver/identity-resolver.mjs
function identityResolver(value) {
return value;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
function sizeResolver(value) {
if (typeof value === "number") {
return rem(value);
}
return value;
}
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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/Box/style-props/resolvers/index.mjs
var resolvers = {
color: colorResolver,
textColor: textColorResolver,
fontSize: fontSizeResolver,
spacing: spacingResolver,
identity: identityResolver,
size: sizeResolver,
lineHeight: lineHeightResolver,
fontFamily: fontFamilyResolver,
border: borderResolver
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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 };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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) {
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: {}
}
)
);
}
function useRandomClassName() {
const id = React9.useId().replace(/:/g, "");
return `__m__-${id}`;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/factory/create-polymorphic-component.mjs
function createPolymorphicComponent(component) {
return component;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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 };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/core/Box/Box.mjs
var _Box = React9.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 /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
parsedStyleProps.hasResponsiveStyles && /* @__PURE__ */ jsxRuntime.jsx(
InlineStyles,
{
selector: `.${responsiveClassName}`,
styles: parsedStyleProps.styles,
media: parsedStyleProps.media
}
),
typeof renderRoot === "function" ? renderRoot(props) : /* @__PURE__ */ jsxRuntime.jsx(Element2, { ...props })
] });
}
);
_Box.displayName = "@mantine/core/Box";
var Box = createPolymorphicComponent(_Box);
function identity(value) {
return value;
}
function getWithProps(Component) {
const _Component = Component;
return (fixedProps) => {
const Extended = React9.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(_Component, { ...fixedProps, ...props, ref }));
Extended.extend = _Component.extend;
Extended.displayName = `WithProps(${_Component.displayName})`;
return Extended;
};
}
function factory(ui) {
const Component = React9.forwardRef(ui);
Component.extend = identity;
Component.withProps = (fixedProps) => {
const Extended = React9.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(Component, { ...fixedProps, ...props, ref }));
Extended.extend = Component.extend;
Extended.displayName = `WithProps(${Component.displayName})`;
return Extended;
};
return Component;
}
function polymorphicFactory(ui) {
const Component = React9.forwardRef(ui);
Component.withProps = (fixedProps) => {
const Extended = React9.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(Component, { ...fixedProps, ...props, ref }));
Extended.extend = Component.extend;
Extended.displayName = `WithProps(${Component.displayName})`;
return Extended;
};
Component.extend = identity;
return Component;
}
var DirectionContext = React9.createContext({
dir: "ltr",
toggleDirection: () => {
},
setDirection: () => {
}
});
function useDirection() {
return React9.useContext(DirectionContext);
}
function DirectionProvider({
children,
initialDirection = "ltr",
detectDirection = true
}) {
const [dir, setDir] = React9.useState(initialDirection);
const setDirection = (direction) => {
setDir(direction);
document.documentElement.setAttribute("dir", direction);
};
const toggleDirection = () => setDirection(dir === "ltr" ? "rtl" : "ltr");
hooks.useIsomorphicEffect(() => {
if (detectDirection) {
const direction = document.documentElement.getAttribute("dir");
if (direction === "rtl" || direction === "ltr") {
setDirection(direction);
}
}
}, []);
return /* @__PURE__ */ jsxRuntime.jsx(DirectionContext.Provider, { value: { dir, toggleDirection, setDirection }, children });
}
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;
function useCollapse({
transitionDuration,
transitionTimingFunction = "ease",
onTransitionEnd = () => {
},
opened
}) {
const el = React9.useRef(null);
const collapsedHeight = 0;
const collapsedStyles = {
display: "none",
height: 0,
overflow: "hidden"
};
const [styles, setStylesRaw] = React9.useState(opened ? {} : collapsedStyles);
const setStyles = (newStyles) => {
ReactDOM.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}`
};
}
hooks.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];
return {
"aria-hidden": !opened,
...rest,
[refKey]: hooks.mergeRefs(el, theirRef),
onTransitionEnd: handleTransitionEnd,
style: { boxSizing: "border-box", ...style, ...styles }
};
}
return getCollapseProps;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/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,
...others
} = useProps("Collapse", defaultProps, props);
const theme = useMantineTheme();
const shouldReduceMotion = hooks.useReducedMotion();
const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;
const duration = reduceMotion ? 0 : transitionDuration;
const getCollapseProps = useCollapse({
opened,
transitionDuration: duration,
transitionTimingFunction,
onTransitionEnd
});
if (duration === 0) {
return opened ? /* @__PURE__ */ jsxRuntime.jsx(Box, { ...others, children }) : null;
}
return /* @__PURE__ */ jsxRuntime.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";
var [ScrollAreaProvider, useScrollAreaContext] = createSafeContext(
"ScrollArea.Root component was not found in tree"
);
function useResizeObserver(element, onResize) {
const handleResize = hooks.useCallbackRef(onResize);
hooks.useIsomorphicEffect(() => {
let rAF = 0;
if (element) {
const resizeObserver = new ResizeObserver(() => {
cancelAnimationFrame(rAF);
rAF = window.requestAnimationFrame(handleResize);
});
resizeObserver.observe(element);
return () => {
window.cancelAnimationFrame(rAF);
resizeObserver.unobserve(element);
};
}
return void 0;
}, [element, handleResize]);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaCorner/ScrollAreaCorner.mjs
var Corner = React9.forwardRef((props, ref) => {
const { style, ...others } = props;
const ctx = useScrollAreaContext();
const [width, setWidth] = React9.useState(0);
const [height, setHeight] = React9.useState(0);
const hasSize = Boolean(width && height);
useResizeObserver(ctx.scrollbarX, () => {
const h = ctx.scrollbarX?.offsetHeight || 0;
ctx.onCornerHeightChange(h);
setHeight(h);
});
useResizeObserver(ctx.scrollbarY, () => {
const w = ctx.scrollbarY?.offsetWidth || 0;
ctx.onCornerWidthChange(w);
setWidth(w);
});
return hasSize ? /* @__PURE__ */ jsxRuntime.jsx("div", { ...others, ref, style: { ...style, width, height } }) : null;
});
var ScrollAreaCorner = React9.forwardRef((props, ref) => {
const ctx = useScrollAreaContext();
const hasBothScrollbarsVisible = Boolean(ctx.scrollbarX && ctx.scrollbarY);
const hasCorner = ctx.type !== "scroll" && hasBothScrollbarsVisible;
return hasCorner ? /* @__PURE__ */ jsxRuntime.jsx(Corner, { ...props, ref }) : null;
});
var defaultProps2 = {
scrollHideDelay: 1e3,
type: "hover"
};
var ScrollAreaRoot = React9.forwardRef((_props, ref) => {
const props = useProps("ScrollAreaRoot", defaultProps2, _props);
const { type, scrollHideDelay, scrollbars, ...others } = props;
const [scrollArea, setScrollArea] = React9.useState(null);
const [viewport, setViewport] = React9.useState(null);
const [content, setContent] = React9.useState(null);
const [scrollbarX, setScrollbarX] = React9.useState(null);
const [scrollbarY, setScrollbarY] = React9.useState(null);
const [cornerWidth, setCornerWidth] = React9.useState(0);
const [cornerHeight, setCornerHeight] = React9.useState(0);
const [scrollbarXEnabled, setScrollbarXEnabled] = React9.useState(false);
const [scrollbarYEnabled, setScrollbarYEnabled] = React9.useState(false);
const rootRef = hooks.useMergedRef(ref, (node) => setScrollArea(node));
return /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaProvider,
{
value: {
type,
scrollHideDelay,
scrollArea,
viewport,
onViewportChange: setViewport,
content,
onContentChange: setContent,
scrollbarX,
onScrollbarXChange: setScrollbarX,
scrollbarXEnabled,
onScrollbarXEnabledChange: setScrollbarXEnabled,
scrollbarY,
onScrollbarYChange: setScrollbarY,
scrollbarYEnabled,
onScrollbarYEnabledChange: setScrollbarYEnabled,
onCornerWidthChange: setCornerWidth,
onCornerHeightChange: setCornerHeight
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...others,
ref: rootRef,
__vars: {
"--sa-corner-width": scrollbars !== "xy" ? "0px" : `${cornerWidth}px`,
"--sa-corner-height": scrollbars !== "xy" ? "0px" : `${cornerHeight}px`
}
}
)
}
);
});
ScrollAreaRoot.displayName = "@mantine/core/ScrollAreaRoot";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/get-thumb-ratio.mjs
function getThumbRatio(viewportSize, contentSize) {
const ratio = viewportSize / contentSize;
return Number.isNaN(ratio) ? 0 : ratio;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/get-thumb-size.mjs
function getThumbSize(sizes2) {
const ratio = getThumbRatio(sizes2.viewport, sizes2.content);
const scrollbarPadding = sizes2.scrollbar.paddingStart + sizes2.scrollbar.paddingEnd;
const thumbSize = (sizes2.scrollbar.size - scrollbarPadding) * ratio;
return Math.max(thumbSize, 18);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/linear-scale.mjs
function linearScale(input, output) {
return (value) => {
if (input[0] === input[1] || output[0] === output[1]) {
return output[0];
}
const ratio = (output[1] - output[0]) / (input[1] - input[0]);
return output[0] + ratio * (value - input[0]);
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/get-thumb-offset-from-scroll.mjs
function clamp(value, [min2, max2]) {
return Math.min(max2, Math.max(min2, value));
}
function getThumbOffsetFromScroll(scrollPos, sizes2, dir = "ltr") {
const thumbSizePx = getThumbSize(sizes2);
const scrollbarPadding = sizes2.scrollbar.paddingStart + sizes2.scrollbar.paddingEnd;
const scrollbar = sizes2.scrollbar.size - scrollbarPadding;
const maxScrollPos = sizes2.content - sizes2.viewport;
const maxThumbPos = scrollbar - thumbSizePx;
const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);
const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);
return interpolate(scrollWithoutMomentum);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/get-scroll-position-from-pointer.mjs
function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes2, dir = "ltr") {
const thumbSizePx = getThumbSize(sizes2);
const thumbCenter = thumbSizePx / 2;
const offset4 = pointerOffset || thumbCenter;
const thumbOffsetFromEnd = thumbSizePx - offset4;
const minPointerPos = sizes2.scrollbar.paddingStart + offset4;
const maxPointerPos = sizes2.scrollbar.size - sizes2.scrollbar.paddingEnd - thumbOffsetFromEnd;
const maxScrollPos = sizes2.content - sizes2.viewport;
const scrollRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);
return interpolate(pointerPos);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/is-scrolling-within-scrollbar-bounds.mjs
function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {
return scrollPos > 0 && scrollPos < maxScrollPos;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/to-int.mjs
function toInt(value) {
return value ? parseInt(value, 10) : 0;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/compose-event-handlers.mjs
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
return (event) => {
originalEventHandler?.(event);
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
ourEventHandler?.(event);
}
};
}
var [ScrollbarProvider, useScrollbarContext] = createSafeContext(
"ScrollAreaScrollbar was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/Scrollbar.mjs
var Scrollbar = React9.forwardRef((props, forwardedRef) => {
const {
sizes: sizes2,
hasThumb,
onThumbChange,
onThumbPointerUp,
onThumbPointerDown,
onThumbPositionChange,
onDragScroll,
onWheelScroll,
onResize,
...scrollbarProps
} = props;
const context = useScrollAreaContext();
const [scrollbar, setScrollbar] = React9.useState(null);
const composeRefs = hooks.useMergedRef(forwardedRef, (node) => setScrollbar(node));
const rectRef = React9.useRef(null);
const prevWebkitUserSelectRef = React9.useRef("");
const { viewport } = context;
const maxScrollPos = sizes2.content - sizes2.viewport;
const handleWheelScroll = hooks.useCallbackRef(onWheelScroll);
const handleThumbPositionChange = hooks.useCallbackRef(onThumbPositionChange);
const handleResize = hooks.useDebouncedCallback(onResize, 10);
const handleDragScroll = (event) => {
if (rectRef.current) {
const x = event.clientX - rectRef.current.left;
const y = event.clientY - rectRef.current.top;
onDragScroll({ x, y });
}
};
React9.useEffect(() => {
const handleWheel = (event) => {
const element = event.target;
const isScrollbarWheel = scrollbar?.contains(element);
if (isScrollbarWheel) {
handleWheelScroll(event, maxScrollPos);
}
};
document.addEventListener("wheel", handleWheel, { passive: false });
return () => document.removeEventListener("wheel", handleWheel, { passive: false });
}, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);
React9.useEffect(handleThumbPositionChange, [sizes2, handleThumbPositionChange]);
useResizeObserver(scrollbar, handleResize);
useResizeObserver(context.content, handleResize);
return /* @__PURE__ */ jsxRuntime.jsx(
ScrollbarProvider,
{
value: {
scrollbar,
hasThumb,
onThumbChange: hooks.useCallbackRef(onThumbChange),
onThumbPointerUp: hooks.useCallbackRef(onThumbPointerUp),
onThumbPositionChange: handleThumbPositionChange,
onThumbPointerDown: hooks.useCallbackRef(onThumbPointerDown)
},
children: /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...scrollbarProps,
ref: composeRefs,
"data-mantine-scrollbar": true,
style: { position: "absolute", ...scrollbarProps.style },
onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
event.preventDefault();
const mainPointer = 0;
if (event.button === mainPointer) {
const element = event.target;
element.setPointerCapture(event.pointerId);
rectRef.current = scrollbar.getBoundingClientRect();
prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;
document.body.style.webkitUserSelect = "none";
handleDragScroll(event);
}
}),
onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),
onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
event.preventDefault();
const element = event.target;
if (element.hasPointerCapture(event.pointerId)) {
element.releasePointerCapture(event.pointerId);
}
document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;
rectRef.current = null;
})
}
)
}
);
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollbarX.mjs
var ScrollAreaScrollbarX = React9.forwardRef(
(props, forwardedRef) => {
const { sizes: sizes2, onSizesChange, style, ...others } = props;
const ctx = useScrollAreaContext();
const [computedStyle, setComputedStyle] = React9.useState();
const ref = React9.useRef(null);
const composeRefs = hooks.useMergedRef(forwardedRef, ref, ctx.onScrollbarXChange);
React9.useEffect(() => {
if (ref.current) {
setComputedStyle(getComputedStyle(ref.current));
}
}, [ref]);
return /* @__PURE__ */ jsxRuntime.jsx(
Scrollbar,
{
"data-orientation": "horizontal",
...others,
ref: composeRefs,
sizes: sizes2,
style: {
...style,
["--sa-thumb-width"]: `${getThumbSize(sizes2)}px`
},
onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),
onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),
onWheelScroll: (event, maxScrollPos) => {
if (ctx.viewport) {
const scrollPos = ctx.viewport.scrollLeft + event.deltaX;
props.onWheelScroll(scrollPos);
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
event.preventDefault();
}
}
},
onResize: () => {
if (ref.current && ctx.viewport && computedStyle) {
onSizesChange({
content: ctx.viewport.scrollWidth,
viewport: ctx.viewport.offsetWidth,
scrollbar: {
size: ref.current.clientWidth,
paddingStart: toInt(computedStyle.paddingLeft),
paddingEnd: toInt(computedStyle.paddingRight)
}
});
}
}
}
);
}
);
ScrollAreaScrollbarX.displayName = "@mantine/core/ScrollAreaScrollbarX";
var ScrollAreaScrollbarY = React9.forwardRef(
(props, forwardedRef) => {
const { sizes: sizes2, onSizesChange, style, ...others } = props;
const context = useScrollAreaContext();
const [computedStyle, setComputedStyle] = React9.useState();
const ref = React9.useRef(null);
const composeRefs = hooks.useMergedRef(forwardedRef, ref, context.onScrollbarYChange);
React9.useEffect(() => {
if (ref.current) {
setComputedStyle(window.getComputedStyle(ref.current));
}
}, []);
return /* @__PURE__ */ jsxRuntime.jsx(
Scrollbar,
{
...others,
"data-orientation": "vertical",
ref: composeRefs,
sizes: sizes2,
style: {
["--sa-thumb-height"]: `${getThumbSize(sizes2)}px`,
...style
},
onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),
onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),
onWheelScroll: (event, maxScrollPos) => {
if (context.viewport) {
const scrollPos = context.viewport.scrollTop + event.deltaY;
props.onWheelScroll(scrollPos);
if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {
event.preventDefault();
}
}
},
onResize: () => {
if (ref.current && context.viewport && computedStyle) {
onSizesChange({
content: context.viewport.scrollHeight,
viewport: context.viewport.offsetHeight,
scrollbar: {
size: ref.current.clientHeight,
paddingStart: toInt(computedStyle.paddingTop),
paddingEnd: toInt(computedStyle.paddingBottom)
}
});
}
}
}
);
}
);
ScrollAreaScrollbarY.displayName = "@mantine/core/ScrollAreaScrollbarY";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarVisible.mjs
var ScrollAreaScrollbarVisible = React9.forwardRef((props, forwardedRef) => {
const { orientation = "vertical", ...scrollbarProps } = props;
const { dir } = useDirection();
const context = useScrollAreaContext();
const thumbRef = React9.useRef(null);
const pointerOffsetRef = React9.useRef(0);
const [sizes2, setSizes] = React9.useState({
content: 0,
viewport: 0,
scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }
});
const thumbRatio = getThumbRatio(sizes2.viewport, sizes2.content);
const commonProps = {
...scrollbarProps,
sizes: sizes2,
onSizesChange: setSizes,
hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),
onThumbChange: (thumb) => {
thumbRef.current = thumb;
},
onThumbPointerUp: () => {
pointerOffsetRef.current = 0;
},
onThumbPointerDown: (pointerPos) => {
pointerOffsetRef.current = pointerPos;
}
};
const getScrollPosition = (pointerPos, direction) => getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes2, direction);
if (orientation === "horizontal") {
return /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaScrollbarX,
{
...commonProps,
ref: forwardedRef,
onThumbPositionChange: () => {
if (context.viewport && thumbRef.current) {
const scrollPos = context.viewport.scrollLeft;
const offset4 = getThumbOffsetFromScroll(scrollPos, sizes2, dir);
thumbRef.current.style.transform = `translate3d(${offset4}px, 0, 0)`;
}
},
onWheelScroll: (scrollPos) => {
if (context.viewport) {
context.viewport.scrollLeft = scrollPos;
}
},
onDragScroll: (pointerPos) => {
if (context.viewport) {
context.viewport.scrollLeft = getScrollPosition(pointerPos, dir);
}
}
}
);
}
if (orientation === "vertical") {
return /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaScrollbarY,
{
...commonProps,
ref: forwardedRef,
onThumbPositionChange: () => {
if (context.viewport && thumbRef.current) {
const scrollPos = context.viewport.scrollTop;
const offset4 = getThumbOffsetFromScroll(scrollPos, sizes2);
if (sizes2.scrollbar.size === 0) {
thumbRef.current.style.opacity = "0";
} else {
thumbRef.current.style.opacity = "1";
}
thumbRef.current.style.transform = `translate3d(0, ${offset4}px, 0)`;
}
},
onWheelScroll: (scrollPos) => {
if (context.viewport) {
context.viewport.scrollTop = scrollPos;
}
},
onDragScroll: (pointerPos) => {
if (context.viewport) {
context.viewport.scrollTop = getScrollPosition(pointerPos);
}
}
}
);
}
return null;
});
ScrollAreaScrollbarVisible.displayName = "@mantine/core/ScrollAreaScrollbarVisible";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbarAuto.mjs
var ScrollAreaScrollbarAuto = React9.forwardRef(
(props, ref) => {
const context = useScrollAreaContext();
const { forceMount, ...scrollbarProps } = props;
const [visible, setVisible] = React9.useState(false);
const isHorizontal = props.orientation === "horizontal";
const handleResize = hooks.useDebouncedCallback(() => {
if (context.viewport) {
const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;
const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;
setVisible(isHorizontal ? isOverflowX : isOverflowY);
}
}, 10);
useResizeObserver(context.viewport, handleResize);
useResizeObserver(context.content, handleResize);
if (forceMount || visible) {
return /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaScrollbarVisible,
{
"data-state": visible ? "visible" : "hidden",
...scrollbarProps,
ref
}
);
}
return null;
}
);
ScrollAreaScrollbarAuto.displayName = "@mantine/core/ScrollAreaScrollbarAuto";
var ScrollAreaScrollbarHover = React9.forwardRef(
(props, ref) => {
const { forceMount, ...scrollbarProps } = props;
const context = useScrollAreaContext();
const [visible, setVisible] = React9.useState(false);
React9.useEffect(() => {
const { scrollArea } = context;
let hideTimer = 0;
if (scrollArea) {
const handlePointerEnter = () => {
window.clearTimeout(hideTimer);
setVisible(true);
};
const handlePointerLeave = () => {
hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);
};
scrollArea.addEventListener("pointerenter", handlePointerEnter);
scrollArea.addEventListener("pointerleave", handlePointerLeave);
return () => {
window.clearTimeout(hideTimer);
scrollArea.removeEventListener("pointerenter", handlePointerEnter);
scrollArea.removeEventListener("pointerleave", handlePointerLeave);
};
}
return void 0;
}, [context.scrollArea, context.scrollHideDelay]);
if (forceMount || visible) {
return /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaScrollbarAuto,
{
"data-state": visible ? "visible" : "hidden",
...scrollbarProps,
ref
}
);
}
return null;
}
);
ScrollAreaScrollbarHover.displayName = "@mantine/core/ScrollAreaScrollbarHover";
var ScrollAreaScrollbarScroll = React9.forwardRef(
(props, red) => {
const { forceMount, ...scrollbarProps } = props;
const context = useScrollAreaContext();
const isHorizontal = props.orientation === "horizontal";
const [state, setState] = React9.useState("hidden");
const debounceScrollEnd = hooks.useDebouncedCallback(() => setState("idle"), 100);
React9.useEffect(() => {
if (state === "idle") {
const hideTimer = window.setTimeout(() => setState("hidden"), context.scrollHideDelay);
return () => window.clearTimeout(hideTimer);
}
return void 0;
}, [state, context.scrollHideDelay]);
React9.useEffect(() => {
const { viewport } = context;
const scrollDirection = isHorizontal ? "scrollLeft" : "scrollTop";
if (viewport) {
let prevScrollPos = viewport[scrollDirection];
const handleScroll2 = () => {
const scrollPos = viewport[scrollDirection];
const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;
if (hasScrollInDirectionChanged) {
setState("scrolling");
debounceScrollEnd();
}
prevScrollPos = scrollPos;
};
viewport.addEventListener("scroll", handleScroll2);
return () => viewport.removeEventListener("scroll", handleScroll2);
}
return void 0;
}, [context.viewport, isHorizontal, debounceScrollEnd]);
if (forceMount || state !== "hidden") {
return /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaScrollbarVisible,
{
"data-state": state === "hidden" ? "hidden" : "visible",
...scrollbarProps,
ref: red,
onPointerEnter: composeEventHandlers(props.onPointerEnter, () => setState("interacting")),
onPointerLeave: composeEventHandlers(props.onPointerLeave, () => setState("idle"))
}
);
}
return null;
}
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaScrollbar/ScrollAreaScrollbar.mjs
var ScrollAreaScrollbar = React9.forwardRef(
(props, forwardedRef) => {
const { forceMount, ...scrollbarProps } = props;
const context = useScrollAreaContext();
const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
const isHorizontal = props.orientation === "horizontal";
React9.useEffect(() => {
isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
return () => {
isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
};
}, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);
return context.type === "hover" ? /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "scroll" ? /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "auto" ? /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === "always" ? /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;
}
);
ScrollAreaScrollbar.displayName = "@mantine/core/ScrollAreaScrollbar";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/utils/add-unlinked-scroll-listener.mjs
function addUnlinkedScrollListener(node, handler = () => {
}) {
let prevPosition = { left: node.scrollLeft, top: node.scrollTop };
let rAF = 0;
(function loop() {
const position = { left: node.scrollLeft, top: node.scrollTop };
const isHorizontalScroll = prevPosition.left !== position.left;
const isVerticalScroll = prevPosition.top !== position.top;
if (isHorizontalScroll || isVerticalScroll) {
handler();
}
prevPosition = position;
rAF = window.requestAnimationFrame(loop);
})();
return () => window.cancelAnimationFrame(rAF);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollAreaThumb/ScrollAreaThumb.mjs
var Thumb = React9.forwardRef((props, forwardedRef) => {
const { style, ...others } = props;
const scrollAreaContext = useScrollAreaContext();
const scrollbarContext = useScrollbarContext();
const { onThumbPositionChange } = scrollbarContext;
const composedRef = hooks.useMergedRef(forwardedRef, (node) => scrollbarContext.onThumbChange(node));
const removeUnlinkedScrollListenerRef = React9.useRef();
const debounceScrollEnd = hooks.useDebouncedCallback(() => {
if (removeUnlinkedScrollListenerRef.current) {
removeUnlinkedScrollListenerRef.current();
removeUnlinkedScrollListenerRef.current = void 0;
}
}, 100);
React9.useEffect(() => {
const { viewport } = scrollAreaContext;
if (viewport) {
const handleScroll2 = () => {
debounceScrollEnd();
if (!removeUnlinkedScrollListenerRef.current) {
const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);
removeUnlinkedScrollListenerRef.current = listener;
onThumbPositionChange();
}
};
onThumbPositionChange();
viewport.addEventListener("scroll", handleScroll2);
return () => viewport.removeEventListener("scroll", handleScroll2);
}
return void 0;
}, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
"data-state": scrollbarContext.hasThumb ? "visible" : "hidden",
...others,
ref: composedRef,
style: {
width: "var(--sa-thumb-width)",
height: "var(--sa-thumb-height)",
...style
},
onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {
const thumb = event.target;
const thumbRect = thumb.getBoundingClientRect();
const x = event.clientX - thumbRect.left;
const y = event.clientY - thumbRect.top;
scrollbarContext.onThumbPointerDown({ x, y });
}),
onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)
}
);
});
Thumb.displayName = "@mantine/core/ScrollAreaThumb";
var ScrollAreaThumb = React9.forwardRef(
(props, forwardedRef) => {
const { forceMount, ...thumbProps } = props;
const scrollbarContext = useScrollbarContext();
if (forceMount || scrollbarContext.hasThumb) {
return /* @__PURE__ */ jsxRuntime.jsx(Thumb, { ref: forwardedRef, ...thumbProps });
}
return null;
}
);
ScrollAreaThumb.displayName = "@mantine/core/ScrollAreaThumb";
var ScrollAreaViewport = React9.forwardRef(
({ children, style, ...others }, ref) => {
const ctx = useScrollAreaContext();
const rootRef = hooks.useMergedRef(ref, ctx.onViewportChange);
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...others,
ref: rootRef,
style: {
overflowX: ctx.scrollbarXEnabled ? "scroll" : "hidden",
overflowY: ctx.scrollbarYEnabled ? "scroll" : "hidden",
...style
},
children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { minWidth: "100%", display: "table" }, ref: ctx.onContentChange, children })
}
);
}
);
ScrollAreaViewport.displayName = "@mantine/core/ScrollAreaViewport";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.module.css.mjs
var classes = { "root": "m_d57069b5", "viewport": "m_c0783ff9", "viewportInner": "m_f8f631dd", "scrollbar": "m_c44ba933", "thumb": "m_d8b5e363", "corner": "m_21657268" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.mjs
var defaultProps3 = {
scrollHideDelay: 1e3,
type: "hover",
scrollbars: "xy"
};
var varsResolver = createVarsResolver((_, { scrollbarSize }) => ({
root: {
"--scrollarea-scrollbar-size": rem(scrollbarSize)
}
}));
var ScrollArea = factory((_props, ref) => {
const props = useProps("ScrollArea", defaultProps3, _props);
const {
classNames,
className,
style,
styles,
unstyled,
scrollbarSize,
vars,
type,
scrollHideDelay,
viewportProps,
viewportRef,
onScrollPositionChange,
children,
offsetScrollbars,
scrollbars,
onBottomReached,
onTopReached,
...others
} = props;
const [scrollbarHovered, setScrollbarHovered] = React9.useState(false);
const getStyles2 = useStyles({
name: "ScrollArea",
props,
classes,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver
});
return /* @__PURE__ */ jsxRuntime.jsxs(
ScrollAreaRoot,
{
type: type === "never" ? "always" : type,
scrollHideDelay,
ref,
scrollbars,
...getStyles2("root"),
...others,
children: [
/* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaViewport,
{
...viewportProps,
...getStyles2("viewport", { style: viewportProps?.style }),
ref: viewportRef,
"data-offset-scrollbars": offsetScrollbars === true ? "xy" : offsetScrollbars || void 0,
"data-scrollbars": scrollbars || void 0,
onScroll: (e) => {
viewportProps?.onScroll?.(e);
onScrollPositionChange?.({ x: e.currentTarget.scrollLeft, y: e.currentTarget.scrollTop });
const { scrollTop, scrollHeight, clientHeight } = e.currentTarget;
if (scrollTop - (scrollHeight - clientHeight) >= 0) {
onBottomReached?.();
}
if (scrollTop === 0) {
onTopReached?.();
}
},
children
}
),
(scrollbars === "xy" || scrollbars === "x") && /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaScrollbar,
{
...getStyles2("scrollbar"),
orientation: "horizontal",
"data-hidden": type === "never" || void 0,
forceMount: true,
onMouseEnter: () => setScrollbarHovered(true),
onMouseLeave: () => setScrollbarHovered(false),
children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaThumb, { ...getStyles2("thumb") })
}
),
(scrollbars === "xy" || scrollbars === "y") && /* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaScrollbar,
{
...getStyles2("scrollbar"),
orientation: "vertical",
"data-hidden": type === "never" || void 0,
forceMount: true,
onMouseEnter: () => setScrollbarHovered(true),
onMouseLeave: () => setScrollbarHovered(false),
children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaThumb, { ...getStyles2("thumb") })
}
),
/* @__PURE__ */ jsxRuntime.jsx(
ScrollAreaCorner,
{
...getStyles2("corner"),
"data-hovered": scrollbarHovered || void 0,
"data-hidden": type === "never" || void 0
}
)
]
}
);
});
ScrollArea.displayName = "@mantine/core/ScrollArea";
var ScrollAreaAutosize = factory((props, ref) => {
const {
children,
classNames,
styles,
scrollbarSize,
scrollHideDelay,
type,
dir,
offsetScrollbars,
viewportRef,
onScrollPositionChange,
unstyled,
variant,
viewportProps,
scrollbars,
style,
vars,
onBottomReached,
onTopReached,
...others
} = useProps("ScrollAreaAutosize", defaultProps3, props);
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...others, ref, style: [{ display: "flex", overflow: "auto" }, style], children: /* @__PURE__ */ jsxRuntime.jsx(Box, { style: { display: "flex", flexDirection: "column", flex: 1 }, children: /* @__PURE__ */ jsxRuntime.jsx(
ScrollArea,
{
classNames,
styles,
scrollHideDelay,
scrollbarSize,
type,
dir,
offsetScrollbars,
viewportRef,
onScrollPositionChange,
unstyled,
variant,
viewportProps,
vars,
scrollbars,
onBottomReached,
onTopReached,
children
}
) }) });
});
ScrollArea.classes = classes;
ScrollAreaAutosize.displayName = "@mantine/core/ScrollAreaAutosize";
ScrollAreaAutosize.classes = classes;
ScrollArea.Autosize = ScrollAreaAutosize;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.module.css.mjs
var classes2 = { "root": "m_87cf2631" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.mjs
var defaultProps4 = {
__staticSelector: "UnstyledButton"
};
var UnstyledButton = polymorphicFactory(
(_props, ref) => {
const props = useProps("UnstyledButton", defaultProps4, _props);
const {
className,
component = "button",
__staticSelector,
unstyled,
classNames,
styles,
style,
...others
} = props;
const getStyles2 = useStyles({
name: __staticSelector,
props,
classes: classes2,
className,
style,
classNames,
styles,
unstyled
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root", { focusable: true }),
component,
ref,
type: component === "button" ? "button" : void 0,
...others
}
);
}
);
UnstyledButton.classes = classes2;
UnstyledButton.displayName = "@mantine/core/UnstyledButton";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.module.css.mjs
var classes3 = { "root": "m_515a97f8" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.mjs
var defaultProps5 = {};
var VisuallyHidden = factory((_props, ref) => {
const props = useProps("VisuallyHidden", defaultProps5, _props);
const { classNames, className, style, styles, unstyled, vars, ...others } = props;
const getStyles2 = useStyles({
name: "VisuallyHidden",
classes: classes3,
props,
className,
style,
classNames,
styles,
unstyled
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", ref, ...getStyles2("root"), ...others });
});
VisuallyHidden.classes = classes3;
VisuallyHidden.displayName = "@mantine/core/VisuallyHidden";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Paper/Paper.module.css.mjs
var classes4 = { "root": "m_1b7284a3" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Paper/Paper.mjs
var defaultProps6 = {};
var varsResolver2 = createVarsResolver((_, { radius, shadow }) => ({
root: {
"--paper-radius": radius === void 0 ? void 0 : getRadius(radius),
"--paper-shadow": getShadow(shadow)
}
}));
var Paper = polymorphicFactory((_props, ref) => {
const props = useProps("Paper", defaultProps6, _props);
const {
classNames,
className,
style,
styles,
unstyled,
withBorder,
vars,
radius,
shadow,
variant,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Paper",
props,
classes: classes4,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver2
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
mod: [{ "data-with-border": withBorder }, mod],
...getStyles2("root"),
variant,
...others
}
);
});
Paper.classes = classes4;
Paper.displayName = "@mantine/core/Paper";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
function hasWindow() {
return typeof window !== "undefined";
}
function getNodeName(node) {
if (isNode(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 = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
}
function isNode(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) && !["inline", "contents"].includes(display);
}
function isTableElement(element) {
return ["table", "td", "th"].includes(getNodeName(element));
}
function isTopLayer(element) {
return [":popover-open", ":modal"].some((selector) => {
try {
return element.matches(selector);
} catch (e) {
return false;
}
});
}
function isContainingBlock(elementOrCss) {
const webkit = isWebKit();
const css = isElement2(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
return css.transform !== "none" || css.perspective !== "none" || (css.containerType ? css.containerType !== "normal" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !webkit && (css.filter ? css.filter !== "none" : false) || ["transform", "perspective", "filter"].some((value) => (css.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css.contain || "").includes(value));
}
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 (typeof CSS === "undefined" || !CSS.supports)
return false;
return CSS.supports("-webkit-backdrop-filter", "none");
}
function isLastTraversableNode(node) {
return ["html", "body", "#document"].includes(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) : []);
}
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
}
function getFrameElement(win) {
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@floating-ui+react@0.26.24_react-dom@18.3.1_react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs
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 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 isVirtualPointerEvent(event) {
if (isJSDOM())
return false;
return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse" || // iOS VoiceOver returns 0.333• for width/height.
event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
}
function isSafari() {
return /apple/i.test(navigator.vendor);
}
function isAndroid() {
const re = /android/i;
return re.test(getPlatform()) || re.test(getUserAgent());
}
function isMac() {
return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
}
function isJSDOM() {
return getUserAgent().includes("jsdom/");
}
function isMouseLikePointerType(pointerType, strict) {
const values2 = ["mouse", "pen"];
{
values2.push("", void 0);
}
return values2.includes(pointerType);
}
function isReactEvent(event) {
return "nativeEvent" in event;
}
function isRootElement(element) {
return element.matches("html,body");
}
function getDocument(node) {
return (node == null ? void 0 : node.ownerDocument) || document;
}
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 getTarget(event) {
if ("composedPath" in event) {
return event.composedPath()[0];
}
return event.target;
}
var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
function isTypeableElement(element) {
return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@floating-ui+utils@0.2.8/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
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"
};
var oppositeAlignmentMap = {
start: "end",
end: "start"
};
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) {
return ["top", "bottom"].includes(getSide(placement)) ? "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.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);
}
function getSideList(side, isStart, rtl) {
const lr = ["left", "right"];
const rl = ["right", "left"];
const tb = ["top", "bottom"];
const bt = ["bottom", "top"];
switch (side) {
case "top":
case "bottom":
if (rtl)
return isStart ? rl : lr;
return isStart ? lr : rl;
case "left":
case "right":
return isStart ? tb : bt;
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) {
return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);
}
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
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@floating-ui+core@1.6.8/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;
}
var computePosition = async (reference, floating, config) => {
const {
placement = "bottom",
strategy = "absolute",
middleware = [],
platform: platform2
} = config;
const validMiddleware = middleware.filter(Boolean);
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 middlewareData = {};
let resetCount = 0;
for (let i = 0; i < validMiddleware.length; i++) {
const {
name,
fn
} = validMiddleware[i];
const {
x: nextX,
y: nextY,
data,
reset
} = await fn({
x,
y,
initialPlacement: placement,
placement: statefulPlacement,
strategy,
middlewareData,
rects,
platform: platform2,
elements: {
reference,
floating
}
});
x = nextX != null ? nextX : x;
y = nextY != null ? nextY : y;
middlewareData = {
...middlewareData,
[name]: {
...middlewareData[name],
...data
}
};
if (reset && resetCount <= 50) {
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
};
};
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 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 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) {
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 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 {};
}
};
};
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 = ["left", "top"].includes(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
} = 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 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 = ["top", "left"].includes(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 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 {};
}
};
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@floating-ui+dom@1.6.11/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 = /* @__PURE__ */ 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 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 (isHTMLElement(offsetParent)) {
const offsetRect = getBoundingClientRect(offsetParent);
scale = getScale(offsetParent);
offsets.x = offsetRect.x + offsetParent.clientLeft;
offsets.y = offsetRect.y + offsetParent.clientTop;
}
}
return {
width: rect.width * scale.x,
height: rect.height * scale.y,
x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,
y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y
};
}
function getClientRects(element) {
return Array.from(element.getClientRects());
}
function getWindowScrollBarX(element, rect) {
const leftScroll = getNodeScroll(element).scrollLeft;
if (!rect) {
return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
}
return rect.left + leftScroll;
}
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
};
}
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;
}
}
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 = {
...clippingAncestor,
x: clippingAncestor.x - visualOffsets.x,
y: clippingAncestor.y - visualOffsets.y
};
}
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 && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || 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 firstClippingAncestor = clippingAncestors[0];
const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
accRect.top = max(rect.top, accRect.top);
accRect.right = min(rect.right, accRect.right);
accRect.bottom = min(rect.bottom, accRect.bottom);
accRect.left = max(rect.left, accRect.left);
return accRect;
}, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
return {
width: clippingRect.right - clippingRect.left,
height: clippingRect.bottom - clippingRect.top,
x: clippingRect.left,
y: clippingRect.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);
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) {
offsets.x = getWindowScrollBarX(documentElement);
}
}
let htmlX = 0;
let htmlY = 0;
if (documentElement && !isOffsetParentAnElement && !isFixed) {
const htmlRect = documentElement.getBoundingClientRect();
htmlY = htmlRect.top + scroll.scrollTop;
htmlX = htmlRect.left + scroll.scrollLeft - // RTL <body> scrollbar.
getWindowScrollBarX(documentElement, htmlRect);
}
const x = rect.left + scroll.scrollLeft - offsets.x - htmlX;
const y = rect.top + scroll.scrollTop - offsets.y - htmlY;
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 observeMove(element, onMove) {
let io = null;
let timeoutId;
const root = getDocumentElement(element);
function cleanup() {
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;
}
cleanup();
const {
left,
top,
width,
height
} = element.getBoundingClientRect();
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);
}
}
isFirstUpdate = false;
}
try {
io = new IntersectionObserver(handleObserve, {
...options,
// Handle <iframe>s
root: root.ownerDocument
});
} catch (e) {
io = new IntersectionObserver(handleObserve, options);
}
io.observe(element);
}
refresh(true);
return cleanup;
}
function autoUpdate(reference, floating, update, options) {
if (options === void 0) {
options = {};
}
const {
ancestorScroll = true,
ancestorResize = true,
elementResize = typeof ResizeObserver === "function",
layoutShift = typeof IntersectionObserver === "function",
animationFrame = false
} = options;
const referenceEl = unwrapElement(reference);
const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
ancestors.forEach((ancestor) => {
ancestorScroll && ancestor.addEventListener("scroll", update, {
passive: true
});
ancestorResize && ancestor.addEventListener("resize", update);
});
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
let reobserveFrame = -1;
let resizeObserver = null;
if (elementResize) {
resizeObserver = new ResizeObserver((_ref) => {
let [firstEntry] = _ref;
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
resizeObserver.unobserve(floating);
cancelAnimationFrame(reobserveFrame);
reobserveFrame = requestAnimationFrame(() => {
var _resizeObserver;
(_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
});
}
update();
});
if (referenceEl && !animationFrame) {
resizeObserver.observe(referenceEl);
}
resizeObserver.observe(floating);
}
let frameId;
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
if (animationFrame) {
frameLoop();
}
function frameLoop() {
const nextRefRect = getBoundingClientRect(reference);
if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
update();
}
prevRefRect = nextRefRect;
frameId = requestAnimationFrame(frameLoop);
}
update();
return () => {
var _resizeObserver2;
ancestors.forEach((ancestor) => {
ancestorScroll && ancestor.removeEventListener("scroll", update);
ancestorResize && ancestor.removeEventListener("resize", update);
});
cleanupIo == null || cleanupIo();
(_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
resizeObserver = null;
if (animationFrame) {
cancelAnimationFrame(frameId);
}
};
}
var offset2 = offset;
var shift2 = shift;
var flip2 = flip;
var size2 = size;
var arrow2 = arrow;
var inline2 = inline;
var limitShift2 = limitShift;
var computePosition2 = (reference, floating, options) => {
const cache = /* @__PURE__ */ new Map();
const mergedOptions = {
platform,
...options
};
const platformWithCache = {
...mergedOptions.platform,
_c: cache
};
return computePosition(reference, floating, {
...mergedOptions,
platform: platformWithCache
});
};
var index = typeof document !== "undefined" ? React9.useLayoutEffect : React9.useEffect;
function deepEqual(a, b) {
if (a === b) {
return true;
}
if (typeof a !== typeof b) {
return false;
}
if (typeof a === "function" && a.toString() === b.toString()) {
return true;
}
let length;
let i;
let keys2;
if (a && b && typeof a === "object") {
if (Array.isArray(a)) {
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0; ) {
if (!deepEqual(a[i], b[i])) {
return false;
}
}
return true;
}
keys2 = Object.keys(a);
length = keys2.length;
if (length !== Object.keys(b).length) {
return false;
}
for (i = length; i-- !== 0; ) {
if (!{}.hasOwnProperty.call(b, keys2[i])) {
return false;
}
}
for (i = length; i-- !== 0; ) {
const key = keys2[i];
if (key === "_owner" && a.$$typeof) {
continue;
}
if (!deepEqual(a[key], b[key])) {
return false;
}
}
return true;
}
return a !== a && b !== b;
}
function getDPR(element) {
if (typeof window === "undefined") {
return 1;
}
const win = element.ownerDocument.defaultView || window;
return win.devicePixelRatio || 1;
}
function roundByDPR(element, value) {
const dpr = getDPR(element);
return Math.round(value * dpr) / dpr;
}
function useLatestRef(value) {
const ref = React9__namespace.useRef(value);
index(() => {
ref.current = value;
});
return ref;
}
function useFloating(options) {
if (options === void 0) {
options = {};
}
const {
placement = "bottom",
strategy = "absolute",
middleware = [],
platform: platform2,
elements: {
reference: externalReference,
floating: externalFloating
} = {},
transform = true,
whileElementsMounted,
open
} = options;
const [data, setData] = React9__namespace.useState({
x: 0,
y: 0,
strategy,
placement,
middlewareData: {},
isPositioned: false
});
const [latestMiddleware, setLatestMiddleware] = React9__namespace.useState(middleware);
if (!deepEqual(latestMiddleware, middleware)) {
setLatestMiddleware(middleware);
}
const [_reference, _setReference] = React9__namespace.useState(null);
const [_floating, _setFloating] = React9__namespace.useState(null);
const setReference = React9__namespace.useCallback((node) => {
if (node !== referenceRef.current) {
referenceRef.current = node;
_setReference(node);
}
}, []);
const setFloating = React9__namespace.useCallback((node) => {
if (node !== floatingRef.current) {
floatingRef.current = node;
_setFloating(node);
}
}, []);
const referenceEl = externalReference || _reference;
const floatingEl = externalFloating || _floating;
const referenceRef = React9__namespace.useRef(null);
const floatingRef = React9__namespace.useRef(null);
const dataRef = React9__namespace.useRef(data);
const hasWhileElementsMounted = whileElementsMounted != null;
const whileElementsMountedRef = useLatestRef(whileElementsMounted);
const platformRef = useLatestRef(platform2);
const openRef = useLatestRef(open);
const update = React9__namespace.useCallback(() => {
if (!referenceRef.current || !floatingRef.current) {
return;
}
const config = {
placement,
strategy,
middleware: latestMiddleware
};
if (platformRef.current) {
config.platform = platformRef.current;
}
computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {
const fullData = {
...data2,
// The floating element's position may be recomputed while it's closed
// but still mounted (such as when transitioning out). To ensure
// `isPositioned` will be `false` initially on the next open, avoid
// setting it to `true` when `open === false` (must be specified).
isPositioned: openRef.current !== false
};
if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
dataRef.current = fullData;
ReactDOM__namespace.flushSync(() => {
setData(fullData);
});
}
});
}, [latestMiddleware, placement, strategy, platformRef, openRef]);
index(() => {
if (open === false && dataRef.current.isPositioned) {
dataRef.current.isPositioned = false;
setData((data2) => ({
...data2,
isPositioned: false
}));
}
}, [open]);
const isMountedRef = React9__namespace.useRef(false);
index(() => {
isMountedRef.current = true;
return () => {
isMountedRef.current = false;
};
}, []);
index(() => {
if (referenceEl)
referenceRef.current = referenceEl;
if (floatingEl)
floatingRef.current = floatingEl;
if (referenceEl && floatingEl) {
if (whileElementsMountedRef.current) {
return whileElementsMountedRef.current(referenceEl, floatingEl, update);
}
update();
}
}, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);
const refs = React9__namespace.useMemo(() => ({
reference: referenceRef,
floating: floatingRef,
setReference,
setFloating
}), [setReference, setFloating]);
const elements = React9__namespace.useMemo(() => ({
reference: referenceEl,
floating: floatingEl
}), [referenceEl, floatingEl]);
const floatingStyles = React9__namespace.useMemo(() => {
const initialStyles = {
position: strategy,
left: 0,
top: 0
};
if (!elements.floating) {
return initialStyles;
}
const x = roundByDPR(elements.floating, data.x);
const y = roundByDPR(elements.floating, data.y);
if (transform) {
return {
...initialStyles,
transform: "translate(" + x + "px, " + y + "px)",
...getDPR(elements.floating) >= 1.5 && {
willChange: "transform"
}
};
}
return {
position: strategy,
left: x,
top: y
};
}, [strategy, transform, elements.floating, data.x, data.y]);
return React9__namespace.useMemo(() => ({
...data,
update,
refs,
elements,
floatingStyles
}), [data, update, refs, elements, floatingStyles]);
}
var arrow$1 = (options) => {
function isRef(value) {
return {}.hasOwnProperty.call(value, "current");
}
return {
name: "arrow",
options,
fn(state) {
const {
element,
padding
} = typeof options === "function" ? options(state) : options;
if (element && isRef(element)) {
if (element.current != null) {
return arrow2({
element: element.current,
padding
}).fn(state);
}
return {};
}
if (element) {
return arrow2({
element,
padding
}).fn(state);
}
return {};
}
};
};
var offset3 = (options, deps) => ({
...offset2(options),
options: [options, deps]
});
var shift3 = (options, deps) => ({
...shift2(options),
options: [options, deps]
});
var limitShift3 = (options, deps) => ({
...limitShift2(options),
options: [options, deps]
});
var flip3 = (options, deps) => ({
...flip2(options),
options: [options, deps]
});
var size3 = (options, deps) => ({
...size2(options),
options: [options, deps]
});
var inline3 = (options, deps) => ({
...inline2(options),
options: [options, deps]
});
var arrow3 = (options, deps) => ({
...arrow$1(options),
options: [options, deps]
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@floating-ui+react@0.26.24_react-dom@18.3.1_react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.mjs
var SafeReact = {
...React9__namespace
};
var useInsertionEffect = SafeReact.useInsertionEffect;
var useSafeInsertionEffect = useInsertionEffect || ((fn) => fn());
function useEffectEvent(callback) {
const ref = React9__namespace.useRef(() => {
{
throw new Error("Cannot call an event handler while rendering.");
}
});
useSafeInsertionEffect(() => {
ref.current = callback;
});
return React9__namespace.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);
}, []);
}
var index2 = typeof document !== "undefined" ? React9.useLayoutEffect : React9.useEffect;
var serverHandoffComplete = false;
var count = 0;
var genId = () => (
// Ensure the id is unique with multiple independent versions of Floating UI
// on <React 18
"floating-ui-" + Math.random().toString(36).slice(2, 6) + count++
);
function useFloatingId() {
const [id, setId] = React9__namespace.useState(() => serverHandoffComplete ? genId() : void 0);
index2(() => {
if (id == null) {
setId(genId());
}
}, []);
React9__namespace.useEffect(() => {
serverHandoffComplete = true;
}, []);
return id;
}
var useReactId = SafeReact.useId;
var useId2 = useReactId || useFloatingId;
var devMessageSet;
{
devMessageSet = /* @__PURE__ */ new Set();
}
function error() {
var _devMessageSet3;
for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
messages[_key2] = arguments[_key2];
}
const message = "Floating UI: " + messages.join(" ");
if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {
var _devMessageSet4;
(_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);
console.error(message);
}
}
function createPubSub() {
const map = /* @__PURE__ */ new Map();
return {
emit(event, data) {
var _map$get;
(_map$get = map.get(event)) == null || _map$get.forEach((handler) => handler(data));
},
on(event, listener) {
map.set(event, [...map.get(event) || [], listener]);
},
off(event, listener) {
var _map$get2;
map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter((l) => l !== listener)) || []);
}
};
}
var FloatingNodeContext = /* @__PURE__ */ React9__namespace.createContext(null);
var FloatingTreeContext = /* @__PURE__ */ React9__namespace.createContext(null);
var useFloatingParentNodeId = () => {
var _React$useContext;
return ((_React$useContext = React9__namespace.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;
};
var useFloatingTree = () => React9__namespace.useContext(FloatingTreeContext);
function createAttribute(name) {
return "data-floating-ui-" + name;
}
function useLatestRef2(value) {
const ref = React9.useRef(value);
index2(() => {
ref.current = value;
});
return ref;
}
var safePolygonIdentifier = /* @__PURE__ */ createAttribute("safe-polygon");
function getDelay(value, prop, pointerType) {
if (pointerType && !isMouseLikePointerType(pointerType)) {
return 0;
}
if (typeof value === "number") {
return value;
}
return value == null ? void 0 : value[prop];
}
function useHover(context, props) {
if (props === void 0) {
props = {};
}
const {
open,
onOpenChange,
dataRef,
events,
elements
} = context;
const {
enabled = true,
delay = 0,
handleClose = null,
mouseOnly = false,
restMs = 0,
move = true
} = props;
const tree = useFloatingTree();
const parentId = useFloatingParentNodeId();
const handleCloseRef = useLatestRef2(handleClose);
const delayRef = useLatestRef2(delay);
const openRef = useLatestRef2(open);
const pointerTypeRef = React9__namespace.useRef();
const timeoutRef = React9__namespace.useRef(-1);
const handlerRef = React9__namespace.useRef();
const restTimeoutRef = React9__namespace.useRef(-1);
const blockMouseMoveRef = React9__namespace.useRef(true);
const performedPointerEventsMutationRef = React9__namespace.useRef(false);
const unbindMouseMoveRef = React9__namespace.useRef(() => {
});
const isHoverOpen = React9__namespace.useCallback(() => {
var _dataRef$current$open;
const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;
return (type == null ? void 0 : type.includes("mouse")) && type !== "mousedown";
}, [dataRef]);
React9__namespace.useEffect(() => {
if (!enabled)
return;
function onOpenChange2(_ref) {
let {
open: open2
} = _ref;
if (!open2) {
clearTimeout(timeoutRef.current);
clearTimeout(restTimeoutRef.current);
blockMouseMoveRef.current = true;
}
}
events.on("openchange", onOpenChange2);
return () => {
events.off("openchange", onOpenChange2);
};
}, [enabled, events]);
React9__namespace.useEffect(() => {
if (!enabled)
return;
if (!handleCloseRef.current)
return;
if (!open)
return;
function onLeave(event) {
if (isHoverOpen()) {
onOpenChange(false, event, "hover");
}
}
const html = getDocument(elements.floating).documentElement;
html.addEventListener("mouseleave", onLeave);
return () => {
html.removeEventListener("mouseleave", onLeave);
};
}, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);
const closeWithDelay = React9__namespace.useCallback(function(event, runElseBranch, reason) {
if (runElseBranch === void 0) {
runElseBranch = true;
}
if (reason === void 0) {
reason = "hover";
}
const closeDelay = getDelay(delayRef.current, "close", pointerTypeRef.current);
if (closeDelay && !handlerRef.current) {
clearTimeout(timeoutRef.current);
timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);
} else if (runElseBranch) {
clearTimeout(timeoutRef.current);
onOpenChange(false, event, reason);
}
}, [delayRef, onOpenChange]);
const cleanupMouseMoveHandler = useEffectEvent(() => {
unbindMouseMoveRef.current();
handlerRef.current = void 0;
});
const clearPointerEvents = useEffectEvent(() => {
if (performedPointerEventsMutationRef.current) {
const body = getDocument(elements.floating).body;
body.style.pointerEvents = "";
body.removeAttribute(safePolygonIdentifier);
performedPointerEventsMutationRef.current = false;
}
});
React9__namespace.useEffect(() => {
if (!enabled)
return;
function isClickLikeOpenEvent() {
return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
}
function onMouseEnter(event) {
clearTimeout(timeoutRef.current);
blockMouseMoveRef.current = false;
if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMs > 0 && !getDelay(delayRef.current, "open")) {
return;
}
const openDelay = getDelay(delayRef.current, "open", pointerTypeRef.current);
if (openDelay) {
timeoutRef.current = window.setTimeout(() => {
if (!openRef.current) {
onOpenChange(true, event, "hover");
}
}, openDelay);
} else {
onOpenChange(true, event, "hover");
}
}
function onMouseLeave(event) {
if (isClickLikeOpenEvent())
return;
unbindMouseMoveRef.current();
const doc = getDocument(elements.floating);
clearTimeout(restTimeoutRef.current);
if (handleCloseRef.current && dataRef.current.floatingContext) {
if (!open) {
clearTimeout(timeoutRef.current);
}
handlerRef.current = handleCloseRef.current({
...dataRef.current.floatingContext,
tree,
x: event.clientX,
y: event.clientY,
onClose() {
clearPointerEvents();
cleanupMouseMoveHandler();
closeWithDelay(event, true, "safe-polygon");
}
});
const handler = handlerRef.current;
doc.addEventListener("mousemove", handler);
unbindMouseMoveRef.current = () => {
doc.removeEventListener("mousemove", handler);
};
return;
}
const shouldClose = pointerTypeRef.current === "touch" ? !contains(elements.floating, event.relatedTarget) : true;
if (shouldClose) {
closeWithDelay(event);
}
}
function onScrollMouseLeave(event) {
if (isClickLikeOpenEvent())
return;
if (!dataRef.current.floatingContext)
return;
handleCloseRef.current == null || handleCloseRef.current({
...dataRef.current.floatingContext,
tree,
x: event.clientX,
y: event.clientY,
onClose() {
clearPointerEvents();
cleanupMouseMoveHandler();
closeWithDelay(event);
}
})(event);
}
if (isElement2(elements.domReference)) {
var _elements$floating;
const ref = elements.domReference;
open && ref.addEventListener("mouseleave", onScrollMouseLeave);
(_elements$floating = elements.floating) == null || _elements$floating.addEventListener("mouseleave", onScrollMouseLeave);
move && ref.addEventListener("mousemove", onMouseEnter, {
once: true
});
ref.addEventListener("mouseenter", onMouseEnter);
ref.addEventListener("mouseleave", onMouseLeave);
return () => {
var _elements$floating2;
open && ref.removeEventListener("mouseleave", onScrollMouseLeave);
(_elements$floating2 = elements.floating) == null || _elements$floating2.removeEventListener("mouseleave", onScrollMouseLeave);
move && ref.removeEventListener("mousemove", onMouseEnter);
ref.removeEventListener("mouseenter", onMouseEnter);
ref.removeEventListener("mouseleave", onMouseLeave);
};
}
}, [elements, enabled, context, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef]);
index2(() => {
var _handleCloseRef$curre;
if (!enabled)
return;
if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {
performedPointerEventsMutationRef.current = true;
const floatingEl = elements.floating;
if (isElement2(elements.domReference) && floatingEl) {
var _tree$nodesRef$curren;
const body = getDocument(elements.floating).body;
body.setAttribute(safePolygonIdentifier, "");
const ref = elements.domReference;
const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find((node) => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;
if (parentFloating) {
parentFloating.style.pointerEvents = "";
}
body.style.pointerEvents = "none";
ref.style.pointerEvents = "auto";
floatingEl.style.pointerEvents = "auto";
return () => {
body.style.pointerEvents = "";
ref.style.pointerEvents = "";
floatingEl.style.pointerEvents = "";
};
}
}
}, [enabled, open, parentId, elements, tree, handleCloseRef, isHoverOpen]);
index2(() => {
if (!open) {
pointerTypeRef.current = void 0;
cleanupMouseMoveHandler();
clearPointerEvents();
}
}, [open, cleanupMouseMoveHandler, clearPointerEvents]);
React9__namespace.useEffect(() => {
return () => {
cleanupMouseMoveHandler();
clearTimeout(timeoutRef.current);
clearTimeout(restTimeoutRef.current);
clearPointerEvents();
};
}, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]);
const reference = React9__namespace.useMemo(() => {
function setPointerRef(event) {
pointerTypeRef.current = event.pointerType;
}
return {
onPointerDown: setPointerRef,
onPointerEnter: setPointerRef,
onMouseMove(event) {
const {
nativeEvent
} = event;
function handleMouseMove() {
if (!blockMouseMoveRef.current && !openRef.current) {
onOpenChange(true, nativeEvent, "hover");
}
}
if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {
return;
}
if (open || restMs === 0) {
return;
}
clearTimeout(restTimeoutRef.current);
if (pointerTypeRef.current === "touch") {
handleMouseMove();
} else {
restTimeoutRef.current = window.setTimeout(handleMouseMove, restMs);
}
}
};
}, [mouseOnly, onOpenChange, open, openRef, restMs]);
const floating = React9__namespace.useMemo(() => ({
onMouseEnter() {
clearTimeout(timeoutRef.current);
},
onMouseLeave(event) {
closeWithDelay(event.nativeEvent, false);
}
}), [closeWithDelay]);
return React9__namespace.useMemo(() => enabled ? {
reference,
floating
} : {}, [enabled, reference, floating]);
}
var NOOP = () => {
};
var FloatingDelayGroupContext = /* @__PURE__ */ React9__namespace.createContext({
delay: 0,
initialDelay: 0,
timeoutMs: 0,
currentId: null,
setCurrentId: NOOP,
setState: NOOP,
isInstantPhase: false
});
var useDelayGroupContext = () => React9__namespace.useContext(FloatingDelayGroupContext);
function FloatingDelayGroup(props) {
const {
children,
delay,
timeoutMs = 0
} = props;
const [state, setState] = React9__namespace.useReducer((prev, next) => ({
...prev,
...next
}), {
delay,
timeoutMs,
initialDelay: delay,
currentId: null,
isInstantPhase: false
});
const initialCurrentIdRef = React9__namespace.useRef(null);
const setCurrentId = React9__namespace.useCallback((currentId) => {
setState({
currentId
});
}, []);
index2(() => {
if (state.currentId) {
if (initialCurrentIdRef.current === null) {
initialCurrentIdRef.current = state.currentId;
} else if (!state.isInstantPhase) {
setState({
isInstantPhase: true
});
}
} else {
if (state.isInstantPhase) {
setState({
isInstantPhase: false
});
}
initialCurrentIdRef.current = null;
}
}, [state.currentId, state.isInstantPhase]);
return /* @__PURE__ */ React9__namespace.createElement(FloatingDelayGroupContext.Provider, {
value: React9__namespace.useMemo(() => ({
...state,
setState,
setCurrentId
}), [state, setCurrentId])
}, children);
}
function useDelayGroup(context, options) {
if (options === void 0) {
options = {};
}
const {
open,
onOpenChange,
floatingId
} = context;
const {
id: optionId
} = options;
const id = optionId != null ? optionId : floatingId;
const groupContext = useDelayGroupContext();
const {
currentId,
setCurrentId,
initialDelay,
setState,
timeoutMs
} = groupContext;
index2(() => {
if (!currentId)
return;
setState({
delay: {
open: 1,
close: getDelay(initialDelay, "close")
}
});
if (currentId !== id) {
onOpenChange(false);
}
}, [id, onOpenChange, setState, currentId, initialDelay]);
index2(() => {
function unset() {
onOpenChange(false);
setState({
delay: initialDelay,
currentId: null
});
}
if (!currentId)
return;
if (!open && currentId === id) {
if (timeoutMs) {
const timeout = window.setTimeout(unset, timeoutMs);
return () => {
clearTimeout(timeout);
};
}
unset();
}
}, [open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);
index2(() => {
if (setCurrentId === NOOP || !open)
return;
setCurrentId(id);
}, [open, setCurrentId, id]);
return groupContext;
}
function getChildren(nodes, id) {
let allChildren = nodes.filter((node) => {
var _node$context;
return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);
});
let currentChildren = allChildren;
while (currentChildren.length) {
currentChildren = nodes.filter((node) => {
var _currentChildren;
return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some((n) => {
var _node$context2;
return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);
});
});
allChildren = allChildren.concat(currentChildren);
}
return allChildren;
}
var FOCUSABLE_ATTRIBUTE = "data-floating-ui-focusable";
var bubbleHandlerKeys = {
pointerdown: "onPointerDown",
mousedown: "onMouseDown",
click: "onClick"
};
var captureHandlerKeys = {
pointerdown: "onPointerDownCapture",
mousedown: "onMouseDownCapture",
click: "onClickCapture"
};
var normalizeProp = (normalizable) => {
var _normalizable$escapeK, _normalizable$outside;
return {
escapeKey: typeof normalizable === "boolean" ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,
outsidePress: typeof normalizable === "boolean" ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true
};
};
function useDismiss(context, props) {
if (props === void 0) {
props = {};
}
const {
open,
onOpenChange,
elements,
dataRef
} = context;
const {
enabled = true,
escapeKey = true,
outsidePress: unstable_outsidePress = true,
outsidePressEvent = "pointerdown",
referencePress = false,
referencePressEvent = "pointerdown",
ancestorScroll = false,
bubbles,
capture
} = props;
const tree = useFloatingTree();
const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === "function" ? unstable_outsidePress : () => false);
const outsidePress = typeof unstable_outsidePress === "function" ? outsidePressFn : unstable_outsidePress;
const insideReactTreeRef = React9__namespace.useRef(false);
const endedOrStartedInsideRef = React9__namespace.useRef(false);
const {
escapeKey: escapeKeyBubbles,
outsidePress: outsidePressBubbles
} = normalizeProp(bubbles);
const {
escapeKey: escapeKeyCapture,
outsidePress: outsidePressCapture
} = normalizeProp(capture);
const closeOnEscapeKeyDown = useEffectEvent((event) => {
var _dataRef$current$floa;
if (!open || !enabled || !escapeKey || event.key !== "Escape") {
return;
}
const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;
const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];
if (!escapeKeyBubbles) {
event.stopPropagation();
if (children.length > 0) {
let shouldDismiss = true;
children.forEach((child) => {
var _child$context;
if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {
shouldDismiss = false;
return;
}
});
if (!shouldDismiss) {
return;
}
}
}
onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, "escape-key");
});
const closeOnEscapeKeyDownCapture = useEffectEvent((event) => {
var _getTarget2;
const callback = () => {
var _getTarget;
closeOnEscapeKeyDown(event);
(_getTarget = getTarget(event)) == null || _getTarget.removeEventListener("keydown", callback);
};
(_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener("keydown", callback);
});
const closeOnPressOutside = useEffectEvent((event) => {
var _dataRef$current$floa2;
const insideReactTree = insideReactTreeRef.current;
insideReactTreeRef.current = false;
const endedOrStartedInside = endedOrStartedInsideRef.current;
endedOrStartedInsideRef.current = false;
if (outsidePressEvent === "click" && endedOrStartedInside) {
return;
}
if (insideReactTree) {
return;
}
if (typeof outsidePress === "function" && !outsidePress(event)) {
return;
}
const target = getTarget(event);
const inertSelector = "[" + createAttribute("inert") + "]";
const markers = getDocument(elements.floating).querySelectorAll(inertSelector);
let targetRootAncestor = isElement2(target) ? target : null;
while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
const nextParent = getParentNode(targetRootAncestor);
if (isLastTraversableNode(nextParent) || !isElement2(nextParent)) {
break;
}
targetRootAncestor = nextParent;
}
if (markers.length && isElement2(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
!contains(target, elements.floating) && // If the target root element contains none of the markers, then the
// element was injected after the floating element rendered.
Array.from(markers).every((marker) => !contains(targetRootAncestor, marker))) {
return;
}
if (isHTMLElement(target) && floating) {
const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
let xCond = canScrollY && event.offsetX > target.clientWidth;
if (canScrollY) {
const isRTL2 = getComputedStyle2(target).direction === "rtl";
if (isRTL2) {
xCond = event.offsetX <= target.offsetWidth - target.clientWidth;
}
}
if (xCond || canScrollX && event.offsetY > target.clientHeight) {
return;
}
}
const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;
const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some((node) => {
var _node$context;
return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);
});
if (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) {
return;
}
const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];
if (children.length > 0) {
let shouldDismiss = true;
children.forEach((child) => {
var _child$context2;
if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {
shouldDismiss = false;
return;
}
});
if (!shouldDismiss) {
return;
}
}
onOpenChange(false, event, "outside-press");
});
const closeOnPressOutsideCapture = useEffectEvent((event) => {
var _getTarget4;
const callback = () => {
var _getTarget3;
closeOnPressOutside(event);
(_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);
};
(_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);
});
React9__namespace.useEffect(() => {
if (!open || !enabled) {
return;
}
dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
dataRef.current.__outsidePressBubbles = outsidePressBubbles;
function onScroll(event) {
onOpenChange(false, event, "ancestor-scroll");
}
const doc = getDocument(elements.floating);
escapeKey && doc.addEventListener("keydown", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);
outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);
let ancestors = [];
if (ancestorScroll) {
if (isElement2(elements.domReference)) {
ancestors = getOverflowAncestors(elements.domReference);
}
if (isElement2(elements.floating)) {
ancestors = ancestors.concat(getOverflowAncestors(elements.floating));
}
if (!isElement2(elements.reference) && elements.reference && elements.reference.contextElement) {
ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));
}
}
ancestors = ancestors.filter((ancestor) => {
var _doc$defaultView;
return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);
});
ancestors.forEach((ancestor) => {
ancestor.addEventListener("scroll", onScroll, {
passive: true
});
});
return () => {
escapeKey && doc.removeEventListener("keydown", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);
outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);
ancestors.forEach((ancestor) => {
ancestor.removeEventListener("scroll", onScroll);
});
};
}, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);
React9__namespace.useEffect(() => {
insideReactTreeRef.current = false;
}, [outsidePress, outsidePressEvent]);
const reference = React9__namespace.useMemo(() => ({
onKeyDown: closeOnEscapeKeyDown,
[bubbleHandlerKeys[referencePressEvent]]: (event) => {
if (referencePress) {
onOpenChange(false, event.nativeEvent, "reference-press");
}
}
}), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);
const floating = React9__namespace.useMemo(() => ({
onKeyDown: closeOnEscapeKeyDown,
onMouseDown() {
endedOrStartedInsideRef.current = true;
},
onMouseUp() {
endedOrStartedInsideRef.current = true;
},
[captureHandlerKeys[outsidePressEvent]]: () => {
insideReactTreeRef.current = true;
}
}), [closeOnEscapeKeyDown, outsidePressEvent]);
return React9__namespace.useMemo(() => enabled ? {
reference,
floating
} : {}, [enabled, reference, floating]);
}
function useFloatingRootContext(options) {
const {
open = false,
onOpenChange: onOpenChangeProp,
elements: elementsProp
} = options;
const floatingId = useId2();
const dataRef = React9__namespace.useRef({});
const [events] = React9__namespace.useState(() => createPubSub());
const nested = useFloatingParentNodeId() != null;
{
const optionDomReference = elementsProp.reference;
if (optionDomReference && !isElement2(optionDomReference)) {
error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead.");
}
}
const [positionReference, setPositionReference] = React9__namespace.useState(elementsProp.reference);
const onOpenChange = useEffectEvent((open2, event, reason) => {
dataRef.current.openEvent = open2 ? event : void 0;
events.emit("openchange", {
open: open2,
event,
reason,
nested
});
onOpenChangeProp == null || onOpenChangeProp(open2, event, reason);
});
const refs = React9__namespace.useMemo(() => ({
setPositionReference
}), []);
const elements = React9__namespace.useMemo(() => ({
reference: positionReference || elementsProp.reference || null,
floating: elementsProp.floating || null,
domReference: elementsProp.reference
}), [positionReference, elementsProp.reference, elementsProp.floating]);
return React9__namespace.useMemo(() => ({
dataRef,
open,
onOpenChange,
elements,
events,
floatingId,
refs
}), [open, onOpenChange, elements, events, floatingId, refs]);
}
function useFloating2(options) {
if (options === void 0) {
options = {};
}
const {
nodeId
} = options;
const internalRootContext = useFloatingRootContext({
...options,
elements: {
reference: null,
floating: null,
...options.elements
}
});
const rootContext = options.rootContext || internalRootContext;
const computedElements = rootContext.elements;
const [_domReference, setDomReference] = React9__namespace.useState(null);
const [positionReference, _setPositionReference] = React9__namespace.useState(null);
const optionDomReference = computedElements == null ? void 0 : computedElements.reference;
const domReference = optionDomReference || _domReference;
const domReferenceRef = React9__namespace.useRef(null);
const tree = useFloatingTree();
index2(() => {
if (domReference) {
domReferenceRef.current = domReference;
}
}, [domReference]);
const position = useFloating({
...options,
elements: {
...computedElements,
...positionReference && {
reference: positionReference
}
}
});
const setPositionReference = React9__namespace.useCallback((node) => {
const computedPositionReference = isElement2(node) ? {
getBoundingClientRect: () => node.getBoundingClientRect(),
contextElement: node
} : node;
_setPositionReference(computedPositionReference);
position.refs.setReference(computedPositionReference);
}, [position.refs]);
const setReference = React9__namespace.useCallback((node) => {
if (isElement2(node) || node === null) {
domReferenceRef.current = node;
setDomReference(node);
}
if (isElement2(position.refs.reference.current) || position.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
// `null` to support `positionReference` + an unstable `reference`
// callback ref.
node !== null && !isElement2(node)) {
position.refs.setReference(node);
}
}, [position.refs]);
const refs = React9__namespace.useMemo(() => ({
...position.refs,
setReference,
setPositionReference,
domReference: domReferenceRef
}), [position.refs, setReference, setPositionReference]);
const elements = React9__namespace.useMemo(() => ({
...position.elements,
domReference
}), [position.elements, domReference]);
const context = React9__namespace.useMemo(() => ({
...position,
...rootContext,
refs,
elements,
nodeId
}), [position, refs, elements, nodeId, rootContext]);
index2(() => {
rootContext.dataRef.current.floatingContext = context;
const node = tree == null ? void 0 : tree.nodesRef.current.find((node2) => node2.id === nodeId);
if (node) {
node.context = context;
}
});
return React9__namespace.useMemo(() => ({
...position,
context,
refs,
elements
}), [position, refs, elements, context]);
}
function useFocus(context, props) {
if (props === void 0) {
props = {};
}
const {
open,
onOpenChange,
events,
dataRef,
elements
} = context;
const {
enabled = true,
visibleOnly = true
} = props;
const blockFocusRef = React9__namespace.useRef(false);
const timeoutRef = React9__namespace.useRef();
const keyboardModalityRef = React9__namespace.useRef(true);
React9__namespace.useEffect(() => {
if (!enabled)
return;
const win = getWindow(elements.domReference);
function onBlur() {
if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))) {
blockFocusRef.current = true;
}
}
function onKeyDown() {
keyboardModalityRef.current = true;
}
win.addEventListener("blur", onBlur);
win.addEventListener("keydown", onKeyDown, true);
return () => {
win.removeEventListener("blur", onBlur);
win.removeEventListener("keydown", onKeyDown, true);
};
}, [elements.domReference, open, enabled]);
React9__namespace.useEffect(() => {
if (!enabled)
return;
function onOpenChange2(_ref) {
let {
reason
} = _ref;
if (reason === "reference-press" || reason === "escape-key") {
blockFocusRef.current = true;
}
}
events.on("openchange", onOpenChange2);
return () => {
events.off("openchange", onOpenChange2);
};
}, [events, enabled]);
React9__namespace.useEffect(() => {
return () => {
clearTimeout(timeoutRef.current);
};
}, []);
const reference = React9__namespace.useMemo(() => ({
onPointerDown(event) {
if (isVirtualPointerEvent(event.nativeEvent))
return;
keyboardModalityRef.current = false;
},
onMouseLeave() {
blockFocusRef.current = false;
},
onFocus(event) {
if (blockFocusRef.current)
return;
const target = getTarget(event.nativeEvent);
if (visibleOnly && isElement2(target)) {
try {
if (isSafari() && isMac())
throw Error();
if (!target.matches(":focus-visible"))
return;
} catch (e) {
if (!keyboardModalityRef.current && !isTypeableElement(target)) {
return;
}
}
}
onOpenChange(true, event.nativeEvent, "focus");
},
onBlur(event) {
blockFocusRef.current = false;
const relatedTarget = event.relatedTarget;
const nativeEvent = event.nativeEvent;
const movedToFocusGuard = isElement2(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside";
timeoutRef.current = window.setTimeout(() => {
var _dataRef$current$floa;
const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);
if (!relatedTarget && activeEl === elements.domReference)
return;
if (contains((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains(elements.domReference, activeEl) || movedToFocusGuard) {
return;
}
onOpenChange(false, nativeEvent, "focus");
});
}
}), [dataRef, elements.domReference, onOpenChange, visibleOnly]);
return React9__namespace.useMemo(() => enabled ? {
reference
} : {}, [enabled, reference]);
}
var ACTIVE_KEY = "active";
var SELECTED_KEY = "selected";
function mergeProps(userProps, propsList, elementKey) {
const map = /* @__PURE__ */ new Map();
const isItem = elementKey === "item";
let domUserProps = userProps;
if (isItem && userProps) {
const {
[ACTIVE_KEY]: _,
[SELECTED_KEY]: __,
...validProps
} = userProps;
domUserProps = validProps;
}
return {
...elementKey === "floating" && {
tabIndex: -1,
[FOCUSABLE_ATTRIBUTE]: ""
},
...domUserProps,
...propsList.map((value) => {
const propsOrGetProps = value ? value[elementKey] : null;
if (typeof propsOrGetProps === "function") {
return userProps ? propsOrGetProps(userProps) : null;
}
return propsOrGetProps;
}).concat(userProps).reduce((acc, props) => {
if (!props) {
return acc;
}
Object.entries(props).forEach((_ref) => {
let [key, value] = _ref;
if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {
return;
}
if (key.indexOf("on") === 0) {
if (!map.has(key)) {
map.set(key, []);
}
if (typeof value === "function") {
var _map$get;
(_map$get = map.get(key)) == null || _map$get.push(value);
acc[key] = function() {
var _map$get2;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map((fn) => fn(...args)).find((val) => val !== void 0);
};
}
} else {
acc[key] = value;
}
});
return acc;
}, {})
};
}
function useInteractions(propsList) {
if (propsList === void 0) {
propsList = [];
}
const referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference);
const floatingDeps = propsList.map((key) => key == null ? void 0 : key.floating);
const itemDeps = propsList.map((key) => key == null ? void 0 : key.item);
const getReferenceProps = React9__namespace.useCallback(
(userProps) => mergeProps(userProps, propsList, "reference"),
// eslint-disable-next-line react-hooks/exhaustive-deps
referenceDeps
);
const getFloatingProps = React9__namespace.useCallback(
(userProps) => mergeProps(userProps, propsList, "floating"),
// eslint-disable-next-line react-hooks/exhaustive-deps
floatingDeps
);
const getItemProps = React9__namespace.useCallback(
(userProps) => mergeProps(userProps, propsList, "item"),
// eslint-disable-next-line react-hooks/exhaustive-deps
itemDeps
);
return React9__namespace.useMemo(() => ({
getReferenceProps,
getFloatingProps,
getItemProps
}), [getReferenceProps, getFloatingProps, getItemProps]);
}
var componentRoleToAriaRoleMap = /* @__PURE__ */ new Map([["select", "listbox"], ["combobox", "listbox"], ["label", false]]);
function useRole(context, props) {
var _componentRoleToAriaR;
if (props === void 0) {
props = {};
}
const {
open,
floatingId
} = context;
const {
enabled = true,
role = "dialog"
} = props;
const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;
const referenceId = useId2();
const parentId = useFloatingParentNodeId();
const isNested = parentId != null;
const reference = React9__namespace.useMemo(() => {
if (ariaRole === "tooltip" || role === "label") {
return {
["aria-" + (role === "label" ? "labelledby" : "describedby")]: open ? floatingId : void 0
};
}
return {
"aria-expanded": open ? "true" : "false",
"aria-haspopup": ariaRole === "alertdialog" ? "dialog" : ariaRole,
"aria-controls": open ? floatingId : void 0,
...ariaRole === "listbox" && {
role: "combobox"
},
...ariaRole === "menu" && {
id: referenceId
},
...ariaRole === "menu" && isNested && {
role: "menuitem"
},
...role === "select" && {
"aria-autocomplete": "none"
},
...role === "combobox" && {
"aria-autocomplete": "list"
}
};
}, [ariaRole, floatingId, isNested, open, referenceId, role]);
const floating = React9__namespace.useMemo(() => {
const floatingProps = {
id: floatingId,
...ariaRole && {
role: ariaRole
}
};
if (ariaRole === "tooltip" || role === "label") {
return floatingProps;
}
return {
...floatingProps,
...ariaRole === "menu" && {
"aria-labelledby": referenceId
}
};
}, [ariaRole, floatingId, referenceId, role]);
const item = React9__namespace.useCallback((_ref) => {
let {
active,
selected
} = _ref;
const commonProps = {
role: "option",
...active && {
id: floatingId + "-option"
}
};
switch (role) {
case "select":
return {
...commonProps,
"aria-selected": active && selected
};
case "combobox": {
return {
...commonProps,
...active && {
"aria-selected": true
}
};
}
}
return {};
}, [floatingId, role]);
return React9__namespace.useMemo(() => enabled ? {
reference,
floating,
item
} : {}, [enabled, reference, floating, item]);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Floating/get-floating-position/get-floating-position.mjs
function getFloatingPosition(dir, position) {
if (dir === "rtl" && (position.includes("right") || position.includes("left"))) {
const [side, placement] = position.split("-");
const flippedPosition = side === "right" ? "left" : "right";
return placement === void 0 ? flippedPosition : `${flippedPosition}-${placement}`;
}
return position;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Floating/FloatingArrow/get-arrow-position-styles.mjs
function horizontalSide(placement, arrowY, arrowOffset, arrowPosition) {
if (placement === "center" || arrowPosition === "center") {
return { top: arrowY };
}
if (placement === "end") {
return { bottom: arrowOffset };
}
if (placement === "start") {
return { top: arrowOffset };
}
return {};
}
function verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir) {
if (placement === "center" || arrowPosition === "center") {
return { left: arrowX };
}
if (placement === "end") {
return { [dir === "ltr" ? "right" : "left"]: arrowOffset };
}
if (placement === "start") {
return { [dir === "ltr" ? "left" : "right"]: arrowOffset };
}
return {};
}
var radiusByFloatingSide = {
bottom: "borderTopLeftRadius",
left: "borderTopRightRadius",
right: "borderBottomLeftRadius",
top: "borderBottomRightRadius"
};
function getArrowPositionStyles({
position,
arrowSize,
arrowOffset,
arrowRadius,
arrowPosition,
arrowX,
arrowY,
dir
}) {
const [side, placement = "center"] = position.split("-");
const baseStyles = {
width: arrowSize,
height: arrowSize,
transform: "rotate(45deg)",
position: "absolute",
[radiusByFloatingSide[side]]: arrowRadius
};
const arrowPlacement = -arrowSize / 2;
if (side === "left") {
return {
...baseStyles,
...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),
right: arrowPlacement,
borderLeftColor: "transparent",
borderBottomColor: "transparent"
};
}
if (side === "right") {
return {
...baseStyles,
...horizontalSide(placement, arrowY, arrowOffset, arrowPosition),
left: arrowPlacement,
borderRightColor: "transparent",
borderTopColor: "transparent"
};
}
if (side === "top") {
return {
...baseStyles,
...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),
bottom: arrowPlacement,
borderTopColor: "transparent",
borderLeftColor: "transparent"
};
}
if (side === "bottom") {
return {
...baseStyles,
...verticalSide(placement, arrowX, arrowOffset, arrowPosition, dir),
top: arrowPlacement,
borderBottomColor: "transparent",
borderRightColor: "transparent"
};
}
return {};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Floating/FloatingArrow/FloatingArrow.mjs
var FloatingArrow = React9.forwardRef(
({
position,
arrowSize,
arrowOffset,
arrowRadius,
arrowPosition,
visible,
arrowX,
arrowY,
style,
...others
}, ref) => {
const { dir } = useDirection();
if (!visible) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...others,
ref,
style: {
...style,
...getArrowPositionStyles({
position,
arrowSize,
arrowOffset,
arrowRadius,
arrowPosition,
dir,
arrowX,
arrowY
})
}
}
);
}
);
FloatingArrow.displayName = "@mantine/core/FloatingArrow";
var [PopoverContextProvider, usePopoverContext] = createSafeContext(
"Popover component was not found in the tree"
);
function FocusTrap({
children,
active = true,
refProp = "ref",
innerRef
}) {
const focusTrapRef = hooks.useFocusTrap(active);
const ref = hooks.useMergedRef(focusTrapRef, innerRef);
if (!isElement(children)) {
return children;
}
return React9.cloneElement(children, { [refProp]: ref });
}
function FocusTrapInitialFocus(props) {
return /* @__PURE__ */ jsxRuntime.jsx(VisuallyHidden, { tabIndex: -1, "data-autofocus": true, ...props });
}
FocusTrap.displayName = "@mantine/core/FocusTrap";
FocusTrapInitialFocus.displayName = "@mantine/core/FocusTrapInitialFocus";
FocusTrap.InitialFocus = FocusTrapInitialFocus;
function createPortalNode(props) {
const node = document.createElement("div");
node.setAttribute("data-portal", "true");
typeof props.className === "string" && node.classList.add(...props.className.split(" ").filter(Boolean));
typeof props.style === "object" && Object.assign(node.style, props.style);
typeof props.id === "string" && node.setAttribute("id", props.id);
return node;
}
var defaultProps7 = {};
var Portal = React9.forwardRef((props, ref) => {
const { children, target, ...others } = useProps("Portal", defaultProps7, props);
const [mounted, setMounted] = React9.useState(false);
const nodeRef = React9.useRef(null);
hooks.useIsomorphicEffect(() => {
setMounted(true);
nodeRef.current = !target ? createPortalNode(others) : typeof target === "string" ? document.querySelector(target) : target;
hooks.assignRef(ref, nodeRef.current);
if (!target && nodeRef.current) {
document.body.appendChild(nodeRef.current);
}
return () => {
if (!target && nodeRef.current) {
document.body.removeChild(nodeRef.current);
}
};
}, [target]);
if (!mounted || !nodeRef.current) {
return null;
}
return ReactDOM.createPortal(/* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }), nodeRef.current);
});
Portal.displayName = "@mantine/core/Portal";
function OptionalPortal({ withinPortal = true, children, ...others }) {
if (withinPortal) {
return /* @__PURE__ */ jsxRuntime.jsx(Portal, { ...others, children });
}
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
}
OptionalPortal.displayName = "@mantine/core/OptionalPortal";
var popIn = (from) => ({
in: { opacity: 1, transform: "scale(1)" },
out: { opacity: 0, transform: `scale(.9) translateY(${rem(from === "bottom" ? 10 : -10)})` },
transitionProperty: "transform, opacity"
});
var transitions = {
fade: {
in: { opacity: 1 },
out: { opacity: 0 },
transitionProperty: "opacity"
},
"fade-up": {
in: { opacity: 1, transform: "translateY(0)" },
out: { opacity: 0, transform: `translateY(${rem(30)}` },
transitionProperty: "opacity, transform"
},
"fade-down": {
in: { opacity: 1, transform: "translateY(0)" },
out: { opacity: 0, transform: `translateY(${rem(-30)}` },
transitionProperty: "opacity, transform"
},
"fade-left": {
in: { opacity: 1, transform: "translateX(0)" },
out: { opacity: 0, transform: `translateX(${rem(30)}` },
transitionProperty: "opacity, transform"
},
"fade-right": {
in: { opacity: 1, transform: "translateX(0)" },
out: { opacity: 0, transform: `translateX(${rem(-30)}` },
transitionProperty: "opacity, transform"
},
scale: {
in: { opacity: 1, transform: "scale(1)" },
out: { opacity: 0, transform: "scale(0)" },
common: { transformOrigin: "top" },
transitionProperty: "transform, opacity"
},
"scale-y": {
in: { opacity: 1, transform: "scaleY(1)" },
out: { opacity: 0, transform: "scaleY(0)" },
common: { transformOrigin: "top" },
transitionProperty: "transform, opacity"
},
"scale-x": {
in: { opacity: 1, transform: "scaleX(1)" },
out: { opacity: 0, transform: "scaleX(0)" },
common: { transformOrigin: "left" },
transitionProperty: "transform, opacity"
},
"skew-up": {
in: { opacity: 1, transform: "translateY(0) skew(0deg, 0deg)" },
out: { opacity: 0, transform: `translateY(${rem(-20)}) skew(-10deg, -5deg)` },
common: { transformOrigin: "top" },
transitionProperty: "transform, opacity"
},
"skew-down": {
in: { opacity: 1, transform: "translateY(0) skew(0deg, 0deg)" },
out: { opacity: 0, transform: `translateY(${rem(20)}) skew(-10deg, -5deg)` },
common: { transformOrigin: "bottom" },
transitionProperty: "transform, opacity"
},
"rotate-left": {
in: { opacity: 1, transform: "translateY(0) rotate(0deg)" },
out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(-5deg)` },
common: { transformOrigin: "bottom" },
transitionProperty: "transform, opacity"
},
"rotate-right": {
in: { opacity: 1, transform: "translateY(0) rotate(0deg)" },
out: { opacity: 0, transform: `translateY(${rem(20)}) rotate(5deg)` },
common: { transformOrigin: "top" },
transitionProperty: "transform, opacity"
},
"slide-down": {
in: { opacity: 1, transform: "translateY(0)" },
out: { opacity: 0, transform: "translateY(-100%)" },
common: { transformOrigin: "top" },
transitionProperty: "transform, opacity"
},
"slide-up": {
in: { opacity: 1, transform: "translateY(0)" },
out: { opacity: 0, transform: "translateY(100%)" },
common: { transformOrigin: "bottom" },
transitionProperty: "transform, opacity"
},
"slide-left": {
in: { opacity: 1, transform: "translateX(0)" },
out: { opacity: 0, transform: "translateX(100%)" },
common: { transformOrigin: "left" },
transitionProperty: "transform, opacity"
},
"slide-right": {
in: { opacity: 1, transform: "translateX(0)" },
out: { opacity: 0, transform: "translateX(-100%)" },
common: { transformOrigin: "right" },
transitionProperty: "transform, opacity"
},
pop: {
...popIn("bottom"),
common: { transformOrigin: "center center" }
},
"pop-bottom-left": {
...popIn("bottom"),
common: { transformOrigin: "bottom left" }
},
"pop-bottom-right": {
...popIn("bottom"),
common: { transformOrigin: "bottom right" }
},
"pop-top-left": {
...popIn("top"),
common: { transformOrigin: "top left" }
},
"pop-top-right": {
...popIn("top"),
common: { transformOrigin: "top right" }
}
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Transition/get-transition-styles/get-transition-styles.mjs
var transitionStatuses = {
entering: "in",
entered: "in",
exiting: "out",
exited: "out",
"pre-exiting": "out",
"pre-entering": "out"
};
function getTransitionStyles({
transition,
state,
duration,
timingFunction
}) {
const shared = {
transitionDuration: `${duration}ms`,
transitionTimingFunction: timingFunction
};
if (typeof transition === "string") {
if (!(transition in transitions)) {
return {};
}
return {
transitionProperty: transitions[transition].transitionProperty,
...shared,
...transitions[transition].common,
...transitions[transition][transitionStatuses[state]]
};
}
return {
transitionProperty: transition.transitionProperty,
...shared,
...transition.common,
...transition[transitionStatuses[state]]
};
}
function useTransition({
duration,
exitDuration,
timingFunction,
mounted,
onEnter,
onExit,
onEntered,
onExited,
enterDelay,
exitDelay
}) {
const theme = useMantineTheme();
const shouldReduceMotion = hooks.useReducedMotion();
const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;
const [transitionDuration, setTransitionDuration] = React9.useState(reduceMotion ? 0 : duration);
const [transitionStatus, setStatus] = React9.useState(mounted ? "entered" : "exited");
const transitionTimeoutRef = React9.useRef(-1);
const delayTimeoutRef = React9.useRef(-1);
const rafRef = React9.useRef(-1);
const handleStateChange = (shouldMount) => {
const preHandler = shouldMount ? onEnter : onExit;
const handler = shouldMount ? onEntered : onExited;
window.clearTimeout(transitionTimeoutRef.current);
const newTransitionDuration = reduceMotion ? 0 : shouldMount ? duration : exitDuration;
setTransitionDuration(newTransitionDuration);
if (newTransitionDuration === 0) {
typeof preHandler === "function" && preHandler();
typeof handler === "function" && handler();
setStatus(shouldMount ? "entered" : "exited");
} else {
rafRef.current = requestAnimationFrame(() => {
ReactDOM.flushSync(() => {
setStatus(shouldMount ? "pre-entering" : "pre-exiting");
});
rafRef.current = requestAnimationFrame(() => {
typeof preHandler === "function" && preHandler();
setStatus(shouldMount ? "entering" : "exiting");
transitionTimeoutRef.current = window.setTimeout(() => {
typeof handler === "function" && handler();
setStatus(shouldMount ? "entered" : "exited");
}, newTransitionDuration);
});
});
}
};
const handleTransitionWithDelay = (shouldMount) => {
window.clearTimeout(delayTimeoutRef.current);
const delay = shouldMount ? enterDelay : exitDelay;
if (typeof delay !== "number") {
handleStateChange(shouldMount);
return;
}
delayTimeoutRef.current = window.setTimeout(
() => {
handleStateChange(shouldMount);
},
shouldMount ? enterDelay : exitDelay
);
};
hooks.useDidUpdate(() => {
handleTransitionWithDelay(mounted);
}, [mounted]);
React9.useEffect(
() => () => {
window.clearTimeout(transitionTimeoutRef.current);
cancelAnimationFrame(rafRef.current);
},
[]
);
return {
transitionDuration,
transitionStatus,
transitionTimingFunction: timingFunction || "ease"
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Transition/Transition.mjs
function Transition({
keepMounted,
transition = "fade",
duration = 250,
exitDuration = duration,
mounted,
children,
timingFunction = "ease",
onExit,
onEntered,
onEnter,
onExited,
enterDelay,
exitDelay
}) {
const { transitionDuration, transitionStatus, transitionTimingFunction } = useTransition({
mounted,
exitDuration,
duration,
timingFunction,
onExit,
onEntered,
onEnter,
onExited,
enterDelay,
exitDelay
});
if (transitionDuration === 0) {
return mounted ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children({}) }) : keepMounted ? children({ display: "none" }) : null;
}
return transitionStatus === "exited" ? keepMounted ? children({ display: "none" }) : null : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children(
getTransitionStyles({
transition,
duration: transitionDuration,
state: transitionStatus,
timingFunction: transitionTimingFunction
})
) });
}
Transition.displayName = "@mantine/core/Transition";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Popover/Popover.module.css.mjs
var classes5 = { "dropdown": "m_38a85659", "arrow": "m_a31dc6c1" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Popover/PopoverDropdown/PopoverDropdown.mjs
var defaultProps8 = {};
var PopoverDropdown = factory((_props, ref) => {
const props = useProps("PopoverDropdown", defaultProps8, _props);
const {
className,
style,
vars,
children,
onKeyDownCapture,
variant,
classNames,
styles,
...others
} = props;
const ctx = usePopoverContext();
const returnFocus = hooks.useFocusReturn({
opened: ctx.opened,
shouldReturnFocus: ctx.returnFocus
});
const accessibleProps = ctx.withRoles ? {
"aria-labelledby": ctx.getTargetId(),
id: ctx.getDropdownId(),
role: "dialog",
tabIndex: -1
} : {};
const mergedRef = hooks.useMergedRef(ref, ctx.floating);
if (ctx.disabled) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(OptionalPortal, { ...ctx.portalProps, withinPortal: ctx.withinPortal, children: /* @__PURE__ */ jsxRuntime.jsx(
Transition,
{
mounted: ctx.opened,
...ctx.transitionProps,
transition: ctx.transitionProps?.transition || "fade",
duration: ctx.transitionProps?.duration ?? 150,
keepMounted: ctx.keepMounted,
exitDuration: typeof ctx.transitionProps?.exitDuration === "number" ? ctx.transitionProps.exitDuration : ctx.transitionProps?.duration,
children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsx(FocusTrap, { active: ctx.trapFocus && ctx.opened, innerRef: mergedRef, children: /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...accessibleProps,
...others,
variant,
onKeyDownCapture: closeOnEscape(ctx.onClose, {
active: ctx.closeOnEscape,
onTrigger: returnFocus,
onKeyDown: onKeyDownCapture
}),
"data-position": ctx.placement,
"data-fixed": ctx.floatingStrategy === "fixed" || void 0,
...ctx.getStyles("dropdown", {
className,
props,
classNames,
styles,
style: [
{
...transitionStyles,
zIndex: ctx.zIndex,
top: ctx.y ?? 0,
left: ctx.x ?? 0,
width: ctx.width === "target" ? void 0 : rem(ctx.width)
},
style
]
}),
children: [
children,
/* @__PURE__ */ jsxRuntime.jsx(
FloatingArrow,
{
ref: ctx.arrowRef,
arrowX: ctx.arrowX,
arrowY: ctx.arrowY,
visible: ctx.withArrow,
position: ctx.placement,
arrowSize: ctx.arrowSize,
arrowRadius: ctx.arrowRadius,
arrowOffset: ctx.arrowOffset,
arrowPosition: ctx.arrowPosition,
...ctx.getStyles("arrow", {
props,
classNames,
styles
})
}
)
]
}
) })
}
) });
});
PopoverDropdown.classes = classes5;
PopoverDropdown.displayName = "@mantine/core/PopoverDropdown";
var defaultProps9 = {
refProp: "ref",
popupType: "dialog"
};
var PopoverTarget = factory((props, ref) => {
const { children, refProp, popupType, ...others } = useProps(
"PopoverTarget",
defaultProps9,
props
);
if (!isElement(children)) {
throw new Error(
"Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
);
}
const forwardedProps = others;
const ctx = usePopoverContext();
const targetRef = hooks.useMergedRef(ctx.reference, children.ref, ref);
const accessibleProps = ctx.withRoles ? {
"aria-haspopup": popupType,
"aria-expanded": ctx.opened,
"aria-controls": ctx.getDropdownId(),
id: ctx.getTargetId()
} : {};
return React9.cloneElement(children, {
...forwardedProps,
...accessibleProps,
...ctx.targetProps,
className: clsx_default(ctx.targetProps.className, forwardedProps.className, children.props.className),
[refProp]: targetRef,
...!ctx.controlled ? { onClick: ctx.onToggle } : null
});
});
PopoverTarget.displayName = "@mantine/core/PopoverTarget";
function useFloatingAutoUpdate({
opened,
floating,
position,
positionDependencies
}) {
const [delayedUpdate, setDelayedUpdate] = React9.useState(0);
React9.useEffect(() => {
if (floating.refs.reference.current && floating.refs.floating.current && opened) {
return autoUpdate(
floating.refs.reference.current,
floating.refs.floating.current,
floating.update
);
}
return void 0;
}, [
floating.refs.reference.current,
floating.refs.floating.current,
opened,
delayedUpdate,
position
]);
hooks.useDidUpdate(() => {
floating.update();
}, positionDependencies);
hooks.useDidUpdate(() => {
setDelayedUpdate((c) => c + 1);
}, [opened]);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Popover/use-popover.mjs
function getDefaultMiddlewares(middlewares) {
if (middlewares === void 0) {
return { shift: true, flip: true };
}
const result = { ...middlewares };
if (middlewares.shift === void 0) {
result.shift = true;
}
if (middlewares.flip === void 0) {
result.flip = true;
}
return result;
}
function getPopoverMiddlewares(options, getFloating) {
const middlewaresOptions = getDefaultMiddlewares(options.middlewares);
const middlewares = [offset3(options.offset)];
if (middlewaresOptions.shift) {
middlewares.push(
shift3(
typeof middlewaresOptions.shift === "boolean" ? { limiter: limitShift3(), padding: 5 } : { limiter: limitShift3(), padding: 5, ...middlewaresOptions.shift }
)
);
}
if (middlewaresOptions.flip) {
middlewares.push(
typeof middlewaresOptions.flip === "boolean" ? flip3() : flip3(middlewaresOptions.flip)
);
}
if (middlewaresOptions.inline) {
middlewares.push(
typeof middlewaresOptions.inline === "boolean" ? inline3() : inline3(middlewaresOptions.inline)
);
}
middlewares.push(arrow3({ element: options.arrowRef, padding: options.arrowOffset }));
if (middlewaresOptions.size || options.width === "target") {
middlewares.push(
size3({
...typeof middlewaresOptions.size === "boolean" ? {} : middlewaresOptions.size,
apply({ rects, availableWidth, availableHeight, ...rest }) {
const floating = getFloating();
const styles = floating.refs.floating.current?.style ?? {};
if (middlewaresOptions.size) {
if (typeof middlewaresOptions.size === "object" && !!middlewaresOptions.size.apply) {
middlewaresOptions.size.apply({ rects, availableWidth, availableHeight, ...rest });
} else {
Object.assign(styles, {
maxWidth: `${availableWidth}px`,
maxHeight: `${availableHeight}px`
});
}
}
if (options.width === "target") {
Object.assign(styles, {
width: `${rects.reference.width}px`
});
}
}
})
);
}
return middlewares;
}
function usePopover(options) {
const [_opened, setOpened, isControlled] = hooks.useUncontrolled({
value: options.opened,
defaultValue: options.defaultOpened,
finalValue: false,
onChange: options.onChange
});
const onClose = () => {
if (_opened) {
options.onClose?.();
setOpened(false);
}
};
const onToggle = () => {
if (_opened) {
options.onClose?.();
setOpened(false);
} else {
options.onOpen?.();
setOpened(true);
}
};
const floating = useFloating2({
strategy: options.strategy,
placement: options.position,
middleware: getPopoverMiddlewares(options, () => floating)
});
useFloatingAutoUpdate({
opened: _opened,
position: options.position,
positionDependencies: options.positionDependencies || [],
floating
});
hooks.useDidUpdate(() => {
options.onPositionChange?.(floating.placement);
}, [floating.placement]);
hooks.useDidUpdate(() => {
if (!isControlled) {
if (!options.opened) {
options.onClose?.();
} else {
options.onOpen?.();
}
}
}, [options.opened, isControlled]);
return {
floating,
controlled: typeof options.opened === "boolean",
opened: _opened,
onClose,
onToggle
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Popover/Popover.mjs
var defaultProps10 = {
position: "bottom",
offset: 8,
positionDependencies: [],
transitionProps: { transition: "fade", duration: 150 },
middlewares: { flip: true, shift: true, inline: false },
arrowSize: 7,
arrowOffset: 5,
arrowRadius: 0,
arrowPosition: "side",
closeOnClickOutside: true,
withinPortal: true,
closeOnEscape: true,
trapFocus: false,
withRoles: true,
returnFocus: false,
clickOutsideEvents: ["mousedown", "touchstart"],
zIndex: getDefaultZIndex("popover"),
__staticSelector: "Popover",
width: "max-content"
};
var varsResolver3 = createVarsResolver((_, { radius, shadow }) => ({
dropdown: {
"--popover-radius": radius === void 0 ? void 0 : getRadius(radius),
"--popover-shadow": getShadow(shadow)
}
}));
function Popover(_props) {
const props = useProps("Popover", defaultProps10, _props);
const {
children,
position,
offset: offset4,
onPositionChange,
positionDependencies,
opened,
transitionProps,
width,
middlewares,
withArrow,
arrowSize,
arrowOffset,
arrowRadius,
arrowPosition,
unstyled,
classNames,
styles,
closeOnClickOutside,
withinPortal,
portalProps,
closeOnEscape: closeOnEscape2,
clickOutsideEvents,
trapFocus,
onClose,
onOpen,
onChange,
zIndex,
radius,
shadow,
id,
defaultOpened,
__staticSelector,
withRoles,
disabled,
returnFocus,
variant,
keepMounted,
vars,
floatingStrategy,
...others
} = props;
const getStyles2 = useStyles({
name: __staticSelector,
props,
classes: classes5,
classNames,
styles,
unstyled,
rootSelector: "dropdown",
vars,
varsResolver: varsResolver3
});
const arrowRef = React9.useRef(null);
const [targetNode, setTargetNode] = React9.useState(null);
const [dropdownNode, setDropdownNode] = React9.useState(null);
const { dir } = useDirection();
const uid = hooks.useId(id);
const popover = usePopover({
middlewares,
width,
position: getFloatingPosition(dir, position),
offset: typeof offset4 === "number" ? offset4 + (withArrow ? arrowSize / 2 : 0) : offset4,
arrowRef,
arrowOffset,
onPositionChange,
positionDependencies,
opened,
defaultOpened,
onChange,
onOpen,
onClose,
strategy: floatingStrategy
});
hooks.useClickOutside(() => closeOnClickOutside && popover.onClose(), clickOutsideEvents, [
targetNode,
dropdownNode
]);
const reference = React9.useCallback(
(node) => {
setTargetNode(node);
popover.floating.refs.setReference(node);
},
[popover.floating.refs.setReference]
);
const floating = React9.useCallback(
(node) => {
setDropdownNode(node);
popover.floating.refs.setFloating(node);
},
[popover.floating.refs.setFloating]
);
return /* @__PURE__ */ jsxRuntime.jsx(
PopoverContextProvider,
{
value: {
returnFocus,
disabled,
controlled: popover.controlled,
reference,
floating,
x: popover.floating.x,
y: popover.floating.y,
arrowX: popover.floating?.middlewareData?.arrow?.x,
arrowY: popover.floating?.middlewareData?.arrow?.y,
opened: popover.opened,
arrowRef,
transitionProps,
width,
withArrow,
arrowSize,
arrowOffset,
arrowRadius,
arrowPosition,
placement: popover.floating.placement,
trapFocus,
withinPortal,
portalProps,
zIndex,
radius,
shadow,
closeOnEscape: closeOnEscape2,
onClose: popover.onClose,
onToggle: popover.onToggle,
getTargetId: () => `${uid}-target`,
getDropdownId: () => `${uid}-dropdown`,
withRoles,
targetProps: others,
__staticSelector,
classNames,
styles,
unstyled,
variant,
keepMounted,
getStyles: getStyles2,
floatingStrategy
},
children
}
);
}
Popover.Target = PopoverTarget;
Popover.Dropdown = PopoverDropdown;
Popover.displayName = "@mantine/core/Popover";
Popover.extend = (input) => input;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Loader/Loader.module.css.mjs
var classes6 = { "root": "m_5ae2e3c", "barsLoader": "m_7a2bd4cd", "bar": "m_870bb79", "bars-loader-animation": "m_5d2b3b9d", "dotsLoader": "m_4e3f22d7", "dot": "m_870c4af", "loader-dots-animation": "m_aac34a1", "ovalLoader": "m_b34414df", "oval-loader-animation": "m_f8e89c4b" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Loader/loaders/Bars.mjs
var Bars = React9.forwardRef(({ className, ...others }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Box, { component: "span", className: clsx_default(classes6.barsLoader, className), ...others, ref, children: [
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes6.bar }),
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes6.bar }),
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes6.bar })
] }));
Bars.displayName = "@mantine/core/Bars";
var Dots = React9.forwardRef(({ className, ...others }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(Box, { component: "span", className: clsx_default(classes6.dotsLoader, className), ...others, ref, children: [
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes6.dot }),
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes6.dot }),
/* @__PURE__ */ jsxRuntime.jsx("span", { className: classes6.dot })
] }));
Dots.displayName = "@mantine/core/Dots";
var Oval = React9.forwardRef(({ className, ...others }, ref) => /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", className: clsx_default(classes6.ovalLoader, className), ...others, ref }));
Oval.displayName = "@mantine/core/Oval";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Loader/Loader.mjs
var defaultLoaders = {
bars: Bars,
oval: Oval,
dots: Dots
};
var defaultProps11 = {
loaders: defaultLoaders,
type: "oval"
};
var varsResolver4 = createVarsResolver((theme, { size: size4, color }) => ({
root: {
"--loader-size": getSize(size4, "loader-size"),
"--loader-color": color ? getThemeColor(color, theme) : void 0
}
}));
var Loader = factory((_props, ref) => {
const props = useProps("Loader", defaultProps11, _props);
const {
size: size4,
color,
type,
vars,
className,
style,
classNames,
styles,
unstyled,
loaders,
variant,
children,
...others
} = props;
const getStyles2 = useStyles({
name: "Loader",
props,
classes: classes6,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver4
});
if (children) {
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...getStyles2("root"), ref, ...others, children });
}
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root"),
ref,
component: loaders[type],
variant,
size: size4,
...others
}
);
});
Loader.defaultLoaders = defaultLoaders;
Loader.classes = classes6;
Loader.displayName = "@mantine/core/Loader";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.module.css.mjs
var classes7 = { "root": "m_8d3f4000", "icon": "m_8d3afb97", "loader": "m_302b9fb1", "group": "m_1a0f1b21" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ActionIcon/ActionIconGroup/ActionIconGroup.mjs
var defaultProps12 = {
orientation: "horizontal"
};
var varsResolver5 = createVarsResolver((_, { borderWidth }) => ({
group: { "--ai-border-width": rem(borderWidth) }
}));
var ActionIconGroup = factory((_props, ref) => {
const props = useProps("ActionIconGroup", defaultProps12, _props);
const {
className,
style,
classNames,
styles,
unstyled,
orientation,
vars,
borderWidth,
variant,
mod,
...others
} = useProps("ActionIconGroup", defaultProps12, _props);
const getStyles2 = useStyles({
name: "ActionIconGroup",
props,
classes: classes7,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver5,
rootSelector: "group"
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("group"),
ref,
variant,
mod: [{ "data-orientation": orientation }, mod],
role: "group",
...others
}
);
});
ActionIconGroup.classes = classes7;
ActionIconGroup.displayName = "@mantine/core/ActionIconGroup";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.mjs
var defaultProps13 = {};
var varsResolver6 = createVarsResolver(
(theme, { size: size4, radius, variant, gradient, color, autoContrast }) => {
const colors = theme.variantColorResolver({
color: color || theme.primaryColor,
theme,
gradient,
variant: variant || "filled",
autoContrast
});
return {
root: {
"--ai-size": getSize(size4, "ai-size"),
"--ai-radius": radius === void 0 ? void 0 : getRadius(radius),
"--ai-bg": color || variant ? colors.background : void 0,
"--ai-hover": color || variant ? colors.hover : void 0,
"--ai-hover-color": color || variant ? colors.hoverColor : void 0,
"--ai-color": colors.color,
"--ai-bd": color || variant ? colors.border : void 0
}
};
}
);
var ActionIcon = polymorphicFactory((_props, ref) => {
const props = useProps("ActionIcon", defaultProps13, _props);
const {
className,
unstyled,
variant,
classNames,
styles,
style,
loading,
loaderProps,
size: size4,
color,
radius,
__staticSelector,
gradient,
vars,
children,
disabled,
"data-disabled": dataDisabled,
autoContrast,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: ["ActionIcon", __staticSelector],
props,
className,
style,
classes: classes7,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver6
});
return /* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
...getStyles2("root", { active: !disabled && !loading && !dataDisabled }),
...others,
unstyled,
variant,
size: size4,
disabled: disabled || loading,
ref,
mod: [{ loading, disabled: disabled || dataDisabled }, mod],
children: [
/* @__PURE__ */ jsxRuntime.jsx(Transition, { mounted: !!loading, transition: "slide-down", duration: 150, children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", ...getStyles2("loader", { style: transitionStyles }), "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(Loader, { color: "var(--ai-color)", size: "calc(var(--ai-size) * 0.55)", ...loaderProps }) }) }),
/* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", mod: { loading }, ...getStyles2("icon"), children })
]
}
);
});
ActionIcon.classes = classes7;
ActionIcon.displayName = "@mantine/core/ActionIcon";
ActionIcon.Group = ActionIconGroup;
var CloseIcon = React9.forwardRef(
({ size: size4 = "var(--cb-icon-size, 70%)", style, ...others }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
viewBox: "0 0 15 15",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
style: { ...style, width: size4, height: size4 },
ref,
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(
"path",
{
d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",
fill: "currentColor",
fillRule: "evenodd",
clipRule: "evenodd"
}
)
}
)
);
CloseIcon.displayName = "@mantine/core/CloseIcon";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/CloseButton/CloseButton.module.css.mjs
var classes8 = { "root": "m_86a44da5", "root--subtle": "m_220c80f2" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/CloseButton/CloseButton.mjs
var defaultProps14 = {
variant: "subtle"
};
var varsResolver7 = createVarsResolver((_, { size: size4, radius, iconSize }) => ({
root: {
"--cb-size": getSize(size4, "cb-size"),
"--cb-radius": radius === void 0 ? void 0 : getRadius(radius),
"--cb-icon-size": rem(iconSize)
}
}));
var CloseButton = polymorphicFactory((_props, ref) => {
const props = useProps("CloseButton", defaultProps14, _props);
const {
iconSize,
children,
vars,
radius,
className,
classNames,
style,
styles,
unstyled,
"data-disabled": dataDisabled,
disabled,
variant,
icon,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "CloseButton",
props,
className,
style,
classes: classes8,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver7
});
return /* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
ref,
...others,
unstyled,
variant,
disabled,
mod: [{ disabled: disabled || dataDisabled }, mod],
...getStyles2("root", { variant, active: !disabled && !dataDisabled }),
children: [
icon || /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, {}),
children
]
}
);
});
CloseButton.classes = classes8;
CloseButton.displayName = "@mantine/core/CloseButton";
function filterFalsyChildren(children) {
return React9.Children.toArray(children).filter(Boolean);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Group/Group.module.css.mjs
var classes9 = { "root": "m_4081bf90" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Group/Group.mjs
var defaultProps15 = {
preventGrowOverflow: true,
gap: "md",
align: "center",
justify: "flex-start",
wrap: "wrap"
};
var varsResolver8 = createVarsResolver(
(_, { grow, preventGrowOverflow, gap, align, justify, wrap }, { childWidth }) => ({
root: {
"--group-child-width": grow && preventGrowOverflow ? childWidth : void 0,
"--group-gap": getSpacing(gap),
"--group-align": align,
"--group-justify": justify,
"--group-wrap": wrap
}
})
);
var Group = factory((_props, ref) => {
const props = useProps("Group", defaultProps15, _props);
const {
classNames,
className,
style,
styles,
unstyled,
children,
gap,
align,
justify,
wrap,
grow,
preventGrowOverflow,
vars,
variant,
__size,
mod,
...others
} = props;
const filteredChildren = filterFalsyChildren(children);
const childrenCount = filteredChildren.length;
const resolvedGap = getSpacing(gap ?? "md");
const childWidth = `calc(${100 / childrenCount}% - (${resolvedGap} - ${resolvedGap} / ${childrenCount}))`;
const stylesCtx = { childWidth };
const getStyles2 = useStyles({
name: "Group",
props,
stylesCtx,
className,
style,
classes: classes9,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver8
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root"),
ref,
variant,
mod: [{ grow }, mod],
size: __size,
...others,
children: filteredChildren
}
);
});
Group.classes = classes9;
Group.displayName = "@mantine/core/Group";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Overlay/Overlay.module.css.mjs
var classes10 = { "root": "m_9814e45f" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Overlay/Overlay.mjs
var defaultProps16 = {
zIndex: getDefaultZIndex("modal")
};
var varsResolver9 = createVarsResolver(
(_, { gradient, color, backgroundOpacity, blur, radius, zIndex }) => ({
root: {
"--overlay-bg": gradient || (color !== void 0 || backgroundOpacity !== void 0) && rgba(color || "#000", backgroundOpacity ?? 0.6) || void 0,
"--overlay-filter": blur ? `blur(${rem(blur)})` : void 0,
"--overlay-radius": radius === void 0 ? void 0 : getRadius(radius),
"--overlay-z-index": zIndex?.toString()
}
})
);
var Overlay = polymorphicFactory((_props, ref) => {
const props = useProps("Overlay", defaultProps16, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
fixed,
center,
children,
radius,
zIndex,
gradient,
blur,
color,
backgroundOpacity,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Overlay",
props,
classes: classes10,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver9
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), mod: [{ center, fixed }, mod], ...others, children });
});
Overlay.classes = classes10;
Overlay.displayName = "@mantine/core/Overlay";
var [ModalBaseProvider, useModalBaseContext] = createSafeContext(
"ModalBase component was not found in tree"
);
function useLockScroll({ opened, transitionDuration }) {
const [shouldLockScroll, setShouldLockScroll] = React9.useState(opened);
const timeout = React9.useRef();
const reduceMotion = hooks.useReducedMotion();
const _transitionDuration = reduceMotion ? 0 : transitionDuration;
React9.useEffect(() => {
if (opened) {
setShouldLockScroll(true);
window.clearTimeout(timeout.current);
} else if (_transitionDuration === 0) {
setShouldLockScroll(false);
} else {
timeout.current = window.setTimeout(() => setShouldLockScroll(false), _transitionDuration);
}
return () => window.clearTimeout(timeout.current);
}, [opened, _transitionDuration]);
return shouldLockScroll;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ModalBase/use-modal.mjs
function useModal({
id,
transitionProps,
opened,
trapFocus,
closeOnEscape: closeOnEscape2,
onClose,
returnFocus
}) {
const _id = hooks.useId(id);
const [titleMounted, setTitleMounted] = React9.useState(false);
const [bodyMounted, setBodyMounted] = React9.useState(false);
const transitionDuration = typeof transitionProps?.duration === "number" ? transitionProps?.duration : 200;
const shouldLockScroll = useLockScroll({ opened, transitionDuration });
hooks.useWindowEvent(
"keydown",
(event) => {
if (event.key === "Escape" && closeOnEscape2 && opened) {
const shouldTrigger = event.target?.getAttribute("data-mantine-stop-propagation") !== "true";
shouldTrigger && onClose();
}
},
{ capture: true }
);
hooks.useFocusReturn({ opened, shouldReturnFocus: trapFocus && returnFocus });
return {
_id,
titleMounted,
bodyMounted,
shouldLockScroll,
setTitleMounted,
setBodyMounted
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ModalBase/ModalBase.mjs
var ModalBase = React9.forwardRef(
({
keepMounted,
opened,
onClose,
id,
transitionProps,
trapFocus,
closeOnEscape: closeOnEscape2,
returnFocus,
closeOnClickOutside,
withinPortal,
portalProps,
lockScroll,
children,
zIndex,
shadow,
padding,
__vars,
unstyled,
removeScrollProps,
...others
}, ref) => {
const { _id, titleMounted, bodyMounted, shouldLockScroll, setTitleMounted, setBodyMounted } = useModal({ id, transitionProps, opened, trapFocus, closeOnEscape: closeOnEscape2, onClose, returnFocus });
const { key: removeScrollKey, ...otherRemoveScrollProps } = removeScrollProps || {};
return /* @__PURE__ */ jsxRuntime.jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseProvider,
{
value: {
opened,
onClose,
closeOnClickOutside,
transitionProps: { ...transitionProps, keepMounted },
getTitleId: () => `${_id}-title`,
getBodyId: () => `${_id}-body`,
titleMounted,
bodyMounted,
setTitleMounted,
setBodyMounted,
trapFocus,
closeOnEscape: closeOnEscape2,
zIndex,
unstyled
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Combination_default,
{
enabled: shouldLockScroll && lockScroll,
...otherRemoveScrollProps,
children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...others,
__vars: {
...__vars,
"--mb-z-index": (zIndex || getDefaultZIndex("modal")).toString(),
"--mb-shadow": getShadow(shadow),
"--mb-padding": getSpacing(padding)
},
children
}
)
},
removeScrollKey
)
}
) });
}
);
ModalBase.displayName = "@mantine/core/ModalBase";
function useModalBodyId() {
const ctx = useModalBaseContext();
React9.useEffect(() => {
ctx.setBodyMounted(true);
return () => ctx.setBodyMounted(false);
}, []);
return ctx.getBodyId();
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ModalBase/ModalBase.module.css.mjs
var classes11 = { "title": "m_615af6c9", "header": "m_b5489c3c", "inner": "m_60c222c7", "content": "m_fd1ab0aa", "close": "m_606cb269", "body": "m_5df29311" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ModalBase/ModalBaseBody.mjs
var ModalBaseBody = React9.forwardRef(
({ className, ...others }, ref) => {
const bodyId = useModalBodyId();
const ctx = useModalBaseContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...others,
id: bodyId,
className: clsx_default({ [classes11.body]: !ctx.unstyled }, className)
}
);
}
);
ModalBaseBody.displayName = "@mantine/core/ModalBaseBody";
var ModalBaseCloseButton = React9.forwardRef(
({ className, onClick, ...others }, ref) => {
const ctx = useModalBaseContext();
return /* @__PURE__ */ jsxRuntime.jsx(
CloseButton,
{
ref,
...others,
onClick: (event) => {
ctx.onClose();
onClick?.(event);
},
className: clsx_default({ [classes11.close]: !ctx.unstyled }, className),
unstyled: ctx.unstyled
}
);
}
);
ModalBaseCloseButton.displayName = "@mantine/core/ModalBaseCloseButton";
var ModalBaseContent = React9.forwardRef(
({ transitionProps, className, innerProps, onKeyDown, style, ...others }, ref) => {
const ctx = useModalBaseContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Transition,
{
mounted: ctx.opened,
transition: "pop",
...ctx.transitionProps,
...transitionProps,
children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...innerProps,
className: clsx_default({ [classes11.inner]: !ctx.unstyled }, innerProps.className),
children: /* @__PURE__ */ jsxRuntime.jsx(FocusTrap, { active: ctx.opened && ctx.trapFocus, innerRef: ref, children: /* @__PURE__ */ jsxRuntime.jsx(
Paper,
{
...others,
component: "section",
role: "dialog",
tabIndex: -1,
"aria-modal": true,
"aria-describedby": ctx.bodyMounted ? ctx.getBodyId() : void 0,
"aria-labelledby": ctx.titleMounted ? ctx.getTitleId() : void 0,
style: [style, transitionStyles],
className: clsx_default({ [classes11.content]: !ctx.unstyled }, className),
unstyled: ctx.unstyled,
children: others.children
}
) })
}
)
}
);
}
);
ModalBaseContent.displayName = "@mantine/core/ModalBaseContent";
var ModalBaseHeader = React9.forwardRef(
({ className, ...others }, ref) => {
const ctx = useModalBaseContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "header",
ref,
className: clsx_default({ [classes11.header]: !ctx.unstyled }, className),
...others
}
);
}
);
ModalBaseHeader.displayName = "@mantine/core/ModalBaseHeader";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ModalBase/use-modal-transition.mjs
var DEFAULT_TRANSITION = {
duration: 200,
timingFunction: "ease",
transition: "fade"
};
function useModalTransition(transitionOverride) {
const ctx = useModalBaseContext();
return { ...DEFAULT_TRANSITION, ...ctx.transitionProps, ...transitionOverride };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ModalBase/ModalBaseOverlay.mjs
var ModalBaseOverlay = React9.forwardRef(
({ onClick, transitionProps, style, ...others }, ref) => {
const ctx = useModalBaseContext();
const transition = useModalTransition(transitionProps);
return /* @__PURE__ */ jsxRuntime.jsx(Transition, { mounted: ctx.opened, ...transition, transition: "fade", children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsx(
Overlay,
{
ref,
fixed: true,
style: [style, transitionStyles],
zIndex: ctx.zIndex,
unstyled: ctx.unstyled,
onClick: (event) => {
onClick?.(event);
ctx.closeOnClickOutside && ctx.onClose();
},
...others
}
) });
}
);
ModalBaseOverlay.displayName = "@mantine/core/ModalBaseOverlay";
function useModalTitle() {
const ctx = useModalBaseContext();
React9.useEffect(() => {
ctx.setTitleMounted(true);
return () => ctx.setTitleMounted(false);
}, []);
return ctx.getTitleId();
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ModalBase/ModalBaseTitle.mjs
var ModalBaseTitle = React9.forwardRef(
({ className, ...others }, ref) => {
const id = useModalTitle();
const ctx = useModalBaseContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "h2",
ref,
className: clsx_default({ [classes11.title]: !ctx.unstyled }, className),
...others,
id
}
);
}
);
ModalBaseTitle.displayName = "@mantine/core/ModalBaseTitle";
function NativeScrollArea({ children }) {
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
}
var [InputWrapperProvider, useInputWrapperContext] = createOptionalContext({
offsetBottom: false,
offsetTop: false,
describedBy: void 0,
getStyles: null,
inputId: void 0,
labelId: void 0
});
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Input/Input.module.css.mjs
var classes12 = { "wrapper": "m_6c018570", "input": "m_8fb7ebe7", "section": "m_82577fc2", "placeholder": "m_88bacfd0", "root": "m_46b77525", "label": "m_8fdc1311", "required": "m_78a94662", "error": "m_8f816625", "description": "m_fe47ce59" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Input/InputDescription/InputDescription.mjs
var defaultProps17 = {};
var varsResolver10 = createVarsResolver((_, { size: size4 }) => ({
description: {
"--input-description-size": size4 === void 0 ? void 0 : `calc(${getFontSize(size4)} - ${rem(2)})`
}
}));
var InputDescription = factory((_props, ref) => {
const props = useProps("InputDescription", defaultProps17, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
size: size4,
__staticSelector,
__inheritStyles = true,
variant,
...others
} = useProps("InputDescription", defaultProps17, props);
const ctx = useInputWrapperContext();
const _getStyles = useStyles({
name: ["InputWrapper", __staticSelector],
props,
classes: classes12,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "description",
vars,
varsResolver: varsResolver10
});
const getStyles2 = __inheritStyles && ctx?.getStyles || _getStyles;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "p",
ref,
variant,
size: size4,
...getStyles2("description", ctx?.getStyles ? { className, style } : void 0),
...others
}
);
});
InputDescription.classes = classes12;
InputDescription.displayName = "@mantine/core/InputDescription";
var defaultProps18 = {};
var varsResolver11 = createVarsResolver((_, { size: size4 }) => ({
error: {
"--input-error-size": size4 === void 0 ? void 0 : `calc(${getFontSize(size4)} - ${rem(2)})`
}
}));
var InputError = factory((_props, ref) => {
const props = useProps("InputError", defaultProps18, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
size: size4,
__staticSelector,
__inheritStyles = true,
variant,
...others
} = props;
const _getStyles = useStyles({
name: ["InputWrapper", __staticSelector],
props,
classes: classes12,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "error",
vars,
varsResolver: varsResolver11
});
const ctx = useInputWrapperContext();
const getStyles2 = __inheritStyles && ctx?.getStyles || _getStyles;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "p",
ref,
variant,
size: size4,
...getStyles2("error", ctx?.getStyles ? { className, style } : void 0),
...others
}
);
});
InputError.classes = classes12;
InputError.displayName = "@mantine/core/InputError";
var defaultProps19 = {
labelElement: "label"
};
var varsResolver12 = createVarsResolver((_, { size: size4 }) => ({
label: {
"--input-label-size": getFontSize(size4),
"--input-asterisk-color": void 0
}
}));
var InputLabel = factory((_props, ref) => {
const props = useProps("InputLabel", defaultProps19, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
labelElement,
size: size4,
required,
htmlFor,
onMouseDown,
children,
__staticSelector,
variant,
mod,
...others
} = useProps("InputLabel", defaultProps19, props);
const _getStyles = useStyles({
name: ["InputWrapper", __staticSelector],
props,
classes: classes12,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "label",
vars,
varsResolver: varsResolver12
});
const ctx = useInputWrapperContext();
const getStyles2 = ctx?.getStyles || _getStyles;
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...getStyles2("label", ctx?.getStyles ? { className, style } : void 0),
component: labelElement,
variant,
size: size4,
ref,
htmlFor: labelElement === "label" ? htmlFor : void 0,
mod: [{ required }, mod],
onMouseDown: (event) => {
onMouseDown?.(event);
if (!event.defaultPrevented && event.detail > 1) {
event.preventDefault();
}
},
...others,
children: [
children,
required && /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("required"), "aria-hidden": true, children: " *" })
]
}
);
});
InputLabel.classes = classes12;
InputLabel.displayName = "@mantine/core/InputLabel";
var defaultProps20 = {};
var InputPlaceholder = factory((_props, ref) => {
const props = useProps("InputPlaceholder", defaultProps20, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
__staticSelector,
variant,
error: error2,
mod,
...others
} = useProps("InputPlaceholder", defaultProps20, props);
const getStyles2 = useStyles({
name: ["InputPlaceholder", __staticSelector],
props,
classes: classes12,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "placeholder"
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("placeholder"),
mod: [{ error: !!error2 }, mod],
component: "span",
variant,
ref,
...others
}
);
});
InputPlaceholder.classes = classes12;
InputPlaceholder.displayName = "@mantine/core/InputPlaceholder";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Input/InputWrapper/get-input-offsets/get-input-offsets.mjs
function getInputOffsets(inputWrapperOrder, { hasDescription, hasError }) {
const inputIndex = inputWrapperOrder.findIndex((part) => part === "input");
const aboveInput = inputWrapperOrder.slice(0, inputIndex);
const belowInput = inputWrapperOrder.slice(inputIndex + 1);
const offsetTop = hasDescription && aboveInput.includes("description") || hasError && aboveInput.includes("error");
const offsetBottom = hasDescription && belowInput.includes("description") || hasError && belowInput.includes("error");
return { offsetBottom, offsetTop };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Input/InputWrapper/InputWrapper.mjs
var defaultProps21 = {
labelElement: "label",
inputContainer: (children) => children,
inputWrapperOrder: ["label", "description", "input", "error"]
};
var varsResolver13 = createVarsResolver((_, { size: size4 }) => ({
label: {
"--input-label-size": getFontSize(size4),
"--input-asterisk-color": void 0
},
error: {
"--input-error-size": size4 === void 0 ? void 0 : `calc(${getFontSize(size4)} - ${rem(2)})`
},
description: {
"--input-description-size": size4 === void 0 ? void 0 : `calc(${getFontSize(size4)} - ${rem(2)})`
}
}));
var InputWrapper = factory((_props, ref) => {
const props = useProps("InputWrapper", defaultProps21, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
size: size4,
variant,
__staticSelector,
inputContainer,
inputWrapperOrder,
label,
error: error2,
description,
labelProps,
descriptionProps,
errorProps,
labelElement,
children,
withAsterisk,
id,
required,
__stylesApiProps,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: ["InputWrapper", __staticSelector],
props: __stylesApiProps || props,
classes: classes12,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver13
});
const sharedProps = {
size: size4,
variant,
__staticSelector
};
const idBase = hooks.useId(id);
const isRequired = typeof withAsterisk === "boolean" ? withAsterisk : required;
const errorId = errorProps?.id || `${idBase}-error`;
const descriptionId = descriptionProps?.id || `${idBase}-description`;
const inputId = idBase;
const hasError = !!error2 && typeof error2 !== "boolean";
const hasDescription = !!description;
const _describedBy = `${hasError ? errorId : ""} ${hasDescription ? descriptionId : ""}`;
const describedBy = _describedBy.trim().length > 0 ? _describedBy.trim() : void 0;
const labelId = labelProps?.id || `${idBase}-label`;
const _label = label && /* @__PURE__ */ jsxRuntime.jsx(
InputLabel,
{
labelElement,
id: labelId,
htmlFor: inputId,
required: isRequired,
...sharedProps,
...labelProps,
children: label
},
"label"
);
const _description = hasDescription && /* @__PURE__ */ jsxRuntime.jsx(
InputDescription,
{
...descriptionProps,
...sharedProps,
size: descriptionProps?.size || sharedProps.size,
id: descriptionProps?.id || descriptionId,
children: description
},
"description"
);
const _input = /* @__PURE__ */ jsxRuntime.jsx(React9.Fragment, { children: inputContainer(children) }, "input");
const _error = hasError && /* @__PURE__ */ React9.createElement(
InputError,
{
...errorProps,
...sharedProps,
size: errorProps?.size || sharedProps.size,
key: "error",
id: errorProps?.id || errorId
},
error2
);
const content = inputWrapperOrder.map((part) => {
switch (part) {
case "label":
return _label;
case "input":
return _input;
case "description":
return _description;
case "error":
return _error;
default:
return null;
}
});
return /* @__PURE__ */ jsxRuntime.jsx(
InputWrapperProvider,
{
value: {
getStyles: getStyles2,
describedBy,
inputId,
labelId,
...getInputOffsets(inputWrapperOrder, { hasDescription, hasError })
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
variant,
size: size4,
mod: [{ error: !!error2 }, mod],
...getStyles2("root"),
...others,
children: content
}
)
}
);
});
InputWrapper.classes = classes12;
InputWrapper.displayName = "@mantine/core/InputWrapper";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Input/Input.mjs
var defaultProps22 = {
variant: "default",
leftSectionPointerEvents: "none",
rightSectionPointerEvents: "none",
withAria: true,
withErrorStyles: true
};
var varsResolver14 = createVarsResolver((_, props, ctx) => ({
wrapper: {
"--input-margin-top": ctx.offsetTop ? "calc(var(--mantine-spacing-xs) / 2)" : void 0,
"--input-margin-bottom": ctx.offsetBottom ? "calc(var(--mantine-spacing-xs) / 2)" : void 0,
"--input-height": getSize(props.size, "input-height"),
"--input-fz": getFontSize(props.size),
"--input-radius": props.radius === void 0 ? void 0 : getRadius(props.radius),
"--input-left-section-width": props.leftSectionWidth !== void 0 ? rem(props.leftSectionWidth) : void 0,
"--input-right-section-width": props.rightSectionWidth !== void 0 ? rem(props.rightSectionWidth) : void 0,
"--input-padding-y": props.multiline ? getSize(props.size, "input-padding-y") : void 0,
"--input-left-section-pointer-events": props.leftSectionPointerEvents,
"--input-right-section-pointer-events": props.rightSectionPointerEvents
}
}));
var Input = polymorphicFactory((_props, ref) => {
const props = useProps("Input", defaultProps22, _props);
const {
classNames,
className,
style,
styles,
unstyled,
required,
__staticSelector,
__stylesApiProps,
size: size4,
wrapperProps,
error: error2,
disabled,
leftSection,
leftSectionProps,
leftSectionWidth,
rightSection,
rightSectionProps,
rightSectionWidth,
rightSectionPointerEvents,
leftSectionPointerEvents,
variant,
vars,
pointer,
multiline,
radius,
id,
withAria,
withErrorStyles,
mod,
inputSize,
...others
} = props;
const { styleProps, rest } = extractStyleProps(others);
const ctx = useInputWrapperContext();
const stylesCtx = { offsetBottom: ctx?.offsetBottom, offsetTop: ctx?.offsetTop };
const getStyles2 = useStyles({
name: ["Input", __staticSelector],
props: __stylesApiProps || props,
classes: classes12,
className,
style,
classNames,
styles,
unstyled,
stylesCtx,
rootSelector: "wrapper",
vars,
varsResolver: varsResolver14
});
const ariaAttributes = withAria ? {
required,
disabled,
"aria-invalid": !!error2,
"aria-describedby": ctx?.describedBy,
id: ctx?.inputId || id
} : {};
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...getStyles2("wrapper"),
...styleProps,
...wrapperProps,
mod: [
{
error: !!error2 && withErrorStyles,
pointer,
disabled,
multiline,
"data-with-right-section": !!rightSection,
"data-with-left-section": !!leftSection
},
mod
],
variant,
size: size4,
children: [
leftSection && /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...leftSectionProps,
"data-position": "left",
...getStyles2("section", {
className: leftSectionProps?.className,
style: leftSectionProps?.style
}),
children: leftSection
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "input",
...rest,
...ariaAttributes,
ref,
required,
mod: { disabled, error: !!error2 && withErrorStyles },
variant,
__size: inputSize,
...getStyles2("input")
}
),
rightSection && /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...rightSectionProps,
"data-position": "right",
...getStyles2("section", {
className: rightSectionProps?.className,
style: rightSectionProps?.style
}),
children: rightSection
}
)
]
}
);
});
Input.classes = classes12;
Input.Wrapper = InputWrapper;
Input.Label = InputLabel;
Input.Error = InputError;
Input.Description = InputDescription;
Input.Placeholder = InputPlaceholder;
Input.displayName = "@mantine/core/Input";
function useInputProps(component, defaultProps181, _props) {
const props = useProps(component, defaultProps181, _props);
const {
label,
description,
error: error2,
required,
classNames,
styles,
className,
unstyled,
__staticSelector,
__stylesApiProps,
errorProps,
labelProps,
descriptionProps,
wrapperProps: _wrapperProps,
id,
size: size4,
style,
inputContainer,
inputWrapperOrder,
withAsterisk,
variant,
vars,
mod,
...others
} = props;
const { styleProps, rest } = extractStyleProps(others);
const wrapperProps = {
label,
description,
error: error2,
required,
classNames,
className,
__staticSelector,
__stylesApiProps: __stylesApiProps || props,
errorProps,
labelProps,
descriptionProps,
unstyled,
styles,
size: size4,
style,
inputContainer,
inputWrapperOrder,
withAsterisk,
variant,
id,
mod,
..._wrapperProps
};
return {
...rest,
classNames,
styles,
unstyled,
wrapperProps: { ...wrapperProps, ...styleProps },
inputProps: {
required,
classNames,
styles,
unstyled,
size: size4,
__staticSelector,
__stylesApiProps: __stylesApiProps || props,
error: error2,
variant,
id
}
};
}
var defaultProps23 = {
__staticSelector: "InputBase",
withAria: true
};
var InputBase = polymorphicFactory((props, ref) => {
const { inputProps, wrapperProps, ...others } = useInputProps("InputBase", defaultProps23, props);
return /* @__PURE__ */ jsxRuntime.jsx(Input.Wrapper, { ...wrapperProps, children: /* @__PURE__ */ jsxRuntime.jsx(Input, { ...inputProps, ...others, ref }) });
});
InputBase.classes = { ...Input.classes, ...Input.Wrapper.classes };
InputBase.displayName = "@mantine/core/InputBase";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Flex/flex-props.mjs
var FLEX_STYLE_PROPS_DATA = {
gap: { type: "spacing", property: "gap" },
rowGap: { type: "spacing", property: "rowGap" },
columnGap: { type: "spacing", property: "columnGap" },
align: { type: "identity", property: "alignItems" },
justify: { type: "identity", property: "justifyContent" },
wrap: { type: "identity", property: "flexWrap" },
direction: { type: "identity", property: "flexDirection" }
};
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Flex/Flex.module.css.mjs
var classes13 = { "root": "m_8bffd616" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Flex/Flex.mjs
var defaultProps24 = {};
var Flex = polymorphicFactory((_props, ref) => {
const props = useProps("Flex", defaultProps24, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
gap,
rowGap,
columnGap,
align,
justify,
wrap,
direction,
...others
} = props;
const getStyles2 = useStyles({
name: "Flex",
classes: classes13,
props,
className,
style,
classNames,
styles,
unstyled,
vars
});
const theme = useMantineTheme();
const responsiveClassName = useRandomClassName();
const parsedStyleProps = parseStyleProps({
styleProps: { gap, rowGap, columnGap, align, justify, wrap, direction },
theme,
data: FLEX_STYLE_PROPS_DATA
});
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
parsedStyleProps.hasResponsiveStyles && /* @__PURE__ */ jsxRuntime.jsx(
InlineStyles,
{
selector: `.${responsiveClassName}`,
styles: parsedStyleProps.styles,
media: parsedStyleProps.media
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...getStyles2("root", {
className: responsiveClassName,
style: filterProps(parsedStyleProps.inlineStyles)
}),
...others
}
)
] });
});
Flex.classes = classes13;
Flex.displayName = "@mantine/core/Flex";
function isParent(parentElement, childElement) {
if (!childElement || !parentElement) {
return false;
}
let parent = childElement.parentNode;
while (parent != null) {
if (parent === parentElement) {
return true;
}
parent = parent.parentNode;
}
return false;
}
function useFloatingIndicator({
target,
parent,
ref,
displayAfterTransitionEnd
}) {
const transitionTimeout = React9.useRef();
const [initialized, setInitialized] = React9.useState(false);
const [hidden, setHidden] = React9.useState(
typeof displayAfterTransitionEnd === "boolean" ? displayAfterTransitionEnd : false
);
const updatePosition = () => {
if (!target || !parent) {
return;
}
const targetRect = target.getBoundingClientRect();
const parentRect = parent.getBoundingClientRect();
const position = {
top: targetRect.top - parentRect.top,
left: targetRect.left - parentRect.left,
width: targetRect.width,
height: targetRect.height
};
if (ref.current) {
ref.current.style.transform = `translateY(${position.top}px) translateX(${position.left}px)`;
ref.current.style.width = `${position.width}px`;
ref.current.style.height = `${position.height}px`;
}
};
const updatePositionWithoutAnimation = () => {
window.clearTimeout(transitionTimeout.current);
if (ref.current) {
ref.current.style.transitionDuration = "0ms";
}
updatePosition();
transitionTimeout.current = window.setTimeout(() => {
if (ref.current) {
ref.current.style.transitionDuration = "";
}
}, 30);
};
const targetResizeObserver = React9.useRef();
const parentResizeObserver = React9.useRef();
React9.useEffect(() => {
updatePosition();
if (target) {
targetResizeObserver.current = new ResizeObserver(updatePositionWithoutAnimation);
targetResizeObserver.current.observe(target);
if (parent) {
parentResizeObserver.current = new ResizeObserver(updatePositionWithoutAnimation);
parentResizeObserver.current.observe(parent);
}
return () => {
targetResizeObserver.current?.disconnect();
parentResizeObserver.current?.disconnect();
};
}
return void 0;
}, [parent, target]);
React9.useEffect(() => {
if (parent) {
const handleTransitionEnd = (event) => {
if (isParent(event.target, parent)) {
updatePositionWithoutAnimation();
setHidden(false);
}
};
parent.addEventListener("transitionend", handleTransitionEnd);
return () => {
parent.removeEventListener("transitionend", handleTransitionEnd);
};
}
return void 0;
}, [parent]);
hooks.useTimeout(
() => {
if (getEnv() !== "test") {
setInitialized(true);
}
},
20,
{ autoInvoke: true }
);
hooks.useMutationObserver(
(mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === "attributes" && mutation.attributeName === "dir") {
updatePositionWithoutAnimation();
}
});
},
{ attributes: true, attributeFilter: ["dir"] },
() => document.documentElement
);
return { initialized, hidden };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.module.css.mjs
var classes14 = { "root": "m_96b553a6" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.mjs
var defaultProps25 = {};
var varsResolver15 = createVarsResolver(
(_theme, { transitionDuration }) => ({
root: {
"--transition-duration": typeof transitionDuration === "number" ? `${transitionDuration}ms` : transitionDuration
}
})
);
var FloatingIndicator = factory((_props, ref) => {
const props = useProps("FloatingIndicator", defaultProps25, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
target,
parent,
transitionDuration,
mod,
displayAfterTransitionEnd,
...others
} = props;
const getStyles2 = useStyles({
name: "FloatingIndicator",
classes: classes14,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver15
});
const innerRef = React9.useRef(null);
const { initialized, hidden } = useFloatingIndicator({
target,
parent,
ref: innerRef,
displayAfterTransitionEnd
});
const mergedRef = hooks.useMergedRef(ref, innerRef);
if (!target || !parent) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref: mergedRef, mod: [{ initialized, hidden }, mod], ...getStyles2("root"), ...others });
});
FloatingIndicator.displayName = "@mantine/core/FloatingIndicator";
FloatingIndicator.classes = classes14;
var [AccordionProvider, useAccordionContext] = createSafeContext(
"Accordion component was not found in the tree"
);
function AccordionChevron({ style, size: size4 = 16, ...others }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
viewBox: "0 0 15 15",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
style: { ...style, width: rem(size4), height: rem(size4), display: "block" },
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(
"path",
{
d: "M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",
fill: "currentColor",
fillRule: "evenodd",
clipRule: "evenodd"
}
)
}
);
}
AccordionChevron.displayName = "@mantine/core/AccordionChevron";
var [AccordionItemProvider, useAccordionItemContext] = createSafeContext("Accordion.Item component was not found in the tree");
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Accordion/Accordion.module.css.mjs
var classes15 = { "root": "m_9bdbb667", "panel": "m_df78851f", "content": "m_4ba554d4", "itemTitle": "m_8fa820a0", "control": "m_4ba585b8", "control--default": "m_6939a5e9", "control--contained": "m_4271d21b", "label": "m_df3ffa0f", "chevron": "m_3f35ae96", "icon": "m_9bd771fe", "item": "m_9bd7b098", "item--default": "m_fe19b709", "item--contained": "m_1f921b3b", "item--filled": "m_2cdf939a", "item--separated": "m_9f59b069" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Accordion/AccordionControl/AccordionControl.mjs
var defaultProps26 = {};
var AccordionControl = factory((props, ref) => {
const {
classNames,
className,
style,
styles,
vars,
chevron,
icon,
onClick,
onKeyDown,
children,
disabled,
mod,
...others
} = useProps("AccordionControl", defaultProps26, props);
const { value } = useAccordionItemContext();
const ctx = useAccordionContext();
const isActive = ctx.isItemActive(value);
const shouldWrapWithHeading = typeof ctx.order === "number";
const Heading = `h${ctx.order}`;
const content = /* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
...others,
...ctx.getStyles("control", { className, classNames, style, styles, variant: ctx.variant }),
unstyled: ctx.unstyled,
mod: [
"accordion-control",
{ active: isActive, "chevron-position": ctx.chevronPosition, disabled },
mod
],
ref,
onClick: (event) => {
onClick?.(event);
ctx.onChange(value);
},
type: "button",
disabled,
"aria-expanded": isActive,
"aria-controls": ctx.getRegionId(value),
id: ctx.getControlId(value),
onKeyDown: createScopedKeydownHandler({
siblingSelector: "[data-accordion-control]",
parentSelector: "[data-accordion]",
activateOnFocus: false,
loop: ctx.loop,
orientation: "vertical",
onKeyDown
}),
children: [
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "span",
mod: { rotate: !ctx.disableChevronRotation && isActive, position: ctx.chevronPosition },
...ctx.getStyles("chevron", { classNames, styles }),
children: chevron || ctx.chevron
}
),
/* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("label", { classNames, styles }), children }),
icon && /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "span",
mod: { "chevron-position": ctx.chevronPosition },
...ctx.getStyles("icon", { classNames, styles }),
children: icon
}
)
]
}
);
return shouldWrapWithHeading ? /* @__PURE__ */ jsxRuntime.jsx(Heading, { ...ctx.getStyles("itemTitle", { classNames, styles }), children: content }) : content;
});
AccordionControl.displayName = "@mantine/core/AccordionControl";
AccordionControl.classes = classes15;
var defaultProps27 = {};
var AccordionItem = factory((props, ref) => {
const { classNames, className, style, styles, vars, value, mod, ...others } = useProps(
"AccordionItem",
defaultProps27,
props
);
const ctx = useAccordionContext();
return /* @__PURE__ */ jsxRuntime.jsx(AccordionItemProvider, { value: { value }, children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
mod: [{ active: ctx.isItemActive(value) }, mod],
...ctx.getStyles("item", { className, classNames, styles, style, variant: ctx.variant }),
...others
}
) });
});
AccordionItem.displayName = "@mantine/core/AccordionItem";
AccordionItem.classes = classes15;
var defaultProps28 = {};
var AccordionPanel = factory((props, ref) => {
const { classNames, className, style, styles, vars, children, ...others } = useProps(
"AccordionPanel",
defaultProps28,
props
);
const { value } = useAccordionItemContext();
const ctx = useAccordionContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Collapse,
{
ref,
...ctx.getStyles("panel", { className, classNames, style, styles }),
...others,
in: ctx.isItemActive(value),
transitionDuration: ctx.transitionDuration ?? 200,
role: "region",
id: ctx.getRegionId(value),
"aria-labelledby": ctx.getControlId(value),
children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...ctx.getStyles("content", { classNames, styles }), children })
}
);
});
AccordionPanel.displayName = "@mantine/core/AccordionPanel";
AccordionPanel.classes = classes15;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Accordion/Accordion.mjs
var defaultProps29 = {
multiple: false,
disableChevronRotation: false,
chevronPosition: "right",
variant: "default",
chevron: /* @__PURE__ */ jsxRuntime.jsx(AccordionChevron, {})
};
var varsResolver16 = createVarsResolver(
(_, { transitionDuration, chevronSize, radius }) => ({
root: {
"--accordion-transition-duration": transitionDuration === void 0 ? void 0 : `${transitionDuration}ms`,
"--accordion-chevron-size": chevronSize === void 0 ? void 0 : rem(chevronSize),
"--accordion-radius": radius === void 0 ? void 0 : getRadius(radius)
}
})
);
function Accordion(_props) {
const props = useProps("Accordion", defaultProps29, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
multiple,
value,
defaultValue,
onChange,
id,
loop,
transitionDuration,
disableChevronRotation,
chevronPosition,
chevronSize,
order,
chevron,
variant,
radius,
...others
} = props;
const uid = hooks.useId(id);
const [_value, handleChange] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: multiple ? [] : null,
onChange
});
const isItemActive = (itemValue) => Array.isArray(_value) ? _value.includes(itemValue) : itemValue === _value;
const handleItemChange = (itemValue) => {
const nextValue = Array.isArray(_value) ? _value.includes(itemValue) ? _value.filter((selectedValue) => selectedValue !== itemValue) : [..._value, itemValue] : itemValue === _value ? null : itemValue;
handleChange(nextValue);
};
const getStyles2 = useStyles({
name: "Accordion",
classes: classes15,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver16
});
return /* @__PURE__ */ jsxRuntime.jsx(
AccordionProvider,
{
value: {
isItemActive,
onChange: handleItemChange,
getControlId: getSafeId(
`${uid}-control`,
"Accordion.Item component was rendered with invalid value or without value"
),
getRegionId: getSafeId(
`${uid}-panel`,
"Accordion.Item component was rendered with invalid value or without value"
),
transitionDuration,
disableChevronRotation,
chevronPosition,
order,
chevron,
loop,
getStyles: getStyles2,
variant,
unstyled
},
children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ...getStyles2("root"), id: uid, ...others, variant, "data-accordion": true, children })
}
);
}
var extendAccordion = (c) => c;
Accordion.extend = extendAccordion;
Accordion.withProps = getWithProps(Accordion);
Accordion.classes = classes15;
Accordion.displayName = "@mantine/core/Accordion";
Accordion.Item = AccordionItem;
Accordion.Panel = AccordionPanel;
Accordion.Control = AccordionControl;
Accordion.Chevron = AccordionChevron;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Affix/Affix.module.css.mjs
var classes16 = { "root": "m_7f854edf" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Affix/Affix.mjs
var defaultProps30 = {
position: { bottom: 0, right: 0 },
zIndex: getDefaultZIndex("modal"),
withinPortal: true
};
var varsResolver17 = createVarsResolver((_, { zIndex, position }) => ({
root: {
"--affix-z-index": zIndex?.toString(),
"--affix-top": rem(position?.top),
"--affix-left": rem(position?.left),
"--affix-bottom": rem(position?.bottom),
"--affix-right": rem(position?.right)
}
}));
var Affix = factory((_props, ref) => {
const props = useProps("Affix", defaultProps30, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
portalProps,
zIndex,
withinPortal,
position,
...others
} = props;
const getStyles2 = useStyles({
name: "Affix",
classes: classes16,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver17
});
return /* @__PURE__ */ jsxRuntime.jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), ...others }) });
});
Affix.classes = classes16;
Affix.displayName = "@mantine/core/Affix";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Alert/Alert.module.css.mjs
var classes17 = { "root": "m_66836ed3", "wrapper": "m_a5d60502", "body": "m_667c2793", "title": "m_6a03f287", "label": "m_698f4f23", "icon": "m_667f2a6a", "message": "m_7fa78076", "closeButton": "m_87f54839" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Alert/Alert.mjs
var defaultProps31 = {};
var varsResolver18 = createVarsResolver(
(theme, { radius, color, variant, autoContrast }) => {
const colors = theme.variantColorResolver({
color: color || theme.primaryColor,
theme,
variant: variant || "light",
autoContrast
});
return {
root: {
"--alert-radius": radius === void 0 ? void 0 : getRadius(radius),
"--alert-bg": color || variant ? colors.background : void 0,
"--alert-color": colors.color,
"--alert-bd": color || variant ? colors.border : void 0
}
};
}
);
var Alert = factory((_props, ref) => {
const props = useProps("Alert", defaultProps31, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
radius,
color,
title,
children,
id,
icon,
withCloseButton,
onClose,
closeButtonLabel,
variant,
autoContrast,
...others
} = props;
const getStyles2 = useStyles({
name: "Alert",
classes: classes17,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver18
});
const rootId = hooks.useId(id);
const titleId = title && `${rootId}-title` || void 0;
const bodyId = `${rootId}-body`;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
id: rootId,
...getStyles2("root", { variant }),
variant,
ref,
...others,
role: "alert",
"aria-describedby": bodyId,
"aria-labelledby": titleId,
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles2("wrapper"), children: [
icon && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("icon"), children: icon }),
/* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles2("body"), children: [
title && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("title"), "data-with-close-button": withCloseButton || void 0, children: /* @__PURE__ */ jsxRuntime.jsx("span", { id: titleId, ...getStyles2("label"), children: title }) }),
children && /* @__PURE__ */ jsxRuntime.jsx("div", { id: bodyId, ...getStyles2("message"), "data-variant": variant, children })
] }),
withCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
CloseButton,
{
...getStyles2("closeButton"),
onClick: onClose,
variant: "transparent",
size: 16,
iconSize: 16,
"aria-label": closeButtonLabel,
unstyled
}
)
] })
}
);
});
Alert.classes = classes17;
Alert.displayName = "@mantine/core/Alert";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Text/Text.module.css.mjs
var classes18 = { "root": "m_b6d8b162" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Text/Text.mjs
function getTextTruncate(truncate) {
if (truncate === "start") {
return "start";
}
if (truncate === "end" || truncate) {
return "end";
}
return void 0;
}
var defaultProps32 = {
inherit: false
};
var varsResolver19 = createVarsResolver(
(theme, { variant, lineClamp, gradient, size: size4, color }) => ({
root: {
"--text-fz": getFontSize(size4),
"--text-lh": getLineHeight(size4),
"--text-gradient": variant === "gradient" ? getGradient(gradient, theme) : void 0,
"--text-line-clamp": typeof lineClamp === "number" ? lineClamp.toString() : void 0,
"--text-color": color ? getThemeColor(color, theme) : void 0
}
})
);
var Text = polymorphicFactory((_props, ref) => {
const props = useProps("Text", defaultProps32, _props);
const {
lineClamp,
truncate,
inline: inline4,
inherit,
gradient,
span,
__staticSelector,
vars,
className,
style,
classNames,
styles,
unstyled,
variant,
mod,
size: size4,
...others
} = props;
const getStyles2 = useStyles({
name: ["Text", __staticSelector],
props,
classes: classes18,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver19
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root", { focusable: true }),
ref,
component: span ? "span" : "p",
variant,
mod: [
{
"data-truncate": getTextTruncate(truncate),
"data-line-clamp": typeof lineClamp === "number",
"data-inline": inline4,
"data-inherit": inherit
},
mod
],
size: size4,
...others
}
);
});
Text.classes = classes18;
Text.displayName = "@mantine/core/Text";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Anchor/Anchor.module.css.mjs
var classes19 = { "root": "m_849cf0da" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Anchor/Anchor.mjs
var defaultProps33 = {
underline: "hover"
};
var Anchor = polymorphicFactory((props, ref) => {
const { underline, className, unstyled, mod, ...others } = useProps(
"Anchor",
defaultProps33,
props
);
return /* @__PURE__ */ jsxRuntime.jsx(
Text,
{
component: "a",
ref,
className: clsx_default({ [classes19.root]: !unstyled }, className),
...others,
mod: [{ underline }, mod],
__staticSelector: "Anchor",
unstyled
}
);
});
Anchor.classes = classes19;
Anchor.displayName = "@mantine/core/Anchor";
var [AppShellProvider, useAppShellContext] = createSafeContext(
"AppShell was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShell.module.css.mjs
var classes20 = { "root": "m_89ab340", "navbar": "m_45252eee", "aside": "m_9cdde9a", "header": "m_3b16f56b", "main": "m_8983817", "footer": "m_3840c879", "section": "m_6dcfc7c7" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellAside/AppShellAside.mjs
var defaultProps34 = {};
var AppShellAside = factory((_props, ref) => {
const props = useProps("AppShellAside", defaultProps34, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
withBorder,
zIndex,
mod,
...others
} = props;
const ctx = useAppShellContext();
if (ctx.disabled) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "aside",
ref,
mod: [{ "with-border": withBorder ?? ctx.withBorder }, mod],
...ctx.getStyles("aside", { className, classNames, styles, style }),
...others,
__vars: {
"--app-shell-aside-z-index": `calc(${zIndex ?? ctx.zIndex} + 1)`
}
}
);
});
AppShellAside.classes = classes20;
AppShellAside.displayName = "@mantine/core/AppShellAside";
var defaultProps35 = {};
var AppShellFooter = factory((_props, ref) => {
const props = useProps("AppShellFooter", defaultProps35, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
withBorder,
zIndex,
mod,
...others
} = props;
const ctx = useAppShellContext();
if (ctx.disabled) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "footer",
ref,
mod: [{ "with-border": withBorder ?? ctx.withBorder }, mod],
...ctx.getStyles("footer", {
className: clsx_default({ [Combination_default.classNames.zeroRight]: ctx.offsetScrollbars }, className),
classNames,
styles,
style
}),
...others,
__vars: { "--app-shell-footer-z-index": (zIndex ?? ctx.zIndex)?.toString() }
}
);
});
AppShellFooter.classes = classes20;
AppShellFooter.displayName = "@mantine/core/AppShellFooter";
var defaultProps36 = {};
var AppShellHeader = factory((_props, ref) => {
const props = useProps("AppShellHeader", defaultProps36, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
withBorder,
zIndex,
mod,
...others
} = props;
const ctx = useAppShellContext();
if (ctx.disabled) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "header",
ref,
mod: [{ "with-border": withBorder ?? ctx.withBorder }, mod],
...ctx.getStyles("header", {
className: clsx_default({ [Combination_default.classNames.zeroRight]: ctx.offsetScrollbars }, className),
classNames,
styles,
style
}),
...others,
__vars: { "--app-shell-header-z-index": (zIndex ?? ctx.zIndex)?.toString() }
}
);
});
AppShellHeader.classes = classes20;
AppShellHeader.displayName = "@mantine/core/AppShellHeader";
var defaultProps37 = {};
var AppShellMain = factory((_props, ref) => {
const props = useProps("AppShellMain", defaultProps37, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useAppShellContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "main",
ref,
...ctx.getStyles("main", { className, style, classNames, styles }),
...others
}
);
});
AppShellMain.classes = classes20;
AppShellMain.displayName = "@mantine/core/AppShellMain";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/get-base-size/get-base-size.mjs
function getBaseSize(size4) {
if (typeof size4 === "object") {
return size4.base;
}
return size4;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/is-primitive-size/is-primitive-size.mjs
function isPrimitiveSize(size4) {
const isBaseSize = typeof size4 === "object" && size4 !== null && typeof size4.base !== "undefined" && Object.keys(size4).length === 1;
return typeof size4 === "number" || typeof size4 === "string" || isBaseSize;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/is-responsive-size/is-responsive-size.mjs
function isResponsiveSize(size4) {
if (typeof size4 !== "object" || size4 === null) {
return false;
}
if (Object.keys(size4).length === 1 && "base" in size4) {
return false;
}
return true;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/assign-aside-variables/assign-aside-variables.mjs
function assignAsideVariables({
baseStyles,
minMediaStyles,
maxMediaStyles,
aside,
theme
}) {
const asideWidth = aside?.width;
const collapsedAsideTransform = "translateX(var(--app-shell-aside-width))";
const collapsedAsideTransformRtl = "translateX(calc(var(--app-shell-aside-width) * -1))";
if (aside?.breakpoint && !aside?.collapsed?.mobile) {
maxMediaStyles[aside?.breakpoint] = maxMediaStyles[aside?.breakpoint] || {};
maxMediaStyles[aside?.breakpoint]["--app-shell-aside-width"] = "100%";
maxMediaStyles[aside?.breakpoint]["--app-shell-aside-offset"] = "0px";
}
if (isPrimitiveSize(asideWidth)) {
const baseSize = rem(getBaseSize(asideWidth));
baseStyles["--app-shell-aside-width"] = baseSize;
baseStyles["--app-shell-aside-offset"] = baseSize;
}
if (isResponsiveSize(asideWidth)) {
if (typeof asideWidth.base !== "undefined") {
baseStyles["--app-shell-aside-width"] = rem(asideWidth.base);
baseStyles["--app-shell-aside-offset"] = rem(asideWidth.base);
}
keys(asideWidth).forEach((key) => {
if (key !== "base") {
minMediaStyles[key] = minMediaStyles[key] || {};
minMediaStyles[key]["--app-shell-aside-width"] = rem(asideWidth[key]);
minMediaStyles[key]["--app-shell-aside-offset"] = rem(asideWidth[key]);
}
});
}
if (aside?.collapsed?.desktop) {
const breakpointValue = aside.breakpoint;
minMediaStyles[breakpointValue] = minMediaStyles[breakpointValue] || {};
minMediaStyles[breakpointValue]["--app-shell-aside-transform"] = collapsedAsideTransform;
minMediaStyles[breakpointValue]["--app-shell-aside-transform-rtl"] = collapsedAsideTransformRtl;
minMediaStyles[breakpointValue]["--app-shell-aside-offset"] = "0px !important";
}
if (aside?.collapsed?.mobile) {
const breakpointValue = getBreakpointValue(aside.breakpoint, theme.breakpoints) - 0.1;
maxMediaStyles[breakpointValue] = maxMediaStyles[breakpointValue] || {};
maxMediaStyles[breakpointValue]["--app-shell-aside-width"] = "100%";
maxMediaStyles[breakpointValue]["--app-shell-aside-offset"] = "0px";
maxMediaStyles[breakpointValue]["--app-shell-aside-transform"] = collapsedAsideTransform;
maxMediaStyles[breakpointValue]["--app-shell-aside-transform-rtl"] = collapsedAsideTransformRtl;
}
}
function assignFooterVariables({
baseStyles,
minMediaStyles,
footer
}) {
const footerHeight = footer?.height;
const collapsedFooterTransform = "translateY(var(--app-shell-footer-height))";
const shouldOffset = footer?.offset ?? true;
if (isPrimitiveSize(footerHeight)) {
const baseSize = rem(getBaseSize(footerHeight));
baseStyles["--app-shell-footer-height"] = baseSize;
if (shouldOffset) {
baseStyles["--app-shell-footer-offset"] = baseSize;
}
}
if (isResponsiveSize(footerHeight)) {
if (typeof footerHeight.base !== "undefined") {
baseStyles["--app-shell-footer-height"] = rem(footerHeight.base);
if (shouldOffset) {
baseStyles["--app-shell-footer-offset"] = rem(footerHeight.base);
}
}
keys(footerHeight).forEach((key) => {
if (key !== "base") {
minMediaStyles[key] = minMediaStyles[key] || {};
minMediaStyles[key]["--app-shell-footer-height"] = rem(footerHeight[key]);
if (shouldOffset) {
minMediaStyles[key]["--app-shell-footer-offset"] = rem(footerHeight[key]);
}
}
});
}
if (footer?.collapsed) {
baseStyles["--app-shell-footer-transform"] = collapsedFooterTransform;
baseStyles["--app-shell-footer-offset"] = "0px !important";
}
}
function assignHeaderVariables({
baseStyles,
minMediaStyles,
header
}) {
const headerHeight = header?.height;
const collapsedHeaderTransform = "translateY(calc(var(--app-shell-header-height) * -1))";
const shouldOffset = header?.offset ?? true;
if (isPrimitiveSize(headerHeight)) {
const baseSize = rem(getBaseSize(headerHeight));
baseStyles["--app-shell-header-height"] = baseSize;
if (shouldOffset) {
baseStyles["--app-shell-header-offset"] = baseSize;
}
}
if (isResponsiveSize(headerHeight)) {
if (typeof headerHeight.base !== "undefined") {
baseStyles["--app-shell-header-height"] = rem(headerHeight.base);
if (shouldOffset) {
baseStyles["--app-shell-header-offset"] = rem(headerHeight.base);
}
}
keys(headerHeight).forEach((key) => {
if (key !== "base") {
minMediaStyles[key] = minMediaStyles[key] || {};
minMediaStyles[key]["--app-shell-header-height"] = rem(headerHeight[key]);
if (shouldOffset) {
minMediaStyles[key]["--app-shell-header-offset"] = rem(headerHeight[key]);
}
}
});
}
if (header?.collapsed) {
baseStyles["--app-shell-header-transform"] = collapsedHeaderTransform;
baseStyles["--app-shell-header-offset"] = "0px !important";
}
}
function assignNavbarVariables({
baseStyles,
minMediaStyles,
maxMediaStyles,
navbar,
theme
}) {
const navbarWidth = navbar?.width;
const collapsedNavbarTransform = "translateX(calc(var(--app-shell-navbar-width) * -1))";
const collapsedNavbarTransformRtl = "translateX(var(--app-shell-navbar-width))";
if (navbar?.breakpoint && !navbar?.collapsed?.mobile) {
maxMediaStyles[navbar?.breakpoint] = maxMediaStyles[navbar?.breakpoint] || {};
maxMediaStyles[navbar?.breakpoint]["--app-shell-navbar-width"] = "100%";
maxMediaStyles[navbar?.breakpoint]["--app-shell-navbar-offset"] = "0px";
}
if (isPrimitiveSize(navbarWidth)) {
const baseSize = rem(getBaseSize(navbarWidth));
baseStyles["--app-shell-navbar-width"] = baseSize;
baseStyles["--app-shell-navbar-offset"] = baseSize;
}
if (isResponsiveSize(navbarWidth)) {
if (typeof navbarWidth.base !== "undefined") {
baseStyles["--app-shell-navbar-width"] = rem(navbarWidth.base);
baseStyles["--app-shell-navbar-offset"] = rem(navbarWidth.base);
}
keys(navbarWidth).forEach((key) => {
if (key !== "base") {
minMediaStyles[key] = minMediaStyles[key] || {};
minMediaStyles[key]["--app-shell-navbar-width"] = rem(navbarWidth[key]);
minMediaStyles[key]["--app-shell-navbar-offset"] = rem(navbarWidth[key]);
}
});
}
if (navbar?.collapsed?.desktop) {
const breakpointValue = navbar.breakpoint;
minMediaStyles[breakpointValue] = minMediaStyles[breakpointValue] || {};
minMediaStyles[breakpointValue]["--app-shell-navbar-transform"] = collapsedNavbarTransform;
minMediaStyles[breakpointValue]["--app-shell-navbar-transform-rtl"] = collapsedNavbarTransformRtl;
minMediaStyles[breakpointValue]["--app-shell-navbar-offset"] = "0px !important";
}
if (navbar?.collapsed?.mobile) {
const breakpointValue = getBreakpointValue(navbar.breakpoint, theme.breakpoints) - 0.1;
maxMediaStyles[breakpointValue] = maxMediaStyles[breakpointValue] || {};
maxMediaStyles[breakpointValue]["--app-shell-navbar-width"] = "100%";
maxMediaStyles[breakpointValue]["--app-shell-navbar-offset"] = "0px";
maxMediaStyles[breakpointValue]["--app-shell-navbar-transform"] = collapsedNavbarTransform;
maxMediaStyles[breakpointValue]["--app-shell-navbar-transform-rtl"] = collapsedNavbarTransformRtl;
}
}
function getPaddingValue(padding) {
return Number(padding) === 0 ? "0px" : getSpacing(padding);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/assign-padding-variables/assign-padding-variables.mjs
function assignPaddingVariables({
padding,
baseStyles,
minMediaStyles
}) {
if (isPrimitiveSize(padding)) {
baseStyles["--app-shell-padding"] = getPaddingValue(getBaseSize(padding));
}
if (isResponsiveSize(padding)) {
if (padding.base) {
baseStyles["--app-shell-padding"] = getPaddingValue(padding.base);
}
keys(padding).forEach((key) => {
if (key !== "base") {
minMediaStyles[key] = minMediaStyles[key] || {};
minMediaStyles[key]["--app-shell-padding"] = getPaddingValue(padding[key]);
}
});
}
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/get-variables/get-variables.mjs
function getVariables({ navbar, header, footer, aside, padding, theme }) {
const minMediaStyles = {};
const maxMediaStyles = {};
const baseStyles = {};
assignNavbarVariables({
baseStyles,
minMediaStyles,
maxMediaStyles,
navbar,
theme
});
assignAsideVariables({
baseStyles,
minMediaStyles,
maxMediaStyles,
aside,
theme
});
assignHeaderVariables({ baseStyles, minMediaStyles, header });
assignFooterVariables({ baseStyles, minMediaStyles, footer });
assignPaddingVariables({ baseStyles, minMediaStyles, padding });
const minMedia = getSortedBreakpoints(keys(minMediaStyles), theme.breakpoints).map(
(breakpoint) => ({
query: `(min-width: ${em(breakpoint.px)})`,
styles: minMediaStyles[breakpoint.value]
})
);
const maxMedia = getSortedBreakpoints(keys(maxMediaStyles), theme.breakpoints).map(
(breakpoint) => ({
query: `(max-width: ${em(breakpoint.px)})`,
styles: maxMediaStyles[breakpoint.value]
})
);
const media = [...minMedia, ...maxMedia];
return { baseStyles, media };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShellMediaStyles/AppShellMediaStyles.mjs
function AppShellMediaStyles({
navbar,
header,
aside,
footer,
padding
}) {
const theme = useMantineTheme();
const ctx = useMantineContext();
const { media, baseStyles } = getVariables({ navbar, header, footer, aside, padding, theme });
return /* @__PURE__ */ jsxRuntime.jsx(InlineStyles, { media, styles: baseStyles, selector: ctx.cssVariablesSelector });
}
var defaultProps38 = {};
var AppShellNavbar = factory((_props, ref) => {
const props = useProps("AppShellNavbar", defaultProps38, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
withBorder,
zIndex,
mod,
...others
} = props;
const ctx = useAppShellContext();
if (ctx.disabled) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "nav",
ref,
mod: [{ "with-border": withBorder ?? ctx.withBorder }, mod],
...ctx.getStyles("navbar", { className, classNames, styles, style }),
...others,
__vars: {
"--app-shell-navbar-z-index": `calc(${zIndex ?? ctx.zIndex} + 1)`
}
}
);
});
AppShellNavbar.classes = classes20;
AppShellNavbar.displayName = "@mantine/core/AppShellNavbar";
var defaultProps39 = {};
var AppShellSection = polymorphicFactory((_props, ref) => {
const props = useProps("AppShellSection", defaultProps39, _props);
const { classNames, className, style, styles, vars, grow, mod, ...others } = props;
const ctx = useAppShellContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
mod: [{ grow }, mod],
...ctx.getStyles("section", { className, style, classNames, styles }),
...others
}
);
});
AppShellSection.classes = classes20;
AppShellSection.displayName = "@mantine/core/AppShellSection";
function useResizing({ transitionDuration, disabled }) {
const [resizing, setResizing] = React9.useState(true);
const resizingTimeout = React9.useRef();
const disabledTimeout = React9.useRef();
hooks.useWindowEvent("resize", () => {
setResizing(true);
clearTimeout(resizingTimeout.current);
resizingTimeout.current = window.setTimeout(
() => React9.startTransition(() => {
setResizing(false);
}),
200
);
});
hooks.useIsomorphicEffect(() => {
setResizing(true);
clearTimeout(disabledTimeout.current);
disabledTimeout.current = window.setTimeout(
() => React9.startTransition(() => {
setResizing(false);
}),
transitionDuration || 0
);
}, [disabled, transitionDuration]);
return resizing;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AppShell/AppShell.mjs
var defaultProps40 = {
withBorder: true,
offsetScrollbars: true,
padding: 0,
transitionDuration: 200,
transitionTimingFunction: "ease",
zIndex: getDefaultZIndex("app")
};
var varsResolver20 = createVarsResolver(
(_, { transitionDuration, transitionTimingFunction }) => ({
root: {
"--app-shell-transition-duration": `${transitionDuration}ms`,
"--app-shell-transition-timing-function": transitionTimingFunction
}
})
);
var AppShell = factory((_props, ref) => {
const props = useProps("AppShell", defaultProps40, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
navbar,
withBorder,
padding,
transitionDuration,
transitionTimingFunction,
header,
zIndex,
layout,
disabled,
aside,
footer,
offsetScrollbars,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "AppShell",
classes: classes20,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver20
});
const resizing = useResizing({ disabled, transitionDuration });
return /* @__PURE__ */ jsxRuntime.jsxs(AppShellProvider, { value: { getStyles: getStyles2, withBorder, zIndex, disabled, offsetScrollbars }, children: [
/* @__PURE__ */ jsxRuntime.jsx(
AppShellMediaStyles,
{
navbar,
header,
aside,
footer,
padding
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...getStyles2("root"),
mod: [{ resizing, layout, disabled }, mod],
...others
}
)
] });
});
AppShell.classes = classes20;
AppShell.displayName = "@mantine/core/AppShell";
AppShell.Navbar = AppShellNavbar;
AppShell.Header = AppShellHeader;
AppShell.Main = AppShellMain;
AppShell.Aside = AppShellAside;
AppShell.Footer = AppShellFooter;
AppShell.Section = AppShellSection;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AspectRatio/AspectRatio.module.css.mjs
var classes21 = { "root": "m_71ac47fc" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/AspectRatio/AspectRatio.mjs
var defaultProps41 = {};
var varsResolver21 = createVarsResolver((_, { ratio }) => ({
root: {
"--ar-ratio": ratio?.toString()
}
}));
var AspectRatio = factory((_props, ref) => {
const props = useProps("AspectRatio", defaultProps41, _props);
const { classNames, className, style, styles, unstyled, vars, ratio, ...others } = props;
const getStyles2 = useStyles({
name: "AspectRatio",
classes: classes21,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver21
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), ...others });
});
AspectRatio.classes = classes21;
AspectRatio.displayName = "@mantine/core/AspectRatio";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/get-parsed-combobox-data/get-parsed-combobox-data.mjs
function parseItem(item) {
if (typeof item === "string") {
return { value: item, label: item };
}
if ("value" in item && !("label" in item)) {
return { value: item.value, label: item.value, disabled: item.disabled };
}
if (typeof item === "number") {
return { value: item.toString(), label: item.toString() };
}
if ("group" in item) {
return {
group: item.group,
items: item.items.map((i) => parseItem(i))
};
}
return item;
}
function getParsedComboboxData(data) {
if (!data) {
return [];
}
return data.map((item) => parseItem(item));
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/get-options-lockup/get-options-lockup.mjs
function getOptionsLockup(options) {
return options.reduce((acc, item) => {
if ("group" in item) {
return { ...acc, ...getOptionsLockup(item.items) };
}
acc[item.value] = item;
return acc;
}, {});
}
function getLabelsLockup(options) {
return options.reduce((acc, item) => {
if ("group" in item) {
return { ...acc, ...getLabelsLockup(item.items) };
}
acc[item.label] = item;
return acc;
}, {});
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/Combobox.module.css.mjs
var classes22 = { "dropdown": "m_88b62a41", "search": "m_985517d8", "options": "m_b2821a6e", "option": "m_92253aa5", "empty": "m_2530cd1d", "header": "m_858f94bd", "footer": "m_82b967cb", "group": "m_254f3e4f", "groupLabel": "m_2bb2e9e5", "chevron": "m_2943220b", "optionsDropdownOption": "m_390b5f4", "optionsDropdownCheckIcon": "m_8ee53fc2" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/ComboboxChevron/ComboboxChevron.mjs
var defaultProps42 = {
error: null
};
var varsResolver22 = createVarsResolver((_, { size: size4 }) => ({
chevron: {
"--combobox-chevron-size": getSize(size4, "combobox-chevron-size")
}
}));
var ComboboxChevron = factory((_props, ref) => {
const props = useProps("ComboboxChevron", defaultProps42, _props);
const { size: size4, error: error2, style, className, classNames, styles, unstyled, vars, mod, ...others } = props;
const getStyles2 = useStyles({
name: "ComboboxChevron",
classes: classes22,
props,
style,
className,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver22,
rootSelector: "chevron"
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "svg",
...others,
...getStyles2("chevron"),
size: size4,
viewBox: "0 0 15 15",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
mod: ["combobox-chevron", { error: error2 }, mod],
ref,
children: /* @__PURE__ */ jsxRuntime.jsx(
"path",
{
d: "M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",
fill: "currentColor",
fillRule: "evenodd",
clipRule: "evenodd"
}
)
}
);
});
ComboboxChevron.classes = classes22;
ComboboxChevron.displayName = "@mantine/core/ComboboxChevron";
var [ComboboxProvider, useComboboxContext] = createSafeContext(
"Combobox component was not found in tree"
);
var ComboboxClearButton = React9.forwardRef(
({ size: size4, onMouseDown, onClick, onClear, ...others }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
CloseButton,
{
ref,
size: size4 || "sm",
variant: "transparent",
tabIndex: -1,
"aria-hidden": true,
...others,
onMouseDown: (event) => {
event.preventDefault();
onMouseDown?.(event);
},
onClick: (event) => {
onClear();
onClick?.(event);
}
}
)
);
ComboboxClearButton.displayName = "@mantine/core/ComboboxClearButton";
var defaultProps43 = {};
var ComboboxDropdown = factory((props, ref) => {
const { classNames, styles, className, style, hidden, ...others } = useProps(
"ComboboxDropdown",
defaultProps43,
props
);
const ctx = useComboboxContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Popover.Dropdown,
{
...others,
ref,
role: "presentation",
"data-hidden": hidden || void 0,
...ctx.getStyles("dropdown", { className, style, classNames, styles })
}
);
});
ComboboxDropdown.classes = classes22;
ComboboxDropdown.displayName = "@mantine/core/ComboboxDropdown";
var defaultProps44 = {
refProp: "ref"
};
var ComboboxDropdownTarget = factory((props, ref) => {
const { children, refProp } = useProps("ComboboxDropdownTarget", defaultProps44, props);
useComboboxContext();
if (!isElement(children)) {
throw new Error(
"Combobox.DropdownTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
);
}
return /* @__PURE__ */ jsxRuntime.jsx(Popover.Target, { ref, refProp, children });
});
ComboboxDropdownTarget.displayName = "@mantine/core/ComboboxDropdownTarget";
var defaultProps45 = {};
var ComboboxEmpty = factory((props, ref) => {
const { classNames, className, style, styles, vars, ...others } = useProps(
"ComboboxEmpty",
defaultProps45,
props
);
const ctx = useComboboxContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("empty", { className, classNames, styles, style }),
...others
}
);
});
ComboboxEmpty.classes = classes22;
ComboboxEmpty.displayName = "@mantine/core/ComboboxEmpty";
function useComboboxTargetProps({
onKeyDown,
withKeyboardNavigation,
withAriaAttributes,
withExpandedAttribute,
targetType,
autoComplete
}) {
const ctx = useComboboxContext();
const [selectedOptionId, setSelectedOptionId] = React9.useState(null);
const handleKeyDown = (event) => {
onKeyDown?.(event);
if (ctx.readOnly) {
return;
}
if (withKeyboardNavigation) {
if (event.nativeEvent.isComposing) {
return;
}
if (event.nativeEvent.code === "ArrowDown") {
event.preventDefault();
if (!ctx.store.dropdownOpened) {
ctx.store.openDropdown("keyboard");
setSelectedOptionId(ctx.store.selectActiveOption());
} else {
setSelectedOptionId(ctx.store.selectNextOption());
}
}
if (event.nativeEvent.code === "ArrowUp") {
event.preventDefault();
if (!ctx.store.dropdownOpened) {
ctx.store.openDropdown("keyboard");
setSelectedOptionId(ctx.store.selectActiveOption());
} else {
setSelectedOptionId(ctx.store.selectPreviousOption());
}
}
if (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "NumpadEnter") {
if (event.nativeEvent.keyCode === 229) {
return;
}
const selectedOptionIndex = ctx.store.getSelectedOptionIndex();
if (ctx.store.dropdownOpened && selectedOptionIndex !== -1) {
event.preventDefault();
ctx.store.clickSelectedOption();
} else if (targetType === "button") {
event.preventDefault();
ctx.store.openDropdown("keyboard");
}
}
if (event.nativeEvent.code === "Escape") {
ctx.store.closeDropdown("keyboard");
}
if (event.nativeEvent.code === "Space") {
if (targetType === "button") {
event.preventDefault();
ctx.store.toggleDropdown("keyboard");
}
}
}
};
const ariaAttributes = withAriaAttributes ? {
"aria-haspopup": "listbox",
"aria-expanded": withExpandedAttribute && !!(ctx.store.listId && ctx.store.dropdownOpened) || void 0,
"aria-controls": ctx.store.listId,
"aria-activedescendant": ctx.store.dropdownOpened ? selectedOptionId || void 0 : void 0,
autoComplete,
"data-expanded": ctx.store.dropdownOpened || void 0,
"data-mantine-stop-propagation": ctx.store.dropdownOpened || void 0
} : {};
return {
...ariaAttributes,
onKeyDown: handleKeyDown
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/ComboboxEventsTarget/ComboboxEventsTarget.mjs
var defaultProps46 = {
refProp: "ref",
targetType: "input",
withKeyboardNavigation: true,
withAriaAttributes: true,
withExpandedAttribute: false,
autoComplete: "off"
};
var ComboboxEventsTarget = factory((props, ref) => {
const {
children,
refProp,
withKeyboardNavigation,
withAriaAttributes,
withExpandedAttribute,
targetType,
autoComplete,
...others
} = useProps("ComboboxEventsTarget", defaultProps46, props);
if (!isElement(children)) {
throw new Error(
"Combobox.EventsTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
);
}
const ctx = useComboboxContext();
const targetProps = useComboboxTargetProps({
targetType,
withAriaAttributes,
withKeyboardNavigation,
withExpandedAttribute,
onKeyDown: children.props.onKeyDown,
autoComplete
});
return React9.cloneElement(children, {
...targetProps,
...others,
[refProp]: hooks.useMergedRef(ref, ctx.store.targetRef, children?.ref)
});
});
ComboboxEventsTarget.displayName = "@mantine/core/ComboboxEventsTarget";
var defaultProps47 = {};
var ComboboxFooter = factory((props, ref) => {
const { classNames, className, style, styles, vars, ...others } = useProps(
"ComboboxFooter",
defaultProps47,
props
);
const ctx = useComboboxContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("footer", { className, classNames, style, styles }),
...others,
onMouseDown: (event) => {
event.preventDefault();
}
}
);
});
ComboboxFooter.classes = classes22;
ComboboxFooter.displayName = "@mantine/core/ComboboxFooter";
var defaultProps48 = {};
var ComboboxGroup = factory((props, ref) => {
const { classNames, className, style, styles, vars, children, label, ...others } = useProps(
"ComboboxGroup",
defaultProps48,
props
);
const ctx = useComboboxContext();
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
ref,
...ctx.getStyles("group", { className, classNames, style, styles }),
...others,
children: [
label && /* @__PURE__ */ jsxRuntime.jsx("div", { ...ctx.getStyles("groupLabel", { classNames, styles }), children: label }),
children
]
}
);
});
ComboboxGroup.classes = classes22;
ComboboxGroup.displayName = "@mantine/core/ComboboxGroup";
var defaultProps49 = {};
var ComboboxHeader = factory((props, ref) => {
const { classNames, className, style, styles, vars, ...others } = useProps(
"ComboboxHeader",
defaultProps49,
props
);
const ctx = useComboboxContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("header", { className, classNames, style, styles }),
...others,
onMouseDown: (event) => {
event.preventDefault();
}
}
);
});
ComboboxHeader.classes = classes22;
ComboboxHeader.displayName = "@mantine/core/ComboboxHeader";
function ComboboxHiddenInput({
value,
valuesDivider = ",",
...others
}) {
return /* @__PURE__ */ jsxRuntime.jsx(
"input",
{
type: "hidden",
value: Array.isArray(value) ? value.join(valuesDivider) : value || "",
...others
}
);
}
ComboboxHiddenInput.displayName = "@mantine/core/ComboboxHiddenInput";
var defaultProps50 = {};
var ComboboxOption = factory((_props, ref) => {
const props = useProps("ComboboxOption", defaultProps50, _props);
const {
classNames,
className,
style,
styles,
vars,
onClick,
id,
active,
onMouseDown,
onMouseOver,
disabled,
selected,
mod,
...others
} = props;
const ctx = useComboboxContext();
const uuid = React9.useId();
const _id = id || uuid;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...ctx.getStyles("option", { className, classNames, styles, style }),
...others,
ref,
id: _id,
mod: [
"combobox-option",
{ "combobox-active": active, "combobox-disabled": disabled, "combobox-selected": selected },
mod
],
role: "option",
onClick: (event) => {
if (!disabled) {
ctx.onOptionSubmit?.(props.value, props);
onClick?.(event);
} else {
event.preventDefault();
}
},
onMouseDown: (event) => {
event.preventDefault();
onMouseDown?.(event);
},
onMouseOver: (event) => {
if (ctx.resetSelectionOnOptionHover) {
ctx.store.resetSelectedOption();
}
onMouseOver?.(event);
}
}
);
});
ComboboxOption.classes = classes22;
ComboboxOption.displayName = "@mantine/core/ComboboxOption";
var defaultProps51 = {};
var ComboboxOptions = factory((_props, ref) => {
const props = useProps("ComboboxOptions", defaultProps51, _props);
const { classNames, className, style, styles, id, onMouseDown, labelledBy, ...others } = props;
const ctx = useComboboxContext();
const _id = hooks.useId(id);
React9.useEffect(() => {
ctx.store.setListId(_id);
}, [_id]);
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("options", { className, style, classNames, styles }),
...others,
id: _id,
role: "listbox",
"aria-labelledby": labelledBy,
onMouseDown: (event) => {
event.preventDefault();
onMouseDown?.(event);
}
}
);
});
ComboboxOptions.classes = classes22;
ComboboxOptions.displayName = "@mantine/core/ComboboxOptions";
var defaultProps52 = {
withAriaAttributes: true,
withKeyboardNavigation: true
};
var ComboboxSearch = factory((_props, ref) => {
const props = useProps("ComboboxSearch", defaultProps52, _props);
const {
classNames,
styles,
unstyled,
vars,
withAriaAttributes,
onKeyDown,
withKeyboardNavigation,
size: size4,
...others
} = props;
const ctx = useComboboxContext();
const _styles = ctx.getStyles("search");
const targetProps = useComboboxTargetProps({
targetType: "input",
withAriaAttributes,
withKeyboardNavigation,
withExpandedAttribute: false,
onKeyDown,
autoComplete: "off"
});
return /* @__PURE__ */ jsxRuntime.jsx(
Input,
{
ref: hooks.useMergedRef(ref, ctx.store.searchRef),
classNames: [{ input: _styles.className }, classNames],
styles: [{ input: _styles.style }, styles],
size: size4 || ctx.size,
...targetProps,
...others,
__staticSelector: "Combobox"
}
);
});
ComboboxSearch.classes = classes22;
ComboboxSearch.displayName = "@mantine/core/ComboboxSearch";
var defaultProps53 = {
refProp: "ref",
targetType: "input",
withKeyboardNavigation: true,
withAriaAttributes: true,
withExpandedAttribute: false,
autoComplete: "off"
};
var ComboboxTarget = factory((props, ref) => {
const {
children,
refProp,
withKeyboardNavigation,
withAriaAttributes,
withExpandedAttribute,
targetType,
autoComplete,
...others
} = useProps("ComboboxTarget", defaultProps53, props);
if (!isElement(children)) {
throw new Error(
"Combobox.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
);
}
const ctx = useComboboxContext();
const targetProps = useComboboxTargetProps({
targetType,
withAriaAttributes,
withKeyboardNavigation,
withExpandedAttribute,
onKeyDown: children.props.onKeyDown,
autoComplete
});
const clonedElement = React9.cloneElement(children, {
...targetProps,
...others
});
return /* @__PURE__ */ jsxRuntime.jsx(Popover.Target, { ref: hooks.useMergedRef(ref, ctx.store.targetRef), children: clonedElement });
});
ComboboxTarget.displayName = "@mantine/core/ComboboxTarget";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/use-combobox/get-index/get-index.mjs
function getPreviousIndex2(currentIndex, elements, loop) {
for (let i = currentIndex - 1; i >= 0; i -= 1) {
if (!elements[i].hasAttribute("data-combobox-disabled")) {
return i;
}
}
if (loop) {
for (let i = elements.length - 1; i > -1; i -= 1) {
if (!elements[i].hasAttribute("data-combobox-disabled")) {
return i;
}
}
}
return currentIndex;
}
function getNextIndex2(currentIndex, elements, loop) {
for (let i = currentIndex + 1; i < elements.length; i += 1) {
if (!elements[i].hasAttribute("data-combobox-disabled")) {
return i;
}
}
if (loop) {
for (let i = 0; i < elements.length; i += 1) {
if (!elements[i].hasAttribute("data-combobox-disabled")) {
return i;
}
}
}
return currentIndex;
}
function getFirstIndex(elements) {
for (let i = 0; i < elements.length; i += 1) {
if (!elements[i].hasAttribute("data-combobox-disabled")) {
return i;
}
}
return -1;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/use-combobox/use-combobox.mjs
function useCombobox({
defaultOpened,
opened,
onOpenedChange,
onDropdownClose,
onDropdownOpen,
loop = true,
scrollBehavior = "instant"
} = {}) {
const [dropdownOpened, setDropdownOpened] = hooks.useUncontrolled({
value: opened,
defaultValue: defaultOpened,
finalValue: false,
onChange: onOpenedChange
});
const listId = React9.useRef(null);
const selectedOptionIndex = React9.useRef(-1);
const searchRef = React9.useRef(null);
const targetRef = React9.useRef(null);
const focusSearchTimeout = React9.useRef(-1);
const focusTargetTimeout = React9.useRef(-1);
const selectedIndexUpdateTimeout = React9.useRef(-1);
const openDropdown = React9.useCallback(
(eventSource = "unknown") => {
if (!dropdownOpened) {
setDropdownOpened(true);
onDropdownOpen?.(eventSource);
}
},
[setDropdownOpened, onDropdownOpen, dropdownOpened]
);
const closeDropdown = React9.useCallback(
(eventSource = "unknown") => {
if (dropdownOpened) {
setDropdownOpened(false);
onDropdownClose?.(eventSource);
}
},
[setDropdownOpened, onDropdownClose, dropdownOpened]
);
const toggleDropdown = React9.useCallback(
(eventSource = "unknown") => {
if (dropdownOpened) {
closeDropdown(eventSource);
} else {
openDropdown(eventSource);
}
},
[closeDropdown, openDropdown, dropdownOpened]
);
const clearSelectedItem = React9.useCallback(() => {
const selected = document.querySelector(`#${listId.current} [data-combobox-selected]`);
selected?.removeAttribute("data-combobox-selected");
selected?.removeAttribute("aria-selected");
}, []);
const selectOption = React9.useCallback(
(index3) => {
const list = document.getElementById(listId.current);
const items = list?.querySelectorAll("[data-combobox-option]");
if (!items) {
return null;
}
const nextIndex = index3 >= items.length ? 0 : index3 < 0 ? items.length - 1 : index3;
selectedOptionIndex.current = nextIndex;
if (items?.[nextIndex] && !items[nextIndex].hasAttribute("data-combobox-disabled")) {
clearSelectedItem();
items[nextIndex].setAttribute("data-combobox-selected", "true");
items[nextIndex].setAttribute("aria-selected", "true");
items[nextIndex].scrollIntoView({ block: "nearest", behavior: scrollBehavior });
return items[nextIndex].id;
}
return null;
},
[scrollBehavior, clearSelectedItem]
);
const selectActiveOption = React9.useCallback(() => {
const activeOption = document.querySelector(
`#${listId.current} [data-combobox-active]`
);
if (activeOption) {
const items = document.querySelectorAll(
`#${listId.current} [data-combobox-option]`
);
const index3 = Array.from(items).findIndex((option) => option === activeOption);
return selectOption(index3);
}
return selectOption(0);
}, [selectOption]);
const selectNextOption = React9.useCallback(
() => selectOption(
getNextIndex2(
selectedOptionIndex.current,
document.querySelectorAll(`#${listId.current} [data-combobox-option]`),
loop
)
),
[selectOption, loop]
);
const selectPreviousOption = React9.useCallback(
() => selectOption(
getPreviousIndex2(
selectedOptionIndex.current,
document.querySelectorAll(`#${listId.current} [data-combobox-option]`),
loop
)
),
[selectOption, loop]
);
const selectFirstOption = React9.useCallback(
() => selectOption(
getFirstIndex(
document.querySelectorAll(`#${listId.current} [data-combobox-option]`)
)
),
[selectOption]
);
const updateSelectedOptionIndex = React9.useCallback(
(target = "selected", options) => {
selectedIndexUpdateTimeout.current = window.setTimeout(() => {
const items = document.querySelectorAll(
`#${listId.current} [data-combobox-option]`
);
const index3 = Array.from(items).findIndex(
(option) => option.hasAttribute(`data-combobox-${target}`)
);
selectedOptionIndex.current = index3;
if (options?.scrollIntoView) {
items[index3]?.scrollIntoView({ block: "nearest", behavior: scrollBehavior });
}
}, 0);
},
[]
);
const resetSelectedOption = React9.useCallback(() => {
selectedOptionIndex.current = -1;
clearSelectedItem();
}, [clearSelectedItem]);
const clickSelectedOption = React9.useCallback(() => {
const items = document.querySelectorAll(
`#${listId.current} [data-combobox-option]`
);
const item = items?.[selectedOptionIndex.current];
item?.click();
}, []);
const setListId = React9.useCallback((id) => {
listId.current = id;
}, []);
const focusSearchInput = React9.useCallback(() => {
focusSearchTimeout.current = window.setTimeout(() => searchRef.current.focus(), 0);
}, []);
const focusTarget = React9.useCallback(() => {
focusTargetTimeout.current = window.setTimeout(() => targetRef.current.focus(), 0);
}, []);
const getSelectedOptionIndex = React9.useCallback(() => selectedOptionIndex.current, []);
React9.useEffect(
() => () => {
window.clearTimeout(focusSearchTimeout.current);
window.clearTimeout(focusTargetTimeout.current);
window.clearTimeout(selectedIndexUpdateTimeout.current);
},
[]
);
return {
dropdownOpened,
openDropdown,
closeDropdown,
toggleDropdown,
selectedOptionIndex: selectedOptionIndex.current,
getSelectedOptionIndex,
selectOption,
selectFirstOption,
selectActiveOption,
selectNextOption,
selectPreviousOption,
resetSelectedOption,
updateSelectedOptionIndex,
listId: listId.current,
setListId,
clickSelectedOption,
searchRef,
focusSearchInput,
targetRef,
focusTarget
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/Combobox.mjs
var defaultProps54 = {
keepMounted: true,
withinPortal: true,
resetSelectionOnOptionHover: false,
width: "target",
transitionProps: { transition: "fade", duration: 0 }
};
var varsResolver23 = createVarsResolver((_, { size: size4, dropdownPadding }) => ({
options: {
"--combobox-option-fz": getFontSize(size4),
"--combobox-option-padding": getSize(size4, "combobox-option-padding")
},
dropdown: {
"--combobox-padding": dropdownPadding === void 0 ? void 0 : rem(dropdownPadding),
"--combobox-option-fz": getFontSize(size4),
"--combobox-option-padding": getSize(size4, "combobox-option-padding")
}
}));
function Combobox(_props) {
const props = useProps("Combobox", defaultProps54, _props);
const {
classNames,
styles,
unstyled,
children,
store: controlledStore,
vars,
onOptionSubmit,
onClose,
size: size4,
dropdownPadding,
resetSelectionOnOptionHover,
__staticSelector,
readOnly,
...others
} = props;
const uncontrolledStore = useCombobox();
const store = controlledStore || uncontrolledStore;
const getStyles2 = useStyles({
name: __staticSelector || "Combobox",
classes: classes22,
props,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver23
});
const onDropdownClose = () => {
onClose?.();
store.closeDropdown();
};
return /* @__PURE__ */ jsxRuntime.jsx(
ComboboxProvider,
{
value: {
getStyles: getStyles2,
store,
onOptionSubmit,
size: size4,
resetSelectionOnOptionHover,
readOnly
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Popover,
{
opened: store.dropdownOpened,
...others,
onClose: onDropdownClose,
withRoles: false,
unstyled,
children
}
)
}
);
}
var extendCombobox = (c) => c;
Combobox.extend = extendCombobox;
Combobox.classes = classes22;
Combobox.displayName = "@mantine/core/Combobox";
Combobox.Target = ComboboxTarget;
Combobox.Dropdown = ComboboxDropdown;
Combobox.Options = ComboboxOptions;
Combobox.Option = ComboboxOption;
Combobox.Search = ComboboxSearch;
Combobox.Empty = ComboboxEmpty;
Combobox.Chevron = ComboboxChevron;
Combobox.Footer = ComboboxFooter;
Combobox.Header = ComboboxHeader;
Combobox.EventsTarget = ComboboxEventsTarget;
Combobox.DropdownTarget = ComboboxDropdownTarget;
Combobox.Group = ComboboxGroup;
Combobox.ClearButton = ComboboxClearButton;
Combobox.HiddenInput = ComboboxHiddenInput;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/InlineInput/InlineInput.module.css.mjs
var classes23 = { "root": "m_5f75b09e", "body": "m_5f6e695e", "labelWrapper": "m_d3ea56bb", "label": "m_8ee546b8", "description": "m_328f68c0", "error": "m_8e8a99cc" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/InlineInput/InlineInput.mjs
var InlineInputClasses = classes23;
var InlineInput = React9.forwardRef(
({
__staticSelector,
__stylesApiProps,
className,
classNames,
styles,
unstyled,
children,
label,
description,
id,
disabled,
error: error2,
size: size4,
labelPosition = "left",
bodyElement = "div",
labelElement = "label",
variant,
style,
vars,
mod,
...others
}, ref) => {
const getStyles2 = useStyles({
name: __staticSelector,
props: __stylesApiProps,
className,
style,
classes: classes23,
classNames,
styles,
unstyled
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root"),
ref,
__vars: {
"--label-fz": getFontSize(size4),
"--label-lh": getSize(size4, "label-lh")
},
mod: [{ "label-position": labelPosition }, mod],
variant,
size: size4,
...others,
children: /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
component: bodyElement,
htmlFor: bodyElement === "label" ? id : void 0,
...getStyles2("body"),
children: [
children,
/* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles2("labelWrapper"), "data-disabled": disabled || void 0, children: [
label && /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: labelElement,
htmlFor: labelElement === "label" ? id : void 0,
...getStyles2("label"),
"data-disabled": disabled || void 0,
children: label
}
),
description && /* @__PURE__ */ jsxRuntime.jsx(Input.Description, { size: size4, __inheritStyles: false, ...getStyles2("description"), children: description }),
error2 && typeof error2 !== "boolean" && /* @__PURE__ */ jsxRuntime.jsx(Input.Error, { size: size4, __inheritStyles: false, ...getStyles2("error"), children: error2 })
] })
]
}
)
}
);
}
);
InlineInput.displayName = "@mantine/core/InlineInput";
var CheckboxGroupContext = React9.createContext(null);
var CheckboxGroupProvider = CheckboxGroupContext.Provider;
var useCheckboxGroupContext = () => React9.useContext(CheckboxGroupContext);
var [CheckboxCardProvider, useCheckboxCardContext] = createOptionalContext();
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Checkbox/CheckboxCard/CheckboxCard.module.css.mjs
var classes24 = { "card": "m_26775b0a" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Checkbox/CheckboxCard/CheckboxCard.mjs
var defaultProps55 = {
withBorder: true
};
var varsResolver24 = createVarsResolver((_, { radius }) => ({
card: {
"--card-radius": getRadius(radius)
}
}));
var CheckboxCard = factory((_props, ref) => {
const props = useProps("CheckboxCard", defaultProps55, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
checked,
mod,
withBorder,
value,
onClick,
...others
} = props;
const getStyles2 = useStyles({
name: "CheckboxCard",
classes: classes24,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver24,
rootSelector: "card"
});
const ctx = useCheckboxGroupContext();
const _checked = typeof checked === "boolean" ? checked : ctx?.value.includes(value || "") || false;
return /* @__PURE__ */ jsxRuntime.jsx(CheckboxCardProvider, { value: { checked: _checked }, children: /* @__PURE__ */ jsxRuntime.jsx(
UnstyledButton,
{
ref,
mod: [{ "with-border": withBorder, checked: _checked }, mod],
...getStyles2("card"),
...others,
role: "checkbox",
"aria-checked": _checked,
onClick: (event) => {
onClick?.(event);
ctx?.onChange(value || "");
}
}
) });
});
CheckboxCard.displayName = "@mantine/core/CheckboxCard";
CheckboxCard.classes = classes24;
function InputsGroupFieldset({ children, role }) {
const ctx = useInputWrapperContext();
if (!ctx) {
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
}
return /* @__PURE__ */ jsxRuntime.jsx("div", { role, "aria-labelledby": ctx.labelId, "aria-describedby": ctx.describedBy, children });
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs
var defaultProps56 = {};
var CheckboxGroup = factory((props, ref) => {
const { value, defaultValue, onChange, size: size4, wrapperProps, children, readOnly, ...others } = useProps("CheckboxGroup", defaultProps56, props);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: [],
onChange
});
const handleChange = (event) => {
const itemValue = typeof event === "string" ? event : event.currentTarget.value;
!readOnly && setValue(
_value.includes(itemValue) ? _value.filter((item) => item !== itemValue) : [..._value, itemValue]
);
};
return /* @__PURE__ */ jsxRuntime.jsx(CheckboxGroupProvider, { value: { value: _value, onChange: handleChange, size: size4 }, children: /* @__PURE__ */ jsxRuntime.jsx(
Input.Wrapper,
{
size: size4,
ref,
...wrapperProps,
...others,
labelElement: "div",
__staticSelector: "CheckboxGroup",
children: /* @__PURE__ */ jsxRuntime.jsx(InputsGroupFieldset, { role: "group", children })
}
) });
});
CheckboxGroup.classes = Input.Wrapper.classes;
CheckboxGroup.displayName = "@mantine/core/CheckboxGroup";
function CheckIcon({ size: size4, style, ...others }) {
const _style = size4 !== void 0 ? { width: rem(size4), height: rem(size4), ...style } : style;
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
viewBox: "0 0 10 7",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
style: _style,
"aria-hidden": true,
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(
"path",
{
d: "M4 4.586L1.707 2.293A1 1 0 1 0 .293 3.707l3 3a.997.997 0 0 0 1.414 0l5-5A1 1 0 1 0 8.293.293L4 4.586z",
fill: "currentColor",
fillRule: "evenodd",
clipRule: "evenodd"
}
)
}
);
}
function CheckboxIcon({ indeterminate, ...others }) {
if (indeterminate) {
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
fill: "none",
viewBox: "0 0 32 6",
"aria-hidden": true,
...others,
children: /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "32", height: "6", fill: "currentColor", rx: "3" })
}
);
}
return /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { ...others });
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.css.mjs
var classes25 = { "indicator": "m_5e5256ee", "icon": "m_1b1c543a", "indicator--outline": "m_76e20374" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs
var defaultProps57 = {
icon: CheckboxIcon
};
var varsResolver25 = createVarsResolver(
(theme, { radius, color, size: size4, iconColor, variant, autoContrast }) => {
const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });
const outlineColor = parsedColor.isThemeColor && parsedColor.shade === void 0 ? `var(--mantine-color-${parsedColor.color}-outline)` : parsedColor.color;
return {
indicator: {
"--checkbox-size": getSize(size4, "checkbox-size"),
"--checkbox-radius": radius === void 0 ? void 0 : getRadius(radius),
"--checkbox-color": variant === "outline" ? outlineColor : getThemeColor(color, theme),
"--checkbox-icon-color": iconColor ? getThemeColor(iconColor, theme) : getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0
}
};
}
);
var CheckboxIndicator = factory((_props, ref) => {
const props = useProps("CheckboxIndicator", defaultProps57, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
icon,
indeterminate,
radius,
color,
iconColor,
autoContrast,
checked,
mod,
variant,
disabled,
...others
} = props;
const Icon = icon;
const getStyles2 = useStyles({
name: "CheckboxIndicator",
classes: classes25,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver25,
rootSelector: "indicator"
});
const ctx = useCheckboxCardContext();
const _checked = typeof checked === "boolean" || typeof indeterminate === "boolean" ? checked || indeterminate : ctx?.checked || false;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...getStyles2("indicator", { variant }),
variant,
mod: [{ checked: _checked, disabled }, mod],
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { indeterminate, ...getStyles2("icon") })
}
);
});
CheckboxIndicator.displayName = "@mantine/core/CheckboxIndicator";
CheckboxIndicator.classes = classes25;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Checkbox/Checkbox.module.css.mjs
var classes26 = { "root": "m_bf2d988c", "inner": "m_26062bec", "input": "m_26063560", "icon": "m_bf295423", "input--outline": "m_215c4542" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Checkbox/Checkbox.mjs
var defaultProps58 = {
labelPosition: "right",
icon: CheckboxIcon
};
var varsResolver26 = createVarsResolver(
(theme, { radius, color, size: size4, iconColor, variant, autoContrast }) => {
const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });
const outlineColor = parsedColor.isThemeColor && parsedColor.shade === void 0 ? `var(--mantine-color-${parsedColor.color}-outline)` : parsedColor.color;
return {
root: {
"--checkbox-size": getSize(size4, "checkbox-size"),
"--checkbox-radius": radius === void 0 ? void 0 : getRadius(radius),
"--checkbox-color": variant === "outline" ? outlineColor : getThemeColor(color, theme),
"--checkbox-icon-color": iconColor ? getThemeColor(iconColor, theme) : getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0
}
};
}
);
var Checkbox = factory((_props, ref) => {
const props = useProps("Checkbox", defaultProps58, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
color,
label,
id,
size: size4,
radius,
wrapperProps,
checked,
labelPosition,
description,
error: error2,
disabled,
variant,
indeterminate,
icon,
rootRef,
iconColor,
onChange,
autoContrast,
mod,
...others
} = props;
const ctx = useCheckboxGroupContext();
const _size = size4 || ctx?.size;
const Icon = icon;
const getStyles2 = useStyles({
name: "Checkbox",
props,
classes: classes26,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver26
});
const { styleProps, rest } = extractStyleProps(others);
const uuid = hooks.useId(id);
const contextProps = ctx ? {
checked: ctx.value.includes(rest.value),
onChange: (event) => {
ctx.onChange(event);
onChange?.(event);
}
} : {};
return /* @__PURE__ */ jsxRuntime.jsx(
InlineInput,
{
...getStyles2("root"),
__staticSelector: "Checkbox",
__stylesApiProps: props,
id: uuid,
size: _size,
labelPosition,
label,
description,
error: error2,
disabled,
classNames,
styles,
unstyled,
"data-checked": contextProps.checked || checked || void 0,
variant,
ref: rootRef,
mod,
...styleProps,
...wrapperProps,
children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { ...getStyles2("inner"), mod: { "data-label-position": labelPosition }, children: [
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "input",
id: uuid,
ref,
checked,
disabled,
mod: { error: !!error2, indeterminate },
...getStyles2("input", { focusable: true, variant }),
onChange,
...rest,
...contextProps,
type: "checkbox"
}
),
/* @__PURE__ */ jsxRuntime.jsx(Icon, { indeterminate, ...getStyles2("icon") })
] })
}
);
});
Checkbox.classes = { ...classes26, ...InlineInputClasses };
Checkbox.displayName = "@mantine/core/Checkbox";
Checkbox.Group = CheckboxGroup;
Checkbox.Indicator = CheckboxIndicator;
Checkbox.Card = CheckboxCard;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/is-options-group.mjs
function isOptionsGroup(item) {
return "group" in item;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/default-options-filter.mjs
function defaultOptionsFilter({
options,
search,
limit
}) {
const parsedSearch = search.trim().toLowerCase();
const result = [];
for (let i = 0; i < options.length; i += 1) {
const item = options[i];
if (result.length === limit) {
return result;
}
if (isOptionsGroup(item)) {
result.push({
group: item.group,
items: defaultOptionsFilter({
options: item.items,
search,
limit: limit - result.length
})
});
}
if (!isOptionsGroup(item)) {
if (item.label.toLowerCase().includes(parsedSearch)) {
result.push(item);
}
}
}
return result;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/is-empty-combobox-data.mjs
function isEmptyComboboxData(data) {
if (data.length === 0) {
return true;
}
for (const item of data) {
if (!("group" in item)) {
return false;
}
if (item.items.length > 0) {
return false;
}
}
return true;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/validate-options.mjs
function validateOptions(options, valuesSet = /* @__PURE__ */ new Set()) {
if (!Array.isArray(options)) {
return;
}
for (const option of options) {
if (isOptionsGroup(option)) {
validateOptions(option.items, valuesSet);
} else {
if (typeof option.value === "undefined") {
throw new Error("[@mantine/core] Each option must have value property");
}
if (typeof option.value !== "string") {
throw new Error(
`[@mantine/core] Option value must be a string, other data formats are not supported, got ${typeof option.value}`
);
}
if (valuesSet.has(option.value)) {
throw new Error(
`[@mantine/core] Duplicate options are not supported. Option with value "${option.value}" was provided more than once`
);
}
valuesSet.add(option.value);
}
}
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/OptionsDropdown/OptionsDropdown.mjs
function isValueChecked(value, optionValue) {
return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;
}
function Option({
data,
withCheckIcon,
value,
checkIconPosition,
unstyled,
renderOption
}) {
if (!isOptionsGroup(data)) {
const checked = isValueChecked(value, data.value);
const check = withCheckIcon && checked && /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { className: classes22.optionsDropdownCheckIcon });
const defaultContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
checkIconPosition === "left" && check,
/* @__PURE__ */ jsxRuntime.jsx("span", { children: data.label }),
checkIconPosition === "right" && check
] });
return /* @__PURE__ */ jsxRuntime.jsx(
Combobox.Option,
{
value: data.value,
disabled: data.disabled,
className: clsx_default({ [classes22.optionsDropdownOption]: !unstyled }),
"data-reverse": checkIconPosition === "right" || void 0,
"data-checked": checked || void 0,
"aria-selected": checked,
active: checked,
children: typeof renderOption === "function" ? renderOption({ option: data, checked }) : defaultContent
}
);
}
const options = data.items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
Option,
{
data: item,
value,
unstyled,
withCheckIcon,
checkIconPosition,
renderOption
},
item.value
));
return /* @__PURE__ */ jsxRuntime.jsx(Combobox.Group, { label: data.group, children: options });
}
function OptionsDropdown({
data,
hidden,
hiddenWhenEmpty,
filter,
search,
limit,
maxDropdownHeight,
withScrollArea = true,
filterOptions = true,
withCheckIcon = false,
value,
checkIconPosition,
nothingFoundMessage,
unstyled,
labelId,
renderOption,
scrollAreaProps,
"aria-label": ariaLabel
}) {
validateOptions(data);
const shouldFilter = typeof search === "string";
const filteredData = shouldFilter ? (filter || defaultOptionsFilter)({
options: data,
search: filterOptions ? search : "",
limit: limit ?? Infinity
}) : data;
const isEmpty = isEmptyComboboxData(filteredData);
const options = filteredData.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
Option,
{
data: item,
withCheckIcon,
value,
checkIconPosition,
unstyled,
renderOption
},
isOptionsGroup(item) ? item.group : item.value
));
return /* @__PURE__ */ jsxRuntime.jsx(Combobox.Dropdown, { hidden: hidden || hiddenWhenEmpty && isEmpty, children: /* @__PURE__ */ jsxRuntime.jsxs(Combobox.Options, { labelledBy: labelId, "aria-label": ariaLabel, children: [
withScrollArea ? /* @__PURE__ */ jsxRuntime.jsx(
ScrollArea.Autosize,
{
mah: maxDropdownHeight ?? 220,
type: "scroll",
scrollbarSize: "var(--combobox-padding)",
offsetScrollbars: "y",
...scrollAreaProps,
children: options
}
) : options,
isEmpty && nothingFoundMessage && /* @__PURE__ */ jsxRuntime.jsx(Combobox.Empty, { children: nothingFoundMessage })
] }) });
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Autocomplete/Autocomplete.mjs
var defaultProps59 = {};
var Autocomplete = factory((_props, ref) => {
const props = useProps("Autocomplete", defaultProps59, _props);
const {
classNames,
styles,
unstyled,
vars,
dropdownOpened,
defaultDropdownOpened,
onDropdownClose,
onDropdownOpen,
onFocus,
onBlur,
onClick,
onChange,
data,
value,
defaultValue,
selectFirstOptionOnChange,
onOptionSubmit,
comboboxProps,
readOnly,
disabled,
filter,
limit,
withScrollArea,
maxDropdownHeight,
size: size4,
id,
renderOption,
autoComplete,
scrollAreaProps,
...others
} = props;
const _id = hooks.useId(id);
const parsedData = getParsedComboboxData(data);
const optionsLockup = getOptionsLockup(parsedData);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: "",
onChange
});
const combobox = useCombobox({
opened: dropdownOpened,
defaultOpened: defaultDropdownOpened,
onDropdownOpen,
onDropdownClose: () => {
onDropdownClose?.();
combobox.resetSelectedOption();
}
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
props,
styles,
classNames
});
React9.useEffect(() => {
if (selectFirstOptionOnChange) {
combobox.selectFirstOption();
}
}, [selectFirstOptionOnChange, _value]);
return /* @__PURE__ */ jsxRuntime.jsxs(
Combobox,
{
store: combobox,
__staticSelector: "Autocomplete",
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
readOnly,
onOptionSubmit: (val) => {
onOptionSubmit?.(val);
setValue(optionsLockup[val].label);
combobox.closeDropdown();
},
size: size4,
...comboboxProps,
children: [
/* @__PURE__ */ jsxRuntime.jsx(Combobox.Target, { autoComplete, children: /* @__PURE__ */ jsxRuntime.jsx(
InputBase,
{
ref,
...others,
size: size4,
__staticSelector: "Autocomplete",
disabled,
readOnly,
value: _value,
onChange: (event) => {
setValue(event.currentTarget.value);
combobox.openDropdown();
selectFirstOptionOnChange && combobox.selectFirstOption();
},
onFocus: (event) => {
combobox.openDropdown();
onFocus?.(event);
},
onBlur: (event) => {
combobox.closeDropdown();
onBlur?.(event);
},
onClick: (event) => {
combobox.openDropdown();
onClick?.(event);
},
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
id: _id
}
) }),
/* @__PURE__ */ jsxRuntime.jsx(
OptionsDropdown,
{
data: parsedData,
hidden: readOnly || disabled,
filter,
search: _value,
limit,
hiddenWhenEmpty: true,
withScrollArea,
maxDropdownHeight,
unstyled,
labelId: others.label ? `${_id}-label` : void 0,
"aria-label": others.label ? void 0 : others["aria-label"],
renderOption,
scrollAreaProps
}
)
]
}
);
});
Autocomplete.classes = { ...InputBase.classes, ...Combobox.classes };
Autocomplete.displayName = "@mantine/core/Autocomplete";
var AvatarGroupContext = React9.createContext(null);
var AvatarGroupProvider = AvatarGroupContext.Provider;
function useAvatarGroupContext() {
const ctx = React9.useContext(AvatarGroupContext);
return { withinGroup: !!ctx };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Avatar/Avatar.module.css.mjs
var classes27 = { "group": "m_11def92b", "root": "m_f85678b6", "image": "m_11f8ac07", "placeholder": "m_104cd71f" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Avatar/AvatarGroup/AvatarGroup.mjs
var defaultProps60 = {};
var varsResolver27 = createVarsResolver((_, { spacing }) => ({
group: {
"--ag-spacing": getSpacing(spacing)
}
}));
var AvatarGroup = factory((_props, ref) => {
const props = useProps("AvatarGroup", defaultProps60, _props);
const { classNames, className, style, styles, unstyled, vars, spacing, ...others } = props;
const getStyles2 = useStyles({
name: "AvatarGroup",
classes: classes27,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver27,
rootSelector: "group"
});
return /* @__PURE__ */ jsxRuntime.jsx(AvatarGroupProvider, { value: true, children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("group"), ...others }) });
});
AvatarGroup.classes = classes27;
AvatarGroup.displayName = "@mantine/core/AvatarGroup";
function AvatarPlaceholderIcon(props) {
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
...props,
"data-avatar-placeholder-icon": true,
viewBox: "0 0 15 15",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: /* @__PURE__ */ jsxRuntime.jsx(
"path",
{
d: "M0.877014 7.49988C0.877014 3.84219 3.84216 0.877045 7.49985 0.877045C11.1575 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1575 14.1227 7.49985 14.1227C3.84216 14.1227 0.877014 11.1575 0.877014 7.49988ZM7.49985 1.82704C4.36683 1.82704 1.82701 4.36686 1.82701 7.49988C1.82701 8.97196 2.38774 10.3131 3.30727 11.3213C4.19074 9.94119 5.73818 9.02499 7.50023 9.02499C9.26206 9.02499 10.8093 9.94097 11.6929 11.3208C12.6121 10.3127 13.1727 8.97172 13.1727 7.49988C13.1727 4.36686 10.6328 1.82704 7.49985 1.82704ZM10.9818 11.9787C10.2839 10.7795 8.9857 9.97499 7.50023 9.97499C6.01458 9.97499 4.71624 10.7797 4.01845 11.9791C4.97952 12.7272 6.18765 13.1727 7.49985 13.1727C8.81227 13.1727 10.0206 12.727 10.9818 11.9787ZM5.14999 6.50487C5.14999 5.207 6.20212 4.15487 7.49999 4.15487C8.79786 4.15487 9.84999 5.207 9.84999 6.50487C9.84999 7.80274 8.79786 8.85487 7.49999 8.85487C6.20212 8.85487 5.14999 7.80274 5.14999 6.50487ZM7.49999 5.10487C6.72679 5.10487 6.09999 5.73167 6.09999 6.50487C6.09999 7.27807 6.72679 7.90487 7.49999 7.90487C8.27319 7.90487 8.89999 7.27807 8.89999 6.50487C8.89999 5.73167 8.27319 5.10487 7.49999 5.10487Z",
fill: "currentColor",
fillRule: "evenodd",
clipRule: "evenodd"
}
)
}
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Avatar/get-initials/get-initials.mjs
function getInitials(name, limit = 2) {
const splitted = name.split(" ");
if (splitted.length === 1) {
return name.slice(0, limit).toUpperCase();
}
return splitted.map((word) => word[0]).slice(0, limit).join("").toUpperCase();
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Avatar/get-initials-color/get-initials-color.mjs
function hashCode(input) {
let hash = 0;
for (let i = 0; i < input.length; i += 1) {
const char = input.charCodeAt(i);
hash = (hash << 5) - hash + char;
hash |= 0;
}
return hash;
}
var defaultColors = [
"blue",
"cyan",
"grape",
"green",
"indigo",
"lime",
"orange",
"pink",
"red",
"teal",
"violet"
];
function getInitialsColor(name, colors = defaultColors) {
const hash = hashCode(getInitials(name));
const index3 = Math.abs(hash) % colors.length;
return colors[index3];
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Avatar/Avatar.mjs
var defaultProps61 = {};
var varsResolver28 = createVarsResolver(
(theme, { size: size4, radius, variant, gradient, color, autoContrast, name, allowedInitialsColors }) => {
const _color = color === "initials" && typeof name === "string" ? getInitialsColor(name, allowedInitialsColors) : color;
const colors = theme.variantColorResolver({
color: _color || "gray",
theme,
gradient,
variant: variant || "light",
autoContrast
});
return {
root: {
"--avatar-size": getSize(size4, "avatar-size"),
"--avatar-radius": radius === void 0 ? void 0 : getRadius(radius),
"--avatar-bg": _color || variant ? colors.background : void 0,
"--avatar-color": _color || variant ? colors.color : void 0,
"--avatar-bd": _color || variant ? colors.border : void 0
}
};
}
);
var Avatar = polymorphicFactory((_props, ref) => {
const props = useProps("Avatar", defaultProps61, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
src,
alt,
radius,
color,
gradient,
imageProps,
children,
autoContrast,
mod,
name,
allowedInitialsColors,
...others
} = props;
const ctx = useAvatarGroupContext();
const [error2, setError] = React9.useState(!src);
const getStyles2 = useStyles({
name: "Avatar",
props,
classes: classes27,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver28
});
React9.useEffect(() => setError(!src), [src]);
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root"),
mod: [{ "within-group": ctx.withinGroup }, mod],
ref,
...others,
children: error2 ? /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("placeholder"), title: alt, children: children || typeof name === "string" && getInitials(name) || /* @__PURE__ */ jsxRuntime.jsx(AvatarPlaceholderIcon, {}) }) : /* @__PURE__ */ jsxRuntime.jsx(
"img",
{
...imageProps,
...getStyles2("image"),
src,
alt,
onError: (event) => {
setError(true);
imageProps?.onError?.(event);
}
}
)
}
);
});
Avatar.classes = classes27;
Avatar.displayName = "@mantine/core/Avatar";
Avatar.Group = AvatarGroup;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/BackgroundImage/BackgroundImage.module.css.mjs
var classes28 = { "root": "m_2ce0de02" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/BackgroundImage/BackgroundImage.mjs
var defaultProps62 = {};
var varsResolver29 = createVarsResolver((_, { radius }) => ({
root: { "--bi-radius": radius === void 0 ? void 0 : getRadius(radius) }
}));
var BackgroundImage = polymorphicFactory((_props, ref) => {
const props = useProps("BackgroundImage", defaultProps62, _props);
const { classNames, className, style, styles, unstyled, vars, radius, src, variant, ...others } = props;
const getStyles2 = useStyles({
name: "BackgroundImage",
props,
classes: classes28,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver29
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
variant,
...getStyles2("root", { style: { backgroundImage: `url(${src})` } }),
...others
}
);
});
BackgroundImage.classes = classes28;
BackgroundImage.displayName = "@mantine/core/BackgroundImage";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Badge/Badge.module.css.mjs
var classes29 = { "root": "m_347db0ec", "root--dot": "m_fbd81e3d", "label": "m_5add502a", "section": "m_91fdda9b" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Badge/Badge.mjs
var defaultProps63 = {};
var varsResolver30 = createVarsResolver(
(theme, { radius, color, gradient, variant, size: size4, autoContrast }) => {
const colors = theme.variantColorResolver({
color: color || theme.primaryColor,
theme,
gradient,
variant: variant || "filled",
autoContrast
});
return {
root: {
"--badge-height": getSize(size4, "badge-height"),
"--badge-padding-x": getSize(size4, "badge-padding-x"),
"--badge-fz": getSize(size4, "badge-fz"),
"--badge-radius": radius === void 0 ? void 0 : getRadius(radius),
"--badge-bg": color || variant ? colors.background : void 0,
"--badge-color": color || variant ? colors.color : void 0,
"--badge-bd": color || variant ? colors.border : void 0,
"--badge-dot-color": variant === "dot" ? getThemeColor(color, theme) : void 0
}
};
}
);
var Badge = polymorphicFactory((_props, ref) => {
const props = useProps("Badge", defaultProps63, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
radius,
color,
gradient,
leftSection,
rightSection,
children,
variant,
fullWidth,
autoContrast,
circle,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Badge",
props,
classes: classes29,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver30
});
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
variant,
mod: [
{
block: fullWidth,
circle,
"with-right-section": !!rightSection,
"with-left-section": !!leftSection
},
mod
],
...getStyles2("root", { variant }),
ref,
...others,
children: [
leftSection && /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("section"), "data-position": "left", children: leftSection }),
/* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("label"), children }),
rightSection && /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("section"), "data-position": "right", children: rightSection })
]
}
);
});
Badge.classes = classes29;
Badge.displayName = "@mantine/core/Badge";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Blockquote/Blockquote.module.css.mjs
var classes30 = { "root": "m_ddec01c0", "icon": "m_dde7bd57", "cite": "m_dde51a35" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Blockquote/Blockquote.mjs
var defaultProps64 = {
iconSize: 48
};
var varsResolver31 = createVarsResolver((theme, { color, iconSize, radius }) => {
const darkParsed = parseThemeColor({
color: color || theme.primaryColor,
theme,
colorScheme: "dark"
});
const lightParsed = parseThemeColor({
color: color || theme.primaryColor,
theme,
colorScheme: "light"
});
return {
root: {
"--bq-bg-light": rgba(lightParsed.value, 0.07),
"--bq-bg-dark": rgba(darkParsed.value, 0.06),
"--bq-bd": getThemeColor(color, theme),
"--bq-icon-size": rem(iconSize),
"--bq-radius": getRadius(radius)
}
};
});
var Blockquote = factory((_props, ref) => {
const props = useProps("Blockquote", defaultProps64, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
icon,
iconSize,
cite,
...others
} = props;
const getStyles2 = useStyles({
name: "Blockquote",
classes: classes30,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver31
});
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { component: "blockquote", ref, ...getStyles2("root"), ...others, children: [
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("icon"), children: icon }),
children,
cite && /* @__PURE__ */ jsxRuntime.jsx("cite", { ...getStyles2("cite"), children: cite })
] });
});
Blockquote.classes = classes30;
Blockquote.displayName = "@mantine/core/Blockquote";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.module.css.mjs
var classes31 = { "root": "m_8b3717df", "breadcrumb": "m_f678d540", "separator": "m_3b8f2208" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.mjs
var defaultProps65 = {
separator: "/"
};
var varsResolver32 = createVarsResolver((_, { separatorMargin }) => ({
root: {
"--bc-separator-margin": getSpacing(separatorMargin)
}
}));
var Breadcrumbs = factory((_props, ref) => {
const props = useProps("Breadcrumbs", defaultProps65, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
separator,
separatorMargin,
...others
} = props;
const getStyles2 = useStyles({
name: "Breadcrumbs",
classes: classes31,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver32
});
const items = React9.Children.toArray(children).reduce((acc, child, index3, array) => {
const item = isElement(child) ? React9.cloneElement(child, {
...getStyles2("breadcrumb", { className: child.props?.className }),
key: index3
}) : /* @__PURE__ */ React9.createElement("div", { ...getStyles2("breadcrumb"), key: index3 }, child);
acc.push(item);
if (index3 !== array.length - 1) {
acc.push(
/* @__PURE__ */ React9.createElement(Box, { ...getStyles2("separator"), key: `separator-${index3}` }, separator)
);
}
return acc;
}, []);
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), ...others, children: items });
});
Breadcrumbs.classes = classes31;
Breadcrumbs.displayName = "@mantine/core/Breadcrumbs";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Burger/Burger.module.css.mjs
var classes32 = { "root": "m_fea6bf1a", "burger": "m_d4fb9cad" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Burger/Burger.mjs
var defaultProps66 = {};
var varsResolver33 = createVarsResolver(
(theme, { color, size: size4, lineSize, transitionDuration, transitionTimingFunction }) => ({
root: {
"--burger-color": color ? getThemeColor(color, theme) : void 0,
"--burger-size": getSize(size4, "burger-size"),
"--burger-line-size": lineSize ? rem(lineSize) : void 0,
"--burger-transition-duration": transitionDuration === void 0 ? void 0 : `${transitionDuration}ms`,
"--burger-transition-timing-function": transitionTimingFunction
}
})
);
var Burger = factory((_props, ref) => {
const props = useProps("Burger", defaultProps66, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
opened,
children,
transitionDuration,
transitionTimingFunction,
lineSize,
...others
} = props;
const getStyles2 = useStyles({
name: "Burger",
classes: classes32,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver33
});
return /* @__PURE__ */ jsxRuntime.jsxs(UnstyledButton, { ...getStyles2("root"), ref, ...others, children: [
/* @__PURE__ */ jsxRuntime.jsx(Box, { mod: ["reduce-motion", { opened }], ...getStyles2("burger") }),
children
] });
});
Burger.classes = classes32;
Burger.displayName = "@mantine/core/Burger";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Button/Button.module.css.mjs
var classes33 = { "root": "m_77c9d27d", "inner": "m_80f1301b", "label": "m_811560b9", "section": "m_a74036a", "loader": "m_a25b86ee", "group": "m_80d6d844" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Button/ButtonGroup/ButtonGroup.mjs
var defaultProps67 = {
orientation: "horizontal"
};
var varsResolver34 = createVarsResolver((_, { borderWidth }) => ({
group: { "--button-border-width": rem(borderWidth) }
}));
var ButtonGroup = factory((_props, ref) => {
const props = useProps("ButtonGroup", defaultProps67, _props);
const {
className,
style,
classNames,
styles,
unstyled,
orientation,
vars,
borderWidth,
variant,
mod,
...others
} = useProps("ButtonGroup", defaultProps67, _props);
const getStyles2 = useStyles({
name: "ButtonGroup",
props,
classes: classes33,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver34,
rootSelector: "group"
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("group"),
ref,
variant,
mod: [{ "data-orientation": orientation }, mod],
role: "group",
...others
}
);
});
ButtonGroup.classes = classes33;
ButtonGroup.displayName = "@mantine/core/ButtonGroup";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Button/Button.mjs
var loaderTransition = {
in: { opacity: 1, transform: `translate(-50%, calc(-50% + ${rem(1)}))` },
out: { opacity: 0, transform: "translate(-50%, -200%)" },
common: { transformOrigin: "center" },
transitionProperty: "transform, opacity"
};
var defaultProps68 = {};
var varsResolver35 = createVarsResolver(
(theme, { radius, color, gradient, variant, size: size4, justify, autoContrast }) => {
const colors = theme.variantColorResolver({
color: color || theme.primaryColor,
theme,
gradient,
variant: variant || "filled",
autoContrast
});
return {
root: {
"--button-justify": justify,
"--button-height": getSize(size4, "button-height"),
"--button-padding-x": getSize(size4, "button-padding-x"),
"--button-fz": size4?.includes("compact") ? getFontSize(size4.replace("compact-", "")) : getFontSize(size4),
"--button-radius": radius === void 0 ? void 0 : getRadius(radius),
"--button-bg": color || variant ? colors.background : void 0,
"--button-hover": color || variant ? colors.hover : void 0,
"--button-color": colors.color,
"--button-bd": color || variant ? colors.border : void 0,
"--button-hover-color": color || variant ? colors.hoverColor : void 0
}
};
}
);
var Button = polymorphicFactory((_props, ref) => {
const props = useProps("Button", defaultProps68, _props);
const {
style,
vars,
className,
color,
disabled,
children,
leftSection,
rightSection,
fullWidth,
variant,
radius,
loading,
loaderProps,
gradient,
classNames,
styles,
unstyled,
"data-disabled": dataDisabled,
autoContrast,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Button",
props,
classes: classes33,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver35
});
const hasLeftSection = !!leftSection;
const hasRightSection = !!rightSection;
return /* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
ref,
...getStyles2("root", { active: !disabled && !loading && !dataDisabled }),
unstyled,
variant,
disabled: disabled || loading,
mod: [
{
disabled: disabled || dataDisabled,
loading,
block: fullWidth,
"with-left-section": hasLeftSection,
"with-right-section": hasRightSection
},
mod
],
...others,
children: [
/* @__PURE__ */ jsxRuntime.jsx(Transition, { mounted: !!loading, transition: loaderTransition, duration: 150, children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", ...getStyles2("loader", { style: transitionStyles }), "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(
Loader,
{
color: "var(--button-color)",
size: "calc(var(--button-height) / 1.8)",
...loaderProps
}
) }) }),
/* @__PURE__ */ jsxRuntime.jsxs("span", { ...getStyles2("inner"), children: [
leftSection && /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", ...getStyles2("section"), mod: { position: "left" }, children: leftSection }),
/* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", mod: { loading }, ...getStyles2("label"), children }),
rightSection && /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", ...getStyles2("section"), mod: { position: "right" }, children: rightSection })
] })
]
}
);
});
Button.classes = classes33;
Button.displayName = "@mantine/core/Button";
Button.Group = ButtonGroup;
var [CardProvider, useCardContext] = createSafeContext(
"Card component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Card/Card.module.css.mjs
var classes34 = { "root": "m_e615b15f", "section": "m_599a2148" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Card/CardSection/CardSection.mjs
var defaultProps69 = {};
var CardSection = polymorphicFactory((_props, ref) => {
const props = useProps("CardSection", defaultProps69, _props);
const { classNames, className, style, styles, vars, withBorder, inheritPadding, mod, ...others } = props;
const ctx = useCardContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
mod: [{ "with-border": withBorder, "inherit-padding": inheritPadding }, mod],
...ctx.getStyles("section", { className, style, styles, classNames }),
...others
}
);
});
CardSection.classes = classes34;
CardSection.displayName = "@mantine/core/CardSection";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Card/Card.mjs
var defaultProps70 = {};
var varsResolver36 = createVarsResolver((_, { padding }) => ({
root: {
"--card-padding": getSpacing(padding)
}
}));
var Card = polymorphicFactory((_props, ref) => {
const props = useProps("Card", defaultProps70, _props);
const { classNames, className, style, styles, unstyled, vars, children, padding, ...others } = props;
const getStyles2 = useStyles({
name: "Card",
props,
classes: classes34,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver36
});
const _children = React9.Children.toArray(children);
const content = _children.map((child, index3) => {
if (typeof child === "object" && child && "type" in child && child.type === CardSection) {
return React9.cloneElement(child, {
"data-first-section": index3 === 0 || void 0,
"data-last-section": index3 === _children.length - 1 || void 0
});
}
return child;
});
return /* @__PURE__ */ jsxRuntime.jsx(CardProvider, { value: { getStyles: getStyles2 }, children: /* @__PURE__ */ jsxRuntime.jsx(Paper, { ref, unstyled, ...getStyles2("root"), ...others, children: content }) });
});
Card.classes = classes34;
Card.displayName = "@mantine/core/Card";
Card.Section = CardSection;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Center/Center.module.css.mjs
var classes35 = { "root": "m_4451eb3a" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Center/Center.mjs
var defaultProps71 = {};
var Center = polymorphicFactory((_props, ref) => {
const props = useProps("Center", defaultProps71, _props);
const { classNames, className, style, styles, unstyled, vars, inline: inline4, mod, ...others } = props;
const getStyles2 = useStyles({
name: "Center",
props,
classes: classes35,
className,
style,
classNames,
styles,
unstyled,
vars
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, mod: [{ inline: inline4 }, mod], ...getStyles2("root"), ...others });
});
Center.classes = classes35;
Center.displayName = "@mantine/core/Center";
var [ChipGroupProvider, useChipGroupContext] = createOptionalContext();
var defaultProps72 = {};
function ChipGroup(props) {
const { value, defaultValue, onChange, multiple, children } = useProps(
"ChipGroup",
defaultProps72,
props
);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: multiple ? [] : null,
onChange
});
const isChipSelected = (val) => Array.isArray(_value) ? _value.includes(val) : val === _value;
const handleChange = (event) => {
const val = event.currentTarget.value;
if (Array.isArray(_value)) {
setValue(_value.includes(val) ? _value.filter((v) => v !== val) : [..._value, val]);
} else {
setValue(val);
}
};
return /* @__PURE__ */ jsxRuntime.jsx(ChipGroupProvider, { value: { isChipSelected, onChange: handleChange, multiple }, children });
}
ChipGroup.displayName = "@mantine/core/ChipGroup";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Chip/Chip.module.css.mjs
var classes36 = { "root": "m_f59ffda3", "label": "m_be049a53", "label--outline": "m_3904c1af", "label--filled": "m_fa109255", "label--light": "m_f7e165c3", "iconWrapper": "m_9ac86df9", "checkIcon": "m_d6d72580", "input": "m_bde07329" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Chip/Chip.mjs
var defaultProps73 = {
type: "checkbox"
};
var varsResolver37 = createVarsResolver(
(theme, { size: size4, radius, variant, color, autoContrast }) => {
const colors = theme.variantColorResolver({
color: color || theme.primaryColor,
theme,
variant: variant || "filled",
autoContrast
});
return {
root: {
"--chip-fz": getFontSize(size4),
"--chip-size": getSize(size4, "chip-size"),
"--chip-radius": radius === void 0 ? void 0 : getRadius(radius),
"--chip-checked-padding": getSize(size4, "chip-checked-padding"),
"--chip-padding": getSize(size4, "chip-padding"),
"--chip-icon-size": getSize(size4, "chip-icon-size"),
"--chip-bg": color || variant ? colors.background : void 0,
"--chip-hover": color || variant ? colors.hover : void 0,
"--chip-color": color || variant ? colors.color : void 0,
"--chip-bd": color || variant ? colors.border : void 0,
"--chip-spacing": getSize(size4, "chip-spacing")
}
};
}
);
var Chip = factory((_props, ref) => {
const props = useProps("Chip", defaultProps73, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
id,
checked,
defaultChecked,
onChange,
value,
wrapperProps,
type,
disabled,
children,
size: size4,
variant,
icon,
rootRef,
autoContrast,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Chip",
classes: classes36,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver37
});
const ctx = useChipGroupContext();
const uuid = hooks.useId(id);
const { styleProps, rest } = extractStyleProps(others);
const [_value, setValue] = hooks.useUncontrolled({
value: checked,
defaultValue: defaultChecked,
finalValue: false,
onChange
});
const contextProps = ctx ? {
checked: ctx.isChipSelected(value),
onChange: (event) => {
ctx.onChange(event);
onChange?.(event.currentTarget.checked);
},
type: ctx.multiple ? "checkbox" : "radio"
} : {};
const _checked = contextProps.checked || _value;
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
size: size4,
variant,
ref: rootRef,
mod,
...getStyles2("root"),
...styleProps,
...wrapperProps,
children: [
/* @__PURE__ */ jsxRuntime.jsx(
"input",
{
type,
...getStyles2("input"),
checked: _checked,
onChange: (event) => setValue(event.currentTarget.checked),
id: uuid,
disabled,
ref,
value,
...contextProps,
...rest
}
),
/* @__PURE__ */ jsxRuntime.jsxs(
"label",
{
htmlFor: uuid,
"data-checked": _checked || void 0,
"data-disabled": disabled || void 0,
...getStyles2("label", { variant: variant || "filled" }),
children: [
_checked && /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("iconWrapper"), children: icon || /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { ...getStyles2("checkIcon") }) }),
/* @__PURE__ */ jsxRuntime.jsx("span", { children })
]
}
)
]
}
);
});
Chip.classes = classes36;
Chip.displayName = "@mantine/core/Chip";
Chip.Group = ChipGroup;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Code/Code.module.css.mjs
var classes37 = { "root": "m_b183c0a2" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Code/Code.mjs
var defaultProps74 = {};
var varsResolver38 = createVarsResolver((theme, { color }) => ({
root: {
"--code-bg": color ? getThemeColor(color, theme) : void 0
}
}));
var Code = factory((_props, ref) => {
const props = useProps("Code", defaultProps74, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
color,
block,
variant,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Code",
props,
classes: classes37,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver38
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: block ? "pre" : "code",
variant,
ref,
mod: [{ block }, mod],
...getStyles2("root"),
...others,
dir: "ltr"
}
);
});
Code.classes = classes37;
Code.displayName = "@mantine/core/Code";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorSwatch/ColorSwatch.module.css.mjs
var classes38 = { "root": "m_de3d2490", "colorOverlay": "m_862f3d1b", "shadowOverlay": "m_98ae7f22", "alphaOverlay": "m_95709ac0", "childrenOverlay": "m_93e74e3" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorSwatch/ColorSwatch.mjs
var defaultProps75 = {
withShadow: true
};
var varsResolver39 = createVarsResolver((_, { radius, size: size4 }) => ({
root: {
"--cs-radius": radius === void 0 ? void 0 : getRadius(radius),
"--cs-size": rem(size4)
}
}));
var ColorSwatch = polymorphicFactory((_props, ref) => {
const props = useProps("ColorSwatch", defaultProps75, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
color,
size: size4,
radius,
withShadow,
children,
variant,
...others
} = useProps("ColorSwatch", defaultProps75, props);
const getStyles2 = useStyles({
name: "ColorSwatch",
props,
classes: classes38,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver39
});
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
ref,
variant,
size: size4,
...getStyles2("root", { focusable: true }),
...others,
children: [
/* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("alphaOverlay") }),
withShadow && /* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("shadowOverlay") }),
/* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("colorOverlay", { style: { backgroundColor: color } }) }),
/* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("childrenOverlay"), children })
]
}
);
});
ColorSwatch.classes = classes38;
ColorSwatch.displayName = "@mantine/core/ColorSwatch";
var [ColorPickerProvider, useColorPickerContext] = createOptionalContext(null);
var Thumb2 = React9.forwardRef(({ position, ...others }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
__vars: {
"--thumb-y-offset": `${position.y * 100}%`,
"--thumb-x-offset": `${position.x * 100}%`
},
...others
}
));
Thumb2.displayName = "@mantine/core/ColorPickerThumb";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorPicker/ColorPicker.module.css.mjs
var classes39 = { "wrapper": "m_fee9c77", "preview": "m_9dddfbac", "body": "m_bffecc3e", "sliders": "m_3283bb96", "thumb": "m_40d572ba", "swatch": "m_d8ee6fd8", "swatches": "m_5711e686", "saturation": "m_202a296e", "saturationOverlay": "m_11b3db02", "slider": "m_d856d47d", "sliderOverlay": "m_8f327113" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorPicker/ColorSlider/ColorSlider.mjs
var defaultProps76 = {};
var ColorSlider = factory((_props, ref) => {
const props = useProps("ColorSlider", defaultProps76, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
onChange,
onChangeEnd,
maxValue,
round: round3,
size: size4 = "md",
focusable = true,
value,
overlays,
thumbColor = "transparent",
onScrubStart,
onScrubEnd,
__staticSelector = "ColorPicker",
...others
} = props;
const _getStyles = useStyles({
name: __staticSelector,
classes: classes39,
props,
className,
style,
classNames,
styles,
unstyled
});
const ctxGetStyles = useColorPickerContext()?.getStyles;
const getStyles2 = ctxGetStyles || _getStyles;
const theme = useMantineTheme();
const [position, setPosition] = React9.useState({ y: 0, x: value / maxValue });
const positionRef = React9.useRef(position);
const getChangeValue2 = (val) => round3 ? Math.round(val * maxValue) : val * maxValue;
const { ref: sliderRef } = hooks.useMove(
({ x, y }) => {
positionRef.current = { x, y };
onChange?.(getChangeValue2(x));
},
{
onScrubEnd: () => {
const { x } = positionRef.current;
onChangeEnd?.(getChangeValue2(x));
onScrubEnd?.();
},
onScrubStart
}
);
hooks.useDidUpdate(() => {
setPosition({ y: 0, x: value / maxValue });
}, [value]);
const handleArrow = (event, pos) => {
event.preventDefault();
const _position = hooks.clampUseMovePosition(pos);
onChange?.(getChangeValue2(_position.x));
onChangeEnd?.(getChangeValue2(_position.x));
};
const handleKeyDown = (event) => {
switch (event.key) {
case "ArrowRight": {
handleArrow(event, { x: position.x + 0.05, y: position.y });
break;
}
case "ArrowLeft": {
handleArrow(event, { x: position.x - 0.05, y: position.y });
break;
}
}
};
const layers = overlays.map((overlay, index3) => /* @__PURE__ */ React9.createElement("div", { ...getStyles2("sliderOverlay"), style: overlay, key: index3 }));
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...others,
ref: hooks.useMergedRef(sliderRef, ref),
...getStyles2("slider"),
role: "slider",
"aria-valuenow": value,
"aria-valuemax": maxValue,
"aria-valuemin": 0,
tabIndex: focusable ? 0 : -1,
onKeyDown: handleKeyDown,
"data-focus-ring": theme.focusRing,
__vars: {
"--cp-thumb-size": `var(--cp-thumb-size-${size4})`
},
children: [
layers,
/* @__PURE__ */ jsxRuntime.jsx(
Thumb2,
{
position,
...getStyles2("thumb", { style: { top: rem(1), background: thumbColor } })
}
)
]
}
);
});
ColorSlider.displayName = "@mantine/core/ColorSlider";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorPicker/converters/parsers.mjs
function round2(number, digits = 0, base = 10 ** digits) {
return Math.round(base * number) / base;
}
function hslaToHsva({ h, s, l, a }) {
const ss = s * ((l < 50 ? l : 100 - l) / 100);
return {
h,
s: ss > 0 ? 2 * ss / (l + ss) * 100 : 0,
v: l + ss,
a
};
}
var angleUnits = {
grad: 360 / 400,
turn: 360,
rad: 360 / (Math.PI * 2)
};
function parseHue(value, unit = "deg") {
return Number(value) * (angleUnits[unit] || 1);
}
var HSL_REGEXP = /hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;
function parseHsla(color) {
const match = HSL_REGEXP.exec(color);
if (!match) {
return { h: 0, s: 0, v: 0, a: 1 };
}
return hslaToHsva({
h: parseHue(match[1], match[2]),
s: Number(match[3]),
l: Number(match[4]),
a: match[5] === void 0 ? 1 : Number(match[5]) / (match[6] ? 100 : 1)
});
}
function rgbaToHsva({ r: r2, g, b, a }) {
const max2 = Math.max(r2, g, b);
const delta = max2 - Math.min(r2, g, b);
const hh = delta ? max2 === r2 ? (g - b) / delta : max2 === g ? 2 + (b - r2) / delta : 4 + (r2 - g) / delta : 0;
return {
h: round2(60 * (hh < 0 ? hh + 6 : hh), 3),
s: round2(max2 ? delta / max2 * 100 : 0, 3),
v: round2(max2 / 255 * 100, 3),
a
};
}
function parseHex(color) {
const hex = color[0] === "#" ? color.slice(1) : color;
if (hex.length === 3) {
return rgbaToHsva({
r: parseInt(hex[0] + hex[0], 16),
g: parseInt(hex[1] + hex[1], 16),
b: parseInt(hex[2] + hex[2], 16),
a: 1
});
}
return rgbaToHsva({
r: parseInt(hex.slice(0, 2), 16),
g: parseInt(hex.slice(2, 4), 16),
b: parseInt(hex.slice(4, 6), 16),
a: 1
});
}
function parseHexa(color) {
const hex = color[0] === "#" ? color.slice(1) : color;
const roundA = (a2) => round2(parseInt(a2, 16) / 255, 3);
if (hex.length === 4) {
const withoutOpacity2 = hex.slice(0, 3);
const a2 = roundA(hex[3] + hex[3]);
const hsvaColor2 = { ...parseHex(withoutOpacity2), a: a2 };
return hsvaColor2;
}
const withoutOpacity = hex.slice(0, 6);
const a = roundA(hex.slice(6, 8));
const hsvaColor = { ...parseHex(withoutOpacity), a };
return hsvaColor;
}
var RGB_REGEXP = /rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;
function parseRgba(color) {
const match = RGB_REGEXP.exec(color);
if (!match) {
return { h: 0, s: 0, v: 0, a: 1 };
}
return rgbaToHsva({
r: Number(match[1]) / (match[2] ? 100 / 255 : 1),
g: Number(match[3]) / (match[4] ? 100 / 255 : 1),
b: Number(match[5]) / (match[6] ? 100 / 255 : 1),
a: match[7] === void 0 ? 1 : Number(match[7]) / (match[8] ? 100 : 1)
});
}
var VALIDATION_REGEXP = {
hex: /^#?([0-9A-F]{3}){1,2}$/i,
hexa: /^#?([0-9A-F]{4}){1,2}$/i,
rgb: /^rgb\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/i,
rgba: /^rgba\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/i,
hsl: /hsl\(\s*(\d+)\s*,\s*(\d+(?:\.\d+)?%)\s*,\s*(\d+(?:\.\d+)?%)\)/i,
hsla: /^hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*(\d*(?:\.\d+)?)\)$/i
};
var CONVERTERS = {
hex: parseHex,
hexa: parseHexa,
rgb: parseRgba,
rgba: parseRgba,
hsl: parseHsla,
hsla: parseHsla
};
function isColorValid(color) {
for (const [, regexp] of Object.entries(VALIDATION_REGEXP)) {
if (regexp.test(color)) {
return true;
}
}
return false;
}
function parseColor(color) {
if (typeof color !== "string") {
return { h: 0, s: 0, v: 0, a: 1 };
}
if (color === "transparent") {
return { h: 0, s: 0, v: 0, a: 0 };
}
const trimmed = color.trim();
for (const [rule, regexp] of Object.entries(VALIDATION_REGEXP)) {
if (regexp.test(trimmed)) {
return CONVERTERS[rule](trimmed);
}
}
return { h: 0, s: 0, v: 0, a: 1 };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorPicker/AlphaSlider/AlphaSlider.mjs
var defaultProps77 = {};
var AlphaSlider = React9.forwardRef((props, ref) => {
const { value, onChange, onChangeEnd, color, ...others } = useProps(
"AlphaSlider",
defaultProps77,
props
);
return /* @__PURE__ */ jsxRuntime.jsx(
ColorSlider,
{
...others,
ref,
value,
onChange: (val) => onChange?.(round2(val, 2)),
onChangeEnd: (val) => onChangeEnd?.(round2(val, 2)),
maxValue: 1,
round: false,
"data-alpha": true,
overlays: [
{
backgroundImage: "linear-gradient(45deg, var(--slider-checkers) 25%, transparent 25%), linear-gradient(-45deg, var(--slider-checkers) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--slider-checkers) 75%), linear-gradient(-45deg, var(--mantine-color-body) 75%, var(--slider-checkers) 75%)",
backgroundSize: `${rem(8)} ${rem(8)}`,
backgroundPosition: `0 0, 0 ${rem(4)}, ${rem(4)} ${rem(-4)}, ${rem(-4)} 0`
},
{
backgroundImage: `linear-gradient(90deg, transparent, ${color})`
},
{
boxShadow: `rgba(0, 0, 0, .1) 0 0 0 ${rem(1)} inset, rgb(0, 0, 0, .15) 0 0 ${rem(
4
)} inset`
}
]
}
);
});
AlphaSlider.displayName = "@mantine/core/AlphaSlider";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorPicker/converters/converters.mjs
function hsvaToRgbaObject({ h, s, v, a }) {
const _h = h / 360 * 6;
const _s = s / 100;
const _v = v / 100;
const hh = Math.floor(_h);
const l = _v * (1 - _s);
const c = _v * (1 - (_h - hh) * _s);
const d = _v * (1 - (1 - _h + hh) * _s);
const module = hh % 6;
return {
r: round2([_v, c, l, l, d, _v][module] * 255),
g: round2([d, _v, _v, c, l, l][module] * 255),
b: round2([l, l, d, _v, _v, c][module] * 255),
a: round2(a, 2)
};
}
function hsvaToRgba(color, includeAlpha) {
const { r: r2, g, b, a } = hsvaToRgbaObject(color);
if (!includeAlpha) {
return `rgb(${r2}, ${g}, ${b})`;
}
return `rgba(${r2}, ${g}, ${b}, ${round2(a, 2)})`;
}
function hsvaToHsl({ h, s, v, a }, includeAlpha) {
const hh = (200 - s) * v / 100;
const result = {
h: Math.round(h),
s: Math.round(hh > 0 && hh < 200 ? s * v / 100 / (hh <= 100 ? hh : 200 - hh) * 100 : 0),
l: Math.round(hh / 2)
};
if (!includeAlpha) {
return `hsl(${result.h}, ${result.s}%, ${result.l}%)`;
}
return `hsla(${result.h}, ${result.s}%, ${result.l}%, ${round2(a, 2)})`;
}
function formatHexPart(number) {
const hex = number.toString(16);
return hex.length < 2 ? `0${hex}` : hex;
}
function hsvaToHex(color) {
const { r: r2, g, b } = hsvaToRgbaObject(color);
return `#${formatHexPart(r2)}${formatHexPart(g)}${formatHexPart(b)}`;
}
function hsvaToHexa(color) {
const a = Math.round(color.a * 255);
return `${hsvaToHex(color)}${formatHexPart(a)}`;
}
var CONVERTERS2 = {
hex: hsvaToHex,
hexa: (color) => hsvaToHexa(color),
rgb: (color) => hsvaToRgba(color, false),
rgba: (color) => hsvaToRgba(color, true),
hsl: (color) => hsvaToHsl(color, false),
hsla: (color) => hsvaToHsl(color, true)
};
function convertHsvaTo(format2, color) {
if (!color) {
return "#000000";
}
if (!(format2 in CONVERTERS2)) {
return CONVERTERS2.hex(color);
}
return CONVERTERS2[format2](color);
}
var HueSlider = React9.forwardRef((props, ref) => {
const { value, onChange, onChangeEnd, color, ...others } = useProps("HueSlider", {}, props);
return /* @__PURE__ */ jsxRuntime.jsx(
ColorSlider,
{
...others,
ref,
value,
onChange,
onChangeEnd,
maxValue: 360,
thumbColor: `hsl(${value}, 100%, 50%)`,
round: true,
"data-hue": true,
overlays: [
{
backgroundImage: "linear-gradient(to right,hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(170,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%))"
},
{
boxShadow: `rgba(0, 0, 0, .1) 0 0 0 ${rem(1)} inset, rgb(0, 0, 0, .15) 0 0 ${rem(
4
)} inset`
}
]
}
);
});
HueSlider.displayName = "@mantine/core/HueSlider";
function Saturation({
className,
onChange,
onChangeEnd,
value,
saturationLabel,
focusable = true,
size: size4,
color,
onScrubStart,
onScrubEnd,
...others
}) {
const { getStyles: getStyles2 } = useColorPickerContext();
const [position, setPosition] = React9.useState({ x: value.s / 100, y: 1 - value.v / 100 });
const positionRef = React9.useRef(position);
const { ref } = hooks.useMove(
({ x, y }) => {
positionRef.current = { x, y };
onChange({ s: Math.round(x * 100), v: Math.round((1 - y) * 100) });
},
{
onScrubEnd: () => {
const { x, y } = positionRef.current;
onChangeEnd({ s: Math.round(x * 100), v: Math.round((1 - y) * 100) });
onScrubEnd?.();
},
onScrubStart
}
);
React9.useEffect(() => {
setPosition({ x: value.s / 100, y: 1 - value.v / 100 });
}, [value.s, value.v]);
const handleArrow = (event, pos) => {
event.preventDefault();
const _position = hooks.clampUseMovePosition(pos);
onChange({ s: Math.round(_position.x * 100), v: Math.round((1 - _position.y) * 100) });
onChangeEnd({ s: Math.round(_position.x * 100), v: Math.round((1 - _position.y) * 100) });
};
const handleKeyDown = (event) => {
switch (event.key) {
case "ArrowUp": {
handleArrow(event, { y: position.y - 0.05, x: position.x });
break;
}
case "ArrowDown": {
handleArrow(event, { y: position.y + 0.05, x: position.x });
break;
}
case "ArrowRight": {
handleArrow(event, { x: position.x + 0.05, y: position.y });
break;
}
case "ArrowLeft": {
handleArrow(event, { x: position.x - 0.05, y: position.y });
break;
}
}
};
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...getStyles2("saturation"),
ref,
...others,
role: "slider",
"aria-label": saturationLabel,
"aria-valuenow": position.x,
"aria-valuetext": convertHsvaTo("rgba", value),
tabIndex: focusable ? 0 : -1,
onKeyDown: handleKeyDown,
children: [
/* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...getStyles2("saturationOverlay", {
style: { backgroundColor: `hsl(${value.h}, 100%, 50%)` }
})
}
),
/* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...getStyles2("saturationOverlay", {
style: { backgroundImage: "linear-gradient(90deg, #fff, transparent)" }
})
}
),
/* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...getStyles2("saturationOverlay", {
style: { backgroundImage: "linear-gradient(0deg, #000, transparent)" }
})
}
),
/* @__PURE__ */ jsxRuntime.jsx(Thumb2, { position, ...getStyles2("thumb", { style: { backgroundColor: color } }) })
]
}
);
}
Saturation.displayName = "@mantine/core/Saturation";
var Swatches = React9.forwardRef(
({
className,
datatype,
setValue,
onChangeEnd,
size: size4,
focusable,
data,
swatchesPerRow,
...others
}, ref) => {
const ctx = useColorPickerContext();
const colors = data.map((color, index3) => /* @__PURE__ */ React9.createElement(
ColorSwatch,
{
...ctx.getStyles("swatch"),
unstyled: ctx.unstyled,
component: "button",
type: "button",
color,
key: index3,
radius: "sm",
onClick: () => {
setValue(color);
onChangeEnd?.(color);
},
"aria-label": color,
tabIndex: focusable ? 0 : -1,
"data-swatch": true
}
));
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...ctx.getStyles("swatches"), ref, ...others, children: colors });
}
);
Swatches.displayName = "@mantine/core/Swatches";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorPicker/ColorPicker.mjs
var defaultProps78 = {
swatchesPerRow: 7,
withPicker: true,
focusable: true,
size: "md",
__staticSelector: "ColorPicker"
};
var varsResolver40 = createVarsResolver((_, { size: size4, swatchesPerRow }) => ({
wrapper: {
"--cp-preview-size": getSize(size4, "cp-preview-size"),
"--cp-width": getSize(size4, "cp-width"),
"--cp-body-spacing": getSpacing(size4),
"--cp-swatch-size": `${100 / swatchesPerRow}%`,
"--cp-thumb-size": getSize(size4, "cp-thumb-size"),
"--cp-saturation-height": getSize(size4, "cp-saturation-height")
}
}));
var ColorPicker = factory((_props, ref) => {
const props = useProps("ColorPicker", defaultProps78, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
format: format2,
value,
defaultValue,
onChange,
onChangeEnd,
withPicker,
size: size4,
saturationLabel,
hueLabel,
alphaLabel,
focusable,
swatches,
swatchesPerRow,
fullWidth,
onColorSwatchClick,
__staticSelector,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: __staticSelector,
props,
classes: classes39,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "wrapper",
vars,
varsResolver: varsResolver40
});
const formatRef = React9.useRef(format2);
const valueRef = React9.useRef();
const scrubTimeoutRef = React9.useRef(-1);
const isScrubbingRef = React9.useRef(false);
const withAlpha = format2 === "hexa" || format2 === "rgba" || format2 === "hsla";
const [_value, setValue, controlled] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: "#FFFFFF",
onChange
});
const [parsed, setParsed] = React9.useState(parseColor(_value));
const startScrubbing = () => {
window.clearTimeout(scrubTimeoutRef.current);
isScrubbingRef.current = true;
};
const stopScrubbing = () => {
window.clearTimeout(scrubTimeoutRef.current);
scrubTimeoutRef.current = window.setTimeout(() => {
isScrubbingRef.current = false;
}, 200);
};
const handleChange = (color) => {
setParsed((current) => {
const next = { ...current, ...color };
valueRef.current = convertHsvaTo(formatRef.current, next);
return next;
});
setValue(valueRef.current);
};
hooks.useDidUpdate(() => {
if (isColorValid(value) && !isScrubbingRef.current) {
setParsed(parseColor(value));
}
}, [value]);
hooks.useDidUpdate(() => {
formatRef.current = format2;
setValue(convertHsvaTo(format2, parsed));
}, [format2]);
return /* @__PURE__ */ jsxRuntime.jsx(ColorPickerProvider, { value: { getStyles: getStyles2, unstyled }, children: /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
ref,
...getStyles2("wrapper"),
size: size4,
mod: [{ "full-width": fullWidth }, mod],
...others,
children: [
withPicker && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsx(
Saturation,
{
value: parsed,
onChange: handleChange,
onChangeEnd: ({ s, v }) => onChangeEnd?.(convertHsvaTo(formatRef.current, { ...parsed, s, v })),
color: _value,
size: size4,
focusable,
saturationLabel,
onScrubStart: startScrubbing,
onScrubEnd: stopScrubbing
}
),
/* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles2("body"), children: [
/* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles2("sliders"), children: [
/* @__PURE__ */ jsxRuntime.jsx(
HueSlider,
{
value: parsed.h,
onChange: (h) => handleChange({ h }),
onChangeEnd: (h) => onChangeEnd?.(convertHsvaTo(formatRef.current, { ...parsed, h })),
size: size4,
focusable,
"aria-label": hueLabel,
onScrubStart: startScrubbing,
onScrubEnd: stopScrubbing
}
),
withAlpha && /* @__PURE__ */ jsxRuntime.jsx(
AlphaSlider,
{
value: parsed.a,
onChange: (a) => handleChange({ a }),
onChangeEnd: (a) => {
onChangeEnd?.(convertHsvaTo(formatRef.current, { ...parsed, a }));
},
size: size4,
color: convertHsvaTo("hex", parsed),
focusable,
"aria-label": alphaLabel,
onScrubStart: startScrubbing,
onScrubEnd: stopScrubbing
}
)
] }),
withAlpha && /* @__PURE__ */ jsxRuntime.jsx(
ColorSwatch,
{
color: _value,
radius: "sm",
size: "var(--cp-preview-size)",
...getStyles2("preview")
}
)
] })
] }),
Array.isArray(swatches) && /* @__PURE__ */ jsxRuntime.jsx(
Swatches,
{
data: swatches,
swatchesPerRow,
focusable,
setValue,
onChangeEnd: (color) => {
const convertedColor = convertHsvaTo(format2, parseColor(color));
onColorSwatchClick?.(convertedColor);
onChangeEnd?.(convertedColor);
if (!controlled) {
setParsed(parseColor(color));
}
}
}
)
]
}
) });
});
ColorPicker.classes = classes39;
ColorPicker.displayName = "@mantine/core/ColorPicker";
function EyeDropperIcon({ style, ...others }) {
return /* @__PURE__ */ jsxRuntime.jsxs(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
style: {
width: "var(--ci-eye-dropper-icon-size)",
height: "var(--ci-eye-dropper-icon-size)",
...style
},
viewBox: "0 0 24 24",
strokeWidth: "1.5",
stroke: "currentColor",
fill: "none",
strokeLinecap: "round",
strokeLinejoin: "round",
...others,
children: [
/* @__PURE__ */ jsxRuntime.jsx("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M11 7l6 6" }),
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 16l11.7 -11.7a1 1 0 0 1 1.4 0l2.6 2.6a1 1 0 0 1 0 1.4l-11.7 11.7h-4v-4z" })
]
}
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorInput/ColorInput.module.css.mjs
var classes40 = { "eyeDropperIcon": "m_b077c2bc", "colorPreview": "m_c5ccdcab", "dropdown": "m_5ece2cd7" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ColorInput/ColorInput.mjs
var defaultProps79 = {
format: "hex",
fixOnBlur: true,
withPreview: true,
swatchesPerRow: 7,
withPicker: true,
popoverProps: { transitionProps: { transition: "fade", duration: 0 } },
withEyeDropper: true
};
var varsResolver41 = createVarsResolver((_, { size: size4 }) => ({
eyeDropperIcon: {
"--ci-eye-dropper-icon-size": getSize(size4, "ci-eye-dropper-icon-size")
},
colorPreview: {
"--ci-preview-size": getSize(size4, "ci-preview-size")
}
}));
var ColorInput = factory((_props, ref) => {
const props = useProps("ColorInput", defaultProps79, _props);
const {
classNames,
styles,
unstyled,
disallowInput,
fixOnBlur,
popoverProps,
withPreview,
withEyeDropper,
eyeDropperIcon,
closeOnColorSwatchClick,
eyeDropperButtonProps,
value,
defaultValue,
onChange,
onChangeEnd,
onClick,
onFocus,
onBlur,
inputProps,
format: format2,
wrapperProps,
readOnly,
withPicker,
swatches,
disabled,
leftSection,
rightSection,
swatchesPerRow,
...others
} = useInputProps("ColorInput", defaultProps79, _props);
const getStyles2 = useStyles({
name: "ColorInput",
props,
classes: classes40,
classNames,
styles,
unstyled,
rootSelector: "wrapper",
vars: props.vars,
varsResolver: varsResolver41
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
classNames,
styles,
props
});
const [dropdownOpened, setDropdownOpened] = React9.useState(false);
const [lastValidValue, setLastValidValue] = React9.useState("");
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: "",
onChange
});
const { supported: eyeDropperSupported, open: openEyeDropper } = hooks.useEyeDropper();
const eyeDropper = /* @__PURE__ */ jsxRuntime.jsx(
ActionIcon,
{
...eyeDropperButtonProps,
...getStyles2("eyeDropperButton", {
className: eyeDropperButtonProps?.className,
style: eyeDropperButtonProps?.style
}),
variant: "subtle",
color: "gray",
size: inputProps.size,
unstyled,
onClick: () => openEyeDropper().then((payload) => {
if (payload?.sRGBHex) {
const color = convertHsvaTo(format2, parseColor(payload.sRGBHex));
setValue(color);
onChangeEnd?.(color);
}
}).catch(() => {
}),
children: eyeDropperIcon || /* @__PURE__ */ jsxRuntime.jsx(EyeDropperIcon, { ...getStyles2("eyeDropperIcon") })
}
);
const handleInputFocus = (event) => {
onFocus?.(event);
setDropdownOpened(true);
};
const handleInputBlur = (event) => {
fixOnBlur && setValue(lastValidValue);
onBlur?.(event);
setDropdownOpened(false);
};
const handleInputClick = (event) => {
onClick?.(event);
setDropdownOpened(true);
};
React9.useEffect(() => {
if (isColorValid(_value) || _value.trim() === "") {
setLastValidValue(_value);
}
}, [_value]);
hooks.useDidUpdate(() => {
if (isColorValid(_value)) {
setValue(convertHsvaTo(format2, parseColor(_value)));
}
}, [format2]);
return /* @__PURE__ */ jsxRuntime.jsx(
Input.Wrapper,
{
...wrapperProps,
classNames: resolvedClassNames,
styles: resolvedStyles,
__staticSelector: "ColorInput",
children: /* @__PURE__ */ jsxRuntime.jsxs(
Popover,
{
__staticSelector: "ColorInput",
position: "bottom-start",
offset: 5,
...popoverProps,
opened: dropdownOpened,
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
withRoles: false,
disabled: readOnly || withPicker === false && (!Array.isArray(swatches) || swatches.length === 0),
children: [
/* @__PURE__ */ jsxRuntime.jsx(Popover.Target, { children: /* @__PURE__ */ jsxRuntime.jsx(
Input,
{
autoComplete: "off",
...others,
...inputProps,
classNames: resolvedClassNames,
styles: resolvedStyles,
disabled,
ref,
__staticSelector: "ColorInput",
onFocus: handleInputFocus,
onBlur: handleInputBlur,
onClick: handleInputClick,
spellCheck: false,
value: _value,
onChange: (event) => {
const inputValue = event.currentTarget.value;
setValue(inputValue);
if (isColorValid(inputValue)) {
onChangeEnd?.(convertHsvaTo(format2, parseColor(inputValue)));
}
},
leftSection: leftSection || (withPreview ? /* @__PURE__ */ jsxRuntime.jsx(
ColorSwatch,
{
color: isColorValid(_value) ? _value : "#fff",
size: "var(--ci-preview-size)",
...getStyles2("colorPreview")
}
) : null),
readOnly: disallowInput || readOnly,
pointer: disallowInput,
unstyled,
rightSection: rightSection || (withEyeDropper && !disabled && !readOnly && eyeDropperSupported ? eyeDropper : null)
}
) }),
/* @__PURE__ */ jsxRuntime.jsx(
Popover.Dropdown,
{
onMouseDown: (event) => event.preventDefault(),
className: classes40.dropdown,
children: /* @__PURE__ */ jsxRuntime.jsx(
ColorPicker,
{
__staticSelector: "ColorInput",
value: _value,
onChange: setValue,
onChangeEnd,
format: format2,
swatches,
swatchesPerRow,
withPicker,
size: inputProps.size,
focusable: false,
unstyled,
styles: resolvedStyles,
classNames: resolvedClassNames,
onColorSwatchClick: () => closeOnColorSwatchClick && setDropdownOpened(false)
}
)
}
)
]
}
)
}
);
});
ColorInput.classes = InputBase.classes;
ColorInput.displayName = "@mantine/core/ColorInput";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/use-combobox/get-index/get-virtualized-index.mjs
function getPreviousIndex3({
currentIndex,
isOptionDisabled,
totalOptionsCount,
loop
}) {
for (let i = currentIndex - 1; i >= 0; i -= 1) {
if (!isOptionDisabled(i)) {
return i;
}
}
if (loop) {
for (let i = totalOptionsCount - 1; i > -1; i -= 1) {
if (!isOptionDisabled(i)) {
return i;
}
}
}
return currentIndex;
}
function getNextIndex3({
currentIndex,
isOptionDisabled,
totalOptionsCount,
loop
}) {
for (let i = currentIndex + 1; i < totalOptionsCount; i += 1) {
if (!isOptionDisabled(i)) {
return i;
}
}
if (loop) {
for (let i = 0; i < totalOptionsCount; i += 1) {
if (!isOptionDisabled(i)) {
return i;
}
}
}
return currentIndex;
}
function getFirstIndex2({ totalOptionsCount, isOptionDisabled }) {
for (let i = 0; i < totalOptionsCount; i += 1) {
if (!isOptionDisabled(i)) {
return i;
}
}
return -1;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Combobox/use-combobox/use-virtualized-combobox.mjs
function useVirtualizedCombobox({
defaultOpened,
opened,
onOpenedChange,
onDropdownClose,
onDropdownOpen,
loop = true,
totalOptionsCount,
isOptionDisabled = () => false,
getOptionId,
selectedOptionIndex,
setSelectedOptionIndex,
activeOptionIndex,
onSelectedOptionSubmit
} = {
totalOptionsCount: 0,
getOptionId: () => null,
selectedOptionIndex: 1,
setSelectedOptionIndex: () => {
},
onSelectedOptionSubmit: () => {
}
}) {
const [dropdownOpened, setDropdownOpened] = hooks.useUncontrolled({
value: opened,
defaultValue: defaultOpened,
finalValue: false,
onChange: onOpenedChange
});
const listId = React9.useRef(null);
const searchRef = React9.useRef(null);
const targetRef = React9.useRef(null);
const focusSearchTimeout = React9.useRef(-1);
const focusTargetTimeout = React9.useRef(-1);
const openDropdown = () => {
if (!dropdownOpened) {
setDropdownOpened(true);
onDropdownOpen?.();
}
};
const closeDropdown = () => {
if (dropdownOpened) {
setDropdownOpened(false);
onDropdownClose?.();
}
};
const toggleDropdown = () => {
if (dropdownOpened) {
closeDropdown();
} else {
openDropdown();
}
};
const selectOption = (index3) => {
const nextIndex = index3 >= totalOptionsCount ? 0 : index3 < 0 ? totalOptionsCount - 1 : index3;
setSelectedOptionIndex(nextIndex);
return getOptionId(nextIndex);
};
const selectActiveOption = () => selectOption(activeOptionIndex ?? 0);
const selectNextOption = () => selectOption(
getNextIndex3({ currentIndex: selectedOptionIndex, isOptionDisabled, totalOptionsCount, loop })
);
const selectPreviousOption = () => selectOption(
getPreviousIndex3({
currentIndex: selectedOptionIndex,
isOptionDisabled,
totalOptionsCount,
loop
})
);
const selectFirstOption = () => selectOption(getFirstIndex2({ isOptionDisabled, totalOptionsCount }));
const resetSelectedOption = () => {
setSelectedOptionIndex(-1);
};
const clickSelectedOption = () => {
onSelectedOptionSubmit?.(selectedOptionIndex);
};
const setListId = (id) => {
listId.current = id;
};
const focusSearchInput = () => {
focusSearchTimeout.current = window.setTimeout(() => searchRef.current.focus(), 0);
};
const focusTarget = () => {
focusTargetTimeout.current = window.setTimeout(() => targetRef.current.focus(), 0);
};
React9.useEffect(
() => () => {
window.clearTimeout(focusSearchTimeout.current);
window.clearTimeout(focusTargetTimeout.current);
},
[]
);
const getSelectedOptionIndex = React9.useCallback(() => selectedOptionIndex, []);
return {
dropdownOpened,
openDropdown,
closeDropdown,
toggleDropdown,
selectedOptionIndex,
getSelectedOptionIndex,
selectOption,
selectFirstOption,
selectActiveOption,
selectNextOption,
selectPreviousOption,
resetSelectedOption,
updateSelectedOptionIndex: () => {
},
listId: listId.current,
setListId,
clickSelectedOption,
searchRef,
focusSearchInput,
targetRef,
focusTarget
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Container/Container.module.css.mjs
var classes41 = { "root": "m_7485cace" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Container/Container.mjs
var defaultProps80 = {};
var varsResolver42 = createVarsResolver((_, { size: size4, fluid }) => ({
root: {
"--container-size": fluid ? void 0 : getSize(size4, "container-size")
}
}));
var Container = factory((_props, ref) => {
const props = useProps("Container", defaultProps80, _props);
const { classNames, className, style, styles, unstyled, vars, fluid, mod, ...others } = props;
const getStyles2 = useStyles({
name: "Container",
classes: classes41,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver42
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, mod: [{ fluid }, mod], ...getStyles2("root"), ...others });
});
Container.classes = classes41;
Container.displayName = "@mantine/core/Container";
var defaultProps81 = {
timeout: 1e3
};
function CopyButton(props) {
const { children, timeout, value, ...others } = useProps("CopyButton", defaultProps81, props);
const clipboard = hooks.useClipboard({ timeout });
const copy = () => clipboard.copy(value);
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children({ copy, copied: clipboard.copied, ...others }) });
}
CopyButton.displayName = "@mantine/core/CopyButton";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Dialog/Dialog.module.css.mjs
var classes42 = { "root": "m_e2125a27", "closeButton": "m_5abab665" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Dialog/Dialog.mjs
var defaultProps82 = {
shadow: "md",
p: "md",
withBorder: false,
transitionProps: { transition: "pop-top-right", duration: 200 },
position: {
bottom: 30,
right: 30
}
};
var varsResolver43 = createVarsResolver((_, { size: size4 }) => ({
root: {
"--dialog-size": getSize(size4, "dialog-size")
}
}));
var Dialog = factory((_props, ref) => {
const props = useProps("Dialog", defaultProps82, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
zIndex,
position,
keepMounted,
opened,
transitionProps,
withCloseButton,
withinPortal,
children,
onClose,
portalProps,
...others
} = props;
const getStyles2 = useStyles({
name: "Dialog",
classes: classes42,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver43
});
return /* @__PURE__ */ jsxRuntime.jsx(
Affix,
{
zIndex,
position,
ref,
withinPortal,
portalProps,
unstyled,
children: /* @__PURE__ */ jsxRuntime.jsx(Transition, { keepMounted, mounted: opened, ...transitionProps, children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsxs(
Paper,
{
unstyled,
...getStyles2("root", { style: transitionStyles }),
...others,
children: [
withCloseButton && /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClick: onClose, unstyled, ...getStyles2("closeButton") }),
children
]
}
) })
}
);
});
Dialog.classes = classes42;
Dialog.displayName = "@mantine/core/Dialog";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Divider/Divider.module.css.mjs
var classes43 = { "root": "m_3eebeb36", "label": "m_9e365f20" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Divider/Divider.mjs
var defaultProps83 = {
orientation: "horizontal"
};
var varsResolver44 = createVarsResolver((theme, { color, variant, size: size4 }) => ({
root: {
"--divider-color": color ? getThemeColor(color, theme) : void 0,
"--divider-border-style": variant,
"--divider-size": getSize(size4, "divider-size")
}
}));
var Divider = factory((_props, ref) => {
const props = useProps("Divider", defaultProps83, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
color,
orientation,
label,
labelPosition,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Divider",
classes: classes43,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver44
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
mod: [{ orientation, "with-label": !!label }, mod],
...getStyles2("root"),
...others,
role: "separator",
children: label && /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", mod: { position: labelPosition }, ...getStyles2("label"), children: label })
}
);
});
Divider.classes = classes43;
Divider.displayName = "@mantine/core/Divider";
var [DrawerProvider, useDrawerContext] = createSafeContext(
"Drawer component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Drawer/Drawer.module.css.mjs
var classes44 = { "root": "m_f11b401e", "header": "m_5a7c2c9", "content": "m_b8a05bbd", "inner": "m_31cd769a" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Drawer/DrawerBody.mjs
var defaultProps84 = {};
var DrawerBody = factory((_props, ref) => {
const props = useProps("DrawerBody", defaultProps84, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useDrawerContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseBody,
{
ref,
...ctx.getStyles("body", { classNames, style, styles, className }),
...others
}
);
});
DrawerBody.classes = classes44;
DrawerBody.displayName = "@mantine/core/DrawerBody";
var defaultProps85 = {};
var DrawerCloseButton = factory((_props, ref) => {
const props = useProps("DrawerCloseButton", defaultProps85, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useDrawerContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseCloseButton,
{
ref,
...ctx.getStyles("close", { classNames, style, styles, className }),
...others
}
);
});
DrawerCloseButton.classes = classes44;
DrawerCloseButton.displayName = "@mantine/core/DrawerCloseButton";
var defaultProps86 = {};
var DrawerContent = factory((_props, ref) => {
const props = useProps("DrawerContent", defaultProps86, _props);
const { classNames, className, style, styles, vars, children, radius, ...others } = props;
const ctx = useDrawerContext();
const Scroll = ctx.scrollAreaComponent || NativeScrollArea;
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseContent,
{
...ctx.getStyles("content", { className, style, styles, classNames }),
innerProps: ctx.getStyles("inner", { className, style, styles, classNames }),
ref,
...others,
radius: radius || ctx.radius || 0,
children: /* @__PURE__ */ jsxRuntime.jsx(Scroll, { style: { height: "calc(100vh - var(--drawer-offset) * 2)" }, children })
}
);
});
DrawerContent.classes = classes44;
DrawerContent.displayName = "@mantine/core/DrawerContent";
var defaultProps87 = {};
var DrawerHeader = factory((_props, ref) => {
const props = useProps("DrawerHeader", defaultProps87, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useDrawerContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseHeader,
{
ref,
...ctx.getStyles("header", { classNames, style, styles, className }),
...others
}
);
});
DrawerHeader.classes = classes44;
DrawerHeader.displayName = "@mantine/core/DrawerHeader";
var defaultProps88 = {};
var DrawerOverlay = factory((_props, ref) => {
const props = useProps("DrawerOverlay", defaultProps88, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useDrawerContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseOverlay,
{
ref,
...ctx.getStyles("overlay", { classNames, style, styles, className }),
...others
}
);
});
DrawerOverlay.classes = classes44;
DrawerOverlay.displayName = "@mantine/core/DrawerOverlay";
function getDrawerAlign(position) {
switch (position) {
case "top":
return "flex-start";
case "bottom":
return "flex-end";
default:
return void 0;
}
}
function getDrawerFlex(position) {
if (position === "top" || position === "bottom") {
return "0 0 calc(100% - var(--drawer-offset, 0rem) * 2)";
}
return void 0;
}
var transitions2 = {
top: "slide-down",
bottom: "slide-up",
left: "slide-right",
right: "slide-left"
};
var rtlTransitions = {
top: "slide-down",
bottom: "slide-up",
right: "slide-right",
left: "slide-left"
};
var defaultProps89 = {
closeOnClickOutside: true,
withinPortal: true,
lockScroll: true,
trapFocus: true,
returnFocus: true,
closeOnEscape: true,
keepMounted: false,
zIndex: getDefaultZIndex("modal"),
position: "left"
};
var varsResolver45 = createVarsResolver((_, { position, size: size4, offset: offset4 }) => ({
root: {
"--drawer-size": getSize(size4, "drawer-size"),
"--drawer-flex": getDrawerFlex(position),
"--drawer-height": position === "left" || position === "right" ? void 0 : "var(--drawer-size)",
"--drawer-align": getDrawerAlign(position),
"--drawer-justify": position === "right" ? "flex-end" : void 0,
"--drawer-offset": rem(offset4)
}
}));
var DrawerRoot = factory((_props, ref) => {
const props = useProps("DrawerRoot", defaultProps89, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
scrollAreaComponent,
position,
transitionProps,
radius,
...others
} = props;
const { dir } = useDirection();
const getStyles2 = useStyles({
name: "Drawer",
classes: classes44,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver45
});
const drawerTransition = (dir === "rtl" ? rtlTransitions : transitions2)[position];
return /* @__PURE__ */ jsxRuntime.jsx(DrawerProvider, { value: { scrollAreaComponent, getStyles: getStyles2, radius }, children: /* @__PURE__ */ jsxRuntime.jsx(
ModalBase,
{
ref,
...getStyles2("root"),
transitionProps: { transition: drawerTransition, ...transitionProps },
unstyled,
...others
}
) });
});
DrawerRoot.classes = classes44;
DrawerRoot.displayName = "@mantine/core/DrawerRoot";
var defaultProps90 = {};
var DrawerTitle = factory((_props, ref) => {
const props = useProps("DrawerTitle", defaultProps90, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useDrawerContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseTitle,
{
ref,
...ctx.getStyles("title", { classNames, style, styles, className }),
...others
}
);
});
DrawerTitle.classes = classes44;
DrawerTitle.displayName = "@mantine/core/DrawerTitle";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Drawer/Drawer.mjs
var defaultProps91 = {
closeOnClickOutside: true,
withinPortal: true,
lockScroll: true,
trapFocus: true,
returnFocus: true,
closeOnEscape: true,
keepMounted: false,
zIndex: getDefaultZIndex("modal"),
withOverlay: true,
withCloseButton: true
};
var Drawer = factory((_props, ref) => {
const {
title,
withOverlay,
overlayProps,
withCloseButton,
closeButtonProps,
children,
...others
} = useProps("Drawer", defaultProps91, _props);
const hasHeader = !!title || withCloseButton;
return /* @__PURE__ */ jsxRuntime.jsxs(DrawerRoot, { ref, ...others, children: [
withOverlay && /* @__PURE__ */ jsxRuntime.jsx(DrawerOverlay, { ...overlayProps }),
/* @__PURE__ */ jsxRuntime.jsxs(DrawerContent, { children: [
hasHeader && /* @__PURE__ */ jsxRuntime.jsxs(DrawerHeader, { children: [
title && /* @__PURE__ */ jsxRuntime.jsx(DrawerTitle, { children: title }),
withCloseButton && /* @__PURE__ */ jsxRuntime.jsx(DrawerCloseButton, { ...closeButtonProps })
] }),
/* @__PURE__ */ jsxRuntime.jsx(DrawerBody, { children })
] })
] });
});
Drawer.classes = classes44;
Drawer.displayName = "@mantine/core/Drawer";
Drawer.Root = DrawerRoot;
Drawer.Overlay = DrawerOverlay;
Drawer.Content = DrawerContent;
Drawer.Body = DrawerBody;
Drawer.Header = DrawerHeader;
Drawer.Title = DrawerTitle;
Drawer.CloseButton = DrawerCloseButton;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Fieldset/Fieldset.module.css.mjs
var classes45 = { "root": "m_e9408a47", "root--default": "m_84c9523a", "root--filled": "m_ef274e49", "root--unstyled": "m_eda993d3", "legend": "m_90794832", "legend--unstyled": "m_74ca27fe" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Fieldset/Fieldset.mjs
var defaultProps92 = {
variant: "default"
};
var varsResolver46 = createVarsResolver((_, { radius }) => ({
root: {
"--fieldset-radius": radius === void 0 ? void 0 : getRadius(radius)
}
}));
var Fieldset = factory((_props, ref) => {
const props = useProps("Fieldset", defaultProps92, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
legend,
variant,
children,
...others
} = props;
const getStyles2 = useStyles({
name: "Fieldset",
classes: classes45,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver46
});
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
component: "fieldset",
ref,
variant,
...getStyles2("root", { variant }),
...others,
children: [
legend && /* @__PURE__ */ jsxRuntime.jsx("legend", { ...getStyles2("legend", { variant }), children: legend }),
children
]
}
);
});
Fieldset.classes = classes45;
Fieldset.displayName = "@mantine/core/Fieldset";
var defaultProps93 = {
multiple: false
};
var FileButton = React9.forwardRef(
(props, ref) => {
const {
onChange,
children,
multiple,
accept,
name,
form,
resetRef,
disabled,
capture,
inputProps,
...others
} = useProps("FileButton", defaultProps93, props);
const inputRef = React9.useRef();
const onClick = () => {
!disabled && inputRef.current?.click();
};
const handleChange = (event) => {
if (multiple) {
onChange(Array.from(event.currentTarget.files));
} else {
onChange(event.currentTarget.files[0] || null);
}
};
const reset = () => {
inputRef.current.value = "";
};
hooks.assignRef(resetRef, reset);
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
children({ onClick, ...others }),
/* @__PURE__ */ jsxRuntime.jsx(
"input",
{
style: { display: "none" },
type: "file",
accept,
multiple,
onChange: handleChange,
ref: hooks.useMergedRef(ref, inputRef),
name,
form,
capture,
...inputProps
}
)
] });
}
);
FileButton.displayName = "@mantine/core/FileButton";
var DefaultValue = ({ value }) => /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: Array.isArray(value) ? value.map((file) => file.name).join(", ") : value?.name });
var defaultProps94 = {
valueComponent: DefaultValue
};
var _FileInput = factory((_props, ref) => {
const props = useProps("FileInput", defaultProps94, _props);
const {
unstyled,
vars,
onChange,
value,
defaultValue,
multiple,
accept,
name,
form,
valueComponent,
clearable,
clearButtonProps,
readOnly,
capture,
fileInputProps,
rightSection,
size: size4,
placeholder,
resetRef: resetRefProp,
...others
} = props;
const resetRef = React9.useRef(null);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
onChange,
finalValue: multiple ? [] : null
});
const hasValue = Array.isArray(_value) ? _value.length !== 0 : _value !== null;
const _rightSection = rightSection || (clearable && hasValue && !readOnly ? /* @__PURE__ */ jsxRuntime.jsx(
CloseButton,
{
...clearButtonProps,
variant: "subtle",
onClick: () => setValue(multiple ? [] : null),
size: size4,
unstyled
}
) : null);
React9.useEffect(() => {
if (Array.isArray(_value) && _value.length === 0 || _value === null) {
resetRef.current?.();
}
}, [_value]);
const ValueComponent = valueComponent;
return /* @__PURE__ */ jsxRuntime.jsx(
FileButton,
{
onChange: setValue,
multiple,
accept,
name,
form,
resetRef: hooks.useMergedRef(resetRef, resetRefProp),
disabled: readOnly,
capture,
inputProps: fileInputProps,
children: (fileButtonProps) => /* @__PURE__ */ jsxRuntime.jsx(
InputBase,
{
component: "button",
ref,
rightSection: _rightSection,
...fileButtonProps,
...others,
__staticSelector: "FileInput",
multiline: true,
type: "button",
pointer: true,
__stylesApiProps: props,
unstyled,
size: size4,
children: !hasValue ? /* @__PURE__ */ jsxRuntime.jsx(Input.Placeholder, { children: placeholder }) : /* @__PURE__ */ jsxRuntime.jsx(ValueComponent, { value: _value })
}
)
}
);
});
_FileInput.classes = InputBase.classes;
_FileInput.displayName = "@mantine/core/FileInput";
var FileInput = _FileInput;
function useDelayedHover({ open, close, openDelay, closeDelay }) {
const openTimeout = React9.useRef(-1);
const closeTimeout = React9.useRef(-1);
const clearTimeouts = () => {
window.clearTimeout(openTimeout.current);
window.clearTimeout(closeTimeout.current);
};
const openDropdown = () => {
clearTimeouts();
if (openDelay === 0 || openDelay === void 0) {
open();
} else {
openTimeout.current = window.setTimeout(open, openDelay);
}
};
const closeDropdown = () => {
clearTimeouts();
if (closeDelay === 0 || closeDelay === void 0) {
close();
} else {
closeTimeout.current = window.setTimeout(close, closeDelay);
}
};
React9.useEffect(() => clearTimeouts, []);
return { openDropdown, closeDropdown };
}
var [GridProvider, useGridContext] = createSafeContext(
"Grid component was not found in tree"
);
var getColumnFlexBasis = (colSpan, columns) => {
if (colSpan === "content") {
return "auto";
}
if (colSpan === "auto") {
return "0rem";
}
return colSpan ? `${100 / (columns / colSpan)}%` : void 0;
};
var getColumnMaxWidth = (colSpan, columns, grow) => {
if (grow || colSpan === "auto") {
return "100%";
}
if (colSpan === "content") {
return "unset";
}
return getColumnFlexBasis(colSpan, columns);
};
var getColumnFlexGrow = (colSpan, grow) => {
if (!colSpan) {
return void 0;
}
return colSpan === "auto" || grow ? "1" : "auto";
};
var getColumnOffset = (offset4, columns) => offset4 === 0 ? "0" : offset4 ? `${100 / (columns / offset4)}%` : void 0;
function GridColVariables({ span, order, offset: offset4, selector }) {
const theme = useMantineTheme();
const ctx = useGridContext();
const _breakpoints = ctx.breakpoints || theme.breakpoints;
const baseValue = getBaseValue(span);
const baseSpan = baseValue === void 0 ? 12 : getBaseValue(span);
const baseStyles = filterProps({
"--col-order": getBaseValue(order)?.toString(),
"--col-flex-grow": getColumnFlexGrow(baseSpan, ctx.grow),
"--col-flex-basis": getColumnFlexBasis(baseSpan, ctx.columns),
"--col-width": baseSpan === "content" ? "auto" : void 0,
"--col-max-width": getColumnMaxWidth(baseSpan, ctx.columns, ctx.grow),
"--col-offset": getColumnOffset(getBaseValue(offset4), ctx.columns)
});
const queries = keys(_breakpoints).reduce(
(acc, breakpoint) => {
if (!acc[breakpoint]) {
acc[breakpoint] = {};
}
if (typeof order === "object" && order[breakpoint] !== void 0) {
acc[breakpoint]["--col-order"] = order[breakpoint]?.toString();
}
if (typeof span === "object" && span[breakpoint] !== void 0) {
acc[breakpoint]["--col-flex-grow"] = getColumnFlexGrow(span[breakpoint], ctx.grow);
acc[breakpoint]["--col-flex-basis"] = getColumnFlexBasis(span[breakpoint], ctx.columns);
acc[breakpoint]["--col-width"] = span[breakpoint] === "content" ? "auto" : void 0;
acc[breakpoint]["--col-max-width"] = getColumnMaxWidth(
span[breakpoint],
ctx.columns,
ctx.grow
);
}
if (typeof offset4 === "object" && offset4[breakpoint] !== void 0) {
acc[breakpoint]["--col-offset"] = getColumnOffset(offset4[breakpoint], ctx.columns);
}
return acc;
},
{}
);
const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(
(breakpoint) => keys(queries[breakpoint.value]).length > 0
);
const values2 = sortedBreakpoints.map((breakpoint) => ({
query: ctx.type === "container" ? `mantine-grid (min-width: ${_breakpoints[breakpoint.value]})` : `(min-width: ${_breakpoints[breakpoint.value]})`,
styles: queries[breakpoint.value]
}));
return /* @__PURE__ */ jsxRuntime.jsx(
InlineStyles,
{
styles: baseStyles,
media: ctx.type === "container" ? void 0 : values2,
container: ctx.type === "container" ? values2 : void 0,
selector
}
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Grid/Grid.module.css.mjs
var classes46 = { "container": "m_8478a6da", "root": "m_410352e9", "inner": "m_dee7bd2f", "col": "m_96bdd299" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Grid/GridCol/GridCol.mjs
var defaultProps95 = {
span: 12
};
var GridCol = factory((_props, ref) => {
const props = useProps("GridCol", defaultProps95, _props);
const { classNames, className, style, styles, vars, span, order, offset: offset4, ...others } = props;
const ctx = useGridContext();
const responsiveClassName = useRandomClassName();
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsx(
GridColVariables,
{
selector: `.${responsiveClassName}`,
span,
order,
offset: offset4
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("col", {
className: clsx_default(className, responsiveClassName),
style,
classNames,
styles
}),
...others
}
)
] });
});
GridCol.classes = classes46;
GridCol.displayName = "@mantine/core/GridCol";
function GridVariables({ gutter, selector, breakpoints, type }) {
const theme = useMantineTheme();
const _breakpoints = breakpoints || theme.breakpoints;
const baseStyles = filterProps({
"--grid-gutter": getSpacing(getBaseValue(gutter))
});
const queries = keys(_breakpoints).reduce(
(acc, breakpoint) => {
if (!acc[breakpoint]) {
acc[breakpoint] = {};
}
if (typeof gutter === "object" && gutter[breakpoint] !== void 0) {
acc[breakpoint]["--grid-gutter"] = getSpacing(gutter[breakpoint]);
}
return acc;
},
{}
);
const sortedBreakpoints = getSortedBreakpoints(keys(queries), _breakpoints).filter(
(breakpoint) => keys(queries[breakpoint.value]).length > 0
);
const values2 = sortedBreakpoints.map((breakpoint) => ({
query: type === "container" ? `mantine-grid (min-width: ${_breakpoints[breakpoint.value]})` : `(min-width: ${_breakpoints[breakpoint.value]})`,
styles: queries[breakpoint.value]
}));
return /* @__PURE__ */ jsxRuntime.jsx(
InlineStyles,
{
styles: baseStyles,
media: type === "container" ? void 0 : values2,
container: type === "container" ? values2 : void 0,
selector
}
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Grid/Grid.mjs
var defaultProps96 = {
gutter: "md",
grow: false,
columns: 12
};
var varsResolver47 = createVarsResolver((_, { justify, align, overflow }) => ({
root: {
"--grid-justify": justify,
"--grid-align": align,
"--grid-overflow": overflow
}
}));
var Grid = factory((_props, ref) => {
const props = useProps("Grid", defaultProps96, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
grow,
gutter,
columns,
align,
justify,
children,
breakpoints,
type,
...others
} = props;
const getStyles2 = useStyles({
name: "Grid",
classes: classes46,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver47
});
const responsiveClassName = useRandomClassName();
if (type === "container" && breakpoints) {
return /* @__PURE__ */ jsxRuntime.jsxs(GridProvider, { value: { getStyles: getStyles2, grow, columns: columns || 12, breakpoints, type }, children: [
/* @__PURE__ */ jsxRuntime.jsx(GridVariables, { selector: `.${responsiveClassName}`, ...props }),
/* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("container"), children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root", { className: responsiveClassName }), ...others, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("inner"), children }) }) })
] });
}
return /* @__PURE__ */ jsxRuntime.jsxs(GridProvider, { value: { getStyles: getStyles2, grow, columns: columns || 12, breakpoints, type }, children: [
/* @__PURE__ */ jsxRuntime.jsx(GridVariables, { selector: `.${responsiveClassName}`, ...props }),
/* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root", { className: responsiveClassName }), ...others, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("inner"), children }) })
] });
});
Grid.classes = classes46;
Grid.displayName = "@mantine/core/Grid";
Grid.Col = GridCol;
function getMarkColor({ color, theme, defaultShade }) {
const parsed = parseThemeColor({ color, theme });
if (!parsed.isThemeColor) {
return color;
}
if (parsed.shade === void 0) {
return `var(--mantine-color-${parsed.color}-${defaultShade})`;
}
return `var(${parsed.variable})`;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Mark/Mark.module.css.mjs
var classes47 = { "root": "m_bcb3f3c2" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Mark/Mark.mjs
var defaultProps97 = {
color: "yellow"
};
var varsResolver48 = createVarsResolver((theme, { color }) => ({
root: {
"--mark-bg-dark": getMarkColor({ color, theme, defaultShade: 5 }),
"--mark-bg-light": getMarkColor({ color, theme, defaultShade: 2 })
}
}));
var Mark = factory((_props, ref) => {
const props = useProps("Mark", defaultProps97, _props);
const { classNames, className, style, styles, unstyled, vars, color, variant, ...others } = props;
const getStyles2 = useStyles({
name: "Mark",
props,
className,
style,
classes: classes47,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver48
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "mark", ref, variant, ...getStyles2("root"), ...others });
});
Mark.classes = classes47;
Mark.displayName = "@mantine/core/Mark";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Highlight/highlighter/highlighter.mjs
function escapeRegex(value) {
return value.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&");
}
function highlighter(value, _highlight) {
if (_highlight == null) {
return [{ chunk: value, highlighted: false }];
}
const highlight = Array.isArray(_highlight) ? _highlight.map(escapeRegex) : escapeRegex(_highlight);
const shouldHighlight = Array.isArray(highlight) ? highlight.filter((part) => part.trim().length > 0).length > 0 : highlight.trim() !== "";
if (!shouldHighlight) {
return [{ chunk: value, highlighted: false }];
}
const matcher = typeof highlight === "string" ? highlight.trim() : highlight.filter((part) => part.trim().length !== 0).map((part) => part.trim()).sort((a, b) => b.length - a.length).join("|");
const re = new RegExp(`(${matcher})`, "gi");
const chunks = value.split(re).map((part) => ({ chunk: part, highlighted: re.test(part) })).filter(({ chunk }) => chunk);
return chunks;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Highlight/Highlight.mjs
var defaultProps98 = {};
var Highlight = polymorphicFactory((props, ref) => {
const { unstyled, children, highlight, highlightStyles, color, ...others } = useProps(
"Highlight",
defaultProps98,
props
);
const highlightChunks = highlighter(children, highlight);
return /* @__PURE__ */ jsxRuntime.jsx(Text, { unstyled, ref, ...others, __staticSelector: "Highlight", children: highlightChunks.map(
({ chunk, highlighted }, i) => highlighted ? /* @__PURE__ */ jsxRuntime.jsx(
Mark,
{
unstyled,
color,
style: highlightStyles,
"data-highlight": chunk,
children: chunk
},
i
) : /* @__PURE__ */ jsxRuntime.jsx("span", { children: chunk }, i)
) });
});
Highlight.classes = Text.classes;
Highlight.displayName = "@mantine/core/Highlight";
var [HoverCardContextProvider, useHoverCardContext] = createSafeContext(
"HoverCard component was not found in the tree"
);
var defaultProps99 = {};
function HoverCardDropdown(props) {
const { children, onMouseEnter, onMouseLeave, ...others } = useProps(
"HoverCardDropdown",
defaultProps99,
props
);
const ctx = useHoverCardContext();
const handleMouseEnter = createEventHandler(onMouseEnter, ctx.openDropdown);
const handleMouseLeave = createEventHandler(onMouseLeave, ctx.closeDropdown);
return /* @__PURE__ */ jsxRuntime.jsx(Popover.Dropdown, { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ...others, children });
}
HoverCardDropdown.displayName = "@mantine/core/HoverCardDropdown";
var defaultProps100 = {
refProp: "ref"
};
var HoverCardTarget = React9.forwardRef((props, ref) => {
const { children, refProp, eventPropsWrapperName, ...others } = useProps(
"HoverCardTarget",
defaultProps100,
props
);
if (!isElement(children)) {
throw new Error(
"HoverCard.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
);
}
const ctx = useHoverCardContext();
const onMouseEnter = createEventHandler(children.props.onMouseEnter, ctx.openDropdown);
const onMouseLeave = createEventHandler(children.props.onMouseLeave, ctx.closeDropdown);
const eventListeners = { onMouseEnter, onMouseLeave };
return /* @__PURE__ */ jsxRuntime.jsx(Popover.Target, { refProp, ref, ...others, children: React9.cloneElement(
children,
eventPropsWrapperName ? { [eventPropsWrapperName]: eventListeners } : eventListeners
) });
});
HoverCardTarget.displayName = "@mantine/core/HoverCardTarget";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/HoverCard/HoverCard.mjs
var defaultProps101 = {
openDelay: 0,
closeDelay: 150,
initiallyOpened: false
};
function HoverCard(props) {
const { children, onOpen, onClose, openDelay, closeDelay, initiallyOpened, ...others } = useProps(
"HoverCard",
defaultProps101,
props
);
const [opened, { open, close }] = hooks.useDisclosure(initiallyOpened, { onClose, onOpen });
const { openDropdown, closeDropdown } = useDelayedHover({ open, close, openDelay, closeDelay });
return /* @__PURE__ */ jsxRuntime.jsx(HoverCardContextProvider, { value: { openDropdown, closeDropdown }, children: /* @__PURE__ */ jsxRuntime.jsx(Popover, { ...others, opened, __staticSelector: "HoverCard", children }) });
}
HoverCard.displayName = "@mantine/core/HoverCard";
HoverCard.Target = HoverCardTarget;
HoverCard.Dropdown = HoverCardDropdown;
HoverCard.extend = (input) => input;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Image/Image.module.css.mjs
var classes48 = { "root": "m_9e117634" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Image/Image.mjs
var defaultProps102 = {};
var varsResolver49 = createVarsResolver((_, { radius, fit }) => ({
root: {
"--image-radius": radius === void 0 ? void 0 : getRadius(radius),
"--image-object-fit": fit
}
}));
var Image = polymorphicFactory((_props, ref) => {
const props = useProps("Image", defaultProps102, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
onError,
src,
radius,
fit,
fallbackSrc,
mod,
...others
} = props;
const [error2, setError] = React9.useState(!src);
React9.useEffect(() => setError(!src), [src]);
const getStyles2 = useStyles({
name: "Image",
classes: classes48,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver49
});
if (error2 && fallbackSrc) {
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "img",
ref,
src: fallbackSrc,
...getStyles2("root"),
onError,
mod: ["fallback", mod],
...others
}
);
}
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "img",
ref,
...getStyles2("root"),
src,
onError: (event) => {
onError?.(event);
setError(true);
},
mod,
...others
}
);
});
Image.classes = classes48;
Image.displayName = "@mantine/core/Image";
function getPositionVariables(_position = "top-end", offset4 = 0) {
const variables = {
"--indicator-top": void 0,
"--indicator-bottom": void 0,
"--indicator-left": void 0,
"--indicator-right": void 0,
"--indicator-translate-x": void 0,
"--indicator-translate-y": void 0
};
const _offset = rem(offset4);
const [position, placement] = _position.split("-");
if (position === "top") {
variables["--indicator-top"] = _offset;
variables["--indicator-translate-y"] = "-50%";
}
if (position === "middle") {
variables["--indicator-top"] = "50%";
variables["--indicator-translate-y"] = "-50%";
}
if (position === "bottom") {
variables["--indicator-bottom"] = _offset;
variables["--indicator-translate-y"] = "50%";
}
if (placement === "start") {
variables["--indicator-left"] = _offset;
variables["--indicator-translate-x"] = "-50%";
}
if (placement === "center") {
variables["--indicator-left"] = "50%";
variables["--indicator-translate-x"] = "-50%";
}
if (placement === "end") {
variables["--indicator-right"] = _offset;
variables["--indicator-translate-x"] = "50%";
}
return variables;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Indicator/Indicator.module.css.mjs
var classes49 = { "root": "m_e5262200", "indicator": "m_760d1fb1", "processing": "m_885901b1" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Indicator/Indicator.mjs
var defaultProps103 = {
position: "top-end",
offset: 0,
inline: false,
withBorder: false,
disabled: false,
processing: false
};
var varsResolver50 = createVarsResolver(
(theme, { color, position, offset: offset4, size: size4, radius, zIndex, autoContrast }) => ({
root: {
"--indicator-color": color ? getThemeColor(color, theme) : void 0,
"--indicator-text-color": getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0,
"--indicator-size": rem(size4),
"--indicator-radius": radius === void 0 ? void 0 : getRadius(radius),
"--indicator-z-index": zIndex?.toString(),
...getPositionVariables(position, offset4)
}
})
);
var Indicator = factory((_props, ref) => {
const props = useProps("Indicator", defaultProps103, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
position,
offset: offset4,
inline: inline4,
label,
radius,
color,
withBorder,
disabled,
processing,
zIndex,
autoContrast,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Indicator",
classes: classes49,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver50
});
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { ref, ...getStyles2("root"), mod: [{ inline: inline4 }, mod], ...others, children: [
!disabled && /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
mod: { "with-label": !!label, "with-border": withBorder, processing },
...getStyles2("indicator"),
children: label
}
),
children
] });
});
Indicator.classes = classes49;
Indicator.displayName = "@mantine/core/Indicator";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/react-textarea-autosize@8.5.3_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.cjs.mjs
var import_react_textarea_autosize_browser_cjs_default = __toESM(require_react_textarea_autosize_browser_cjs_default());
var defaultProps104 = {};
var Textarea = factory((props, ref) => {
const { autosize, maxRows, minRows, __staticSelector, resize, ...others } = useProps(
"Textarea",
defaultProps104,
props
);
const shouldAutosize = autosize && getEnv() !== "test";
const autosizeProps = shouldAutosize ? { maxRows, minRows } : {};
return /* @__PURE__ */ jsxRuntime.jsx(
InputBase,
{
component: shouldAutosize ? import_react_textarea_autosize_browser_cjs_default._default : "textarea",
ref,
...others,
__staticSelector: __staticSelector || "Textarea",
multiline: true,
"data-no-overflow": autosize && maxRows === void 0 || void 0,
__vars: { "--input-resize": resize },
...autosizeProps
}
);
});
Textarea.classes = InputBase.classes;
Textarea.displayName = "@mantine/core/Textarea";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/JsonInput/validate-json/validate-json.mjs
function validateJson(value, deserialize) {
if (typeof value === "string" && value.trim().length === 0) {
return true;
}
try {
deserialize(value);
return true;
} catch (e) {
return false;
}
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/JsonInput/JsonInput.mjs
var defaultProps105 = {
serialize: JSON.stringify,
deserialize: JSON.parse
};
var JsonInput = factory((props, ref) => {
const {
value,
defaultValue,
onChange,
formatOnBlur,
validationError,
serialize,
deserialize,
onFocus,
onBlur,
readOnly,
error: error2,
...others
} = useProps("JsonInput", defaultProps105, props);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: "",
onChange
});
const [valid, setValid] = React9.useState(validateJson(_value, deserialize));
const handleFocus = (event) => {
onFocus?.(event);
setValid(true);
};
const handleBlur = (event) => {
typeof onBlur === "function" && onBlur(event);
const isValid = validateJson(event.currentTarget.value, deserialize);
formatOnBlur && !readOnly && isValid && event.currentTarget.value.trim() !== "" && setValue(serialize(deserialize(event.currentTarget.value), null, 2));
setValid(isValid);
};
return /* @__PURE__ */ jsxRuntime.jsx(
Textarea,
{
value: _value,
onChange: (event) => setValue(event.currentTarget.value),
onFocus: handleFocus,
onBlur: handleBlur,
ref,
readOnly,
...others,
autoComplete: "off",
__staticSelector: "JsonInput",
error: valid ? error2 : validationError || true,
"data-monospace": true
}
);
});
JsonInput.classes = InputBase.classes;
JsonInput.displayName = "@mantine/core/JsonInput";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Kbd/Kbd.module.css.mjs
var classes50 = { "root": "m_dc6f14e2" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Kbd/Kbd.mjs
var defaultProps106 = {};
var varsResolver51 = createVarsResolver((_, { size: size4 }) => ({
root: {
"--kbd-fz": getSize(size4, "kbd-fz"),
"--kbd-padding": getSize(size4, "kbd-padding")
}
}));
var Kbd = factory((_props, ref) => {
const props = useProps("Kbd", defaultProps106, _props);
const { classNames, className, style, styles, unstyled, vars, ...others } = props;
const getStyles2 = useStyles({
name: "Kbd",
classes: classes50,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver51
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "kbd", ref, ...getStyles2("root"), ...others });
});
Kbd.classes = classes50;
Kbd.displayName = "@mantine/core/Kbd";
var [ListProvider, useListContext] = createSafeContext(
"List component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/List/List.module.css.mjs
var classes51 = { "root": "m_abbac491", "item": "m_abb6bec2", "itemWrapper": "m_75cd9f71", "itemIcon": "m_60f83e5b" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/List/ListItem/ListItem.mjs
var defaultProps107 = {};
var ListItem = factory((_props, ref) => {
const props = useProps("ListItem", defaultProps107, _props);
const { classNames, className, style, styles, vars, icon, children, mod, ...others } = props;
const ctx = useListContext();
const _icon = icon || ctx.icon;
const stylesApiProps = { classNames, styles };
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...ctx.getStyles("item", { ...stylesApiProps, className, style }),
component: "li",
mod: [{ "with-icon": !!_icon, centered: ctx.center }, mod],
ref,
...others,
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ...ctx.getStyles("itemWrapper", stylesApiProps), children: [
_icon && /* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("itemIcon", stylesApiProps), children: _icon }),
/* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("itemLabel", stylesApiProps), children })
] })
}
);
});
ListItem.classes = classes51;
ListItem.displayName = "@mantine/core/ListItem";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/List/List.mjs
var defaultProps108 = {
type: "unordered"
};
var varsResolver52 = createVarsResolver((_, { size: size4, spacing }) => ({
root: {
"--list-fz": getFontSize(size4),
"--list-lh": getLineHeight(size4),
"--list-spacing": getSpacing(spacing)
}
}));
var List = factory((_props, ref) => {
const props = useProps("List", defaultProps108, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
type,
withPadding,
icon,
spacing,
center,
listStyleType,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "List",
classes: classes51,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver52
});
return /* @__PURE__ */ jsxRuntime.jsx(ListProvider, { value: { center, icon, getStyles: getStyles2 }, children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root", { style: { listStyleType } }),
component: type === "unordered" ? "ul" : "ol",
mod: [{ "with-padding": withPadding }, mod],
ref,
...others,
children
}
) });
});
List.classes = classes51;
List.displayName = "@mantine/core/List";
List.Item = ListItem;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/LoadingOverlay/LoadingOverlay.module.css.mjs
var classes52 = { "root": "m_6e45937b", "loader": "m_e8eb006c", "overlay": "m_df587f17" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/LoadingOverlay/LoadingOverlay.mjs
var defaultProps109 = {
transitionProps: { transition: "fade", duration: 0 },
overlayProps: { backgroundOpacity: 0.75 },
zIndex: getDefaultZIndex("overlay")
};
var varsResolver53 = createVarsResolver((_, { zIndex }) => ({
root: {
"--lo-z-index": zIndex?.toString()
}
}));
var LoadingOverlay = factory((_props, ref) => {
const props = useProps("LoadingOverlay", defaultProps109, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
transitionProps,
loaderProps,
overlayProps,
visible,
zIndex,
...others
} = props;
const theme = useMantineTheme();
const getStyles2 = useStyles({
name: "LoadingOverlay",
classes: classes52,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver53
});
const _overlayProps = { ...defaultProps109.overlayProps, ...overlayProps };
return /* @__PURE__ */ jsxRuntime.jsx(Transition, { transition: "fade", ...transitionProps, mounted: !!visible, children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsxs(Box, { ...getStyles2("root", { style: transitionStyles }), ref, ...others, children: [
/* @__PURE__ */ jsxRuntime.jsx(Loader, { ...getStyles2("loader"), unstyled, ...loaderProps }),
/* @__PURE__ */ jsxRuntime.jsx(
Overlay,
{
..._overlayProps,
...getStyles2("overlay"),
darkHidden: true,
unstyled,
color: overlayProps?.color || theme.white
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Overlay,
{
..._overlayProps,
...getStyles2("overlay"),
lightHidden: true,
unstyled,
color: overlayProps?.color || theme.colors.dark[5]
}
)
] }) });
});
LoadingOverlay.classes = classes52;
LoadingOverlay.displayName = "@mantine/core/LoadingOverlay";
var [MenuContextProvider, useMenuContext] = createSafeContext(
"Menu component was not found in the tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Menu/Menu.module.css.mjs
var classes53 = { "dropdown": "m_dc9b7c9f", "label": "m_9bfac126", "divider": "m_efdf90cb", "item": "m_99ac2aa1", "itemLabel": "m_5476e0d3", "itemSection": "m_8b75e504" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Menu/MenuDivider/MenuDivider.mjs
var defaultProps110 = {};
var MenuDivider = factory((props, ref) => {
const { classNames, className, style, styles, vars, ...others } = useProps(
"MenuDivider",
defaultProps110,
props
);
const ctx = useMenuContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("divider", { className, style, styles, classNames }),
...others
}
);
});
MenuDivider.classes = classes53;
MenuDivider.displayName = "@mantine/core/MenuDivider";
var defaultProps111 = {};
var MenuDropdown = factory((props, ref) => {
const {
classNames,
className,
style,
styles,
vars,
onMouseEnter,
onMouseLeave,
onKeyDown,
children,
...others
} = useProps("MenuDropdown", defaultProps111, props);
const wrapperRef = React9.useRef(null);
const ctx = useMenuContext();
const handleKeyDown = createEventHandler(onKeyDown, (event) => {
if (event.key === "ArrowUp" || event.key === "ArrowDown") {
event.preventDefault();
wrapperRef.current?.querySelectorAll("[data-menu-item]:not(:disabled)")[0]?.focus();
}
});
const handleMouseEnter = createEventHandler(
onMouseEnter,
() => (ctx.trigger === "hover" || ctx.trigger === "click-hover") && ctx.openDropdown()
);
const handleMouseLeave = createEventHandler(
onMouseLeave,
() => (ctx.trigger === "hover" || ctx.trigger === "click-hover") && ctx.closeDropdown()
);
return /* @__PURE__ */ jsxRuntime.jsxs(
Popover.Dropdown,
{
...others,
onMouseEnter: handleMouseEnter,
onMouseLeave: handleMouseLeave,
role: "menu",
"aria-orientation": "vertical",
ref: hooks.useMergedRef(ref, wrapperRef),
...ctx.getStyles("dropdown", {
className,
style,
styles,
classNames,
withStaticClass: false
}),
tabIndex: -1,
"data-menu-dropdown": true,
onKeyDown: handleKeyDown,
children: [
/* @__PURE__ */ jsxRuntime.jsx("div", { tabIndex: -1, "data-autofocus": true, "data-mantine-stop-propagation": true, style: { outline: 0 } }),
children
]
}
);
});
MenuDropdown.classes = classes53;
MenuDropdown.displayName = "@mantine/core/MenuDropdown";
var defaultProps112 = {};
var MenuItem = polymorphicFactory((props, ref) => {
const {
classNames,
className,
style,
styles,
vars,
color,
closeMenuOnClick,
leftSection,
rightSection,
children,
disabled,
...others
} = useProps("MenuItem", defaultProps112, props);
const ctx = useMenuContext();
const theme = useMantineTheme();
const { dir } = useDirection();
const itemRef = React9.useRef();
const itemIndex = ctx.getItemIndex(itemRef.current);
const _others = others;
const handleMouseLeave = createEventHandler(_others.onMouseLeave, () => ctx.setHovered(-1));
const handleMouseEnter = createEventHandler(
_others.onMouseEnter,
() => ctx.setHovered(ctx.getItemIndex(itemRef.current))
);
const handleClick = createEventHandler(_others.onClick, () => {
if (typeof closeMenuOnClick === "boolean") {
closeMenuOnClick && ctx.closeDropdownImmediately();
} else {
ctx.closeOnItemClick && ctx.closeDropdownImmediately();
}
});
const handleFocus = createEventHandler(
_others.onFocus,
() => ctx.setHovered(ctx.getItemIndex(itemRef.current))
);
const colors = color ? theme.variantColorResolver({ color, theme, variant: "light" }) : void 0;
const parsedThemeColor = color ? parseThemeColor({ color, theme }) : null;
return /* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
...others,
unstyled: ctx.unstyled,
tabIndex: ctx.menuItemTabIndex,
onFocus: handleFocus,
...ctx.getStyles("item", { className, style, styles, classNames }),
ref: hooks.useMergedRef(itemRef, ref),
role: "menuitem",
disabled,
"data-menu-item": true,
"data-disabled": disabled || void 0,
"data-hovered": ctx.hovered === itemIndex ? true : void 0,
"data-mantine-stop-propagation": true,
onMouseEnter: handleMouseEnter,
onMouseLeave: handleMouseLeave,
onClick: handleClick,
onKeyDown: createScopedKeydownHandler({
siblingSelector: "[data-menu-item]",
parentSelector: "[data-menu-dropdown]",
activateOnFocus: false,
loop: ctx.loop,
dir,
orientation: "vertical",
onKeyDown: _others.onKeyDown
}),
__vars: {
"--menu-item-color": parsedThemeColor?.isThemeColor && parsedThemeColor?.shade === void 0 ? `var(--mantine-color-${parsedThemeColor.color}-6)` : colors?.color,
"--menu-item-hover": colors?.hover
},
children: [
leftSection && /* @__PURE__ */ jsxRuntime.jsx("div", { ...ctx.getStyles("itemSection", { styles, classNames }), "data-position": "left", children: leftSection }),
children && /* @__PURE__ */ jsxRuntime.jsx("div", { ...ctx.getStyles("itemLabel", { styles, classNames }), children }),
rightSection && /* @__PURE__ */ jsxRuntime.jsx("div", { ...ctx.getStyles("itemSection", { styles, classNames }), "data-position": "right", children: rightSection })
]
}
);
});
MenuItem.classes = classes53;
MenuItem.displayName = "@mantine/core/MenuItem";
var defaultProps113 = {};
var MenuLabel = factory((props, ref) => {
const { classNames, className, style, styles, vars, ...others } = useProps(
"MenuLabel",
defaultProps113,
props
);
const ctx = useMenuContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("label", { className, style, styles, classNames }),
...others
}
);
});
MenuLabel.classes = classes53;
MenuLabel.displayName = "@mantine/core/MenuLabel";
var defaultProps114 = {
refProp: "ref"
};
var MenuTarget = React9.forwardRef((props, ref) => {
const { children, refProp, ...others } = useProps("MenuTarget", defaultProps114, props);
if (!isElement(children)) {
throw new Error(
"Menu.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
);
}
const ctx = useMenuContext();
const onClick = createEventHandler(children.props.onClick, () => {
if (ctx.trigger === "click") {
ctx.toggleDropdown();
} else if (ctx.trigger === "click-hover") {
ctx.setOpenedViaClick(true);
if (!ctx.opened) {
ctx.openDropdown();
}
}
});
const onMouseEnter = createEventHandler(
children.props.onMouseEnter,
() => (ctx.trigger === "hover" || ctx.trigger === "click-hover") && ctx.openDropdown()
);
const onMouseLeave = createEventHandler(children.props.onMouseLeave, () => {
if (ctx.trigger === "hover") {
ctx.closeDropdown();
} else if (ctx.trigger === "click-hover" && !ctx.openedViaClick) {
ctx.closeDropdown();
}
});
return /* @__PURE__ */ jsxRuntime.jsx(Popover.Target, { refProp, popupType: "menu", ref, ...others, children: React9.cloneElement(children, {
onClick,
onMouseEnter,
onMouseLeave,
"data-expanded": ctx.opened ? true : void 0
}) });
});
MenuTarget.displayName = "@mantine/core/MenuTarget";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Menu/Menu.mjs
var defaultProps115 = {
trapFocus: true,
closeOnItemClick: true,
clickOutsideEvents: ["mousedown", "touchstart", "keydown"],
loop: true,
trigger: "click",
openDelay: 0,
closeDelay: 100,
menuItemTabIndex: -1
};
function Menu(_props) {
const props = useProps("Menu", defaultProps115, _props);
const {
children,
onOpen,
onClose,
opened,
defaultOpened,
trapFocus,
onChange,
closeOnItemClick,
loop,
closeOnEscape: closeOnEscape2,
trigger,
openDelay,
closeDelay,
classNames,
styles,
unstyled,
variant,
vars,
menuItemTabIndex,
keepMounted,
...others
} = props;
const getStyles2 = useStyles({
name: "Menu",
classes: classes53,
props,
classNames,
styles,
unstyled
});
const [hovered, { setHovered, resetHovered }] = useHovered();
const [_opened, setOpened] = hooks.useUncontrolled({
value: opened,
defaultValue: defaultOpened,
finalValue: false,
onChange
});
const [openedViaClick, setOpenedViaClick] = React9.useState(false);
const close = () => {
setOpened(false);
setOpenedViaClick(false);
_opened && onClose?.();
};
const open = () => {
setOpened(true);
!_opened && onOpen?.();
};
const toggleDropdown = () => {
_opened ? close() : open();
};
const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });
const getItemIndex = (node) => getContextItemIndex("[data-menu-item]", "[data-menu-dropdown]", node);
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
classNames,
styles,
props
});
hooks.useDidUpdate(() => {
resetHovered();
}, [_opened]);
return /* @__PURE__ */ jsxRuntime.jsx(
MenuContextProvider,
{
value: {
getStyles: getStyles2,
opened: _opened,
toggleDropdown,
getItemIndex,
hovered,
setHovered,
openedViaClick,
setOpenedViaClick,
closeOnItemClick,
closeDropdown: trigger === "click" ? close : closeDropdown,
openDropdown: trigger === "click" ? open : openDropdown,
closeDropdownImmediately: close,
loop,
trigger,
unstyled,
menuItemTabIndex
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Popover,
{
...others,
opened: _opened,
onChange: toggleDropdown,
defaultOpened,
trapFocus: keepMounted ? false : trapFocus,
closeOnEscape: closeOnEscape2,
__staticSelector: "Menu",
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
variant,
keepMounted,
children
}
)
}
);
}
Menu.extend = (input) => input;
Menu.classes = classes53;
Menu.displayName = "@mantine/core/Menu";
Menu.Item = MenuItem;
Menu.Label = MenuLabel;
Menu.Dropdown = MenuDropdown;
Menu.Target = MenuTarget;
Menu.Divider = MenuDivider;
var [ModalProvider, useModalContext] = createSafeContext(
"Modal component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Modal/Modal.module.css.mjs
var classes54 = { "root": "m_9df02822", "content": "m_54c44539", "inner": "m_1f958f16", "header": "m_d0e2b9cd" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Modal/ModalBody.mjs
var defaultProps116 = {};
var ModalBody = factory((_props, ref) => {
const props = useProps("ModalBody", defaultProps116, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useModalContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseBody,
{
ref,
...ctx.getStyles("body", { classNames, style, styles, className }),
...others
}
);
});
ModalBody.classes = classes54;
ModalBody.displayName = "@mantine/core/ModalBody";
var defaultProps117 = {};
var ModalCloseButton = factory((_props, ref) => {
const props = useProps("ModalCloseButton", defaultProps117, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useModalContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseCloseButton,
{
ref,
...ctx.getStyles("close", { classNames, style, styles, className }),
...others
}
);
});
ModalCloseButton.classes = classes54;
ModalCloseButton.displayName = "@mantine/core/ModalCloseButton";
var defaultProps118 = {};
var ModalContent = factory((_props, ref) => {
const props = useProps("ModalContent", defaultProps118, _props);
const { classNames, className, style, styles, vars, children, ...others } = props;
const ctx = useModalContext();
const Scroll = ctx.scrollAreaComponent || NativeScrollArea;
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseContent,
{
...ctx.getStyles("content", { className, style, styles, classNames }),
innerProps: ctx.getStyles("inner", { className, style, styles, classNames }),
"data-full-screen": ctx.fullScreen || void 0,
"data-modal-content": true,
ref,
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(
Scroll,
{
style: {
maxHeight: ctx.fullScreen ? "100dvh" : `calc(100dvh - (${rem(ctx.yOffset)} * 2))`
},
children
}
)
}
);
});
ModalContent.classes = classes54;
ModalContent.displayName = "@mantine/core/ModalContent";
var defaultProps119 = {};
var ModalHeader = factory((_props, ref) => {
const props = useProps("ModalHeader", defaultProps119, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useModalContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseHeader,
{
ref,
...ctx.getStyles("header", { classNames, style, styles, className }),
...others
}
);
});
ModalHeader.classes = classes54;
ModalHeader.displayName = "@mantine/core/ModalHeader";
var defaultProps120 = {};
var ModalOverlay = factory((_props, ref) => {
const props = useProps("ModalOverlay", defaultProps120, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useModalContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseOverlay,
{
ref,
...ctx.getStyles("overlay", { classNames, style, styles, className }),
...others
}
);
});
ModalOverlay.classes = classes54;
ModalOverlay.displayName = "@mantine/core/ModalOverlay";
var defaultProps121 = {
__staticSelector: "Modal",
closeOnClickOutside: true,
withinPortal: true,
lockScroll: true,
trapFocus: true,
returnFocus: true,
closeOnEscape: true,
keepMounted: false,
zIndex: getDefaultZIndex("modal"),
transitionProps: { duration: 200, transition: "pop" },
yOffset: "5dvh"
};
var varsResolver54 = createVarsResolver(
(_, { radius, size: size4, yOffset, xOffset }) => ({
root: {
"--modal-radius": radius === void 0 ? void 0 : getRadius(radius),
"--modal-size": getSize(size4, "modal-size"),
"--modal-y-offset": rem(yOffset),
"--modal-x-offset": rem(xOffset)
}
})
);
var ModalRoot = factory((_props, ref) => {
const props = useProps("ModalRoot", defaultProps121, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
yOffset,
scrollAreaComponent,
radius,
fullScreen,
centered,
xOffset,
__staticSelector,
...others
} = props;
const getStyles2 = useStyles({
name: __staticSelector,
classes: classes54,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver54
});
return /* @__PURE__ */ jsxRuntime.jsx(ModalProvider, { value: { yOffset, scrollAreaComponent, getStyles: getStyles2, fullScreen }, children: /* @__PURE__ */ jsxRuntime.jsx(
ModalBase,
{
ref,
...getStyles2("root"),
"data-full-screen": fullScreen || void 0,
"data-centered": centered || void 0,
unstyled,
...others
}
) });
});
ModalRoot.classes = classes54;
ModalRoot.displayName = "@mantine/core/ModalRoot";
var defaultProps122 = {};
var ModalTitle = factory((_props, ref) => {
const props = useProps("ModalTitle", defaultProps122, _props);
const { classNames, className, style, styles, vars, ...others } = props;
const ctx = useModalContext();
return /* @__PURE__ */ jsxRuntime.jsx(
ModalBaseTitle,
{
ref,
...ctx.getStyles("title", { classNames, style, styles, className }),
...others
}
);
});
ModalTitle.classes = classes54;
ModalTitle.displayName = "@mantine/core/ModalTitle";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Modal/Modal.mjs
var defaultProps123 = {
closeOnClickOutside: true,
withinPortal: true,
lockScroll: true,
trapFocus: true,
returnFocus: true,
closeOnEscape: true,
keepMounted: false,
zIndex: getDefaultZIndex("modal"),
transitionProps: { duration: 200, transition: "fade-down" },
withOverlay: true,
withCloseButton: true
};
var Modal = factory((_props, ref) => {
const {
title,
withOverlay,
overlayProps,
withCloseButton,
closeButtonProps,
children,
radius,
...others
} = useProps("Modal", defaultProps123, _props);
const hasHeader = !!title || withCloseButton;
return /* @__PURE__ */ jsxRuntime.jsxs(ModalRoot, { ref, radius, ...others, children: [
withOverlay && /* @__PURE__ */ jsxRuntime.jsx(ModalOverlay, { ...overlayProps }),
/* @__PURE__ */ jsxRuntime.jsxs(ModalContent, { radius, children: [
hasHeader && /* @__PURE__ */ jsxRuntime.jsxs(ModalHeader, { children: [
title && /* @__PURE__ */ jsxRuntime.jsx(ModalTitle, { children: title }),
withCloseButton && /* @__PURE__ */ jsxRuntime.jsx(ModalCloseButton, { ...closeButtonProps })
] }),
/* @__PURE__ */ jsxRuntime.jsx(ModalBody, { children })
] })
] });
});
Modal.classes = classes54;
Modal.displayName = "@mantine/core/Modal";
Modal.Root = ModalRoot;
Modal.Overlay = ModalOverlay;
Modal.Content = ModalContent;
Modal.Body = ModalBody;
Modal.Header = ModalHeader;
Modal.Title = ModalTitle;
Modal.CloseButton = ModalCloseButton;
var [PillsInputProvider, usePillsInputContext] = createOptionalContext();
var [PillGroupProvider, usePillGroupContext] = createOptionalContext();
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Pill/Pill.module.css.mjs
var classes55 = { "root": "m_7cda1cd6", "root--default": "m_44da308b", "root--contrast": "m_e3a01f8", "label": "m_1e0e6180", "remove": "m_ae386778", "group": "m_1dcfd90b" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Pill/PillGroup/PillGroup.mjs
var defaultProps124 = {};
var varsResolver55 = createVarsResolver((_, { gap }, { size: size4 }) => ({
group: {
"--pg-gap": gap !== void 0 ? getSize(gap) : getSize(size4, "pg-gap")
}
}));
var PillGroup = factory((_props, ref) => {
const props = useProps("PillGroup", defaultProps124, _props);
const { classNames, className, style, styles, unstyled, vars, size: size4, disabled, ...others } = props;
const pillsInputCtx = usePillsInputContext();
const _size = pillsInputCtx?.size || size4 || void 0;
const getStyles2 = useStyles({
name: "PillGroup",
classes: classes55,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver55,
stylesCtx: { size: _size },
rootSelector: "group"
});
return /* @__PURE__ */ jsxRuntime.jsx(PillGroupProvider, { value: { size: _size, disabled }, children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, size: _size, ...getStyles2("group"), ...others }) });
});
PillGroup.classes = classes55;
PillGroup.displayName = "@mantine/core/PillGroup";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Pill/Pill.mjs
var defaultProps125 = {
variant: "default"
};
var varsResolver56 = createVarsResolver((_, { radius }, { size: size4 }) => ({
root: {
"--pill-fz": getSize(size4, "pill-fz"),
"--pill-height": getSize(size4, "pill-height"),
"--pill-radius": radius === void 0 ? void 0 : getRadius(radius)
}
}));
var Pill = factory((_props, ref) => {
const props = useProps("Pill", defaultProps125, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
variant,
children,
withRemoveButton,
onRemove,
removeButtonProps,
radius,
size: size4,
disabled,
mod,
...others
} = props;
const ctx = usePillGroupContext();
const pillsInputCtx = usePillsInputContext();
const _size = size4 || ctx?.size || void 0;
const _variant = pillsInputCtx?.variant === "filled" ? "contrast" : variant || "default";
const getStyles2 = useStyles({
name: "Pill",
classes: classes55,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver56,
stylesCtx: { size: _size }
});
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
component: "span",
ref,
variant: _variant,
size: _size,
...getStyles2("root", { variant: _variant }),
mod: [
{ "with-remove": withRemoveButton && !disabled, disabled: disabled || ctx?.disabled },
mod
],
...others,
children: [
/* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("label"), children }),
withRemoveButton && /* @__PURE__ */ jsxRuntime.jsx(
CloseButton,
{
variant: "transparent",
radius,
tabIndex: -1,
"aria-hidden": true,
unstyled,
...removeButtonProps,
...getStyles2("remove", {
className: removeButtonProps?.className,
style: removeButtonProps?.style
}),
onMouseDown: (event) => {
event.preventDefault();
event.stopPropagation();
removeButtonProps?.onMouseDown?.(event);
},
onClick: (event) => {
event.stopPropagation();
onRemove?.();
removeButtonProps?.onClick?.(event);
}
}
)
]
}
);
});
Pill.classes = classes55;
Pill.displayName = "@mantine/core/Pill";
Pill.Group = PillGroup;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PillsInput/PillsInput.module.css.mjs
var classes56 = { "field": "m_45c4369d" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PillsInput/PillsInputField/PillsInputField.mjs
var defaultProps126 = {
type: "visible"
};
var PillsInputField = factory((_props, ref) => {
const props = useProps("PillsInputField", defaultProps126, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
type,
disabled,
id,
pointer,
mod,
...others
} = props;
const ctx = usePillsInputContext();
const inputWrapperCtx = useInputWrapperContext();
const getStyles2 = useStyles({
name: "PillsInputField",
classes: classes56,
props,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "field"
});
const _disabled = disabled || ctx?.disabled;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "input",
ref: hooks.useMergedRef(ref, ctx?.fieldRef),
"data-type": type,
disabled: _disabled,
mod: [{ disabled: _disabled, pointer }, mod],
...getStyles2("field"),
...others,
id: inputWrapperCtx?.inputId || id,
"aria-invalid": ctx?.hasError,
"aria-describedby": inputWrapperCtx?.describedBy,
type: "text",
onMouseDown: (event) => !pointer && event.stopPropagation()
}
);
});
PillsInputField.classes = classes56;
PillsInputField.displayName = "@mantine/core/PillsInputField";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PillsInput/PillsInput.mjs
var defaultProps127 = {};
var PillsInput = factory((_props, ref) => {
const props = useProps("PillsInput", defaultProps127, _props);
const {
children,
onMouseDown,
onClick,
size: size4,
disabled,
__staticSelector,
error: error2,
variant,
...others
} = props;
const fieldRef = React9.useRef();
return /* @__PURE__ */ jsxRuntime.jsx(PillsInputProvider, { value: { fieldRef, size: size4, disabled, hasError: !!error2, variant }, children: /* @__PURE__ */ jsxRuntime.jsx(
InputBase,
{
size: size4,
error: error2,
variant,
component: "div",
ref,
onMouseDown: (event) => {
event.preventDefault();
onMouseDown?.(event);
fieldRef.current?.focus();
},
onClick: (event) => {
event.preventDefault();
onClick?.(event);
fieldRef.current?.focus();
},
...others,
multiline: true,
disabled,
__staticSelector: __staticSelector || "PillsInput",
withAria: false,
children
}
) });
});
PillsInput.displayName = "@mantine/core/PillsInput";
PillsInput.Field = PillsInputField;
function filterPickedValues({ data, value }) {
const normalizedValue = value.map((item) => item.trim().toLowerCase());
const filtered = data.reduce((acc, item) => {
if (isOptionsGroup(item)) {
acc.push({
group: item.group,
items: item.items.filter(
(option) => normalizedValue.indexOf(option.value.toLowerCase().trim()) === -1
)
});
} else if (normalizedValue.indexOf(item.value.toLowerCase().trim()) === -1) {
acc.push(item);
}
return acc;
}, []);
return filtered;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/MultiSelect/MultiSelect.mjs
var defaultProps128 = {
maxValues: Infinity,
withCheckIcon: true,
checkIconPosition: "left",
hiddenInputValuesDivider: ","
};
var MultiSelect = factory((_props, ref) => {
const props = useProps("MultiSelect", defaultProps128, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
size: size4,
value,
defaultValue,
onChange,
onKeyDown,
variant,
data,
dropdownOpened,
defaultDropdownOpened,
onDropdownOpen,
onDropdownClose,
selectFirstOptionOnChange,
onOptionSubmit,
comboboxProps,
filter,
limit,
withScrollArea,
maxDropdownHeight,
searchValue,
defaultSearchValue,
onSearchChange,
readOnly,
disabled,
onFocus,
onBlur,
onPaste,
radius,
rightSection,
rightSectionWidth,
rightSectionPointerEvents,
rightSectionProps,
leftSection,
leftSectionWidth,
leftSectionPointerEvents,
leftSectionProps,
inputContainer,
inputWrapperOrder,
withAsterisk,
labelProps,
descriptionProps,
errorProps,
wrapperProps,
description,
label,
error: error2,
maxValues,
searchable,
nothingFoundMessage,
withCheckIcon,
checkIconPosition,
hidePickedOptions,
withErrorStyles,
name,
form,
id,
clearable,
clearButtonProps,
hiddenInputProps,
placeholder,
hiddenInputValuesDivider,
required,
mod,
renderOption,
onRemove,
onClear,
scrollAreaProps,
...others
} = props;
const _id = hooks.useId(id);
const parsedData = getParsedComboboxData(data);
const optionsLockup = getOptionsLockup(parsedData);
const combobox = useCombobox({
opened: dropdownOpened,
defaultOpened: defaultDropdownOpened,
onDropdownOpen,
onDropdownClose: () => {
onDropdownClose?.();
combobox.resetSelectedOption();
}
});
const {
styleProps,
rest: { type, autoComplete, ...rest }
} = extractStyleProps(others);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: [],
onChange
});
const [_searchValue, setSearchValue] = hooks.useUncontrolled({
value: searchValue,
defaultValue: defaultSearchValue,
finalValue: "",
onChange: onSearchChange
});
const getStyles2 = useStyles({
name: "MultiSelect",
classes: {},
props,
classNames,
styles,
unstyled
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
props,
styles,
classNames
});
const handleInputKeydown = (event) => {
onKeyDown?.(event);
if (event.key === " " && !searchable) {
event.preventDefault();
combobox.toggleDropdown();
}
if (event.key === "Backspace" && _searchValue.length === 0 && _value.length > 0) {
onRemove?.(_value[_value.length - 1]);
setValue(_value.slice(0, _value.length - 1));
}
};
const values2 = _value.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(
Pill,
{
withRemoveButton: !readOnly && !optionsLockup[item]?.disabled,
onRemove: () => {
setValue(_value.filter((i) => item !== i));
onRemove?.(item);
},
unstyled,
disabled,
...getStyles2("pill"),
children: optionsLockup[item]?.label || item
},
`${item}-${index3}`
));
React9.useEffect(() => {
if (selectFirstOptionOnChange) {
combobox.selectFirstOption();
}
}, [selectFirstOptionOnChange, _value]);
const clearButton = clearable && _value.length > 0 && !disabled && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
Combobox.ClearButton,
{
size: size4,
...clearButtonProps,
onClear: () => {
onClear?.();
setValue([]);
setSearchValue("");
}
}
);
const filteredData = filterPickedValues({ data: parsedData, value: _value });
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsxs(
Combobox,
{
store: combobox,
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
size: size4,
readOnly,
__staticSelector: "MultiSelect",
onOptionSubmit: (val) => {
onOptionSubmit?.(val);
setSearchValue("");
combobox.updateSelectedOptionIndex("selected");
if (_value.includes(optionsLockup[val].value)) {
setValue(_value.filter((v) => v !== optionsLockup[val].value));
onRemove?.(optionsLockup[val].value);
} else if (_value.length < maxValues) {
setValue([..._value, optionsLockup[val].value]);
}
},
...comboboxProps,
children: [
/* @__PURE__ */ jsxRuntime.jsx(Combobox.DropdownTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(
PillsInput,
{
...styleProps,
__staticSelector: "MultiSelect",
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
size: size4,
className,
style,
variant,
disabled,
radius,
rightSection: rightSection || clearButton || /* @__PURE__ */ jsxRuntime.jsx(Combobox.Chevron, { size: size4, error: error2, unstyled }),
rightSectionPointerEvents: rightSectionPointerEvents || (clearButton ? "all" : "none"),
rightSectionWidth,
rightSectionProps,
leftSection,
leftSectionWidth,
leftSectionPointerEvents,
leftSectionProps,
inputContainer,
inputWrapperOrder,
withAsterisk,
labelProps,
descriptionProps,
errorProps,
wrapperProps,
description,
label,
error: error2,
multiline: true,
withErrorStyles,
__stylesApiProps: {
...props,
rightSectionPointerEvents: rightSectionPointerEvents || (clearButton ? "all" : "none"),
multiline: true
},
pointer: !searchable,
onClick: () => searchable ? combobox.openDropdown() : combobox.toggleDropdown(),
"data-expanded": combobox.dropdownOpened || void 0,
id: _id,
required,
mod,
children: /* @__PURE__ */ jsxRuntime.jsxs(Pill.Group, { disabled, unstyled, ...getStyles2("pillsList"), children: [
values2,
/* @__PURE__ */ jsxRuntime.jsx(Combobox.EventsTarget, { autoComplete, children: /* @__PURE__ */ jsxRuntime.jsx(
PillsInput.Field,
{
...rest,
ref,
id: _id,
placeholder,
type: !searchable && !placeholder ? "hidden" : "visible",
...getStyles2("inputField"),
unstyled,
onFocus: (event) => {
onFocus?.(event);
searchable && combobox.openDropdown();
},
onBlur: (event) => {
onBlur?.(event);
combobox.closeDropdown();
setSearchValue("");
},
onKeyDown: handleInputKeydown,
value: _searchValue,
onChange: (event) => {
setSearchValue(event.currentTarget.value);
searchable && combobox.openDropdown();
selectFirstOptionOnChange && combobox.selectFirstOption();
},
disabled,
readOnly: readOnly || !searchable,
pointer: !searchable
}
) })
] })
}
) }),
/* @__PURE__ */ jsxRuntime.jsx(
OptionsDropdown,
{
data: hidePickedOptions ? filteredData : parsedData,
hidden: readOnly || disabled,
filter,
search: _searchValue,
limit,
hiddenWhenEmpty: !nothingFoundMessage,
withScrollArea,
maxDropdownHeight,
filterOptions: searchable,
value: _value,
checkIconPosition,
withCheckIcon,
nothingFoundMessage,
unstyled,
labelId: label ? `${_id}-label` : void 0,
"aria-label": label ? void 0 : others["aria-label"],
renderOption,
scrollAreaProps
}
)
]
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Combobox.HiddenInput,
{
name,
valuesDivider: hiddenInputValuesDivider,
value: _value,
form,
disabled,
...hiddenInputProps
}
)
] });
});
MultiSelect.classes = { ...InputBase.classes, ...Combobox.classes };
MultiSelect.displayName = "@mantine/core/MultiSelect";
function isGroup(input) {
return "group" in input;
}
function NativeSelectOption({ data }) {
if (isGroup(data)) {
const items = data.items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(NativeSelectOption, { data: item }, item.value));
return /* @__PURE__ */ jsxRuntime.jsx("optgroup", { label: data.group, children: items });
}
const { value, label, ...others } = data;
return /* @__PURE__ */ jsxRuntime.jsx("option", { value: data.value, ...others, children: data.label }, data.value);
}
NativeSelectOption.displayName = "@mantine/core/NativeSelectOption";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/NativeSelect/NativeSelect.mjs
var defaultProps129 = {
rightSectionPointerEvents: "none"
};
var NativeSelect = factory((props, ref) => {
const { data, children, size: size4, error: error2, rightSection, unstyled, ...others } = useProps(
"NativeSelect",
defaultProps129,
props
);
const options = getParsedComboboxData(data).map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(NativeSelectOption, { data: item }, index3));
return /* @__PURE__ */ jsxRuntime.jsx(
InputBase,
{
component: "select",
ref,
...others,
__staticSelector: "NativeSelect",
size: size4,
pointer: true,
error: error2,
unstyled,
rightSection: rightSection || /* @__PURE__ */ jsxRuntime.jsx(ComboboxChevron, { size: size4, error: error2, unstyled }),
children: children || options
}
);
});
NativeSelect.classes = InputBase.classes;
NativeSelect.displayName = "@mantine/core/NativeSelect";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/NavLink/NavLink.module.css.mjs
var classes57 = { "root": "m_f0824112", "description": "m_57492dcc", "section": "m_690090b5", "label": "m_1f6ac4c4", "body": "m_f07af9d2", "children": "m_e17b862f", "chevron": "m_1fd8a00b" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/NavLink/NavLink.mjs
var defaultProps130 = {};
var varsResolver57 = createVarsResolver(
(theme, { variant, color, childrenOffset, autoContrast }) => {
const colors = theme.variantColorResolver({
color: color || theme.primaryColor,
theme,
variant: variant || "light",
autoContrast
});
return {
root: {
"--nl-bg": color || variant ? colors.background : void 0,
"--nl-hover": color || variant ? colors.hover : void 0,
"--nl-color": color || variant ? colors.color : void 0
},
children: {
"--nl-offset": getSpacing(childrenOffset)
}
};
}
);
var NavLink = polymorphicFactory((_props, ref) => {
const props = useProps("NavLink", defaultProps130, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
opened,
defaultOpened,
onChange,
children,
onClick,
active,
disabled,
leftSection,
rightSection,
label,
description,
disableRightSectionRotation,
noWrap,
childrenOffset,
onKeyDown,
autoContrast,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "NavLink",
props,
classes: classes57,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver57
});
const [_opened, setOpened] = hooks.useUncontrolled({
value: opened,
defaultValue: defaultOpened,
finalValue: false,
onChange
});
const withChildren = !!children;
const handleClick = (event) => {
onClick?.(event);
if (withChildren) {
event.preventDefault();
setOpened(!_opened);
}
};
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
...getStyles2("root"),
component: "a",
ref,
onClick: handleClick,
onKeyDown: (event) => {
onKeyDown?.(event);
if (event.nativeEvent.code === "Space" && withChildren) {
event.preventDefault();
setOpened(!_opened);
}
},
unstyled,
mod: [{ disabled, active, expanded: _opened }, mod],
...others,
children: [
leftSection && /* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", ...getStyles2("section"), mod: { position: "left" }, children: leftSection }),
/* @__PURE__ */ jsxRuntime.jsxs(Box, { ...getStyles2("body"), mod: { "no-wrap": noWrap }, children: [
/* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", ...getStyles2("label"), children: label }),
/* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", mod: { active }, ...getStyles2("description"), children: description })
] }),
(withChildren || rightSection) && /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("section"),
component: "span",
mod: { rotate: _opened && !disableRightSectionRotation, position: "right" },
children: withChildren ? rightSection || /* @__PURE__ */ jsxRuntime.jsx(AccordionChevron, { ...getStyles2("chevron") }) : rightSection
}
)
]
}
),
/* @__PURE__ */ jsxRuntime.jsx(Collapse, { in: _opened, ...getStyles2("collapse"), children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("children"), children }) })
] });
});
NavLink.classes = classes57;
NavLink.displayName = "@mantine/core/NavLink";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Notification/Notification.module.css.mjs
var classes58 = { "root": "m_a513464", "icon": "m_a4ceffb", "loader": "m_b0920b15", "body": "m_a49ed24", "title": "m_3feedf16", "description": "m_3d733a3a", "closeButton": "m_919a4d88" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Notification/Notification.mjs
var defaultProps131 = {
withCloseButton: true
};
var varsResolver58 = createVarsResolver((theme, { radius, color }) => ({
root: {
"--notification-radius": radius === void 0 ? void 0 : getRadius(radius),
"--notification-color": color ? getThemeColor(color, theme) : void 0
}
}));
var Notification = factory((_props, ref) => {
const props = useProps("Notification", defaultProps131, _props);
const {
className,
color,
radius,
loading,
withCloseButton,
withBorder,
title,
icon,
children,
onClose,
closeButtonProps,
classNames,
style,
styles,
unstyled,
variant,
vars,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Notification",
classes: classes58,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver58
});
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...getStyles2("root"),
mod: [{ "data-with-icon": !!icon || loading, "data-with-border": withBorder }, mod],
ref,
variant,
...others,
role: "alert",
children: [
icon && !loading && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("icon"), children: icon }),
loading && /* @__PURE__ */ jsxRuntime.jsx(Loader, { size: 28, color, ...getStyles2("loader") }),
/* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles2("body"), children: [
title && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("title"), children: title }),
/* @__PURE__ */ jsxRuntime.jsx(Box, { ...getStyles2("description"), mod: { "data-with-title": !!title }, children })
] }),
withCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
CloseButton,
{
iconSize: 16,
color: "gray",
...closeButtonProps,
unstyled,
onClick: onClose,
...getStyles2("closeButton")
}
)
]
}
);
});
Notification.classes = classes58;
Notification.displayName = "@mantine/core/Notification";
function __rest2(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;
}
var SourceType;
(function(SourceType2) {
SourceType2["event"] = "event";
SourceType2["props"] = "prop";
})(SourceType || (SourceType = {}));
function noop2() {
}
function memoizeOnce(cb) {
var lastArgs;
var lastValue = void 0;
return function() {
var args = [], len = arguments.length;
while (len--)
args[len] = arguments[len];
if (lastArgs && args.length === lastArgs.length && args.every(function(value, index3) {
return value === lastArgs[index3];
})) {
return lastValue;
}
lastArgs = args;
lastValue = cb.apply(void 0, args);
return lastValue;
};
}
function charIsNumber(char) {
return !!(char || "").match(/\d/);
}
function isNil(val) {
return val === null || val === void 0;
}
function isNanValue(val) {
return typeof val === "number" && isNaN(val);
}
function isNotValidValue(val) {
return isNil(val) || isNanValue(val) || typeof val === "number" && !isFinite(val);
}
function escapeRegExp(str) {
return str.replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&");
}
function getThousandsGroupRegex(thousandsGroupStyle) {
switch (thousandsGroupStyle) {
case "lakh":
return /(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;
case "wan":
return /(\d)(?=(\d{4})+(?!\d))/g;
case "thousand":
default:
return /(\d)(?=(\d{3})+(?!\d))/g;
}
}
function applyThousandSeparator(str, thousandSeparator, thousandsGroupStyle) {
var thousandsGroupRegex = getThousandsGroupRegex(thousandsGroupStyle);
var index3 = str.search(/[1-9]/);
index3 = index3 === -1 ? str.length : index3;
return str.substring(0, index3) + str.substring(index3, str.length).replace(thousandsGroupRegex, "$1" + thousandSeparator);
}
function usePersistentCallback(cb) {
var callbackRef = React9.useRef(cb);
callbackRef.current = cb;
var persistentCbRef = React9.useRef(function() {
var args = [], len = arguments.length;
while (len--)
args[len] = arguments[len];
return callbackRef.current.apply(callbackRef, args);
});
return persistentCbRef.current;
}
function splitDecimal(numStr, allowNegative) {
if (allowNegative === void 0)
allowNegative = true;
var hasNegation = numStr[0] === "-";
var addNegation = hasNegation && allowNegative;
numStr = numStr.replace("-", "");
var parts = numStr.split(".");
var beforeDecimal = parts[0];
var afterDecimal = parts[1] || "";
return {
beforeDecimal,
afterDecimal,
hasNegation,
addNegation
};
}
function fixLeadingZero(numStr) {
if (!numStr) {
return numStr;
}
var isNegative = numStr[0] === "-";
if (isNegative) {
numStr = numStr.substring(1, numStr.length);
}
var parts = numStr.split(".");
var beforeDecimal = parts[0].replace(/^0+/, "") || "0";
var afterDecimal = parts[1] || "";
return (isNegative ? "-" : "") + beforeDecimal + (afterDecimal ? "." + afterDecimal : "");
}
function limitToScale(numStr, scale, fixedDecimalScale) {
var str = "";
var filler = fixedDecimalScale ? "0" : "";
for (var i = 0; i <= scale - 1; i++) {
str += numStr[i] || filler;
}
return str;
}
function repeat(str, count2) {
return Array(count2 + 1).join(str);
}
function toNumericString(num) {
var _num = num + "";
var sign = _num[0] === "-" ? "-" : "";
if (sign) {
_num = _num.substring(1);
}
var ref = _num.split(/[eE]/g);
var coefficient = ref[0];
var exponent = ref[1];
exponent = Number(exponent);
if (!exponent) {
return sign + coefficient;
}
coefficient = coefficient.replace(".", "");
var decimalIndex = 1 + exponent;
var coffiecientLn = coefficient.length;
if (decimalIndex < 0) {
coefficient = "0." + repeat("0", Math.abs(decimalIndex)) + coefficient;
} else if (decimalIndex >= coffiecientLn) {
coefficient = coefficient + repeat("0", decimalIndex - coffiecientLn);
} else {
coefficient = (coefficient.substring(0, decimalIndex) || "0") + "." + coefficient.substring(decimalIndex);
}
return sign + coefficient;
}
function roundToPrecision(numStr, scale, fixedDecimalScale) {
if (["", "-"].indexOf(numStr) !== -1) {
return numStr;
}
var shouldHaveDecimalSeparator = (numStr.indexOf(".") !== -1 || fixedDecimalScale) && scale;
var ref = splitDecimal(numStr);
var beforeDecimal = ref.beforeDecimal;
var afterDecimal = ref.afterDecimal;
var hasNegation = ref.hasNegation;
var floatValue = parseFloat("0." + (afterDecimal || "0"));
var floatValueStr = afterDecimal.length <= scale ? "0." + afterDecimal : floatValue.toFixed(scale);
var roundedDecimalParts = floatValueStr.split(".");
var intPart = beforeDecimal;
if (beforeDecimal && Number(roundedDecimalParts[0])) {
intPart = beforeDecimal.split("").reverse().reduce(function(roundedStr, current, idx) {
if (roundedStr.length > idx) {
return (Number(roundedStr[0]) + Number(current)).toString() + roundedStr.substring(1, roundedStr.length);
}
return current + roundedStr;
}, roundedDecimalParts[0]);
}
var decimalPart = limitToScale(roundedDecimalParts[1] || "", scale, fixedDecimalScale);
var negation = hasNegation ? "-" : "";
var decimalSeparator = shouldHaveDecimalSeparator ? "." : "";
return "" + negation + intPart + decimalSeparator + decimalPart;
}
function setCaretPosition(el, caretPos) {
el.value = el.value;
if (el !== null) {
if (el.createTextRange) {
var range = el.createTextRange();
range.move("character", caretPos);
range.select();
return true;
}
if (el.selectionStart || el.selectionStart === 0) {
el.focus();
el.setSelectionRange(caretPos, caretPos);
return true;
}
el.focus();
return false;
}
}
var findChangeRange = memoizeOnce(function(prevValue, newValue) {
var i = 0, j = 0;
var prevLength = prevValue.length;
var newLength = newValue.length;
while (prevValue[i] === newValue[i] && i < prevLength) {
i++;
}
while (prevValue[prevLength - 1 - j] === newValue[newLength - 1 - j] && newLength - j > i && prevLength - j > i) {
j++;
}
return {
from: { start: i, end: prevLength - j },
to: { start: i, end: newLength - j }
};
});
var findChangedRangeFromCaretPositions = function(lastCaretPositions, currentCaretPosition) {
var startPosition = Math.min(lastCaretPositions.selectionStart, currentCaretPosition);
return {
from: { start: startPosition, end: lastCaretPositions.selectionEnd },
to: { start: startPosition, end: currentCaretPosition }
};
};
function clamp3(num, min2, max2) {
return Math.min(Math.max(num, min2), max2);
}
function geInputCaretPosition(el) {
return Math.max(el.selectionStart, el.selectionEnd);
}
function addInputMode() {
return typeof navigator !== "undefined" && !(navigator.platform && /iPhone|iPod/.test(navigator.platform));
}
function getDefaultChangeMeta(value) {
return {
from: {
start: 0,
end: 0
},
to: {
start: 0,
end: value.length
},
lastValue: ""
};
}
function defaultIsCharacterSame(ref) {
var currentValue = ref.currentValue;
var formattedValue = ref.formattedValue;
var currentValueIndex = ref.currentValueIndex;
var formattedValueIndex = ref.formattedValueIndex;
return currentValue[currentValueIndex] === formattedValue[formattedValueIndex];
}
function getCaretPosition(newFormattedValue, lastFormattedValue, curValue, curCaretPos, boundary, isValidInputCharacter, isCharacterSame) {
if (isCharacterSame === void 0)
isCharacterSame = defaultIsCharacterSame;
var firstAllowedPosition = boundary.findIndex(function(b) {
return b;
});
var prefixFormat = newFormattedValue.slice(0, firstAllowedPosition);
if (!lastFormattedValue && !curValue.startsWith(prefixFormat)) {
lastFormattedValue = prefixFormat;
curValue = prefixFormat + curValue;
curCaretPos = curCaretPos + prefixFormat.length;
}
var curValLn = curValue.length;
var formattedValueLn = newFormattedValue.length;
var addedIndexMap = {};
var indexMap = new Array(curValLn);
for (var i = 0; i < curValLn; i++) {
indexMap[i] = -1;
for (var j = 0, jLn = formattedValueLn; j < jLn; j++) {
var isCharSame = isCharacterSame({
currentValue: curValue,
lastValue: lastFormattedValue,
formattedValue: newFormattedValue,
currentValueIndex: i,
formattedValueIndex: j
});
if (isCharSame && addedIndexMap[j] !== true) {
indexMap[i] = j;
addedIndexMap[j] = true;
break;
}
}
}
var pos = curCaretPos;
while (pos < curValLn && (indexMap[pos] === -1 || !isValidInputCharacter(curValue[pos]))) {
pos++;
}
var endIndex = pos === curValLn || indexMap[pos] === -1 ? formattedValueLn : indexMap[pos];
pos = curCaretPos - 1;
while (pos > 0 && indexMap[pos] === -1) {
pos--;
}
var startIndex = pos === -1 || indexMap[pos] === -1 ? 0 : indexMap[pos] + 1;
if (startIndex > endIndex) {
return endIndex;
}
return curCaretPos - startIndex < endIndex - curCaretPos ? startIndex : endIndex;
}
function getCaretPosInBoundary(value, caretPos, boundary, direction) {
var valLn = value.length;
caretPos = clamp3(caretPos, 0, valLn);
if (direction === "left") {
while (caretPos >= 0 && !boundary[caretPos]) {
caretPos--;
}
if (caretPos === -1) {
caretPos = boundary.indexOf(true);
}
} else {
while (caretPos <= valLn && !boundary[caretPos]) {
caretPos++;
}
if (caretPos > valLn) {
caretPos = boundary.lastIndexOf(true);
}
}
if (caretPos === -1) {
caretPos = valLn;
}
return caretPos;
}
function caretUnknownFormatBoundary(formattedValue) {
var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function() {
return true;
});
for (var i = 0, ln = boundaryAry.length; i < ln; i++) {
boundaryAry[i] = Boolean(charIsNumber(formattedValue[i]) || charIsNumber(formattedValue[i - 1]));
}
return boundaryAry;
}
function useInternalValues(value, defaultValue, valueIsNumericString, format2, removeFormatting2, onValueChange) {
if (onValueChange === void 0)
onValueChange = noop2;
var getValues = usePersistentCallback(function(value2, valueIsNumericString2) {
var formattedValue, numAsString;
if (isNotValidValue(value2)) {
numAsString = "";
formattedValue = "";
} else if (typeof value2 === "number" || valueIsNumericString2) {
numAsString = typeof value2 === "number" ? toNumericString(value2) : value2;
formattedValue = format2(numAsString);
} else {
numAsString = removeFormatting2(value2, void 0);
formattedValue = format2(numAsString);
}
return { formattedValue, numAsString };
});
var ref = React9.useState(function() {
return getValues(isNil(value) ? defaultValue : value, valueIsNumericString);
});
var values2 = ref[0];
var setValues = ref[1];
var _onValueChange = function(newValues2, sourceInfo) {
if (newValues2.formattedValue !== values2.formattedValue) {
setValues({
formattedValue: newValues2.formattedValue,
numAsString: newValues2.value
});
}
onValueChange(newValues2, sourceInfo);
};
var _value = value;
var _valueIsNumericString = valueIsNumericString;
if (isNil(value)) {
_value = values2.numAsString;
_valueIsNumericString = true;
}
var newValues = getValues(_value, _valueIsNumericString);
React9.useMemo(function() {
setValues(newValues);
}, [newValues.formattedValue]);
return [values2, _onValueChange];
}
function defaultRemoveFormatting(value) {
return value.replace(/[^0-9]/g, "");
}
function defaultFormat(value) {
return value;
}
function NumberFormatBase(props) {
var type = props.type;
if (type === void 0)
type = "text";
var displayType = props.displayType;
if (displayType === void 0)
displayType = "input";
var customInput = props.customInput;
var renderText = props.renderText;
var getInputRef = props.getInputRef;
var format2 = props.format;
if (format2 === void 0)
format2 = defaultFormat;
var removeFormatting2 = props.removeFormatting;
if (removeFormatting2 === void 0)
removeFormatting2 = defaultRemoveFormatting;
var defaultValue = props.defaultValue;
var valueIsNumericString = props.valueIsNumericString;
var onValueChange = props.onValueChange;
var isAllowed = props.isAllowed;
var onChange = props.onChange;
if (onChange === void 0)
onChange = noop2;
var onKeyDown = props.onKeyDown;
if (onKeyDown === void 0)
onKeyDown = noop2;
var onMouseUp = props.onMouseUp;
if (onMouseUp === void 0)
onMouseUp = noop2;
var onFocus = props.onFocus;
if (onFocus === void 0)
onFocus = noop2;
var onBlur = props.onBlur;
if (onBlur === void 0)
onBlur = noop2;
var propValue = props.value;
var getCaretBoundary2 = props.getCaretBoundary;
if (getCaretBoundary2 === void 0)
getCaretBoundary2 = caretUnknownFormatBoundary;
var isValidInputCharacter = props.isValidInputCharacter;
if (isValidInputCharacter === void 0)
isValidInputCharacter = charIsNumber;
var isCharacterSame = props.isCharacterSame;
var otherProps = __rest2(props, ["type", "displayType", "customInput", "renderText", "getInputRef", "format", "removeFormatting", "defaultValue", "valueIsNumericString", "onValueChange", "isAllowed", "onChange", "onKeyDown", "onMouseUp", "onFocus", "onBlur", "value", "getCaretBoundary", "isValidInputCharacter", "isCharacterSame"]);
var ref = useInternalValues(propValue, defaultValue, Boolean(valueIsNumericString), format2, removeFormatting2, onValueChange);
var ref_0 = ref[0];
var formattedValue = ref_0.formattedValue;
var numAsString = ref_0.numAsString;
var onFormattedValueChange = ref[1];
var caretPositionBeforeChange = React9.useRef();
var lastUpdatedValue = React9.useRef({ formattedValue, numAsString });
var _onValueChange = function(values2, source) {
lastUpdatedValue.current = { formattedValue: values2.formattedValue, numAsString: values2.value };
onFormattedValueChange(values2, source);
};
var ref$1 = React9.useState(false);
var mounted = ref$1[0];
var setMounted = ref$1[1];
var focusedElm = React9.useRef(null);
var timeout = React9.useRef({
setCaretTimeout: null,
focusTimeout: null
});
React9.useEffect(function() {
setMounted(true);
return function() {
clearTimeout(timeout.current.setCaretTimeout);
clearTimeout(timeout.current.focusTimeout);
};
}, []);
var _format = format2;
var getValueObject = function(formattedValue2, numAsString2) {
var floatValue = parseFloat(numAsString2);
return {
formattedValue: formattedValue2,
value: numAsString2,
floatValue: isNaN(floatValue) ? void 0 : floatValue
};
};
var setPatchedCaretPosition = function(el, caretPos, currentValue) {
if (el.selectionStart === 0 && el.selectionEnd === el.value.length) {
return;
}
setCaretPosition(el, caretPos);
timeout.current.setCaretTimeout = setTimeout(function() {
if (el.value === currentValue && el.selectionStart !== caretPos) {
setCaretPosition(el, caretPos);
}
}, 0);
};
var correctCaretPosition = function(value, caretPos, direction) {
return getCaretPosInBoundary(value, caretPos, getCaretBoundary2(value), direction);
};
var getNewCaretPosition = function(inputValue, newFormattedValue, caretPos) {
var caretBoundary = getCaretBoundary2(newFormattedValue);
var updatedCaretPos = getCaretPosition(newFormattedValue, formattedValue, inputValue, caretPos, caretBoundary, isValidInputCharacter, isCharacterSame);
updatedCaretPos = getCaretPosInBoundary(newFormattedValue, updatedCaretPos, caretBoundary);
return updatedCaretPos;
};
var updateValueAndCaretPosition = function(params) {
var newFormattedValue = params.formattedValue;
if (newFormattedValue === void 0)
newFormattedValue = "";
var input = params.input;
var source = params.source;
var event = params.event;
var numAsString2 = params.numAsString;
var caretPos;
if (input) {
var inputValue = params.inputValue || input.value;
var currentCaretPosition2 = geInputCaretPosition(input);
input.value = newFormattedValue;
caretPos = getNewCaretPosition(inputValue, newFormattedValue, currentCaretPosition2);
if (caretPos !== void 0) {
setPatchedCaretPosition(input, caretPos, newFormattedValue);
}
}
if (newFormattedValue !== formattedValue) {
_onValueChange(getValueObject(newFormattedValue, numAsString2), { event, source });
}
};
React9.useEffect(function() {
var ref2 = lastUpdatedValue.current;
var lastFormattedValue = ref2.formattedValue;
var lastNumAsString = ref2.numAsString;
if (formattedValue !== lastFormattedValue || numAsString !== lastNumAsString) {
_onValueChange(getValueObject(formattedValue, numAsString), {
event: void 0,
source: SourceType.props
});
}
}, [formattedValue, numAsString]);
var currentCaretPosition = focusedElm.current ? geInputCaretPosition(focusedElm.current) : void 0;
var useIsomorphicLayoutEffect2 = typeof window !== "undefined" ? React9.useLayoutEffect : React9.useEffect;
useIsomorphicLayoutEffect2(function() {
var input = focusedElm.current;
if (formattedValue !== lastUpdatedValue.current.formattedValue && input) {
var caretPos = getNewCaretPosition(lastUpdatedValue.current.formattedValue, formattedValue, currentCaretPosition);
input.value = formattedValue;
setPatchedCaretPosition(input, caretPos, formattedValue);
}
}, [formattedValue]);
var formatInputValue = function(inputValue, event, source) {
var input = event.target;
var changeRange = caretPositionBeforeChange.current ? findChangedRangeFromCaretPositions(caretPositionBeforeChange.current, input.selectionEnd) : findChangeRange(formattedValue, inputValue);
var changeMeta = Object.assign(Object.assign({}, changeRange), { lastValue: formattedValue });
var _numAsString = removeFormatting2(inputValue, changeMeta);
var _formattedValue = _format(_numAsString);
_numAsString = removeFormatting2(_formattedValue, void 0);
if (isAllowed && !isAllowed(getValueObject(_formattedValue, _numAsString))) {
var input$1 = event.target;
var currentCaretPosition2 = geInputCaretPosition(input$1);
var caretPos = getNewCaretPosition(inputValue, formattedValue, currentCaretPosition2);
input$1.value = formattedValue;
setPatchedCaretPosition(input$1, caretPos, formattedValue);
return false;
}
updateValueAndCaretPosition({
formattedValue: _formattedValue,
numAsString: _numAsString,
inputValue,
event,
source,
input: event.target
});
return true;
};
var setCaretPositionInfoBeforeChange = function(el, endOffset) {
if (endOffset === void 0)
endOffset = 0;
var selectionStart = el.selectionStart;
var selectionEnd = el.selectionEnd;
caretPositionBeforeChange.current = { selectionStart, selectionEnd: selectionEnd + endOffset };
};
var _onChange = function(e) {
var el = e.target;
var inputValue = el.value;
var changed = formatInputValue(inputValue, e, SourceType.event);
if (changed) {
onChange(e);
}
caretPositionBeforeChange.current = void 0;
};
var _onKeyDown = function(e) {
var el = e.target;
var key = e.key;
var selectionStart = el.selectionStart;
var selectionEnd = el.selectionEnd;
var value = el.value;
if (value === void 0)
value = "";
var expectedCaretPosition;
if (key === "ArrowLeft" || key === "Backspace") {
expectedCaretPosition = Math.max(selectionStart - 1, 0);
} else if (key === "ArrowRight") {
expectedCaretPosition = Math.min(selectionStart + 1, value.length);
} else if (key === "Delete") {
expectedCaretPosition = selectionStart;
}
var endOffset = 0;
if (key === "Delete" && selectionStart === selectionEnd) {
endOffset = 1;
}
var isArrowKey = key === "ArrowLeft" || key === "ArrowRight";
if (expectedCaretPosition === void 0 || selectionStart !== selectionEnd && !isArrowKey) {
onKeyDown(e);
setCaretPositionInfoBeforeChange(el, endOffset);
return;
}
var newCaretPosition = expectedCaretPosition;
if (isArrowKey) {
var direction = key === "ArrowLeft" ? "left" : "right";
newCaretPosition = correctCaretPosition(value, expectedCaretPosition, direction);
if (newCaretPosition !== expectedCaretPosition) {
e.preventDefault();
}
} else if (key === "Delete" && !isValidInputCharacter(value[expectedCaretPosition])) {
newCaretPosition = correctCaretPosition(value, expectedCaretPosition, "right");
} else if (key === "Backspace" && !isValidInputCharacter(value[expectedCaretPosition])) {
newCaretPosition = correctCaretPosition(value, expectedCaretPosition, "left");
}
if (newCaretPosition !== expectedCaretPosition) {
setPatchedCaretPosition(el, newCaretPosition, value);
}
onKeyDown(e);
setCaretPositionInfoBeforeChange(el, endOffset);
};
var _onMouseUp = function(e) {
var el = e.target;
var correctCaretPositionIfRequired = function() {
var selectionStart = el.selectionStart;
var selectionEnd = el.selectionEnd;
var value = el.value;
if (value === void 0)
value = "";
if (selectionStart === selectionEnd) {
var caretPosition = correctCaretPosition(value, selectionStart);
if (caretPosition !== selectionStart) {
setPatchedCaretPosition(el, caretPosition, value);
}
}
};
correctCaretPositionIfRequired();
requestAnimationFrame(function() {
correctCaretPositionIfRequired();
});
onMouseUp(e);
setCaretPositionInfoBeforeChange(el);
};
var _onFocus = function(e) {
if (e.persist) {
e.persist();
}
var el = e.target;
var currentTarget = e.currentTarget;
focusedElm.current = el;
timeout.current.focusTimeout = setTimeout(function() {
var selectionStart = el.selectionStart;
var selectionEnd = el.selectionEnd;
var value = el.value;
if (value === void 0)
value = "";
var caretPosition = correctCaretPosition(value, selectionStart);
if (caretPosition !== selectionStart && !(selectionStart === 0 && selectionEnd === value.length)) {
setPatchedCaretPosition(el, caretPosition, value);
}
onFocus(Object.assign(Object.assign({}, e), { currentTarget }));
}, 0);
};
var _onBlur = function(e) {
focusedElm.current = null;
clearTimeout(timeout.current.focusTimeout);
clearTimeout(timeout.current.setCaretTimeout);
onBlur(e);
};
var inputMode = mounted && addInputMode() ? "numeric" : void 0;
var inputProps = Object.assign({ inputMode }, otherProps, {
type,
value: formattedValue,
onChange: _onChange,
onKeyDown: _onKeyDown,
onMouseUp: _onMouseUp,
onFocus: _onFocus,
onBlur: _onBlur
});
if (displayType === "text") {
return renderText ? React9.createElement(React9.Fragment, null, renderText(formattedValue, otherProps) || null) : React9.createElement("span", Object.assign({}, otherProps, { ref: getInputRef }), formattedValue);
} else if (customInput) {
var CustomInput = customInput;
return React9.createElement(CustomInput, Object.assign({}, inputProps, { ref: getInputRef }));
}
return React9.createElement("input", Object.assign({}, inputProps, { ref: getInputRef }));
}
function format(numStr, props) {
var decimalScale = props.decimalScale;
var fixedDecimalScale = props.fixedDecimalScale;
var prefix = props.prefix;
if (prefix === void 0)
prefix = "";
var suffix = props.suffix;
if (suffix === void 0)
suffix = "";
var allowNegative = props.allowNegative;
var thousandsGroupStyle = props.thousandsGroupStyle;
if (thousandsGroupStyle === void 0)
thousandsGroupStyle = "thousand";
if (numStr === "" || numStr === "-") {
return numStr;
}
var ref = getSeparators(props);
var thousandSeparator = ref.thousandSeparator;
var decimalSeparator = ref.decimalSeparator;
var hasDecimalSeparator = decimalScale !== 0 && numStr.indexOf(".") !== -1 || decimalScale && fixedDecimalScale;
var ref$1 = splitDecimal(numStr, allowNegative);
var beforeDecimal = ref$1.beforeDecimal;
var afterDecimal = ref$1.afterDecimal;
var addNegation = ref$1.addNegation;
if (decimalScale !== void 0) {
afterDecimal = limitToScale(afterDecimal, decimalScale, !!fixedDecimalScale);
}
if (thousandSeparator) {
beforeDecimal = applyThousandSeparator(beforeDecimal, thousandSeparator, thousandsGroupStyle);
}
if (prefix) {
beforeDecimal = prefix + beforeDecimal;
}
if (suffix) {
afterDecimal = afterDecimal + suffix;
}
if (addNegation) {
beforeDecimal = "-" + beforeDecimal;
}
numStr = beforeDecimal + (hasDecimalSeparator && decimalSeparator || "") + afterDecimal;
return numStr;
}
function getSeparators(props) {
var decimalSeparator = props.decimalSeparator;
if (decimalSeparator === void 0)
decimalSeparator = ".";
var thousandSeparator = props.thousandSeparator;
var allowedDecimalSeparators = props.allowedDecimalSeparators;
if (thousandSeparator === true) {
thousandSeparator = ",";
}
if (!allowedDecimalSeparators) {
allowedDecimalSeparators = [decimalSeparator, "."];
}
return {
decimalSeparator,
thousandSeparator,
allowedDecimalSeparators
};
}
function handleNegation(value, allowNegative) {
if (value === void 0)
value = "";
var negationRegex = new RegExp("(-)");
var doubleNegationRegex = new RegExp("(-)(.)*(-)");
var hasNegation = negationRegex.test(value);
var removeNegation = doubleNegationRegex.test(value);
value = value.replace(/-/g, "");
if (hasNegation && !removeNegation && allowNegative) {
value = "-" + value;
}
return value;
}
function getNumberRegex(decimalSeparator, global) {
return new RegExp("(^-)|[0-9]|" + escapeRegExp(decimalSeparator), "g" );
}
function isNumericString(val, prefix, suffix) {
if (val === "") {
return true;
}
return !(prefix === null || prefix === void 0 ? void 0 : prefix.match(/\d/)) && !(suffix === null || suffix === void 0 ? void 0 : suffix.match(/\d/)) && typeof val === "string" && !isNaN(Number(val));
}
function removeFormatting(value, changeMeta, props) {
var assign;
if (changeMeta === void 0)
changeMeta = getDefaultChangeMeta(value);
var allowNegative = props.allowNegative;
var prefix = props.prefix;
if (prefix === void 0)
prefix = "";
var suffix = props.suffix;
if (suffix === void 0)
suffix = "";
var decimalScale = props.decimalScale;
var from = changeMeta.from;
var to = changeMeta.to;
var start = to.start;
var end = to.end;
var ref = getSeparators(props);
var allowedDecimalSeparators = ref.allowedDecimalSeparators;
var decimalSeparator = ref.decimalSeparator;
var isBeforeDecimalSeparator = value[end] === decimalSeparator;
if (charIsNumber(value) && (value === prefix || value === suffix) && changeMeta.lastValue === "") {
return value;
}
if (end - start === 1 && allowedDecimalSeparators.indexOf(value[start]) !== -1) {
var separator = decimalScale === 0 ? "" : decimalSeparator;
value = value.substring(0, start) + separator + value.substring(start + 1, value.length);
}
var stripNegation = function(value2, start2, end2) {
var hasNegation2 = false;
var hasDoubleNegation = false;
if (prefix.startsWith("-")) {
hasNegation2 = false;
} else if (value2.startsWith("--")) {
hasNegation2 = false;
hasDoubleNegation = true;
} else if (suffix.startsWith("-") && value2.length === suffix.length) {
hasNegation2 = false;
} else if (value2[0] === "-") {
hasNegation2 = true;
}
var charsToRemove = hasNegation2 ? 1 : 0;
if (hasDoubleNegation) {
charsToRemove = 2;
}
if (charsToRemove) {
value2 = value2.substring(charsToRemove);
start2 -= charsToRemove;
end2 -= charsToRemove;
}
return { value: value2, start: start2, end: end2, hasNegation: hasNegation2 };
};
var toMetadata = stripNegation(value, start, end);
var hasNegation = toMetadata.hasNegation;
assign = toMetadata, value = assign.value, start = assign.start, end = assign.end;
var ref$1 = stripNegation(changeMeta.lastValue, from.start, from.end);
var fromStart = ref$1.start;
var fromEnd = ref$1.end;
var lastValue = ref$1.value;
var updatedSuffixPart = value.substring(start, end);
if (value.length && lastValue.length && (fromStart > lastValue.length - suffix.length || fromEnd < prefix.length) && !(updatedSuffixPart && suffix.startsWith(updatedSuffixPart))) {
value = lastValue;
}
var startIndex = 0;
if (value.startsWith(prefix)) {
startIndex += prefix.length;
} else if (start < prefix.length) {
startIndex = start;
}
value = value.substring(startIndex);
end -= startIndex;
var endIndex = value.length;
var suffixStartIndex = value.length - suffix.length;
if (value.endsWith(suffix)) {
endIndex = suffixStartIndex;
} else if (end > suffixStartIndex) {
endIndex = end;
} else if (end > value.length - suffix.length) {
endIndex = end;
}
value = value.substring(0, endIndex);
value = handleNegation(hasNegation ? "-" + value : value, allowNegative);
value = (value.match(getNumberRegex(decimalSeparator)) || []).join("");
var firstIndex = value.indexOf(decimalSeparator);
value = value.replace(new RegExp(escapeRegExp(decimalSeparator), "g"), function(match, index3) {
return index3 === firstIndex ? "." : "";
});
var ref$2 = splitDecimal(value, allowNegative);
var beforeDecimal = ref$2.beforeDecimal;
var afterDecimal = ref$2.afterDecimal;
var addNegation = ref$2.addNegation;
if (to.end - to.start < from.end - from.start && beforeDecimal === "" && isBeforeDecimalSeparator && !parseFloat(afterDecimal)) {
value = addNegation ? "-" : "";
}
return value;
}
function getCaretBoundary(formattedValue, props) {
var prefix = props.prefix;
if (prefix === void 0)
prefix = "";
var suffix = props.suffix;
if (suffix === void 0)
suffix = "";
var boundaryAry = Array.from({ length: formattedValue.length + 1 }).map(function() {
return true;
});
var hasNegation = formattedValue[0] === "-";
boundaryAry.fill(false, 0, prefix.length + (hasNegation ? 1 : 0));
var valLn = formattedValue.length;
boundaryAry.fill(false, valLn - suffix.length + 1, valLn + 1);
return boundaryAry;
}
function validateAndUpdateProps(props) {
var ref = getSeparators(props);
var thousandSeparator = ref.thousandSeparator;
var decimalSeparator = ref.decimalSeparator;
var prefix = props.prefix;
if (prefix === void 0)
prefix = "";
var allowNegative = props.allowNegative;
if (allowNegative === void 0)
allowNegative = true;
if (thousandSeparator === decimalSeparator) {
throw new Error("\n Decimal separator can't be same as thousand separator.\n thousandSeparator: " + thousandSeparator + ' (thousandSeparator = {true} is same as thousandSeparator = ",")\n decimalSeparator: ' + decimalSeparator + " (default value for decimalSeparator is .)\n ");
}
if (prefix.startsWith("-") && allowNegative) {
console.error("\n Prefix can't start with '-' when allowNegative is true.\n prefix: " + prefix + "\n allowNegative: " + allowNegative + "\n ");
allowNegative = false;
}
return Object.assign(Object.assign({}, props), { allowNegative });
}
function useNumericFormat(props) {
props = validateAndUpdateProps(props);
props.decimalSeparator;
props.allowedDecimalSeparators;
props.thousandsGroupStyle;
var suffix = props.suffix;
var allowNegative = props.allowNegative;
var allowLeadingZeros = props.allowLeadingZeros;
var onKeyDown = props.onKeyDown;
if (onKeyDown === void 0)
onKeyDown = noop2;
var onBlur = props.onBlur;
if (onBlur === void 0)
onBlur = noop2;
var thousandSeparator = props.thousandSeparator;
var decimalScale = props.decimalScale;
var fixedDecimalScale = props.fixedDecimalScale;
var prefix = props.prefix;
if (prefix === void 0)
prefix = "";
var defaultValue = props.defaultValue;
var value = props.value;
var valueIsNumericString = props.valueIsNumericString;
var onValueChange = props.onValueChange;
var restProps = __rest2(props, ["decimalSeparator", "allowedDecimalSeparators", "thousandsGroupStyle", "suffix", "allowNegative", "allowLeadingZeros", "onKeyDown", "onBlur", "thousandSeparator", "decimalScale", "fixedDecimalScale", "prefix", "defaultValue", "value", "valueIsNumericString", "onValueChange"]);
var ref = getSeparators(props);
var decimalSeparator = ref.decimalSeparator;
var allowedDecimalSeparators = ref.allowedDecimalSeparators;
var _format = function(numStr) {
return format(numStr, props);
};
var _removeFormatting = function(inputValue, changeMeta) {
return removeFormatting(inputValue, changeMeta, props);
};
var _value = isNil(value) ? defaultValue : value;
var _valueIsNumericString = valueIsNumericString !== null && valueIsNumericString !== void 0 ? valueIsNumericString : isNumericString(_value, prefix, suffix);
if (!isNil(value)) {
_valueIsNumericString = _valueIsNumericString || typeof value === "number";
} else if (!isNil(defaultValue)) {
_valueIsNumericString = _valueIsNumericString || typeof defaultValue === "number";
}
var roundIncomingValueToPrecision = function(value2) {
if (isNotValidValue(value2)) {
return value2;
}
if (typeof value2 === "number") {
value2 = toNumericString(value2);
}
if (_valueIsNumericString && typeof decimalScale === "number") {
return roundToPrecision(value2, decimalScale, Boolean(fixedDecimalScale));
}
return value2;
};
var ref$1 = useInternalValues(roundIncomingValueToPrecision(value), roundIncomingValueToPrecision(defaultValue), Boolean(_valueIsNumericString), _format, _removeFormatting, onValueChange);
var ref$1_0 = ref$1[0];
var numAsString = ref$1_0.numAsString;
var formattedValue = ref$1_0.formattedValue;
var _onValueChange = ref$1[1];
var _onKeyDown = function(e) {
var el = e.target;
var key = e.key;
var selectionStart = el.selectionStart;
var selectionEnd = el.selectionEnd;
var value2 = el.value;
if (value2 === void 0)
value2 = "";
if ((key === "Backspace" || key === "Delete") && selectionEnd < prefix.length) {
e.preventDefault();
return;
}
if (selectionStart !== selectionEnd) {
onKeyDown(e);
return;
}
if (key === "Backspace" && value2[0] === "-" && selectionStart === prefix.length + 1 && allowNegative) {
setCaretPosition(el, 1);
}
if (decimalScale && fixedDecimalScale) {
if (key === "Backspace" && value2[selectionStart - 1] === decimalSeparator) {
setCaretPosition(el, selectionStart - 1);
e.preventDefault();
} else if (key === "Delete" && value2[selectionStart] === decimalSeparator) {
e.preventDefault();
}
}
if ((allowedDecimalSeparators === null || allowedDecimalSeparators === void 0 ? void 0 : allowedDecimalSeparators.includes(key)) && value2[selectionStart] === decimalSeparator) {
setCaretPosition(el, selectionStart + 1);
}
var _thousandSeparator = thousandSeparator === true ? "," : thousandSeparator;
if (key === "Backspace" && value2[selectionStart - 1] === _thousandSeparator) {
setCaretPosition(el, selectionStart - 1);
}
if (key === "Delete" && value2[selectionStart] === _thousandSeparator) {
setCaretPosition(el, selectionStart + 1);
}
onKeyDown(e);
};
var _onBlur = function(e) {
var _value2 = numAsString;
if (!_value2.match(/\d/g)) {
_value2 = "";
}
if (!allowLeadingZeros) {
_value2 = fixLeadingZero(_value2);
}
if (fixedDecimalScale && decimalScale) {
_value2 = roundToPrecision(_value2, decimalScale, fixedDecimalScale);
}
if (_value2 !== numAsString) {
var formattedValue2 = format(_value2, props);
_onValueChange({
formattedValue: formattedValue2,
value: _value2,
floatValue: parseFloat(_value2)
}, {
event: e,
source: SourceType.event
});
}
onBlur(e);
};
var isValidInputCharacter = function(inputChar) {
if (inputChar === decimalSeparator) {
return true;
}
return charIsNumber(inputChar);
};
var isCharacterSame = function(ref2) {
var currentValue = ref2.currentValue;
var lastValue = ref2.lastValue;
var formattedValue2 = ref2.formattedValue;
var currentValueIndex = ref2.currentValueIndex;
var formattedValueIndex = ref2.formattedValueIndex;
var curChar = currentValue[currentValueIndex];
var newChar = formattedValue2[formattedValueIndex];
var typedRange = findChangeRange(lastValue, currentValue);
var to = typedRange.to;
var getDecimalSeparatorIndex = function(value2) {
return _removeFormatting(value2).indexOf(".") + prefix.length;
};
if (value === 0 && fixedDecimalScale && decimalScale && currentValue[to.start] === decimalSeparator && getDecimalSeparatorIndex(currentValue) < currentValueIndex && getDecimalSeparatorIndex(formattedValue2) > formattedValueIndex) {
return false;
}
if (currentValueIndex >= to.start && currentValueIndex < to.end && allowedDecimalSeparators && allowedDecimalSeparators.includes(curChar) && newChar === decimalSeparator) {
return true;
}
return curChar === newChar;
};
return Object.assign(Object.assign({}, restProps), {
value: formattedValue,
valueIsNumericString: false,
isValidInputCharacter,
isCharacterSame,
onValueChange: _onValueChange,
format: _format,
removeFormatting: _removeFormatting,
getCaretBoundary: function(formattedValue2) {
return getCaretBoundary(formattedValue2, props);
},
onKeyDown: _onKeyDown,
onBlur: _onBlur
});
}
function NumericFormat(props) {
var numericFormatProps = useNumericFormat(props);
return React9.createElement(NumberFormatBase, Object.assign({}, numericFormatProps));
}
var defaultProps132 = {};
function NumberFormatter(_props) {
const props = useProps("NumberFormatter", defaultProps132, _props);
const { value, defaultValue, ...others } = props;
if (value === void 0) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(NumericFormat, { displayType: "text", value, ...others });
}
var extendNumberFormatter = (c) => c;
NumberFormatter.extend = extendNumberFormatter;
NumberFormatter.displayName = "@mantine/core/NumberFormatter";
function NumberInputChevron({ direction, style, ...others }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
style: {
width: "var(--ni-chevron-size)",
height: "var(--ni-chevron-size)",
transform: direction === "up" ? "rotate(180deg)" : void 0,
...style
},
viewBox: "0 0 15 15",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(
"path",
{
d: "M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",
fill: "currentColor",
fillRule: "evenodd",
clipRule: "evenodd"
}
)
}
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/NumberInput/NumberInput.module.css.mjs
var classes59 = { "root": "m_e2f5cd4e", "controls": "m_95e17d22", "control": "m_80b4b171" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/NumberInput/NumberInput.mjs
var leadingDecimalZeroPattern = /^(0\.0*|-0(\.0*)?)$/;
var leadingZerosPattern = /^-?0\d+(\.\d+)?\.?$/;
function getDecimalPlaces(inputValue) {
return inputValue.toString().replace(".", "").length;
}
function isValidNumber(floatValue, value) {
if (typeof value === "string") {
return getDecimalPlaces(value) < 14 && value !== "";
}
return (typeof floatValue === "number" ? floatValue < Number.MAX_SAFE_INTEGER : !Number.isNaN(Number(floatValue))) && !Number.isNaN(floatValue);
}
function isInRange(value, min2, max2) {
if (value === void 0) {
return true;
}
const minValid = min2 === void 0 || value >= min2;
const maxValid = max2 === void 0 || value <= max2;
return minValid && maxValid;
}
var defaultProps133 = {
step: 1,
clampBehavior: "blur",
allowDecimal: true,
allowNegative: true,
withKeyboardEvents: true,
allowLeadingZeros: true,
trimLeadingZeroesOnBlur: true,
startValue: 0
};
var varsResolver59 = createVarsResolver((_, { size: size4 }) => ({
controls: {
"--ni-chevron-size": getSize(size4, "ni-chevron-size")
}
}));
var NumberInput = factory((_props, ref) => {
const props = useProps("NumberInput", defaultProps133, _props);
const {
className,
classNames,
styles,
unstyled,
vars,
onChange,
onValueChange,
value,
defaultValue,
max: max2,
min: min2,
step,
hideControls,
rightSection,
isAllowed,
clampBehavior,
onBlur,
allowDecimal,
decimalScale,
onKeyDown,
onKeyDownCapture,
handlersRef,
startValue,
disabled,
rightSectionPointerEvents,
allowNegative,
readOnly,
size: size4,
rightSectionWidth,
stepHoldInterval,
stepHoldDelay,
allowLeadingZeros,
withKeyboardEvents,
trimLeadingZeroesOnBlur,
...others
} = props;
const getStyles2 = useStyles({
name: "NumberInput",
classes: classes59,
props,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver59
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
classNames,
styles,
props
});
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
onChange
});
const shouldUseStepInterval = stepHoldDelay !== void 0 && stepHoldInterval !== void 0;
const inputRef = React9.useRef(null);
const onStepTimeoutRef = React9.useRef(null);
const stepCountRef = React9.useRef(0);
const handleValueChange = (payload, event) => {
if (event.source === "event") {
setValue(
isValidNumber(payload.floatValue, payload.value) && !leadingDecimalZeroPattern.test(payload.value) && !(allowLeadingZeros ? leadingZerosPattern.test(payload.value) : false) ? payload.floatValue : payload.value
);
}
onValueChange?.(payload, event);
};
const getDecimalPlaces2 = (inputValue) => {
const match = String(inputValue).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
if (!match) {
return 0;
}
return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));
};
const adjustCursor = (position) => {
if (inputRef.current && typeof position !== "undefined") {
inputRef.current.setSelectionRange(position, position);
}
};
const incrementRef = React9.useRef();
incrementRef.current = () => {
let val;
const currentValuePrecision = getDecimalPlaces2(_value);
const stepPrecision = getDecimalPlaces2(step);
const maxPrecision = Math.max(currentValuePrecision, stepPrecision);
const factor = 10 ** maxPrecision;
if (typeof _value !== "number" || Number.isNaN(_value)) {
val = hooks.clamp(startValue, min2, max2);
} else if (max2 !== void 0) {
const incrementedValue = (Math.round(_value * factor) + Math.round(step * factor)) / factor;
val = incrementedValue <= max2 ? incrementedValue : max2;
} else {
val = (Math.round(_value * factor) + Math.round(step * factor)) / factor;
}
const formattedValue = val.toFixed(maxPrecision);
setValue(parseFloat(formattedValue));
onValueChange?.(
{ floatValue: parseFloat(formattedValue), formattedValue, value: formattedValue },
{ source: "increment" }
);
setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);
};
const decrementRef = React9.useRef();
decrementRef.current = () => {
let val;
const minValue = min2 !== void 0 ? min2 : !allowNegative ? 0 : Number.MIN_SAFE_INTEGER;
const currentValuePrecision = getDecimalPlaces2(_value);
const stepPrecision = getDecimalPlaces2(step);
const maxPrecision = Math.max(currentValuePrecision, stepPrecision);
const factor = 10 ** maxPrecision;
if (typeof _value !== "number" || Number.isNaN(_value)) {
val = hooks.clamp(startValue, minValue, max2);
} else {
const decrementedValue = (Math.round(_value * factor) - Math.round(step * factor)) / factor;
val = minValue !== void 0 && decrementedValue < minValue ? minValue : decrementedValue;
}
const formattedValue = val.toFixed(maxPrecision);
setValue(parseFloat(formattedValue));
onValueChange?.(
{ floatValue: parseFloat(formattedValue), formattedValue, value: formattedValue },
{ source: "decrement" }
);
setTimeout(() => adjustCursor(inputRef.current?.value.length), 0);
};
const handleKeyDown = (event) => {
onKeyDown?.(event);
if (readOnly || !withKeyboardEvents) {
return;
}
if (event.key === "ArrowUp") {
event.preventDefault();
incrementRef.current();
}
if (event.key === "ArrowDown") {
event.preventDefault();
decrementRef.current();
}
};
const handleKeyDownCapture = (event) => {
onKeyDownCapture?.(event);
if (event.key === "Backspace") {
const input = inputRef.current;
if (input.selectionStart === 0 && input.selectionStart === input.selectionEnd) {
event.preventDefault();
window.setTimeout(() => adjustCursor(0), 0);
}
}
};
hooks.assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });
const onStepHandleChange = (isIncrement) => {
if (isIncrement) {
incrementRef.current();
} else {
decrementRef.current();
}
stepCountRef.current += 1;
};
const onStepLoop = (isIncrement) => {
onStepHandleChange(isIncrement);
if (shouldUseStepInterval) {
const interval = typeof stepHoldInterval === "number" ? stepHoldInterval : stepHoldInterval(stepCountRef.current);
onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);
}
};
const onStep = (event, isIncrement) => {
event.preventDefault();
inputRef.current?.focus();
onStepHandleChange(isIncrement);
if (shouldUseStepInterval) {
onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);
}
};
const onStepDone = () => {
if (onStepTimeoutRef.current) {
window.clearTimeout(onStepTimeoutRef.current);
}
onStepTimeoutRef.current = null;
stepCountRef.current = 0;
};
const controls = /* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles2("controls"), children: [
/* @__PURE__ */ jsxRuntime.jsx(
UnstyledButton,
{
...getStyles2("control"),
tabIndex: -1,
"aria-hidden": true,
disabled: disabled || typeof _value === "number" && max2 !== void 0 && _value >= max2,
mod: { direction: "up" },
onMouseDown: (event) => event.preventDefault(),
onPointerDown: (event) => {
onStep(event, true);
},
onPointerUp: onStepDone,
onPointerLeave: onStepDone,
children: /* @__PURE__ */ jsxRuntime.jsx(NumberInputChevron, { direction: "up" })
}
),
/* @__PURE__ */ jsxRuntime.jsx(
UnstyledButton,
{
...getStyles2("control"),
tabIndex: -1,
"aria-hidden": true,
disabled: disabled || typeof _value === "number" && min2 !== void 0 && _value <= min2,
mod: { direction: "down" },
onMouseDown: (event) => event.preventDefault(),
onPointerDown: (event) => {
onStep(event, false);
},
onPointerUp: onStepDone,
onPointerLeave: onStepDone,
children: /* @__PURE__ */ jsxRuntime.jsx(NumberInputChevron, { direction: "down" })
}
)
] });
return /* @__PURE__ */ jsxRuntime.jsx(
InputBase,
{
component: NumericFormat,
allowNegative,
className: clsx_default(classes59.root, className),
size: size4,
...others,
readOnly,
disabled,
value: _value,
getInputRef: hooks.useMergedRef(ref, inputRef),
onValueChange: handleValueChange,
rightSection: hideControls || readOnly ? rightSection : rightSection || controls,
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
__staticSelector: "NumberInput",
decimalScale: allowDecimal ? decimalScale : 0,
onKeyDown: handleKeyDown,
onKeyDownCapture: handleKeyDownCapture,
rightSectionPointerEvents: rightSectionPointerEvents ?? (disabled ? "none" : void 0),
rightSectionWidth: rightSectionWidth ?? `var(--ni-right-section-width-${size4 || "sm"})`,
allowLeadingZeros,
onBlur: (event) => {
onBlur?.(event);
if (clampBehavior === "blur" && typeof _value === "number") {
const clampedValue = hooks.clamp(_value, min2, max2);
if (clampedValue !== _value) {
setValue(hooks.clamp(_value, min2, max2));
}
}
if (trimLeadingZeroesOnBlur && typeof _value === "string" && getDecimalPlaces2(_value) < 15) {
const replaced = _value.replace(/^0+/, "");
const parsedValue = parseFloat(replaced);
setValue(
Number.isNaN(parsedValue) || parsedValue > Number.MAX_SAFE_INTEGER ? replaced : parsedValue
);
}
},
isAllowed: (val) => {
if (clampBehavior === "strict") {
if (isAllowed) {
return isAllowed(val) && isInRange(val.floatValue, min2, max2);
}
return isInRange(val.floatValue, min2, max2);
}
return isAllowed ? isAllowed(val) : true;
}
}
);
});
NumberInput.classes = { ...InputBase.classes, ...classes59 };
NumberInput.displayName = "@mantine/core/NumberInput";
var [PaginationProvider, usePaginationContext] = createSafeContext(
"Pagination.Root component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Pagination/Pagination.module.css.mjs
var classes60 = { "root": "m_4addd315", "control": "m_326d024a", "dots": "m_4ad7767d" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Pagination/PaginationControl/PaginationControl.mjs
var defaultProps134 = {
withPadding: true
};
var PaginationControl = factory((_props, ref) => {
const props = useProps("PaginationControl", defaultProps134, _props);
const {
classNames,
className,
style,
styles,
vars,
active,
disabled,
withPadding,
mod,
...others
} = props;
const ctx = usePaginationContext();
const _disabled = disabled || ctx.disabled;
return /* @__PURE__ */ jsxRuntime.jsx(
UnstyledButton,
{
ref,
disabled: _disabled,
mod: [{ active, disabled: _disabled, "with-padding": withPadding }, mod],
...ctx.getStyles("control", { className, style, classNames, styles, active: !_disabled }),
...others
}
);
});
PaginationControl.classes = classes60;
PaginationControl.displayName = "@mantine/core/PaginationControl";
function PaginationIcon({ style, children, path, ...others }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
viewBox: "0 0 16 16",
xmlns: "http://www.w3.org/2000/svg",
style: {
width: "calc(var(--pagination-control-size) / 1.8)",
height: "calc(var(--pagination-control-size) / 1.8)",
...style
},
...others,
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: path, fill: "currentColor" })
}
);
}
var PaginationNextIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
PaginationIcon,
{
...props,
path: "M8.781 8l-3.3-3.3.943-.943L10.667 8l-4.243 4.243-.943-.943 3.3-3.3z"
}
);
var PaginationPreviousIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
PaginationIcon,
{
...props,
path: "M7.219 8l3.3 3.3-.943.943L5.333 8l4.243-4.243.943.943-3.3 3.3z"
}
);
var PaginationFirstIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
PaginationIcon,
{
...props,
path: "M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z"
}
);
var PaginationLastIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
PaginationIcon,
{
...props,
path: "M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z"
}
);
var PaginationDotsIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
PaginationIcon,
{
...props,
path: "M2 8c0-.733.6-1.333 1.333-1.333.734 0 1.334.6 1.334 1.333s-.6 1.333-1.334 1.333C2.6 9.333 2 8.733 2 8zm9.333 0c0-.733.6-1.333 1.334-1.333C13.4 6.667 14 7.267 14 8s-.6 1.333-1.333 1.333c-.734 0-1.334-.6-1.334-1.333zM6.667 8c0-.733.6-1.333 1.333-1.333s1.333.6 1.333 1.333S8.733 9.333 8 9.333 6.667 8.733 6.667 8z"
}
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Pagination/PaginationDots/PaginationDots.mjs
var defaultProps135 = {
icon: PaginationDotsIcon
};
var PaginationDots = factory((_props, ref) => {
const props = useProps("PaginationDots", defaultProps135, _props);
const { classNames, className, style, styles, vars, icon, ...others } = props;
const ctx = usePaginationContext();
const Icon = icon;
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...ctx.getStyles("dots", { className, style, styles, classNames }), ...others, children: /* @__PURE__ */ jsxRuntime.jsx(
Icon,
{
style: {
width: "calc(var(--pagination-control-size) / 1.8)",
height: "calc(var(--pagination-control-size) / 1.8)"
}
}
) });
});
PaginationDots.classes = classes60;
PaginationDots.displayName = "@mantine/core/PaginationDots";
function createEdgeComponent({ icon, name, action, type }) {
const defaultProps181 = { icon };
const Component = React9.forwardRef((props, ref) => {
const { icon: _icon, ...others } = useProps(name, defaultProps181, props);
const Icon = _icon;
const ctx = usePaginationContext();
const disabled = type === "next" ? ctx.active === ctx.total : ctx.active === 1;
return /* @__PURE__ */ jsxRuntime.jsx(
PaginationControl,
{
disabled: ctx.disabled || disabled,
ref,
onClick: ctx[action],
withPadding: false,
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(
Icon,
{
className: "mantine-rotate-rtl",
style: {
width: "calc(var(--pagination-control-size) / 1.8)",
height: "calc(var(--pagination-control-size) / 1.8)"
}
}
)
}
);
});
Component.displayName = `@mantine/core/${name}`;
return createPolymorphicComponent(Component);
}
var PaginationNext = createEdgeComponent({
icon: PaginationNextIcon,
name: "PaginationNext",
action: "onNext",
type: "next"
});
var PaginationPrevious = createEdgeComponent({
icon: PaginationPreviousIcon,
name: "PaginationPrevious",
action: "onPrevious",
type: "previous"
});
var PaginationFirst = createEdgeComponent({
icon: PaginationFirstIcon,
name: "PaginationFirst",
action: "onFirst",
type: "previous"
});
var PaginationLast = createEdgeComponent({
icon: PaginationLastIcon,
name: "PaginationLast",
action: "onLast",
type: "next"
});
function PaginationItems({ dotsIcon }) {
const ctx = usePaginationContext();
const items = ctx.range.map((page, index3) => {
if (page === "dots") {
return /* @__PURE__ */ jsxRuntime.jsx(PaginationDots, { icon: dotsIcon }, index3);
}
return /* @__PURE__ */ jsxRuntime.jsx(
PaginationControl,
{
active: page === ctx.active,
"aria-current": page === ctx.active ? "page" : void 0,
onClick: () => ctx.onChange(page),
disabled: ctx.disabled,
...ctx.getItemProps?.(page),
children: ctx.getItemProps?.(page)?.children ?? page
},
index3
);
});
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: items });
}
PaginationItems.displayName = "@mantine/core/PaginationItems";
var defaultProps136 = {
siblings: 1,
boundaries: 1
};
var varsResolver60 = createVarsResolver(
(theme, { size: size4, radius, color, autoContrast }) => ({
root: {
"--pagination-control-radius": radius === void 0 ? void 0 : getRadius(radius),
"--pagination-control-size": getSize(size4, "pagination-control-size"),
"--pagination-control-fz": getFontSize(size4),
"--pagination-active-bg": color ? getThemeColor(color, theme) : void 0,
"--pagination-active-color": getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0
}
})
);
var PaginationRoot = factory((_props, ref) => {
const props = useProps("PaginationRoot", defaultProps136, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
total,
value,
defaultValue,
onChange,
disabled,
siblings,
boundaries,
color,
radius,
onNextPage,
onPreviousPage,
onFirstPage,
onLastPage,
getItemProps,
autoContrast,
...others
} = props;
const getStyles2 = useStyles({
name: "Pagination",
classes: classes60,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver60
});
const { range, setPage, next, previous, active, first, last } = hooks.usePagination({
page: value,
initialPage: defaultValue,
onChange,
total,
siblings,
boundaries
});
const handleNextPage = createEventHandler(onNextPage, next);
const handlePreviousPage = createEventHandler(onPreviousPage, previous);
const handleFirstPage = createEventHandler(onFirstPage, first);
const handleLastPage = createEventHandler(onLastPage, last);
return /* @__PURE__ */ jsxRuntime.jsx(
PaginationProvider,
{
value: {
total,
range,
active,
disabled,
getItemProps,
onChange: setPage,
onNext: handleNextPage,
onPrevious: handlePreviousPage,
onFirst: handleFirstPage,
onLast: handleLastPage,
getStyles: getStyles2
},
children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), ...others })
}
);
});
PaginationRoot.classes = classes60;
PaginationRoot.displayName = "@mantine/core/PaginationRoot";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Pagination/Pagination.mjs
var defaultProps137 = {
withControls: true,
siblings: 1,
boundaries: 1,
gap: 8
};
var Pagination = factory((_props, ref) => {
const props = useProps("Pagination", defaultProps137, _props);
const {
withEdges,
withControls,
getControlProps,
nextIcon,
previousIcon,
lastIcon,
firstIcon,
dotsIcon,
total,
gap,
hideWithOnePage,
...others
} = props;
if (total <= 0 || hideWithOnePage && total === 1) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(PaginationRoot, { ref, total, ...others, children: /* @__PURE__ */ jsxRuntime.jsxs(Group, { gap, children: [
withEdges && /* @__PURE__ */ jsxRuntime.jsx(PaginationFirst, { icon: firstIcon, ...getControlProps?.("first") }),
withControls && /* @__PURE__ */ jsxRuntime.jsx(PaginationPrevious, { icon: previousIcon, ...getControlProps?.("previous") }),
/* @__PURE__ */ jsxRuntime.jsx(PaginationItems, { dotsIcon }),
withControls && /* @__PURE__ */ jsxRuntime.jsx(PaginationNext, { icon: nextIcon, ...getControlProps?.("next") }),
withEdges && /* @__PURE__ */ jsxRuntime.jsx(PaginationLast, { icon: lastIcon, ...getControlProps?.("last") })
] }) });
});
Pagination.classes = classes60;
Pagination.displayName = "@mantine/core/Pagination";
Pagination.Root = PaginationRoot;
Pagination.Control = PaginationControl;
Pagination.Dots = PaginationDots;
Pagination.First = PaginationFirst;
Pagination.Last = PaginationLast;
Pagination.Next = PaginationNext;
Pagination.Previous = PaginationPrevious;
Pagination.Items = PaginationItems;
var PasswordToggleIcon = ({
reveal
}) => /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
viewBox: "0 0 15 15",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
style: { width: "var(--psi-icon-size)", height: "var(--psi-icon-size)" },
children: /* @__PURE__ */ jsxRuntime.jsx(
"path",
{
d: reveal ? "M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.6828 3.61012C9.70652 3.21671 8.63759 3 7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C0.902945 9.08812 2.02314 10.1861 3.36061 10.9323L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.31723 11.3899C5.29348 11.7833 6.36241 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C14.0971 5.9119 12.9769 4.81391 11.6394 4.06771L13.3536 2.35355ZM9.90428 4.38861C9.15332 4.1361 8.34759 4 7.5 4C4.80285 4 2.52952 5.37816 1.09622 7.50001C1.87284 8.6497 2.89609 9.58106 4.09974 10.1931L9.90428 4.38861ZM5.09572 10.6114L10.9003 4.80685C12.1039 5.41894 13.1272 6.35031 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11C6.65241 11 5.84668 10.8639 5.09572 10.6114Z" : "M7.5 11C4.80285 11 2.52952 9.62184 1.09622 7.50001C2.52952 5.37816 4.80285 4 7.5 4C10.1971 4 12.4705 5.37816 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11ZM7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C1.65639 10.2936 4.30786 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C13.3436 4.70638 10.6921 3 7.5 3ZM7.5 9.5C8.60457 9.5 9.5 8.60457 9.5 7.5C9.5 6.39543 8.60457 5.5 7.5 5.5C6.39543 5.5 5.5 6.39543 5.5 7.5C5.5 8.60457 6.39543 9.5 7.5 9.5Z",
fill: "currentColor",
fillRule: "evenodd",
clipRule: "evenodd"
}
)
}
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.module.css.mjs
var classes61 = { "root": "m_f61ca620", "input": "m_ccf8da4c", "innerInput": "m_f2d85dd2", "visibilityToggle": "m_b1072d44" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.mjs
var defaultProps138 = {
visibilityToggleIcon: PasswordToggleIcon
};
var varsResolver61 = createVarsResolver((_, { size: size4 }) => ({
root: {
"--psi-icon-size": getSize(size4, "psi-icon-size"),
"--psi-button-size": getSize(size4, "psi-button-size")
}
}));
var PasswordInput = factory((_props, ref) => {
const props = useProps("PasswordInput", defaultProps138, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
required,
error: error2,
leftSection,
disabled,
id,
variant,
inputContainer,
description,
label,
size: size4,
errorProps,
descriptionProps,
labelProps,
withAsterisk,
inputWrapperOrder,
wrapperProps,
radius,
rightSection,
rightSectionWidth,
rightSectionPointerEvents,
leftSectionWidth,
visible,
defaultVisible,
onVisibilityChange,
visibilityToggleIcon,
visibilityToggleButtonProps,
rightSectionProps,
leftSectionProps,
leftSectionPointerEvents,
withErrorStyles,
mod,
...others
} = props;
const uuid = hooks.useId(id);
const [_visible, setVisibility] = hooks.useUncontrolled({
value: visible,
defaultValue: defaultVisible,
finalValue: false,
onChange: onVisibilityChange
});
const toggleVisibility = () => setVisibility(!_visible);
const getStyles2 = useStyles({
name: "PasswordInput",
classes: classes61,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver61
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
classNames,
styles,
props
});
const { styleProps, rest } = extractStyleProps(others);
const VisibilityToggleIcon = visibilityToggleIcon;
const visibilityToggleButton = /* @__PURE__ */ jsxRuntime.jsx(
ActionIcon,
{
...getStyles2("visibilityToggle"),
disabled,
radius,
"aria-hidden": !visibilityToggleButtonProps,
tabIndex: -1,
...visibilityToggleButtonProps,
variant: "subtle",
color: "gray",
unstyled,
onMouseDown: (event) => {
event.preventDefault();
visibilityToggleButtonProps?.onMouseDown?.(event);
toggleVisibility();
},
onKeyDown: (event) => {
visibilityToggleButtonProps?.onKeyDown?.(event);
if (event.key === " ") {
event.preventDefault();
toggleVisibility();
}
},
children: /* @__PURE__ */ jsxRuntime.jsx(VisibilityToggleIcon, { reveal: _visible })
}
);
return /* @__PURE__ */ jsxRuntime.jsx(
Input.Wrapper,
{
required,
id: uuid,
label,
error: error2,
description,
size: size4,
classNames: resolvedClassNames,
styles: resolvedStyles,
__staticSelector: "PasswordInput",
errorProps,
descriptionProps,
unstyled,
withAsterisk,
inputWrapperOrder,
inputContainer,
variant,
labelProps: { ...labelProps, htmlFor: uuid },
mod,
...getStyles2("root"),
...styleProps,
...wrapperProps,
children: /* @__PURE__ */ jsxRuntime.jsx(
Input,
{
component: "div",
error: error2,
leftSection,
size: size4,
classNames: { ...resolvedClassNames, input: clsx_default(classes61.input, resolvedClassNames.input) },
styles: resolvedStyles,
radius,
disabled,
__staticSelector: "PasswordInput",
rightSectionWidth,
rightSection: rightSection ?? visibilityToggleButton,
variant,
unstyled,
leftSectionWidth,
rightSectionPointerEvents: rightSectionPointerEvents || "all",
rightSectionProps,
leftSectionProps,
leftSectionPointerEvents,
withAria: false,
withErrorStyles,
children: /* @__PURE__ */ jsxRuntime.jsx(
"input",
{
required,
"data-invalid": !!error2 || void 0,
"data-with-left-section": !!leftSection || void 0,
...getStyles2("innerInput"),
disabled,
id: uuid,
ref,
...rest,
autoComplete: rest.autoComplete || "off",
type: _visible ? "text" : "password"
}
)
}
)
}
);
});
PasswordInput.classes = { ...InputBase.classes, ...classes61 };
PasswordInput.displayName = "@mantine/core/PasswordInput";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PinInput/create-pin-array/create-pin-array.mjs
function createPinArray(length, value) {
if (length < 1) {
return [];
}
const values2 = new Array(length).fill("");
if (value) {
const splitted = value.trim().split("");
for (let i = 0; i < Math.min(length, splitted.length); i += 1) {
values2[i] = splitted[i] === " " ? "" : splitted[i];
}
}
return values2;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PinInput/PinInput.module.css.mjs
var classes62 = { "root": "m_f1cb205a", "pinInput": "m_cb288ead" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/PinInput/PinInput.mjs
var regex = {
number: /^[0-9]+$/,
alphanumeric: /^[a-zA-Z0-9]+$/i
};
var defaultProps139 = {
gap: "sm",
length: 4,
manageFocus: true,
oneTimeCode: true,
placeholder: "\u25CB",
type: "alphanumeric",
ariaLabel: "PinInput"
};
var varsResolver62 = createVarsResolver((_, { size: size4 }) => ({
root: {
"--pin-input-size": getSize(size4 ?? defaultProps139.size, "pin-input-size")
}
}));
var PinInput = factory((props, ref) => {
const {
name,
form,
className,
value,
defaultValue,
variant,
gap,
style,
size: size4,
classNames,
styles,
unstyled,
length,
onChange,
onComplete,
manageFocus,
autoFocus,
error: error2,
radius,
disabled,
oneTimeCode,
placeholder,
type,
mask,
readOnly,
inputType,
inputMode,
ariaLabel,
vars,
id,
hiddenInputProps,
rootRef,
getInputProps,
...others
} = useProps("PinInput", defaultProps139, props);
const uuid = hooks.useId(id);
const getStyles2 = useStyles({
name: "PinInput",
classes: classes62,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver62
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
classNames,
styles,
props
});
const [focusedIndex, setFocusedIndex] = React9.useState(-1);
const [_value, setValues] = hooks.useUncontrolled({
value: value ? createPinArray(length ?? 0, value) : void 0,
defaultValue: defaultValue?.split("").slice(0, length ?? 0),
finalValue: createPinArray(length ?? 0, ""),
onChange: typeof onChange === "function" ? (val) => {
onChange(val.join("").trim());
} : void 0
});
const _valueToString = _value.join("").trim();
const inputsRef = React9.useRef([]);
const validate = (code) => {
const re = type instanceof RegExp ? type : type && type in regex ? regex[type] : null;
return re?.test(code);
};
const focusInputField = (dir, index3, event) => {
if (!manageFocus) {
event?.preventDefault();
return;
}
if (dir === "next") {
const nextIndex = index3 + 1;
const canFocusNext = nextIndex < (length ?? 0);
if (canFocusNext) {
event?.preventDefault();
inputsRef.current[nextIndex].focus();
}
}
if (dir === "prev") {
const nextIndex = index3 - 1;
const canFocusNext = nextIndex > -1;
if (canFocusNext) {
event?.preventDefault();
inputsRef.current[nextIndex].focus();
}
}
};
const setFieldValue = (val, index3) => {
const values2 = [..._value];
values2[index3] = val;
setValues(values2);
};
const handleChange = (event, index3) => {
const inputValue = event.target.value;
const nextCharOrValue = inputValue.length === 2 ? inputValue.split("")[inputValue.length - 1] : inputValue;
const isValid = validate(nextCharOrValue);
if (nextCharOrValue.length < 2) {
if (isValid) {
setFieldValue(nextCharOrValue, index3);
focusInputField("next", index3);
} else {
setFieldValue("", index3);
}
} else if (isValid) {
setValues(createPinArray(length ?? 0, inputValue));
}
};
const handleKeyDown = (event, index3) => {
const { ctrlKey, metaKey, key, shiftKey, target } = event;
const inputValue = target.value;
if (inputMode === "numeric") {
const canTypeSign = key === "Backspace" || key === "Tab" || key === "Control" || key === "Delete" || ctrlKey && key === "v" || metaKey && key === "v" ? true : !Number.isNaN(Number(key));
if (!canTypeSign) {
event.preventDefault();
}
}
if (key === "ArrowLeft" || shiftKey && key === "Tab") {
focusInputField("prev", index3, event);
} else if (key === "ArrowRight" || key === "Tab" || key === " ") {
focusInputField("next", index3, event);
} else if (key === "Delete") {
setFieldValue("", index3);
} else if (key === "Backspace") {
if (index3 !== 0) {
setFieldValue("", index3);
if (length === index3 + 1) {
if (event.target.value === "") {
focusInputField("prev", index3, event);
}
} else {
focusInputField("prev", index3, event);
}
}
} else if (inputValue.length > 0 && key === _value[index3]) {
focusInputField("next", index3, event);
}
};
const handleFocus = (event, index3) => {
event.target.select();
setFocusedIndex(index3);
};
const handleBlur = () => {
setFocusedIndex(-1);
};
const handlePaste = (event) => {
event.preventDefault();
const copyValue = event.clipboardData.getData("text/plain").replace(/[\n\r\s]+/g, "");
const isValid = validate(copyValue.trim());
if (isValid) {
const copyValueToPinArray = createPinArray(length ?? 0, copyValue);
setValues(copyValueToPinArray);
focusInputField("next", copyValueToPinArray.length - 2);
}
};
React9.useEffect(() => {
if (_valueToString.length !== length) {
return;
}
onComplete?.(_valueToString);
}, [length, _valueToString]);
React9.useEffect(() => {
if (length !== _value.length) {
setValues(createPinArray(length ?? 0, _value.join("")));
}
}, [length, _value]);
React9.useEffect(() => {
if (value === "") {
setValues(createPinArray(length ?? 0, value));
}
}, [value]);
React9.useEffect(() => {
if (disabled) {
setFocusedIndex(-1);
}
}, [disabled]);
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsx(
Group,
{
...others,
...getStyles2("root"),
ref: rootRef,
role: "group",
id: uuid,
gap,
unstyled,
wrap: "nowrap",
variant,
__size: size4,
dir: "ltr",
children: _value.map((char, index3) => /* @__PURE__ */ React9.createElement(
Input,
{
component: "input",
...getStyles2("pinInput", {
style: {
"--input-padding": "0",
"--input-text-align": "center"
}
}),
classNames: resolvedClassNames,
styles: resolvedStyles,
size: size4,
__staticSelector: "PinInput",
id: `${uuid}-${index3 + 1}`,
key: `${uuid}-${index3}`,
inputMode: inputMode || (type === "number" ? "numeric" : "text"),
onChange: (event) => handleChange(event, index3),
onKeyDown: (event) => handleKeyDown(event, index3),
onFocus: (event) => handleFocus(event, index3),
onBlur: handleBlur,
onPaste: handlePaste,
type: inputType || (mask ? "password" : type === "number" ? "tel" : "text"),
radius,
error: error2,
variant,
disabled,
ref: (node) => {
index3 === 0 && hooks.assignRef(ref, node);
inputsRef.current[index3] = node;
},
autoComplete: oneTimeCode ? "one-time-code" : "off",
placeholder: focusedIndex === index3 ? "" : placeholder,
value: char,
autoFocus: autoFocus && index3 === 0,
unstyled,
"aria-label": ariaLabel,
readOnly,
...getInputProps?.(index3)
}
))
}
),
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "hidden", name, form, value: _valueToString, ...hiddenInputProps })
] });
});
PinInput.classes = { ...classes62, ...InputBase.classes };
PinInput.displayName = "@mantine/core/PinInput";
var [ProgressProvider, useProgressContext] = createSafeContext(
"Progress.Root component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Progress/Progress.module.css.mjs
var classes63 = { "root": "m_db6d6462", "section": "m_2242eb65", "stripes-animation": "m_81a374bd", "label": "m_91e40b74" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Progress/ProgressLabel/ProgressLabel.mjs
var defaultProps140 = {};
var ProgressLabel = factory((props, ref) => {
const { classNames, className, style, styles, vars, ...others } = useProps(
"ProgressLabel",
defaultProps140,
props
);
const ctx = useProgressContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("label", { className, style, classNames, styles }),
...others
}
);
});
ProgressLabel.classes = classes63;
ProgressLabel.displayName = "@mantine/core/ProgressLabel";
var defaultProps141 = {};
var varsResolver63 = createVarsResolver(
(_, { size: size4, radius, transitionDuration }) => ({
root: {
"--progress-size": getSize(size4, "progress-size"),
"--progress-radius": radius === void 0 ? void 0 : getRadius(radius),
"--progress-transition-duration": typeof transitionDuration === "number" ? `${transitionDuration}ms` : void 0
}
})
);
var ProgressRoot = factory((_props, ref) => {
const props = useProps("ProgressRoot", defaultProps141, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
autoContrast,
transitionDuration,
...others
} = props;
const getStyles2 = useStyles({
name: "Progress",
classes: classes63,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver63
});
return /* @__PURE__ */ jsxRuntime.jsx(ProgressProvider, { value: { getStyles: getStyles2, autoContrast }, children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), ...others }) });
});
ProgressRoot.classes = classes63;
ProgressRoot.displayName = "@mantine/core/ProgressRoot";
var defaultProps142 = {
withAria: true
};
var ProgressSection = factory((props, ref) => {
const {
classNames,
className,
style,
styles,
vars,
value,
withAria,
color,
striped,
animated,
mod,
...others
} = useProps("ProgressSection", defaultProps142, props);
const ctx = useProgressContext();
const theme = useMantineTheme();
const ariaAttributes = withAria ? {
role: "progressbar",
"aria-valuemax": 100,
"aria-valuemin": 0,
"aria-valuenow": value,
"aria-valuetext": `${value}%`
} : {};
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...ctx.getStyles("section", { className, classNames, styles, style }),
...others,
...ariaAttributes,
mod: [{ striped: striped || animated, animated }, mod],
__vars: {
"--progress-section-width": `${value}%`,
"--progress-section-color": getThemeColor(color, theme),
"--progress-label-color": getAutoContrastValue(ctx.autoContrast, theme) ? getContrastColor({ color, theme, autoContrast: ctx.autoContrast }) : void 0
}
}
);
});
ProgressSection.classes = classes63;
ProgressSection.displayName = "@mantine/core/ProgressSection";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Progress/Progress.mjs
var defaultProps143 = {};
var Progress = factory((_props, ref) => {
const props = useProps("Progress", defaultProps143, _props);
const {
value,
classNames,
styles,
vars,
color,
striped,
animated,
"aria-label": label,
...others
} = props;
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
classNames,
styles,
props
});
return /* @__PURE__ */ jsxRuntime.jsx(
ProgressRoot,
{
ref,
classNames: resolvedClassNames,
styles: resolvedStyles,
vars,
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(
ProgressSection,
{
value,
color,
striped,
animated,
"aria-label": label
}
)
}
);
});
Progress.classes = classes63;
Progress.displayName = "@mantine/core/Progress";
Progress.Section = ProgressSection;
Progress.Root = ProgressRoot;
Progress.Label = ProgressLabel;
var [RadioGroupProvider, useRadioGroupContext] = createOptionalContext();
var [RadioCardProvider, useRadioCardContext] = createOptionalContext();
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.module.css.mjs
var classes64 = { "card": "m_9dc8ae12" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.mjs
var defaultProps144 = {
withBorder: true
};
var varsResolver64 = createVarsResolver((_, { radius }) => ({
card: {
"--card-radius": getRadius(radius)
}
}));
var RadioCard = factory((_props, ref) => {
const props = useProps("RadioCard", defaultProps144, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
checked,
mod,
withBorder,
value,
onClick,
name,
onKeyDown,
...others
} = props;
const getStyles2 = useStyles({
name: "RadioCard",
classes: classes64,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver64,
rootSelector: "card"
});
const { dir } = useDirection();
const ctx = useRadioGroupContext();
const _checked = typeof checked === "boolean" ? checked : ctx?.value === value || false;
const _name = name || ctx?.name;
const handleKeyDown = (event) => {
onKeyDown?.(event);
if (["ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"].includes(event.nativeEvent.code)) {
event.preventDefault();
const siblings = Array.from(
document.querySelectorAll(
`[role="radio"][name="${_name || "__mantine"}"]`
)
);
const currentIndex = siblings.findIndex((element) => element === event.target);
const nextIndex = currentIndex + 1 >= siblings.length ? 0 : currentIndex + 1;
const prevIndex = currentIndex - 1 < 0 ? siblings.length - 1 : currentIndex - 1;
if (event.nativeEvent.code === "ArrowDown") {
siblings[nextIndex].focus();
siblings[nextIndex].click();
}
if (event.nativeEvent.code === "ArrowUp") {
siblings[prevIndex].focus();
siblings[prevIndex].click();
}
if (event.nativeEvent.code === "ArrowLeft") {
siblings[dir === "ltr" ? prevIndex : nextIndex].focus();
siblings[dir === "ltr" ? prevIndex : nextIndex].click();
}
if (event.nativeEvent.code === "ArrowRight") {
siblings[dir === "ltr" ? nextIndex : prevIndex].focus();
siblings[dir === "ltr" ? nextIndex : prevIndex].click();
}
}
};
return /* @__PURE__ */ jsxRuntime.jsx(RadioCardProvider, { value: { checked: _checked }, children: /* @__PURE__ */ jsxRuntime.jsx(
UnstyledButton,
{
ref,
mod: [{ "with-border": withBorder, checked: _checked }, mod],
...getStyles2("card"),
...others,
role: "radio",
"aria-checked": _checked,
name: _name,
onClick: (event) => {
onClick?.(event);
ctx?.onChange(value || "");
},
onKeyDown: handleKeyDown
}
) });
});
RadioCard.displayName = "@mantine/core/RadioCard";
RadioCard.classes = classes64;
var defaultProps145 = {};
var RadioGroup = factory((props, ref) => {
const { value, defaultValue, onChange, size: size4, wrapperProps, children, name, readOnly, ...others } = useProps("RadioGroup", defaultProps145, props);
const _name = hooks.useId(name);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: "",
onChange
});
const handleChange = (event) => !readOnly && setValue(typeof event === "string" ? event : event.currentTarget.value);
return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupProvider, { value: { value: _value, onChange: handleChange, size: size4, name: _name }, children: /* @__PURE__ */ jsxRuntime.jsx(
Input.Wrapper,
{
size: size4,
ref,
...wrapperProps,
...others,
labelElement: "div",
__staticSelector: "RadioGroup",
children: /* @__PURE__ */ jsxRuntime.jsx(InputsGroupFieldset, { role: "radiogroup", children })
}
) });
});
RadioGroup.classes = Input.Wrapper.classes;
RadioGroup.displayName = "@mantine/core/RadioGroup";
function RadioIcon({ size: size4, style, ...others }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
fill: "none",
viewBox: "0 0 5 5",
style: { width: rem(size4), height: rem(size4), ...style },
"aria-hidden": true,
...others,
children: /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "2.5", cy: "2.5", r: "2.5", fill: "currentColor" })
}
);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.module.css.mjs
var classes65 = { "indicator": "m_717d7ff6", "icon": "m_3e4da632", "indicator--outline": "m_2980836c" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.mjs
var defaultProps146 = {
icon: RadioIcon
};
var varsResolver65 = createVarsResolver(
(theme, { radius, color, size: size4, iconColor, variant, autoContrast }) => {
const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });
const outlineColor = parsedColor.isThemeColor && parsedColor.shade === void 0 ? `var(--mantine-color-${parsedColor.color}-outline)` : parsedColor.color;
return {
indicator: {
"--radio-size": getSize(size4, "radio-size"),
"--radio-radius": radius === void 0 ? void 0 : getRadius(radius),
"--radio-color": variant === "outline" ? outlineColor : getThemeColor(color, theme),
"--radio-icon-size": getSize(size4, "radio-icon-size"),
"--radio-icon-color": iconColor ? getThemeColor(iconColor, theme) : getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0
}
};
}
);
var RadioIndicator = factory((_props, ref) => {
const props = useProps("RadioIndicator", defaultProps146, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
icon,
radius,
color,
iconColor,
autoContrast,
checked,
mod,
variant,
disabled,
...others
} = props;
const Icon = icon;
const getStyles2 = useStyles({
name: "RadioIndicator",
classes: classes65,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver65,
rootSelector: "indicator"
});
const ctx = useRadioCardContext();
const _checked = typeof checked === "boolean" ? checked : ctx?.checked || false;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
...getStyles2("indicator", { variant }),
variant,
mod: [{ checked: _checked, disabled }, mod],
...others,
children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...getStyles2("icon") })
}
);
});
RadioIndicator.displayName = "@mantine/core/RadioIndicator";
RadioIndicator.classes = classes65;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Radio/Radio.module.css.mjs
var classes66 = { "root": "m_f3f1af94", "inner": "m_89c4f5e4", "icon": "m_f3ed6b2b", "radio": "m_8a3dbb89", "radio--outline": "m_1bfe9d39" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Radio/Radio.mjs
var defaultProps147 = {
labelPosition: "right"
};
var varsResolver66 = createVarsResolver(
(theme, { size: size4, radius, color, iconColor, variant, autoContrast }) => {
const parsedColor = parseThemeColor({ color: color || theme.primaryColor, theme });
const outlineColor = parsedColor.isThemeColor && parsedColor.shade === void 0 ? `var(--mantine-color-${parsedColor.color}-outline)` : parsedColor.color;
return {
root: {
"--radio-size": getSize(size4, "radio-size"),
"--radio-radius": radius === void 0 ? void 0 : getRadius(radius),
"--radio-color": variant === "outline" ? outlineColor : getThemeColor(color, theme),
"--radio-icon-color": iconColor ? getThemeColor(iconColor, theme) : getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0,
"--radio-icon-size": getSize(size4, "radio-icon-size")
}
};
}
);
var Radio = factory((_props, ref) => {
const props = useProps("Radio", defaultProps147, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
id,
size: size4,
label,
labelPosition,
description,
error: error2,
radius,
color,
variant,
disabled,
wrapperProps,
icon: Icon = RadioIcon,
rootRef,
iconColor,
onChange,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Radio",
classes: classes66,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver66
});
const ctx = useRadioGroupContext();
const contextSize = ctx?.size ?? size4;
const componentSize = props.size ? size4 : contextSize;
const { styleProps, rest } = extractStyleProps(others);
const uuid = hooks.useId(id);
const contextProps = ctx ? {
checked: ctx.value === rest.value,
name: rest.name ?? ctx.name,
onChange: (event) => {
ctx.onChange(event);
onChange?.(event);
}
} : {};
return /* @__PURE__ */ jsxRuntime.jsx(
InlineInput,
{
...getStyles2("root"),
__staticSelector: "Radio",
__stylesApiProps: props,
id: uuid,
size: componentSize,
labelPosition,
label,
description,
error: error2,
disabled,
classNames,
styles,
unstyled,
"data-checked": contextProps.checked || void 0,
variant,
ref: rootRef,
mod,
...styleProps,
...wrapperProps,
children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { ...getStyles2("inner"), mod: { "label-position": labelPosition }, children: [
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("radio", { focusable: true, variant }),
onChange,
...rest,
...contextProps,
component: "input",
mod: { error: !!error2 },
ref,
id: uuid,
disabled,
type: "radio"
}
),
/* @__PURE__ */ jsxRuntime.jsx(Icon, { ...getStyles2("icon"), "aria-hidden": true })
] })
}
);
});
Radio.classes = classes66;
Radio.displayName = "@mantine/core/Radio";
Radio.Group = RadioGroup;
Radio.Card = RadioCard;
Radio.Indicator = RadioIndicator;
var [RatingProvider, useRatingContext] = createSafeContext(
"Rating was not found in tree"
);
function StarIcon(props) {
const { width, height, style, ...others } = props;
return /* @__PURE__ */ jsxRuntime.jsx(
"svg",
{
viewBox: "0 0 24 24",
strokeLinecap: "round",
strokeLinejoin: "round",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
style: { width, height, ...style },
...others,
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z" })
}
);
}
StarIcon.displayName = "@mantine/core/StarIcon";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Rating/StarSymbol/StarSymbol.mjs
function StarSymbol({ type }) {
const ctx = useRatingContext();
return /* @__PURE__ */ jsxRuntime.jsx(StarIcon, { ...ctx.getStyles("starSymbol"), "data-filled": type === "full" || void 0 });
}
StarSymbol.displayName = "@mantine/core/StarSymbol";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Rating/RatingItem/RatingItem.mjs
function RatingItem({
getSymbolLabel,
emptyIcon,
fullIcon,
full,
active,
value,
readOnly,
fractionValue,
color,
id,
onBlur,
onChange,
onInputChange,
style,
...others
}) {
const ctx = useRatingContext();
const _fullIcon = typeof fullIcon === "function" ? fullIcon(value) : fullIcon;
const _emptyIcon = typeof emptyIcon === "function" ? emptyIcon(value) : emptyIcon;
const { dir } = useDirection();
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
!readOnly && /* @__PURE__ */ jsxRuntime.jsx(
"input",
{
...ctx.getStyles("input"),
onKeyDown: (event) => event.key === " " && onChange(value),
id,
type: "radio",
"data-active": active || void 0,
"aria-label": getSymbolLabel?.(value),
value,
onBlur,
onChange: onInputChange,
...others
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: readOnly ? "div" : "label",
...ctx.getStyles("label"),
"data-read-only": readOnly || void 0,
htmlFor: id,
onClick: () => onChange(value),
__vars: {
"--rating-item-z-index": (fractionValue === 1 ? void 0 : active ? 2 : 0)?.toString()
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...ctx.getStyles("symbolBody"),
__vars: {
"--rating-symbol-clip-path": fractionValue === 1 ? void 0 : dir === "ltr" ? `inset(0 ${active ? 100 - fractionValue * 100 : 100}% 0 0)` : `inset(0 0 0 ${active ? 100 - fractionValue * 100 : 100}% )`
},
children: full ? _fullIcon || /* @__PURE__ */ jsxRuntime.jsx(StarSymbol, { type: "full" }) : _emptyIcon || /* @__PURE__ */ jsxRuntime.jsx(StarSymbol, { type: "empty" })
}
)
}
)
] });
}
RatingItem.displayName = "@mantine/core/RatingItem";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Rating/Rating.module.css.mjs
var classes67 = { "root": "m_f8d312f2", "symbolGroup": "m_61734bb7", "starSymbol": "m_5662a89a", "input": "m_211007ba", "label": "m_21342ee4", "symbolBody": "m_fae05d6a" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Rating/Rating.mjs
function roundValueTo(value, to) {
const rounded = Math.round(value / to) * to;
const precision = `${to}`.split(".")[1]?.length || 0;
return Number(rounded.toFixed(precision));
}
var defaultProps148 = {
size: "sm",
getSymbolLabel: (value) => `${value}`,
count: 5,
fractions: 1,
color: "yellow"
};
var varsResolver67 = createVarsResolver((theme, { size: size4, color }) => ({
root: {
"--rating-size": getSize(size4, "rating-size"),
"--rating-color": getThemeColor(color, theme)
}
}));
var Rating = factory((_props, ref) => {
const props = useProps("Rating", defaultProps148, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
name,
id,
value,
defaultValue,
onChange,
fractions,
count: count2,
onMouseEnter,
readOnly,
onMouseMove,
onHover,
onMouseLeave,
onTouchStart,
onTouchEnd,
size: size4,
variant,
getSymbolLabel,
color,
emptySymbol,
fullSymbol,
highlightSelectedOnly,
...others
} = props;
const getStyles2 = useStyles({
name: "Rating",
classes: classes67,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver67
});
const { dir } = useDirection();
const _name = hooks.useId(name);
const _id = hooks.useId(id);
const rootRef = React9.useRef(null);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: 0,
onChange
});
const [hovered, setHovered] = React9.useState(-1);
const [isOutside, setOutside] = React9.useState(true);
const _fractions = Math.floor(fractions);
const _count = Math.floor(count2);
const decimalUnit = 1 / _fractions;
const stableValueRounded = roundValueTo(_value, decimalUnit);
const finalValue = hovered !== -1 ? hovered : stableValueRounded;
const getRatingFromCoordinates = (x) => {
const { left, right, width } = rootRef.current.getBoundingClientRect();
const symbolWidth = width / _count;
const hoverPosition = dir === "rtl" ? right - x : x - left;
const hoverValue = hoverPosition / symbolWidth;
return hooks.clamp(roundValueTo(hoverValue + decimalUnit / 2, decimalUnit), decimalUnit, _count);
};
const handleMouseEnter = (event) => {
onMouseEnter?.(event);
!readOnly && setOutside(false);
};
const handleMouseMove = (event) => {
onMouseMove?.(event);
if (readOnly) {
return;
}
const rounded = getRatingFromCoordinates(event.clientX);
setHovered(rounded);
rounded !== hovered && onHover?.(rounded);
};
const handleMouseLeave = (event) => {
onMouseLeave?.(event);
if (readOnly) {
return;
}
setHovered(-1);
setOutside(true);
hovered !== -1 && onHover?.(-1);
};
const handleTouchStart = (event) => {
const { touches } = event;
if (touches.length !== 1) {
return;
}
if (!readOnly) {
const touch = touches[0];
setValue(getRatingFromCoordinates(touch.clientX));
}
onTouchStart?.(event);
};
const handleTouchEnd = (event) => {
event.preventDefault();
onTouchEnd?.(event);
};
const handleItemBlur = () => isOutside && setHovered(-1);
const handleInputChange = (event) => {
if (!readOnly) {
if (typeof event === "number") {
setHovered(event);
} else {
setHovered(parseFloat(event.target.value));
}
}
};
const handleChange = (event) => {
if (!readOnly) {
if (typeof event === "number") {
setValue(event);
} else {
setValue(parseFloat(event.target.value));
}
}
};
const items = Array(_count).fill(0).map((_, index3) => {
const integerValue = index3 + 1;
const fractionItems = Array.from(new Array(index3 === 0 ? _fractions + 1 : _fractions));
const isGroupActive = !readOnly && Math.ceil(hovered) === integerValue;
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
"data-active": isGroupActive || void 0,
...getStyles2("symbolGroup"),
children: fractionItems.map((__, fractionIndex) => {
const fractionValue = decimalUnit * (index3 === 0 ? fractionIndex : fractionIndex + 1);
const symbolValue = roundValueTo(integerValue - 1 + fractionValue, decimalUnit);
return /* @__PURE__ */ jsxRuntime.jsx(
RatingItem,
{
getSymbolLabel,
emptyIcon: emptySymbol,
fullIcon: fullSymbol,
full: highlightSelectedOnly ? symbolValue === finalValue : symbolValue <= finalValue,
active: symbolValue === finalValue,
checked: symbolValue === stableValueRounded,
readOnly,
fractionValue,
value: symbolValue,
name: _name,
onChange: handleChange,
onBlur: handleItemBlur,
onInputChange: handleInputChange,
id: `${_id}-${index3}-${fractionIndex}`
},
`${integerValue}-${symbolValue}`
);
})
},
integerValue
);
});
return /* @__PURE__ */ jsxRuntime.jsx(RatingProvider, { value: { getStyles: getStyles2 }, children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref: hooks.useMergedRef(rootRef, ref),
...getStyles2("root"),
onMouseMove: handleMouseMove,
onMouseEnter: handleMouseEnter,
onMouseLeave: handleMouseLeave,
onTouchStart: handleTouchStart,
onTouchEnd: handleTouchEnd,
variant,
size: size4,
id: _id,
...others,
children: items
}
) });
});
Rating.classes = classes67;
Rating.displayName = "@mantine/core/Rating";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Transition/get-transition-props/get-transition-props.mjs
var defaultTransition = {
duration: 100,
transition: "fade"
};
function getTransitionProps(transitionProps, componentTransition) {
return { ...defaultTransition, ...componentTransition, ...transitionProps };
}
function useFloatingTooltip({
offset: offset4,
position,
defaultOpened
}) {
const [opened, setOpened] = React9.useState(defaultOpened);
const boundaryRef = React9.useRef();
const { x, y, elements, refs, update, placement } = useFloating2({
placement: position,
middleware: [
shift3({
crossAxis: true,
padding: 5,
rootBoundary: "document"
})
]
});
const horizontalOffset = placement.includes("right") ? offset4 : position.includes("left") ? offset4 * -1 : 0;
const verticalOffset = placement.includes("bottom") ? offset4 : position.includes("top") ? offset4 * -1 : 0;
const handleMouseMove = React9.useCallback(
({ clientX, clientY }) => {
refs.setPositionReference({
getBoundingClientRect() {
return {
width: 0,
height: 0,
x: clientX,
y: clientY,
left: clientX + horizontalOffset,
top: clientY + verticalOffset,
right: clientX,
bottom: clientY
};
}
});
},
[elements.reference]
);
React9.useEffect(() => {
if (refs.floating.current) {
const boundary = boundaryRef.current;
boundary.addEventListener("mousemove", handleMouseMove);
const parents = getOverflowAncestors(refs.floating.current);
parents.forEach((parent) => {
parent.addEventListener("scroll", update);
});
return () => {
boundary.removeEventListener("mousemove", handleMouseMove);
parents.forEach((parent) => {
parent.removeEventListener("scroll", update);
});
};
}
return void 0;
}, [elements.reference, refs.floating.current, update, handleMouseMove, opened]);
return { handleMouseMove, x, y, opened, setOpened, boundaryRef, floating: refs.setFloating };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.module.css.mjs
var classes68 = { "tooltip": "m_1b3c8819", "arrow": "m_f898399f" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tooltip/TooltipFloating/TooltipFloating.mjs
var defaultProps149 = {
refProp: "ref",
withinPortal: true,
offset: 10,
defaultOpened: false,
position: "right",
zIndex: getDefaultZIndex("popover")
};
var varsResolver68 = createVarsResolver((theme, { radius, color }) => ({
tooltip: {
"--tooltip-radius": radius === void 0 ? void 0 : getRadius(radius),
"--tooltip-bg": color ? getThemeColor(color, theme) : void 0,
"--tooltip-color": color ? "var(--mantine-color-white)" : void 0
}
}));
var TooltipFloating = factory((_props, ref) => {
const props = useProps("TooltipFloating", defaultProps149, _props);
const {
children,
refProp,
withinPortal,
style,
className,
classNames,
styles,
unstyled,
radius,
color,
label,
offset: offset4,
position,
multiline,
zIndex,
disabled,
defaultOpened,
variant,
vars,
portalProps,
...others
} = props;
const theme = useMantineTheme();
const getStyles2 = useStyles({
name: "TooltipFloating",
props,
classes: classes68,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "tooltip",
vars,
varsResolver: varsResolver68
});
const { handleMouseMove, x, y, opened, boundaryRef, floating, setOpened } = useFloatingTooltip({
offset: offset4,
position,
defaultOpened
});
if (!isElement(children)) {
throw new Error(
"[@mantine/core] Tooltip.Floating component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported"
);
}
const targetRef = hooks.useMergedRef(boundaryRef, children.ref, ref);
const onMouseEnter = (event) => {
children.props.onMouseEnter?.(event);
handleMouseMove(event);
setOpened(true);
};
const onMouseLeave = (event) => {
children.props.onMouseLeave?.(event);
setOpened(false);
};
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...others,
...getStyles2("tooltip", {
style: {
...getStyleObject(style, theme),
zIndex,
display: !disabled && opened ? "block" : "none",
top: (y && Math.round(y)) ?? "",
left: (x && Math.round(x)) ?? ""
}
}),
variant,
ref: floating,
mod: { multiline },
children: label
}
) }),
React9.cloneElement(children, {
...children.props,
[refProp]: targetRef,
onMouseEnter,
onMouseLeave
})
] });
});
TooltipFloating.classes = classes68;
TooltipFloating.displayName = "@mantine/core/TooltipFloating";
var TooltipGroupContext = React9.createContext(false);
var TooltipGroupProvider = TooltipGroupContext.Provider;
var useTooltipGroupContext = () => React9.useContext(TooltipGroupContext);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tooltip/TooltipGroup/TooltipGroup.mjs
var defaultProps150 = {
openDelay: 0,
closeDelay: 0
};
function TooltipGroup(props) {
const { openDelay, closeDelay, children } = useProps("TooltipGroup", defaultProps150, props);
return /* @__PURE__ */ jsxRuntime.jsx(TooltipGroupProvider, { value: true, children: /* @__PURE__ */ jsxRuntime.jsx(FloatingDelayGroup, { delay: { open: openDelay, close: closeDelay }, children }) });
}
TooltipGroup.displayName = "@mantine/core/TooltipGroup";
TooltipGroup.extend = (c) => c;
function useTooltip(settings) {
const [uncontrolledOpened, setUncontrolledOpened] = React9.useState(settings.defaultOpened);
const controlled = typeof settings.opened === "boolean";
const opened = controlled ? settings.opened : uncontrolledOpened;
const withinGroup = useTooltipGroupContext();
const uid = hooks.useId();
const { delay: groupDelay, currentId, setCurrentId } = useDelayGroupContext();
const onChange = React9.useCallback(
(_opened) => {
setUncontrolledOpened(_opened);
if (_opened) {
setCurrentId(uid);
}
},
[setCurrentId, uid]
);
const {
x,
y,
context,
refs,
update,
placement,
middlewareData: { arrow: { x: arrowX, y: arrowY } = {} }
} = useFloating2({
strategy: settings.strategy,
placement: settings.position,
open: opened,
onOpenChange: onChange,
middleware: [
offset3(settings.offset),
shift3({ padding: 8 }),
flip3(),
arrow3({ element: settings.arrowRef, padding: settings.arrowOffset }),
...settings.inline ? [inline3()] : []
]
});
const { getReferenceProps, getFloatingProps } = useInteractions([
useHover(context, {
enabled: settings.events?.hover,
delay: withinGroup ? groupDelay : { open: settings.openDelay, close: settings.closeDelay },
mouseOnly: !settings.events?.touch
}),
useFocus(context, { enabled: settings.events?.focus, visibleOnly: true }),
useRole(context, { role: "tooltip" }),
// Cannot be used with controlled tooltip, page jumps
useDismiss(context, { enabled: typeof settings.opened === "undefined" }),
useDelayGroup(context, { id: uid })
]);
useFloatingAutoUpdate({
opened,
position: settings.position,
positionDependencies: settings.positionDependencies,
floating: { refs, update }
});
hooks.useDidUpdate(() => {
settings.onPositionChange?.(placement);
}, [placement]);
const isGroupPhase = opened && currentId && currentId !== uid;
return {
x,
y,
arrowX,
arrowY,
reference: refs.setReference,
floating: refs.setFloating,
getFloatingProps,
getReferenceProps,
isGroupPhase,
opened,
placement
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.mjs
var defaultProps151 = {
position: "top",
refProp: "ref",
withinPortal: true,
inline: false,
defaultOpened: false,
arrowSize: 4,
arrowOffset: 5,
arrowRadius: 0,
arrowPosition: "side",
offset: 5,
transitionProps: { duration: 100, transition: "fade" },
events: { hover: true, focus: false, touch: false },
zIndex: getDefaultZIndex("popover"),
positionDependencies: []
};
var varsResolver69 = createVarsResolver((theme, { radius, color }) => ({
tooltip: {
"--tooltip-radius": radius === void 0 ? void 0 : getRadius(radius),
"--tooltip-bg": color ? getThemeColor(color, theme) : void 0,
"--tooltip-color": color ? "var(--mantine-color-white)" : void 0
}
}));
var Tooltip = factory((_props, ref) => {
const props = useProps("Tooltip", defaultProps151, _props);
const {
children,
position,
refProp,
label,
openDelay,
closeDelay,
onPositionChange,
opened,
defaultOpened,
withinPortal,
radius,
color,
classNames,
styles,
unstyled,
style,
className,
withArrow,
arrowSize,
arrowOffset,
arrowRadius,
arrowPosition,
offset: offset4,
transitionProps,
multiline,
events,
zIndex,
disabled,
positionDependencies,
onClick,
onMouseEnter,
onMouseLeave,
inline: inline4,
variant,
keepMounted,
vars,
portalProps,
mod,
floatingStrategy,
...others
} = useProps("Tooltip", defaultProps151, props);
const { dir } = useDirection();
const arrowRef = React9.useRef(null);
const tooltip = useTooltip({
position: getFloatingPosition(dir, position),
closeDelay,
openDelay,
onPositionChange,
opened,
defaultOpened,
events,
arrowRef,
arrowOffset,
offset: typeof offset4 === "number" ? offset4 + (withArrow ? arrowSize / 2 : 0) : offset4,
positionDependencies: [...positionDependencies, children],
inline: inline4,
strategy: floatingStrategy
});
const getStyles2 = useStyles({
name: "Tooltip",
props,
classes: classes68,
className,
style,
classNames,
styles,
unstyled,
rootSelector: "tooltip",
vars,
varsResolver: varsResolver69
});
if (!isElement(children)) {
throw new Error(
"[@mantine/core] Tooltip component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported"
);
}
const targetRef = hooks.useMergedRef(tooltip.reference, children.ref, ref);
const transition = getTransitionProps(transitionProps, { duration: 100, transition: "fade" });
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsx(OptionalPortal, { ...portalProps, withinPortal, children: /* @__PURE__ */ jsxRuntime.jsx(
Transition,
{
...transition,
keepMounted,
mounted: !disabled && !!tooltip.opened,
duration: tooltip.isGroupPhase ? 10 : transition.duration,
children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...others,
"data-fixed": floatingStrategy === "fixed" || void 0,
variant,
mod: [{ multiline }, mod],
...tooltip.getFloatingProps({
ref: tooltip.floating,
className: getStyles2("tooltip").className,
style: {
...getStyles2("tooltip").style,
...transitionStyles,
zIndex,
top: tooltip.y ?? 0,
left: tooltip.x ?? 0
}
}),
children: [
label,
/* @__PURE__ */ jsxRuntime.jsx(
FloatingArrow,
{
ref: arrowRef,
arrowX: tooltip.arrowX,
arrowY: tooltip.arrowY,
visible: withArrow,
position: tooltip.placement,
arrowSize,
arrowOffset,
arrowRadius,
arrowPosition,
...getStyles2("arrow")
}
)
]
}
)
}
) }),
React9.cloneElement(
children,
tooltip.getReferenceProps({
onClick,
onMouseEnter,
onMouseLeave,
onMouseMove: props.onMouseMove,
onPointerDown: props.onPointerDown,
onPointerEnter: props.onPointerEnter,
[refProp]: targetRef,
className: clsx_default(className, children.props.className),
...children.props
})
)
] });
});
Tooltip.classes = classes68;
Tooltip.displayName = "@mantine/core/Tooltip";
Tooltip.Floating = TooltipFloating;
Tooltip.Group = TooltipGroup;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/RingProgress/Curve/get-curve-props.mjs
function getCurveProps({ size: size4, thickness, sum, value, root, offset: offset4 }) {
const radius = (size4 * 0.9 - thickness * 2) / 2;
const deg = Math.PI * radius * 2 / 100;
const strokeDasharray = root || value === void 0 ? `${(100 - sum) * deg}, ${sum * deg}` : `${value * deg}, ${(100 - value) * deg}`;
return {
strokeWidth: Number.isNaN(thickness) ? 12 : thickness,
cx: size4 / 2 || 0,
cy: size4 / 2 || 0,
r: radius || 0,
transform: root ? `scale(1, -1) translate(0, -${size4})` : void 0,
strokeDasharray,
strokeDashoffset: root ? 0 : offset4 || 0
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/RingProgress/Curve/Curve.mjs
function Curve({
size: size4,
value,
offset: offset4,
sum,
thickness,
root,
color,
lineRoundCaps,
tooltip,
getStyles: getStyles2,
display,
...others
}) {
const theme = useMantineTheme();
return /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Floating, { disabled: !tooltip, label: tooltip, children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "circle",
...others,
...getStyles2("curve"),
__vars: { "--curve-color": color ? getThemeColor(color, theme) : void 0 },
fill: "none",
strokeLinecap: lineRoundCaps ? "round" : "butt",
...getCurveProps({ sum, size: size4, thickness, value, offset: offset4, root })
}
) });
}
Curve.displayName = "@mantine/core/Curve";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/RingProgress/get-curves/get-curves.mjs
function getCurves({
size: size4,
thickness,
sections,
renderRoundedLineCaps,
rootColor
}) {
const sum = sections.reduce((acc, current) => acc + current.value, 0);
const accumulated = Math.PI * ((size4 * 0.9 - thickness * 2) / 2) * 2;
let offset4 = accumulated;
const curves = [];
const curvesInOrder = [];
for (let i = 0; i < sections.length; i += 1) {
curves.push({ sum, offset: offset4, data: sections[i], root: false });
offset4 -= sections[i].value / 100 * accumulated;
}
curves.push({ sum, offset: offset4, data: { color: rootColor }, root: true });
curvesInOrder.push({ ...curves[curves.length - 1], lineRoundCaps: false });
if (curves.length > 2) {
curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });
curvesInOrder.push({ ...curves[curves.length - 2], lineRoundCaps: renderRoundedLineCaps });
for (let i = 1; i <= curves.length - 3; i += 1) {
curvesInOrder.push({ ...curves[i], lineRoundCaps: false });
}
} else {
curvesInOrder.push({ ...curves[0], lineRoundCaps: renderRoundedLineCaps });
}
return curvesInOrder;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/RingProgress/RingProgress.module.css.mjs
var classes69 = { "root": "m_b32e4812", "svg": "m_d43b5134", "curve": "m_b1ca1fbf", "label": "m_b23f9dc4" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/RingProgress/RingProgress.mjs
function getClampedThickness(thickness, size4) {
return Math.min(thickness || 12, (size4 || 120) / 4);
}
var defaultProps152 = {
size: 120,
thickness: 12
};
var varsResolver70 = createVarsResolver((_, { size: size4, thickness }) => ({
root: {
"--rp-size": rem(size4),
"--rp-label-offset": rem(thickness * 2)
}
}));
var RingProgress = factory((_props, ref) => {
const props = useProps("RingProgress", defaultProps152, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
label,
sections,
size: size4,
thickness,
roundCaps,
rootColor,
...others
} = props;
const getStyles2 = useStyles({
name: "RingProgress",
classes: classes69,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver70
});
const clampedThickness = getClampedThickness(thickness, size4);
const curves = getCurves({
size: size4,
thickness: clampedThickness,
sections,
renderRoundedLineCaps: roundCaps,
rootColor
}).map(({ data, sum, root, lineRoundCaps, offset: offset4 }, index3) => /* @__PURE__ */ React9.createElement(
Curve,
{
...data,
key: index3,
size: size4,
thickness: clampedThickness,
sum,
offset: offset4,
color: data?.color,
root,
lineRoundCaps,
getStyles: getStyles2
}
));
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { ...getStyles2("root"), size: size4, ref, ...others, children: [
/* @__PURE__ */ jsxRuntime.jsx("svg", { ...getStyles2("svg"), children: curves }),
label && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("label"), children: label })
] });
});
RingProgress.classes = classes69;
RingProgress.displayName = "@mantine/core/RingProgress";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.module.css.mjs
var classes70 = { "root": "m_cf365364", "indicator": "m_9e182ccd", "label": "m_1738fcb2", "input": "m_1714d588", "control": "m_69686b9b", "innerLabel": "m_78882f40" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.mjs
var defaultProps153 = {
withItemsBorders: true
};
var varsResolver71 = createVarsResolver(
(theme, { radius, color, transitionDuration, size: size4, transitionTimingFunction }) => ({
root: {
"--sc-radius": radius === void 0 ? void 0 : getRadius(radius),
"--sc-color": color ? getThemeColor(color, theme) : void 0,
"--sc-shadow": color ? void 0 : "var(--mantine-shadow-xs)",
"--sc-transition-duration": transitionDuration === void 0 ? void 0 : `${transitionDuration}ms`,
"--sc-transition-timing-function": transitionTimingFunction,
"--sc-padding": getSize(size4, "sc-padding"),
"--sc-font-size": getFontSize(size4)
}
})
);
var SegmentedControl = factory((_props, ref) => {
const props = useProps("SegmentedControl", defaultProps153, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
data,
value,
defaultValue,
onChange,
size: size4,
name,
disabled,
readOnly,
fullWidth,
orientation,
radius,
color,
transitionDuration,
transitionTimingFunction,
variant,
autoContrast,
withItemsBorders,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "SegmentedControl",
props,
classes: classes70,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver71
});
const theme = useMantineTheme();
const _data = data.map(
(item) => typeof item === "string" ? { label: item, value: item } : item
);
const initialized = hooks.useMounted();
const [parent, setParent] = React9.useState(null);
const [refs, setRefs] = React9.useState({});
const setElementRef = (element, val) => {
refs[val] = element;
setRefs(refs);
};
const [_value, handleValueChange] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: Array.isArray(data) ? _data.find((item) => !item.disabled)?.value ?? data[0]?.value ?? null : null,
onChange
});
const uuid = hooks.useId(name);
const controls = _data.map((item) => /* @__PURE__ */ React9.createElement(
Box,
{
...getStyles2("control"),
mod: { active: _value === item.value, orientation },
key: item.value
},
/* @__PURE__ */ React9.createElement(
"input",
{
...getStyles2("input"),
disabled: disabled || item.disabled,
type: "radio",
name: uuid,
value: item.value,
id: `${uuid}-${item.value}`,
checked: _value === item.value,
onChange: () => !readOnly && handleValueChange(item.value),
"data-focus-ring": theme.focusRing,
key: `${item.value}-input`
}
),
/* @__PURE__ */ React9.createElement(
Box,
{
component: "label",
...getStyles2("label"),
mod: {
active: _value === item.value && !(disabled || item.disabled),
disabled: disabled || item.disabled,
"read-only": readOnly
},
htmlFor: `${uuid}-${item.value}`,
ref: (node) => setElementRef(node, item.value),
__vars: {
"--sc-label-color": color !== void 0 ? getContrastColor({ color, theme, autoContrast }) : void 0
},
key: `${item.value}-label`
},
/* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("innerLabel"), children: item.label })
)
));
const mergedRef = hooks.useMergedRef(ref, (node) => setParent(node));
if (data.length === 0) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...getStyles2("root"),
variant,
size: size4,
ref: mergedRef,
mod: [
{
"full-width": fullWidth,
orientation,
initialized,
"with-items-borders": withItemsBorders
},
mod
],
...others,
role: "radiogroup",
"data-disabled": disabled,
children: [
typeof _value === "string" && /* @__PURE__ */ jsxRuntime.jsx(
FloatingIndicator,
{
target: refs[_value],
parent,
component: "span",
transitionDuration: "var(--sc-transition-duration)",
...getStyles2("indicator")
}
),
controls
]
}
);
});
SegmentedControl.classes = classes70;
SegmentedControl.displayName = "@mantine/core/SegmentedControl";
var defaultProps154 = {
searchable: false,
withCheckIcon: true,
allowDeselect: true,
checkIconPosition: "left"
};
var Select = factory((_props, ref) => {
const props = useProps("Select", defaultProps154, _props);
const {
classNames,
styles,
unstyled,
vars,
dropdownOpened,
defaultDropdownOpened,
onDropdownClose,
onDropdownOpen,
onFocus,
onBlur,
onClick,
onChange,
data,
value,
defaultValue,
selectFirstOptionOnChange,
onOptionSubmit,
comboboxProps,
readOnly,
disabled,
filter,
limit,
withScrollArea,
maxDropdownHeight,
size: size4,
searchable,
rightSection,
checkIconPosition,
withCheckIcon,
nothingFoundMessage,
name,
form,
searchValue,
defaultSearchValue,
onSearchChange,
allowDeselect,
error: error2,
rightSectionPointerEvents,
id,
clearable,
clearButtonProps,
hiddenInputProps,
renderOption,
onClear,
autoComplete,
scrollAreaProps,
...others
} = props;
const parsedData = React9.useMemo(() => getParsedComboboxData(data), [data]);
const optionsLockup = React9.useMemo(() => getOptionsLockup(parsedData), [parsedData]);
const _id = hooks.useId(id);
const [_value, setValue, controlled] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: null,
onChange
});
const selectedOption = typeof _value === "string" ? optionsLockup[_value] : void 0;
const previousSelectedOption = hooks.usePrevious(selectedOption);
const [search, setSearch] = hooks.useUncontrolled({
value: searchValue,
defaultValue: defaultSearchValue,
finalValue: selectedOption ? selectedOption.label : "",
onChange: onSearchChange
});
const combobox = useCombobox({
opened: dropdownOpened,
defaultOpened: defaultDropdownOpened,
onDropdownOpen: () => {
onDropdownOpen?.();
combobox.updateSelectedOptionIndex("active", { scrollIntoView: true });
},
onDropdownClose: () => {
onDropdownClose?.();
combobox.resetSelectedOption();
}
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
props,
styles,
classNames
});
React9.useEffect(() => {
if (selectFirstOptionOnChange) {
combobox.selectFirstOption();
}
}, [selectFirstOptionOnChange, _value]);
React9.useEffect(() => {
if (value === null) {
setSearch("");
}
if (typeof value === "string" && selectedOption && (previousSelectedOption?.value !== selectedOption.value || previousSelectedOption?.label !== selectedOption.label)) {
setSearch(selectedOption.label);
}
}, [value, selectedOption]);
const clearButton = clearable && !!_value && !disabled && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
Combobox.ClearButton,
{
size: size4,
...clearButtonProps,
onClear: () => {
setValue(null, null);
setSearch("");
onClear?.();
}
}
);
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsxs(
Combobox,
{
store: combobox,
__staticSelector: "Select",
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
readOnly,
onOptionSubmit: (val) => {
onOptionSubmit?.(val);
const optionLockup = allowDeselect ? optionsLockup[val].value === _value ? null : optionsLockup[val] : optionsLockup[val];
const nextValue = optionLockup ? optionLockup.value : null;
nextValue !== _value && setValue(nextValue, optionLockup);
!controlled && setSearch(typeof nextValue === "string" ? optionLockup?.label || "" : "");
combobox.closeDropdown();
},
size: size4,
...comboboxProps,
children: [
/* @__PURE__ */ jsxRuntime.jsx(Combobox.Target, { targetType: searchable ? "input" : "button", autoComplete, children: /* @__PURE__ */ jsxRuntime.jsx(
InputBase,
{
id: _id,
ref,
rightSection: rightSection || clearButton || /* @__PURE__ */ jsxRuntime.jsx(Combobox.Chevron, { size: size4, error: error2, unstyled }),
rightSectionPointerEvents: rightSectionPointerEvents || (clearButton ? "all" : "none"),
...others,
size: size4,
__staticSelector: "Select",
disabled,
readOnly: readOnly || !searchable,
value: search,
onChange: (event) => {
setSearch(event.currentTarget.value);
combobox.openDropdown();
selectFirstOptionOnChange && combobox.selectFirstOption();
},
onFocus: (event) => {
searchable && combobox.openDropdown();
onFocus?.(event);
},
onBlur: (event) => {
searchable && combobox.closeDropdown();
setSearch(_value != null ? optionsLockup[_value]?.label || "" : "");
onBlur?.(event);
},
onClick: (event) => {
searchable ? combobox.openDropdown() : combobox.toggleDropdown();
onClick?.(event);
},
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
pointer: !searchable,
error: error2
}
) }),
/* @__PURE__ */ jsxRuntime.jsx(
OptionsDropdown,
{
data: parsedData,
hidden: readOnly || disabled,
filter,
search,
limit,
hiddenWhenEmpty: !nothingFoundMessage,
withScrollArea,
maxDropdownHeight,
filterOptions: searchable && selectedOption?.label !== search,
value: _value,
checkIconPosition,
withCheckIcon,
nothingFoundMessage,
unstyled,
labelId: others.label ? `${_id}-label` : void 0,
"aria-label": others.label ? void 0 : others["aria-label"],
renderOption,
scrollAreaProps
}
)
]
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Combobox.HiddenInput,
{
value: _value,
name,
form,
disabled,
...hiddenInputProps
}
)
] });
});
Select.classes = { ...InputBase.classes, ...Combobox.classes };
Select.displayName = "@mantine/core/Select";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/SemiCircleProgress/SemiCircleProgress.module.css.mjs
var classes71 = { "root": "m_fa528724", "svg": "m_62e9e7e2", "filledSegment": "m_c573fb6f", "label": "m_4fa340f2" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/SemiCircleProgress/SemiCircleProgress.mjs
var defaultProps155 = {
size: 200,
thickness: 12,
orientation: "up",
fillDirection: "left-to-right",
labelPosition: "bottom"
};
function getRotation({
orientation,
fillDirection
}) {
if (orientation === "down") {
if (fillDirection === "right-to-left") {
return "rotate(180deg) rotateY(180deg)";
}
return "rotate(180deg)";
}
if (fillDirection === "left-to-right") {
return "rotateY(180deg)";
}
return void 0;
}
var varsResolver72 = createVarsResolver(
(theme, {
filledSegmentColor,
emptySegmentColor,
orientation,
fillDirection,
transitionDuration,
thickness
}) => ({
root: {
"--scp-filled-segment-color": filledSegmentColor ? getThemeColor(filledSegmentColor, theme) : void 0,
"--scp-empty-segment-color": emptySegmentColor ? getThemeColor(emptySegmentColor, theme) : void 0,
"--scp-rotation": getRotation({ orientation, fillDirection }),
"--scp-transition-duration": transitionDuration ? `${transitionDuration}ms` : void 0,
"--scp-thickness": rem(thickness)
}
})
);
var SemiCircleProgress = factory((_props, ref) => {
const props = useProps("SemiCircleProgress", defaultProps155, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
size: size4,
thickness,
value,
orientation,
fillDirection,
filledSegmentColor,
emptySegmentColor,
transitionDuration,
label,
labelPosition,
...others
} = props;
const getStyles2 = useStyles({
name: "SemiCircleProgress",
classes: classes71,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver72
});
const coordinateForCircle = size4 / 2;
const radius = (size4 - 2 * thickness) / 2;
const circumference = Math.PI * radius;
const semiCirclePercentage = hooks.clamp(value, 0, 100) * (circumference / 100);
return /* @__PURE__ */ jsxRuntime.jsxs(Box, { ref, size: size4, ...getStyles2("root"), ...others, children: [
label && /* @__PURE__ */ jsxRuntime.jsx("p", { ...getStyles2("label"), "data-position": labelPosition, "data-orientation": orientation, children: label }),
/* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size4, height: size4 / 2, ...getStyles2("svg"), children: [
/* @__PURE__ */ jsxRuntime.jsx(
"circle",
{
cx: coordinateForCircle,
cy: coordinateForCircle,
r: radius,
fill: "none",
stroke: "var(--scp-empty-segment-color)",
strokeWidth: thickness,
strokeDasharray: circumference,
...getStyles2("emptySegment", { style: { strokeDashoffset: circumference } })
}
),
/* @__PURE__ */ jsxRuntime.jsx(
"circle",
{
cx: coordinateForCircle,
cy: coordinateForCircle,
r: radius,
fill: "none",
stroke: "var(--scp-filled-segment-color)",
strokeWidth: thickness,
strokeDasharray: circumference,
...getStyles2("filledSegment", { style: { strokeDashoffset: semiCirclePercentage } })
}
)
] })
] });
});
SemiCircleProgress.displayName = "@mantine/core/SemiCircleProgress";
SemiCircleProgress.classes = classes71;
function SimpleGridMediaVariables({
spacing,
verticalSpacing,
cols,
selector
}) {
const theme = useMantineTheme();
const _verticalSpacing = verticalSpacing === void 0 ? spacing : verticalSpacing;
const baseStyles = filterProps({
"--sg-spacing-x": getSpacing(getBaseValue(spacing)),
"--sg-spacing-y": getSpacing(getBaseValue(_verticalSpacing)),
"--sg-cols": getBaseValue(cols)?.toString()
});
const queries = keys(theme.breakpoints).reduce(
(acc, breakpoint) => {
if (!acc[breakpoint]) {
acc[breakpoint] = {};
}
if (typeof spacing === "object" && spacing[breakpoint] !== void 0) {
acc[breakpoint]["--sg-spacing-x"] = getSpacing(spacing[breakpoint]);
}
if (typeof _verticalSpacing === "object" && _verticalSpacing[breakpoint] !== void 0) {
acc[breakpoint]["--sg-spacing-y"] = getSpacing(_verticalSpacing[breakpoint]);
}
if (typeof cols === "object" && cols[breakpoint] !== void 0) {
acc[breakpoint]["--sg-cols"] = cols[breakpoint];
}
return acc;
},
{}
);
const sortedBreakpoints = getSortedBreakpoints(keys(queries), theme.breakpoints).filter(
(breakpoint) => keys(queries[breakpoint.value]).length > 0
);
const media = sortedBreakpoints.map((breakpoint) => ({
query: `(min-width: ${theme.breakpoints[breakpoint.value]})`,
styles: queries[breakpoint.value]
}));
return /* @__PURE__ */ jsxRuntime.jsx(InlineStyles, { styles: baseStyles, media, selector });
}
function getBreakpoints(values2) {
if (typeof values2 === "object" && values2 !== null) {
return keys(values2);
}
return [];
}
function sortBreakpoints(breakpoints) {
return breakpoints.sort((a, b) => px(a) - px(b));
}
function getUniqueBreakpoints({
spacing,
verticalSpacing,
cols
}) {
const breakpoints = Array.from(
/* @__PURE__ */ new Set([
...getBreakpoints(spacing),
...getBreakpoints(verticalSpacing),
...getBreakpoints(cols)
])
);
return sortBreakpoints(breakpoints);
}
function SimpleGridContainerVariables({
spacing,
verticalSpacing,
cols,
selector
}) {
const _verticalSpacing = verticalSpacing === void 0 ? spacing : verticalSpacing;
const baseStyles = filterProps({
"--sg-spacing-x": getSpacing(getBaseValue(spacing)),
"--sg-spacing-y": getSpacing(getBaseValue(_verticalSpacing)),
"--sg-cols": getBaseValue(cols)?.toString()
});
const uniqueBreakpoints = getUniqueBreakpoints({ spacing, verticalSpacing, cols });
const queries = uniqueBreakpoints.reduce(
(acc, breakpoint) => {
if (!acc[breakpoint]) {
acc[breakpoint] = {};
}
if (typeof spacing === "object" && spacing[breakpoint] !== void 0) {
acc[breakpoint]["--sg-spacing-x"] = getSpacing(spacing[breakpoint]);
}
if (typeof _verticalSpacing === "object" && _verticalSpacing[breakpoint] !== void 0) {
acc[breakpoint]["--sg-spacing-y"] = getSpacing(_verticalSpacing[breakpoint]);
}
if (typeof cols === "object" && cols[breakpoint] !== void 0) {
acc[breakpoint]["--sg-cols"] = cols[breakpoint];
}
return acc;
},
{}
);
const media = uniqueBreakpoints.map((breakpoint) => ({
query: `simple-grid (min-width: ${breakpoint})`,
styles: queries[breakpoint]
}));
return /* @__PURE__ */ jsxRuntime.jsx(InlineStyles, { styles: baseStyles, container: media, selector });
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/SimpleGrid/SimpleGrid.module.css.mjs
var classes72 = { "container": "m_925c2d2c", "root": "m_2415a157" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/SimpleGrid/SimpleGrid.mjs
var defaultProps156 = {
cols: 1,
spacing: "md",
type: "media"
};
var SimpleGrid = factory((_props, ref) => {
const props = useProps("SimpleGrid", defaultProps156, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
cols,
verticalSpacing,
spacing,
type,
...others
} = props;
const getStyles2 = useStyles({
name: "SimpleGrid",
classes: classes72,
props,
className,
style,
classNames,
styles,
unstyled,
vars
});
const responsiveClassName = useRandomClassName();
if (type === "container") {
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsx(SimpleGridContainerVariables, { ...props, selector: `.${responsiveClassName}` }),
/* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("container"), children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root", { className: responsiveClassName }), ...others }) })
] });
}
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsx(SimpleGridMediaVariables, { ...props, selector: `.${responsiveClassName}` }),
/* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root", { className: responsiveClassName }), ...others })
] });
});
SimpleGrid.classes = classes72;
SimpleGrid.displayName = "@mantine/core/SimpleGrid";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Skeleton/Skeleton.module.css.mjs
var classes73 = { "root": "m_18320242", "skeleton-fade": "m_299c329c" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Skeleton/Skeleton.mjs
var defaultProps157 = {
visible: true,
animate: true
};
var varsResolver73 = createVarsResolver(
(_, { width, height, radius, circle }) => ({
root: {
"--skeleton-height": rem(height),
"--skeleton-width": circle ? rem(height) : rem(width),
"--skeleton-radius": circle ? "1000px" : radius === void 0 ? void 0 : getRadius(radius)
}
})
);
var Skeleton = factory((_props, ref) => {
const props = useProps("Skeleton", defaultProps157, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
width,
height,
circle,
visible,
radius,
animate,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Skeleton",
classes: classes73,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver73
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), mod: [{ visible, animate }, mod], ...others });
});
Skeleton.classes = classes73;
Skeleton.displayName = "@mantine/core/Skeleton";
var [SliderProvider, useSliderContext] = createSafeContext(
"SliderProvider was not found in tree"
);
var SliderRoot = React9.forwardRef(
({ size: size4, disabled, variant, color, thumbSize, radius, ...others }, ref) => {
const { getStyles: getStyles2 } = useSliderContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
tabIndex: -1,
variant,
size: size4,
ref,
...getStyles2("root"),
...others
}
);
}
);
SliderRoot.displayName = "@mantine/core/SliderRoot";
var Thumb3 = React9.forwardRef(
({
max: max2,
min: min2,
value,
position,
label,
dragging,
onMouseDown,
onKeyDownCapture,
labelTransitionProps,
labelAlwaysOn,
thumbLabel,
onFocus,
onBlur,
showLabelOnHover,
isHovered,
children = null,
disabled
}, ref) => {
const { getStyles: getStyles2 } = useSliderContext();
const [focused, setFocused] = React9.useState(false);
const isVisible = labelAlwaysOn || dragging || focused || showLabelOnHover && isHovered;
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
tabIndex: 0,
role: "slider",
"aria-label": thumbLabel,
"aria-valuemax": max2,
"aria-valuemin": min2,
"aria-valuenow": value,
ref,
__vars: { "--slider-thumb-offset": `${position}%` },
...getStyles2("thumb", { focusable: true }),
mod: { dragging, disabled },
onFocus: () => {
setFocused(true);
typeof onFocus === "function" && onFocus();
},
onBlur: () => {
setFocused(false);
typeof onBlur === "function" && onBlur();
},
onTouchStart: onMouseDown,
onMouseDown,
onKeyDownCapture,
onClick: (event) => event.stopPropagation(),
children: [
children,
/* @__PURE__ */ jsxRuntime.jsx(
Transition,
{
mounted: label != null && !!isVisible,
transition: "fade",
duration: 0,
...labelTransitionProps,
children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("label", { style: transitionStyles }), children: label })
}
)
]
}
);
}
);
Thumb3.displayName = "@mantine/core/SliderThumb";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/utils/get-position/get-position.mjs
function getPosition({ value, min: min2, max: max2 }) {
const position = (value - min2) / (max2 - min2) * 100;
return Math.min(Math.max(position, 0), 100);
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/Marks/is-mark-filled.mjs
function isMarkFilled({ mark, offset: offset4, value, inverted = false }) {
return inverted ? typeof offset4 === "number" ? mark.value <= offset4 || mark.value >= value : mark.value >= value : typeof offset4 === "number" ? mark.value >= offset4 && mark.value <= value : mark.value <= value;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/Marks/Marks.mjs
function Marks({ marks, min: min2, max: max2, disabled, value, offset: offset4, inverted }) {
const { getStyles: getStyles2 } = useSliderContext();
if (!marks) {
return null;
}
const items = marks.map((mark, index3) => /* @__PURE__ */ React9.createElement(
Box,
{
...getStyles2("markWrapper"),
__vars: { "--mark-offset": `${getPosition({ value: mark.value, min: min2, max: max2 })}%` },
key: index3
},
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("mark"),
mod: { filled: isMarkFilled({ mark, value, offset: offset4, inverted }), disabled }
}
),
mark.label && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("markLabel"), children: mark.label })
));
return /* @__PURE__ */ jsxRuntime.jsx("div", { children: items });
}
Marks.displayName = "@mantine/core/SliderMarks";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/Track/Track.mjs
function Track({
filled,
children,
offset: offset4,
disabled,
marksOffset,
inverted,
containerProps,
...others
}) {
const { getStyles: getStyles2 } = useSliderContext();
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ...getStyles2("trackContainer"), mod: { disabled }, ...containerProps, children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { ...getStyles2("track"), mod: { inverted, disabled }, children: [
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
mod: { inverted, disabled },
__vars: {
"--slider-bar-width": `calc(${filled}% + var(--slider-size))`,
"--slider-bar-offset": `calc(${offset4}% - var(--slider-size))`
},
...getStyles2("bar")
}
),
children,
/* @__PURE__ */ jsxRuntime.jsx(Marks, { ...others, offset: marksOffset, disabled, inverted })
] }) });
}
Track.displayName = "@mantine/core/SliderTrack";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/utils/get-change-value/get-change-value.mjs
function getChangeValue({
value,
containerWidth,
min: min2,
max: max2,
step,
precision
}) {
const left = !containerWidth ? value : Math.min(Math.max(value, 0), containerWidth) / containerWidth;
const dx = left * (max2 - min2);
const nextValue = (dx !== 0 ? Math.round(dx / step) * step : 0) + min2;
const nextValueWithinStep = Math.max(nextValue, min2);
if (precision !== void 0) {
return Number(nextValueWithinStep.toFixed(precision));
}
return nextValueWithinStep;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs
function getFloatingValue(value, precision) {
return parseFloat(value.toFixed(precision));
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/utils/get-precision/get-precision.mjs
function getPrecision(step) {
if (!step) {
return 0;
}
const split = step.toString().split(".");
return split.length > 1 ? split[1].length : 0;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/Slider.module.css.mjs
var classes74 = { "root": "m_dd36362e", "label": "m_c9357328", "thumb": "m_c9a9a60a", "trackContainer": "m_a8645c2", "track": "m_c9ade57f", "bar": "m_38aeed47", "markWrapper": "m_b7b0423a", "mark": "m_dd33bc19", "markLabel": "m_68c77a5b" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/Slider/Slider.mjs
var defaultProps158 = {
radius: "xl",
min: 0,
max: 100,
step: 1,
marks: [],
label: (f) => f,
labelTransitionProps: { transition: "fade", duration: 0 },
labelAlwaysOn: false,
thumbLabel: "",
showLabelOnHover: true,
disabled: false,
scale: (v) => v
};
var varsResolver74 = createVarsResolver(
(theme, { size: size4, color, thumbSize, radius }) => ({
root: {
"--slider-size": getSize(size4, "slider-size"),
"--slider-color": color ? getThemeColor(color, theme) : void 0,
"--slider-radius": radius === void 0 ? void 0 : getRadius(radius),
"--slider-thumb-size": thumbSize !== void 0 ? rem(thumbSize) : "calc(var(--slider-size) * 2)"
}
})
);
var Slider = factory((_props, ref) => {
const props = useProps("Slider", defaultProps158, _props);
const {
classNames,
styles,
value,
onChange,
onChangeEnd,
size: size4,
min: min2,
max: max2,
step,
precision: _precision,
defaultValue,
name,
marks,
label,
labelTransitionProps,
labelAlwaysOn,
thumbLabel,
showLabelOnHover,
thumbChildren,
disabled,
unstyled,
scale,
inverted,
className,
style,
vars,
hiddenInputProps,
...others
} = props;
const getStyles2 = useStyles({
name: "Slider",
props,
classes: classes74,
classNames,
className,
styles,
style,
vars,
varsResolver: varsResolver74,
unstyled
});
const { dir } = useDirection();
const [hovered, setHovered] = React9.useState(false);
const [_value, setValue] = hooks.useUncontrolled({
value: typeof value === "number" ? hooks.clamp(value, min2, max2) : value,
defaultValue: typeof defaultValue === "number" ? hooks.clamp(defaultValue, min2, max2) : defaultValue,
finalValue: hooks.clamp(0, min2, max2),
onChange
});
const valueRef = React9.useRef(_value);
const root = React9.useRef();
const thumb = React9.useRef();
const position = getPosition({ value: _value, min: min2, max: max2 });
const scaledValue = scale(_value);
const _label = typeof label === "function" ? label(scaledValue) : label;
const precision = _precision ?? getPrecision(step);
const handleChange = React9.useCallback(
({ x }) => {
if (!disabled) {
const nextValue = getChangeValue({
value: x,
min: min2,
max: max2,
step,
precision
});
setValue(nextValue);
valueRef.current = nextValue;
}
},
[disabled, min2, max2, step, precision, setValue]
);
const { ref: container, active } = hooks.useMove(
handleChange,
{ onScrubEnd: () => onChangeEnd?.(valueRef.current) },
dir
);
const handleTrackKeydownCapture = (event) => {
if (!disabled) {
switch (event.key) {
case "ArrowUp": {
event.preventDefault();
thumb.current?.focus();
const nextValue = getFloatingValue(
Math.min(Math.max(_value + step, min2), max2),
precision
);
setValue(nextValue);
onChangeEnd?.(nextValue);
break;
}
case "ArrowRight": {
event.preventDefault();
thumb.current?.focus();
const nextValue = getFloatingValue(
Math.min(Math.max(dir === "rtl" ? _value - step : _value + step, min2), max2),
precision
);
setValue(nextValue);
onChangeEnd?.(nextValue);
break;
}
case "ArrowDown": {
event.preventDefault();
thumb.current?.focus();
const nextValue = getFloatingValue(
Math.min(Math.max(_value - step, min2), max2),
precision
);
setValue(nextValue);
onChangeEnd?.(nextValue);
break;
}
case "ArrowLeft": {
event.preventDefault();
thumb.current?.focus();
const nextValue = getFloatingValue(
Math.min(Math.max(dir === "rtl" ? _value + step : _value - step, min2), max2),
precision
);
setValue(nextValue);
onChangeEnd?.(nextValue);
break;
}
case "Home": {
event.preventDefault();
thumb.current?.focus();
setValue(min2);
onChangeEnd?.(min2);
break;
}
case "End": {
event.preventDefault();
thumb.current?.focus();
setValue(max2);
onChangeEnd?.(max2);
break;
}
}
}
};
return /* @__PURE__ */ jsxRuntime.jsx(SliderProvider, { value: { getStyles: getStyles2 }, children: /* @__PURE__ */ jsxRuntime.jsxs(
SliderRoot,
{
...others,
ref: hooks.useMergedRef(ref, root),
onKeyDownCapture: handleTrackKeydownCapture,
onMouseDownCapture: () => root.current?.focus(),
size: size4,
disabled,
children: [
/* @__PURE__ */ jsxRuntime.jsx(
Track,
{
inverted,
offset: 0,
filled: position,
marks,
min: min2,
max: max2,
value: scaledValue,
disabled,
containerProps: {
ref: container,
onMouseEnter: showLabelOnHover ? () => setHovered(true) : void 0,
onMouseLeave: showLabelOnHover ? () => setHovered(false) : void 0
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Thumb3,
{
max: max2,
min: min2,
value: scaledValue,
position,
dragging: active,
label: _label,
ref: thumb,
labelTransitionProps,
labelAlwaysOn,
thumbLabel,
showLabelOnHover,
isHovered: hovered,
disabled,
children: thumbChildren
}
)
}
),
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "hidden", name, value: scaledValue, ...hiddenInputProps })
]
}
) });
});
Slider.classes = classes74;
Slider.displayName = "@mantine/core/Slider";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/utils/get-client-position/get-client-position.mjs
function getClientPosition(event) {
if ("TouchEvent" in window && event instanceof window.TouchEvent) {
const touch = event.touches[0];
return touch.clientX;
}
return event.clientX;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Slider/RangeSlider/RangeSlider.mjs
var varsResolver75 = createVarsResolver(
(theme, { size: size4, color, thumbSize, radius }) => ({
root: {
"--slider-size": getSize(size4, "slider-size"),
"--slider-color": color ? getThemeColor(color, theme) : void 0,
"--slider-radius": radius === void 0 ? void 0 : getRadius(radius),
"--slider-thumb-size": thumbSize !== void 0 ? rem(thumbSize) : "calc(var(--slider-size) * 2)"
}
})
);
var defaultProps159 = {
min: 0,
max: 100,
minRange: 10,
step: 1,
marks: [],
label: (f) => f,
labelTransitionProps: { transition: "fade", duration: 0 },
labelAlwaysOn: false,
showLabelOnHover: true,
disabled: false,
scale: (v) => v
};
var RangeSlider = factory((_props, ref) => {
const props = useProps("RangeSlider", defaultProps159, _props);
const {
classNames,
styles,
value,
onChange,
onChangeEnd,
size: size4,
min: min2,
max: max2,
minRange,
maxRange,
step,
precision: _precision,
defaultValue,
name,
marks,
label,
labelTransitionProps,
labelAlwaysOn,
thumbFromLabel,
thumbToLabel,
showLabelOnHover,
thumbChildren,
disabled,
unstyled,
scale,
inverted,
className,
style,
vars,
hiddenInputProps,
...others
} = props;
const getStyles2 = useStyles({
name: "Slider",
props,
classes: classes74,
classNames,
className,
styles,
style,
vars,
varsResolver: varsResolver75,
unstyled
});
const { dir } = useDirection();
const [focused, setFocused] = React9.useState(-1);
const [hovered, setHovered] = React9.useState(false);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: [min2, max2],
onChange
});
const valueRef = React9.useRef(_value);
const thumbs = React9.useRef([]);
const thumbIndex = React9.useRef(void 0);
const positions = [
getPosition({ value: _value[0], min: min2, max: max2 }),
getPosition({ value: _value[1], min: min2, max: max2 })
];
const precision = _precision ?? getPrecision(step);
const _setValue = (val) => {
setValue(val);
valueRef.current = val;
};
React9.useEffect(
() => {
if (Array.isArray(value)) {
valueRef.current = value;
}
},
Array.isArray(value) ? [value[0], value[1]] : [null, null]
);
const setRangedValue = (val, index3, triggerChangeEnd) => {
const clone = [...valueRef.current];
clone[index3] = val;
if (index3 === 0) {
if (val > clone[1] - (minRange - 1e-9)) {
clone[1] = Math.min(val + minRange, max2);
}
if (val > (max2 - (minRange - 1e-9) || min2)) {
clone[index3] = valueRef.current[index3];
}
if (clone[1] - val > maxRange) {
clone[1] = val + maxRange;
}
}
if (index3 === 1) {
if (val < clone[0] + minRange) {
clone[0] = Math.max(val - minRange, min2);
}
if (val < clone[0] + minRange) {
clone[index3] = valueRef.current[index3];
}
if (val - clone[0] > maxRange) {
clone[0] = val - maxRange;
}
}
clone[0] = getFloatingValue(clone[0], precision);
clone[1] = getFloatingValue(clone[1], precision);
_setValue(clone);
if (triggerChangeEnd) {
onChangeEnd?.(valueRef.current);
}
};
const handleChange = (val) => {
if (!disabled) {
const nextValue = getChangeValue({
value: val,
min: min2,
max: max2,
step,
precision
});
setRangedValue(nextValue, thumbIndex.current, false);
}
};
const { ref: container, active } = hooks.useMove(
({ x }) => handleChange(x),
{ onScrubEnd: () => onChangeEnd?.(valueRef.current) },
dir
);
function handleThumbMouseDown(index3) {
thumbIndex.current = index3;
}
const handleTrackMouseDownCapture = (event) => {
container.current.focus();
const rect = container.current.getBoundingClientRect();
const changePosition = getClientPosition(event.nativeEvent);
const changeValue = getChangeValue({
value: changePosition - rect.left,
max: max2,
min: min2,
step,
containerWidth: rect.width
});
const nearestHandle = Math.abs(_value[0] - changeValue) > Math.abs(_value[1] - changeValue) ? 1 : 0;
const _nearestHandle = dir === "ltr" ? nearestHandle : nearestHandle === 1 ? 0 : 1;
thumbIndex.current = _nearestHandle;
};
const getFocusedThumbIndex = () => {
if (focused !== 1 && focused !== 0) {
setFocused(0);
return 0;
}
return focused;
};
const handleTrackKeydownCapture = (event) => {
if (!disabled) {
switch (event.key) {
case "ArrowUp": {
event.preventDefault();
const focusedIndex = getFocusedThumbIndex();
thumbs.current[focusedIndex].focus();
setRangedValue(
getFloatingValue(
Math.min(Math.max(valueRef.current[focusedIndex] + step, min2), max2),
precision
),
focusedIndex,
true
);
break;
}
case "ArrowRight": {
event.preventDefault();
const focusedIndex = getFocusedThumbIndex();
thumbs.current[focusedIndex].focus();
setRangedValue(
getFloatingValue(
Math.min(
Math.max(
dir === "rtl" ? valueRef.current[focusedIndex] - step : valueRef.current[focusedIndex] + step,
min2
),
max2
),
precision
),
focusedIndex,
true
);
break;
}
case "ArrowDown": {
event.preventDefault();
const focusedIndex = getFocusedThumbIndex();
thumbs.current[focusedIndex].focus();
setRangedValue(
getFloatingValue(
Math.min(Math.max(valueRef.current[focusedIndex] - step, min2), max2),
precision
),
focusedIndex,
true
);
break;
}
case "ArrowLeft": {
event.preventDefault();
const focusedIndex = getFocusedThumbIndex();
thumbs.current[focusedIndex].focus();
setRangedValue(
getFloatingValue(
Math.min(
Math.max(
dir === "rtl" ? valueRef.current[focusedIndex] + step : valueRef.current[focusedIndex] - step,
min2
),
max2
),
precision
),
focusedIndex,
true
);
break;
}
}
}
};
const sharedThumbProps = {
max: max2,
min: min2,
size: size4,
labelTransitionProps,
labelAlwaysOn,
onBlur: () => setFocused(-1)
};
const hasArrayThumbChildren = Array.isArray(thumbChildren);
return /* @__PURE__ */ jsxRuntime.jsx(SliderProvider, { value: { getStyles: getStyles2 }, children: /* @__PURE__ */ jsxRuntime.jsxs(SliderRoot, { ...others, size: size4, ref, disabled, children: [
/* @__PURE__ */ jsxRuntime.jsxs(
Track,
{
offset: positions[0],
marksOffset: _value[0],
filled: positions[1] - positions[0],
marks,
inverted,
min: min2,
max: max2,
value: _value[1],
disabled,
containerProps: {
ref: container,
onMouseEnter: showLabelOnHover ? () => setHovered(true) : void 0,
onMouseLeave: showLabelOnHover ? () => setHovered(false) : void 0,
onTouchStartCapture: handleTrackMouseDownCapture,
onTouchEndCapture: () => {
thumbIndex.current = -1;
},
onMouseDownCapture: handleTrackMouseDownCapture,
onMouseUpCapture: () => {
thumbIndex.current = -1;
},
onKeyDownCapture: handleTrackKeydownCapture
},
children: [
/* @__PURE__ */ jsxRuntime.jsx(
Thumb3,
{
...sharedThumbProps,
value: scale(_value[0]),
position: positions[0],
dragging: active,
label: typeof label === "function" ? label(getFloatingValue(scale(_value[0]), precision)) : label,
ref: (node) => {
thumbs.current[0] = node;
},
thumbLabel: thumbFromLabel,
onMouseDown: () => handleThumbMouseDown(0),
onFocus: () => setFocused(0),
showLabelOnHover,
isHovered: hovered,
disabled,
children: hasArrayThumbChildren ? thumbChildren[0] : thumbChildren
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Thumb3,
{
...sharedThumbProps,
thumbLabel: thumbToLabel,
value: scale(_value[1]),
position: positions[1],
dragging: active,
label: typeof label === "function" ? label(getFloatingValue(scale(_value[1]), precision)) : label,
ref: (node) => {
thumbs.current[1] = node;
},
onMouseDown: () => handleThumbMouseDown(1),
onFocus: () => setFocused(1),
showLabelOnHover,
isHovered: hovered,
disabled,
children: hasArrayThumbChildren ? thumbChildren[1] : thumbChildren
}
)
]
}
),
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "hidden", name: `${name}_from`, value: _value[0], ...hiddenInputProps }),
/* @__PURE__ */ jsxRuntime.jsx("input", { type: "hidden", name: `${name}_to`, value: _value[1], ...hiddenInputProps })
] }) });
});
RangeSlider.classes = classes74;
RangeSlider.displayName = "@mantine/core/RangeSlider";
var defaultProps160 = {};
var Space = factory((props, ref) => {
const { w, h, miw, mih, ...others } = useProps("Space", defaultProps160, props);
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...others, w, miw: miw ?? w, h, mih: mih ?? h });
});
Space.displayName = "@mantine/core/Space";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Spoiler/Spoiler.module.css.mjs
var classes75 = { "root": "m_559cce2d", "content": "m_b912df4e", "control": "m_b9131032" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Spoiler/Spoiler.mjs
var defaultProps161 = {
maxHeight: 100,
initialState: false
};
var varsResolver76 = createVarsResolver((_, { transitionDuration }) => ({
root: {
"--spoiler-transition-duration": transitionDuration !== void 0 ? `${transitionDuration}ms` : void 0
}
}));
var Spoiler = factory((_props, ref) => {
const props = useProps("Spoiler", defaultProps161, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
initialState,
maxHeight,
hideLabel,
showLabel,
children,
controlRef,
transitionDuration,
id,
expanded,
onExpandedChange,
...others
} = props;
const getStyles2 = useStyles({
name: "Spoiler",
classes: classes75,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver76
});
const _id = hooks.useId(id);
const regionId = `${_id}-region`;
const [show, setShowState] = hooks.useUncontrolled({
value: expanded,
defaultValue: initialState,
finalValue: false,
onChange: onExpandedChange
});
const { ref: contentRef, height } = hooks.useElementSize();
const spoilerMoreContent = show ? hideLabel : showLabel;
const spoiler = spoilerMoreContent !== null && maxHeight < height;
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...getStyles2("root"),
id: _id,
ref,
"data-has-spoiler": spoiler || void 0,
...others,
children: [
spoiler && /* @__PURE__ */ jsxRuntime.jsx(
Anchor,
{
component: "button",
type: "button",
ref: controlRef,
onClick: () => setShowState(!show),
"aria-expanded": show,
"aria-controls": regionId,
...getStyles2("control"),
children: spoilerMoreContent
}
),
/* @__PURE__ */ jsxRuntime.jsx(
"div",
{
...getStyles2("content", {
style: { maxHeight: !show ? rem(maxHeight) : height ? rem(height) : void 0 }
}),
"data-reduce-motion": true,
role: "region",
id: regionId,
children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: contentRef, children })
}
)
]
}
);
});
Spoiler.classes = classes75;
Spoiler.displayName = "@mantine/core/Spoiler";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Stack/Stack.module.css.mjs
var classes76 = { "root": "m_6d731127" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Stack/Stack.mjs
var defaultProps162 = {
gap: "md",
align: "stretch",
justify: "flex-start"
};
var varsResolver77 = createVarsResolver((_, { gap, align, justify }) => ({
root: {
"--stack-gap": getSpacing(gap),
"--stack-align": align,
"--stack-justify": justify
}
}));
var Stack = factory((_props, ref) => {
const props = useProps("Stack", defaultProps162, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
align,
justify,
gap,
variant,
...others
} = props;
const getStyles2 = useStyles({
name: "Stack",
props,
classes: classes76,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver77
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), variant, ...others });
});
Stack.classes = classes76;
Stack.displayName = "@mantine/core/Stack";
var [StepperProvider, useStepperContext] = createSafeContext(
"Stepper component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Stepper/StepperCompleted/StepperCompleted.mjs
var StepperCompleted = () => null;
StepperCompleted.displayName = "@mantine/core/StepperCompleted";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Stepper/Stepper.module.css.mjs
var classes77 = { "root": "m_cbb4ea7e", "steps": "m_aaf89d0b", "separator": "m_2a371ac9", "content": "m_78da155d", "step": "m_cbb57068", "step--horizontal": "m_f56b1e2c", "step--vertical": "m_833edb7e", "verticalSeparator": "m_6496b3f3", "stepWrapper": "m_818e70b", "stepIcon": "m_1959ad01", "stepCompletedIcon": "m_a79331dc", "stepBody": "m_1956aa2a", "stepLabel": "m_12051f6c", "stepDescription": "m_164eea74" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Stepper/StepperStep/StepperStep.mjs
var getStepFragment = (Fragment29, step) => {
if (typeof Fragment29 === "function") {
return /* @__PURE__ */ jsxRuntime.jsx(Fragment29, { step: step || 0 });
}
return Fragment29;
};
var defaultProps163 = {
withIcon: true,
allowStepClick: true,
iconPosition: "left"
};
var StepperStep = factory((props, ref) => {
const {
classNames,
className,
style,
styles,
vars,
step,
state,
color,
icon,
completedIcon,
progressIcon,
label,
description,
withIcon,
iconSize,
loading,
allowStepClick,
allowStepSelect,
iconPosition,
orientation,
mod,
...others
} = useProps("StepperStep", defaultProps163, props);
const ctx = useStepperContext();
const theme = useMantineTheme();
const stylesApi = { classNames, styles };
const _icon = state === "stepCompleted" ? null : state === "stepProgress" ? progressIcon : icon;
const dataAttributes = {
"data-progress": state === "stepProgress" || void 0,
"data-completed": state === "stepCompleted" || void 0
};
return /* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
...ctx.getStyles("step", { className, style, variant: ctx.orientation, ...stylesApi }),
mod: [
{ "icon-position": iconPosition || ctx.iconPosition, "allow-click": allowStepClick },
mod
],
ref,
...dataAttributes,
...others,
__vars: { "--step-color": color ? getThemeColor(color, theme) : void 0 },
tabIndex: allowStepClick ? 0 : -1,
children: [
withIcon && /* @__PURE__ */ jsxRuntime.jsxs("span", { ...ctx.getStyles("stepWrapper", stylesApi), children: [
/* @__PURE__ */ jsxRuntime.jsxs("span", { ...ctx.getStyles("stepIcon", stylesApi), ...dataAttributes, children: [
/* @__PURE__ */ jsxRuntime.jsx(Transition, { mounted: state === "stepCompleted", transition: "pop", duration: 200, children: (transitionStyles) => /* @__PURE__ */ jsxRuntime.jsx(
"span",
{
...ctx.getStyles("stepCompletedIcon", { style: transitionStyles, ...stylesApi }),
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
Loader,
{
color: "var(--mantine-color-white)",
size: "calc(var(--stepper-icon-size) / 2)",
...ctx.getStyles("stepLoader", stylesApi)
}
) : getStepFragment(completedIcon, step) || /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { size: "60%" })
}
) }),
state !== "stepCompleted" ? loading ? /* @__PURE__ */ jsxRuntime.jsx(
Loader,
{
...ctx.getStyles("stepLoader", stylesApi),
size: "calc(var(--stepper-icon-size) / 2)",
color
}
) : getStepFragment(_icon || icon, step) : null
] }),
orientation === "vertical" && /* @__PURE__ */ jsxRuntime.jsx(
"span",
{
...ctx.getStyles("verticalSeparator", stylesApi),
"data-active": state === "stepCompleted" || void 0
}
)
] }),
(label || description) && /* @__PURE__ */ jsxRuntime.jsxs(
"span",
{
...ctx.getStyles("stepBody", stylesApi),
"data-orientation": ctx.orientation,
"data-icon-position": iconPosition || ctx.iconPosition,
children: [
label && /* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("stepLabel", stylesApi), children: getStepFragment(label, step) }),
description && /* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("stepDescription", stylesApi), children: getStepFragment(description, step) })
]
}
)
]
}
);
});
StepperStep.classes = classes77;
StepperStep.displayName = "@mantine/core/StepperStep";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Stepper/Stepper.mjs
var defaultProps164 = {
orientation: "horizontal",
iconPosition: "left",
allowNextStepsSelect: true,
wrap: true
};
var varsResolver78 = createVarsResolver(
(theme, { color, iconSize, size: size4, contentPadding, radius, autoContrast }) => ({
root: {
"--stepper-color": color ? getThemeColor(color, theme) : void 0,
"--stepper-icon-color": getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0,
"--stepper-icon-size": iconSize === void 0 ? getSize(size4, "stepper-icon-size") : rem(iconSize),
"--stepper-content-padding": getSpacing(contentPadding),
"--stepper-radius": radius === void 0 ? void 0 : getRadius(radius),
"--stepper-fz": getFontSize(size4),
"--stepper-spacing": getSpacing(size4)
}
})
);
var Stepper = factory((_props, ref) => {
const props = useProps("Stepper", defaultProps164, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
onStepClick,
active,
icon,
completedIcon,
progressIcon,
color,
iconSize,
contentPadding,
orientation,
iconPosition,
size: size4,
radius,
allowNextStepsSelect,
wrap,
autoContrast,
...others
} = props;
const getStyles2 = useStyles({
name: "Stepper",
classes: classes77,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver78
});
const convertedChildren = React9.Children.toArray(children);
const _children = convertedChildren.filter((child) => child.type !== StepperCompleted);
const completedStep = convertedChildren.find((item) => item.type === StepperCompleted);
const items = _children.reduce((acc, item, index3) => {
const state = active === index3 ? "stepProgress" : active > index3 ? "stepCompleted" : "stepInactive";
const shouldAllowSelect = () => {
if (typeof onStepClick !== "function") {
return false;
}
if (typeof item.props.allowStepSelect === "boolean") {
return item.props.allowStepSelect;
}
return state === "stepCompleted" || allowNextStepsSelect;
};
const isStepSelectionEnabled = shouldAllowSelect();
acc.push(
React9.cloneElement(item, {
icon: item.props.icon || icon || index3 + 1,
key: index3,
step: index3,
state,
onClick: () => isStepSelectionEnabled && onStepClick?.(index3),
allowStepClick: isStepSelectionEnabled,
completedIcon: item.props.completedIcon || completedIcon,
progressIcon: item.props.progressIcon || progressIcon,
color: item.props.color || color,
iconSize,
radius,
iconPosition: item.props.iconPosition || iconPosition,
orientation,
unstyled
})
);
if (orientation === "horizontal" && index3 !== _children.length - 1) {
acc.push(
/* @__PURE__ */ React9.createElement(
"div",
{
...getStyles2("separator"),
"data-active": index3 < active || void 0,
"data-orientation": orientation,
key: `separator-${index3}`
}
)
);
}
return acc;
}, []);
const stepContent = _children[active]?.props?.children;
const completedContent = completedStep?.props?.children;
const content = active > _children.length - 1 ? completedContent : stepContent;
return /* @__PURE__ */ jsxRuntime.jsx(StepperProvider, { value: { getStyles: getStyles2, orientation, iconPosition }, children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { ...getStyles2("root"), ref, size: size4, ...others, children: [
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("steps"),
mod: {
orientation,
"icon-position": iconPosition,
wrap: wrap && orientation !== "vertical"
},
children: items
}
),
content && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("content"), children: content })
] }) });
});
Stepper.classes = classes77;
Stepper.displayName = "@mantine/core/Stepper";
Stepper.Completed = StepperCompleted;
Stepper.Step = StepperStep;
var SwitchGroupContext = React9.createContext(null);
var SwitchGroupProvider = SwitchGroupContext.Provider;
var useSwitchGroupContext = () => React9.useContext(SwitchGroupContext);
var defaultProps165 = {};
var SwitchGroup = factory((props, ref) => {
const { value, defaultValue, onChange, size: size4, wrapperProps, children, readOnly, ...others } = useProps("SwitchGroup", defaultProps165, props);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: [],
onChange
});
const handleChange = (event) => {
const itemValue = event.currentTarget.value;
!readOnly && setValue(
_value.includes(itemValue) ? _value.filter((item) => item !== itemValue) : [..._value, itemValue]
);
};
return /* @__PURE__ */ jsxRuntime.jsx(SwitchGroupProvider, { value: { value: _value, onChange: handleChange, size: size4 }, children: /* @__PURE__ */ jsxRuntime.jsx(
Input.Wrapper,
{
size: size4,
ref,
...wrapperProps,
...others,
labelElement: "div",
__staticSelector: "SwitchGroup",
children: /* @__PURE__ */ jsxRuntime.jsx(InputsGroupFieldset, { role: "group", children })
}
) });
});
SwitchGroup.classes = Input.Wrapper.classes;
SwitchGroup.displayName = "@mantine/core/SwitchGroup";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Switch/Switch.module.css.mjs
var classes78 = { "root": "m_5f93f3bb", "input": "m_926b4011", "track": "m_9307d992", "thumb": "m_93039a1d", "trackLabel": "m_8277e082" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Switch/Switch.mjs
var defaultProps166 = {
labelPosition: "right"
};
var varsResolver79 = createVarsResolver((theme, { radius, color, size: size4 }) => ({
root: {
"--switch-radius": radius === void 0 ? void 0 : getRadius(radius),
"--switch-height": getSize(size4, "switch-height"),
"--switch-width": getSize(size4, "switch-width"),
"--switch-thumb-size": getSize(size4, "switch-thumb-size"),
"--switch-label-font-size": getSize(size4, "switch-label-font-size"),
"--switch-track-label-padding": getSize(size4, "switch-track-label-padding"),
"--switch-color": color ? getThemeColor(color, theme) : void 0
}
}));
var Switch = factory((_props, ref) => {
const props = useProps("Switch", defaultProps166, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
color,
label,
offLabel,
onLabel,
id,
size: size4,
radius,
wrapperProps,
thumbIcon,
checked,
defaultChecked,
onChange,
labelPosition,
description,
error: error2,
disabled,
variant,
rootRef,
mod,
...others
} = props;
const ctx = useSwitchGroupContext();
const _size = size4 || ctx?.size;
const getStyles2 = useStyles({
name: "Switch",
props,
classes: classes78,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver79
});
const { styleProps, rest } = extractStyleProps(others);
const uuid = hooks.useId(id);
const contextProps = ctx ? {
checked: ctx.value.includes(rest.value),
onChange: ctx.onChange
} : {};
const [_checked, handleChange] = hooks.useUncontrolled({
value: contextProps.checked ?? checked,
defaultValue: defaultChecked,
finalValue: false
});
return /* @__PURE__ */ jsxRuntime.jsxs(
InlineInput,
{
...getStyles2("root"),
__staticSelector: "Switch",
__stylesApiProps: props,
id: uuid,
size: _size,
labelPosition,
label,
description,
error: error2,
disabled,
bodyElement: "label",
labelElement: "span",
classNames,
styles,
unstyled,
"data-checked": contextProps.checked || void 0,
variant,
ref: rootRef,
mod,
...styleProps,
...wrapperProps,
children: [
/* @__PURE__ */ jsxRuntime.jsx(
"input",
{
...rest,
disabled,
checked: _checked,
onChange: (event) => {
ctx ? contextProps.onChange?.(event) : onChange?.(event);
handleChange(event.currentTarget.checked);
},
id: uuid,
ref,
type: "checkbox",
role: "switch",
...getStyles2("input")
}
),
/* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
"aria-hidden": "true",
mod: { error: error2, "label-position": labelPosition, "without-labels": !onLabel && !offLabel },
...getStyles2("track"),
children: [
/* @__PURE__ */ jsxRuntime.jsx(Box, { component: "span", mod: "reduce-motion", ...getStyles2("thumb"), children: thumbIcon }),
/* @__PURE__ */ jsxRuntime.jsx("span", { ...getStyles2("trackLabel"), children: _checked ? onLabel : offLabel })
]
}
)
]
}
);
});
Switch.classes = { ...classes78, ...InlineInputClasses };
Switch.displayName = "@mantine/core/Switch";
Switch.Group = SwitchGroup;
var [TableProvider, useTableContext] = createSafeContext(
"Table component was not found in the tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Table/Table.module.css.mjs
var classes79 = { "table": "m_b23fa0ef", "th": "m_4e7aa4f3", "tr": "m_4e7aa4fd", "td": "m_4e7aa4ef", "tbody": "m_b2404537", "thead": "m_b242d975", "caption": "m_9e5a3ac7", "scrollContainer": "m_a100c15", "scrollContainerInner": "m_62259741" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Table/Table.components.mjs
function getDataAttributes(ctx, options) {
if (!options) {
return void 0;
}
const data = {};
if (options.columnBorder && ctx.withColumnBorders) {
data["data-with-column-border"] = true;
}
if (options.rowBorder && ctx.withRowBorders) {
data["data-with-row-border"] = true;
}
if (options.striped && ctx.striped) {
data["data-striped"] = ctx.striped;
}
if (options.highlightOnHover && ctx.highlightOnHover) {
data["data-hover"] = true;
}
if (options.captionSide && ctx.captionSide) {
data["data-side"] = ctx.captionSide;
}
if (options.stickyHeader && ctx.stickyHeader) {
data["data-sticky"] = true;
}
return data;
}
function tableElement(element, options) {
const name = `Table${element.charAt(0).toUpperCase()}${element.slice(1)}`;
const Component = factory((_props, ref) => {
const props = useProps(name, {}, _props);
const { classNames, className, style, styles, ...others } = props;
const ctx = useTableContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: element,
ref,
...getDataAttributes(ctx, options),
...ctx.getStyles(element, { className, classNames, style, styles, props }),
...others
}
);
});
Component.displayName = `@mantine/core/${name}`;
Component.classes = classes79;
return Component;
}
var TableTh = tableElement("th", { columnBorder: true });
var TableTd = tableElement("td", { columnBorder: true });
var TableTr = tableElement("tr", {
rowBorder: true,
striped: true,
highlightOnHover: true
});
var TableThead = tableElement("thead", { stickyHeader: true });
var TableTbody = tableElement("tbody");
var TableTfoot = tableElement("tfoot");
var TableCaption = tableElement("caption", { captionSide: true });
function TableDataRenderer({ data }) {
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
data.caption && /* @__PURE__ */ jsxRuntime.jsx(TableCaption, { children: data.caption }),
data.head && /* @__PURE__ */ jsxRuntime.jsx(TableThead, { children: /* @__PURE__ */ jsxRuntime.jsx(TableTr, { children: data.head.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(TableTh, { children: item }, index3)) }) }),
data.body && /* @__PURE__ */ jsxRuntime.jsx(TableTbody, { children: data.body.map((row, rowIndex) => /* @__PURE__ */ jsxRuntime.jsx(TableTr, { children: row.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(TableTd, { children: item }, index3)) }, rowIndex)) }),
data.foot && /* @__PURE__ */ jsxRuntime.jsx(TableTfoot, { children: /* @__PURE__ */ jsxRuntime.jsx(TableTr, { children: data.foot.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(TableTh, { children: item }, index3)) }) })
] });
}
TableDataRenderer.displayName = "@mantine/core/TableDataRenderer";
var defaultProps167 = {
type: "scrollarea"
};
var varsResolver80 = createVarsResolver((_, { minWidth, type }) => ({
scrollContainer: {
"--table-min-width": rem(minWidth),
"--table-overflow": type === "native" ? "auto" : void 0
}
}));
var TableScrollContainer = factory((_props, ref) => {
const props = useProps("TableScrollContainer", defaultProps167, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
minWidth,
type,
...others
} = props;
const getStyles2 = useStyles({
name: "TableScrollContainer",
classes: classes79,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver80,
rootSelector: "scrollContainer"
});
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: type === "scrollarea" ? ScrollArea : "div",
...type === "scrollarea" ? { offsetScrollbars: "x" } : {},
ref,
...getStyles2("scrollContainer"),
...others,
children: /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles2("scrollContainerInner"), children })
}
);
});
TableScrollContainer.classes = classes79;
TableScrollContainer.displayName = "@mantine/core/TableScrollContainer";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Table/Table.mjs
var defaultProps168 = {
withRowBorders: true,
verticalSpacing: 7
};
var varsResolver81 = createVarsResolver(
(theme, {
layout,
captionSide,
horizontalSpacing,
verticalSpacing,
borderColor,
stripedColor,
highlightOnHoverColor,
striped,
highlightOnHover,
stickyHeaderOffset,
stickyHeader
}) => ({
table: {
"--table-layout": layout,
"--table-caption-side": captionSide,
"--table-horizontal-spacing": getSpacing(horizontalSpacing),
"--table-vertical-spacing": getSpacing(verticalSpacing),
"--table-border-color": borderColor ? getThemeColor(borderColor, theme) : void 0,
"--table-striped-color": striped && stripedColor ? getThemeColor(stripedColor, theme) : void 0,
"--table-highlight-on-hover-color": highlightOnHover && highlightOnHoverColor ? getThemeColor(highlightOnHoverColor, theme) : void 0,
"--table-sticky-header-offset": stickyHeader ? rem(stickyHeaderOffset) : void 0
}
})
);
var Table = factory((_props, ref) => {
const props = useProps("Table", defaultProps168, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
horizontalSpacing,
verticalSpacing,
captionSide,
stripedColor,
highlightOnHoverColor,
striped,
highlightOnHover,
withColumnBorders,
withRowBorders,
withTableBorder,
borderColor,
layout,
variant,
data,
children,
stickyHeader,
stickyHeaderOffset,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Table",
props,
className,
style,
classes: classes79,
classNames,
styles,
unstyled,
rootSelector: "table",
vars,
varsResolver: varsResolver81
});
return /* @__PURE__ */ jsxRuntime.jsx(
TableProvider,
{
value: {
getStyles: getStyles2,
stickyHeader,
striped: striped === true ? "odd" : striped || void 0,
highlightOnHover,
withColumnBorders,
withRowBorders,
captionSide: captionSide || "bottom"
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "table",
variant,
ref,
mod: [{ "data-with-table-border": withTableBorder }, mod],
...getStyles2("table"),
...others,
children: children || !!data && /* @__PURE__ */ jsxRuntime.jsx(TableDataRenderer, { data })
}
)
}
);
});
Table.classes = classes79;
Table.displayName = "@mantine/core/Table";
Table.Td = TableTd;
Table.Th = TableTh;
Table.Tr = TableTr;
Table.Thead = TableThead;
Table.Tbody = TableTbody;
Table.Tfoot = TableTfoot;
Table.Caption = TableCaption;
Table.ScrollContainer = TableScrollContainer;
Table.DataRenderer = TableDataRenderer;
var [TabsProvider, useTabsContext] = createSafeContext(
"Tabs component was not found in the tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tabs/Tabs.module.css.mjs
var classes80 = { "root": "m_89d60db1", "list--default": "m_576c9d4", "list": "m_89d33d6d", "panel": "m_b0c91715", "tab": "m_4ec4dce6", "tabSection": "m_fc420b1f", "tab--default": "m_539e827b", "list--outline": "m_6772fbd5", "tab--outline": "m_b59ab47c", "tab--pills": "m_c3381914" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tabs/TabsList/TabsList.mjs
var defaultProps169 = {};
var TabsList = factory((_props, ref) => {
const props = useProps("TabsList", defaultProps169, _props);
const { children, className, grow, justify, classNames, styles, style, mod, ...others } = props;
const ctx = useTabsContext();
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...others,
...ctx.getStyles("list", {
className,
style,
classNames,
styles,
props,
variant: ctx.variant
}),
ref,
role: "tablist",
variant: ctx.variant,
mod: [
{
grow,
orientation: ctx.orientation,
placement: ctx.orientation === "vertical" && ctx.placement,
inverted: ctx.inverted
},
mod
],
"aria-orientation": ctx.orientation,
__vars: { "--tabs-justify": justify },
children
}
);
});
TabsList.classes = classes80;
TabsList.displayName = "@mantine/core/TabsList";
var defaultProps170 = {};
var TabsPanel = factory((_props, ref) => {
const props = useProps("TabsPanel", defaultProps170, _props);
const { children, className, value, classNames, styles, style, mod, keepMounted, ...others } = props;
const ctx = useTabsContext();
const active = ctx.value === value;
const content = ctx.keepMounted || keepMounted ? children : active ? children : null;
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...others,
...ctx.getStyles("panel", {
className,
classNames,
styles,
style: [style, !active ? { display: "none" } : void 0],
props
}),
ref,
mod: [{ orientation: ctx.orientation }, mod],
role: "tabpanel",
id: ctx.getPanelId(value),
"aria-labelledby": ctx.getTabId(value),
children: content
}
);
});
TabsPanel.classes = classes80;
TabsPanel.displayName = "@mantine/core/TabsPanel";
var defaultProps171 = {};
var TabsTab = factory((_props, ref) => {
const props = useProps("TabsTab", defaultProps171, _props);
const {
className,
children,
rightSection,
leftSection,
value,
onClick,
onKeyDown,
disabled,
color,
style,
classNames,
styles,
vars,
mod,
...others
} = props;
const theme = useMantineTheme();
const { dir } = useDirection();
const ctx = useTabsContext();
const active = value === ctx.value;
const activateTab = (event) => {
ctx.onChange(ctx.allowTabDeactivation ? value === ctx.value ? null : value : value);
onClick?.(event);
};
const stylesApiProps = { classNames, styles, props };
return /* @__PURE__ */ jsxRuntime.jsxs(
UnstyledButton,
{
...others,
...ctx.getStyles("tab", { className, style, variant: ctx.variant, ...stylesApiProps }),
disabled,
unstyled: ctx.unstyled,
variant: ctx.variant,
mod: [
{
active,
disabled,
orientation: ctx.orientation,
inverted: ctx.inverted,
placement: ctx.orientation === "vertical" && ctx.placement
},
mod
],
ref,
role: "tab",
id: ctx.getTabId(value),
"aria-selected": active,
tabIndex: active || ctx.value === null ? 0 : -1,
"aria-controls": ctx.getPanelId(value),
onClick: activateTab,
__vars: { "--tabs-color": color ? getThemeColor(color, theme) : void 0 },
onKeyDown: createScopedKeydownHandler({
siblingSelector: '[role="tab"]',
parentSelector: '[role="tablist"]',
activateOnFocus: ctx.activateTabWithKeyboard,
loop: ctx.loop,
orientation: ctx.orientation || "horizontal",
dir,
onKeyDown
}),
children: [
leftSection && /* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("tabSection", stylesApiProps), "data-position": "left", children: leftSection }),
children && /* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("tabLabel", stylesApiProps), children }),
rightSection && /* @__PURE__ */ jsxRuntime.jsx("span", { ...ctx.getStyles("tabSection", stylesApiProps), "data-position": "right", children: rightSection })
]
}
);
});
TabsTab.classes = classes80;
TabsTab.displayName = "@mantine/core/TabsTab";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tabs/Tabs.mjs
var VALUE_ERROR = "Tabs.Tab or Tabs.Panel component was rendered with invalid value or without value";
var defaultProps172 = {
keepMounted: true,
orientation: "horizontal",
loop: true,
activateTabWithKeyboard: true,
allowTabDeactivation: false,
unstyled: false,
inverted: false,
variant: "default",
placement: "left"
};
var varsResolver82 = createVarsResolver((theme, { radius, color, autoContrast }) => ({
root: {
"--tabs-radius": getRadius(radius),
"--tabs-color": getThemeColor(color, theme),
"--tabs-text-color": getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0
}
}));
var Tabs = factory((_props, ref) => {
const props = useProps("Tabs", defaultProps172, _props);
const {
defaultValue,
value,
onChange,
orientation,
children,
loop,
id,
activateTabWithKeyboard,
allowTabDeactivation,
variant,
color,
radius,
inverted,
placement,
keepMounted,
classNames,
styles,
unstyled,
className,
style,
vars,
autoContrast,
mod,
...others
} = props;
const uid = hooks.useId(id);
const [currentTab, setCurrentTab] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: null,
onChange
});
const getStyles2 = useStyles({
name: "Tabs",
props,
classes: classes80,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver82
});
return /* @__PURE__ */ jsxRuntime.jsx(
TabsProvider,
{
value: {
placement,
value: currentTab,
orientation,
id: uid,
loop,
activateTabWithKeyboard,
getTabId: getSafeId(`${uid}-tab`, VALUE_ERROR),
getPanelId: getSafeId(`${uid}-panel`, VALUE_ERROR),
onChange: setCurrentTab,
allowTabDeactivation,
variant,
color,
radius,
inverted,
keepMounted,
unstyled,
getStyles: getStyles2
},
children: /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
ref,
id: uid,
variant,
mod: [
{
orientation,
inverted: orientation === "horizontal" && inverted,
placement: orientation === "vertical" && placement
},
mod
],
...getStyles2("root"),
...others,
children
}
)
}
);
});
Tabs.classes = classes80;
Tabs.displayName = "@mantine/core/Tabs";
Tabs.Tab = TabsTab;
Tabs.Panel = TabsPanel;
Tabs.List = TabsList;
function filterPickedTags({ data, value }) {
const normalizedValue = value.map((item) => item.trim().toLowerCase());
const filtered = data.reduce((acc, item) => {
if (isOptionsGroup(item)) {
acc.push({
group: item.group,
items: item.items.filter(
(option) => normalizedValue.indexOf(option.label.toLowerCase().trim()) === -1
)
});
} else if (normalizedValue.indexOf(item.label.toLowerCase().trim()) === -1) {
acc.push(item);
}
return acc;
}, []);
return filtered;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/TagsInput/get-splitted-tags.mjs
function splitTags(splitChars, value) {
if (!splitChars) {
return [value];
}
return value.split(new RegExp(`[${splitChars.join("")}]`)).map((tag) => tag.trim()).filter((tag) => tag !== "");
}
function getSplittedTags({
splitChars,
allowDuplicates,
maxTags,
value,
currentTags
}) {
const splitted = splitTags(splitChars, value);
const merged = allowDuplicates ? [...currentTags, ...splitted] : [.../* @__PURE__ */ new Set([...currentTags, ...splitted])];
return maxTags ? merged.slice(0, maxTags) : merged;
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/TagsInput/TagsInput.mjs
var defaultProps173 = {
maxTags: Infinity,
allowDuplicates: false,
acceptValueOnBlur: true,
splitChars: [","],
hiddenInputValuesDivider: ","
};
var TagsInput = factory((_props, ref) => {
const props = useProps("TagsInput", defaultProps173, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
size: size4,
value,
defaultValue,
onChange,
onKeyDown,
maxTags,
allowDuplicates,
onDuplicate,
variant,
data,
dropdownOpened,
defaultDropdownOpened,
onDropdownOpen,
onDropdownClose,
selectFirstOptionOnChange,
onOptionSubmit,
comboboxProps,
filter,
limit,
withScrollArea,
maxDropdownHeight,
searchValue,
defaultSearchValue,
onSearchChange,
readOnly,
disabled,
splitChars,
onFocus,
onBlur,
onPaste,
radius,
rightSection,
rightSectionWidth,
rightSectionPointerEvents,
rightSectionProps,
leftSection,
leftSectionWidth,
leftSectionPointerEvents,
leftSectionProps,
inputContainer,
inputWrapperOrder,
withAsterisk,
required,
labelProps,
descriptionProps,
errorProps,
wrapperProps,
description,
label,
error: error2,
withErrorStyles,
name,
form,
id,
clearable,
clearButtonProps,
hiddenInputProps,
hiddenInputValuesDivider,
mod,
renderOption,
onRemove,
onClear,
scrollAreaProps,
acceptValueOnBlur,
...others
} = props;
const _id = hooks.useId(id);
const parsedData = getParsedComboboxData(data);
const optionsLockup = getOptionsLockup(parsedData);
const inputRef = React9.useRef(null);
const _ref = hooks.useMergedRef(inputRef, ref);
const combobox = useCombobox({
opened: dropdownOpened,
defaultOpened: defaultDropdownOpened,
onDropdownOpen,
onDropdownClose: () => {
onDropdownClose?.();
combobox.resetSelectedOption();
}
});
const {
styleProps,
rest: { type, autoComplete, ...rest }
} = extractStyleProps(others);
const [_value, setValue] = hooks.useUncontrolled({
value,
defaultValue,
finalValue: [],
onChange
});
const [_searchValue, setSearchValue] = hooks.useUncontrolled({
value: searchValue,
defaultValue: defaultSearchValue,
finalValue: "",
onChange: onSearchChange
});
const getStyles2 = useStyles({
name: "TagsInput",
classes: {},
props,
classNames,
styles,
unstyled
});
const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
props,
styles,
classNames
});
const handleValueSelect = (val) => {
const isDuplicate = _value.some((tag) => tag.toLowerCase() === val.toLowerCase());
if (isDuplicate) {
onDuplicate?.(val);
}
if ((!isDuplicate || isDuplicate && allowDuplicates) && _value.length < maxTags) {
onOptionSubmit?.(val);
setSearchValue("");
if (val.length > 0) {
setValue([..._value, val]);
}
}
};
const handleInputKeydown = (event) => {
onKeyDown?.(event);
if (event.isPropagationStopped()) {
return;
}
const inputValue = _searchValue.trim();
const { length } = inputValue;
if (splitChars.includes(event.key) && length > 0) {
setValue(
getSplittedTags({
splitChars,
allowDuplicates,
maxTags,
value: _searchValue,
currentTags: _value
})
);
setSearchValue("");
event.preventDefault();
}
if (event.key === "Enter" && length > 0 && !event.nativeEvent.isComposing) {
event.preventDefault();
const hasActiveSelection = !!document.querySelector(
`#${combobox.listId} [data-combobox-option][data-combobox-selected]`
);
if (hasActiveSelection) {
return;
}
handleValueSelect(inputValue);
}
if (event.key === "Backspace" && length === 0 && _value.length > 0 && !event.nativeEvent.isComposing) {
onRemove?.(_value[_value.length - 1]);
setValue(_value.slice(0, _value.length - 1));
}
};
const handlePaste = (event) => {
onPaste?.(event);
event.preventDefault();
if (event.clipboardData) {
const pastedText = event.clipboardData.getData("text/plain");
setValue(
getSplittedTags({
splitChars,
allowDuplicates,
maxTags,
value: `${_searchValue}${pastedText}`,
currentTags: _value
})
);
setSearchValue("");
}
};
const values2 = _value.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(
Pill,
{
withRemoveButton: !readOnly,
onRemove: () => {
_value.splice(index3, 1);
setValue([..._value]);
onRemove?.(item);
},
unstyled,
disabled,
...getStyles2("pill"),
children: item
},
`${item}-${index3}`
));
React9.useEffect(() => {
if (selectFirstOptionOnChange) {
combobox.selectFirstOption();
}
}, [selectFirstOptionOnChange, _value, _searchValue]);
const clearButton = clearable && _value.length > 0 && !disabled && !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
Combobox.ClearButton,
{
size: size4,
...clearButtonProps,
onClear: () => {
setValue([]);
setSearchValue("");
inputRef.current?.focus();
combobox.openDropdown();
onClear?.();
}
}
);
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
/* @__PURE__ */ jsxRuntime.jsxs(
Combobox,
{
store: combobox,
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
size: size4,
readOnly,
__staticSelector: "TagsInput",
onOptionSubmit: (val) => {
onOptionSubmit?.(val);
setSearchValue("");
_value.length < maxTags && setValue([..._value, optionsLockup[val].label]);
combobox.resetSelectedOption();
},
...comboboxProps,
children: [
/* @__PURE__ */ jsxRuntime.jsx(Combobox.DropdownTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(
PillsInput,
{
...styleProps,
__staticSelector: "TagsInput",
classNames: resolvedClassNames,
styles: resolvedStyles,
unstyled,
size: size4,
className,
style,
variant,
disabled,
radius,
rightSection: rightSection || clearButton,
rightSectionWidth,
rightSectionPointerEvents,
rightSectionProps,
leftSection,
leftSectionWidth,
leftSectionPointerEvents,
leftSectionProps,
inputContainer,
inputWrapperOrder,
withAsterisk,
required,
labelProps,
descriptionProps,
errorProps,
wrapperProps,
description,
label,
error: error2,
multiline: true,
withErrorStyles,
__stylesApiProps: { ...props, multiline: true },
id: _id,
mod,
children: /* @__PURE__ */ jsxRuntime.jsxs(Pill.Group, { disabled, unstyled, ...getStyles2("pillsList"), children: [
values2,
/* @__PURE__ */ jsxRuntime.jsx(Combobox.EventsTarget, { autoComplete, children: /* @__PURE__ */ jsxRuntime.jsx(
PillsInput.Field,
{
...rest,
ref: _ref,
...getStyles2("inputField"),
unstyled,
onKeyDown: handleInputKeydown,
onFocus: (event) => {
onFocus?.(event);
combobox.openDropdown();
},
onBlur: (event) => {
onBlur?.(event);
acceptValueOnBlur && handleValueSelect(_searchValue);
combobox.closeDropdown();
},
onPaste: handlePaste,
value: _searchValue,
onChange: (event) => setSearchValue(event.currentTarget.value),
required: required && _value.length === 0,
disabled,
readOnly,
id: _id
}
) })
] })
}
) }),
/* @__PURE__ */ jsxRuntime.jsx(
OptionsDropdown,
{
data: filterPickedTags({ data: parsedData, value: _value }),
hidden: readOnly || disabled,
filter,
search: _searchValue,
limit,
hiddenWhenEmpty: true,
withScrollArea,
maxDropdownHeight,
unstyled,
labelId: label ? `${_id}-label` : void 0,
"aria-label": label ? void 0 : others["aria-label"],
renderOption,
scrollAreaProps
}
)
]
}
),
/* @__PURE__ */ jsxRuntime.jsx(
Combobox.HiddenInput,
{
name,
form,
value: _value,
valuesDivider: hiddenInputValuesDivider,
disabled,
...hiddenInputProps
}
)
] });
});
TagsInput.classes = { ...InputBase.classes, ...Combobox.classes };
TagsInput.displayName = "@mantine/core/TagsInput";
var defaultProps174 = {};
var TextInput = factory((props, ref) => {
const _props = useProps("TextInput", defaultProps174, props);
return /* @__PURE__ */ jsxRuntime.jsx(InputBase, { component: "input", ref, ..._props, __staticSelector: "TextInput" });
});
TextInput.classes = InputBase.classes;
TextInput.displayName = "@mantine/core/TextInput";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.module.css.mjs
var classes81 = { "root": "m_7341320d" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.mjs
var defaultProps175 = {};
var varsResolver83 = createVarsResolver(
(theme, { size: size4, radius, variant, gradient, color, autoContrast }) => {
const colors = theme.variantColorResolver({
color: color || theme.primaryColor,
theme,
gradient,
variant: variant || "filled",
autoContrast
});
return {
root: {
"--ti-size": getSize(size4, "ti-size"),
"--ti-radius": radius === void 0 ? void 0 : getRadius(radius),
"--ti-bg": color || variant ? colors.background : void 0,
"--ti-color": color || variant ? colors.color : void 0,
"--ti-bd": color || variant ? colors.border : void 0
}
};
}
);
var ThemeIcon = factory((_props, ref) => {
const props = useProps("ThemeIcon", defaultProps175, _props);
const { classNames, className, style, styles, unstyled, vars, autoContrast, ...others } = props;
const getStyles2 = useStyles({
name: "ThemeIcon",
classes: classes81,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver83
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), ...others });
});
ThemeIcon.classes = classes81;
ThemeIcon.displayName = "@mantine/core/ThemeIcon";
var [TimelineProvider, useTimelineContext] = createSafeContext(
"Timeline component was not found in tree"
);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Timeline/Timeline.module.css.mjs
var classes82 = { "root": "m_43657ece", "itemTitle": "m_2ebe8099", "item": "m_436178ff", "itemBullet": "m_8affcee1", "itemBody": "m_540e8f41" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Timeline/TimelineItem/TimelineItem.mjs
var defaultProps176 = {};
var TimelineItem = factory((_props, ref) => {
const props = useProps("TimelineItem", defaultProps176, _props);
const {
classNames,
className,
style,
styles,
vars,
__active,
__align,
__lineActive,
__vars,
bullet,
radius,
color,
lineVariant,
children,
title,
mod,
...others
} = props;
const ctx = useTimelineContext();
const theme = useMantineTheme();
const stylesApiProps = { classNames, styles };
return /* @__PURE__ */ jsxRuntime.jsxs(
Box,
{
...ctx.getStyles("item", { ...stylesApiProps, className, style }),
mod: [{ "line-active": __lineActive, active: __active }, mod],
ref,
__vars: {
"--tli-radius": radius ? getRadius(radius) : void 0,
"--tli-color": color ? getThemeColor(color, theme) : void 0,
"--tli-border-style": lineVariant || void 0
},
...others,
children: [
/* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...ctx.getStyles("itemBullet", stylesApiProps),
mod: { "with-child": !!bullet, align: __align, active: __active },
children: bullet
}
),
/* @__PURE__ */ jsxRuntime.jsxs("div", { ...ctx.getStyles("itemBody", stylesApiProps), children: [
title && /* @__PURE__ */ jsxRuntime.jsx("div", { ...ctx.getStyles("itemTitle", stylesApiProps), children: title }),
/* @__PURE__ */ jsxRuntime.jsx("div", { ...ctx.getStyles("itemContent", stylesApiProps), children })
] })
]
}
);
});
TimelineItem.classes = classes82;
TimelineItem.displayName = "@mantine/core/TimelineItem";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Timeline/Timeline.mjs
var defaultProps177 = {
active: -1,
align: "left",
reverseActive: false
};
var varsResolver84 = createVarsResolver(
(theme, { bulletSize, lineWidth, radius, color, autoContrast }) => ({
root: {
"--tl-bullet-size": rem(bulletSize),
"--tl-line-width": rem(lineWidth),
"--tl-radius": radius === void 0 ? void 0 : getRadius(radius),
"--tl-color": color ? getThemeColor(color, theme) : void 0,
"--tl-icon-color": getAutoContrastValue(autoContrast, theme) ? getContrastColor({ color, theme, autoContrast }) : void 0
}
})
);
var Timeline = factory((_props, ref) => {
const props = useProps("Timeline", defaultProps177, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
children,
active,
color,
radius,
bulletSize,
align,
lineWidth,
reverseActive,
mod,
autoContrast,
...others
} = props;
const getStyles2 = useStyles({
name: "Timeline",
classes: classes82,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver84
});
const _children = React9.Children.toArray(children);
const items = _children.map(
(item, index3) => React9.cloneElement(item, {
unstyled,
__align: align,
__active: item.props?.active || (reverseActive ? active >= _children.length - index3 - 1 : active >= index3),
__lineActive: item.props?.lineActive || (reverseActive ? active >= _children.length - index3 - 1 : active - 1 >= index3)
})
);
return /* @__PURE__ */ jsxRuntime.jsx(TimelineProvider, { value: { getStyles: getStyles2 }, children: /* @__PURE__ */ jsxRuntime.jsx(Box, { ...getStyles2("root"), mod: [{ align }, mod], ref, ...others, children: items }) });
});
Timeline.classes = classes82;
Timeline.displayName = "@mantine/core/Timeline";
Timeline.Item = TimelineItem;
var headings3 = ["h1", "h2", "h3", "h4", "h5", "h6"];
var sizes = ["xs", "sm", "md", "lg", "xl"];
function getTitleSize(order, size4) {
const titleSize = size4 !== void 0 ? size4 : `h${order}`;
if (headings3.includes(titleSize)) {
return {
fontSize: `var(--mantine-${titleSize}-font-size)`,
fontWeight: `var(--mantine-${titleSize}-font-weight)`,
lineHeight: `var(--mantine-${titleSize}-line-height)`
};
} else if (sizes.includes(titleSize)) {
return {
fontSize: `var(--mantine-font-size-${titleSize})`,
fontWeight: `var(--mantine-h${order}-font-weight)`,
lineHeight: `var(--mantine-h${order}-line-height)`
};
}
return {
fontSize: rem(titleSize),
fontWeight: `var(--mantine-h${order}-font-weight)`,
lineHeight: `var(--mantine-h${order}-line-height)`
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Title/Title.module.css.mjs
var classes83 = { "root": "m_8a5d1357" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Title/Title.mjs
var defaultProps178 = {
order: 1
};
var varsResolver85 = createVarsResolver((_, { order, size: size4, lineClamp, textWrap }) => {
const sizeVariables = getTitleSize(order, size4);
return {
root: {
"--title-fw": sizeVariables.fontWeight,
"--title-lh": sizeVariables.lineHeight,
"--title-fz": sizeVariables.fontSize,
"--title-line-clamp": typeof lineClamp === "number" ? lineClamp.toString() : void 0,
"--title-text-wrap": textWrap
}
};
});
var Title = factory((_props, ref) => {
const props = useProps("Title", defaultProps178, _props);
const {
classNames,
className,
style,
styles,
unstyled,
order,
vars,
size: size4,
variant,
lineClamp,
textWrap,
mod,
...others
} = props;
const getStyles2 = useStyles({
name: "Title",
props,
classes: classes83,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver85
});
if (![1, 2, 3, 4, 5, 6].includes(order)) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
...getStyles2("root"),
component: `h${order}`,
variant,
ref,
mod: [{ order, "data-line-clamp": typeof lineClamp === "number" }, mod],
size: size4,
...others
}
);
});
Title.classes = classes83;
Title.displayName = "@mantine/core/Title";
function getValuesRange(anchor, value, flatValues) {
if (!anchor || !value) {
return [];
}
const anchorIndex = flatValues.indexOf(anchor);
const valueIndex = flatValues.indexOf(value);
const start = Math.min(anchorIndex, valueIndex);
const end = Math.max(anchorIndex, valueIndex);
return flatValues.slice(start, end + 1);
}
function TreeNode({
node,
getStyles: getStyles2,
rootIndex,
controller,
expandOnClick,
selectOnClick,
isSubtree,
level = 1,
renderNode,
flatValues,
allowRangeSelection,
expandOnSpace
}) {
const ref = React9.useRef(null);
const nested = (node.children || []).map((child) => /* @__PURE__ */ jsxRuntime.jsx(
TreeNode,
{
node: child,
flatValues,
getStyles: getStyles2,
rootIndex: void 0,
level: level + 1,
controller,
expandOnClick,
isSubtree: true,
renderNode,
selectOnClick,
allowRangeSelection,
expandOnSpace
},
child.value
));
const handleKeyDown = (event) => {
if (event.nativeEvent.code === "ArrowRight") {
event.stopPropagation();
event.preventDefault();
if (controller.expandedState[node.value]) {
event.currentTarget.querySelector("[role=treeitem]")?.focus();
} else {
controller.expand(node.value);
}
}
if (event.nativeEvent.code === "ArrowLeft") {
event.stopPropagation();
event.preventDefault();
if (controller.expandedState[node.value] && (node.children || []).length > 0) {
controller.collapse(node.value);
} else if (isSubtree) {
findElementAncestor(event.currentTarget, "[role=treeitem]")?.focus();
}
}
if (event.nativeEvent.code === "ArrowDown" || event.nativeEvent.code === "ArrowUp") {
const root = findElementAncestor(event.currentTarget, "[data-tree-root]");
if (!root) {
return;
}
event.stopPropagation();
event.preventDefault();
const nodes = Array.from(root.querySelectorAll("[role=treeitem]"));
const index3 = nodes.indexOf(event.currentTarget);
if (index3 === -1) {
return;
}
const nextIndex = event.nativeEvent.code === "ArrowDown" ? index3 + 1 : index3 - 1;
nodes[nextIndex]?.focus();
if (event.shiftKey) {
const selectNode = nodes[nextIndex];
if (selectNode) {
controller.setSelectedState(
getValuesRange(controller.anchorNode, selectNode.dataset.value, flatValues)
);
}
}
}
if (event.nativeEvent.code === "Space" && expandOnSpace) {
event.stopPropagation();
event.preventDefault();
controller.toggleExpanded(node.value);
}
};
const handleNodeClick = (event) => {
event.stopPropagation();
if (allowRangeSelection && event.shiftKey && controller.anchorNode) {
controller.setSelectedState(getValuesRange(controller.anchorNode, node.value, flatValues));
ref.current?.focus();
} else {
expandOnClick && controller.toggleExpanded(node.value);
selectOnClick && controller.select(node.value);
ref.current?.focus();
}
};
const selected = controller.selectedState.includes(node.value);
const elementProps = {
...getStyles2("label"),
onClick: handleNodeClick,
"data-selected": selected || void 0,
"data-value": node.value,
"data-hovered": controller.hoveredNode === node.value || void 0
};
return /* @__PURE__ */ jsxRuntime.jsxs(
"li",
{
...getStyles2("node", {
style: { "--label-offset": `calc(var(--level-offset) * ${level - 1})` }
}),
role: "treeitem",
"aria-selected": selected,
"data-value": node.value,
"data-selected": selected || void 0,
"data-hovered": controller.hoveredNode === node.value || void 0,
"data-level": level,
tabIndex: rootIndex === 0 ? 0 : -1,
onKeyDown: handleKeyDown,
ref,
onMouseOver: (event) => {
event.stopPropagation();
controller.setHoveredNode(node.value);
},
onMouseLeave: (event) => {
event.stopPropagation();
controller.setHoveredNode(null);
},
children: [
typeof renderNode === "function" ? renderNode({
node,
level,
selected,
tree: controller,
expanded: controller.expandedState[node.value] || false,
hasChildren: Array.isArray(node.children) && node.children.length > 0,
elementProps
}) : /* @__PURE__ */ jsxRuntime.jsx("div", { ...elementProps, children: node.label }),
controller.expandedState[node.value] && nested.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "group", ...getStyles2("subtree"), "data-level": level, children: nested })
]
}
);
}
TreeNode.displayName = "@mantine/core/TreeNode";
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tree/get-all-checked-nodes/get-all-checked-nodes.mjs
function getAllCheckedNodes(data, checkedState, acc = []) {
const currentTreeChecked = [];
for (const node of data) {
if (Array.isArray(node.children) && node.children.length > 0) {
const innerChecked = getAllCheckedNodes(node.children, checkedState, acc);
if (innerChecked.currentTreeChecked.length === node.children.length) {
const isChecked = innerChecked.currentTreeChecked.every((item2) => item2.checked);
const item = {
checked: isChecked,
indeterminate: !isChecked,
value: node.value,
hasChildren: true
};
currentTreeChecked.push(item);
acc.push(item);
} else if (innerChecked.currentTreeChecked.length > 0) {
const item = { checked: false, indeterminate: true, value: node.value, hasChildren: true };
currentTreeChecked.push(item);
acc.push(item);
}
} else if (checkedState.includes(node.value)) {
const item = {
checked: true,
indeterminate: false,
value: node.value,
hasChildren: false
};
currentTreeChecked.push(item);
acc.push(item);
}
}
return { result: acc, currentTreeChecked };
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tree/get-children-nodes-values/get-children-nodes-values.mjs
function findTreeNode(value, data) {
for (const node of data) {
if (node.value === value) {
return node;
}
if (Array.isArray(node.children)) {
const childNode = findTreeNode(value, node.children);
if (childNode) {
return childNode;
}
}
}
return null;
}
function getChildrenNodesValues(value, data, acc = []) {
const node = findTreeNode(value, data);
if (!node) {
return acc;
}
if (!Array.isArray(node.children) || node.children.length === 0) {
return [node.value];
}
node.children.forEach((child) => {
if (Array.isArray(child.children) && child.children.length > 0) {
getChildrenNodesValues(child.value, data, acc);
} else {
acc.push(child.value);
}
});
return acc;
}
function isNodeChecked(value, data, checkedState) {
if (checkedState.length === 0) {
return false;
}
if (checkedState.includes(value)) {
return true;
}
const checkedNodes = getAllCheckedNodes(data, checkedState).result;
return checkedNodes.some((node) => node.value === value && node.checked);
}
var memoizedIsNodeChecked = memoize(isNodeChecked);
function isNodeIndeterminate(value, data, checkedState) {
if (checkedState.length === 0) {
return false;
}
const checkedNodes = getAllCheckedNodes(data, checkedState).result;
return checkedNodes.some((node) => node.value === value && node.indeterminate);
}
var memoizedIsNodeIndeterminate = memoize(isNodeIndeterminate);
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tree/use-tree.mjs
function getInitialExpandedState(initialState, data, value, acc = {}) {
data.forEach((node) => {
acc[node.value] = node.value in initialState ? initialState[node.value] : node.value === value;
if (Array.isArray(node.children)) {
getInitialExpandedState(initialState, node.children, value, acc);
}
});
return acc;
}
function getInitialCheckedState(initialState, data) {
const acc = [];
initialState.forEach((node) => acc.push(...getChildrenNodesValues(node, data)));
return acc;
}
function useTree({
initialSelectedState = [],
initialCheckedState = [],
initialExpandedState = {},
multiple = false
} = {}) {
const [data, setData] = React9.useState([]);
const [expandedState, setExpandedState] = React9.useState(initialExpandedState);
const [selectedState, setSelectedState] = React9.useState(initialSelectedState);
const [checkedState, setCheckedState] = React9.useState(initialCheckedState);
const [anchorNode, setAnchorNode] = React9.useState(null);
const [hoveredNode, setHoveredNode] = React9.useState(null);
const initialize = React9.useCallback(
(_data) => {
setExpandedState((current) => getInitialExpandedState(current, _data, selectedState));
setCheckedState((current) => getInitialCheckedState(current, _data));
setData(_data);
},
[selectedState, checkedState]
);
const toggleExpanded = React9.useCallback((value) => {
setExpandedState((current) => ({ ...current, [value]: !current[value] }));
}, []);
const collapse = React9.useCallback((value) => {
setExpandedState((current) => ({ ...current, [value]: false }));
}, []);
const expand = React9.useCallback((value) => {
setExpandedState((current) => ({ ...current, [value]: true }));
}, []);
const expandAllNodes = React9.useCallback(() => {
setExpandedState((current) => {
const next = { ...current };
Object.keys(next).forEach((key) => {
next[key] = true;
});
return next;
});
}, []);
const collapseAllNodes = React9.useCallback(() => {
setExpandedState((current) => {
const next = { ...current };
Object.keys(next).forEach((key) => {
next[key] = false;
});
return next;
});
}, []);
const toggleSelected = React9.useCallback(
(value) => setSelectedState((current) => {
if (!multiple) {
if (current.includes(value)) {
setAnchorNode(null);
return [];
}
setAnchorNode(value);
return [value];
}
if (current.includes(value)) {
setAnchorNode(null);
return current.filter((item) => item !== value);
}
setAnchorNode(value);
return [...current, value];
}),
[]
);
const select = React9.useCallback((value) => {
setAnchorNode(value);
setSelectedState(
(current) => multiple ? current.includes(value) ? current : [...current, value] : [value]
);
}, []);
const deselect = React9.useCallback((value) => {
anchorNode === value && setAnchorNode(null);
setSelectedState((current) => current.filter((item) => item !== value));
}, []);
const clearSelected = React9.useCallback(() => {
setSelectedState([]);
setAnchorNode(null);
}, []);
const checkNode = React9.useCallback(
(value) => {
const checkedNodes = getChildrenNodesValues(value, data);
setCheckedState((current) => Array.from(/* @__PURE__ */ new Set([...current, ...checkedNodes])));
},
[data]
);
const uncheckNode = React9.useCallback(
(value) => {
const checkedNodes = getChildrenNodesValues(value, data);
setCheckedState((current) => current.filter((item) => !checkedNodes.includes(item)));
},
[data]
);
const getCheckedNodes = () => getAllCheckedNodes(data, checkedState).result;
const isNodeChecked2 = (value) => memoizedIsNodeChecked(value, data, checkedState);
const isNodeIndeterminate2 = (value) => memoizedIsNodeIndeterminate(value, data, checkedState);
return {
multiple,
expandedState,
selectedState,
checkedState,
anchorNode,
initialize,
toggleExpanded,
collapse,
expand,
expandAllNodes,
collapseAllNodes,
setExpandedState,
checkNode,
uncheckNode,
toggleSelected,
select,
deselect,
clearSelected,
setSelectedState,
hoveredNode,
setHoveredNode,
getCheckedNodes,
isNodeChecked: isNodeChecked2,
isNodeIndeterminate: isNodeIndeterminate2
};
}
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tree/Tree.module.css.mjs
var classes84 = { "root": "m_f698e191", "subtree": "m_75f3ecf", "node": "m_f6970eb1", "label": "m_dc283425" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/Tree/Tree.mjs
function getFlatValues(data) {
return data.reduce((acc, item) => {
acc.push(item.value);
if (item.children) {
acc.push(...getFlatValues(item.children));
}
return acc;
}, []);
}
var defaultProps179 = {
expandOnClick: true,
allowRangeSelection: true,
expandOnSpace: true
};
var varsResolver86 = createVarsResolver((_theme, { levelOffset }) => ({
root: {
"--level-offset": getSpacing(levelOffset)
}
}));
var Tree = factory((_props, ref) => {
const props = useProps("Tree", defaultProps179, _props);
const {
classNames,
className,
style,
styles,
unstyled,
vars,
data,
expandOnClick,
tree,
renderNode,
selectOnClick,
clearSelectionOnOutsideClick,
allowRangeSelection,
expandOnSpace,
levelOffset,
...others
} = props;
const defaultController = useTree();
const controller = tree || defaultController;
const getStyles2 = useStyles({
name: "Tree",
classes: classes84,
props,
className,
style,
classNames,
styles,
unstyled,
vars,
varsResolver: varsResolver86
});
const clickOutsideRef = hooks.useClickOutside(
() => clearSelectionOnOutsideClick && controller.clearSelected()
);
const mergedRef = hooks.useMergedRef(ref, clickOutsideRef);
const flatValues = React9.useMemo(() => getFlatValues(data), [data]);
React9.useEffect(() => {
controller.initialize(data);
}, [data]);
const nodes = data.map((node, index3) => /* @__PURE__ */ jsxRuntime.jsx(
TreeNode,
{
node,
getStyles: getStyles2,
rootIndex: index3,
expandOnClick,
selectOnClick,
controller,
renderNode,
flatValues,
allowRangeSelection,
expandOnSpace
},
node.value
));
return /* @__PURE__ */ jsxRuntime.jsx(
Box,
{
component: "ul",
ref: mergedRef,
...getStyles2("root"),
...others,
role: "tree",
"aria-multiselectable": controller.multiple,
"data-tree-root": true,
children: nodes
}
);
});
Tree.displayName = "@mantine/core/Tree";
Tree.classes = classes84;
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/TypographyStylesProvider/TypographyStylesProvider.module.css.mjs
var classes85 = { "root": "m_d6493fad" };
// ../esmd/npm/@mantine/core@7.13.2/node_modules/.pnpm/@mantine+core@7.13.2_@mantine+hooks@7.13.2_react-dom@18.3.1_react@18.3.1/node_modules/@mantine/core/esm/components/TypographyStylesProvider/TypographyStylesProvider.mjs
var defaultProps180 = {};
var TypographyStylesProvider = factory((_props, ref) => {
const props = useProps("TypographyStylesProvider", defaultProps180, _props);
const { classNames, className, style, styles, unstyled, ...others } = props;
const getStyles2 = useStyles({
name: "TypographyStylesProvider",
classes: classes85,
props,
className,
style,
classNames,
styles,
unstyled
});
return /* @__PURE__ */ jsxRuntime.jsx(Box, { ref, ...getStyles2("root"), ...others });
});
TypographyStylesProvider.classes = classes85;
TypographyStylesProvider.displayName = "@mantine/core/TypographyStylesProvider";
exports.Accordion = Accordion;
exports.AccordionChevron = AccordionChevron;
exports.AccordionControl = AccordionControl;
exports.AccordionItem = AccordionItem;
exports.AccordionPanel = AccordionPanel;
exports.ActionIcon = ActionIcon;
exports.ActionIconGroup = ActionIconGroup;
exports.Affix = Affix;
exports.Alert = Alert;
exports.AlphaSlider = AlphaSlider;
exports.Anchor = Anchor;
exports.AppShell = AppShell;
exports.AppShellAside = AppShellAside;
exports.AppShellFooter = AppShellFooter;
exports.AppShellHeader = AppShellHeader;
exports.AppShellMain = AppShellMain;
exports.AppShellNavbar = AppShellNavbar;
exports.AppShellSection = AppShellSection;
exports.AspectRatio = AspectRatio;
exports.Autocomplete = Autocomplete;
exports.Avatar = Avatar;
exports.AvatarGroup = AvatarGroup;
exports.BackgroundImage = BackgroundImage;
exports.Badge = Badge;
exports.Blockquote = Blockquote;
exports.Box = Box;
exports.Breadcrumbs = Breadcrumbs;
exports.Burger = Burger;
exports.Button = Button;
exports.ButtonGroup = ButtonGroup;
exports.Card = Card;
exports.CardSection = CardSection;
exports.Center = Center;
exports.CheckIcon = CheckIcon;
exports.Checkbox = Checkbox;
exports.CheckboxCard = CheckboxCard;
exports.CheckboxGroup = CheckboxGroup;
exports.CheckboxIndicator = CheckboxIndicator;
exports.Chip = Chip;
exports.ChipGroup = ChipGroup;
exports.CloseButton = CloseButton;
exports.CloseIcon = CloseIcon;
exports.Code = Code;
exports.Collapse = Collapse;
exports.ColorInput = ColorInput;
exports.ColorPicker = ColorPicker;
exports.ColorSchemeScript = ColorSchemeScript;
exports.ColorSwatch = ColorSwatch;
exports.Combobox = Combobox;
exports.ComboboxChevron = ComboboxChevron;
exports.ComboboxClearButton = ComboboxClearButton;
exports.ComboboxDropdown = ComboboxDropdown;
exports.ComboboxDropdownTarget = ComboboxDropdownTarget;
exports.ComboboxEmpty = ComboboxEmpty;
exports.ComboboxEventsTarget = ComboboxEventsTarget;
exports.ComboboxFooter = ComboboxFooter;
exports.ComboboxGroup = ComboboxGroup;
exports.ComboboxHeader = ComboboxHeader;
exports.ComboboxHiddenInput = ComboboxHiddenInput;
exports.ComboboxOption = ComboboxOption;
exports.ComboboxOptions = ComboboxOptions;
exports.ComboboxSearch = ComboboxSearch;
exports.ComboboxTarget = ComboboxTarget;
exports.Container = Container;
exports.CopyButton = CopyButton;
exports.DEFAULT_THEME = DEFAULT_THEME;
exports.Dialog = Dialog;
exports.DirectionContext = DirectionContext;
exports.DirectionProvider = DirectionProvider;
exports.Divider = Divider;
exports.Drawer = Drawer;
exports.DrawerBody = DrawerBody;
exports.DrawerCloseButton = DrawerCloseButton;
exports.DrawerContent = DrawerContent;
exports.DrawerHeader = DrawerHeader;
exports.DrawerOverlay = DrawerOverlay;
exports.DrawerRoot = DrawerRoot;
exports.DrawerTitle = DrawerTitle;
exports.FLEX_STYLE_PROPS_DATA = FLEX_STYLE_PROPS_DATA;
exports.FOCUS_CLASS_NAMES = FOCUS_CLASS_NAMES;
exports.Fieldset = Fieldset;
exports.FileButton = FileButton;
exports.FileInput = FileInput;
exports.Flex = Flex;
exports.FloatingArrow = FloatingArrow;
exports.FloatingIndicator = FloatingIndicator;
exports.FocusTrap = FocusTrap;
exports.FocusTrapInitialFocus = FocusTrapInitialFocus;
exports.Grid = Grid;
exports.GridCol = GridCol;
exports.Group = Group;
exports.HeadlessMantineProvider = HeadlessMantineProvider;
exports.Highlight = Highlight;
exports.HoverCard = HoverCard;
exports.HoverCardDropdown = HoverCardDropdown;
exports.HoverCardTarget = HoverCardTarget;
exports.HueSlider = HueSlider;
exports.Image = Image;
exports.Indicator = Indicator;
exports.InlineStyles = InlineStyles;
exports.Input = Input;
exports.InputBase = InputBase;
exports.InputDescription = InputDescription;
exports.InputError = InputError;
exports.InputLabel = InputLabel;
exports.InputPlaceholder = InputPlaceholder;
exports.InputWrapper = InputWrapper;
exports.JsonInput = JsonInput;
exports.Kbd = Kbd;
exports.List = List;
exports.ListItem = ListItem;
exports.Loader = Loader;
exports.LoadingOverlay = LoadingOverlay;
exports.MANTINE_TRANSITIONS = transitions;
exports.MantineContext = MantineContext;
exports.MantineProvider = MantineProvider;
exports.MantineThemeContext = MantineThemeContext;
exports.MantineThemeProvider = MantineThemeProvider;
exports.Mark = Mark;
exports.Menu = Menu;
exports.MenuDivider = MenuDivider;
exports.MenuDropdown = MenuDropdown;
exports.MenuItem = MenuItem;
exports.MenuLabel = MenuLabel;
exports.MenuTarget = MenuTarget;
exports.Modal = Modal;
exports.ModalBase = ModalBase;
exports.ModalBaseBody = ModalBaseBody;
exports.ModalBaseCloseButton = ModalBaseCloseButton;
exports.ModalBaseContent = ModalBaseContent;
exports.ModalBaseHeader = ModalBaseHeader;
exports.ModalBaseOverlay = ModalBaseOverlay;
exports.ModalBaseTitle = ModalBaseTitle;
exports.ModalBody = ModalBody;
exports.ModalCloseButton = ModalCloseButton;
exports.ModalContent = ModalContent;
exports.ModalHeader = ModalHeader;
exports.ModalOverlay = ModalOverlay;
exports.ModalRoot = ModalRoot;
exports.ModalTitle = ModalTitle;
exports.MultiSelect = MultiSelect;
exports.NativeScrollArea = NativeScrollArea;
exports.NativeSelect = NativeSelect;
exports.NavLink = NavLink;
exports.Notification = Notification;
exports.NumberFormatter = NumberFormatter;
exports.NumberInput = NumberInput;
exports.OptionalPortal = OptionalPortal;
exports.OptionsDropdown = OptionsDropdown;
exports.Overlay = Overlay;
exports.Pagination = Pagination;
exports.PaginationControl = PaginationControl;
exports.PaginationDots = PaginationDots;
exports.PaginationFirst = PaginationFirst;
exports.PaginationItems = PaginationItems;
exports.PaginationLast = PaginationLast;
exports.PaginationNext = PaginationNext;
exports.PaginationPrevious = PaginationPrevious;
exports.PaginationRoot = PaginationRoot;
exports.Paper = Paper;
exports.PasswordInput = PasswordInput;
exports.Pill = Pill;
exports.PillGroup = PillGroup;
exports.PillsInput = PillsInput;
exports.PillsInputField = PillsInputField;
exports.PinInput = PinInput;
exports.Popover = Popover;
exports.PopoverDropdown = PopoverDropdown;
exports.PopoverTarget = PopoverTarget;
exports.Portal = Portal;
exports.Progress = Progress;
exports.ProgressLabel = ProgressLabel;
exports.ProgressRoot = ProgressRoot;
exports.ProgressSection = ProgressSection;
exports.Radio = Radio;
exports.RadioCard = RadioCard;
exports.RadioGroup = RadioGroup;
exports.RadioIcon = RadioIcon;
exports.RadioIndicator = RadioIndicator;
exports.RangeSlider = RangeSlider;
exports.Rating = Rating;
exports.RemoveScroll = Combination_default;
exports.RingProgress = RingProgress;
exports.STYlE_PROPS_DATA = STYlE_PROPS_DATA;
exports.ScrollArea = ScrollArea;
exports.ScrollAreaAutosize = ScrollAreaAutosize;
exports.SegmentedControl = SegmentedControl;
exports.Select = Select;
exports.SemiCircleProgress = SemiCircleProgress;
exports.SimpleGrid = SimpleGrid;
exports.Skeleton = Skeleton;
exports.Slider = Slider;
exports.Space = Space;
exports.Spoiler = Spoiler;
exports.Stack = Stack;
exports.Stepper = Stepper;
exports.StepperCompleted = StepperCompleted;
exports.StepperStep = StepperStep;
exports.Switch = Switch;
exports.SwitchGroup = SwitchGroup;
exports.Table = Table;
exports.TableCaption = TableCaption;
exports.TableScrollContainer = TableScrollContainer;
exports.TableTbody = TableTbody;
exports.TableTd = TableTd;
exports.TableTfoot = TableTfoot;
exports.TableTh = TableTh;
exports.TableThead = TableThead;
exports.TableTr = TableTr;
exports.Tabs = Tabs;
exports.TabsList = TabsList;
exports.TabsPanel = TabsPanel;
exports.TabsTab = TabsTab;
exports.TagsInput = TagsInput;
exports.Text = Text;
exports.TextInput = TextInput;
exports.Textarea = Textarea;
exports.ThemeIcon = ThemeIcon;
exports.Timeline = Timeline;
exports.TimelineItem = TimelineItem;
exports.Title = Title;
exports.Tooltip = Tooltip;
exports.TooltipFloating = TooltipFloating;
exports.TooltipGroup = TooltipGroup;
exports.Transition = Transition;
exports.Tree = Tree;
exports.TypographyStylesProvider = TypographyStylesProvider;
exports.UnstyledButton = UnstyledButton;
exports.VisuallyHidden = VisuallyHidden;
exports.alpha = alpha;
exports.camelToKebabCase = camelToKebabCase;
exports.closeOnEscape = closeOnEscape;
exports.colorsTuple = colorsTuple;
exports.convertCssVariables = convertCssVariables;
exports.convertHsvaTo = convertHsvaTo;
exports.createEventHandler = createEventHandler;
exports.createOptionalContext = createOptionalContext;
exports.createPolymorphicComponent = createPolymorphicComponent;
exports.createSafeContext = createSafeContext;
exports.createScopedKeydownHandler = createScopedKeydownHandler;
exports.createTheme = createTheme;
exports.createUseExternalEvents = createUseExternalEvents;
exports.createVarsResolver = createVarsResolver;
exports.darken = darken;
exports.deepMerge = deepMerge;
exports.defaultCssVariablesResolver = defaultCssVariablesResolver;
exports.defaultLoaders = defaultLoaders;
exports.defaultOptionsFilter = defaultOptionsFilter;
exports.defaultVariantColorsResolver = defaultVariantColorsResolver;
exports.em = em;
exports.extractStyleProps = extractStyleProps;
exports.factory = factory;
exports.filterProps = filterProps;
exports.findElementAncestor = findElementAncestor;
exports.getAutoContrastValue = getAutoContrastValue;
exports.getBaseValue = getBaseValue;
exports.getBreakpointValue = getBreakpointValue;
exports.getCSSColorVariables = getCSSColorVariables;
exports.getContextItemIndex = getContextItemIndex;
exports.getContrastColor = getContrastColor;
exports.getDefaultZIndex = getDefaultZIndex;
exports.getEnv = getEnv;
exports.getFloatingPosition = getFloatingPosition;
exports.getFontSize = getFontSize;
exports.getGradient = getGradient;
exports.getLabelsLockup = getLabelsLockup;
exports.getLineHeight = getLineHeight;
exports.getOptionsLockup = getOptionsLockup;
exports.getParsedComboboxData = getParsedComboboxData;
exports.getPrimaryContrastColor = getPrimaryContrastColor;
exports.getPrimaryShade = getPrimaryShade;
exports.getRadius = getRadius;
exports.getSafeId = getSafeId;
exports.getShadow = getShadow;
exports.getSize = getSize;
exports.getSortedBreakpoints = getSortedBreakpoints;
exports.getSpacing = getSpacing;
exports.getStyleObject = getStyleObject;
exports.getThemeColor = getThemeColor;
exports.getTransitionProps = getTransitionProps;
exports.getWithProps = getWithProps;
exports.isColorValid = isColorValid;
exports.isElement = isElement;
exports.isLightColor = isLightColor;
exports.isMantineColorScheme = isMantineColorScheme;
exports.isNumberLike = isNumberLike;
exports.isOptionsGroup = isOptionsGroup;
exports.isVirtualColor = isVirtualColor;
exports.keys = keys;
exports.lighten = lighten;
exports.localStorageColorSchemeManager = localStorageColorSchemeManager;
exports.luminance = luminance;
exports.memoize = memoize;
exports.mergeMantineTheme = mergeMantineTheme;
exports.mergeThemeOverrides = mergeThemeOverrides;
exports.noop = noop;
exports.parseColor = parseColor;
exports.parseStyleProps = parseStyleProps;
exports.parseThemeColor = parseThemeColor;
exports.polymorphicFactory = polymorphicFactory;
exports.px = px;
exports.rem = rem;
exports.resolveClassNames = resolveClassNames;
exports.resolveStyles = resolveStyles;
exports.rgba = rgba;
exports.stylesToString = stylesToString;
exports.toRgba = toRgba;
exports.useCheckboxCardContext = useCheckboxCardContext;
exports.useCheckboxGroupContext = useCheckboxGroupContext;
exports.useCombobox = useCombobox;
exports.useComboboxTargetProps = useComboboxTargetProps;
exports.useComputedColorScheme = useComputedColorScheme;
exports.useDelayedHover = useDelayedHover;
exports.useDirection = useDirection;
exports.useFloatingAutoUpdate = useFloatingAutoUpdate;
exports.useHovered = useHovered;
exports.useInputProps = useInputProps;
exports.useInputWrapperContext = useInputWrapperContext;
exports.useMantineClassNamesPrefix = useMantineClassNamesPrefix;
exports.useMantineColorScheme = useMantineColorScheme;
exports.useMantineContext = useMantineContext;
exports.useMantineCssVariablesResolver = useMantineCssVariablesResolver;
exports.useMantineIsHeadless = useMantineIsHeadless;
exports.useMantineStyleNonce = useMantineStyleNonce;
exports.useMantineStylesTransform = useMantineStylesTransform;
exports.useMantineSxTransform = useMantineSxTransform;
exports.useMantineTheme = useMantineTheme;
exports.useMantineWithStaticClasses = useMantineWithStaticClasses;
exports.useMatches = useMatches;
exports.useProps = useProps;
exports.useProviderColorScheme = useProviderColorScheme;
exports.useRadioCardContext = useRadioCardContext;
exports.useRandomClassName = useRandomClassName;
exports.useResolvedStylesApi = useResolvedStylesApi;
exports.useSafeMantineTheme = useSafeMantineTheme;
exports.useStyles = useStyles;
exports.useTree = useTree;
exports.useVirtualizedCombobox = useVirtualizedCombobox;
exports.validateMantineTheme = validateMantineTheme;
exports.virtualColor = virtualColor;
}));