'use strict'; var __defProp = Object.defineProperty; var __getOwnPropNames = Object.getOwnPropertyNames; var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; // ../../node_modules/.pnpm/solid-js@1.9.7/node_modules/solid-js/dist/solid.js function getContextId(count) { const num = String(count), len = num.length - 1; return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : "") + num; } function setHydrateContext(context) { sharedConfig.context = context; } function nextHydrateContext() { return { ...sharedConfig.context, id: sharedConfig.getNextContextId(), count: 0 }; } function createRoot(fn, detachedOwner) { const listener = Listener, owner = Owner, unowned = fn.length === 0, current = detachedOwner === void 0 ? owner : detachedOwner, root = unowned ? UNOWNED : { owned: null, cleanups: null, context: current ? current.context : null, owner: current }, updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root))); Owner = root; Listener = null; try { return runUpdates(updateFn, true); } finally { Listener = listener; Owner = owner; } } function createSignal(value, options) { options = options ? Object.assign({}, signalOptions, options) : signalOptions; const s2 = { value, observers: null, observerSlots: null, comparator: options.equals || void 0 }; const setter = (value2) => { if (typeof value2 === "function") { if (Transition && Transition.running && Transition.sources.has(s2)) value2 = value2(s2.tValue); else value2 = value2(s2.value); } return writeSignal(s2, value2); }; return [readSignal.bind(s2), setter]; } function createComputed(fn, value, options) { const c2 = createComputation(fn, value, true, STALE); if (Scheduler && Transition && Transition.running) Updates.push(c2); else updateComputation(c2); } function createRenderEffect(fn, value, options) { const c2 = createComputation(fn, value, false, STALE); if (Scheduler && Transition && Transition.running) Updates.push(c2); else updateComputation(c2); } function createEffect(fn, value, options) { runEffects = runUserEffects; const c2 = createComputation(fn, value, false, STALE), s2 = SuspenseContext && useContext(SuspenseContext); if (s2) c2.suspense = s2; if (!options || !options.render) c2.user = true; Effects ? Effects.push(c2) : updateComputation(c2); } function createMemo(fn, value, options) { options = options ? Object.assign({}, signalOptions, options) : signalOptions; const c2 = createComputation(fn, value, true, 0); c2.observers = null; c2.observerSlots = null; c2.comparator = options.equals || void 0; if (Scheduler && Transition && Transition.running) { c2.tState = STALE; Updates.push(c2); } else updateComputation(c2); return readSignal.bind(c2); } function isPromise(v) { return v && typeof v === "object" && "then" in v; } function createResource(pSource, pFetcher, pOptions) { let source; let fetcher; let options; { source = true; fetcher = pSource; options = {}; } let pr = null, initP = NO_INIT, id = null, loadedUnderTransition = false, scheduled = false, resolved = "initialValue" in options, dynamic = typeof source === "function" && createMemo(source); const contexts = /* @__PURE__ */ new Set(), [value, setValue] = (options.storage || createSignal)(options.initialValue), [error, setError] = createSignal(void 0), [track, trigger] = createSignal(void 0, { equals: false }), [state, setState] = createSignal(resolved ? "ready" : "unresolved"); if (sharedConfig.context) { id = sharedConfig.getNextContextId(); if (options.ssrLoadFrom === "initial") initP = options.initialValue; else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id); } function loadEnd(p2, v, error2, key) { if (pr === p2) { pr = null; key !== void 0 && (resolved = true); if ((p2 === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, { value: v })); initP = NO_INIT; if (Transition && p2 && loadedUnderTransition) { Transition.promises.delete(p2); loadedUnderTransition = false; runUpdates(() => { Transition.running = true; completeLoad(v, error2); }, false); } else completeLoad(v, error2); } return v; } function completeLoad(v, err) { runUpdates(() => { if (err === void 0) setValue(() => v); setState(err !== void 0 ? "errored" : resolved ? "ready" : "unresolved"); setError(err); for (const c2 of contexts.keys()) c2.decrement(); contexts.clear(); }, false); } function read() { const c2 = SuspenseContext && useContext(SuspenseContext), v = value(), err = error(); if (err !== void 0 && !pr) throw err; if (Listener && !Listener.user && c2) { createComputed(() => { track(); if (pr) { if (c2.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr); else if (!contexts.has(c2)) { c2.increment(); contexts.add(c2); } } }); } return v; } function load(refetching = true) { if (refetching !== false && scheduled) return; scheduled = false; const lookup = dynamic ? dynamic() : source; loadedUnderTransition = Transition && Transition.running; if (lookup == null || lookup === false) { loadEnd(pr, untrack(value)); return; } if (Transition && pr) Transition.promises.delete(pr); let error2; const p2 = initP !== NO_INIT ? initP : untrack(() => { try { return fetcher(lookup, { value: value(), refetching }); } catch (fetcherError) { error2 = fetcherError; } }); if (error2 !== void 0) { loadEnd(pr, void 0, castError(error2), lookup); return; } else if (!isPromise(p2)) { loadEnd(pr, p2, void 0, lookup); return p2; } pr = p2; if ("v" in p2) { if (p2.s === 1) loadEnd(pr, p2.v, void 0, lookup); else loadEnd(pr, void 0, castError(p2.v), lookup); return p2; } scheduled = true; queueMicrotask(() => scheduled = false); runUpdates(() => { setState(resolved ? "refreshing" : "pending"); trigger(); }, false); return p2.then((v) => loadEnd(p2, v, void 0, lookup), (e2) => loadEnd(p2, void 0, castError(e2), lookup)); } Object.defineProperties(read, { state: { get: () => state() }, error: { get: () => error() }, loading: { get() { const s2 = state(); return s2 === "pending" || s2 === "refreshing"; } }, latest: { get() { if (!resolved) return read(); const err = error(); if (err && !pr) throw err; return value(); } } }); let owner = Owner; if (dynamic) createComputed(() => (owner = Owner, load(false))); else load(false); return [read, { refetch: (info) => runWithOwner(owner, () => load(info)), mutate: setValue }]; } function batch(fn) { return runUpdates(fn, false); } function untrack(fn) { if (!ExternalSourceConfig && Listener === null) return fn(); const listener = Listener; Listener = null; try { if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn); return fn(); } finally { Listener = listener; } } function on(deps, fn, options) { const isArray3 = Array.isArray(deps); let prevInput; let defer2 = options && options.defer; return (prevValue) => { let input; if (isArray3) { input = Array(deps.length); for (let i2 = 0; i2 < deps.length; i2++) input[i2] = deps[i2](); } else input = deps(); if (defer2) { defer2 = false; return prevValue; } const result = untrack(() => fn(input, prevInput, prevValue)); prevInput = input; return result; }; } function onMount(fn) { createEffect(() => untrack(fn)); } function onCleanup(fn) { if (Owner === null) ; else if (Owner.cleanups === null) Owner.cleanups = [fn]; else Owner.cleanups.push(fn); return fn; } function getOwner() { return Owner; } function runWithOwner(o2, fn) { const prev = Owner; const prevListener = Listener; Owner = o2; Listener = null; try { return runUpdates(fn, true); } catch (err) { handleError(err); } finally { Owner = prev; Listener = prevListener; } } function startTransition(fn) { if (Transition && Transition.running) { fn(); return Transition.done; } const l2 = Listener; const o2 = Owner; return Promise.resolve().then(() => { Listener = l2; Owner = o2; let t2; if (Scheduler || SuspenseContext) { t2 = Transition || (Transition = { sources: /* @__PURE__ */ new Set(), effects: [], promises: /* @__PURE__ */ new Set(), disposed: /* @__PURE__ */ new Set(), queue: /* @__PURE__ */ new Set(), running: true }); t2.done || (t2.done = new Promise((res) => t2.resolve = res)); t2.running = true; } runUpdates(fn, false); Listener = Owner = null; return t2 ? t2.done : void 0; }); } function useTransition() { return [transPending, startTransition]; } function createContext(defaultValue, options) { const id = Symbol("context"); return { id, Provider: createProvider(id), defaultValue }; } function useContext(context) { let value; return Owner && Owner.context && (value = Owner.context[context.id]) !== void 0 ? value : context.defaultValue; } function children(fn) { const children2 = createMemo(fn); const memo2 = createMemo(() => resolveChildren(children2())); memo2.toArray = () => { const c2 = memo2(); return Array.isArray(c2) ? c2 : c2 != null ? [c2] : []; }; return memo2; } function readSignal() { const runningTransition = Transition && Transition.running; if (this.sources && (runningTransition ? this.tState : this.state)) { if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this); else { const updates = Updates; Updates = null; runUpdates(() => lookUpstream(this), false); Updates = updates; } } if (Listener) { const sSlot = this.observers ? this.observers.length : 0; if (!Listener.sources) { Listener.sources = [this]; Listener.sourceSlots = [sSlot]; } else { Listener.sources.push(this); Listener.sourceSlots.push(sSlot); } if (!this.observers) { this.observers = [Listener]; this.observerSlots = [Listener.sources.length - 1]; } else { this.observers.push(Listener); this.observerSlots.push(Listener.sources.length - 1); } } if (runningTransition && Transition.sources.has(this)) return this.tValue; return this.value; } function writeSignal(node, value, isComp) { let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value; if (!node.comparator || !node.comparator(current, value)) { if (Transition) { const TransitionRunning = Transition.running; if (TransitionRunning || !isComp && Transition.sources.has(node)) { Transition.sources.add(node); node.tValue = value; } if (!TransitionRunning) node.value = value; } else node.value = value; if (node.observers && node.observers.length) { runUpdates(() => { for (let i2 = 0; i2 < node.observers.length; i2 += 1) { const o2 = node.observers[i2]; const TransitionRunning = Transition && Transition.running; if (TransitionRunning && Transition.disposed.has(o2)) continue; if (TransitionRunning ? !o2.tState : !o2.state) { if (o2.pure) Updates.push(o2); else Effects.push(o2); if (o2.observers) markDownstream(o2); } if (!TransitionRunning) o2.state = STALE; else o2.tState = STALE; } if (Updates.length > 1e6) { Updates = []; if (IS_DEV) ; throw new Error(); } }, false); } } return value; } function updateComputation(node) { if (!node.fn) return; cleanNode(node); const time = ExecCount; runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time); if (Transition && !Transition.running && Transition.sources.has(node)) { queueMicrotask(() => { runUpdates(() => { Transition && (Transition.running = true); Listener = Owner = node; runComputation(node, node.tValue, time); Listener = Owner = null; }, false); }); } } function runComputation(node, value, time) { let nextValue; const owner = Owner, listener = Listener; Listener = Owner = node; try { nextValue = node.fn(value); } catch (err) { if (node.pure) { if (Transition && Transition.running) { node.tState = STALE; node.tOwned && node.tOwned.forEach(cleanNode); node.tOwned = void 0; } else { node.state = STALE; node.owned && node.owned.forEach(cleanNode); node.owned = null; } } node.updatedAt = time + 1; return handleError(err); } finally { Listener = listener; Owner = owner; } if (!node.updatedAt || node.updatedAt <= time) { if (node.updatedAt != null && "observers" in node) { writeSignal(node, nextValue, true); } else if (Transition && Transition.running && node.pure) { Transition.sources.add(node); node.tValue = nextValue; } else node.value = nextValue; node.updatedAt = time; } } function createComputation(fn, init, pure, state = STALE, options) { const c2 = { fn, state, updatedAt: null, owned: null, sources: null, sourceSlots: null, cleanups: null, value: init, owner: Owner, context: Owner ? Owner.context : null, pure }; if (Transition && Transition.running) { c2.state = 0; c2.tState = state; } if (Owner === null) ; else if (Owner !== UNOWNED) { if (Transition && Transition.running && Owner.pure) { if (!Owner.tOwned) Owner.tOwned = [c2]; else Owner.tOwned.push(c2); } else { if (!Owner.owned) Owner.owned = [c2]; else Owner.owned.push(c2); } } if (ExternalSourceConfig && c2.fn) { const [track, trigger] = createSignal(void 0, { equals: false }); const ordinary = ExternalSourceConfig.factory(c2.fn, trigger); onCleanup(() => ordinary.dispose()); const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose()); const inTransition = ExternalSourceConfig.factory(c2.fn, triggerInTransition); c2.fn = (x) => { track(); return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x); }; } return c2; } function runTop(node) { const runningTransition = Transition && Transition.running; if ((runningTransition ? node.tState : node.state) === 0) return; if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node); if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node); const ancestors = [node]; while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) { if (runningTransition && Transition.disposed.has(node)) return; if (runningTransition ? node.tState : node.state) ancestors.push(node); } for (let i2 = ancestors.length - 1; i2 >= 0; i2--) { node = ancestors[i2]; if (runningTransition) { let top = node, prev = ancestors[i2 + 1]; while ((top = top.owner) && top !== prev) { if (Transition.disposed.has(top)) return; } } if ((runningTransition ? node.tState : node.state) === STALE) { updateComputation(node); } else if ((runningTransition ? node.tState : node.state) === PENDING) { const updates = Updates; Updates = null; runUpdates(() => lookUpstream(node, ancestors[0]), false); Updates = updates; } } } function runUpdates(fn, init) { if (Updates) return fn(); let wait = false; if (!init) Updates = []; if (Effects) wait = true; else Effects = []; ExecCount++; try { const res = fn(); completeUpdates(wait); return res; } catch (err) { if (!wait) Effects = null; Updates = null; handleError(err); } } function completeUpdates(wait) { if (Updates) { if (Scheduler && Transition && Transition.running) scheduleQueue(Updates); else runQueue(Updates); Updates = null; } if (wait) return; let res; if (Transition) { if (!Transition.promises.size && !Transition.queue.size) { const sources = Transition.sources; const disposed = Transition.disposed; Effects.push.apply(Effects, Transition.effects); res = Transition.resolve; for (const e3 of Effects) { "tState" in e3 && (e3.state = e3.tState); delete e3.tState; } Transition = null; runUpdates(() => { for (const d of disposed) cleanNode(d); for (const v of sources) { v.value = v.tValue; if (v.owned) { for (let i2 = 0, len = v.owned.length; i2 < len; i2++) cleanNode(v.owned[i2]); } if (v.tOwned) v.owned = v.tOwned; delete v.tValue; delete v.tOwned; v.tState = 0; } setTransPending(false); }, false); } else if (Transition.running) { Transition.running = false; Transition.effects.push.apply(Transition.effects, Effects); Effects = null; setTransPending(true); return; } } const e2 = Effects; Effects = null; if (e2.length) runUpdates(() => runEffects(e2), false); if (res) res(); } function runQueue(queue) { for (let i2 = 0; i2 < queue.length; i2++) runTop(queue[i2]); } function scheduleQueue(queue) { for (let i2 = 0; i2 < queue.length; i2++) { const item = queue[i2]; const tasks = Transition.queue; if (!tasks.has(item)) { tasks.add(item); Scheduler(() => { tasks.delete(item); runUpdates(() => { Transition.running = true; runTop(item); }, false); Transition && (Transition.running = false); }); } } } function runUserEffects(queue) { let i2, userLength = 0; for (i2 = 0; i2 < queue.length; i2++) { const e2 = queue[i2]; if (!e2.user) runTop(e2); else queue[userLength++] = e2; } if (sharedConfig.context) { if (sharedConfig.count) { sharedConfig.effects || (sharedConfig.effects = []); sharedConfig.effects.push(...queue.slice(0, userLength)); return; } setHydrateContext(); } if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) { queue = [...sharedConfig.effects, ...queue]; userLength += sharedConfig.effects.length; delete sharedConfig.effects; } for (i2 = 0; i2 < userLength; i2++) runTop(queue[i2]); } function lookUpstream(node, ignore) { const runningTransition = Transition && Transition.running; if (runningTransition) node.tState = 0; else node.state = 0; for (let i2 = 0; i2 < node.sources.length; i2 += 1) { const source = node.sources[i2]; if (source.sources) { const state = runningTransition ? source.tState : source.state; if (state === STALE) { if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source); } else if (state === PENDING) lookUpstream(source, ignore); } } } function markDownstream(node) { const runningTransition = Transition && Transition.running; for (let i2 = 0; i2 < node.observers.length; i2 += 1) { const o2 = node.observers[i2]; if (runningTransition ? !o2.tState : !o2.state) { if (runningTransition) o2.tState = PENDING; else o2.state = PENDING; if (o2.pure) Updates.push(o2); else Effects.push(o2); o2.observers && markDownstream(o2); } } } function cleanNode(node) { let i2; if (node.sources) { while (node.sources.length) { const source = node.sources.pop(), index = node.sourceSlots.pop(), obs = source.observers; if (obs && obs.length) { const n2 = obs.pop(), s2 = source.observerSlots.pop(); if (index < obs.length) { n2.sourceSlots[s2] = index; obs[index] = n2; source.observerSlots[index] = s2; } } } } if (node.tOwned) { for (i2 = node.tOwned.length - 1; i2 >= 0; i2--) cleanNode(node.tOwned[i2]); delete node.tOwned; } if (Transition && Transition.running && node.pure) { reset(node, true); } else if (node.owned) { for (i2 = node.owned.length - 1; i2 >= 0; i2--) cleanNode(node.owned[i2]); node.owned = null; } if (node.cleanups) { for (i2 = node.cleanups.length - 1; i2 >= 0; i2--) node.cleanups[i2](); node.cleanups = null; } if (Transition && Transition.running) node.tState = 0; else node.state = 0; } function reset(node, top) { if (!top) { node.tState = 0; Transition.disposed.add(node); } if (node.owned) { for (let i2 = 0; i2 < node.owned.length; i2++) reset(node.owned[i2]); } } function castError(err) { if (err instanceof Error) return err; return new Error(typeof err === "string" ? err : "Unknown error", { cause: err }); } function runErrors(err, fns, owner) { try { for (const f of fns) f(err); } catch (e2) { handleError(e2, owner && owner.owner || null); } } function handleError(err, owner = Owner) { const fns = ERROR && owner && owner.context && owner.context[ERROR]; const error = castError(err); if (!fns) throw error; if (Effects) Effects.push({ fn() { runErrors(error, fns, owner); }, state: STALE }); else runErrors(error, fns, owner); } function resolveChildren(children2) { if (typeof children2 === "function" && !children2.length) return resolveChildren(children2()); if (Array.isArray(children2)) { const results = []; for (let i2 = 0; i2 < children2.length; i2++) { const result = resolveChildren(children2[i2]); Array.isArray(result) ? results.push.apply(results, result) : results.push(result); } return results; } return children2; } function createProvider(id, options) { return function provider(props) { let res; createRenderEffect(() => res = untrack(() => { Owner.context = { ...Owner.context, [id]: props.value }; return children(() => props.children); }), void 0); return res; }; } function dispose(d) { for (let i2 = 0; i2 < d.length; i2++) d[i2](); } function mapArray(list, mapFn, options = {}) { let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null; onCleanup(() => dispose(disposers)); return () => { let newItems = list() || [], newLen = newItems.length, i2, j; newItems[$TRACK]; return untrack(() => { let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item; if (newLen === 0) { if (len !== 0) { dispose(disposers); disposers = []; items = []; mapped = []; len = 0; indexes && (indexes = []); } if (options.fallback) { items = [FALLBACK]; mapped[0] = createRoot((disposer) => { disposers[0] = disposer; return options.fallback(); }); len = 1; } } else if (len === 0) { mapped = new Array(newLen); for (j = 0; j < newLen; j++) { items[j] = newItems[j]; mapped[j] = createRoot(mapper); } len = newLen; } else { temp = new Array(newLen); tempdisposers = new Array(newLen); indexes && (tempIndexes = new Array(newLen)); for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++) ; for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) { temp[newEnd] = mapped[end]; tempdisposers[newEnd] = disposers[end]; indexes && (tempIndexes[newEnd] = indexes[end]); } newIndices = /* @__PURE__ */ new Map(); newIndicesNext = new Array(newEnd + 1); for (j = newEnd; j >= start; j--) { item = newItems[j]; i2 = newIndices.get(item); newIndicesNext[j] = i2 === void 0 ? -1 : i2; newIndices.set(item, j); } for (i2 = start; i2 <= end; i2++) { item = items[i2]; j = newIndices.get(item); if (j !== void 0 && j !== -1) { temp[j] = mapped[i2]; tempdisposers[j] = disposers[i2]; indexes && (tempIndexes[j] = indexes[i2]); j = newIndicesNext[j]; newIndices.set(item, j); } else disposers[i2](); } for (j = start; j < newLen; j++) { if (j in temp) { mapped[j] = temp[j]; disposers[j] = tempdisposers[j]; if (indexes) { indexes[j] = tempIndexes[j]; indexes[j](j); } } else mapped[j] = createRoot(mapper); } mapped = mapped.slice(0, len = newLen); items = newItems.slice(0); } return mapped; }); function mapper(disposer) { disposers[j] = disposer; if (indexes) { const [s2, set] = createSignal(j); indexes[j] = set; return mapFn(newItems[j], s2); } return mapFn(newItems[j]); } }; } function indexArray(list, mapFn, options = {}) { let items = [], mapped = [], disposers = [], signals = [], len = 0, i2; onCleanup(() => dispose(disposers)); return () => { const newItems = list() || [], newLen = newItems.length; newItems[$TRACK]; return untrack(() => { if (newLen === 0) { if (len !== 0) { dispose(disposers); disposers = []; items = []; mapped = []; len = 0; signals = []; } if (options.fallback) { items = [FALLBACK]; mapped[0] = createRoot((disposer) => { disposers[0] = disposer; return options.fallback(); }); len = 1; } return mapped; } if (items[0] === FALLBACK) { disposers[0](); disposers = []; items = []; mapped = []; len = 0; } for (i2 = 0; i2 < newLen; i2++) { if (i2 < items.length && items[i2] !== newItems[i2]) { signals[i2](() => newItems[i2]); } else if (i2 >= items.length) { mapped[i2] = createRoot(mapper); } } for (; i2 < items.length; i2++) { disposers[i2](); } len = signals.length = disposers.length = newLen; items = newItems.slice(0); return mapped = mapped.slice(0, len); }); function mapper(disposer) { disposers[i2] = disposer; const [s2, set] = createSignal(newItems[i2]); signals[i2] = set; return mapFn(s2, i2); } }; } function createComponent(Comp, props) { if (hydrationEnabled) { if (sharedConfig.context) { const c2 = sharedConfig.context; setHydrateContext(nextHydrateContext()); const r2 = untrack(() => Comp(props || {})); setHydrateContext(c2); return r2; } } return untrack(() => Comp(props || {})); } function trueFn() { return true; } function resolveSource(s2) { return !(s2 = typeof s2 === "function" ? s2() : s2) ? {} : s2; } function resolveSources() { for (let i2 = 0, length = this.length; i2 < length; ++i2) { const v = this[i2](); if (v !== void 0) return v; } } function mergeProps(...sources) { let proxy = false; for (let i2 = 0; i2 < sources.length; i2++) { const s2 = sources[i2]; proxy = proxy || !!s2 && $PROXY in s2; sources[i2] = typeof s2 === "function" ? (proxy = true, createMemo(s2)) : s2; } if (SUPPORTS_PROXY && proxy) { return new Proxy({ get(property) { for (let i2 = sources.length - 1; i2 >= 0; i2--) { const v = resolveSource(sources[i2])[property]; if (v !== void 0) return v; } }, has(property) { for (let i2 = sources.length - 1; i2 >= 0; i2--) { if (property in resolveSource(sources[i2])) return true; } return false; }, keys() { const keys2 = []; for (let i2 = 0; i2 < sources.length; i2++) keys2.push(...Object.keys(resolveSource(sources[i2]))); return [...new Set(keys2)]; } }, propTraps); } const sourcesMap = {}; const defined = /* @__PURE__ */ Object.create(null); for (let i2 = sources.length - 1; i2 >= 0; i2--) { const source = sources[i2]; if (!source) continue; const sourceKeys = Object.getOwnPropertyNames(source); for (let i3 = sourceKeys.length - 1; i3 >= 0; i3--) { const key = sourceKeys[i3]; if (key === "__proto__" || key === "constructor") continue; const desc = Object.getOwnPropertyDescriptor(source, key); if (!defined[key]) { defined[key] = desc.get ? { enumerable: true, configurable: true, get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)]) } : desc.value !== void 0 ? desc : void 0; } else { const sources2 = sourcesMap[key]; if (sources2) { if (desc.get) sources2.push(desc.get.bind(source)); else if (desc.value !== void 0) sources2.push(() => desc.value); } } } } const target = {}; const definedKeys = Object.keys(defined); for (let i2 = definedKeys.length - 1; i2 >= 0; i2--) { const key = definedKeys[i2], desc = defined[key]; if (desc && desc.get) Object.defineProperty(target, key, desc); else target[key] = desc ? desc.value : void 0; } return target; } function splitProps(props, ...keys2) { if (SUPPORTS_PROXY && $PROXY in props) { const blocked = new Set(keys2.length > 1 ? keys2.flat() : keys2[0]); const res = keys2.map((k) => { return new Proxy({ get(property) { return k.includes(property) ? props[property] : void 0; }, has(property) { return k.includes(property) && property in props; }, keys() { return k.filter((property) => property in props); } }, propTraps); }); res.push(new Proxy({ get(property) { return blocked.has(property) ? void 0 : props[property]; }, has(property) { return blocked.has(property) ? false : property in props; }, keys() { return Object.keys(props).filter((k) => !blocked.has(k)); } }, propTraps)); return res; } const otherObject = {}; const objects = keys2.map(() => ({})); for (const propName of Object.getOwnPropertyNames(props)) { const desc = Object.getOwnPropertyDescriptor(props, propName); const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable; let blocked = false; let objectIndex = 0; for (const k of keys2) { if (k.includes(propName)) { blocked = true; isDefaultDesc ? objects[objectIndex][propName] = desc.value : Object.defineProperty(objects[objectIndex], propName, desc); } ++objectIndex; } if (!blocked) { isDefaultDesc ? otherObject[propName] = desc.value : Object.defineProperty(otherObject, propName, desc); } } return [...objects, otherObject]; } function lazy(fn) { let comp; let p2; const wrap = (props) => { const ctx = sharedConfig.context; if (ctx) { const [s2, set] = createSignal(); sharedConfig.count || (sharedConfig.count = 0); sharedConfig.count++; (p2 || (p2 = fn())).then((mod) => { !sharedConfig.done && setHydrateContext(ctx); sharedConfig.count--; set(() => mod.default); setHydrateContext(); }); comp = s2; } else if (!comp) { const [s2] = createResource(() => (p2 || (p2 = fn())).then((mod) => mod.default)); comp = s2; } let Comp; return createMemo(() => (Comp = comp()) ? untrack(() => { if (IS_DEV) ; if (!ctx || sharedConfig.done) return Comp(props); const c2 = sharedConfig.context; setHydrateContext(ctx); const r2 = Comp(props); setHydrateContext(c2); return r2; }) : ""); }; wrap.preload = () => p2 || ((p2 = fn()).then((mod) => comp = () => mod.default), p2); return wrap; } function createUniqueId() { const ctx = sharedConfig.context; return ctx ? sharedConfig.getNextContextId() : `cl-${counter++}`; } function For(props) { const fallback = "fallback" in props && { fallback: () => props.fallback }; return createMemo(mapArray(() => props.each, props.children, fallback || void 0)); } function Index(props) { const fallback = "fallback" in props && { fallback: () => props.fallback }; return createMemo(indexArray(() => props.each, props.children, fallback || void 0)); } function Show(props) { const keyed = props.keyed; const conditionValue = createMemo(() => props.when, void 0, void 0); const condition = keyed ? conditionValue : createMemo(conditionValue, void 0, { equals: (a2, b2) => !a2 === !b2 }); return createMemo(() => { const c2 = condition(); if (c2) { const child = props.children; const fn = typeof child === "function" && child.length > 0; return fn ? untrack(() => child(keyed ? c2 : () => { if (!untrack(condition)) throw narrowedError("Show"); return conditionValue(); })) : child; } return props.fallback; }, void 0, void 0); } function Switch(props) { const chs = children(() => props.children); const switchFunc = createMemo(() => { const ch = chs(); const mps = Array.isArray(ch) ? ch : [ch]; let func = () => void 0; for (let i2 = 0; i2 < mps.length; i2++) { const index = i2; const mp = mps[i2]; const prevFunc = func; const conditionValue = createMemo(() => prevFunc() ? void 0 : mp.when, void 0, void 0); const condition = mp.keyed ? conditionValue : createMemo(conditionValue, void 0, { equals: (a2, b2) => !a2 === !b2 }); func = () => prevFunc() || (condition() ? [index, conditionValue, mp] : void 0); } return func; }); return createMemo(() => { const sel = switchFunc()(); if (!sel) return props.fallback; const [index, conditionValue, mp] = sel; const child = mp.children; const fn = typeof child === "function" && child.length > 0; return fn ? untrack(() => child(mp.keyed ? conditionValue() : () => { if (untrack(switchFunc)()?.[0] !== index) throw narrowedError("Match"); return conditionValue(); })) : child; }, void 0, void 0); } function Match(props) { return props; } var sharedConfig, IS_DEV, equalFn, $PROXY, SUPPORTS_PROXY, $TRACK, signalOptions, ERROR, runEffects, STALE, PENDING, UNOWNED, NO_INIT, Owner, Transition, Scheduler, ExternalSourceConfig, Listener, Updates, Effects, ExecCount, transPending, setTransPending, SuspenseContext, FALLBACK, hydrationEnabled, propTraps, counter, narrowedError, DEV; var init_solid = __esm({ "../../node_modules/.pnpm/solid-js@1.9.7/node_modules/solid-js/dist/solid.js"() { sharedConfig = { context: void 0, registry: void 0, effects: void 0, done: false, getContextId() { return getContextId(this.context.count); }, getNextContextId() { return getContextId(this.context.count++); } }; IS_DEV = false; equalFn = (a2, b2) => a2 === b2; $PROXY = Symbol("solid-proxy"); SUPPORTS_PROXY = typeof Proxy === "function"; $TRACK = Symbol("solid-track"); signalOptions = { equals: equalFn }; ERROR = null; runEffects = runQueue; STALE = 1; PENDING = 2; UNOWNED = { owned: null, cleanups: null, context: null, owner: null }; NO_INIT = {}; Owner = null; Transition = null; Scheduler = null; ExternalSourceConfig = null; Listener = null; Updates = null; Effects = null; ExecCount = 0; [transPending, setTransPending] = /* @__PURE__ */ createSignal(false); FALLBACK = Symbol("fallback"); hydrationEnabled = false; propTraps = { get(_, property, receiver) { if (property === $PROXY) return receiver; return _.get(property); }, has(_, property) { if (property === $PROXY) return true; return _.has(property); }, set: trueFn, deleteProperty: trueFn, getOwnPropertyDescriptor(_, property) { return { configurable: true, enumerable: true, get() { return _.get(property); }, set: trueFn, deleteProperty: trueFn }; }, ownKeys(_) { return _.keys(); } }; counter = 0; narrowedError = (name) => `Stale read from <${name}>.`; DEV = void 0; } }); // ../../node_modules/.pnpm/solid-js@1.9.7/node_modules/solid-js/web/dist/web.js function getPropAlias(prop, tagName) { const a2 = PropAliases[prop]; return typeof a2 === "object" ? a2[tagName] ? a2["$"] : void 0 : a2; } function reconcileArrays(parentNode, a2, b2) { let bLength = b2.length, aEnd = a2.length, bEnd = bLength, aStart = 0, bStart = 0, after = a2[aEnd - 1].nextSibling, map = null; while (aStart < aEnd || bStart < bEnd) { if (a2[aStart] === b2[bStart]) { aStart++; bStart++; continue; } while (a2[aEnd - 1] === b2[bEnd - 1]) { aEnd--; bEnd--; } if (aEnd === aStart) { const node = bEnd < bLength ? bStart ? b2[bStart - 1].nextSibling : b2[bEnd - bStart] : after; while (bStart < bEnd) parentNode.insertBefore(b2[bStart++], node); } else if (bEnd === bStart) { while (aStart < aEnd) { if (!map || !map.has(a2[aStart])) a2[aStart].remove(); aStart++; } } else if (a2[aStart] === b2[bEnd - 1] && b2[bStart] === a2[aEnd - 1]) { const node = a2[--aEnd].nextSibling; parentNode.insertBefore(b2[bStart++], a2[aStart++].nextSibling); parentNode.insertBefore(b2[--bEnd], node); a2[aEnd] = b2[bEnd]; } else { if (!map) { map = /* @__PURE__ */ new Map(); let i2 = bStart; while (i2 < bEnd) map.set(b2[i2], i2++); } const index = map.get(a2[aStart]); if (index != null) { if (bStart < index && index < bEnd) { let i2 = aStart, sequence = 1, t2; while (++i2 < aEnd && i2 < bEnd) { if ((t2 = map.get(a2[i2])) == null || t2 !== index + sequence) break; sequence++; } if (sequence > index - bStart) { const node = a2[aStart]; while (bStart < index) parentNode.insertBefore(b2[bStart++], node); } else parentNode.replaceChild(b2[bStart++], a2[aStart++]); } else aStart++; } else a2[aStart++].remove(); } } } function render(code, element, init, options = {}) { let disposer; createRoot((dispose3) => { disposer = dispose3; element === document ? code() : insert(element, code(), element.firstChild ? null : void 0, init); }, options.owner); return () => { disposer(); element.textContent = ""; }; } function template(html, isImportNode, isSVG, isMathML) { let node; const create = () => { const t2 = document.createElement("template"); t2.innerHTML = html; return t2.content.firstChild; }; const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true); fn.cloneNode = fn; return fn; } function delegateEvents(eventNames, document2 = window.document) { const e2 = document2[$$EVENTS] || (document2[$$EVENTS] = /* @__PURE__ */ new Set()); for (let i2 = 0, l2 = eventNames.length; i2 < l2; i2++) { const name = eventNames[i2]; if (!e2.has(name)) { e2.add(name); document2.addEventListener(name, eventHandler); } } } function clearDelegatedEvents(document2 = window.document) { if (document2[$$EVENTS]) { for (let name of document2[$$EVENTS].keys()) document2.removeEventListener(name, eventHandler); delete document2[$$EVENTS]; } } function setAttribute(node, name, value) { if (isHydrating(node)) return; if (value == null) node.removeAttribute(name); else node.setAttribute(name, value); } function setAttributeNS(node, namespace, name, value) { if (isHydrating(node)) return; if (value == null) node.removeAttributeNS(namespace, name); else node.setAttributeNS(namespace, name, value); } function setBoolAttribute(node, name, value) { if (isHydrating(node)) return; value ? node.setAttribute(name, "") : node.removeAttribute(name); } function className(node, value) { if (isHydrating(node)) return; if (value == null) node.removeAttribute("class"); else node.className = value; } function addEventListener(node, name, handler, delegate) { if (delegate) { if (Array.isArray(handler)) { node[`$$${name}`] = handler[0]; node[`$$${name}Data`] = handler[1]; } else node[`$$${name}`] = handler; } else if (Array.isArray(handler)) { const handlerFn = handler[0]; node.addEventListener(name, handler[0] = (e2) => handlerFn.call(node, handler[1], e2)); } else node.addEventListener(name, handler, typeof handler !== "function" && handler); } function classList(node, value, prev = {}) { const classKeys = Object.keys(value || {}), prevKeys = Object.keys(prev); let i2, len; for (i2 = 0, len = prevKeys.length; i2 < len; i2++) { const key = prevKeys[i2]; if (!key || key === "undefined" || value[key]) continue; toggleClassKey(node, key, false); delete prev[key]; } for (i2 = 0, len = classKeys.length; i2 < len; i2++) { const key = classKeys[i2], classValue = !!value[key]; if (!key || key === "undefined" || prev[key] === classValue || !classValue) continue; toggleClassKey(node, key, true); prev[key] = classValue; } return prev; } function style(node, value, prev) { if (!value) return prev ? setAttribute(node, "style") : value; const nodeStyle = node.style; if (typeof value === "string") return nodeStyle.cssText = value; typeof prev === "string" && (nodeStyle.cssText = prev = void 0); prev || (prev = {}); value || (value = {}); let v, s2; for (s2 in prev) { value[s2] == null && nodeStyle.removeProperty(s2); delete prev[s2]; } for (s2 in value) { v = value[s2]; if (v !== prev[s2]) { nodeStyle.setProperty(s2, v); prev[s2] = v; } } return prev; } function spread(node, props = {}, isSVG, skipChildren) { const prevProps = {}; if (!skipChildren) { createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children)); } createRenderEffect(() => typeof props.ref === "function" && use(props.ref, node)); createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true)); return prevProps; } function use(fn, element, arg) { return untrack(() => fn(element, arg)); } function insert(parent, accessor, marker, initial) { if (marker !== void 0 && !initial) initial = []; if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker); createRenderEffect((current) => insertExpression(parent, accessor(), current, marker), initial); } function assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) { props || (props = {}); for (const prop in prevProps) { if (!(prop in props)) { if (prop === "children") continue; prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props); } } for (const prop in props) { if (prop === "children") { continue; } const value = props[prop]; prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props); } } function getNextElement(template2) { let node, key, hydrating = isHydrating(); if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) { return template2(); } if (sharedConfig.completed) sharedConfig.completed.add(node); sharedConfig.registry.delete(key); return node; } function isHydrating(node) { return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected); } function toPropertyName(name) { return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase()); } function toggleClassKey(node, key, value) { const classNames = key.trim().split(/\s+/); for (let i2 = 0, nameLen = classNames.length; i2 < nameLen; i2++) node.classList.toggle(classNames[i2], value); } function assignProp(node, prop, value, prev, isSVG, skipRef, props) { let isCE, isProp, isChildProp, propAlias, forceProp; if (prop === "style") return style(node, value, prev); if (prop === "classList") return classList(node, value, prev); if (value === prev) return prev; if (prop === "ref") { if (!skipRef) value(node); } else if (prop.slice(0, 3) === "on:") { const e2 = prop.slice(3); prev && node.removeEventListener(e2, prev, typeof prev !== "function" && prev); value && node.addEventListener(e2, value, typeof value !== "function" && value); } else if (prop.slice(0, 10) === "oncapture:") { const e2 = prop.slice(10); prev && node.removeEventListener(e2, prev, true); value && node.addEventListener(e2, value, true); } else if (prop.slice(0, 2) === "on") { const name = prop.slice(2).toLowerCase(); const delegate = DelegatedEvents.has(name); if (!delegate && prev) { const h2 = Array.isArray(prev) ? prev[0] : prev; node.removeEventListener(name, h2); } if (delegate || value) { addEventListener(node, name, value, delegate); delegate && delegateEvents([name]); } } else if (prop.slice(0, 5) === "attr:") { setAttribute(node, prop.slice(5), value); } else if (prop.slice(0, 5) === "bool:") { setBoolAttribute(node, prop.slice(5), value); } else if ((forceProp = prop.slice(0, 5) === "prop:") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-") || "is" in props)) { if (forceProp) { prop = prop.slice(5); isProp = true; } else if (isHydrating(node)) return value; if (prop === "class" || prop === "className") className(node, value); else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value; else node[propAlias || prop] = value; } else { const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]]; if (ns) setAttributeNS(node, ns, prop, value); else setAttribute(node, Aliases[prop] || prop, value); } return value; } function eventHandler(e2) { if (sharedConfig.registry && sharedConfig.events) { if (sharedConfig.events.find(([el, ev]) => ev === e2)) return; } let node = e2.target; const key = `$$${e2.type}`; const oriTarget = e2.target; const oriCurrentTarget = e2.currentTarget; const retarget = (value) => Object.defineProperty(e2, "target", { configurable: true, value }); const handleNode = () => { const handler = node[key]; if (handler && !node.disabled) { const data = node[`${key}Data`]; data !== void 0 ? handler.call(node, data, e2) : handler.call(node, e2); if (e2.cancelBubble) return; } node.host && typeof node.host !== "string" && !node.host._$host && node.contains(e2.target) && retarget(node.host); return true; }; const walkUpTree = () => { while (handleNode() && (node = node._$host || node.parentNode || node.host)) ; }; Object.defineProperty(e2, "currentTarget", { configurable: true, get() { return node || document; } }); if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true; if (e2.composedPath) { const path = e2.composedPath(); retarget(path[0]); for (let i2 = 0; i2 < path.length - 2; i2++) { node = path[i2]; if (!handleNode()) break; if (node._$host) { node = node._$host; walkUpTree(); break; } if (node.parentNode === oriCurrentTarget) { break; } } } else walkUpTree(); retarget(oriTarget); } function insertExpression(parent, value, current, marker, unwrapArray) { const hydrating = isHydrating(parent); if (hydrating) { !current && (current = [...parent.childNodes]); let cleaned = []; for (let i2 = 0; i2 < current.length; i2++) { const node = current[i2]; if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove(); else cleaned.push(node); } current = cleaned; } while (typeof current === "function") current = current(); if (value === current) return current; const t2 = typeof value, multi = marker !== void 0; parent = multi && current[0] && current[0].parentNode || parent; if (t2 === "string" || t2 === "number") { if (hydrating) return current; if (t2 === "number") { value = value.toString(); if (value === current) return current; } if (multi) { let node = current[0]; if (node && node.nodeType === 3) { node.data !== value && (node.data = value); } else node = document.createTextNode(value); current = cleanChildren(parent, current, marker, node); } else { if (current !== "" && typeof current === "string") { current = parent.firstChild.data = value; } else current = parent.textContent = value; } } else if (value == null || t2 === "boolean") { if (hydrating) return current; current = cleanChildren(parent, current, marker); } else if (t2 === "function") { createRenderEffect(() => { let v = value(); while (typeof v === "function") v = v(); current = insertExpression(parent, v, current, marker); }); return () => current; } else if (Array.isArray(value)) { const array = []; const currentArray = current && Array.isArray(current); if (normalizeIncomingArray(array, value, current, unwrapArray)) { createRenderEffect(() => current = insertExpression(parent, array, current, marker, true)); return () => current; } if (hydrating) { if (!array.length) return current; if (marker === void 0) return current = [...parent.childNodes]; let node = array[0]; if (node.parentNode !== parent) return current; const nodes = [node]; while ((node = node.nextSibling) !== marker) nodes.push(node); return current = nodes; } if (array.length === 0) { current = cleanChildren(parent, current, marker); if (multi) return current; } else if (currentArray) { if (current.length === 0) { appendNodes(parent, array, marker); } else reconcileArrays(parent, current, array); } else { current && cleanChildren(parent); appendNodes(parent, array); } current = array; } else if (value.nodeType) { if (hydrating && value.parentNode) return current = multi ? [value] : value; if (Array.isArray(current)) { if (multi) return current = cleanChildren(parent, current, marker, value); cleanChildren(parent, current, null, value); } else if (current == null || current === "" || !parent.firstChild) { parent.appendChild(value); } else parent.replaceChild(value, parent.firstChild); current = value; } else ; return current; } function normalizeIncomingArray(normalized, array, current, unwrap) { let dynamic = false; for (let i2 = 0, len = array.length; i2 < len; i2++) { let item = array[i2], prev = current && current[normalized.length], t2; if (item == null || item === true || item === false) ; else if ((t2 = typeof item) === "object" && item.nodeType) { normalized.push(item); } else if (Array.isArray(item)) { dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic; } else if (t2 === "function") { if (unwrap) { while (typeof item === "function") item = item(); dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic; } else { normalized.push(item); dynamic = true; } } else { const value = String(item); if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev); else normalized.push(document.createTextNode(value)); } } return dynamic; } function appendNodes(parent, array, marker = null) { for (let i2 = 0, len = array.length; i2 < len; i2++) parent.insertBefore(array[i2], marker); } function cleanChildren(parent, current, marker, replacement) { if (marker === void 0) return parent.textContent = ""; const node = replacement || document.createTextNode(""); if (current.length) { let inserted = false; for (let i2 = current.length - 1; i2 >= 0; i2--) { const el = current[i2]; if (node !== el) { const isParent = el.parentNode === parent; if (!inserted && !i2) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker); else isParent && el.remove(); } else inserted = true; } } else parent.insertBefore(node, marker); return [node]; } function getHydrationKey() { return sharedConfig.getNextContextId(); } function createElement(tagName, isSVG = false) { return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName); } function Portal(props) { const { useShadow } = props, marker = document.createTextNode(""), mount = () => props.mount || document.body, owner = getOwner(); let content; let hydrating = !!sharedConfig.context; createEffect(() => { if (hydrating) getOwner().user = hydrating = false; content || (content = runWithOwner(owner, () => createMemo(() => props.children))); const el = mount(); if (el instanceof HTMLHeadElement) { const [clean, setClean] = createSignal(false); const cleanup = () => setClean(true); createRoot((dispose3) => insert(el, () => !clean() ? content() : dispose3(), null)); onCleanup(cleanup); } else { const container = createElement(props.isSVG ? "g" : "div", props.isSVG), renderRoot = useShadow && container.attachShadow ? container.attachShadow({ mode: "open" }) : container; Object.defineProperty(container, "_$host", { get() { return marker.parentNode; }, configurable: true }); insert(renderRoot, content); el.appendChild(container); props.ref && props.ref(container); onCleanup(() => el.removeChild(container)); } }, void 0, { render: !hydrating }); return marker; } function createDynamic(component, props) { const cached = createMemo(component); return createMemo(() => { const component2 = cached(); switch (typeof component2) { case "function": return untrack(() => component2(props)); case "string": const isSvg = SVGElements.has(component2); const el = sharedConfig.context ? getNextElement() : createElement(component2, isSvg); spread(el, props, isSvg); return el; } }); } function Dynamic(props) { const [, others] = splitProps(props, ["component"]); return createDynamic(() => props.component, others); } var booleans, Properties, ChildProperties, Aliases, PropAliases, DelegatedEvents, SVGElements, SVGNamespace, memo, $$EVENTS, isServer, SVG_NAMESPACE; var init_web = __esm({ "../../node_modules/.pnpm/solid-js@1.9.7/node_modules/solid-js/web/dist/web.js"() { init_solid(); init_solid(); booleans = ["allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "hidden", "indeterminate", "inert", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected"]; Properties = /* @__PURE__ */ new Set(["className", "value", "readOnly", "noValidate", "formNoValidate", "isMap", "noModule", "playsInline", ...booleans]); ChildProperties = /* @__PURE__ */ new Set(["innerHTML", "textContent", "innerText", "children"]); Aliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), { className: "class", htmlFor: "for" }); PropAliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), { class: "className", novalidate: { $: "noValidate", FORM: 1 }, formnovalidate: { $: "formNoValidate", BUTTON: 1, INPUT: 1 }, ismap: { $: "isMap", IMG: 1 }, nomodule: { $: "noModule", SCRIPT: 1 }, playsinline: { $: "playsInline", VIDEO: 1 }, readonly: { $: "readOnly", INPUT: 1, TEXTAREA: 1 } }); DelegatedEvents = /* @__PURE__ */ new Set(["beforeinput", "click", "dblclick", "contextmenu", "focusin", "focusout", "input", "keydown", "keyup", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "pointerdown", "pointermove", "pointerout", "pointerover", "pointerup", "touchend", "touchmove", "touchstart"]); SVGElements = /* @__PURE__ */ new Set([ "altGlyph", "altGlyphDef", "altGlyphItem", "animate", "animateColor", "animateMotion", "animateTransform", "circle", "clipPath", "color-profile", "cursor", "defs", "desc", "ellipse", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence", "filter", "font", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignObject", "g", "glyph", "glyphRef", "hkern", "image", "line", "linearGradient", "marker", "mask", "metadata", "missing-glyph", "mpath", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "set", "stop", "svg", "switch", "symbol", "text", "textPath", "tref", "tspan", "use", "view", "vkern" ]); SVGNamespace = { xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace" }; memo = (fn) => createMemo(() => fn()); $$EVENTS = "_$DX_DELEGATE"; isServer = false; SVG_NAMESPACE = "http://www.w3.org/2000/svg"; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js var DoubleIndexedKV; var init_double_indexed_kv = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/double-indexed-kv.js"() { DoubleIndexedKV = class { constructor() { this.keyToValue = /* @__PURE__ */ new Map(); this.valueToKey = /* @__PURE__ */ new Map(); } set(key, value) { this.keyToValue.set(key, value); this.valueToKey.set(value, key); } getByKey(key) { return this.keyToValue.get(key); } getByValue(value) { return this.valueToKey.get(value); } clear() { this.keyToValue.clear(); this.valueToKey.clear(); } }; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js var Registry; var init_registry = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/registry.js"() { init_double_indexed_kv(); Registry = class { constructor(generateIdentifier) { this.generateIdentifier = generateIdentifier; this.kv = new DoubleIndexedKV(); } register(value, identifier) { if (this.kv.getByValue(value)) { return; } if (!identifier) { identifier = this.generateIdentifier(value); } this.kv.set(identifier, value); } clear() { this.kv.clear(); } getIdentifier(value) { return this.kv.getByValue(value); } getValue(identifier) { return this.kv.getByKey(identifier); } }; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js var ClassRegistry; var init_class_registry = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/class-registry.js"() { init_registry(); ClassRegistry = class extends Registry { constructor() { super((c2) => c2.name); this.classToAllowedProps = /* @__PURE__ */ new Map(); } register(value, options) { if (typeof options === "object") { if (options.allowProps) { this.classToAllowedProps.set(value, options.allowProps); } super.register(value, options.identifier); } else { super.register(value, options); } } getAllowedProps(value) { return this.classToAllowedProps.get(value); } }; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js function valuesOfObj(record) { if ("values" in Object) { return Object.values(record); } const values = []; for (const key in record) { if (record.hasOwnProperty(key)) { values.push(record[key]); } } return values; } function find(record, predicate) { const values = valuesOfObj(record); if ("find" in values) { return values.find(predicate); } const valuesNotNever = values; for (let i2 = 0; i2 < valuesNotNever.length; i2++) { const value = valuesNotNever[i2]; if (predicate(value)) { return value; } } return void 0; } function forEach(record, run) { Object.entries(record).forEach(([key, value]) => run(value, key)); } function includes(arr, value) { return arr.indexOf(value) !== -1; } function findArr(record, predicate) { for (let i2 = 0; i2 < record.length; i2++) { const value = record[i2]; if (predicate(value)) { return value; } } return void 0; } var init_util = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/util.js"() { } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js var CustomTransformerRegistry; var init_custom_transformer_registry = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/custom-transformer-registry.js"() { init_util(); CustomTransformerRegistry = class { constructor() { this.transfomers = {}; } register(transformer) { this.transfomers[transformer.name] = transformer; } findApplicable(v) { return find(this.transfomers, (transformer) => transformer.isApplicable(v)); } findByName(name) { return this.transfomers[name]; } }; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js var getType, isUndefined, isNull, isPlainObject, isEmptyObject, isArray, isString, isNumber, isBoolean, isRegExp, isMap, isSet, isSymbol, isDate, isError, isNaNValue, isPrimitive, isBigint, isInfinite, isTypedArray, isURL; var init_is = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/is.js"() { getType = (payload) => Object.prototype.toString.call(payload).slice(8, -1); isUndefined = (payload) => typeof payload === "undefined"; isNull = (payload) => payload === null; isPlainObject = (payload) => { if (typeof payload !== "object" || payload === null) return false; if (payload === Object.prototype) return false; if (Object.getPrototypeOf(payload) === null) return true; return Object.getPrototypeOf(payload) === Object.prototype; }; isEmptyObject = (payload) => isPlainObject(payload) && Object.keys(payload).length === 0; isArray = (payload) => Array.isArray(payload); isString = (payload) => typeof payload === "string"; isNumber = (payload) => typeof payload === "number" && !isNaN(payload); isBoolean = (payload) => typeof payload === "boolean"; isRegExp = (payload) => payload instanceof RegExp; isMap = (payload) => payload instanceof Map; isSet = (payload) => payload instanceof Set; isSymbol = (payload) => getType(payload) === "Symbol"; isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf()); isError = (payload) => payload instanceof Error; isNaNValue = (payload) => typeof payload === "number" && isNaN(payload); isPrimitive = (payload) => isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload); isBigint = (payload) => typeof payload === "bigint"; isInfinite = (payload) => payload === Infinity || payload === -Infinity; isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView); isURL = (payload) => payload instanceof URL; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js var escapeKey, stringifyPath, parsePath; var init_pathstringifier = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/pathstringifier.js"() { escapeKey = (key) => key.replace(/\./g, "\\."); stringifyPath = (path) => path.map(String).map(escapeKey).join("."); parsePath = (string) => { const result = []; let segment = ""; for (let i2 = 0; i2 < string.length; i2++) { let char = string.charAt(i2); const isEscapedDot = char === "\\" && string.charAt(i2 + 1) === "."; if (isEscapedDot) { segment += "."; i2++; continue; } const isEndOfSegment = char === "."; if (isEndOfSegment) { result.push(segment); segment = ""; continue; } segment += char; } const lastSegment = segment; result.push(lastSegment); return result; }; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js function simpleTransformation(isApplicable, annotation, transform, untransform) { return { isApplicable, annotation, transform, untransform }; } function compositeTransformation(isApplicable, annotation, transform, untransform) { return { isApplicable, annotation, transform, untransform }; } function isInstanceOfRegisteredClass(potentialClass, superJson) { if (potentialClass?.constructor) { const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor); return isRegistered; } return false; } var simpleRules, symbolRule, constructorToName, typedArrayRule, classRule, customRule, compositeRules, transformValue, simpleRulesByAnnotation, untransformValue; var init_transformer = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/transformer.js"() { init_is(); init_util(); simpleRules = [ simpleTransformation(isUndefined, "undefined", () => null, () => void 0), simpleTransformation(isBigint, "bigint", (v) => v.toString(), (v) => { if (typeof BigInt !== "undefined") { return BigInt(v); } return v; }), simpleTransformation(isDate, "Date", (v) => v.toISOString(), (v) => new Date(v)), simpleTransformation(isError, "Error", (v, superJson) => { const baseError = { name: v.name, message: v.message }; superJson.allowedErrorProps.forEach((prop) => { baseError[prop] = v[prop]; }); return baseError; }, (v, superJson) => { const e2 = new Error(v.message); e2.name = v.name; e2.stack = v.stack; superJson.allowedErrorProps.forEach((prop) => { e2[prop] = v[prop]; }); return e2; }), simpleTransformation(isRegExp, "regexp", (v) => "" + v, (regex) => { const body = regex.slice(1, regex.lastIndexOf("/")); const flags = regex.slice(regex.lastIndexOf("/") + 1); return new RegExp(body, flags); }), simpleTransformation( isSet, "set", // (sets only exist in es6+) // eslint-disable-next-line es5/no-es6-methods (v) => [...v.values()], (v) => new Set(v) ), simpleTransformation(isMap, "map", (v) => [...v.entries()], (v) => new Map(v)), simpleTransformation((v) => isNaNValue(v) || isInfinite(v), "number", (v) => { if (isNaNValue(v)) { return "NaN"; } if (v > 0) { return "Infinity"; } else { return "-Infinity"; } }, Number), simpleTransformation((v) => v === 0 && 1 / v === -Infinity, "number", () => { return "-0"; }, Number), simpleTransformation(isURL, "URL", (v) => v.toString(), (v) => new URL(v)) ]; symbolRule = compositeTransformation((s2, superJson) => { if (isSymbol(s2)) { const isRegistered = !!superJson.symbolRegistry.getIdentifier(s2); return isRegistered; } return false; }, (s2, superJson) => { const identifier = superJson.symbolRegistry.getIdentifier(s2); return ["symbol", identifier]; }, (v) => v.description, (_, a2, superJson) => { const value = superJson.symbolRegistry.getValue(a2[1]); if (!value) { throw new Error("Trying to deserialize unknown symbol"); } return value; }); constructorToName = [ Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, Uint8ClampedArray ].reduce((obj, ctor) => { obj[ctor.name] = ctor; return obj; }, {}); typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a2) => { const ctor = constructorToName[a2[1]]; if (!ctor) { throw new Error("Trying to deserialize unknown typed array"); } return new ctor(v); }); classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => { const identifier = superJson.classRegistry.getIdentifier(clazz.constructor); return ["class", identifier]; }, (clazz, superJson) => { const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor); if (!allowedProps) { return { ...clazz }; } const result = {}; allowedProps.forEach((prop) => { result[prop] = clazz[prop]; }); return result; }, (v, a2, superJson) => { const clazz = superJson.classRegistry.getValue(a2[1]); if (!clazz) { throw new Error(`Trying to deserialize unknown class '${a2[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`); } return Object.assign(Object.create(clazz.prototype), v); }); customRule = compositeTransformation((value, superJson) => { return !!superJson.customTransformerRegistry.findApplicable(value); }, (value, superJson) => { const transformer = superJson.customTransformerRegistry.findApplicable(value); return ["custom", transformer.name]; }, (value, superJson) => { const transformer = superJson.customTransformerRegistry.findApplicable(value); return transformer.serialize(value); }, (v, a2, superJson) => { const transformer = superJson.customTransformerRegistry.findByName(a2[1]); if (!transformer) { throw new Error("Trying to deserialize unknown custom value"); } return transformer.deserialize(v); }); compositeRules = [classRule, symbolRule, customRule, typedArrayRule]; transformValue = (value, superJson) => { const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson)); if (applicableCompositeRule) { return { value: applicableCompositeRule.transform(value, superJson), type: applicableCompositeRule.annotation(value, superJson) }; } const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson)); if (applicableSimpleRule) { return { value: applicableSimpleRule.transform(value, superJson), type: applicableSimpleRule.annotation }; } return void 0; }; simpleRulesByAnnotation = {}; simpleRules.forEach((rule) => { simpleRulesByAnnotation[rule.annotation] = rule; }); untransformValue = (json, type, superJson) => { if (isArray(type)) { switch (type[0]) { case "symbol": return symbolRule.untransform(json, type, superJson); case "class": return classRule.untransform(json, type, superJson); case "custom": return customRule.untransform(json, type, superJson); case "typed-array": return typedArrayRule.untransform(json, type, superJson); default: throw new Error("Unknown transformation: " + type); } } else { const transformation = simpleRulesByAnnotation[type]; if (!transformation) { throw new Error("Unknown transformation: " + type); } return transformation.untransform(json, superJson); } }; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js function validatePath(path) { if (includes(path, "__proto__")) { throw new Error("__proto__ is not allowed as a property"); } if (includes(path, "prototype")) { throw new Error("prototype is not allowed as a property"); } if (includes(path, "constructor")) { throw new Error("constructor is not allowed as a property"); } } var getNthKey, getDeep, setDeep; var init_accessDeep = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/accessDeep.js"() { init_is(); init_util(); getNthKey = (value, n2) => { if (n2 > value.size) throw new Error("index out of bounds"); const keys2 = value.keys(); while (n2 > 0) { keys2.next(); n2--; } return keys2.next().value; }; getDeep = (object, path) => { validatePath(path); for (let i2 = 0; i2 < path.length; i2++) { const key = path[i2]; if (isSet(object)) { object = getNthKey(object, +key); } else if (isMap(object)) { const row = +key; const type = +path[++i2] === 0 ? "key" : "value"; const keyOfRow = getNthKey(object, row); switch (type) { case "key": object = keyOfRow; break; case "value": object = object.get(keyOfRow); break; } } else { object = object[key]; } } return object; }; setDeep = (object, path, mapper) => { validatePath(path); if (path.length === 0) { return mapper(object); } let parent = object; for (let i2 = 0; i2 < path.length - 1; i2++) { const key = path[i2]; if (isArray(parent)) { const index = +key; parent = parent[index]; } else if (isPlainObject(parent)) { parent = parent[key]; } else if (isSet(parent)) { const row = +key; parent = getNthKey(parent, row); } else if (isMap(parent)) { const isEnd = i2 === path.length - 2; if (isEnd) { break; } const row = +key; const type = +path[++i2] === 0 ? "key" : "value"; const keyOfRow = getNthKey(parent, row); switch (type) { case "key": parent = keyOfRow; break; case "value": parent = parent.get(keyOfRow); break; } } } const lastKey = path[path.length - 1]; if (isArray(parent)) { parent[+lastKey] = mapper(parent[+lastKey]); } else if (isPlainObject(parent)) { parent[lastKey] = mapper(parent[lastKey]); } if (isSet(parent)) { const oldValue = getNthKey(parent, +lastKey); const newValue = mapper(oldValue); if (oldValue !== newValue) { parent.delete(oldValue); parent.add(newValue); } } if (isMap(parent)) { const row = +path[path.length - 2]; const keyToRow = getNthKey(parent, row); const type = +lastKey === 0 ? "key" : "value"; switch (type) { case "key": { const newKey = mapper(keyToRow); parent.set(newKey, parent.get(keyToRow)); if (newKey !== keyToRow) { parent.delete(keyToRow); } break; } case "value": { parent.set(keyToRow, mapper(parent.get(keyToRow))); break; } } } return object; }; } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js function traverse(tree, walker2, origin = []) { if (!tree) { return; } if (!isArray(tree)) { forEach(tree, (subtree, key) => traverse(subtree, walker2, [...origin, ...parsePath(key)])); return; } const [nodeValue, children2] = tree; if (children2) { forEach(children2, (child, key) => { traverse(child, walker2, [...origin, ...parsePath(key)]); }); } walker2(nodeValue, origin); } function applyValueAnnotations(plain, annotations, superJson) { traverse(annotations, (type, path) => { plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson)); }); return plain; } function applyReferentialEqualityAnnotations(plain, annotations) { function apply(identicalPaths, path) { const object = getDeep(plain, parsePath(path)); identicalPaths.map(parsePath).forEach((identicalObjectPath) => { plain = setDeep(plain, identicalObjectPath, () => object); }); } if (isArray(annotations)) { const [root, other] = annotations; root.forEach((identicalPath) => { plain = setDeep(plain, parsePath(identicalPath), () => plain); }); if (other) { forEach(other, apply); } } else { forEach(annotations, apply); } return plain; } function addIdentity(object, path, identities) { const existingSet = identities.get(object); if (existingSet) { existingSet.push(path); } else { identities.set(object, [path]); } } function generateReferentialEqualityAnnotations(identitites, dedupe) { const result = {}; let rootEqualityPaths = void 0; identitites.forEach((paths) => { if (paths.length <= 1) { return; } if (!dedupe) { paths = paths.map((path) => path.map(String)).sort((a2, b2) => a2.length - b2.length); } const [representativePath, ...identicalPaths] = paths; if (representativePath.length === 0) { rootEqualityPaths = identicalPaths.map(stringifyPath); } else { result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath); } }); if (rootEqualityPaths) { if (isEmptyObject(result)) { return [rootEqualityPaths]; } else { return [rootEqualityPaths, result]; } } else { return isEmptyObject(result) ? void 0 : result; } } var isDeep, walker; var init_plainer = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/plainer.js"() { init_is(); init_pathstringifier(); init_transformer(); init_util(); init_pathstringifier(); init_accessDeep(); isDeep = (object, superJson) => isPlainObject(object) || isArray(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson); walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => { const primitive = isPrimitive(object); if (!primitive) { addIdentity(object, path, identities); const seen = seenObjects.get(object); if (seen) { return dedupe ? { transformedValue: null } : seen; } } if (!isDeep(object, superJson)) { const transformed2 = transformValue(object, superJson); const result2 = transformed2 ? { transformedValue: transformed2.value, annotations: [transformed2.type] } : { transformedValue: object }; if (!primitive) { seenObjects.set(object, result2); } return result2; } if (includes(objectsInThisPath, object)) { return { transformedValue: null }; } const transformationResult = transformValue(object, superJson); const transformed = transformationResult?.value ?? object; const transformedValue = isArray(transformed) ? [] : {}; const innerAnnotations = {}; forEach(transformed, (value, index) => { if (index === "__proto__" || index === "constructor" || index === "prototype") { throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`); } const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects); transformedValue[index] = recursiveResult.transformedValue; if (isArray(recursiveResult.annotations)) { innerAnnotations[index] = recursiveResult.annotations; } else if (isPlainObject(recursiveResult.annotations)) { forEach(recursiveResult.annotations, (tree, key) => { innerAnnotations[escapeKey(index) + "." + key] = tree; }); } }); const result = isEmptyObject(innerAnnotations) ? { transformedValue, annotations: !!transformationResult ? [transformationResult.type] : void 0 } : { transformedValue, annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations }; if (!primitive) { seenObjects.set(object, result); } return result; }; } }); // ../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js function getType2(payload) { return Object.prototype.toString.call(payload).slice(8, -1); } function isArray2(payload) { return getType2(payload) === "Array"; } function isPlainObject2(payload) { if (getType2(payload) !== "Object") return false; const prototype = Object.getPrototypeOf(payload); return !!prototype && prototype.constructor === Object && prototype === Object.prototype; } var init_dist = __esm({ "../../node_modules/.pnpm/is-what@4.1.16/node_modules/is-what/dist/index.js"() { } }); // ../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js function assignProp2(carry, key, newVal, originalObject, includeNonenumerable) { const propType = {}.propertyIsEnumerable.call(originalObject, key) ? "enumerable" : "nonenumerable"; if (propType === "enumerable") carry[key] = newVal; if (includeNonenumerable && propType === "nonenumerable") { Object.defineProperty(carry, key, { value: newVal, enumerable: false, writable: true, configurable: true }); } } function copy(target, options = {}) { if (isArray2(target)) { return target.map((item) => copy(item, options)); } if (!isPlainObject2(target)) { return target; } const props = Object.getOwnPropertyNames(target); const symbols = Object.getOwnPropertySymbols(target); return [...props, ...symbols].reduce((carry, key) => { if (isArray2(options.props) && !options.props.includes(key)) { return carry; } const val = target[key]; const newVal = copy(val, options); assignProp2(carry, key, newVal, target, options.nonenumerable); return carry; }, {}); } var init_dist2 = __esm({ "../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js"() { init_dist(); } }); // ../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js var SuperJSON, serialize, stringify; var init_dist3 = __esm({ "../../node_modules/.pnpm/superjson@2.2.2/node_modules/superjson/dist/index.js"() { init_class_registry(); init_registry(); init_custom_transformer_registry(); init_plainer(); init_dist2(); SuperJSON = class { /** * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`. */ constructor({ dedupe = false } = {}) { this.classRegistry = new ClassRegistry(); this.symbolRegistry = new Registry((s2) => s2.description ?? ""); this.customTransformerRegistry = new CustomTransformerRegistry(); this.allowedErrorProps = []; this.dedupe = dedupe; } serialize(object) { const identities = /* @__PURE__ */ new Map(); const output = walker(object, identities, this, this.dedupe); const res = { json: output.transformedValue }; if (output.annotations) { res.meta = { ...res.meta, values: output.annotations }; } const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe); if (equalityAnnotations) { res.meta = { ...res.meta, referentialEqualities: equalityAnnotations }; } return res; } deserialize(payload) { const { json, meta } = payload; let result = copy(json); if (meta?.values) { result = applyValueAnnotations(result, meta.values, this); } if (meta?.referentialEqualities) { result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities); } return result; } stringify(object) { return JSON.stringify(this.serialize(object)); } parse(string) { return this.deserialize(JSON.parse(string)); } registerClass(v, options) { this.classRegistry.register(v, options); } registerSymbol(v, identifier) { this.symbolRegistry.register(v, identifier); } registerCustom(transformer, name) { this.customTransformerRegistry.register({ name, ...transformer }); } allowErrorProps(...props) { this.allowedErrorProps.push(...props); } }; SuperJSON.defaultInstance = new SuperJSON(); SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance); SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance); SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance); SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance); SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance); SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance); SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance); SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance); serialize = SuperJSON.serialize; SuperJSON.deserialize; stringify = SuperJSON.stringify; SuperJSON.parse; SuperJSON.registerClass; SuperJSON.registerCustom; SuperJSON.registerSymbol; SuperJSON.allowErrorProps; } }); // src/utils.tsx function getQueryStatusLabel(query) { return query.state.fetchStatus === "fetching" ? "fetching" : !query.getObserversCount() ? "inactive" : query.state.fetchStatus === "paused" ? "paused" : query.isStale() ? "stale" : "fresh"; } function getSidedProp(prop, side) { return `${prop}${side.charAt(0).toUpperCase() + side.slice(1)}`; } function getQueryStatusColor({ queryState, observerCount, isStale }) { return queryState.fetchStatus === "fetching" ? "blue" : !observerCount ? "gray" : queryState.fetchStatus === "paused" ? "purple" : isStale ? "yellow" : "green"; } function getMutationStatusColor({ status, isPaused }) { return isPaused ? "purple" : status === "error" ? "red" : status === "pending" ? "yellow" : status === "success" ? "green" : "gray"; } function getQueryStatusColorByLabel(label) { return label === "fresh" ? "green" : label === "stale" ? "yellow" : label === "paused" ? "purple" : label === "inactive" ? "gray" : "blue"; } var displayValue, getStatusRank, queryHashSort, dateSort, statusAndDateSort, sortFns, getMutationStatusRank, mutationDateSort, mutationStatusSort, mutationSortFns, convertRemToPixels, getPreferredColorScheme, updateNestedDataByPath, deleteNestedDataByPath, setupStyleSheet; var init_utils = __esm({ "src/utils.tsx"() { init_dist3(); init_solid(); displayValue = (value, beautify = false) => { const { json } = serialize(value); return JSON.stringify(json, null, beautify ? 2 : void 0); }; getStatusRank = (q) => q.state.fetchStatus !== "idle" ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1; queryHashSort = (a2, b2) => a2.queryHash.localeCompare(b2.queryHash); dateSort = (a2, b2) => a2.state.dataUpdatedAt < b2.state.dataUpdatedAt ? 1 : -1; statusAndDateSort = (a2, b2) => { if (getStatusRank(a2) === getStatusRank(b2)) { return dateSort(a2, b2); } return getStatusRank(a2) > getStatusRank(b2) ? 1 : -1; }; sortFns = { status: statusAndDateSort, "query hash": queryHashSort, "last updated": dateSort }; getMutationStatusRank = (m) => m.state.isPaused ? 0 : m.state.status === "error" ? 2 : m.state.status === "pending" ? 1 : 3; mutationDateSort = (a2, b2) => a2.state.submittedAt < b2.state.submittedAt ? 1 : -1; mutationStatusSort = (a2, b2) => { if (getMutationStatusRank(a2) === getMutationStatusRank(b2)) { return mutationDateSort(a2, b2); } return getMutationStatusRank(a2) > getMutationStatusRank(b2) ? 1 : -1; }; mutationSortFns = { status: mutationStatusSort, "last updated": mutationDateSort }; convertRemToPixels = (rem) => { return rem * parseFloat(getComputedStyle(document.documentElement).fontSize); }; getPreferredColorScheme = () => { const [colorScheme, setColorScheme] = createSignal("dark"); onMount(() => { const query = window.matchMedia("(prefers-color-scheme: dark)"); setColorScheme(query.matches ? "dark" : "light"); const listener = (e2) => { setColorScheme(e2.matches ? "dark" : "light"); }; query.addEventListener("change", listener); onCleanup(() => query.removeEventListener("change", listener)); }); return colorScheme; }; updateNestedDataByPath = (oldData, updatePath, value) => { if (updatePath.length === 0) { return value; } if (oldData instanceof Map) { const newData = new Map(oldData); if (updatePath.length === 1) { newData.set(updatePath[0], value); return newData; } const [head, ...tail] = updatePath; newData.set(head, updateNestedDataByPath(newData.get(head), tail, value)); return newData; } if (oldData instanceof Set) { const setAsArray = updateNestedDataByPath(Array.from(oldData), updatePath, value); return new Set(setAsArray); } if (Array.isArray(oldData)) { const newData = [...oldData]; if (updatePath.length === 1) { newData[updatePath[0]] = value; return newData; } const [head, ...tail] = updatePath; newData[head] = updateNestedDataByPath(newData[head], tail, value); return newData; } if (oldData instanceof Object) { const newData = { ...oldData }; if (updatePath.length === 1) { newData[updatePath[0]] = value; return newData; } const [head, ...tail] = updatePath; newData[head] = updateNestedDataByPath(newData[head], tail, value); return newData; } return oldData; }; deleteNestedDataByPath = (oldData, deletePath) => { if (oldData instanceof Map) { const newData = new Map(oldData); if (deletePath.length === 1) { newData.delete(deletePath[0]); return newData; } const [head, ...tail] = deletePath; newData.set(head, deleteNestedDataByPath(newData.get(head), tail)); return newData; } if (oldData instanceof Set) { const setAsArray = deleteNestedDataByPath(Array.from(oldData), deletePath); return new Set(setAsArray); } if (Array.isArray(oldData)) { const newData = [...oldData]; if (deletePath.length === 1) { return newData.filter((_, idx) => idx.toString() !== deletePath[0]); } const [head, ...tail] = deletePath; newData[head] = deleteNestedDataByPath(newData[head], tail); return newData; } if (oldData instanceof Object) { const newData = { ...oldData }; if (deletePath.length === 1) { delete newData[deletePath[0]]; return newData; } const [head, ...tail] = deletePath; newData[head] = deleteNestedDataByPath(newData[head], tail); return newData; } return oldData; }; setupStyleSheet = (nonce, target) => { if (!nonce) return; const styleExists = document.querySelector("#_goober") || target?.querySelector("#_goober"); if (styleExists) return; const styleTag = document.createElement("style"); const textNode = document.createTextNode(""); styleTag.appendChild(textNode); styleTag.id = "_goober"; styleTag.setAttribute("nonce", nonce); if (target) { target.appendChild(styleTag); } else { document.head.appendChild(styleTag); } }; } }); // ../../node_modules/.pnpm/@solid-primitives+utils@6.2.3_solid-js@1.9.7/node_modules/@solid-primitives/utils/dist/chunk/R5675YMU.js function chain(callbacks) { return (...args) => { for (const callback of callbacks) callback && callback(...args); }; } function accessWith(valueOrFn, ...args) { return typeof valueOrFn === "function" ? valueOrFn(...args) : valueOrFn; } function handleDiffArray(current, prev, handleAdded, handleRemoved) { const currLength = current.length; const prevLength = prev.length; let i2 = 0; if (!prevLength) { for (; i2 < currLength; i2++) handleAdded(current[i2]); return; } if (!currLength) { for (; i2 < prevLength; i2++) handleRemoved(prev[i2]); return; } for (; i2 < prevLength; i2++) { if (prev[i2] !== current[i2]) break; } let prevEl; let currEl; prev = prev.slice(i2); current = current.slice(i2); for (prevEl of prev) { if (!current.includes(prevEl)) handleRemoved(prevEl); } for (currEl of current) { if (!prev.includes(currEl)) handleAdded(currEl); } } var isClient, isDev, noop, isNonNullable, filterNonNullable, access, asArray, tryOnCleanup; var init_R5675YMU = __esm({ "../../node_modules/.pnpm/@solid-primitives+utils@6.2.3_solid-js@1.9.7/node_modules/@solid-primitives/utils/dist/chunk/R5675YMU.js"() { init_solid(); init_web(); isClient = !isServer; isDev = isClient && !!DEV; noop = () => void 0; isNonNullable = (i2) => i2 != null; filterNonNullable = (arr) => arr.filter(isNonNullable); access = (v) => typeof v === "function" && !v.length ? v() : v; asArray = (value) => Array.isArray(value) ? value : value ? [value] : []; tryOnCleanup = isDev ? (fn) => getOwner() ? onCleanup(fn) : fn : onCleanup; } }); // ../../node_modules/.pnpm/@solid-primitives+utils@6.2.3_solid-js@1.9.7/node_modules/@solid-primitives/utils/dist/index/index.js var init_index = __esm({ "../../node_modules/.pnpm/@solid-primitives+utils@6.2.3_solid-js@1.9.7/node_modules/@solid-primitives/utils/dist/index/index.js"() { init_R5675YMU(); } }); // ../../node_modules/.pnpm/@solid-primitives+storage@1.3.11_solid-js@1.9.7/node_modules/@solid-primitives/storage/dist/index.js function createStorage(props) { const [error, setError] = createSignal(); const handleError2 = props?.throw ? (err, fallback) => { setError(err instanceof Error ? err : new Error(fallback)); throw err; } : (err, fallback) => { setError(err instanceof Error ? err : new Error(fallback)); }; const apis = props?.api ? Array.isArray(props.api) ? props.api : [props.api] : [globalThis.localStorage].filter(Boolean); const prefix = props?.prefix ? `${props.prefix}.` : ""; const signals = /* @__PURE__ */ new Map(); const store = new Proxy( {}, { get(_, key) { let node = signals.get(key); if (!node) { node = createSignal(void 0, { equals: false }); signals.set(key, node); } node[0](); const value = apis.reduce( (result, api) => { if (result !== null || !api) { return result; } try { return api.getItem(`${prefix}${key}`); } catch (err) { handleError2(err, `Error reading ${prefix}${key} from ${api["name"]}`); return null; } }, null ); if (value !== null && props?.deserializer) { return props.deserializer(value, key, props.options); } return value; } } ); const setter = (key, value, options) => { const filteredValue = props?.serializer ? props.serializer(value, key, options ?? props.options) : value; const apiKey = `${prefix}${key}`; apis.forEach((api) => { try { api.getItem(apiKey) !== filteredValue && api.setItem(apiKey, filteredValue); } catch (err) { handleError2(err, `Error setting ${prefix}${key} to ${filteredValue} in ${api.name}`); } }); const node = signals.get(key); node && node[1](); }; const remove = (key) => apis.forEach((api) => { try { api.removeItem(`${prefix}${key}`); } catch (err) { handleError2(err, `Error removing ${prefix}${key} from ${api.name}`); } }); const clear = () => apis.forEach((api) => { try { api.clear(); } catch (err) { handleError2(err, `Error clearing ${api.name}`); } }); const toJSON = () => { const result = {}; const addValue = (key, value) => { if (!result.hasOwnProperty(key)) { const filteredValue = value && props?.deserializer ? props.deserializer(value, key, props.options) : value; if (filteredValue) { result[key] = filteredValue; } } }; apis.forEach((api) => { if (typeof api.getAll === "function") { let values; try { values = api.getAll(); } catch (err) { handleError2(err, `Error getting all values from in ${api.name}`); } for (const key of values) { addValue(key, values[key]); } } else { let index = 0, key; try { while (key = api.key(index++)) { if (!result.hasOwnProperty(key)) { addValue(key, api.getItem(key)); } } } catch (err) { handleError2(err, `Error getting all values from ${api.name}`); } } }); return result; }; props?.sync !== false && onMount(() => { const listener = (ev) => { let changed = false; apis.forEach((api) => { try { if (api !== ev.storageArea && ev.key && ev.newValue !== api.getItem(ev.key)) { ev.newValue ? api.setItem(ev.key, ev.newValue) : api.removeItem(ev.key); changed = true; } } catch (err) { handleError2( err, `Error synching api ${api.name} from storage event (${ev.key}=${ev.newValue})` ); } }); changed && ev.key && signals.get(ev.key)?.[1](); }; if ("addEventListener" in globalThis) { globalThis.addEventListener("storage", listener); onCleanup(() => globalThis.removeEventListener("storage", listener)); } else { apis.forEach((api) => api.addEventListener?.("storage", listener)); onCleanup(() => apis.forEach((api) => api.removeEventListener?.("storage", listener))); } }); return [ store, setter, { clear, error, remove, toJSON } ]; } var createLocalStorage, addClearMethod, serializeCookieOptions, cookieStorage; var init_dist4 = __esm({ "../../node_modules/.pnpm/@solid-primitives+storage@1.3.11_solid-js@1.9.7/node_modules/@solid-primitives/storage/dist/index.js"() { init_solid(); createLocalStorage = createStorage; addClearMethod = (storage) => { if (typeof storage.clear === "function") { return storage; } storage.clear = () => { let key; while (key = storage.key(0)) { storage.removeItem(key); } }; return storage; }; serializeCookieOptions = (options) => { if (!options) { return ""; } let memo2 = ""; for (const key in options) { if (!options.hasOwnProperty(key)) { continue; } const value = options[key]; memo2 += value instanceof Date ? `; ${key}=${value.toUTCString()}` : typeof value === "boolean" ? `; ${key}` : `; ${key}=${value}`; } return memo2; }; cookieStorage = addClearMethod({ _cookies: [globalThis.document, "cookie"], getItem: (key) => cookieStorage._cookies[0][cookieStorage._cookies[1]].match("(^|;)\\s*" + key + "\\s*=\\s*([^;]+)")?.pop() ?? null, setItem: (key, value, options) => { const oldValue = cookieStorage.getItem(key); cookieStorage._cookies[0][cookieStorage._cookies[1]] = `${key}=${value}${serializeCookieOptions( options )}`; const storageEvent = Object.assign(new Event("storage"), { key, oldValue, newValue: value, url: globalThis.document.URL, storageArea: cookieStorage }); window.dispatchEvent(storageEvent); }, removeItem: (key) => { cookieStorage._cookies[0][cookieStorage._cookies[1]] = `${key}=deleted${serializeCookieOptions({ expires: /* @__PURE__ */ new Date(0) })}`; }, key: (index) => { let key = null; let count = 0; cookieStorage._cookies[0][cookieStorage._cookies[1]].replace( /(?:^|;)\s*(.+?)\s*=\s*[^;]+/g, (_, found) => { if (!key && found && count++ === index) { key = found; } return ""; } ); return key; }, get length() { let length = 0; cookieStorage._cookies[0][cookieStorage._cookies[1]].replace( /(?:^|;)\s*.+?\s*=\s*[^;]+/g, (found) => { length += found ? 1 : 0; return ""; } ); return length; } }); } }); // ../../node_modules/.pnpm/@tanstack+match-sorter-utils@8.19.4/node_modules/@tanstack/match-sorter-utils/build/lib/index.mjs function removeAccents(str) { return str.replace(allAccents, (match) => { return characterMap[match]; }); } function rankItem(item, value, options) { var _options$threshold; options = options || {}; options.threshold = (_options$threshold = options.threshold) != null ? _options$threshold : rankings.MATCHES; if (!options.accessors) { const rank = getMatchRanking(item, value, options); return { // ends up being duplicate of 'item' in matches but consistent rankedValue: item, rank, accessorIndex: -1, accessorThreshold: options.threshold, passed: rank >= options.threshold }; } const valuesToRank = getAllValuesToRank(item, options.accessors); const rankingInfo = { rankedValue: item, rank: rankings.NO_MATCH, accessorIndex: -1, accessorThreshold: options.threshold, passed: false }; for (let i2 = 0; i2 < valuesToRank.length; i2++) { const rankValue = valuesToRank[i2]; let newRank = getMatchRanking(rankValue.itemValue, value, options); const { minRanking, maxRanking, threshold = options.threshold } = rankValue.attributes; if (newRank < minRanking && newRank >= rankings.MATCHES) { newRank = minRanking; } else if (newRank > maxRanking) { newRank = maxRanking; } newRank = Math.min(newRank, maxRanking); if (newRank >= threshold && newRank > rankingInfo.rank) { rankingInfo.rank = newRank; rankingInfo.passed = true; rankingInfo.accessorIndex = i2; rankingInfo.accessorThreshold = threshold; rankingInfo.rankedValue = rankValue.itemValue; } } return rankingInfo; } function getMatchRanking(testString, stringToRank, options) { testString = prepareValueForComparison(testString, options); stringToRank = prepareValueForComparison(stringToRank, options); if (stringToRank.length > testString.length) { return rankings.NO_MATCH; } if (testString === stringToRank) { return rankings.CASE_SENSITIVE_EQUAL; } testString = testString.toLowerCase(); stringToRank = stringToRank.toLowerCase(); if (testString === stringToRank) { return rankings.EQUAL; } if (testString.startsWith(stringToRank)) { return rankings.STARTS_WITH; } if (testString.includes(` ${stringToRank}`)) { return rankings.WORD_STARTS_WITH; } if (testString.includes(stringToRank)) { return rankings.CONTAINS; } else if (stringToRank.length === 1) { return rankings.NO_MATCH; } if (getAcronym(testString).includes(stringToRank)) { return rankings.ACRONYM; } return getClosenessRanking(testString, stringToRank); } function getAcronym(string) { let acronym = ""; const wordsInString = string.split(" "); wordsInString.forEach((wordInString) => { const splitByHyphenWords = wordInString.split("-"); splitByHyphenWords.forEach((splitByHyphenWord) => { acronym += splitByHyphenWord.substr(0, 1); }); }); return acronym; } function getClosenessRanking(testString, stringToRank) { let matchingInOrderCharCount = 0; let charNumber = 0; function findMatchingCharacter(matchChar, string, index) { for (let j = index, J = string.length; j < J; j++) { const stringChar = string[j]; if (stringChar === matchChar) { matchingInOrderCharCount += 1; return j + 1; } } return -1; } function getRanking(spread3) { const spreadPercentage = 1 / spread3; const inOrderPercentage = matchingInOrderCharCount / stringToRank.length; const ranking = rankings.MATCHES + inOrderPercentage * spreadPercentage; return ranking; } const firstIndex = findMatchingCharacter(stringToRank[0], testString, 0); if (firstIndex < 0) { return rankings.NO_MATCH; } charNumber = firstIndex; for (let i2 = 1, I = stringToRank.length; i2 < I; i2++) { const matchChar = stringToRank[i2]; charNumber = findMatchingCharacter(matchChar, testString, charNumber); const found = charNumber > -1; if (!found) { return rankings.NO_MATCH; } } const spread2 = charNumber - firstIndex; return getRanking(spread2); } function prepareValueForComparison(value, _ref) { let { keepDiacritics } = _ref; value = `${value}`; if (!keepDiacritics) { value = removeAccents(value); } return value; } function getItemValues(item, accessor) { let accessorFn = accessor; if (typeof accessor === "object") { accessorFn = accessor.accessor; } const value = accessorFn(item); if (value == null) { return []; } if (Array.isArray(value)) { return value; } return [String(value)]; } function getAllValuesToRank(item, accessors) { const allValues = []; for (let j = 0, J = accessors.length; j < J; j++) { const accessor = accessors[j]; const attributes = getAccessorAttributes(accessor); const itemValues = getItemValues(item, accessor); for (let i2 = 0, I = itemValues.length; i2 < I; i2++) { allValues.push({ itemValue: itemValues[i2], attributes }); } } return allValues; } function getAccessorAttributes(accessor) { if (typeof accessor === "function") { return defaultKeyAttributes; } return { ...defaultKeyAttributes, ...accessor }; } var characterMap, chars, allAccents, rankings, defaultKeyAttributes; var init_lib = __esm({ "../../node_modules/.pnpm/@tanstack+match-sorter-utils@8.19.4/node_modules/@tanstack/match-sorter-utils/build/lib/index.mjs"() { characterMap = { \u00C0: "A", \u00C1: "A", \u00C2: "A", \u00C3: "A", \u00C4: "A", \u00C5: "A", \u1EA4: "A", \u1EAE: "A", \u1EB2: "A", \u1EB4: "A", \u1EB6: "A", \u00C6: "AE", \u1EA6: "A", \u1EB0: "A", \u0202: "A", \u00C7: "C", \u1E08: "C", \u00C8: "E", \u00C9: "E", \u00CA: "E", \u00CB: "E", \u1EBE: "E", \u1E16: "E", \u1EC0: "E", \u1E14: "E", \u1E1C: "E", \u0206: "E", \u00CC: "I", \u00CD: "I", \u00CE: "I", \u00CF: "I", \u1E2E: "I", \u020A: "I", \u00D0: "D", \u00D1: "N", \u00D2: "O", \u00D3: "O", \u00D4: "O", \u00D5: "O", \u00D6: "O", \u00D8: "O", \u1ED0: "O", \u1E4C: "O", \u1E52: "O", \u020E: "O", \u00D9: "U", \u00DA: "U", \u00DB: "U", \u00DC: "U", \u00DD: "Y", \u00E0: "a", \u00E1: "a", \u00E2: "a", \u00E3: "a", \u00E4: "a", \u00E5: "a", \u1EA5: "a", \u1EAF: "a", \u1EB3: "a", \u1EB5: "a", \u1EB7: "a", \u00E6: "ae", \u1EA7: "a", \u1EB1: "a", \u0203: "a", \u00E7: "c", \u1E09: "c", \u00E8: "e", \u00E9: "e", \u00EA: "e", \u00EB: "e", \u1EBF: "e", \u1E17: "e", \u1EC1: "e", \u1E15: "e", \u1E1D: "e", \u0207: "e", \u00EC: "i", \u00ED: "i", \u00EE: "i", \u00EF: "i", \u1E2F: "i", \u020B: "i", \u00F0: "d", \u00F1: "n", \u00F2: "o", \u00F3: "o", \u00F4: "o", \u00F5: "o", \u00F6: "o", \u00F8: "o", \u1ED1: "o", \u1E4D: "o", \u1E53: "o", \u020F: "o", \u00F9: "u", \u00FA: "u", \u00FB: "u", \u00FC: "u", \u00FD: "y", \u00FF: "y", \u0100: "A", \u0101: "a", \u0102: "A", \u0103: "a", \u0104: "A", \u0105: "a", \u0106: "C", \u0107: "c", \u0108: "C", \u0109: "c", \u010A: "C", \u010B: "c", \u010C: "C", \u010D: "c", C\u0306: "C", c\u0306: "c", \u010E: "D", \u010F: "d", \u0110: "D", \u0111: "d", \u0112: "E", \u0113: "e", \u0114: "E", \u0115: "e", \u0116: "E", \u0117: "e", \u0118: "E", \u0119: "e", \u011A: "E", \u011B: "e", \u011C: "G", \u01F4: "G", \u011D: "g", \u01F5: "g", \u011E: "G", \u011F: "g", \u0120: "G", \u0121: "g", \u0122: "G", \u0123: "g", \u0124: "H", \u0125: "h", \u0126: "H", \u0127: "h", \u1E2A: "H", \u1E2B: "h", \u0128: "I", \u0129: "i", \u012A: "I", \u012B: "i", \u012C: "I", \u012D: "i", \u012E: "I", \u012F: "i", \u0130: "I", \u0131: "i", \u0132: "IJ", \u0133: "ij", \u0134: "J", \u0135: "j", \u0136: "K", \u0137: "k", \u1E30: "K", \u1E31: "k", K\u0306: "K", k\u0306: "k", \u0139: "L", \u013A: "l", \u013B: "L", \u013C: "l", \u013D: "L", \u013E: "l", \u013F: "L", \u0140: "l", \u0141: "l", \u0142: "l", \u1E3E: "M", \u1E3F: "m", M\u0306: "M", m\u0306: "m", \u0143: "N", \u0144: "n", \u0145: "N", \u0146: "n", \u0147: "N", \u0148: "n", \u0149: "n", N\u0306: "N", n\u0306: "n", \u014C: "O", \u014D: "o", \u014E: "O", \u014F: "o", \u0150: "O", \u0151: "o", \u0152: "OE", \u0153: "oe", P\u0306: "P", p\u0306: "p", \u0154: "R", \u0155: "r", \u0156: "R", \u0157: "r", \u0158: "R", \u0159: "r", R\u0306: "R", r\u0306: "r", \u0212: "R", \u0213: "r", \u015A: "S", \u015B: "s", \u015C: "S", \u015D: "s", \u015E: "S", \u0218: "S", \u0219: "s", \u015F: "s", \u0160: "S", \u0161: "s", \u0162: "T", \u0163: "t", \u021B: "t", \u021A: "T", \u0164: "T", \u0165: "t", \u0166: "T", \u0167: "t", T\u0306: "T", t\u0306: "t", \u0168: "U", \u0169: "u", \u016A: "U", \u016B: "u", \u016C: "U", \u016D: "u", \u016E: "U", \u016F: "u", \u0170: "U", \u0171: "u", \u0172: "U", \u0173: "u", \u0216: "U", \u0217: "u", V\u0306: "V", v\u0306: "v", \u0174: "W", \u0175: "w", \u1E82: "W", \u1E83: "w", X\u0306: "X", x\u0306: "x", \u0176: "Y", \u0177: "y", \u0178: "Y", Y\u0306: "Y", y\u0306: "y", \u0179: "Z", \u017A: "z", \u017B: "Z", \u017C: "z", \u017D: "Z", \u017E: "z", \u017F: "s", \u0192: "f", \u01A0: "O", \u01A1: "o", \u01AF: "U", \u01B0: "u", \u01CD: "A", \u01CE: "a", \u01CF: "I", \u01D0: "i", \u01D1: "O", \u01D2: "o", \u01D3: "U", \u01D4: "u", \u01D5: "U", \u01D6: "u", \u01D7: "U", \u01D8: "u", \u01D9: "U", \u01DA: "u", \u01DB: "U", \u01DC: "u", \u1EE8: "U", \u1EE9: "u", \u1E78: "U", \u1E79: "u", \u01FA: "A", \u01FB: "a", \u01FC: "AE", \u01FD: "ae", \u01FE: "O", \u01FF: "o", \u00DE: "TH", \u00FE: "th", \u1E54: "P", \u1E55: "p", \u1E64: "S", \u1E65: "s", X\u0301: "X", x\u0301: "x", \u0403: "\u0413", \u0453: "\u0433", \u040C: "\u041A", \u045C: "\u043A", A\u030B: "A", a\u030B: "a", E\u030B: "E", e\u030B: "e", I\u030B: "I", i\u030B: "i", \u01F8: "N", \u01F9: "n", \u1ED2: "O", \u1ED3: "o", \u1E50: "O", \u1E51: "o", \u1EEA: "U", \u1EEB: "u", \u1E80: "W", \u1E81: "w", \u1EF2: "Y", \u1EF3: "y", \u0200: "A", \u0201: "a", \u0204: "E", \u0205: "e", \u0208: "I", \u0209: "i", \u020C: "O", \u020D: "o", \u0210: "R", \u0211: "r", \u0214: "U", \u0215: "u", B\u030C: "B", b\u030C: "b", \u010C\u0323: "C", \u010D\u0323: "c", \u00CA\u030C: "E", \u00EA\u030C: "e", F\u030C: "F", f\u030C: "f", \u01E6: "G", \u01E7: "g", \u021E: "H", \u021F: "h", J\u030C: "J", \u01F0: "j", \u01E8: "K", \u01E9: "k", M\u030C: "M", m\u030C: "m", P\u030C: "P", p\u030C: "p", Q\u030C: "Q", q\u030C: "q", \u0158\u0329: "R", \u0159\u0329: "r", \u1E66: "S", \u1E67: "s", V\u030C: "V", v\u030C: "v", W\u030C: "W", w\u030C: "w", X\u030C: "X", x\u030C: "x", Y\u030C: "Y", y\u030C: "y", A\u0327: "A", a\u0327: "a", B\u0327: "B", b\u0327: "b", \u1E10: "D", \u1E11: "d", \u0228: "E", \u0229: "e", \u0190\u0327: "E", \u025B\u0327: "e", \u1E28: "H", \u1E29: "h", I\u0327: "I", i\u0327: "i", \u0197\u0327: "I", \u0268\u0327: "i", M\u0327: "M", m\u0327: "m", O\u0327: "O", o\u0327: "o", Q\u0327: "Q", q\u0327: "q", U\u0327: "U", u\u0327: "u", X\u0327: "X", x\u0327: "x", Z\u0327: "Z", z\u0327: "z" }; chars = Object.keys(characterMap).join("|"); allAccents = new RegExp(chars, "g"); rankings = { CASE_SENSITIVE_EQUAL: 7, EQUAL: 6, STARTS_WITH: 5, WORD_STARTS_WITH: 4, CONTAINS: 3, ACRONYM: 2, MATCHES: 1, NO_MATCH: 0 }; defaultKeyAttributes = { maxRanking: Infinity, minRanking: -Infinity }; } }); // ../../node_modules/.pnpm/goober@2.1.16_csstype@3.1.3/node_modules/goober/dist/goober.modern.js function u(e2) { let r2 = this || {}, l2 = e2.call ? e2(r2.p) : e2; return i(l2.unshift ? l2.raw ? p(l2, [].slice.call(arguments, 1), r2.p) : l2.reduce((e3, t2) => Object.assign(e3, t2 && t2.call ? t2(r2.p) : t2), {}) : l2, t(r2.target), r2.g, r2.o, r2.k); } var e, t, l, a, n, o, c, s, i, p; var init_goober_modern = __esm({ "../../node_modules/.pnpm/goober@2.1.16_csstype@3.1.3/node_modules/goober/dist/goober.modern.js"() { e = { data: "" }; t = (t2) => "object" == typeof window ? ((t2 ? t2.querySelector("#_goober") : window._goober) || Object.assign((t2 || document.head).appendChild(document.createElement("style")), { innerHTML: " ", id: "_goober" })).firstChild : t2 || e; l = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g; a = /\/\*[^]*?\*\/| +/g; n = /\n+/g; o = (e2, t2) => { let r2 = "", l2 = "", a2 = ""; for (let n2 in e2) { let c2 = e2[n2]; "@" == n2[0] ? "i" == n2[1] ? r2 = n2 + " " + c2 + ";" : l2 += "f" == n2[1] ? o(c2, n2) : n2 + "{" + o(c2, "k" == n2[1] ? "" : t2) + "}" : "object" == typeof c2 ? l2 += o(c2, t2 ? t2.replace(/([^,])+/g, (e3) => n2.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g, (t3) => /&/.test(t3) ? t3.replace(/&/g, e3) : e3 ? e3 + " " + t3 : t3)) : n2) : null != c2 && (n2 = /^--/.test(n2) ? n2 : n2.replace(/[A-Z]/g, "-$&").toLowerCase(), a2 += o.p ? o.p(n2, c2) : n2 + ":" + c2 + ";"); } return r2 + (t2 && a2 ? t2 + "{" + a2 + "}" : a2) + l2; }; c = {}; s = (e2) => { if ("object" == typeof e2) { let t2 = ""; for (let r2 in e2) t2 += r2 + s(e2[r2]); return t2; } return e2; }; i = (e2, t2, r2, i2, p2) => { let u2 = s(e2), d = c[u2] || (c[u2] = ((e3) => { let t3 = 0, r3 = 11; for (; t3 < e3.length; ) r3 = 101 * r3 + e3.charCodeAt(t3++) >>> 0; return "go" + r3; })(u2)); if (!c[d]) { let t3 = u2 !== e2 ? e2 : ((e3) => { let t4, r3, o2 = [{}]; for (; t4 = l.exec(e3.replace(a, "")); ) t4[4] ? o2.shift() : t4[3] ? (r3 = t4[3].replace(n, " ").trim(), o2.unshift(o2[0][r3] = o2[0][r3] || {})) : o2[0][t4[1]] = t4[2].replace(n, " ").trim(); return o2[0]; })(e2); c[d] = o(p2 ? { ["@keyframes " + d]: t3 } : t3, r2 ? "" : "." + d); } let f = r2 && c.g ? c.g : null; return r2 && (c.g = c[d]), ((e3, t3, r3, l2) => { l2 ? t3.data = t3.data.replace(l2, e3) : -1 === t3.data.indexOf(e3) && (t3.data = r3 ? e3 + t3.data : t3.data + e3); })(c[d], t2, i2, f), d; }; p = (e2, t2, r2) => e2.reduce((e3, l2, a2) => { let n2 = t2[a2]; if (n2 && n2.call) { let e4 = n2(r2), t3 = e4 && e4.props && e4.props.className || /^go/.test(e4) && e4; n2 = t3 ? "." + t3 : e4 && "object" == typeof e4 ? e4.props ? "" : o(e4, "") : false === e4 ? "" : e4; } return e3 + l2 + (null == n2 ? "" : n2); }, ""); u.bind({ g: 1 }); u.bind({ k: 1 }); } }); // ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs function r(e2) { var t2, f, n2 = ""; if ("string" == typeof e2 || "number" == typeof e2) n2 += e2; else if ("object" == typeof e2) if (Array.isArray(e2)) { var o2 = e2.length; for (t2 = 0; t2 < o2; t2++) e2[t2] && (f = r(e2[t2])) && (n2 && (n2 += " "), n2 += f); } else for (f in e2) e2[f] && (n2 && (n2 += " "), n2 += f); return n2; } function clsx() { for (var e2, t2, f = 0, n2 = "", o2 = arguments.length; f < o2; f++) (e2 = arguments[f]) && (t2 = r(e2)) && (n2 && (n2 += " "), n2 += t2); return n2; } var init_clsx = __esm({ "../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"() { } }); // ../../node_modules/.pnpm/@solid-primitives+transition-group@1.0.5_solid-js@1.9.7/node_modules/@solid-primitives/transition-group/dist/index.js function createListTransition(source, options) { const initSource = untrack(source); if (isServer) { const copy2 = initSource.slice(); return () => copy2; } const { onChange } = options; let prevSet = new Set(options.appear ? void 0 : initSource); const exiting = /* @__PURE__ */ new WeakSet(); const [toRemove, setToRemove] = createSignal([], { equals: false }); const [isTransitionPending] = useTransition(); const finishRemoved = (els) => { setToRemove((p2) => (p2.push.apply(p2, els), p2)); for (const el of els) exiting.delete(el); }; const handleRemoved = (els, el, i2) => els.splice(i2, 0, el) ; return createMemo( (prev) => { const elsToRemove = toRemove(); const sourceList = source(); sourceList[$TRACK]; if (untrack(isTransitionPending)) { isTransitionPending(); return prev; } if (elsToRemove.length) { const next = prev.filter((e2) => !elsToRemove.includes(e2)); elsToRemove.length = 0; onChange({ list: next, added: [], removed: [], unchanged: next, finishRemoved }); return next; } return untrack(() => { const nextSet = new Set(sourceList); const next = sourceList.slice(); const added = []; const removed = []; const unchanged = []; for (const el of sourceList) { (prevSet.has(el) ? unchanged : added).push(el); } let nothingChanged = !added.length; for (let i2 = 0; i2 < prev.length; i2++) { const el = prev[i2]; if (!nextSet.has(el)) { if (!exiting.has(el)) { removed.push(el); exiting.add(el); } handleRemoved(next, el, i2); } if (nothingChanged && el !== next[i2]) nothingChanged = false; } if (!removed.length && nothingChanged) return prev; onChange({ list: next, added, removed, unchanged, finishRemoved }); prevSet = nextSet; return next; }); }, options.appear ? [] : initSource.slice() ); } var init_dist5 = __esm({ "../../node_modules/.pnpm/@solid-primitives+transition-group@1.0.5_solid-js@1.9.7/node_modules/@solid-primitives/transition-group/dist/index.js"() { init_solid(); init_web(); } }); // ../../node_modules/.pnpm/@solid-primitives+refs@1.0.8_solid-js@1.9.7/node_modules/@solid-primitives/refs/dist/index.js function mergeRefs(...refs) { return chain(refs); } function getResolvedElements(value, predicate) { if (predicate(value)) return value; if (typeof value === "function" && !value.length) return getResolvedElements(value(), predicate); if (Array.isArray(value)) { const results = []; for (const item of value) { const result = getResolvedElements(item, predicate); if (result) Array.isArray(result) ? results.push.apply(results, result) : results.push(result); } return results.length ? results : null; } return null; } function resolveElements(fn, predicate = defaultElementPredicate, serverPredicate = defaultElementPredicate) { const children2 = createMemo(fn); const memo2 = createMemo( () => getResolvedElements(children2(), isServer ? serverPredicate : predicate) ); memo2.toArray = () => { const value = memo2(); return Array.isArray(value) ? value : value ? [value] : []; }; return memo2; } var defaultElementPredicate; var init_dist6 = __esm({ "../../node_modules/.pnpm/@solid-primitives+refs@1.0.8_solid-js@1.9.7/node_modules/@solid-primitives/refs/dist/index.js"() { init_index(); init_solid(); init_web(); defaultElementPredicate = isServer ? (item) => item != null && typeof item === "object" && "t" in item : (item) => item instanceof Element; } }); // ../../node_modules/.pnpm/solid-transition-group@0.2.3_solid-js@1.9.7/node_modules/solid-transition-group/dist/index.js function createClassnames(props) { return createMemo(() => { const name = props.name || "s"; return { enterActive: (props.enterActiveClass || name + "-enter-active").split(" "), enter: (props.enterClass || name + "-enter").split(" "), enterTo: (props.enterToClass || name + "-enter-to").split(" "), exitActive: (props.exitActiveClass || name + "-exit-active").split(" "), exit: (props.exitClass || name + "-exit").split(" "), exitTo: (props.exitToClass || name + "-exit-to").split(" "), move: (props.moveClass || name + "-move").split(" ") }; }); } function nextFrame(fn) { requestAnimationFrame(() => requestAnimationFrame(fn)); } function enterTransition(classes, events, el, done) { const { onBeforeEnter, onEnter, onAfterEnter } = events; onBeforeEnter?.(el); el.classList.add(...classes.enter); el.classList.add(...classes.enterActive); queueMicrotask(() => { if (!el.parentNode) return done?.(); onEnter?.(el, () => endTransition()); }); nextFrame(() => { el.classList.remove(...classes.enter); el.classList.add(...classes.enterTo); if (!onEnter || onEnter.length < 2) { el.addEventListener("transitionend", endTransition); el.addEventListener("animationend", endTransition); } }); function endTransition(e2) { if (!e2 || e2.target === el) { el.removeEventListener("transitionend", endTransition); el.removeEventListener("animationend", endTransition); el.classList.remove(...classes.enterActive); el.classList.remove(...classes.enterTo); onAfterEnter?.(el); } } } function exitTransition(classes, events, el, done) { const { onBeforeExit, onExit, onAfterExit } = events; if (!el.parentNode) return done?.(); onBeforeExit?.(el); el.classList.add(...classes.exit); el.classList.add(...classes.exitActive); onExit?.(el, () => endTransition()); nextFrame(() => { el.classList.remove(...classes.exit); el.classList.add(...classes.exitTo); if (!onExit || onExit.length < 2) { el.addEventListener("transitionend", endTransition); el.addEventListener("animationend", endTransition); } }); function endTransition(e2) { if (!e2 || e2.target === el) { done?.(); el.removeEventListener("transitionend", endTransition); el.removeEventListener("animationend", endTransition); el.classList.remove(...classes.exitActive); el.classList.remove(...classes.exitTo); onAfterExit?.(el); } } } var TransitionGroup; var init_dist7 = __esm({ "../../node_modules/.pnpm/solid-transition-group@0.2.3_solid-js@1.9.7/node_modules/solid-transition-group/dist/index.js"() { init_solid(); init_dist5(); init_dist6(); TransitionGroup = (props) => { const classnames = createClassnames(props); return createListTransition(resolveElements(() => props.children).toArray, { appear: props.appear, onChange({ added, removed, finishRemoved, list }) { const classes = classnames(); for (const el of added) { enterTransition(classes, props, el); } const toMove = []; for (const el of list) { if (el.isConnected && (el instanceof HTMLElement || el instanceof SVGElement)) { toMove.push({ el, rect: el.getBoundingClientRect() }); } } queueMicrotask(() => { const moved = []; for (const { el, rect } of toMove) { if (el.isConnected) { const newRect = el.getBoundingClientRect(), dX = rect.left - newRect.left, dY = rect.top - newRect.top; if (dX || dY) { el.style.transform = `translate(${dX}px, ${dY}px)`; el.style.transitionDuration = "0s"; moved.push(el); } } } document.body.offsetHeight; for (const el of moved) { let endTransition2 = function(e2) { if (e2.target === el || /transform$/.test(e2.propertyName)) { el.removeEventListener("transitionend", endTransition2); el.classList.remove(...classes.move); } }; el.classList.add(...classes.move); el.style.transform = el.style.transitionDuration = ""; el.addEventListener("transitionend", endTransition2); } }); for (const el of removed) { exitTransition(classes, props, el, () => finishRemoved([el])); } } }); }; } }); // ../../node_modules/.pnpm/@solid-primitives+keyed@1.2.2_solid-js@1.9.7/node_modules/@solid-primitives/keyed/dist/index.js function dispose2(list) { for (const o2 of list) o2.dispose(); } function keyArray(items, keyFn, mapFn, options = {}) { if (isServer) { const itemsRef = items(); let s2 = []; if (itemsRef && itemsRef.length) { for (let i2 = 0, len = itemsRef.length; i2 < len; i2++) s2.push( mapFn( () => itemsRef[i2], () => i2 ) ); } else if (options.fallback) s2 = [options.fallback()]; return () => s2; } const prev = /* @__PURE__ */ new Map(); onCleanup(() => dispose2(prev.values())); return () => { const list = items() || []; list[$TRACK]; return untrack(() => { if (!list.length) { dispose2(prev.values()); prev.clear(); if (!options.fallback) return []; const fb2 = createRoot((dispose22) => { prev.set(FALLBACK2, { dispose: dispose22 }); return options.fallback(); }); return [fb2]; } const result = new Array(list.length); const fb = prev.get(FALLBACK2); if (!prev.size || fb) { fb?.dispose(); prev.delete(FALLBACK2); for (let i2 = 0; i2 < list.length; i2++) { const item = list[i2]; const key = keyFn(item, i2); addNewItem(result, item, i2, key); } return result; } const prevKeys = new Set(prev.keys()); for (let i2 = 0; i2 < list.length; i2++) { const item = list[i2]; const key = keyFn(item, i2); prevKeys.delete(key); const lookup = prev.get(key); if (lookup) { result[i2] = lookup.mapped; lookup.setIndex?.(i2); lookup.setItem(() => item); } else addNewItem(result, item, i2, key); } for (const key of prevKeys) { prev.get(key)?.dispose(); prev.delete(key); } return result; }); }; function addNewItem(list, item, i2, key) { createRoot((dispose22) => { const [getItem, setItem] = createSignal(item); const save = { setItem, dispose: dispose22 }; if (mapFn.length > 1) { const [index, setIndex] = createSignal(i2); save.setIndex = setIndex; save.mapped = mapFn(getItem, index); } else save.mapped = mapFn(getItem); prev.set(key, save); list[i2] = save.mapped; }); } } function Key(props) { const { by } = props; return createMemo( keyArray( () => props.each, typeof by === "function" ? by : (v) => v[by], props.children, "fallback" in props ? { fallback: () => props.fallback } : void 0 ) ); } var FALLBACK2; var init_dist8 = __esm({ "../../node_modules/.pnpm/@solid-primitives+keyed@1.2.2_solid-js@1.9.7/node_modules/@solid-primitives/keyed/dist/index.js"() { init_solid(); init_web(); FALLBACK2 = Symbol("fallback"); } }); // ../../node_modules/.pnpm/@solid-primitives+event-listener@2.3.3_solid-js@1.9.7/node_modules/@solid-primitives/event-listener/dist/index.js function makeEventListener(target, type, handler, options) { target.addEventListener(type, handler, options); return tryOnCleanup(target.removeEventListener.bind(target, type, handler, options)); } function createEventListener(targets, type, handler, options) { if (isServer) return; const attachListeners = () => { asArray(access(targets)).forEach((el) => { if (el) asArray(access(type)).forEach((type2) => makeEventListener(el, type2, handler, options)); }); }; if (typeof targets === "function") createEffect(attachListeners); else createRenderEffect(attachListeners); } var init_dist9 = __esm({ "../../node_modules/.pnpm/@solid-primitives+event-listener@2.3.3_solid-js@1.9.7/node_modules/@solid-primitives/event-listener/dist/index.js"() { init_index(); init_solid(); init_web(); } }); // ../../node_modules/.pnpm/@solid-primitives+resize-observer@2.0.26_solid-js@1.9.7/node_modules/@solid-primitives/resize-observer/dist/index.js function makeResizeObserver(callback, options) { if (isServer) { return { observe: noop, unobserve: noop }; } const observer = new ResizeObserver(callback); onCleanup(observer.disconnect.bind(observer)); return { observe: (ref) => observer.observe(ref, options), unobserve: observer.unobserve.bind(observer) }; } function createResizeObserver(targets, onResize, options) { if (isServer) return; const previousMap = /* @__PURE__ */ new WeakMap(), { observe, unobserve } = makeResizeObserver((entries2) => { for (const entry of entries2) { const { contentRect, target } = entry, width = Math.round(contentRect.width), height = Math.round(contentRect.height), previous = previousMap.get(target); if (!previous || previous.width !== width || previous.height !== height) { onResize(contentRect, target, entry); previousMap.set(target, { width, height }); } } }, options); createEffect((prev) => { const refs = filterNonNullable(asArray(access(targets))); handleDiffArray(refs, prev, observe, unobserve); return refs; }, []); } var init_dist10 = __esm({ "../../node_modules/.pnpm/@solid-primitives+resize-observer@2.0.26_solid-js@1.9.7/node_modules/@solid-primitives/resize-observer/dist/index.js"() { init_index(); init_solid(); init_web(); } }); // ../../node_modules/.pnpm/@solid-primitives+props@3.1.11_solid-js@1.9.7/node_modules/@solid-primitives/props/dist/index.js function stringStyleToObject(style2) { const object = {}; let match; while (match = extractCSSregex.exec(style2)) { object[match[1]] = match[2]; } return object; } function combineStyle(a2, b2) { if (typeof a2 === "string") { if (typeof b2 === "string") return `${a2};${b2}`; a2 = stringStyleToObject(a2); } else if (typeof b2 === "string") { b2 = stringStyleToObject(b2); } return { ...a2, ...b2 }; } var extractCSSregex; var init_dist11 = __esm({ "../../node_modules/.pnpm/@solid-primitives+props@3.1.11_solid-js@1.9.7/node_modules/@solid-primitives/props/dist/index.js"() { extractCSSregex = /((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g; } }); // ../../node_modules/.pnpm/@kobalte+utils@0.9.0_solid-js@1.9.7/node_modules/@kobalte/utils/dist/index.js function addItemToArray(array, item, index = -1) { if (!(index in array)) { return [...array, item]; } return [...array.slice(0, index), item, ...array.slice(index)]; } function removeItemFromArray(array, item) { const updatedArray = [...array]; const index = updatedArray.indexOf(item); if (index !== -1) { updatedArray.splice(index, 1); } return updatedArray; } function isNumber2(value) { return typeof value === "number"; } function isString2(value) { return Object.prototype.toString.call(value) === "[object String]"; } function isFunction(value) { return typeof value === "function"; } function createGenerateId(baseId) { return (suffix) => `${baseId()}-${suffix}`; } function contains(parent, child) { if (!parent) { return false; } return parent === child || parent.contains(child); } function getActiveElement(node, activeDescendant = false) { const { activeElement } = getDocument(node); if (!activeElement?.nodeName) { return null; } if (isFrame(activeElement) && activeElement.contentDocument) { return getActiveElement(activeElement.contentDocument.body, activeDescendant); } if (activeDescendant) { const id = activeElement.getAttribute("aria-activedescendant"); if (id) { const element = getDocument(activeElement).getElementById(id); if (element) { return element; } } } return activeElement; } function getWindow(node) { return getDocument(node).defaultView || window; } function getDocument(node) { return node ? node.ownerDocument || node : document; } function isFrame(element) { return element.tagName === "IFRAME"; } function testPlatform(re) { return typeof window !== "undefined" && window.navigator != null ? ( // @ts-ignore re.test(window.navigator["userAgentData"]?.platform || window.navigator.platform) ) : false; } function isMac() { return testPlatform(/^Mac/i); } function isIPhone() { return testPlatform(/^iPhone/i); } function isIPad() { return testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support. isMac() && navigator.maxTouchPoints > 1; } function isIOS() { return isIPhone() || isIPad(); } function isAppleDevice() { return isMac() || isIOS(); } function callHandler(event, handler) { if (handler) { if (isFunction(handler)) { handler(event); } else { handler[0](handler[1], event); } } return event?.defaultPrevented; } function composeEventHandlers(handlers) { return (event) => { for (const handler of handlers) { callHandler(event, handler); } }; } function isCtrlKey(e2) { if (isMac()) { return e2.metaKey && !e2.ctrlKey; } return e2.ctrlKey && !e2.metaKey; } function focusWithoutScrolling(element) { if (!element) { return; } if (supportsPreventScroll()) { element.focus({ preventScroll: true }); } else { const scrollableElements = getScrollableElements(element); element.focus(); restoreScrollPosition(scrollableElements); } } function supportsPreventScroll() { if (supportsPreventScrollCached == null) { supportsPreventScrollCached = false; try { const focusElem = document.createElement("div"); focusElem.focus({ get preventScroll() { supportsPreventScrollCached = true; return true; } }); } catch (e2) { } } return supportsPreventScrollCached; } function getScrollableElements(element) { let parent = element.parentNode; const scrollableElements = []; const rootScrollingElement = document.scrollingElement || document.documentElement; while (parent instanceof HTMLElement && parent !== rootScrollingElement) { if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) { scrollableElements.push({ element: parent, scrollTop: parent.scrollTop, scrollLeft: parent.scrollLeft }); } parent = parent.parentNode; } if (rootScrollingElement instanceof HTMLElement) { scrollableElements.push({ element: rootScrollingElement, scrollTop: rootScrollingElement.scrollTop, scrollLeft: rootScrollingElement.scrollLeft }); } return scrollableElements; } function restoreScrollPosition(scrollableElements) { for (const { element, scrollTop, scrollLeft } of scrollableElements) { element.scrollTop = scrollTop; element.scrollLeft = scrollLeft; } } function getAllTabbableIn(container, includeContainer) { const elements = Array.from(container.querySelectorAll(FOCUSABLE_ELEMENT_SELECTOR)); const tabbableElements2 = elements.filter(isTabbable); if (includeContainer && isTabbable(container)) { tabbableElements2.unshift(container); } tabbableElements2.forEach((element, i2) => { if (isFrame(element) && element.contentDocument) { const frameBody = element.contentDocument.body; const allFrameTabbable = getAllTabbableIn(frameBody, false); tabbableElements2.splice(i2, 1, ...allFrameTabbable); } }); return tabbableElements2; } function isTabbable(element) { return isFocusable(element) && !hasNegativeTabIndex(element); } function isFocusable(element) { return element.matches(FOCUSABLE_ELEMENT_SELECTOR) && isElementVisible(element); } function hasNegativeTabIndex(element) { const tabIndex = parseInt(element.getAttribute("tabindex") || "0", 10); return tabIndex < 0; } function isElementVisible(element, childElement) { return element.nodeName !== "#comment" && isStyleVisible(element) && isAttributeVisible(element, childElement) && (!element.parentElement || isElementVisible(element.parentElement, element)); } function isStyleVisible(element) { if (!(element instanceof HTMLElement) && !(element instanceof SVGElement)) { return false; } const { display, visibility } = element.style; let isVisible = display !== "none" && visibility !== "hidden" && visibility !== "collapse"; if (isVisible) { if (!element.ownerDocument.defaultView) { return isVisible; } const { getComputedStyle: getComputedStyle3 } = element.ownerDocument.defaultView; const { display: computedDisplay, visibility: computedVisibility } = getComputedStyle3(element); isVisible = computedDisplay !== "none" && computedVisibility !== "hidden" && computedVisibility !== "collapse"; } return isVisible; } function isAttributeVisible(element, childElement) { return !element.hasAttribute("hidden") && (element.nodeName === "DETAILS" && childElement && childElement.nodeName !== "SUMMARY" ? element.hasAttribute("open") : true); } function getFocusableTreeWalker(root, opts, scope) { const selector = opts?.tabbable ? TABBABLE_ELEMENT_SELECTOR : FOCUSABLE_ELEMENT_SELECTOR; const walker2 = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, { acceptNode(node) { if (opts?.from?.contains(node)) { return NodeFilter.FILTER_REJECT; } if (node.matches(selector) && isElementVisible(node) && (true) && (!opts?.accept || opts.accept(node))) { return NodeFilter.FILTER_ACCEPT; } return NodeFilter.FILTER_SKIP; } }); if (opts?.from) { walker2.currentNode = opts.from; } return walker2; } function getScrollParent(node) { while (node && !isScrollable(node)) { node = node.parentElement; } return node || document.scrollingElement || document.documentElement; } function isScrollable(node) { const style2 = window.getComputedStyle(node); return /(auto|scroll)/.test(style2.overflow + style2.overflowX + style2.overflowY); } function noop3() { return; } function isPointInPolygon(point, polygon) { const [x, y] = point; let inside = false; const length = polygon.length; for (let l2 = length, i2 = 0, j = l2 - 1; i2 < l2; j = i2++) { const [xi, yi] = polygon[i2]; const [xj, yj] = polygon[j]; const [, vy] = polygon[j === 0 ? l2 - 1 : j - 1] || [0, 0]; const where = (yi - yj) * (x - xi) - (xi - xj) * (y - yi); if (yj < yi) { if (y >= yj && y < yi) { if (where === 0) return true; if (where > 0) { if (y === yj) { if (y > vy) { inside = !inside; } } else { inside = !inside; } } } } else if (yi < yj) { if (y > yi && y <= yj) { if (where === 0) return true; if (where < 0) { if (y === yj) { if (y < vy) { inside = !inside; } } else { inside = !inside; } } } } else if (y == yi && (x >= xj && x <= xi || x >= xi && x <= xj)) { return true; } } return inside; } function mergeDefaultProps(defaultProps, props) { return mergeProps(defaultProps, props); } function setupGlobalEvents() { if (typeof window === "undefined") { return; } const onTransitionStart = (e2) => { if (!e2.target) { return; } let transitions = transitionsByElement.get(e2.target); if (!transitions) { transitions = /* @__PURE__ */ new Set(); transitionsByElement.set(e2.target, transitions); e2.target.addEventListener("transitioncancel", onTransitionEnd); } transitions.add(e2.propertyName); }; const onTransitionEnd = (e2) => { if (!e2.target) { return; } const properties = transitionsByElement.get(e2.target); if (!properties) { return; } properties.delete(e2.propertyName); if (properties.size === 0) { e2.target.removeEventListener("transitioncancel", onTransitionEnd); transitionsByElement.delete(e2.target); } if (transitionsByElement.size === 0) { for (const cb of transitionCallbacks) { cb(); } transitionCallbacks.clear(); } }; document.body.addEventListener("transitionrun", onTransitionStart); document.body.addEventListener("transitionend", onTransitionEnd); } function scrollIntoView(scrollView, element) { const offsetX = relativeOffset(scrollView, element, "left"); const offsetY = relativeOffset(scrollView, element, "top"); const width = element.offsetWidth; const height = element.offsetHeight; let x = scrollView.scrollLeft; let y = scrollView.scrollTop; const maxX = x + scrollView.offsetWidth; const maxY = y + scrollView.offsetHeight; if (offsetX <= x) { x = offsetX; } else if (offsetX + width > maxX) { x += offsetX + width - maxX; } if (offsetY <= y) { y = offsetY; } else if (offsetY + height > maxY) { y += offsetY + height - maxY; } scrollView.scrollLeft = x; scrollView.scrollTop = y; } function relativeOffset(ancestor, child, axis) { const prop = axis === "left" ? "offsetLeft" : "offsetTop"; let sum = 0; while (child.offsetParent) { sum += child[prop]; if (child.offsetParent === ancestor) { break; } else if (child.offsetParent.contains(ancestor)) { sum -= ancestor[prop]; break; } child = child.offsetParent; } return sum; } function scrollIntoViewport(targetElement, opts) { if (document.contains(targetElement)) { const root = document.scrollingElement || document.documentElement; const isScrollPrevented = window.getComputedStyle(root).overflow === "hidden"; if (!isScrollPrevented) { const { left: originalLeft, top: originalTop } = targetElement.getBoundingClientRect(); targetElement?.scrollIntoView?.({ block: "nearest" }); const { left: newLeft, top: newTop } = targetElement.getBoundingClientRect(); if (Math.abs(originalLeft - newLeft) > 1 || Math.abs(originalTop - newTop) > 1) { targetElement.scrollIntoView?.({ block: "nearest" }); } } else { let scrollParent = getScrollParent(targetElement); while (targetElement && scrollParent && targetElement !== root && scrollParent !== root) { scrollIntoView(scrollParent, targetElement); targetElement = scrollParent; scrollParent = getScrollParent(targetElement); } } } } var EventKey, supportsPreventScrollCached, focusableElements, tabbableElements, FOCUSABLE_ELEMENT_SELECTOR, TABBABLE_ELEMENT_SELECTOR, transitionsByElement, transitionCallbacks, visuallyHiddenStyles; var init_dist12 = __esm({ "../../node_modules/.pnpm/@kobalte+utils@0.9.0_solid-js@1.9.7/node_modules/@kobalte/utils/dist/index.js"() { init_solid(); init_dist9(); init_dist6(); init_index(); EventKey = /* @__PURE__ */ ((EventKey2) => { EventKey2["Escape"] = "Escape"; EventKey2["Enter"] = "Enter"; EventKey2["Tab"] = "Tab"; EventKey2["Space"] = " "; EventKey2["ArrowDown"] = "ArrowDown"; EventKey2["ArrowLeft"] = "ArrowLeft"; EventKey2["ArrowRight"] = "ArrowRight"; EventKey2["ArrowUp"] = "ArrowUp"; EventKey2["End"] = "End"; EventKey2["Home"] = "Home"; EventKey2["PageDown"] = "PageDown"; EventKey2["PageUp"] = "PageUp"; return EventKey2; })(EventKey || {}); supportsPreventScrollCached = null; focusableElements = [ "input:not([type='hidden']):not([disabled])", "select:not([disabled])", "textarea:not([disabled])", "button:not([disabled])", "a[href]", "area[href]", "[tabindex]", "iframe", "object", "embed", "audio[controls]", "video[controls]", "[contenteditable]:not([contenteditable='false'])" ]; tabbableElements = [...focusableElements, '[tabindex]:not([tabindex="-1"]):not([disabled])']; FOCUSABLE_ELEMENT_SELECTOR = focusableElements.join(":not([hidden]),") + ",[tabindex]:not([disabled]):not([hidden])"; TABBABLE_ELEMENT_SELECTOR = tabbableElements.join( ':not([hidden]):not([tabindex="-1"]),' ); transitionsByElement = /* @__PURE__ */ new Map(); transitionCallbacks = /* @__PURE__ */ new Set(); if (typeof document !== "undefined") { if (document.readyState !== "loading") { setupGlobalEvents(); } else { document.addEventListener("DOMContentLoaded", setupGlobalEvents); } } visuallyHiddenStyles = { border: "0", clip: "rect(0 0 0 0)", "clip-path": "inset(50%)", height: "1px", margin: "0 -1px -1px 0", overflow: "hidden", padding: "0", position: "absolute", width: "1px", "white-space": "nowrap" }; } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/E4R2EMM4.js function createRegisterId(setter) { return (id) => { setter(id); return () => setter(void 0); }; } var init_E4R2EMM4 = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/E4R2EMM4.js"() { } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ET5T45DO.js function createTagName(ref, fallback) { const [tagName, setTagName] = createSignal(stringOrUndefined(fallback?.())); createEffect(() => { setTagName(ref()?.tagName.toLowerCase() || stringOrUndefined(fallback?.())); }); return tagName; } function stringOrUndefined(value) { return isString2(value) ? value : void 0; } var init_ET5T45DO = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ET5T45DO.js"() { init_dist12(); init_solid(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/6Y7B2NEO.js function Polymorphic(props) { const [local, others] = splitProps(props, ["as"]); if (!local.as) { throw new Error("[kobalte]: Polymorphic is missing the required `as` prop."); } return ( // @ts-ignore: Props are valid but not worth calculating createComponent(Dynamic, mergeProps(others, { get component() { return local.as; } })) ); } var init_Y7B2NEO = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/6Y7B2NEO.js"() { init_web(); init_solid(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/Q2DJLZQE.js function createFormControl(props) { const defaultId = `form-control-${createUniqueId()}`; const mergedProps = mergeDefaultProps({ id: defaultId }, props); const [labelId, setLabelId] = createSignal(); const [fieldId, setFieldId] = createSignal(); const [descriptionId, setDescriptionId] = createSignal(); const [errorMessageId, setErrorMessageId] = createSignal(); const getAriaLabelledBy = (fieldId2, fieldAriaLabel, fieldAriaLabelledBy) => { const hasAriaLabelledBy = fieldAriaLabelledBy != null || labelId() != null; return [ fieldAriaLabelledBy, labelId(), // If there is both an aria-label and aria-labelledby, add the field itself has an aria-labelledby hasAriaLabelledBy && fieldAriaLabel != null ? fieldId2 : void 0 ].filter(Boolean).join(" ") || void 0; }; const getAriaDescribedBy = (fieldAriaDescribedBy) => { return [ descriptionId(), // Use aria-describedby for error message because aria-errormessage is unsupported using VoiceOver or NVDA. // See https://github.com/adobe/react-spectrum/issues/1346#issuecomment-740136268 errorMessageId(), fieldAriaDescribedBy ].filter(Boolean).join(" ") || void 0; }; const dataset = createMemo(() => ({ "data-valid": access(mergedProps.validationState) === "valid" ? "" : void 0, "data-invalid": access(mergedProps.validationState) === "invalid" ? "" : void 0, "data-required": access(mergedProps.required) ? "" : void 0, "data-disabled": access(mergedProps.disabled) ? "" : void 0, "data-readonly": access(mergedProps.readOnly) ? "" : void 0 })); const formControlContext = { name: () => access(mergedProps.name) ?? access(mergedProps.id), dataset, validationState: () => access(mergedProps.validationState), isRequired: () => access(mergedProps.required), isDisabled: () => access(mergedProps.disabled), isReadOnly: () => access(mergedProps.readOnly), labelId, fieldId, descriptionId, errorMessageId, getAriaLabelledBy, getAriaDescribedBy, generateId: createGenerateId(() => access(mergedProps.id)), registerLabel: createRegisterId(setLabelId), registerField: createRegisterId(setFieldId), registerDescription: createRegisterId(setDescriptionId), registerErrorMessage: createRegisterId(setErrorMessageId) }; return { formControlContext }; } function useFormControlContext() { const context = useContext(FormControlContext); if (context === void 0) { throw new Error("[kobalte]: `useFormControlContext` must be used within a `FormControlContext.Provider` component"); } return context; } function FormControlDescription(props) { const context = useFormControlContext(); const mergedProps = mergeDefaultProps({ id: context.generateId("description") }, props); createEffect(() => onCleanup(context.registerDescription(mergedProps.id))); return createComponent(Polymorphic, mergeProps({ as: "div" }, () => context.dataset(), mergedProps)); } function FormControlErrorMessage(props) { const context = useFormControlContext(); const mergedProps = mergeDefaultProps({ id: context.generateId("error-message") }, props); const [local, others] = splitProps(mergedProps, ["forceMount"]); const isInvalid = () => context.validationState() === "invalid"; createEffect(() => { if (!isInvalid()) { return; } onCleanup(context.registerErrorMessage(others.id)); }); return createComponent(Show, { get when() { return local.forceMount || isInvalid(); }, get children() { return createComponent(Polymorphic, mergeProps({ as: "div" }, () => context.dataset(), others)); } }); } function FormControlLabel(props) { let ref; const context = useFormControlContext(); const mergedProps = mergeDefaultProps({ id: context.generateId("label") }, props); const [local, others] = splitProps(mergedProps, ["ref"]); const tagName = createTagName(() => ref, () => "label"); createEffect(() => onCleanup(context.registerLabel(others.id))); return createComponent(Polymorphic, mergeProps({ as: "label", ref(r$) { const _ref$ = mergeRefs((el) => ref = el, local.ref); typeof _ref$ === "function" && _ref$(r$); }, get ["for"]() { return memo(() => tagName() === "label")() ? context.fieldId() : void 0; } }, () => context.dataset(), others)); } var FORM_CONTROL_PROP_NAMES, FormControlContext; var init_Q2DJLZQE = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/Q2DJLZQE.js"() { init_E4R2EMM4(); init_ET5T45DO(); init_Y7B2NEO(); init_dist12(); init_solid(); init_web(); FORM_CONTROL_PROP_NAMES = ["id", "name", "validationState", "required", "disabled", "readOnly"]; FormControlContext = createContext(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ANN3A2QM.js function createFormResetListener(element, handler) { createEffect( on(element, (element2) => { if (element2 == null) { return; } const form = getClosestForm(element2); if (form == null) { return; } form.addEventListener("reset", handler, { passive: true }); onCleanup(() => { form.removeEventListener("reset", handler); }); }) ); } function getClosestForm(element) { return isFormElement(element) ? element.form : element.closest("form"); } function isFormElement(element) { return element.matches("textarea, input, select, button"); } var init_ANN3A2QM = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ANN3A2QM.js"() { init_solid(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/BLN63FDC.js function createControllableSignal(props) { const [_value, _setValue] = createSignal(props.defaultValue?.()); const isControlled = createMemo(() => props.value?.() !== void 0); const value = createMemo(() => isControlled() ? props.value?.() : _value()); const setValue = (next) => { untrack(() => { const nextValue = accessWith(next, value()); if (!Object.is(nextValue, value())) { if (!isControlled()) { _setValue(nextValue); } props.onChange?.(nextValue); } return nextValue; }); }; return [value, setValue]; } function createControllableBooleanSignal(props) { const [_value, setValue] = createControllableSignal(props); const value = () => _value() ?? false; return [value, setValue]; } function createControllableArraySignal(props) { const [_value, setValue] = createControllableSignal(props); const value = () => _value() ?? []; return [value, setValue]; } var init_BLN63FDC = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/BLN63FDC.js"() { init_dist12(); init_solid(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/YGDQXQ2B.js function createToggleState(props = {}) { const [isSelected, _setIsSelected] = createControllableBooleanSignal({ value: () => access(props.isSelected), defaultValue: () => !!access(props.defaultIsSelected), onChange: (value) => props.onSelectedChange?.(value) }); const setIsSelected = (value) => { if (!access(props.isReadOnly) && !access(props.isDisabled)) { _setIsSelected(value); } }; const toggle = () => { if (!access(props.isReadOnly) && !access(props.isDisabled)) { _setIsSelected(!isSelected()); } }; return { isSelected, setIsSelected, toggle }; } var init_YGDQXQ2B = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/YGDQXQ2B.js"() { init_BLN63FDC(); init_dist12(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/5ZKAE4VZ.js var __defProp2, __export2; var init_ZKAE4VZ = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/5ZKAE4VZ.js"() { __defProp2 = Object.defineProperty; __export2 = (target, all) => { for (var name in all) __defProp2(target, name, { get: all[name], enumerable: true }); }; } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/7CVNMTYF.js function useOptionalDomCollectionContext() { return useContext(DomCollectionContext); } function useDomCollectionContext() { const context = useOptionalDomCollectionContext(); if (context === void 0) { throw new Error( "[kobalte]: `useDomCollectionContext` must be used within a `DomCollectionProvider` component" ); } return context; } function isElementPreceding(a2, b2) { return Boolean( b2.compareDocumentPosition(a2) & Node.DOCUMENT_POSITION_PRECEDING ); } function findDOMIndex(items, item) { const itemEl = item.ref(); if (!itemEl) { return -1; } let length = items.length; if (!length) { return -1; } while (length--) { const currentItemEl = items[length]?.ref(); if (!currentItemEl) { continue; } if (isElementPreceding(currentItemEl, itemEl)) { return length + 1; } } return 0; } function sortBasedOnDOMPosition(items) { const pairs = items.map((item, index) => [index, item]); let isOrderDifferent = false; pairs.sort(([indexA, a2], [indexB, b2]) => { const elementA = a2.ref(); const elementB = b2.ref(); if (elementA === elementB) { return 0; } if (!elementA || !elementB) { return 0; } if (isElementPreceding(elementA, elementB)) { if (indexA > indexB) { isOrderDifferent = true; } return -1; } if (indexA < indexB) { isOrderDifferent = true; } return 1; }); if (isOrderDifferent) { return pairs.map(([_, item]) => item); } return items; } function setItemsBasedOnDOMPosition(items, setItems) { const sortedItems = sortBasedOnDOMPosition(items); if (items !== sortedItems) { setItems(sortedItems); } } function getCommonParent(items) { const firstItem = items[0]; const lastItemEl = items[items.length - 1]?.ref(); let parentEl = firstItem?.ref()?.parentElement; while (parentEl) { if (lastItemEl && parentEl.contains(lastItemEl)) { return parentEl; } parentEl = parentEl.parentElement; } return getDocument(parentEl).body; } function createTimeoutObserver(items, setItems) { createEffect(() => { const timeout = setTimeout(() => { setItemsBasedOnDOMPosition(items(), setItems); }); onCleanup(() => clearTimeout(timeout)); }); } function createSortBasedOnDOMPosition(items, setItems) { if (typeof IntersectionObserver !== "function") { createTimeoutObserver(items, setItems); return; } let previousItems = []; createEffect(() => { const callback = () => { const hasPreviousItems = !!previousItems.length; previousItems = items(); if (!hasPreviousItems) { return; } setItemsBasedOnDOMPosition(items(), setItems); }; const root = getCommonParent(items()); const observer = new IntersectionObserver(callback, { root }); for (const item of items()) { const itemEl = item.ref(); if (itemEl) { observer.observe(itemEl); } } onCleanup(() => observer.disconnect()); }); } function createDomCollection(props = {}) { const [items, setItems] = createControllableArraySignal({ value: () => access(props.items), onChange: (value) => props.onItemsChange?.(value) }); createSortBasedOnDOMPosition(items, setItems); const registerItem = (item) => { setItems((prevItems) => { const index = findDOMIndex(prevItems, item); return addItemToArray(prevItems, item, index); }); return () => { setItems((prevItems) => { const nextItems = prevItems.filter( (prevItem) => prevItem.ref() !== item.ref() ); if (prevItems.length === nextItems.length) { return prevItems; } return nextItems; }); }; }; const DomCollectionProvider = (props2) => { return createComponent(DomCollectionContext.Provider, { value: { registerItem }, get children() { return props2.children; } }); }; return { DomCollectionProvider }; } function createDomCollectionItem(props) { const context = useDomCollectionContext(); const mergedProps = mergeDefaultProps({ shouldRegisterItem: true }, props); createEffect(() => { if (!mergedProps.shouldRegisterItem) { return; } const unregister = context.registerItem(mergedProps.getItem()); onCleanup(unregister); }); } var DomCollectionContext; var init_CVNMTYF = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/7CVNMTYF.js"() { init_BLN63FDC(); init_dist12(); init_solid(); DomCollectionContext = createContext(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/JMA2RWU6.js function buildNodes(params) { let index = params.startIndex ?? 0; const level = params.startLevel ?? 0; const nodes = []; const getKey = (data) => { if (data == null) { return ""; } const _getKey = params.getKey ?? "key"; const dataKey = isString2(_getKey) ? data[_getKey] : _getKey(data); return dataKey != null ? String(dataKey) : ""; }; const getTextValue = (data) => { if (data == null) { return ""; } const _getTextValue = params.getTextValue ?? "textValue"; const dataTextValue = isString2(_getTextValue) ? data[_getTextValue] : _getTextValue(data); return dataTextValue != null ? String(dataTextValue) : ""; }; const getDisabled = (data) => { if (data == null) { return false; } const _getDisabled = params.getDisabled ?? "disabled"; return (isString2(_getDisabled) ? data[_getDisabled] : _getDisabled(data)) ?? false; }; const getSectionChildren = (data) => { if (data == null) { return void 0; } if (isString2(params.getSectionChildren)) { return data[params.getSectionChildren]; } return params.getSectionChildren?.(data); }; for (const data of params.dataSource) { if (isString2(data) || isNumber2(data)) { nodes.push({ type: "item", rawValue: data, key: String(data), textValue: String(data), disabled: getDisabled(data), level, index }); index++; continue; } if (getSectionChildren(data) != null) { nodes.push({ type: "section", rawValue: data, key: "", // not applicable here textValue: "", // not applicable here disabled: false, // not applicable here level, index }); index++; const sectionChildren = getSectionChildren(data) ?? []; if (sectionChildren.length > 0) { const childNodes = buildNodes({ dataSource: sectionChildren, getKey: params.getKey, getTextValue: params.getTextValue, getDisabled: params.getDisabled, getSectionChildren: params.getSectionChildren, startIndex: index, startLevel: level + 1 }); nodes.push(...childNodes); index += childNodes.length; } } else { nodes.push({ type: "item", rawValue: data, key: getKey(data), textValue: getTextValue(data), disabled: getDisabled(data), level, index }); index++; } } return nodes; } function createCollection(props, deps = []) { return createMemo(() => { const nodes = buildNodes({ dataSource: access(props.dataSource), getKey: access(props.getKey), getTextValue: access(props.getTextValue), getDisabled: access(props.getDisabled), getSectionChildren: access(props.getSectionChildren) }); for (let i2 = 0; i2 < deps.length; i2++) deps[i2](); return props.factory(nodes); }); } var init_JMA2RWU6 = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/JMA2RWU6.js"() { init_dist12(); init_solid(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/XHJPQEZP.js function isRTL(locale) { if (Intl.Locale) { const script = new Intl.Locale(locale).maximize().script ?? ""; return RTL_SCRIPTS.has(script); } const lang = locale.split("-")[0]; return RTL_LANGS.has(lang); } function getReadingDirection(locale) { return isRTL(locale) ? "rtl" : "ltr"; } function getDefaultLocale() { let locale = typeof navigator !== "undefined" && // @ts-ignore (navigator.language || navigator.userLanguage) || "en-US"; return { locale, direction: getReadingDirection(locale) }; } function updateLocale() { currentLocale = getDefaultLocale(); for (const listener of listeners) { listener(currentLocale); } } function createDefaultLocale() { const defaultSSRLocale = { locale: "en-US", direction: "ltr" }; const [defaultClientLocale, setDefaultClientLocale] = createSignal(currentLocale); const defaultLocale = createMemo( () => isServer ? defaultSSRLocale : defaultClientLocale() ); onMount(() => { if (listeners.size === 0) { window.addEventListener("languagechange", updateLocale); } listeners.add(setDefaultClientLocale); onCleanup(() => { listeners.delete(setDefaultClientLocale); if (listeners.size === 0) { window.removeEventListener("languagechange", updateLocale); } }); }); return { locale: () => defaultLocale().locale, direction: () => defaultLocale().direction }; } function useLocale() { const defaultLocale = createDefaultLocale(); const context = useContext(I18nContext); return context || defaultLocale; } function createCollator(options) { const { locale } = useLocale(); const cacheKey = createMemo(() => { return locale() + (options ? Object.entries(options).sort((a2, b2) => a2[0] < b2[0] ? -1 : 1).join() : ""); }); return createMemo(() => { const key = cacheKey(); let collator; if (cache.has(key)) { collator = cache.get(key); } if (!collator) { collator = new Intl.Collator(locale(), options); cache.set(key, collator); } return collator; }); } var RTL_SCRIPTS, RTL_LANGS, currentLocale, listeners, I18nContext, cache; var init_XHJPQEZP = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/XHJPQEZP.js"() { init_solid(); init_web(); RTL_SCRIPTS = /* @__PURE__ */ new Set([ "Avst", "Arab", "Armi", "Syrc", "Samr", "Mand", "Thaa", "Mend", "Nkoo", "Adlm", "Rohg", "Hebr" ]); RTL_LANGS = /* @__PURE__ */ new Set([ "ae", "ar", "arc", "bcc", "bqi", "ckb", "dv", "fa", "glk", "he", "ku", "mzn", "nqo", "pnb", "ps", "sd", "ug", "ur", "yi" ]); currentLocale = getDefaultLocale(); listeners = /* @__PURE__ */ new Set(); I18nContext = createContext(); cache = /* @__PURE__ */ new Map(); } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/H6DSIDEC.js function createControllableSelectionSignal(props) { const [_value, setValue] = createControllableSignal(props); const value = () => _value() ?? new Selection(); return [value, setValue]; } function isNonContiguousSelectionModifier(e2) { return isAppleDevice() ? e2.altKey : e2.ctrlKey; } function isCtrlKeyPressed(e2) { if (isMac()) { return e2.metaKey; } return e2.ctrlKey; } function convertSelection(selection) { return new Selection(selection); } function isSameSelection(setA, setB) { if (setA.size !== setB.size) { return false; } for (const item of setA) { if (!setB.has(item)) { return false; } } return true; } function createMultipleSelectionState(props) { const mergedProps = mergeDefaultProps( { selectionMode: "none", selectionBehavior: "toggle" }, props ); const [isFocused, setFocused] = createSignal(false); const [focusedKey, setFocusedKey] = createSignal(); const selectedKeysProp = createMemo(() => { const selection = access(mergedProps.selectedKeys); if (selection != null) { return convertSelection(selection); } return selection; }); const defaultSelectedKeys = createMemo(() => { const defaultSelection = access(mergedProps.defaultSelectedKeys); if (defaultSelection != null) { return convertSelection(defaultSelection); } return new Selection(); }); const [selectedKeys, _setSelectedKeys] = createControllableSelectionSignal({ value: selectedKeysProp, defaultValue: defaultSelectedKeys, onChange: (value) => mergedProps.onSelectionChange?.(value) }); const [selectionBehavior, setSelectionBehavior] = createSignal(access(mergedProps.selectionBehavior)); const selectionMode = () => access(mergedProps.selectionMode); const disallowEmptySelection = () => access(mergedProps.disallowEmptySelection) ?? false; const setSelectedKeys = (keys2) => { if (access(mergedProps.allowDuplicateSelectionEvents) || !isSameSelection(keys2, selectedKeys())) { _setSelectedKeys(keys2); } }; createEffect(() => { const selection = selectedKeys(); if (access(mergedProps.selectionBehavior) === "replace" && selectionBehavior() === "toggle" && typeof selection === "object" && selection.size === 0) { setSelectionBehavior("replace"); } }); createEffect(() => { setSelectionBehavior(access(mergedProps.selectionBehavior) ?? "toggle"); }); return { selectionMode, disallowEmptySelection, selectionBehavior, setSelectionBehavior, isFocused, setFocused, focusedKey, setFocusedKey, selectedKeys, setSelectedKeys }; } function createTypeSelect(props) { const [search, setSearch] = createSignal(""); const [timeoutId, setTimeoutId] = createSignal(-1); const onKeyDown = (e2) => { if (access(props.isDisabled)) { return; } const delegate = access(props.keyboardDelegate); const manager = access(props.selectionManager); if (!delegate.getKeyForSearch) { return; } const character = getStringForKey(e2.key); if (!character || e2.ctrlKey || e2.metaKey) { return; } if (character === " " && search().trim().length > 0) { e2.preventDefault(); e2.stopPropagation(); } let newSearch = setSearch((prev) => prev + character); let key = delegate.getKeyForSearch(newSearch, manager.focusedKey()) ?? delegate.getKeyForSearch(newSearch); if (key == null && isAllSameLetter(newSearch)) { newSearch = newSearch[0]; key = delegate.getKeyForSearch(newSearch, manager.focusedKey()) ?? delegate.getKeyForSearch(newSearch); } if (key != null) { manager.setFocusedKey(key); props.onTypeSelect?.(key); } clearTimeout(timeoutId()); setTimeoutId(window.setTimeout(() => setSearch(""), 500)); }; return { typeSelectHandlers: { onKeyDown } }; } function getStringForKey(key) { if (key.length === 1 || !/^[A-Z]/i.test(key)) { return key; } return ""; } function isAllSameLetter(search) { return search.split("").every((letter) => letter === search[0]); } function createSelectableCollection(props, ref, scrollRef) { const defaultProps = { selectOnFocus: () => access(props.selectionManager).selectionBehavior() === "replace" }; const mergedProps = mergeProps(defaultProps, props); const finalScrollRef = () => ref(); const { direction } = useLocale(); let scrollPos = { top: 0, left: 0 }; createEventListener( () => !access(mergedProps.isVirtualized) ? finalScrollRef() : void 0, "scroll", () => { const scrollEl = finalScrollRef(); if (!scrollEl) { return; } scrollPos = { top: scrollEl.scrollTop, left: scrollEl.scrollLeft }; } ); const { typeSelectHandlers } = createTypeSelect({ isDisabled: () => access(mergedProps.disallowTypeAhead), keyboardDelegate: () => access(mergedProps.keyboardDelegate), selectionManager: () => access(mergedProps.selectionManager) }); const orientation = () => access(mergedProps.orientation) ?? "vertical"; const onKeyDown = (e2) => { callHandler(e2, typeSelectHandlers.onKeyDown); if (e2.altKey && e2.key === "Tab") { e2.preventDefault(); } const refEl = ref(); if (!refEl?.contains(e2.target)) { return; } const manager = access(mergedProps.selectionManager); const selectOnFocus = access(mergedProps.selectOnFocus); const navigateToKey = (key) => { if (key != null) { manager.setFocusedKey(key); if (e2.shiftKey && manager.selectionMode() === "multiple") { manager.extendSelection(key); } else if (selectOnFocus && !isNonContiguousSelectionModifier(e2)) { manager.replaceSelection(key); } } }; const delegate = access(mergedProps.keyboardDelegate); const shouldFocusWrap = access(mergedProps.shouldFocusWrap); const focusedKey = manager.focusedKey(); switch (e2.key) { case (orientation() === "vertical" ? "ArrowDown" : "ArrowRight"): { if (delegate.getKeyBelow) { e2.preventDefault(); let nextKey; if (focusedKey != null) { nextKey = delegate.getKeyBelow(focusedKey); } else { nextKey = delegate.getFirstKey?.(); } if (nextKey == null && shouldFocusWrap) { nextKey = delegate.getFirstKey?.(focusedKey); } navigateToKey(nextKey); } break; } case (orientation() === "vertical" ? "ArrowUp" : "ArrowLeft"): { if (delegate.getKeyAbove) { e2.preventDefault(); let nextKey; if (focusedKey != null) { nextKey = delegate.getKeyAbove(focusedKey); } else { nextKey = delegate.getLastKey?.(); } if (nextKey == null && shouldFocusWrap) { nextKey = delegate.getLastKey?.(focusedKey); } navigateToKey(nextKey); } break; } case (orientation() === "vertical" ? "ArrowLeft" : "ArrowUp"): { if (delegate.getKeyLeftOf) { e2.preventDefault(); const isRTL3 = direction() === "rtl"; let nextKey; if (focusedKey != null) { nextKey = delegate.getKeyLeftOf(focusedKey); } else { nextKey = isRTL3 ? delegate.getFirstKey?.() : delegate.getLastKey?.(); } navigateToKey(nextKey); } break; } case (orientation() === "vertical" ? "ArrowRight" : "ArrowDown"): { if (delegate.getKeyRightOf) { e2.preventDefault(); const isRTL3 = direction() === "rtl"; let nextKey; if (focusedKey != null) { nextKey = delegate.getKeyRightOf(focusedKey); } else { nextKey = isRTL3 ? delegate.getLastKey?.() : delegate.getFirstKey?.(); } navigateToKey(nextKey); } break; } case "Home": if (delegate.getFirstKey) { e2.preventDefault(); const firstKey = delegate.getFirstKey( focusedKey, isCtrlKeyPressed(e2) ); if (firstKey != null) { manager.setFocusedKey(firstKey); if (isCtrlKeyPressed(e2) && e2.shiftKey && manager.selectionMode() === "multiple") { manager.extendSelection(firstKey); } else if (selectOnFocus) { manager.replaceSelection(firstKey); } } } break; case "End": if (delegate.getLastKey) { e2.preventDefault(); const lastKey = delegate.getLastKey(focusedKey, isCtrlKeyPressed(e2)); if (lastKey != null) { manager.setFocusedKey(lastKey); if (isCtrlKeyPressed(e2) && e2.shiftKey && manager.selectionMode() === "multiple") { manager.extendSelection(lastKey); } else if (selectOnFocus) { manager.replaceSelection(lastKey); } } } break; case "PageDown": if (delegate.getKeyPageBelow && focusedKey != null) { e2.preventDefault(); const nextKey = delegate.getKeyPageBelow(focusedKey); navigateToKey(nextKey); } break; case "PageUp": if (delegate.getKeyPageAbove && focusedKey != null) { e2.preventDefault(); const nextKey = delegate.getKeyPageAbove(focusedKey); navigateToKey(nextKey); } break; case "a": if (isCtrlKeyPressed(e2) && manager.selectionMode() === "multiple" && access(mergedProps.disallowSelectAll) !== true) { e2.preventDefault(); manager.selectAll(); } break; case "Escape": if (!e2.defaultPrevented) { e2.preventDefault(); if (!access(mergedProps.disallowEmptySelection)) { manager.clearSelection(); } } break; case "Tab": { if (!access(mergedProps.allowsTabNavigation)) { if (e2.shiftKey) { refEl.focus(); } else { const walker2 = getFocusableTreeWalker(refEl, { tabbable: true }); let next; let last; do { last = walker2.lastChild(); if (last) { next = last; } } while (last); if (next && !next.contains(document.activeElement)) { focusWithoutScrolling(next); } } break; } } } }; const onFocusIn = (e2) => { const manager = access(mergedProps.selectionManager); const delegate = access(mergedProps.keyboardDelegate); const selectOnFocus = access(mergedProps.selectOnFocus); if (manager.isFocused()) { if (!e2.currentTarget.contains(e2.target)) { manager.setFocused(false); } return; } if (!e2.currentTarget.contains(e2.target)) { return; } manager.setFocused(true); if (manager.focusedKey() == null) { const navigateToFirstKey = (key) => { if (key == null) { return; } manager.setFocusedKey(key); if (selectOnFocus) { manager.replaceSelection(key); } }; const relatedTarget = e2.relatedTarget; if (relatedTarget && e2.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) { navigateToFirstKey( manager.lastSelectedKey() ?? delegate.getLastKey?.() ); } else { navigateToFirstKey( manager.firstSelectedKey() ?? delegate.getFirstKey?.() ); } } else if (!access(mergedProps.isVirtualized)) { const scrollEl = finalScrollRef(); if (scrollEl) { scrollEl.scrollTop = scrollPos.top; scrollEl.scrollLeft = scrollPos.left; const element = scrollEl.querySelector( `[data-key="${manager.focusedKey()}"]` ); if (element) { focusWithoutScrolling(element); scrollIntoView(scrollEl, element); } } } }; const onFocusOut = (e2) => { const manager = access(mergedProps.selectionManager); if (!e2.currentTarget.contains(e2.relatedTarget)) { manager.setFocused(false); } }; const onMouseDown = (e2) => { if (finalScrollRef() === e2.target) { e2.preventDefault(); } }; const tryAutoFocus = () => { const autoFocus = access(mergedProps.autoFocus); if (!autoFocus) { return; } const manager = access(mergedProps.selectionManager); const delegate = access(mergedProps.keyboardDelegate); let focusedKey; if (autoFocus === "first") { focusedKey = delegate.getFirstKey?.(); } if (autoFocus === "last") { focusedKey = delegate.getLastKey?.(); } const selectedKeys = manager.selectedKeys(); if (selectedKeys.size) { focusedKey = selectedKeys.values().next().value; } manager.setFocused(true); manager.setFocusedKey(focusedKey); const refEl = ref(); if (refEl && focusedKey == null && !access(mergedProps.shouldUseVirtualFocus)) { focusWithoutScrolling(refEl); } }; onMount(() => { if (mergedProps.deferAutoFocus) { setTimeout(tryAutoFocus, 0); } else { tryAutoFocus(); } }); createEffect( on( [ finalScrollRef, () => access(mergedProps.isVirtualized), () => access(mergedProps.selectionManager).focusedKey() ], (newValue) => { const [scrollEl, isVirtualized, focusedKey] = newValue; if (isVirtualized) { focusedKey && mergedProps.scrollToKey?.(focusedKey); } else { if (focusedKey && scrollEl) { const element = scrollEl.querySelector( `[data-key="${focusedKey}"]` ); if (element) { scrollIntoView(scrollEl, element); } } } } ) ); const tabIndex = createMemo(() => { if (access(mergedProps.shouldUseVirtualFocus)) { return void 0; } return access(mergedProps.selectionManager).focusedKey() == null ? 0 : -1; }); return { tabIndex, onKeyDown, onMouseDown, onFocusIn, onFocusOut }; } function createSelectableItem(props, ref) { const manager = () => access(props.selectionManager); const key = () => access(props.key); const shouldUseVirtualFocus = () => access(props.shouldUseVirtualFocus); const onSelect = (e2) => { if (manager().selectionMode() === "none") { return; } if (manager().selectionMode() === "single") { if (manager().isSelected(key()) && !manager().disallowEmptySelection()) { manager().toggleSelection(key()); } else { manager().replaceSelection(key()); } } else if (e2?.shiftKey) { manager().extendSelection(key()); } else if (manager().selectionBehavior() === "toggle" || isCtrlKeyPressed(e2) || "pointerType" in e2 && e2.pointerType === "touch") { manager().toggleSelection(key()); } else { manager().replaceSelection(key()); } }; const isSelected = () => manager().isSelected(key()); const isDisabled = () => access(props.disabled) || manager().isDisabled(key()); const allowsSelection = () => !isDisabled() && manager().canSelectItem(key()); let pointerDownType = null; const onPointerDown = (e2) => { if (!allowsSelection()) { return; } pointerDownType = e2.pointerType; if (e2.pointerType === "mouse" && e2.button === 0 && !access(props.shouldSelectOnPressUp)) { onSelect(e2); } }; const onPointerUp = (e2) => { if (!allowsSelection()) { return; } if (e2.pointerType === "mouse" && e2.button === 0 && access(props.shouldSelectOnPressUp) && access(props.allowsDifferentPressOrigin)) { onSelect(e2); } }; const onClick = (e2) => { if (!allowsSelection()) { return; } if (access(props.shouldSelectOnPressUp) && !access(props.allowsDifferentPressOrigin) || pointerDownType !== "mouse") { onSelect(e2); } }; const onKeyDown = (e2) => { if (!allowsSelection() || !["Enter", " "].includes(e2.key)) { return; } if (isNonContiguousSelectionModifier(e2)) { manager().toggleSelection(key()); } else { onSelect(e2); } }; const onMouseDown = (e2) => { if (isDisabled()) { e2.preventDefault(); } }; const onFocus = (e2) => { const refEl = ref(); if (shouldUseVirtualFocus() || isDisabled() || !refEl) { return; } if (e2.target === refEl) { manager().setFocusedKey(key()); } }; const tabIndex = createMemo(() => { if (shouldUseVirtualFocus() || isDisabled()) { return void 0; } return key() === manager().focusedKey() ? 0 : -1; }); const dataKey = createMemo(() => { return access(props.virtualized) ? void 0 : key(); }); createEffect( on( [ ref, key, shouldUseVirtualFocus, () => manager().focusedKey(), () => manager().isFocused() ], ([refEl, key2, shouldUseVirtualFocus2, focusedKey, isFocused]) => { if (refEl && key2 === focusedKey && isFocused && !shouldUseVirtualFocus2 && document.activeElement !== refEl) { if (props.focus) { props.focus(); } else { focusWithoutScrolling(refEl); } } } ) ); return { isSelected, isDisabled, allowsSelection, tabIndex, dataKey, onPointerDown, onPointerUp, onClick, onKeyDown, onMouseDown, onFocus }; } function createListState(props) { const selectionState = createMultipleSelectionState(props); const factory = (nodes) => { return props.filter ? new ListCollection(props.filter(nodes)) : new ListCollection(nodes); }; const collection = createCollection( { dataSource: () => access(props.dataSource), getKey: () => access(props.getKey), getTextValue: () => access(props.getTextValue), getDisabled: () => access(props.getDisabled), getSectionChildren: () => access(props.getSectionChildren), factory }, [() => props.filter] ); const selectionManager = new SelectionManager(collection, selectionState); createComputed(() => { const focusedKey = selectionState.focusedKey(); if (focusedKey != null && !collection().getItem(focusedKey)) { selectionState.setFocusedKey(void 0); } }); return { collection, selectionManager: () => selectionManager }; } var Selection, SelectionManager, ListCollection; var init_H6DSIDEC = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/H6DSIDEC.js"() { init_JMA2RWU6(); init_XHJPQEZP(); init_BLN63FDC(); init_dist12(); init_solid(); Selection = class _Selection extends Set { anchorKey; currentKey; constructor(keys2, anchorKey, currentKey) { super(keys2); if (keys2 instanceof _Selection) { this.anchorKey = anchorKey || keys2.anchorKey; this.currentKey = currentKey || keys2.currentKey; } else { this.anchorKey = anchorKey; this.currentKey = currentKey; } } }; SelectionManager = class { collection; state; constructor(collection, state) { this.collection = collection; this.state = state; } /** The type of selection that is allowed in the collection. */ selectionMode() { return this.state.selectionMode(); } /** Whether the collection allows empty selection. */ disallowEmptySelection() { return this.state.disallowEmptySelection(); } /** The selection behavior for the collection. */ selectionBehavior() { return this.state.selectionBehavior(); } /** Sets the selection behavior for the collection. */ setSelectionBehavior(selectionBehavior) { this.state.setSelectionBehavior(selectionBehavior); } /** Whether the collection is currently focused. */ isFocused() { return this.state.isFocused(); } /** Sets whether the collection is focused. */ setFocused(isFocused) { this.state.setFocused(isFocused); } /** The current focused key in the collection. */ focusedKey() { return this.state.focusedKey(); } /** Sets the focused key. */ setFocusedKey(key) { if (key == null || this.collection().getItem(key)) { this.state.setFocusedKey(key); } } /** The currently selected keys in the collection. */ selectedKeys() { return this.state.selectedKeys(); } /** Returns whether a key is selected. */ isSelected(key) { if (this.state.selectionMode() === "none") { return false; } const retrievedKey = this.getKey(key); if (retrievedKey == null) { return false; } return this.state.selectedKeys().has(retrievedKey); } /** Whether the selection is empty. */ isEmpty() { return this.state.selectedKeys().size === 0; } /** Whether all items in the collection are selected. */ isSelectAll() { if (this.isEmpty()) { return false; } const selectedKeys = this.state.selectedKeys(); return this.getAllSelectableKeys().every((k) => selectedKeys.has(k)); } firstSelectedKey() { let first; for (const key of this.state.selectedKeys()) { const item = this.collection().getItem(key); const isItemBeforeFirst = item?.index != null && first?.index != null && item.index < first.index; if (!first || isItemBeforeFirst) { first = item; } } return first?.key; } lastSelectedKey() { let last; for (const key of this.state.selectedKeys()) { const item = this.collection().getItem(key); const isItemAfterLast = item?.index != null && last?.index != null && item.index > last.index; if (!last || isItemAfterLast) { last = item; } } return last?.key; } /** Extends the selection to the given key. */ extendSelection(toKey) { if (this.selectionMode() === "none") { return; } if (this.selectionMode() === "single") { this.replaceSelection(toKey); return; } const retrievedToKey = this.getKey(toKey); if (retrievedToKey == null) { return; } const selectedKeys = this.state.selectedKeys(); const anchorKey = selectedKeys.anchorKey || retrievedToKey; const selection = new Selection(selectedKeys, anchorKey, retrievedToKey); for (const key of this.getKeyRange( anchorKey, selectedKeys.currentKey || retrievedToKey )) { selection.delete(key); } for (const key of this.getKeyRange(retrievedToKey, anchorKey)) { if (this.canSelectItem(key)) { selection.add(key); } } this.state.setSelectedKeys(selection); } getKeyRange(from, to) { const fromItem = this.collection().getItem(from); const toItem = this.collection().getItem(to); if (fromItem && toItem) { if (fromItem.index != null && toItem.index != null && fromItem.index <= toItem.index) { return this.getKeyRangeInternal(from, to); } return this.getKeyRangeInternal(to, from); } return []; } getKeyRangeInternal(from, to) { const keys2 = []; let key = from; while (key != null) { const item = this.collection().getItem(key); if (item && item.type === "item") { keys2.push(key); } if (key === to) { return keys2; } key = this.collection().getKeyAfter(key); } return []; } getKey(key) { const item = this.collection().getItem(key); if (!item) { return key; } if (!item || item.type !== "item") { return null; } return item.key; } /** Toggles whether the given key is selected. */ toggleSelection(key) { if (this.selectionMode() === "none") { return; } if (this.selectionMode() === "single" && !this.isSelected(key)) { this.replaceSelection(key); return; } const retrievedKey = this.getKey(key); if (retrievedKey == null) { return; } const keys2 = new Selection(this.state.selectedKeys()); if (keys2.has(retrievedKey)) { keys2.delete(retrievedKey); } else if (this.canSelectItem(retrievedKey)) { keys2.add(retrievedKey); keys2.anchorKey = retrievedKey; keys2.currentKey = retrievedKey; } if (this.disallowEmptySelection() && keys2.size === 0) { return; } this.state.setSelectedKeys(keys2); } /** Replaces the selection with only the given key. */ replaceSelection(key) { if (this.selectionMode() === "none") { return; } const retrievedKey = this.getKey(key); if (retrievedKey == null) { return; } const selection = this.canSelectItem(retrievedKey) ? new Selection([retrievedKey], retrievedKey, retrievedKey) : new Selection(); this.state.setSelectedKeys(selection); } /** Replaces the selection with the given keys. */ setSelectedKeys(keys2) { if (this.selectionMode() === "none") { return; } const selection = new Selection(); for (const key of keys2) { const retrievedKey = this.getKey(key); if (retrievedKey != null) { selection.add(retrievedKey); if (this.selectionMode() === "single") { break; } } } this.state.setSelectedKeys(selection); } /** Selects all items in the collection. */ selectAll() { if (this.selectionMode() === "multiple") { this.state.setSelectedKeys(new Set(this.getAllSelectableKeys())); } } /** * Removes all keys from the selection. */ clearSelection() { const selectedKeys = this.state.selectedKeys(); if (!this.disallowEmptySelection() && selectedKeys.size > 0) { this.state.setSelectedKeys(new Selection()); } } /** * Toggles between select all and an empty selection. */ toggleSelectAll() { if (this.isSelectAll()) { this.clearSelection(); } else { this.selectAll(); } } select(key, e2) { if (this.selectionMode() === "none") { return; } if (this.selectionMode() === "single") { if (this.isSelected(key) && !this.disallowEmptySelection()) { this.toggleSelection(key); } else { this.replaceSelection(key); } } else if (this.selectionBehavior() === "toggle" || e2 && e2.pointerType === "touch") { this.toggleSelection(key); } else { this.replaceSelection(key); } } /** Returns whether the current selection is equal to the given selection. */ isSelectionEqual(selection) { if (selection === this.state.selectedKeys()) { return true; } const selectedKeys = this.selectedKeys(); if (selection.size !== selectedKeys.size) { return false; } for (const key of selection) { if (!selectedKeys.has(key)) { return false; } } for (const key of selectedKeys) { if (!selection.has(key)) { return false; } } return true; } canSelectItem(key) { if (this.state.selectionMode() === "none") { return false; } const item = this.collection().getItem(key); return item != null && !item.disabled; } isDisabled(key) { const item = this.collection().getItem(key); return !item || item.disabled; } getAllSelectableKeys() { const keys2 = []; const addKeys = (key) => { while (key != null) { if (this.canSelectItem(key)) { const item = this.collection().getItem(key); if (!item) { continue; } if (item.type === "item") { keys2.push(key); } } key = this.collection().getKeyAfter(key); } }; addKeys(this.collection().getFirstKey()); return keys2; } }; ListCollection = class { keyMap = /* @__PURE__ */ new Map(); iterable; firstKey; lastKey; constructor(nodes) { this.iterable = nodes; for (const node of nodes) { this.keyMap.set(node.key, node); } if (this.keyMap.size === 0) { return; } let last; let index = 0; for (const [key, node] of this.keyMap) { if (last) { last.nextKey = key; node.prevKey = last.key; } else { this.firstKey = key; node.prevKey = void 0; } if (node.type === "item") { node.index = index++; } last = node; last.nextKey = void 0; } this.lastKey = last.key; } *[Symbol.iterator]() { yield* this.iterable; } getSize() { return this.keyMap.size; } getKeys() { return this.keyMap.keys(); } getKeyBefore(key) { return this.keyMap.get(key)?.prevKey; } getKeyAfter(key) { return this.keyMap.get(key)?.nextKey; } getFirstKey() { return this.firstKey; } getLastKey() { return this.lastKey; } getItem(key) { return this.keyMap.get(key); } at(idx) { const keys2 = [...this.getKeys()]; return this.getItem(keys2[idx]); } }; } }); // ../../node_modules/.pnpm/@corvu+utils@0.3.2_solid-js@1.9.7/node_modules/@corvu/utils/dist/chunk/ZV6G25TT.js var access2; var init_ZV6G25TT = __esm({ "../../node_modules/.pnpm/@corvu+utils@0.3.2_solid-js@1.9.7/node_modules/@corvu/utils/dist/chunk/ZV6G25TT.js"() { access2 = (v) => typeof v === "function" ? v() : v; } }); // ../../node_modules/.pnpm/@corvu+utils@0.3.2_solid-js@1.9.7/node_modules/@corvu/utils/dist/reactivity/index.js var init_reactivity = __esm({ "../../node_modules/.pnpm/@corvu+utils@0.3.2_solid-js@1.9.7/node_modules/@corvu/utils/dist/reactivity/index.js"() { init_ZV6G25TT(); } }); // ../../node_modules/.pnpm/solid-presence@0.1.7_solid-js@1.9.7/node_modules/solid-presence/dist/index.js var createPresence, presence_default, src_default; var init_dist13 = __esm({ "../../node_modules/.pnpm/solid-presence@0.1.7_solid-js@1.9.7/node_modules/solid-presence/dist/index.js"() { init_reactivity(); init_solid(); createPresence = (props) => { const refStyles = createMemo(() => { const element = access2(props.element); if (!element) return; return getComputedStyle(element); }); const getAnimationName = () => { return refStyles()?.animationName ?? "none"; }; const [presentState, setPresentState] = createSignal(access2(props.show) ? "present" : "hidden"); let animationName = "none"; createEffect((prevShow) => { const show = access2(props.show); untrack(() => { if (prevShow === show) return show; const prevAnimationName = animationName; const currentAnimationName = getAnimationName(); if (show) { setPresentState("present"); } else if (currentAnimationName === "none" || refStyles()?.display === "none") { setPresentState("hidden"); } else { const isAnimating = prevAnimationName !== currentAnimationName; if (prevShow === true && isAnimating) { setPresentState("hiding"); } else { setPresentState("hidden"); } } }); return show; }); createEffect(() => { const element = access2(props.element); if (!element) return; const handleAnimationStart = (event) => { if (event.target === element) { animationName = getAnimationName(); } }; const handleAnimationEnd = (event) => { const currentAnimationName = getAnimationName(); const isCurrentAnimation = currentAnimationName.includes( event.animationName ); if (event.target === element && isCurrentAnimation && presentState() === "hiding") { setPresentState("hidden"); } }; element.addEventListener("animationstart", handleAnimationStart); element.addEventListener("animationcancel", handleAnimationEnd); element.addEventListener("animationend", handleAnimationEnd); onCleanup(() => { element.removeEventListener("animationstart", handleAnimationStart); element.removeEventListener("animationcancel", handleAnimationEnd); element.removeEventListener("animationend", handleAnimationEnd); }); }); return { present: () => presentState() === "present" || presentState() === "hiding", state: presentState }; }; presence_default = createPresence; src_default = presence_default; } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ZKYDDHM6.js function indexOf(node) { return layers.findIndex((layer) => layer.node === node); } function find2(node) { return layers[indexOf(node)]; } function isTopMostLayer(node) { return layers[layers.length - 1].node === node; } function getPointerBlockingLayers() { return layers.filter((layer) => layer.isPointerBlocking); } function getTopMostPointerBlockingLayer() { return [...getPointerBlockingLayers()].slice(-1)[0]; } function hasPointerBlockingLayer() { return getPointerBlockingLayers().length > 0; } function isBelowPointerBlockingLayer(node) { const highestBlockingIndex = indexOf(getTopMostPointerBlockingLayer()?.node); return indexOf(node) < highestBlockingIndex; } function addLayer(layer) { layers.push(layer); } function removeLayer(node) { const index = indexOf(node); if (index < 0) { return; } layers.splice(index, 1); } function assignPointerEventToLayers() { for (const { node } of layers) { node.style.pointerEvents = isBelowPointerBlockingLayer(node) ? "none" : "auto"; } } function disableBodyPointerEvents(node) { if (hasPointerBlockingLayer() && !hasDisabledBodyPointerEvents) { const ownerDocument = getDocument(node); originalBodyPointerEvents = document.body.style.pointerEvents; ownerDocument.body.style.pointerEvents = "none"; hasDisabledBodyPointerEvents = true; } } function restoreBodyPointerEvents(node) { if (hasPointerBlockingLayer()) { return; } const ownerDocument = getDocument(node); ownerDocument.body.style.pointerEvents = originalBodyPointerEvents; if (ownerDocument.body.style.length === 0) { ownerDocument.body.removeAttribute("style"); } hasDisabledBodyPointerEvents = false; } var DATA_TOP_LAYER_ATTR, originalBodyPointerEvents, hasDisabledBodyPointerEvents, layers, layerStack; var init_ZKYDDHM6 = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/ZKYDDHM6.js"() { init_dist12(); DATA_TOP_LAYER_ATTR = "data-kb-top-layer"; hasDisabledBodyPointerEvents = false; layers = []; layerStack = { layers, isTopMostLayer, hasPointerBlockingLayer, isBelowPointerBlockingLayer, addLayer, removeLayer, indexOf, find: find2, assignPointerEventToLayers, disableBodyPointerEvents, restoreBodyPointerEvents }; } }); // ../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/7OVKXYPU.js function isButton(element) { const tagName = element.tagName.toLowerCase(); if (tagName === "button") { return true; } if (tagName === "input" && element.type) { return BUTTON_INPUT_TYPES.indexOf(element.type) !== -1; } return false; } function ButtonRoot(props) { let ref; const mergedProps = mergeDefaultProps({ type: "button" }, props); const [local, others] = splitProps(mergedProps, ["ref", "type", "disabled"]); const tagName = createTagName(() => ref, () => "button"); const isNativeButton = createMemo(() => { const elementTagName = tagName(); if (elementTagName == null) { return false; } return isButton({ tagName: elementTagName, type: local.type }); }); const isNativeInput = createMemo(() => { return tagName() === "input"; }); const isNativeLink = createMemo(() => { return tagName() === "a" && ref?.getAttribute("href") != null; }); return createComponent(Polymorphic, mergeProps({ as: "button", ref(r$) { const _ref$ = mergeRefs((el) => ref = el, local.ref); typeof _ref$ === "function" && _ref$(r$); }, get type() { return isNativeButton() || isNativeInput() ? local.type : void 0; }, get role() { return !isNativeButton() && !isNativeLink() ? "button" : void 0; }, get tabIndex() { return !isNativeButton() && !isNativeLink() && !local.disabled ? 0 : void 0; }, get disabled() { return isNativeButton() || isNativeInput() ? local.disabled : void 0; }, get ["aria-disabled"]() { return !isNativeButton() && !isNativeInput() && local.disabled ? true : void 0; }, get ["data-disabled"]() { return local.disabled ? "" : void 0; } }, others)); } var button_exports, BUTTON_INPUT_TYPES, Button; var init_OVKXYPU = __esm({ "../../node_modules/.pnpm/@kobalte+core@0.13.4_solid-js@1.9.7/node_modules/@kobalte/core/dist/chunk/7OVKXYPU.js"() { init_ET5T45DO(); init_Y7B2NEO(); init_ZKAE4VZ(); init_web(); init_dist12(); init_solid(); button_exports = {}; __export2(button_exports, { Button: () => Button, Root: () => ButtonRoot }); BUTTON_INPUT_TYPES = [ "button", "color", "file", "image", "reset", "submit" ]; Button = ButtonRoot; } }); // ../../node_modules/.pnpm/@floating-ui+utils@0.2.5/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs 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 }; } var sides, min, max, round, floor, createCoords, oppositeSideMap, oppositeAlignmentMap; var init_floating_ui_utils = __esm({ "../../node_modules/.pnpm/@floating-ui+utils@0.2.5/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"() { sides = ["top", "right", "bottom", "left"]; min = Math.min; max = Math.max; round = Math.round; floor = Math.floor; createCoords = (v) => ({ x: v, y: v }); oppositeSideMap = { left: "right", right: "left", bottom: "top", top: "bottom" }; oppositeAlignmentMap = { start: "end", end: "start" }; } }); // ../../node_modules/.pnpm/@floating-ui+core@1.6.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs function computeCoordsFromPlacement(_ref, placement, rtl) { let { reference, floating } = _ref; const sideAxis = getSideAxis(placement); const alignmentAxis = getAlignmentAxis(placement); const alignLength = getAxisLength(alignmentAxis); const side = getSide(placement); const isVertical = sideAxis === "y"; const commonX = reference.x + reference.width / 2 - floating.width / 2; const commonY = reference.y + reference.height / 2 - floating.height / 2; const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; let coords; switch (side) { case "top": coords = { x: commonX, y: reference.y - floating.height }; break; case "bottom": coords = { x: commonX, y: reference.y + reference.height }; break; case "right": coords = { x: reference.x + reference.width, y: commonY }; break; case "left": coords = { x: reference.x - floating.width, y: commonY }; break; default: coords = { x: reference.x, y: reference.y }; } switch (getAlignment(placement)) { case "start": coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); break; case "end": coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); break; } return coords; } async function detectOverflow(state, options) { var _await$platform$isEle; if (options === void 0) { options = {}; } const { x, y, platform: platform2, rects, elements, strategy } = state; const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state); const paddingObject = getPaddingObject(padding); const altContext = elementContext === "floating" ? "reference" : "floating"; const element = elements[altBoundary ? altContext : elementContext]; const clippingClientRect = rectToClientRect(await platform2.getClippingRect({ element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)), boundary, rootBoundary, strategy })); const rect = elementContext === "floating" ? { x, y, width: rects.floating.width, height: rects.floating.height } : rects.reference; const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating)); const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || { x: 1, y: 1 } : { x: 1, y: 1 }; const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({ elements, rect, offsetParent, strategy }) : rect); return { top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x }; } function getSideOffsets(overflow, rect) { return { top: overflow.top - rect.height, right: overflow.right - rect.width, bottom: overflow.bottom - rect.height, left: overflow.left - rect.width }; } function isAnySideFullyClipped(overflow) { return sides.some((side) => overflow[side] >= 0); } 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: 0, crossAxis: 0, alignmentAxis: null, ...rawValue }; 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 computePosition, arrow, flip, hide, offset, shift, size; var init_floating_ui_core = __esm({ "../../node_modules/.pnpm/@floating-ui+core@1.6.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs"() { init_floating_ui_utils(); init_floating_ui_utils(); 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 i2 = 0; i2 < validMiddleware.length; i2++) { const { name, fn } = validMiddleware[i2]; const { x: nextX, y: nextY, data, reset: reset2 } = 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 (reset2 && resetCount <= 50) { resetCount++; if (typeof reset2 === "object") { if (reset2.placement) { statefulPlacement = reset2.placement; } if (reset2.rects) { rects = reset2.rects === true ? await platform2.getElementRects({ reference, floating, strategy }) : reset2.rects; } ({ x, y } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); } i2 = -1; } } return { x, y, placement: statefulPlacement, strategy, middlewareData }; }; 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 offset3 = clamp2(min$1, center, max2); const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset3 && 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]: offset3, centerOffset: center - offset3 - alignmentOffset, ...shouldAddOffset && { alignmentOffset } }, reset: shouldAddOffset }; } }); 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((a2, b2) => a2.overflows[1] - b2.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((a2, b2) => a2[1] - b2[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 {}; } }; }; hide = function(options) { if (options === void 0) { options = {}; } return { name: "hide", options, async fn(state) { const { rects } = state; const { strategy = "referenceHidden", ...detectOverflowOptions } = evaluate(options, state); switch (strategy) { case "referenceHidden": { const overflow = await detectOverflow(state, { ...detectOverflowOptions, elementContext: "reference" }); const offsets = getSideOffsets(overflow, rects.reference); return { data: { referenceHiddenOffsets: offsets, referenceHidden: isAnySideFullyClipped(offsets) } }; } case "escaped": { const overflow = await detectOverflow(state, { ...detectOverflowOptions, altBoundary: true }); const offsets = getSideOffsets(overflow, rects.floating); return { data: { escapedOffsets: offsets, escaped: isAnySideFullyClipped(offsets) } }; } default: { return {}; } } } }; }; 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 } }; } }; }; 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 } }; } }; }; size = function(options) { if (options === void 0) { options = {}; } return { name: "size", options, async fn(state) { 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 (isYAxis) { availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth; } else { availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight; } if (noShift && !alignment) { const xMin = max(overflow.left, 0); const xMax = max(overflow.right, 0); const yMin = max(overflow.top, 0); const yMax = max(overflow.bottom, 0); if (isYAxis) { availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)); } else { availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)); } } await apply({ ...state, availableWidth, availableHeight }); const nextDimensions = await platform2.getDimensions(elements.floating); if (width !== nextDimensions.width || height !== nextDimensions.height) { return { reset: { rects: true } }; } return {}; } }; }; } }); // ../../node_modules/.pnpm/@floating-ui+utils@0.2.5/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs function getNodeName(node) { if (isNode(node)) { return (node.nodeName || "").toLowerCase(); } return "#document"; } function getWindow2(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) { return value instanceof Node || value instanceof getWindow2(value).Node; } function isElement(value) { return value instanceof Element || value instanceof getWindow2(value).Element; } function isHTMLElement(value) { return value instanceof HTMLElement || value instanceof getWindow2(value).HTMLElement; } function isShadowRoot(value) { if (typeof ShadowRoot === "undefined") { return false; } return value instanceof ShadowRoot || value instanceof getWindow2(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 (e2) { return false; } }); } function isContainingBlock(elementOrCss) { const webkit = isWebKit(); const css = isElement(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 getWindow2(element).getComputedStyle(element); } function getNodeScroll(element) { if (isElement(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 = getWindow2(scrollableAncestor); if (isBody) { return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []); } return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); } var init_floating_ui_utils_dom = __esm({ "../../node_modules/.pnpm/@floating-ui+utils@0.2.5/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"() { } }); // ../../node_modules/.pnpm/@floating-ui+dom@1.6.8/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 !isElement(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 }; } function getVisualOffsets(element) { const win = getWindow2(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 !== getWindow2(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 (isElement(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 = getWindow2(domElement); const offsetWin = offsetParent && isElement(offsetParent) ? getWindow2(offsetParent) : offsetParent; let currentWin = win; let currentIFrame = currentWin.frameElement; 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 = getWindow2(currentIFrame); currentIFrame = currentWin.frameElement; } } 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) { return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft; } 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 = getWindow2(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 (isElement(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 || !isElement(parentNode) || isLastTraversableNode(parentNode)) { return false; } return getComputedStyle2(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode); } function getClippingElementAncestors(element, cache2) { const cachedResult = cache2.get(element); if (cachedResult) { return cachedResult; } let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body"); let currentContainingBlockComputedStyle = null; const elementIsFixed = getComputedStyle2(element).position === "fixed"; let currentNode = elementIsFixed ? getParentNode(element) : element; while (isElement(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); } cache2.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); } } const x = rect.left + scroll.scrollLeft - offsets.x; const y = rect.top + scroll.scrollTop - offsets.y; return { x, y, width: rect.width, height: rect.height }; } function isStaticPositioned(element) { return getComputedStyle2(element).position === "static"; } function getTrueOffsetParent(element, polyfill) { if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") { return null; } if (polyfill) { return polyfill(element); } return element.offsetParent; } function getOffsetParent(element, polyfill) { const win = getWindow2(element); if (isTopLayer(element)) { return win; } if (!isHTMLElement(element)) { let svgOffsetParent = getParentNode(element); while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { if (isElement(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; } function isRTL2(element) { return getComputedStyle2(element).direction === "rtl"; } 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(entries2) { const ratio = entries2[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