@clerk/react 6.15.0-snapshot.v20260828151827 → 6.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ClerkProvider-C46cuqJ3.cjs → ClerkProvider-CrxNp9Vs.cjs} +17 -5
- package/dist/ClerkProvider-CrxNp9Vs.cjs.map +1 -0
- package/dist/{ClerkProvider-BEv4Y__7.mjs → ClerkProvider-uQrBRtCz.mjs} +16 -3
- package/dist/ClerkProvider-uQrBRtCz.mjs.map +1 -0
- package/dist/experimental.cjs +2 -3
- package/dist/experimental.cjs.map +1 -1
- package/dist/experimental.d.cts +1 -1
- package/dist/experimental.d.mts +1 -1
- package/dist/experimental.mjs +1 -1
- package/dist/{hooks-DDBmec72.mjs → hooks-66XwX3F0.mjs} +32 -3
- package/dist/hooks-66XwX3F0.mjs.map +1 -0
- package/dist/{hooks-DfHFYxET.cjs → hooks-ByQmbuum.cjs} +70 -3
- package/dist/hooks-ByQmbuum.cjs.map +1 -0
- package/dist/index.cjs +14 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -5
- package/dist/index.d.mts +23 -5
- package/dist/index.mjs +3 -3
- package/dist/internal.cjs +2 -2
- package/dist/internal.d.cts +2 -2
- package/dist/internal.d.mts +2 -2
- package/dist/internal.mjs +2 -2
- package/dist/{types-DOCvRkP3.d.cts → types-8bkUI4Jw.d.mts} +7 -3
- package/dist/{types-DouCnLTT.d.mts → types-CJU-2SXy.d.cts} +7 -3
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/{useAuth-BIGqYRKT.d.cts → useAuth-B1VefVbj.d.mts} +3 -3
- package/dist/{useAuth-DO2sSUTl.d.mts → useAuth-szFCQqhS.d.cts} +3 -3
- package/package.json +6 -17
- package/dist/ClerkProvider-BEv4Y__7.mjs.map +0 -1
- package/dist/ClerkProvider-C46cuqJ3.cjs.map +0 -1
- package/dist/chunk-C_NdSu1c.cjs +0 -34
- package/dist/experimental/mosaic/styles.css +0 -2290
- package/dist/experimental/mosaic.cjs +0 -10933
- package/dist/experimental/mosaic.cjs.map +0 -1
- package/dist/experimental/mosaic.d.cts +0 -239
- package/dist/experimental/mosaic.d.mts +0 -239
- package/dist/experimental/mosaic.mjs +0 -10931
- package/dist/experimental/mosaic.mjs.map +0 -1
- package/dist/hooks-DDBmec72.mjs.map +0 -1
- package/dist/hooks-DfHFYxET.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mosaic.cjs","names":["React$1","useLayoutEffect","Fragment","React"],"sources":["../../../ui/dist-mosaic/index.js"],"sourcesContent":["'use client';\nimport * as React$1 from \"react\";\nimport React, { createContext, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport * as ReactDOM from \"react-dom\";\nimport { createPortal, flushSync } from \"react-dom\";\nimport { useClerk, useOrganization, usePortalRoot, useSafeLayoutEffect, useSession, useUser } from \"@clerk/shared/react\";\nimport { buildTaskUrl } from \"@clerk/shared/internal/clerk-js/sessionTasks\";\nimport { getFullName, getIdentifier } from \"@clerk/shared/internal/clerk-js/user\";\nimport \"@clerk/shared/internal/clerk-js/errors\";\nimport \"@clerk/shared/underscore\";\nimport { useOrganizationList } from \"@clerk/shared/react/index\";\nimport { disabledUserAPIKeysFeature, disabledUserBillingFeature } from \"@clerk/shared/internal/clerk-js/componentGuards\";\n\n//#region src/mosaic/hooks/useSpinDelay.ts\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_MIN_DURATION = 200;\n/**\n* Spin-delays a nullable value: returns `null` until `value` has stayed non-null longer than `delay`\n* (so quick actions never flash a spinner), then holds the last non-null value for at least\n* `minDuration` after it clears (so the spinner never flickers off). A value-carrying rework of\n* https://github.com/smeijer/spin-delay: each timer lives in a `const` and is cancelled by effect\n* cleanup when `value` flips before it fires.\n*/\nfunction useSpinDelay(value, options = {}) {\n\tconst delay = options.delay ?? DEFAULT_DELAY;\n\tconst minDuration = options.minDuration ?? DEFAULT_MIN_DURATION;\n\tconst [shown, setShown] = useState(null);\n\tconst shownAt = useRef(0);\n\tuseEffect(() => {\n\t\tif (shown === null) {\n\t\t\tif (value === null) return;\n\t\t\tif (delay <= 0) {\n\t\t\t\tshownAt.current = Date.now();\n\t\t\t\tsetShown(value);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst timer = setTimeout(() => {\n\t\t\t\tshownAt.current = Date.now();\n\t\t\t\tsetShown(value);\n\t\t\t}, delay);\n\t\t\treturn () => clearTimeout(timer);\n\t\t}\n\t\tif (value === null) {\n\t\t\tconst remaining = minDuration - (Date.now() - shownAt.current);\n\t\t\tif (remaining <= 0) {\n\t\t\t\tsetShown(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst timer = setTimeout(() => setShown(null), remaining);\n\t\t\treturn () => clearTimeout(timer);\n\t\t}\n\t\tif (value !== shown) setShown(value);\n\t}, [\n\t\tvalue,\n\t\tshown,\n\t\tdelay,\n\t\tminDuration\n\t]);\n\treturn shown;\n}\n\n//#endregion\n//#region src/mosaic/machine/types.ts\n/** Internal tag identifying an {@link assign} action. A symbol so it can never collide with a user value. */\nconst ASSIGN = Symbol(\"assign\");\n/** The event type fired when an invoked promise resolves. */\nconst INVOKE_DONE = \"machine.invoke.done\";\n/** The event type fired when an invoked promise rejects. */\nconst INVOKE_ERROR = \"machine.invoke.error\";\n/** The event delivered to a state on entry (and to the initial state on start). */\nconst INIT = \"machine.init\";\n/** The event delivered to guards when {@link Actor.recheck} re-evaluates `always` transitions. */\nconst RECHECK = \"machine.recheck\";\n/** The event type delivered to an `after` transition when its timer fires. */\nconst AFTER = \"machine.after\";\n\n//#endregion\n//#region src/mosaic/machine/assign.ts\n/**\n* Context-update action creator. The returned object is recognised by the\n* runtime, which shallow-merges the returned partial into context.\n*\n* ```ts\n* on: { TYPE: { actions: assign((_, e) => ({ value: e.value })) } }\n* ```\n*\n* The updater is a pure `(context, event) => Partial<context>` function, so it\n* can be unit-tested on its own without an actor.\n*/\nfunction assign$1(assignment) {\n\treturn {\n\t\ttype: ASSIGN,\n\t\tassignment\n\t};\n}\n/** Type guard distinguishing an `assign` action from a plain side-effect action. */\nfunction isAssignAction(action) {\n\treturn typeof action === \"object\" && action !== null && action.type === ASSIGN;\n}\n\n//#endregion\n//#region src/mosaic/machine/createMachine.ts\n/**\n* Create a state-machine definition from a config object.\n*\n* The result is a plain, inert description — nothing runs until you wrap it in\n* an actor ({@link createActor}). Because the shape is a static object, tools\n* (swingset docs, tests) can read `machine.states` to enumerate every step\n* without executing anything.\n*\n* ```ts\n* const machine = createMachine({\n* id: 'toggle',\n* initial: 'inactive',\n* context: { count: 0 },\n* states: {\n* inactive: { on: { TOGGLE: 'active' } },\n* active: { on: { TOGGLE: 'inactive' } },\n* },\n* });\n* ```\n*/\nfunction createMachine$1(config) {\n\treturn {\n\t\tid: config.id,\n\t\tinitial: config.initial,\n\t\tcontext: config.context ?? {},\n\t\tstates: config.states,\n\t\tconfig\n\t};\n}\n\n//#endregion\n//#region src/mosaic/machine/setup.ts\n/**\n* Pre-bind `TContext` and `TEvent` once per machine file, returning factory\n* functions that don't require repeating those types at every call site.\n*\n* ```ts\n* const { createMachine, assign } = setup<SignInContext, SignInEvent>();\n*\n* export function createSignInMachine(deps: Deps) {\n* return createMachine({ // no <SignInContext, SignInEvent> needed\n* states: {\n* collecting: {\n* on: {\n* TYPE_IDENTIFIER: {\n* actions: assign((_, e) => ({ identifier: e.value })), // e narrowed automatically\n* },\n* },\n* },\n* },\n* });\n* }\n* ```\n*\n* `assign`'s second type parameter (`TEvt`) is left free so TypeScript's\n* contextual typing can narrow it from its placement inside `on`, `onDone`,\n* `onError`, or `after` — eliminating the need to write\n* `assign<Ctx, Extract<Event, { type: 'X' }>>` by hand.\n*/\nfunction setup() {\n\treturn {\n\t\tcreateMachine: (config) => createMachine$1(config),\n\t\tassign: (fn) => assign$1(fn),\n\t\t/**\n\t\t* Wraps an async function so its resolved type flows into `onDone.actions`.\n\t\t* Mirrors XState v5's `fromPromise<TOutput>()` — a typed wrapper that carries\n\t\t* `TOutput` to `DoneInvokeEvent<TOutput>` without needing a full actor registry.\n\t\t*\n\t\t* ```ts\n\t\t* const { createMachine, assign, fromPromise } = setup<Ctx, Event>();\n\t\t*\n\t\t* states: {\n\t\t* loading: {\n\t\t* invoke: fromPromise(\n\t\t* ctx => ctx.fetchFn(), // infers TOutput = Resource\n\t\t* { onDone: { target: 'success',\n\t\t* actions: assign((_, e) => ({ data: e.output })) } }, // e.output: Resource ✓\n\t\t* ),\n\t\t* },\n\t\t* }\n\t\t* ```\n\t\t*\n\t\t* A raw `src` function (without `fromPromise`) still works — `e.output` is `any`.\n\t\t*/\n\t\tfromPromise: (fn, config) => ({\n\t\t\tsrc: fn,\n\t\t\t...config\n\t\t})\n\t};\n}\n\n//#endregion\n//#region src/mosaic/machine/createActor.ts\nconst INIT_EVENT = { type: INIT };\nconst toArr = (v) => !v ? [] : Array.isArray(v) ? v : [v];\n/**\n* Wrap a machine definition in a running instance (an \"actor\").\n*\n* Construction is lazy: the snapshot reflects the initial state, but entry\n* actions, immediate (`always`) transitions, and invokes don't run until\n* {@link Actor.start} is called.\n*\n* ```ts\n* const actor = createActor(machine);\n* actor.subscribe(snap => console.log(snap.value));\n* actor.start();\n* actor.send({ type: 'TOGGLE' });\n* ```\n*/\nfunction createActor(machine, options = {}) {\n\tconst teleport = options.snapshot;\n\tconst states = machine.states;\n\tlet liveContextPatch = options.context ?? {};\n\tlet context = {\n\t\t...machine.context,\n\t\t...liveContextPatch,\n\t\t...teleport?.context\n\t};\n\tconst resolveInitial = () => typeof machine.initial === \"function\" ? machine.initial(context) : machine.initial;\n\tlet value = teleport?.value ?? resolveInitial();\n\tlet started = teleport !== void 0;\n\tlet status = states[value]?.type === \"final\" ? \"done\" : \"active\";\n\tlet invocationToken = 0;\n\tlet afterTimers = [];\n\tlet snapshot = {\n\t\tvalue,\n\t\tcontext,\n\t\tstatus\n\t};\n\tconst listeners = [];\n\t/**\n\t* Normalise a raw `Transition` value into a `TransitionConfig[]` the runtime\n\t* can process uniformly. Handles all four arms of the `Transition` union:\n\t* - string → `{ target: string }`\n\t* - `TransitionConfig` → as-is\n\t* - `TransitionConfig[]` → as-is\n\t* - `TransitionFn` → called immediately; `undefined` return → `[]` (unhandled)\n\t*/\n\tfunction normalizeTransition(raw, event) {\n\t\tif (typeof raw === \"function\") {\n\t\t\tconst result = raw({\n\t\t\t\tcontext,\n\t\t\t\tevent\n\t\t\t});\n\t\t\tif (result === void 0) return [];\n\t\t\tconst cfg = { target: result.target };\n\t\t\tif (result.context !== void 0) {\n\t\t\t\tconst patch = result.context;\n\t\t\t\tcfg.actions = {\n\t\t\t\t\ttype: ASSIGN,\n\t\t\t\t\tassignment: () => patch\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn [cfg];\n\t\t}\n\t\treturn toArr(raw).map((e) => typeof e === \"string\" ? { target: e } : e);\n\t}\n\tfunction runActions(actions, event) {\n\t\tfor (const action of toArr(actions)) if (isAssignAction(action)) context = {\n\t\t\t...context,\n\t\t\t...action.assignment(context, event)\n\t\t};\n\t\telse action(context, event);\n\t}\n\tfunction pickTransition(transitions, event) {\n\t\treturn transitions.find((transition) => !transition.guard || transition.guard(context, event));\n\t}\n\t/** Whether a target state's entry guard currently permits landing on it. */\n\tfunction canEnter(stateId, event) {\n\t\tconst guard = states[stateId]?.guard;\n\t\treturn !guard || guard(context, event);\n\t}\n\t/**\n\t* Run a chosen transition: exit (if external) → actions → enter target.\n\t* Returns `false` — a true no-op — when the target's entry guard blocks it, so\n\t* the caller skips the commit and subscribers are never notified.\n\t*/\n\tfunction takeTransition(transition, event) {\n\t\tconst external = transition.target !== void 0;\n\t\tif (external && !canEnter(transition.target, event)) return false;\n\t\tif (external) {\n\t\t\trunActions(states[value].exit, event);\n\t\t\tinvocationToken++;\n\t\t\tclearAfterTimers();\n\t\t}\n\t\trunActions(transition.actions, event);\n\t\tif (external) {\n\t\t\tvalue = transition.target;\n\t\t\tenterState(event);\n\t\t}\n\t\treturn true;\n\t}\n\tfunction startInvoke(event) {\n\t\tconst invoke = states[value].invoke;\n\t\tif (!invoke) return;\n\t\tconst token = ++invocationToken;\n\t\tPromise.resolve(invoke.src(context, event)).then((output) => {\n\t\t\tif (status !== \"active\" || token !== invocationToken) return;\n\t\t\tconst doneEvent = {\n\t\t\t\ttype: INVOKE_DONE,\n\t\t\t\toutput\n\t\t\t};\n\t\t\tconst transition = pickTransition(normalizeTransition(invoke.onDone, doneEvent), doneEvent);\n\t\t\tif (!transition) return;\n\t\t\tif (takeTransition(transition, doneEvent)) commit();\n\t\t}, (error) => {\n\t\t\tif (status !== \"active\" || token !== invocationToken) return;\n\t\t\tconst errorEvent = {\n\t\t\t\ttype: INVOKE_ERROR,\n\t\t\t\terror\n\t\t\t};\n\t\t\tconst transition = pickTransition(normalizeTransition(invoke.onError, errorEvent), errorEvent);\n\t\t\tif (!transition) return;\n\t\t\tif (takeTransition(transition, errorEvent)) commit();\n\t\t});\n\t}\n\tfunction clearAfterTimers() {\n\t\tfor (const id of afterTimers) clearTimeout(id);\n\t\tafterTimers = [];\n\t}\n\tfunction startAfterTimers() {\n\t\tconst afterConfig = states[value].after;\n\t\tif (!afterConfig) return;\n\t\tfor (const [delayStr, raw] of Object.entries(afterConfig)) {\n\t\t\tconst delay = Number(delayStr);\n\t\t\tconst id = setTimeout(() => {\n\t\t\t\tafterTimers = afterTimers.filter((t) => t !== id);\n\t\t\t\tif (status !== \"active\") return;\n\t\t\t\tconst afterEvent = {\n\t\t\t\t\ttype: AFTER,\n\t\t\t\t\tdelay\n\t\t\t\t};\n\t\t\t\tconst transition = pickTransition(normalizeTransition(raw, afterEvent), afterEvent);\n\t\t\t\tif (!transition) return;\n\t\t\t\tif (takeTransition(transition, afterEvent)) commit();\n\t\t\t}, delay);\n\t\t\tafterTimers.push(id);\n\t\t}\n\t}\n\t/** Entry side of a state: entry actions, then immediate/invoke resolution. */\n\tfunction enterState(event) {\n\t\tconst stateConfig = states[value];\n\t\tif (!stateConfig) return;\n\t\trunActions(stateConfig.entry, event);\n\t\tif (stateConfig.type === \"final\") {\n\t\t\tstatus = \"done\";\n\t\t\treturn;\n\t\t}\n\t\tconst immediate = pickTransition(normalizeTransition(stateConfig.always, event), event);\n\t\tif (immediate && immediate.target !== void 0 && takeTransition(immediate, event)) return;\n\t\tstartInvoke(event);\n\t\tstartAfterTimers();\n\t}\n\tfunction commit() {\n\t\tsnapshot = {\n\t\t\tvalue,\n\t\t\tcontext,\n\t\t\tstatus\n\t\t};\n\t\tfor (let i = listeners.length; i--;) listeners[i](snapshot);\n\t}\n\tconst actor = {\n\t\tstart() {\n\t\t\tif (started) return actor;\n\t\t\tstarted = true;\n\t\t\tstatus = \"active\";\n\t\t\tcontext = {\n\t\t\t\t...machine.context,\n\t\t\t\t...liveContextPatch\n\t\t\t};\n\t\t\tvalue = resolveInitial();\n\t\t\tenterState(INIT_EVENT);\n\t\t\tcommit();\n\t\t\treturn actor;\n\t\t},\n\t\tstop() {\n\t\t\tif (status === \"stopped\") return;\n\t\t\tstarted = false;\n\t\t\tstatus = \"stopped\";\n\t\t\tinvocationToken++;\n\t\t\tclearAfterTimers();\n\t\t\tsnapshot = {\n\t\t\t\tvalue,\n\t\t\t\tcontext,\n\t\t\t\tstatus\n\t\t\t};\n\t\t\tfor (let i = listeners.length; i--;) listeners[i](snapshot);\n\t\t\tlisteners.length = 0;\n\t\t},\n\t\tsend(event) {\n\t\t\tif (!started || status !== \"active\") return;\n\t\t\tconst transition = pickTransition(normalizeTransition(states[value]?.on?.[event.type], event), event);\n\t\t\tif (!transition) return;\n\t\t\tif (takeTransition(transition, event)) commit();\n\t\t},\n\t\tgetSnapshot() {\n\t\t\treturn snapshot;\n\t\t},\n\t\tsubscribe(listener) {\n\t\t\tlisteners.push(listener);\n\t\t\treturn () => {\n\t\t\t\tconst i = listeners.indexOf(listener);\n\t\t\t\tif (~i) listeners.splice(i, 1);\n\t\t\t};\n\t\t},\n\t\tcan(event) {\n\t\t\tif (!started || status !== \"active\") return false;\n\t\t\tconst transition = pickTransition(normalizeTransition(states[value]?.on?.[event.type], event), event);\n\t\t\tif (!transition) return false;\n\t\t\treturn transition.target === void 0 || canEnter(transition.target, event);\n\t\t},\n\t\tsetContext(patch) {\n\t\t\tliveContextPatch = {\n\t\t\t\t...liveContextPatch,\n\t\t\t\t...patch\n\t\t\t};\n\t\t\tcontext = {\n\t\t\t\t...context,\n\t\t\t\t...patch\n\t\t\t};\n\t\t},\n\t\trecheck() {\n\t\t\tif (status !== \"active\") return;\n\t\t\tconst event = { type: RECHECK };\n\t\t\tif (!canEnter(value, event)) {\n\t\t\t\tconst reseated = resolveInitial();\n\t\t\t\tif (reseated !== value) {\n\t\t\t\t\trunActions(states[value]?.exit, event);\n\t\t\t\t\tinvocationToken++;\n\t\t\t\t\tclearAfterTimers();\n\t\t\t\t\tvalue = reseated;\n\t\t\t\t\tenterState(event);\n\t\t\t\t\tcommit();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst immediate = pickTransition(normalizeTransition(states[value]?.always, event), event);\n\t\t\tif (immediate && immediate.target !== void 0 && takeTransition(immediate, event)) commit();\n\t\t}\n\t};\n\treturn actor;\n}\n\n//#endregion\n//#region src/mosaic/machine/useMachine.ts\n/**\n* Create-and-own an actor for a machine, started for the component's lifetime.\n*\n* Convenience wrapper for the common \"one component drives one flow\" case:\n* returns `[snapshot, send]`, starts the actor on mount and stops it on unmount.\n*\n* ```tsx\n* const [snapshot, send] = useMachine(machine);\n* return <button onClick={() => send({ type: 'TOGGLE' })}>{snapshot.value}</button>;\n* ```\n*/\nfunction useMachine(machine, options) {\n\tconst actorRef = useRef(null);\n\tif (actorRef.current === null) actorRef.current = createActor(machine, options);\n\tconst actor = actorRef.current;\n\tuseEffect(() => {\n\t\tactor.start();\n\t\treturn () => actor.stop();\n\t}, [actor]);\n\tuseLayoutEffect(() => {\n\t\tif (options?.context) actor.setContext(options.context);\n\t});\n\tconst snapshot = useSyncExternalStore(actor.subscribe, actor.getSnapshot, actor.getSnapshot);\n\tconst onDoneRef = useRef(options?.onDone);\n\tonDoneRef.current = options?.onDone;\n\tuseEffect(() => {\n\t\tif (snapshot.status === \"done\") onDoneRef.current?.();\n\t}, [snapshot.status]);\n\treturn [\n\t\tsnapshot,\n\t\tactor.send,\n\t\tactor\n\t];\n}\n\n//#endregion\n//#region ../headless/src/utils/freeze.tsx\n/**\n* Never settles. Throwing it suspends the enclosing boundary indefinitely: React keeps\n* rendering the subtree but holds the commit, so the DOM keeps painting its last frame.\n*/\nconst never = new Promise(() => {});\nfunction Suspend() {\n\tthrow never;\n}\n/**\n* Holds its subtree's DOM at the last committed frame while `frozen`. Renders keep\n* happening, they just don't reach the DOM; the pending one commits when `frozen` flips\n* back to `false`.\n*\n* Use it to stop content from visibly changing under an exit animation — a popover that\n* closes because the thing it was showing changed would otherwise swap its contents on the\n* way out.\n*/\nfunction Freeze({ frozen, children }) {\n\tconst contentRef = React$1.useRef(null);\n\tconst setContent = React$1.useCallback((node) => {\n\t\tif (node) contentRef.current = node;\n\t}, []);\n\tReact$1.useInsertionEffect(() => {\n\t\tif (frozen) contentRef.current?.style.setProperty(\"display\", \"contents\");\n\t}, [frozen]);\n\treturn /* @__PURE__ */ jsxs(React$1.Suspense, {\n\t\tfallback: null,\n\t\tchildren: [frozen ? /* @__PURE__ */ jsx(Suspend, {}) : null, /* @__PURE__ */ jsx(\"div\", {\n\t\t\tref: setContent,\n\t\t\tstyle: { display: \"contents\" },\n\t\t\tchildren\n\t\t})]\n\t});\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\nfunction hasWindow() {\n\treturn typeof window !== \"undefined\";\n}\nfunction getNodeName(node) {\n\tif (isNode(node)) return (node.nodeName || \"\").toLowerCase();\n\treturn \"#document\";\n}\nfunction getWindow(node) {\n\tvar _node$ownerDocument;\n\treturn (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n\tvar _ref;\n\treturn (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n\tif (!hasWindow()) return false;\n\treturn value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n\tif (!hasWindow()) return false;\n\treturn value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n\tif (!hasWindow()) return false;\n\treturn value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n\tif (!hasWindow() || typeof ShadowRoot === \"undefined\") return false;\n\treturn value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n\tconst { overflow, overflowX, overflowY, display } = getComputedStyle$1(element);\n\treturn /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== \"inline\" && display !== \"contents\";\n}\nfunction isTableElement(element) {\n\treturn /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n\ttry {\n\t\tif (element.matches(\":popover-open\")) return true;\n\t} catch (_e) {}\n\ttry {\n\t\treturn element.matches(\":modal\");\n\t} catch (_e) {\n\t\treturn false;\n\t}\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = (value) => !!value && value !== \"none\";\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n\tconst css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;\n\treturn isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || \"\") || containRe.test(css.contain || \"\");\n}\nfunction getContainingBlock(element) {\n\tlet currentNode = getParentNode(element);\n\twhile (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n\t\tif (isContainingBlock(currentNode)) return currentNode;\n\t\telse if (isTopLayer(currentNode)) return null;\n\t\tcurrentNode = getParentNode(currentNode);\n\t}\n\treturn null;\n}\nfunction isWebKit() {\n\tif (isWebKitValue == null) isWebKitValue = typeof CSS !== \"undefined\" && CSS.supports && CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n\treturn isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n\treturn /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle$1(element) {\n\treturn getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n\tif (isElement(element)) return {\n\t\tscrollLeft: element.scrollLeft,\n\t\tscrollTop: element.scrollTop\n\t};\n\treturn {\n\t\tscrollLeft: element.scrollX,\n\t\tscrollTop: element.scrollY\n\t};\n}\nfunction getParentNode(node) {\n\tif (getNodeName(node) === \"html\") return node;\n\tconst result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);\n\treturn isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n\tconst parentNode = getParentNode(node);\n\tif (isLastTraversableNode(parentNode)) return node.ownerDocument ? node.ownerDocument.body : node.body;\n\tif (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;\n\treturn getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n\tvar _node$ownerDocument2;\n\tif (list === void 0) list = [];\n\tif (traverseIframes === void 0) traverseIframes = true;\n\tconst scrollableAncestor = getNearestOverflowAncestor(node);\n\tconst isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n\tconst win = getWindow(scrollableAncestor);\n\tif (isBody) {\n\t\tconst frameElement = getFrameElement(win);\n\t\treturn list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n\t} else return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n\treturn win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = (v) => ({\n\tx: v,\n\ty: v\n});\nconst oppositeSideMap = {\n\tleft: \"right\",\n\tright: \"left\",\n\tbottom: \"top\",\n\ttop: \"bottom\"\n};\nfunction clamp(start, value, end) {\n\treturn max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n\treturn typeof value === \"function\" ? value(param) : value;\n}\nfunction getSide(placement) {\n\treturn placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n\treturn placement.split(\"-\")[1];\n}\nfunction getOppositeAxis(axis) {\n\treturn axis === \"x\" ? \"y\" : \"x\";\n}\nfunction getAxisLength(axis) {\n\treturn axis === \"y\" ? \"height\" : \"width\";\n}\nfunction getSideAxis(placement) {\n\tconst firstChar = placement[0];\n\treturn firstChar === \"t\" || firstChar === \"b\" ? \"y\" : \"x\";\n}\nfunction getAlignmentAxis(placement) {\n\treturn getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n\tif (rtl === void 0) rtl = false;\n\tconst alignment = getAlignment(placement);\n\tconst alignmentAxis = getAlignmentAxis(placement);\n\tconst length = getAxisLength(alignmentAxis);\n\tlet mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n\tif (rects.reference[length] > rects.floating[length]) mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n\treturn [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n\tconst oppositePlacement = getOppositePlacement(placement);\n\treturn [\n\t\tgetOppositeAlignmentPlacement(placement),\n\t\toppositePlacement,\n\t\tgetOppositeAlignmentPlacement(oppositePlacement)\n\t];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n\treturn placement.includes(\"start\") ? placement.replace(\"start\", \"end\") : placement.replace(\"end\", \"start\");\n}\nconst lrPlacement = [\"left\", \"right\"];\nconst rlPlacement = [\"right\", \"left\"];\nconst tbPlacement = [\"top\", \"bottom\"];\nconst btPlacement = [\"bottom\", \"top\"];\nfunction getSideList(side, isStart, rtl) {\n\tswitch (side) {\n\t\tcase \"top\":\n\t\tcase \"bottom\":\n\t\t\tif (rtl) return isStart ? rlPlacement : lrPlacement;\n\t\t\treturn isStart ? lrPlacement : rlPlacement;\n\t\tcase \"left\":\n\t\tcase \"right\": return isStart ? tbPlacement : btPlacement;\n\t\tdefault: return [];\n\t}\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n\tconst alignment = getAlignment(placement);\n\tlet list = getSideList(getSide(placement), direction === \"start\", rtl);\n\tif (alignment) {\n\t\tlist = list.map((side) => side + \"-\" + alignment);\n\t\tif (flipAlignment) list = list.concat(list.map(getOppositeAlignmentPlacement));\n\t}\n\treturn list;\n}\nfunction getOppositePlacement(placement) {\n\tconst side = getSide(placement);\n\treturn oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n\treturn {\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t\t...padding\n\t};\n}\nfunction getPaddingObject(padding) {\n\treturn typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n\t\ttop: padding,\n\t\tright: padding,\n\t\tbottom: padding,\n\t\tleft: padding\n\t};\n}\nfunction rectToClientRect(rect) {\n\tconst { x, y, width, height } = rect;\n\treturn {\n\t\twidth,\n\t\theight,\n\t\ttop: y,\n\t\tleft: x,\n\t\tright: x + width,\n\t\tbottom: y + height,\n\t\tx,\n\t\ty\n\t};\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/tabbable@6.3.0/node_modules/tabbable/dist/index.esm.js\n/*!\n* tabbable 6.3.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\nvar candidateSelectors = [\n\t\"input:not([inert])\",\n\t\"select:not([inert])\",\n\t\"textarea:not([inert])\",\n\t\"a[href]:not([inert])\",\n\t\"button:not([inert])\",\n\t\"[tabindex]:not(slot):not([inert])\",\n\t\"audio[controls]:not([inert])\",\n\t\"video[controls]:not([inert])\",\n\t\"[contenteditable]:not([contenteditable=\\\"false\\\"]):not([inert])\",\n\t\"details>summary:first-of-type:not([inert])\",\n\t\"details:not([inert])\"\n];\nvar candidateSelector = /* #__PURE__ */ candidateSelectors.join(\",\");\nvar NoElement = typeof Element === \"undefined\";\nvar matches = NoElement ? function() {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {\n\tvar _element$getRootNode;\n\treturn element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function(element) {\n\treturn element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\n/**\n* Determines if a node is inert or in an inert ancestor.\n* @param {Element} [node]\n* @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to\n* see if any of them are inert. If false, only `node` itself is considered.\n* @returns {boolean} True if inert itself or by way of being in an inert ancestor.\n* False if `node` is falsy.\n*/\nvar _isInert = function isInert(node, lookUp) {\n\tvar _node$getAttribute;\n\tif (lookUp === void 0) lookUp = true;\n\tvar inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, \"inert\");\n\treturn inertAtt === \"\" || inertAtt === \"true\" || lookUp && node && _isInert(node.parentNode);\n};\n/**\n* Determines if a node's content is editable.\n* @param {Element} [node]\n* @returns True if it's content-editable; false if it's not or `node` is falsy.\n*/\nvar isContentEditable = function isContentEditable(node) {\n\tvar _node$getAttribute2;\n\tvar attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, \"contenteditable\");\n\treturn attValue === \"\" || attValue === \"true\";\n};\n/**\n* @param {Element} el container to check in\n* @param {boolean} includeContainer add container to check\n* @param {(node: Element) => boolean} filter filter candidates\n* @returns {Element[]}\n*/\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n\tif (_isInert(el)) return [];\n\tvar candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n\tif (includeContainer && matches.call(el, candidateSelector)) candidates.unshift(el);\n\tcandidates = candidates.filter(filter);\n\treturn candidates;\n};\n/**\n* @callback GetShadowRoot\n* @param {Element} element to check for shadow root\n* @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n*/\n/**\n* @callback ShadowRootFilter\n* @param {Element} shadowHostNode the element which contains shadow content\n* @returns {boolean} true if a shadow root could potentially contain valid candidates.\n*/\n/**\n* @typedef {Object} CandidateScope\n* @property {Element} scopeParent contains inner candidates\n* @property {Element[]} candidates list of candidates found in the scope parent\n*/\n/**\n* @typedef {Object} IterativeOptions\n* @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n* if a function, implies shadow support is enabled and either returns the shadow root of an element\n* or a boolean stating if it has an undisclosed shadow root\n* @property {(node: Element) => boolean} filter filter candidates\n* @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list\n* @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n*/\n/**\n* @param {Element[]} elements list of element containers to match candidates from\n* @param {boolean} includeContainer add container list to check\n* @param {IterativeOptions} options\n* @returns {Array.<Element|CandidateScope>}\n*/\nvar _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n\tvar candidates = [];\n\tvar elementsToCheck = Array.from(elements);\n\twhile (elementsToCheck.length) {\n\t\tvar element = elementsToCheck.shift();\n\t\tif (_isInert(element, false)) continue;\n\t\tif (element.tagName === \"SLOT\") {\n\t\t\tvar assigned = element.assignedElements();\n\t\t\tvar nestedCandidates = _getCandidatesIteratively(assigned.length ? assigned : element.children, true, options);\n\t\t\tif (options.flatten) candidates.push.apply(candidates, nestedCandidates);\n\t\t\telse candidates.push({\n\t\t\t\tscopeParent: element,\n\t\t\t\tcandidates: nestedCandidates\n\t\t\t});\n\t\t} else {\n\t\t\tif (matches.call(element, candidateSelector) && options.filter(element) && (includeContainer || !elements.includes(element))) candidates.push(element);\n\t\t\tvar shadowRoot = element.shadowRoot || typeof options.getShadowRoot === \"function\" && options.getShadowRoot(element);\n\t\t\tvar validShadowRoot = !_isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n\t\t\tif (shadowRoot && validShadowRoot) {\n\t\t\t\tvar _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n\t\t\t\tif (options.flatten) candidates.push.apply(candidates, _nestedCandidates);\n\t\t\t\telse candidates.push({\n\t\t\t\t\tscopeParent: element,\n\t\t\t\t\tcandidates: _nestedCandidates\n\t\t\t\t});\n\t\t\t} else elementsToCheck.unshift.apply(elementsToCheck, element.children);\n\t\t}\n\t}\n\treturn candidates;\n};\n/**\n* @private\n* Determines if the node has an explicitly specified `tabindex` attribute.\n* @param {HTMLElement} node\n* @returns {boolean} True if so; false if not.\n*/\nvar hasTabIndex = function hasTabIndex(node) {\n\treturn !isNaN(parseInt(node.getAttribute(\"tabindex\"), 10));\n};\n/**\n* Determine the tab index of a given node.\n* @param {HTMLElement} node\n* @returns {number} Tab order (negative, 0, or positive number).\n* @throws {Error} If `node` is falsy.\n*/\nvar getTabIndex = function getTabIndex(node) {\n\tif (!node) throw new Error(\"No node provided\");\n\tif (node.tabIndex < 0) {\n\t\tif ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) return 0;\n\t}\n\treturn node.tabIndex;\n};\n/**\n* Determine the tab index of a given node __for sort order purposes__.\n* @param {HTMLElement} node\n* @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,\n* has tabIndex -1, but needs to be sorted by document order in order for its content to be\n* inserted into the correct sort position.\n* @returns {number} Tab order (negative, 0, or positive number).\n*/\nvar getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {\n\tvar tabIndex = getTabIndex(node);\n\tif (tabIndex < 0 && isScope && !hasTabIndex(node)) return 0;\n\treturn tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables(a, b) {\n\treturn a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput(node) {\n\treturn node.tagName === \"INPUT\";\n};\nvar isHiddenInput = function isHiddenInput(node) {\n\treturn isInput(node) && node.type === \"hidden\";\n};\nvar isDetailsWithSummary = function isDetailsWithSummary(node) {\n\treturn node.tagName === \"DETAILS\" && Array.prototype.slice.apply(node.children).some(function(child) {\n\t\treturn child.tagName === \"SUMMARY\";\n\t});\n};\nvar getCheckedRadio = function getCheckedRadio(nodes, form) {\n\tfor (var i = 0; i < nodes.length; i++) if (nodes[i].checked && nodes[i].form === form) return nodes[i];\n};\nvar isTabbableRadio = function isTabbableRadio(node) {\n\tif (!node.name) return true;\n\tvar radioScope = node.form || getRootNode(node);\n\tvar queryRadios = function queryRadios(name) {\n\t\treturn radioScope.querySelectorAll(\"input[type=\\\"radio\\\"][name=\\\"\" + name + \"\\\"]\");\n\t};\n\tvar radioSet;\n\tif (typeof window !== \"undefined\" && typeof window.CSS !== \"undefined\" && typeof window.CSS.escape === \"function\") radioSet = queryRadios(window.CSS.escape(node.name));\n\telse try {\n\t\tradioSet = queryRadios(node.name);\n\t} catch (err) {\n\t\tconsole.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\", err.message);\n\t\treturn false;\n\t}\n\tvar checked = getCheckedRadio(radioSet, node.form);\n\treturn !checked || checked === node;\n};\nvar isRadio = function isRadio(node) {\n\treturn isInput(node) && node.type === \"radio\";\n};\nvar isNonTabbableRadio = function isNonTabbableRadio(node) {\n\treturn isRadio(node) && !isTabbableRadio(node);\n};\nvar isNodeAttached = function isNodeAttached(node) {\n\tvar _nodeRoot;\n\tvar nodeRoot = node && getRootNode(node);\n\tvar nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n\tvar attached = false;\n\tif (nodeRoot && nodeRoot !== node) {\n\t\tvar _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n\t\tattached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n\t\twhile (!attached && nodeRootHost) {\n\t\t\tvar _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n\t\t\tnodeRoot = getRootNode(nodeRootHost);\n\t\t\tnodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n\t\t\tattached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n\t\t}\n\t}\n\treturn attached;\n};\nvar isZeroArea = function isZeroArea(node) {\n\tvar _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;\n\treturn width === 0 && height === 0;\n};\nvar isHidden = function isHidden(node, _ref) {\n\tvar displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;\n\tif (displayCheck === \"full-native\") {\n\t\tif (\"checkVisibility\" in node) return !node.checkVisibility({\n\t\t\tcheckOpacity: false,\n\t\t\topacityProperty: false,\n\t\t\tcontentVisibilityAuto: true,\n\t\t\tvisibilityProperty: true,\n\t\t\tcheckVisibilityCSS: true\n\t\t});\n\t}\n\tif (getComputedStyle(node).visibility === \"hidden\") return true;\n\tvar nodeUnderDetails = matches.call(node, \"details>summary:first-of-type\") ? node.parentElement : node;\n\tif (matches.call(nodeUnderDetails, \"details:not([open]) *\")) return true;\n\tif (!displayCheck || displayCheck === \"full\" || displayCheck === \"full-native\" || displayCheck === \"legacy-full\") {\n\t\tif (typeof getShadowRoot === \"function\") {\n\t\t\tvar originalNode = node;\n\t\t\twhile (node) {\n\t\t\t\tvar parentElement = node.parentElement;\n\t\t\t\tvar rootNode = getRootNode(node);\n\t\t\t\tif (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) return isZeroArea(node);\n\t\t\t\telse if (node.assignedSlot) node = node.assignedSlot;\n\t\t\t\telse if (!parentElement && rootNode !== node.ownerDocument) node = rootNode.host;\n\t\t\t\telse node = parentElement;\n\t\t\t}\n\t\t\tnode = originalNode;\n\t\t}\n\t\tif (isNodeAttached(node)) return !node.getClientRects().length;\n\t\tif (displayCheck !== \"legacy-full\") return true;\n\t} else if (displayCheck === \"non-zero-area\") return isZeroArea(node);\n\treturn false;\n};\nvar isDisabledFromFieldset = function isDisabledFromFieldset(node) {\n\tif (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n\t\tvar parentNode = node.parentElement;\n\t\twhile (parentNode) {\n\t\t\tif (parentNode.tagName === \"FIELDSET\" && parentNode.disabled) {\n\t\t\t\tfor (var i = 0; i < parentNode.children.length; i++) {\n\t\t\t\t\tvar child = parentNode.children.item(i);\n\t\t\t\t\tif (child.tagName === \"LEGEND\") return matches.call(parentNode, \"fieldset[disabled] *\") ? true : !child.contains(node);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tparentNode = parentNode.parentElement;\n\t\t}\n\t}\n\treturn false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {\n\tif (node.disabled || _isInert(node) || isHiddenInput(node) || isHidden(node, options) || isDetailsWithSummary(node) || isDisabledFromFieldset(node)) return false;\n\treturn true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {\n\tif (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) return false;\n\treturn true;\n};\nvar isShadowRootTabbable = function isShadowRootTabbable(shadowHostNode) {\n\tvar tabIndex = parseInt(shadowHostNode.getAttribute(\"tabindex\"), 10);\n\tif (isNaN(tabIndex) || tabIndex >= 0) return true;\n\treturn false;\n};\n/**\n* @param {Array.<Element|CandidateScope>} candidates\n* @returns Element[]\n*/\nvar _sortByOrder = function sortByOrder(candidates) {\n\tvar regularTabbables = [];\n\tvar orderedTabbables = [];\n\tcandidates.forEach(function(item, i) {\n\t\tvar isScope = !!item.scopeParent;\n\t\tvar element = isScope ? item.scopeParent : item;\n\t\tvar candidateTabindex = getSortOrderTabIndex(element, isScope);\n\t\tvar elements = isScope ? _sortByOrder(item.candidates) : element;\n\t\tif (candidateTabindex === 0) isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n\t\telse orderedTabbables.push({\n\t\t\tdocumentOrder: i,\n\t\t\ttabIndex: candidateTabindex,\n\t\t\titem,\n\t\t\tisScope,\n\t\t\tcontent: elements\n\t\t});\n\t});\n\treturn orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {\n\t\tsortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n\t\treturn acc;\n\t}, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable(container, options) {\n\toptions = options || {};\n\tvar candidates;\n\tif (options.getShadowRoot) candidates = _getCandidatesIteratively([container], options.includeContainer, {\n\t\tfilter: isNodeMatchingSelectorTabbable.bind(null, options),\n\t\tflatten: false,\n\t\tgetShadowRoot: options.getShadowRoot,\n\t\tshadowRootFilter: isShadowRootTabbable\n\t});\n\telse candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n\treturn _sortByOrder(candidates);\n};\nvar focusable = function focusable(container, options) {\n\toptions = options || {};\n\tvar candidates;\n\tif (options.getShadowRoot) candidates = _getCandidatesIteratively([container], options.includeContainer, {\n\t\tfilter: isNodeMatchingSelectorFocusable.bind(null, options),\n\t\tflatten: true,\n\t\tgetShadowRoot: options.getShadowRoot\n\t});\n\telse candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n\treturn candidates;\n};\nvar isTabbable = function isTabbable(node, options) {\n\toptions = options || {};\n\tif (!node) throw new Error(\"No node provided\");\n\tif (matches.call(node, candidateSelector) === false) return false;\n\treturn isNodeMatchingSelectorTabbable(options, node);\n};\n\n//#endregion\n//#region ../../node_modules/.pnpm/@floating-ui+react@0.27.12_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs\nfunction getPlatform() {\n\tconst uaData = navigator.userAgentData;\n\tif (uaData != null && uaData.platform) return uaData.platform;\n\treturn navigator.platform;\n}\nfunction getUserAgent() {\n\tconst uaData = navigator.userAgentData;\n\tif (uaData && Array.isArray(uaData.brands)) return uaData.brands.map((_ref) => {\n\t\tlet { brand, version } = _ref;\n\t\treturn brand + \"/\" + version;\n\t}).join(\" \");\n\treturn navigator.userAgent;\n}\nfunction isSafari() {\n\treturn /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n\tconst re = /android/i;\n\treturn re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isJSDOM() {\n\treturn getUserAgent().includes(\"jsdom/\");\n}\nconst FOCUSABLE_ATTRIBUTE$1 = \"data-floating-ui-focusable\";\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nconst ARROW_LEFT$1 = \"ArrowLeft\";\nconst ARROW_RIGHT$1 = \"ArrowRight\";\nconst ARROW_UP$1 = \"ArrowUp\";\nconst ARROW_DOWN$1 = \"ArrowDown\";\nfunction activeElement(doc) {\n\tlet activeElement = doc.activeElement;\n\twhile (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n\t\tvar _activeElement;\n\t\tactiveElement = activeElement.shadowRoot.activeElement;\n\t}\n\treturn activeElement;\n}\nfunction contains$1(parent, child) {\n\tif (!parent || !child) return false;\n\tconst rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\tif (parent.contains(child)) return true;\n\tif (rootNode && isShadowRoot(rootNode)) {\n\t\tlet next = child;\n\t\twhile (next) {\n\t\t\tif (parent === next) return true;\n\t\t\tnext = next.parentNode || next.host;\n\t\t}\n\t}\n\treturn false;\n}\nfunction getTarget$1(event) {\n\tif (\"composedPath\" in event) return event.composedPath()[0];\n\treturn event.target;\n}\nfunction isEventTargetWithin(event, node) {\n\tif (node == null) return false;\n\tif (\"composedPath\" in event) return event.composedPath().includes(node);\n\tconst e = event;\n\treturn e.target != null && node.contains(e.target);\n}\nfunction isRootElement(element) {\n\treturn element.matches(\"html,body\");\n}\nfunction getDocument$1(node) {\n\treturn (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isTypeableElement(element) {\n\treturn isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n\tif (!element) return false;\n\treturn element.getAttribute(\"role\") === \"combobox\" && isTypeableElement(element);\n}\nfunction getFloatingFocusElement(floatingElement) {\n\tif (!floatingElement) return null;\n\treturn floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE$1) ? floatingElement : floatingElement.querySelector(\"[data-floating-ui-focusable]\") || floatingElement;\n}\nfunction getNodeChildren$1(nodes, id) {\n\tlet allChildren = nodes.filter((node) => {\n\t\tvar _node$context;\n\t\treturn node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n\t});\n\tlet currentChildren = allChildren;\n\twhile (currentChildren.length) {\n\t\tcurrentChildren = nodes.filter((node) => {\n\t\t\tvar _currentChildren;\n\t\t\treturn (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some((n) => {\n\t\t\t\tvar _node$context2;\n\t\t\t\treturn node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n\t\t\t});\n\t\t});\n\t\tallChildren = allChildren.concat(currentChildren);\n\t}\n\treturn allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n\tlet deepestNodeId;\n\tlet maxDepth = -1;\n\tfunction findDeepest(nodeId, depth) {\n\t\tif (depth > maxDepth) {\n\t\t\tdeepestNodeId = nodeId;\n\t\t\tmaxDepth = depth;\n\t\t}\n\t\tgetNodeChildren$1(nodes, nodeId).forEach((child) => {\n\t\t\tfindDeepest(child.id, depth + 1);\n\t\t});\n\t}\n\tfindDeepest(id, 0);\n\treturn nodes.find((node) => node.id === deepestNodeId);\n}\nfunction getNodeAncestors(nodes, id) {\n\tvar _nodes$find;\n\tlet allAncestors = [];\n\tlet currentParentId = (_nodes$find = nodes.find((node) => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n\twhile (currentParentId) {\n\t\tconst currentNode = nodes.find((node) => node.id === currentParentId);\n\t\tcurrentParentId = currentNode == null ? void 0 : currentNode.parentId;\n\t\tif (currentNode) allAncestors = allAncestors.concat(currentNode);\n\t}\n\treturn allAncestors;\n}\nfunction stopEvent(event) {\n\tevent.preventDefault();\n\tevent.stopPropagation();\n}\nfunction isReactEvent(event) {\n\treturn \"nativeEvent\" in event;\n}\nfunction isVirtualClick(event) {\n\tif (event.mozInputSource === 0 && event.isTrusted) return true;\n\tif (isAndroid() && event.pointerType) return event.type === \"click\" && event.buttons === 1;\n\treturn event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n\tif (isJSDOM()) return false;\n\treturn !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"mouse\" || event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === \"touch\";\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n\tconst values = [\"mouse\", \"pen\"];\n\tif (!strict) values.push(\"\", void 0);\n\treturn values.includes(pointerType);\n}\nvar index$1 = typeof document !== \"undefined\" ? useLayoutEffect : function noop() {};\nconst SafeReact$1 = { ...React$1 };\nfunction useLatestRef$1(value) {\n\tconst ref = React$1.useRef(value);\n\tindex$1(() => {\n\t\tref.current = value;\n\t});\n\treturn ref;\n}\nconst useSafeInsertionEffect = SafeReact$1.useInsertionEffect || ((fn) => fn());\nfunction useEffectEvent(callback) {\n\tconst ref = React$1.useRef(() => {\n\t\tthrow new Error(\"Cannot call an event handler while rendering.\");\n\t});\n\tuseSafeInsertionEffect(() => {\n\t\tref.current = callback;\n\t});\n\treturn React$1.useCallback(function() {\n\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\treturn ref.current == null ? void 0 : ref.current(...args);\n\t}, []);\n}\nfunction isDifferentGridRow(index, cols, prevRow) {\n\treturn Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n\treturn index < 0 || index >= listRef.current.length;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n\treturn findNonDisabledListIndex(listRef, { disabledIndices });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n\treturn findNonDisabledListIndex(listRef, {\n\t\tdecrement: true,\n\t\tstartingIndex: listRef.current.length,\n\t\tdisabledIndices\n\t});\n}\nfunction findNonDisabledListIndex(listRef, _temp) {\n\tlet { startingIndex = -1, decrement = false, disabledIndices, amount = 1 } = _temp === void 0 ? {} : _temp;\n\tlet index = startingIndex;\n\tdo\n\t\tindex += decrement ? -amount : amount;\n\twhile (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n\treturn index;\n}\nfunction getGridNavigatedIndex(listRef, _ref) {\n\tlet { event, orientation, loop, rtl, cols, disabledIndices, minIndex, maxIndex, prevIndex, stopEvent: stop = false } = _ref;\n\tlet nextIndex = prevIndex;\n\tif (event.key === ARROW_UP$1) {\n\t\tstop && stopEvent(event);\n\t\tif (prevIndex === -1) nextIndex = maxIndex;\n\t\telse {\n\t\t\tnextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: nextIndex,\n\t\t\t\tamount: cols,\n\t\t\t\tdecrement: true,\n\t\t\t\tdisabledIndices\n\t\t\t});\n\t\t\tif (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n\t\t\t\tconst col = prevIndex % cols;\n\t\t\t\tconst maxCol = maxIndex % cols;\n\t\t\t\tconst offset = maxIndex - (maxCol - col);\n\t\t\t\tif (maxCol === col) nextIndex = maxIndex;\n\t\t\t\telse nextIndex = maxCol > col ? offset : offset - cols;\n\t\t\t}\n\t\t}\n\t\tif (isIndexOutOfListBounds(listRef, nextIndex)) nextIndex = prevIndex;\n\t}\n\tif (event.key === ARROW_DOWN$1) {\n\t\tstop && stopEvent(event);\n\t\tif (prevIndex === -1) nextIndex = minIndex;\n\t\telse {\n\t\t\tnextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: prevIndex,\n\t\t\t\tamount: cols,\n\t\t\t\tdisabledIndices\n\t\t\t});\n\t\t\tif (loop && prevIndex + cols > maxIndex) nextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: prevIndex % cols - cols,\n\t\t\t\tamount: cols,\n\t\t\t\tdisabledIndices\n\t\t\t});\n\t\t}\n\t\tif (isIndexOutOfListBounds(listRef, nextIndex)) nextIndex = prevIndex;\n\t}\n\tif (orientation === \"both\") {\n\t\tconst prevRow = floor(prevIndex / cols);\n\t\tif (event.key === (rtl ? ARROW_LEFT$1 : ARROW_RIGHT$1)) {\n\t\t\tstop && stopEvent(event);\n\t\t\tif (prevIndex % cols !== cols - 1) {\n\t\t\t\tnextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\t\tstartingIndex: prevIndex,\n\t\t\t\t\tdisabledIndices\n\t\t\t\t});\n\t\t\t\tif (loop && isDifferentGridRow(nextIndex, cols, prevRow)) nextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\t\tstartingIndex: prevIndex - prevIndex % cols - 1,\n\t\t\t\t\tdisabledIndices\n\t\t\t\t});\n\t\t\t} else if (loop) nextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: prevIndex - prevIndex % cols - 1,\n\t\t\t\tdisabledIndices\n\t\t\t});\n\t\t\tif (isDifferentGridRow(nextIndex, cols, prevRow)) nextIndex = prevIndex;\n\t\t}\n\t\tif (event.key === (rtl ? ARROW_RIGHT$1 : ARROW_LEFT$1)) {\n\t\t\tstop && stopEvent(event);\n\t\t\tif (prevIndex % cols !== 0) {\n\t\t\t\tnextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\t\tstartingIndex: prevIndex,\n\t\t\t\t\tdecrement: true,\n\t\t\t\t\tdisabledIndices\n\t\t\t\t});\n\t\t\t\tif (loop && isDifferentGridRow(nextIndex, cols, prevRow)) nextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\t\tstartingIndex: prevIndex + (cols - prevIndex % cols),\n\t\t\t\t\tdecrement: true,\n\t\t\t\t\tdisabledIndices\n\t\t\t\t});\n\t\t\t} else if (loop) nextIndex = findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: prevIndex + (cols - prevIndex % cols),\n\t\t\t\tdecrement: true,\n\t\t\t\tdisabledIndices\n\t\t\t});\n\t\t\tif (isDifferentGridRow(nextIndex, cols, prevRow)) nextIndex = prevIndex;\n\t\t}\n\t\tconst lastRow = floor(maxIndex / cols) === prevRow;\n\t\tif (isIndexOutOfListBounds(listRef, nextIndex)) if (loop && lastRow) nextIndex = event.key === (rtl ? ARROW_RIGHT$1 : ARROW_LEFT$1) ? maxIndex : findNonDisabledListIndex(listRef, {\n\t\t\tstartingIndex: prevIndex - prevIndex % cols - 1,\n\t\t\tdisabledIndices\n\t\t});\n\t\telse nextIndex = prevIndex;\n\t}\n\treturn nextIndex;\n}\n/** For each cell index, gets the item index that occupies that cell */\nfunction createGridCellMap(sizes, cols, dense) {\n\tconst cellMap = [];\n\tlet startIndex = 0;\n\tsizes.forEach((_ref2, index) => {\n\t\tlet { width, height } = _ref2;\n\t\tif (width > cols) throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n\t\tlet itemPlaced = false;\n\t\tif (dense) startIndex = 0;\n\t\twhile (!itemPlaced) {\n\t\t\tconst targetCells = [];\n\t\t\tfor (let i = 0; i < width; i++) for (let j = 0; j < height; j++) targetCells.push(startIndex + i + j * cols);\n\t\t\tif (startIndex % cols + width <= cols && targetCells.every((cell) => cellMap[cell] == null)) {\n\t\t\t\ttargetCells.forEach((cell) => {\n\t\t\t\t\tcellMap[cell] = index;\n\t\t\t\t});\n\t\t\t\titemPlaced = true;\n\t\t\t} else startIndex++;\n\t\t}\n\t});\n\treturn [...cellMap];\n}\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getGridCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n\tif (index === -1) return -1;\n\tconst firstCellIndex = cellMap.indexOf(index);\n\tconst sizeItem = sizes[index];\n\tswitch (corner) {\n\t\tcase \"tl\": return firstCellIndex;\n\t\tcase \"tr\":\n\t\t\tif (!sizeItem) return firstCellIndex;\n\t\t\treturn firstCellIndex + sizeItem.width - 1;\n\t\tcase \"bl\":\n\t\t\tif (!sizeItem) return firstCellIndex;\n\t\t\treturn firstCellIndex + (sizeItem.height - 1) * cols;\n\t\tcase \"br\": return cellMap.lastIndexOf(index);\n\t}\n}\n/** Gets all cell indices that correspond to the specified indices */\nfunction getGridCellIndices(indices, cellMap) {\n\treturn cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n\tif (typeof disabledIndices === \"function\") return disabledIndices(index);\n\telse if (disabledIndices) return disabledIndices.includes(index);\n\tconst element = listRef.current[index];\n\treturn element == null || element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n}\nconst getTabbableOptions = () => ({\n\tgetShadowRoot: true,\n\tdisplayCheck: typeof ResizeObserver === \"function\" && ResizeObserver.toString().includes(\"[native code]\") ? \"full\" : \"none\"\n});\nfunction getTabbableIn(container, dir) {\n\tconst list = tabbable(container, getTabbableOptions());\n\tconst len = list.length;\n\tif (len === 0) return;\n\tconst active = activeElement(getDocument$1(container));\n\tconst index = list.indexOf(active);\n\treturn list[index === -1 ? dir === 1 ? 0 : len - 1 : index + dir];\n}\nfunction getNextTabbable(referenceElement) {\n\treturn getTabbableIn(getDocument$1(referenceElement).body, 1) || referenceElement;\n}\nfunction getPreviousTabbable(referenceElement) {\n\treturn getTabbableIn(getDocument$1(referenceElement).body, -1) || referenceElement;\n}\nfunction isOutsideEvent(event, container) {\n\tconst containerElement = container || event.currentTarget;\n\tconst relatedTarget = event.relatedTarget;\n\treturn !relatedTarget || !contains$1(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n\ttabbable(container, getTabbableOptions()).forEach((element) => {\n\t\telement.dataset.tabindex = element.getAttribute(\"tabindex\") || \"\";\n\t\telement.setAttribute(\"tabindex\", \"-1\");\n\t});\n}\nfunction enableFocusInside(container) {\n\tcontainer.querySelectorAll(\"[data-tabindex]\").forEach((element) => {\n\t\tconst tabindex = element.dataset.tabindex;\n\t\tdelete element.dataset.tabindex;\n\t\tif (tabindex) element.setAttribute(\"tabindex\", tabindex);\n\t\telse element.removeAttribute(\"tabindex\");\n\t});\n}\n\n//#endregion\n//#region ../headless/src/utils/interaction-modality.ts\n/**\n* Whether an event that opened or closed a floating element came from the keyboard.\n*\n* `useClick` lets native buttons handle Enter/Space themselves, so keyboard activation on a\n* button arrives as a click with no pointer behind it, which is what `isVirtualClick` detects.\n* Other triggers open and close on `keydown` (Enter) or `keyup` (Space).\n*/\nfunction isKeyboardEvent(event) {\n\tif (event.type.startsWith(\"key\")) return true;\n\treturn isVirtualClick(event);\n}\n/**\n* Whether the floating element was opened by the keyboard rather than by a pointer.\n*\n* floating-ui records the event that caused the open on `dataRef.current.openEvent`.\n*/\nfunction isKeyboardOpen(context) {\n\tconst openEvent = context.dataRef.current.openEvent;\n\treturn openEvent ? isKeyboardEvent(openEvent) : false;\n}\n/** Classifies the event behind an open/close into an {@link InteractionType}. */\nfunction interactionTypeFromEvent(event) {\n\tif (!event) return \"\";\n\tif (isKeyboardEvent(event)) return \"keyboard\";\n\tif (typeof PointerEvent !== \"undefined\" && event instanceof PointerEvent) {\n\t\tconst pointerType = event.pointerType;\n\t\tif (pointerType === \"mouse\" || pointerType === \"touch\" || pointerType === \"pen\") return pointerType;\n\t\treturn event.detail === 0 ? \"keyboard\" : \"mouse\";\n\t}\n\tif (typeof TouchEvent !== \"undefined\" && event instanceof TouchEvent) return \"touch\";\n\tif (event instanceof MouseEvent) return \"mouse\";\n\treturn \"\";\n}\n\n//#endregion\n//#region ../../node_modules/.pnpm/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n\tlet { reference, floating } = _ref;\n\tconst sideAxis = getSideAxis(placement);\n\tconst alignmentAxis = getAlignmentAxis(placement);\n\tconst alignLength = getAxisLength(alignmentAxis);\n\tconst side = getSide(placement);\n\tconst isVertical = sideAxis === \"y\";\n\tconst commonX = reference.x + reference.width / 2 - floating.width / 2;\n\tconst commonY = reference.y + reference.height / 2 - floating.height / 2;\n\tconst commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n\tlet coords;\n\tswitch (side) {\n\t\tcase \"top\":\n\t\t\tcoords = {\n\t\t\t\tx: commonX,\n\t\t\t\ty: reference.y - floating.height\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"bottom\":\n\t\t\tcoords = {\n\t\t\t\tx: commonX,\n\t\t\t\ty: reference.y + reference.height\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tcoords = {\n\t\t\t\tx: reference.x + reference.width,\n\t\t\t\ty: commonY\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"left\":\n\t\t\tcoords = {\n\t\t\t\tx: reference.x - floating.width,\n\t\t\t\ty: commonY\n\t\t\t};\n\t\t\tbreak;\n\t\tdefault: coords = {\n\t\t\tx: reference.x,\n\t\t\ty: reference.y\n\t\t};\n\t}\n\tswitch (getAlignment(placement)) {\n\t\tcase \"start\":\n\t\t\tcoords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n\t\t\tbreak;\n\t\tcase \"end\":\n\t\t\tcoords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n\t\t\tbreak;\n\t}\n\treturn coords;\n}\n/**\n* Resolves with an object of overflow side offsets that determine how much the\n* element is overflowing a given clipping boundary on each side.\n* - positive = overflowing the boundary by that number of pixels\n* - negative = how many pixels left before it will overflow\n* - 0 = lies flush with the boundary\n* @see https://floating-ui.com/docs/detectOverflow\n*/\nasync function detectOverflow$1(state, options) {\n\tvar _await$platform$isEle;\n\tif (options === void 0) options = {};\n\tconst { x, y, platform, rects, elements, strategy } = state;\n\tconst { boundary = \"clippingAncestors\", rootBoundary = \"viewport\", elementContext = \"floating\", altBoundary = false, padding = 0 } = evaluate(options, state);\n\tconst paddingObject = getPaddingObject(padding);\n\tconst element = elements[altBoundary ? elementContext === \"floating\" ? \"reference\" : \"floating\" : elementContext];\n\tconst clippingClientRect = rectToClientRect(await platform.getClippingRect({\n\t\telement: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),\n\t\tboundary,\n\t\trootBoundary,\n\t\tstrategy\n\t}));\n\tconst rect = elementContext === \"floating\" ? {\n\t\tx,\n\t\ty,\n\t\twidth: rects.floating.width,\n\t\theight: rects.floating.height\n\t} : rects.reference;\n\tconst offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n\tconst offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) ? await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {\n\t\tx: 1,\n\t\ty: 1\n\t} : {\n\t\tx: 1,\n\t\ty: 1\n\t};\n\tconst elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n\t\telements,\n\t\trect,\n\t\toffsetParent,\n\t\tstrategy\n\t}) : rect);\n\treturn {\n\t\ttop: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n\t\tbottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n\t\tleft: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n\t\tright: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n\t};\n}\nconst MAX_RESET_COUNT = 50;\n/**\n* Computes the `x` and `y` coordinates that will place the floating element\n* next to a given reference element.\n*\n* This export does not have any `platform` interface logic. You will need to\n* write one for the platform you are using Floating UI with.\n*/\nconst computePosition$1 = async (reference, floating, config) => {\n\tconst { placement = \"bottom\", strategy = \"absolute\", middleware = [], platform } = config;\n\tconst platformWithDetectOverflow = platform.detectOverflow ? platform : {\n\t\t...platform,\n\t\tdetectOverflow: detectOverflow$1\n\t};\n\tconst rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n\tlet rects = await platform.getElementRects({\n\t\treference,\n\t\tfloating,\n\t\tstrategy\n\t});\n\tlet { x, y } = computeCoordsFromPlacement(rects, placement, rtl);\n\tlet statefulPlacement = placement;\n\tlet resetCount = 0;\n\tconst middlewareData = {};\n\tfor (let i = 0; i < middleware.length; i++) {\n\t\tconst currentMiddleware = middleware[i];\n\t\tif (!currentMiddleware) continue;\n\t\tconst { name, fn } = currentMiddleware;\n\t\tconst { x: nextX, y: nextY, data, reset } = await fn({\n\t\t\tx,\n\t\t\ty,\n\t\t\tinitialPlacement: placement,\n\t\t\tplacement: statefulPlacement,\n\t\t\tstrategy,\n\t\t\tmiddlewareData,\n\t\t\trects,\n\t\t\tplatform: platformWithDetectOverflow,\n\t\t\telements: {\n\t\t\t\treference,\n\t\t\t\tfloating\n\t\t\t}\n\t\t});\n\t\tx = nextX != null ? nextX : x;\n\t\ty = nextY != null ? nextY : y;\n\t\tmiddlewareData[name] = {\n\t\t\t...middlewareData[name],\n\t\t\t...data\n\t\t};\n\t\tif (reset && resetCount < MAX_RESET_COUNT) {\n\t\t\tresetCount++;\n\t\t\tif (typeof reset === \"object\") {\n\t\t\t\tif (reset.placement) statefulPlacement = reset.placement;\n\t\t\t\tif (reset.rects) rects = reset.rects === true ? await platform.getElementRects({\n\t\t\t\t\treference,\n\t\t\t\t\tfloating,\n\t\t\t\t\tstrategy\n\t\t\t\t}) : reset.rects;\n\t\t\t\t({x, y} = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n\t\t\t}\n\t\t\ti = -1;\n\t\t}\n\t}\n\treturn {\n\t\tx,\n\t\ty,\n\t\tplacement: statefulPlacement,\n\t\tstrategy,\n\t\tmiddlewareData\n\t};\n};\n/**\n* Provides data to position an inner element of the floating element so that it\n* appears centered to the reference element.\n* @see https://floating-ui.com/docs/arrow\n*/\nconst arrow$3 = (options) => ({\n\tname: \"arrow\",\n\toptions,\n\tasync fn(state) {\n\t\tconst { x, y, placement, rects, platform, elements, middlewareData } = state;\n\t\tconst { element, padding = 0 } = evaluate(options, state) || {};\n\t\tif (element == null) return {};\n\t\tconst paddingObject = getPaddingObject(padding);\n\t\tconst coords = {\n\t\t\tx,\n\t\t\ty\n\t\t};\n\t\tconst axis = getAlignmentAxis(placement);\n\t\tconst length = getAxisLength(axis);\n\t\tconst arrowDimensions = await platform.getDimensions(element);\n\t\tconst isYAxis = axis === \"y\";\n\t\tconst minProp = isYAxis ? \"top\" : \"left\";\n\t\tconst maxProp = isYAxis ? \"bottom\" : \"right\";\n\t\tconst clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n\t\tconst endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n\t\tconst startDiff = coords[axis] - rects.reference[axis];\n\t\tconst arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n\t\tlet clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\t\tif (!clientSize || !await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent))) clientSize = elements.floating[clientProp] || rects.floating[length];\n\t\tconst centerToReference = endDiff / 2 - startDiff / 2;\n\t\tconst largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n\t\tconst minPadding = min(paddingObject[minProp], largestPossiblePadding);\n\t\tconst maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\t\tconst min$1 = minPadding;\n\t\tconst max = clientSize - arrowDimensions[length] - maxPadding;\n\t\tconst center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n\t\tconst offset = clamp(min$1, center, max);\n\t\tconst shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n\t\tconst alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n\t\treturn {\n\t\t\t[axis]: coords[axis] + alignmentOffset,\n\t\t\tdata: {\n\t\t\t\t[axis]: offset,\n\t\t\t\tcenterOffset: center - offset - alignmentOffset,\n\t\t\t\t...shouldAddOffset && { alignmentOffset }\n\t\t\t},\n\t\t\treset: shouldAddOffset\n\t\t};\n\t}\n});\n/**\n* Optimizes the visibility of the floating element by flipping the `placement`\n* in order to keep it in view when the preferred placement(s) will overflow the\n* clipping boundary. Alternative to `autoPlacement`.\n* @see https://floating-ui.com/docs/flip\n*/\nconst flip$2 = function(options) {\n\tif (options === void 0) options = {};\n\treturn {\n\t\tname: \"flip\",\n\t\toptions,\n\t\tasync fn(state) {\n\t\t\tvar _middlewareData$arrow, _middlewareData$flip;\n\t\t\tconst { placement, middlewareData, rects, initialPlacement, platform, elements } = state;\n\t\t\tconst { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = \"bestFit\", fallbackAxisSideDirection = \"none\", flipAlignment = true, ...detectOverflowOptions } = evaluate(options, state);\n\t\t\tif ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) return {};\n\t\t\tconst side = getSide(placement);\n\t\t\tconst initialSideAxis = getSideAxis(initialPlacement);\n\t\t\tconst isBasePlacement = getSide(initialPlacement) === initialPlacement;\n\t\t\tconst rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n\t\t\tconst fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n\t\t\tconst hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n\t\t\tif (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n\t\t\tconst placements = [initialPlacement, ...fallbackPlacements];\n\t\t\tconst overflow = await platform.detectOverflow(state, detectOverflowOptions);\n\t\t\tconst overflows = [];\n\t\t\tlet overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n\t\t\tif (checkMainAxis) overflows.push(overflow[side]);\n\t\t\tif (checkCrossAxis) {\n\t\t\t\tconst sides = getAlignmentSides(placement, rects, rtl);\n\t\t\t\toverflows.push(overflow[sides[0]], overflow[sides[1]]);\n\t\t\t}\n\t\t\toverflowsData = [...overflowsData, {\n\t\t\t\tplacement,\n\t\t\t\toverflows\n\t\t\t}];\n\t\t\tif (!overflows.every((side) => side <= 0)) {\n\t\t\t\tvar _middlewareData$flip2, _overflowsData$filter;\n\t\t\t\tconst nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n\t\t\t\tconst nextPlacement = placements[nextIndex];\n\t\t\t\tif (nextPlacement) {\n\t\t\t\t\tif (!(checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false) || overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) return {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tindex: nextIndex,\n\t\t\t\t\t\t\toverflows: overflowsData\n\t\t\t\t\t\t},\n\t\t\t\t\t\treset: { placement: nextPlacement }\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tlet resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\t\t\t\tif (!resetPlacement) switch (fallbackStrategy) {\n\t\t\t\t\tcase \"bestFit\": {\n\t\t\t\t\t\tvar _overflowsData$filter2;\n\t\t\t\t\t\tconst placement = (_overflowsData$filter2 = overflowsData.filter((d) => {\n\t\t\t\t\t\t\tif (hasFallbackAxisSideDirection) {\n\t\t\t\t\t\t\t\tconst currentSideAxis = getSideAxis(d.placement);\n\t\t\t\t\t\t\t\treturn currentSideAxis === initialSideAxis || currentSideAxis === \"y\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}).map((d) => [d.placement, d.overflows.filter((overflow) => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n\t\t\t\t\t\tif (placement) resetPlacement = placement;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"initialPlacement\":\n\t\t\t\t\t\tresetPlacement = initialPlacement;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (placement !== resetPlacement) return { reset: { placement: resetPlacement } };\n\t\t\t}\n\t\t\treturn {};\n\t\t}\n\t};\n};\nconst originSides = /*#__PURE__*/ new Set([\"left\", \"top\"]);\nasync function convertValueToCoords(state, options) {\n\tconst { placement, platform, elements } = state;\n\tconst rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n\tconst side = getSide(placement);\n\tconst alignment = getAlignment(placement);\n\tconst isVertical = getSideAxis(placement) === \"y\";\n\tconst mainAxisMulti = originSides.has(side) ? -1 : 1;\n\tconst crossAxisMulti = rtl && isVertical ? -1 : 1;\n\tconst rawValue = evaluate(options, state);\n\tlet { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === \"number\" ? {\n\t\tmainAxis: rawValue,\n\t\tcrossAxis: 0,\n\t\talignmentAxis: null\n\t} : {\n\t\tmainAxis: rawValue.mainAxis || 0,\n\t\tcrossAxis: rawValue.crossAxis || 0,\n\t\talignmentAxis: rawValue.alignmentAxis\n\t};\n\tif (alignment && typeof alignmentAxis === \"number\") crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n\treturn isVertical ? {\n\t\tx: crossAxis * crossAxisMulti,\n\t\ty: mainAxis * mainAxisMulti\n\t} : {\n\t\tx: mainAxis * mainAxisMulti,\n\t\ty: crossAxis * crossAxisMulti\n\t};\n}\n/**\n* Modifies the placement by translating the floating element along the\n* specified axes.\n* A number (shorthand for `mainAxis` or distance), or an axes configuration\n* object may be passed.\n* @see https://floating-ui.com/docs/offset\n*/\nconst offset$2 = function(options) {\n\tif (options === void 0) options = 0;\n\treturn {\n\t\tname: \"offset\",\n\t\toptions,\n\t\tasync fn(state) {\n\t\t\tvar _middlewareData$offse, _middlewareData$arrow;\n\t\t\tconst { x, y, placement, middlewareData } = state;\n\t\t\tconst diffCoords = await convertValueToCoords(state, options);\n\t\t\tif (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) return {};\n\t\t\treturn {\n\t\t\t\tx: x + diffCoords.x,\n\t\t\t\ty: y + diffCoords.y,\n\t\t\t\tdata: {\n\t\t\t\t\t...diffCoords,\n\t\t\t\t\tplacement\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* Optimizes the visibility of the floating element by shifting it in order to\n* keep it in view when it will overflow the clipping boundary.\n* @see https://floating-ui.com/docs/shift\n*/\nconst shift$2 = function(options) {\n\tif (options === void 0) options = {};\n\treturn {\n\t\tname: \"shift\",\n\t\toptions,\n\t\tasync fn(state) {\n\t\t\tconst { x, y, placement, platform } = state;\n\t\t\tconst { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => {\n\t\t\t\tlet { x, y } = _ref;\n\t\t\t\treturn {\n\t\t\t\t\tx,\n\t\t\t\t\ty\n\t\t\t\t};\n\t\t\t} }, ...detectOverflowOptions } = evaluate(options, state);\n\t\t\tconst coords = {\n\t\t\t\tx,\n\t\t\t\ty\n\t\t\t};\n\t\t\tconst overflow = await platform.detectOverflow(state, detectOverflowOptions);\n\t\t\tconst crossAxis = getSideAxis(getSide(placement));\n\t\t\tconst mainAxis = getOppositeAxis(crossAxis);\n\t\t\tlet mainAxisCoord = coords[mainAxis];\n\t\t\tlet crossAxisCoord = coords[crossAxis];\n\t\t\tif (checkMainAxis) {\n\t\t\t\tconst minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n\t\t\t\tconst maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n\t\t\t\tconst min = mainAxisCoord + overflow[minSide];\n\t\t\t\tconst max = mainAxisCoord - overflow[maxSide];\n\t\t\t\tmainAxisCoord = clamp(min, mainAxisCoord, max);\n\t\t\t}\n\t\t\tif (checkCrossAxis) {\n\t\t\t\tconst minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n\t\t\t\tconst maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n\t\t\t\tconst min = crossAxisCoord + overflow[minSide];\n\t\t\t\tconst max = crossAxisCoord - overflow[maxSide];\n\t\t\t\tcrossAxisCoord = clamp(min, crossAxisCoord, max);\n\t\t\t}\n\t\t\tconst limitedCoords = limiter.fn({\n\t\t\t\t...state,\n\t\t\t\t[mainAxis]: mainAxisCoord,\n\t\t\t\t[crossAxis]: crossAxisCoord\n\t\t\t});\n\t\t\treturn {\n\t\t\t\t...limitedCoords,\n\t\t\t\tdata: {\n\t\t\t\t\tx: limitedCoords.x - x,\n\t\t\t\t\ty: limitedCoords.y - y,\n\t\t\t\t\tenabled: {\n\t\t\t\t\t\t[mainAxis]: checkMainAxis,\n\t\t\t\t\t\t[crossAxis]: checkCrossAxis\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t};\n};\n\n//#endregion\n//#region ../../node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\nfunction getCssDimensions(element) {\n\tconst css = getComputedStyle$1(element);\n\tlet width = parseFloat(css.width) || 0;\n\tlet height = parseFloat(css.height) || 0;\n\tconst hasOffset = isHTMLElement(element);\n\tconst offsetWidth = hasOffset ? element.offsetWidth : width;\n\tconst offsetHeight = hasOffset ? element.offsetHeight : height;\n\tconst shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n\tif (shouldFallback) {\n\t\twidth = offsetWidth;\n\t\theight = offsetHeight;\n\t}\n\treturn {\n\t\twidth,\n\t\theight,\n\t\t$: shouldFallback\n\t};\n}\nfunction unwrapElement(element) {\n\treturn !isElement(element) ? element.contextElement : element;\n}\nfunction getScale(element) {\n\tconst domElement = unwrapElement(element);\n\tif (!isHTMLElement(domElement)) return createCoords(1);\n\tconst rect = domElement.getBoundingClientRect();\n\tconst { width, height, $ } = getCssDimensions(domElement);\n\tlet x = ($ ? round(rect.width) : rect.width) / width;\n\tlet y = ($ ? round(rect.height) : rect.height) / height;\n\tif (!x || !Number.isFinite(x)) x = 1;\n\tif (!y || !Number.isFinite(y)) y = 1;\n\treturn {\n\t\tx,\n\t\ty\n\t};\n}\nconst noOffsets = /*#__PURE__*/ createCoords(0);\nfunction getVisualOffsets(element) {\n\tconst win = getWindow(element);\n\tif (!isWebKit() || !win.visualViewport) return noOffsets;\n\treturn {\n\t\tx: win.visualViewport.offsetLeft,\n\t\ty: win.visualViewport.offsetTop\n\t};\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n\tif (isFixed === void 0) isFixed = false;\n\tif (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) return false;\n\treturn isFixed;\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n\tif (includeScale === void 0) includeScale = false;\n\tif (isFixedStrategy === void 0) isFixedStrategy = false;\n\tconst clientRect = element.getBoundingClientRect();\n\tconst domElement = unwrapElement(element);\n\tlet scale = createCoords(1);\n\tif (includeScale) if (offsetParent) {\n\t\tif (isElement(offsetParent)) scale = getScale(offsetParent);\n\t} else scale = getScale(element);\n\tconst visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n\tlet x = (clientRect.left + visualOffsets.x) / scale.x;\n\tlet y = (clientRect.top + visualOffsets.y) / scale.y;\n\tlet width = clientRect.width / scale.x;\n\tlet height = clientRect.height / scale.y;\n\tif (domElement) {\n\t\tconst win = getWindow(domElement);\n\t\tconst offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n\t\tlet currentWin = win;\n\t\tlet currentIFrame = getFrameElement(currentWin);\n\t\twhile (currentIFrame && offsetParent && offsetWin !== currentWin) {\n\t\t\tconst iframeScale = getScale(currentIFrame);\n\t\t\tconst iframeRect = currentIFrame.getBoundingClientRect();\n\t\t\tconst css = getComputedStyle$1(currentIFrame);\n\t\t\tconst left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n\t\t\tconst top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n\t\t\tx *= iframeScale.x;\n\t\t\ty *= iframeScale.y;\n\t\t\twidth *= iframeScale.x;\n\t\t\theight *= iframeScale.y;\n\t\t\tx += left;\n\t\t\ty += top;\n\t\t\tcurrentWin = getWindow(currentIFrame);\n\t\t\tcurrentIFrame = getFrameElement(currentWin);\n\t\t}\n\t}\n\treturn rectToClientRect({\n\t\twidth,\n\t\theight,\n\t\tx,\n\t\ty\n\t});\n}\nfunction getWindowScrollBarX(element, rect) {\n\tconst leftScroll = getNodeScroll(element).scrollLeft;\n\tif (!rect) return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n\treturn rect.left + leftScroll;\n}\nfunction getHTMLOffset(documentElement, scroll) {\n\tconst htmlRect = documentElement.getBoundingClientRect();\n\treturn {\n\t\tx: htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect),\n\t\ty: htmlRect.top + scroll.scrollTop\n\t};\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n\tlet { elements, rect, offsetParent, strategy } = _ref;\n\tconst isFixed = strategy === \"fixed\";\n\tconst documentElement = getDocumentElement(offsetParent);\n\tconst topLayer = elements ? isTopLayer(elements.floating) : false;\n\tif (offsetParent === documentElement || topLayer && isFixed) return rect;\n\tlet scroll = {\n\t\tscrollLeft: 0,\n\t\tscrollTop: 0\n\t};\n\tlet scale = createCoords(1);\n\tconst offsets = createCoords(0);\n\tconst isOffsetParentAnElement = isHTMLElement(offsetParent);\n\tif (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n\t\tif (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);\n\t\tif (isOffsetParentAnElement) {\n\t\t\tconst offsetRect = getBoundingClientRect(offsetParent);\n\t\t\tscale = getScale(offsetParent);\n\t\t\toffsets.x = offsetRect.x + offsetParent.clientLeft;\n\t\t\toffsets.y = offsetRect.y + offsetParent.clientTop;\n\t\t}\n\t}\n\tconst htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n\treturn {\n\t\twidth: rect.width * scale.x,\n\t\theight: rect.height * scale.y,\n\t\tx: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n\t\ty: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n\t};\n}\nfunction getClientRects(element) {\n\treturn Array.from(element.getClientRects());\n}\nfunction getDocumentRect(element) {\n\tconst html = getDocumentElement(element);\n\tconst scroll = getNodeScroll(element);\n\tconst body = element.ownerDocument.body;\n\tconst width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n\tconst height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n\tlet x = -scroll.scrollLeft + getWindowScrollBarX(element);\n\tconst y = -scroll.scrollTop;\n\tif (getComputedStyle$1(body).direction === \"rtl\") x += max(html.clientWidth, body.clientWidth) - width;\n\treturn {\n\t\twidth,\n\t\theight,\n\t\tx,\n\t\ty\n\t};\n}\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n\tconst win = getWindow(element);\n\tconst html = getDocumentElement(element);\n\tconst visualViewport = win.visualViewport;\n\tlet width = html.clientWidth;\n\tlet height = html.clientHeight;\n\tlet x = 0;\n\tlet y = 0;\n\tif (visualViewport) {\n\t\twidth = visualViewport.width;\n\t\theight = visualViewport.height;\n\t\tconst visualViewportBased = isWebKit();\n\t\tif (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n\t\t\tx = visualViewport.offsetLeft;\n\t\t\ty = visualViewport.offsetTop;\n\t\t}\n\t}\n\tconst windowScrollbarX = getWindowScrollBarX(html);\n\tif (windowScrollbarX <= 0) {\n\t\tconst doc = html.ownerDocument;\n\t\tconst body = doc.body;\n\t\tconst bodyStyles = getComputedStyle(body);\n\t\tconst bodyMarginInline = doc.compatMode === \"CSS1Compat\" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n\t\tconst clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n\t\tif (clippingStableScrollbarWidth <= SCROLLBAR_MAX) width -= clippingStableScrollbarWidth;\n\t} else if (windowScrollbarX <= SCROLLBAR_MAX) width += windowScrollbarX;\n\treturn {\n\t\twidth,\n\t\theight,\n\t\tx,\n\t\ty\n\t};\n}\nfunction getInnerBoundingClientRect(element, strategy) {\n\tconst clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n\tconst top = clientRect.top + element.clientTop;\n\tconst left = clientRect.left + element.clientLeft;\n\tconst scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n\treturn {\n\t\twidth: element.clientWidth * scale.x,\n\t\theight: element.clientHeight * scale.y,\n\t\tx: left * scale.x,\n\t\ty: top * scale.y\n\t};\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n\tlet rect;\n\tif (clippingAncestor === \"viewport\") rect = getViewportRect(element, strategy);\n\telse if (clippingAncestor === \"document\") rect = getDocumentRect(getDocumentElement(element));\n\telse if (isElement(clippingAncestor)) rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n\telse {\n\t\tconst visualOffsets = getVisualOffsets(element);\n\t\trect = {\n\t\t\tx: clippingAncestor.x - visualOffsets.x,\n\t\t\ty: clippingAncestor.y - visualOffsets.y,\n\t\t\twidth: clippingAncestor.width,\n\t\t\theight: clippingAncestor.height\n\t\t};\n\t}\n\treturn rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n\tconst parentNode = getParentNode(element);\n\tif (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) return false;\n\treturn getComputedStyle$1(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n}\nfunction getClippingElementAncestors(element, cache) {\n\tconst cachedResult = cache.get(element);\n\tif (cachedResult) return cachedResult;\n\tlet result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n\tlet currentContainingBlockComputedStyle = null;\n\tconst elementIsFixed = getComputedStyle$1(element).position === \"fixed\";\n\tlet currentNode = elementIsFixed ? getParentNode(element) : element;\n\twhile (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n\t\tconst computedStyle = getComputedStyle$1(currentNode);\n\t\tconst currentNodeIsContaining = isContainingBlock(currentNode);\n\t\tif (!currentNodeIsContaining && computedStyle.position === \"fixed\") currentContainingBlockComputedStyle = null;\n\t\tif (elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === \"absolute\" || currentContainingBlockComputedStyle.position === \"fixed\") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode)) result = result.filter((ancestor) => ancestor !== currentNode);\n\t\telse currentContainingBlockComputedStyle = computedStyle;\n\t\tcurrentNode = getParentNode(currentNode);\n\t}\n\tcache.set(element, result);\n\treturn result;\n}\nfunction getClippingRect(_ref) {\n\tlet { element, boundary, rootBoundary, strategy } = _ref;\n\tconst clippingAncestors = [...boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary), rootBoundary];\n\tconst firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n\tlet top = firstRect.top;\n\tlet right = firstRect.right;\n\tlet bottom = firstRect.bottom;\n\tlet left = firstRect.left;\n\tfor (let i = 1; i < clippingAncestors.length; i++) {\n\t\tconst rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n\t\ttop = max(rect.top, top);\n\t\tright = min(rect.right, right);\n\t\tbottom = min(rect.bottom, bottom);\n\t\tleft = max(rect.left, left);\n\t}\n\treturn {\n\t\twidth: right - left,\n\t\theight: bottom - top,\n\t\tx: left,\n\t\ty: top\n\t};\n}\nfunction getDimensions(element) {\n\tconst { width, height } = getCssDimensions(element);\n\treturn {\n\t\twidth,\n\t\theight\n\t};\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n\tconst isOffsetParentAnElement = isHTMLElement(offsetParent);\n\tconst documentElement = getDocumentElement(offsetParent);\n\tconst isFixed = strategy === \"fixed\";\n\tconst rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n\tlet scroll = {\n\t\tscrollLeft: 0,\n\t\tscrollTop: 0\n\t};\n\tconst offsets = createCoords(0);\n\tfunction setLeftRTLScrollbarOffset() {\n\t\toffsets.x = getWindowScrollBarX(documentElement);\n\t}\n\tif (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n\t\tif (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);\n\t\tif (isOffsetParentAnElement) {\n\t\t\tconst offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n\t\t\toffsets.x = offsetRect.x + offsetParent.clientLeft;\n\t\t\toffsets.y = offsetRect.y + offsetParent.clientTop;\n\t\t} else if (documentElement) setLeftRTLScrollbarOffset();\n\t}\n\tif (isFixed && !isOffsetParentAnElement && documentElement) setLeftRTLScrollbarOffset();\n\tconst htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n\treturn {\n\t\tx: rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x,\n\t\ty: rect.top + scroll.scrollTop - offsets.y - htmlOffset.y,\n\t\twidth: rect.width,\n\t\theight: rect.height\n\t};\n}\nfunction isStaticPositioned(element) {\n\treturn getComputedStyle$1(element).position === \"static\";\n}\nfunction getTrueOffsetParent(element, polyfill) {\n\tif (!isHTMLElement(element) || getComputedStyle$1(element).position === \"fixed\") return null;\n\tif (polyfill) return polyfill(element);\n\tlet rawOffsetParent = element.offsetParent;\n\tif (getDocumentElement(element) === rawOffsetParent) rawOffsetParent = rawOffsetParent.ownerDocument.body;\n\treturn rawOffsetParent;\n}\nfunction getOffsetParent(element, polyfill) {\n\tconst win = getWindow(element);\n\tif (isTopLayer(element)) return win;\n\tif (!isHTMLElement(element)) {\n\t\tlet svgOffsetParent = getParentNode(element);\n\t\twhile (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n\t\t\tif (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) return svgOffsetParent;\n\t\t\tsvgOffsetParent = getParentNode(svgOffsetParent);\n\t\t}\n\t\treturn win;\n\t}\n\tlet offsetParent = getTrueOffsetParent(element, polyfill);\n\twhile (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n\tif (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) return win;\n\treturn offsetParent || getContainingBlock(element) || win;\n}\nconst getElementRects = async function(data) {\n\tconst getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n\tconst getDimensionsFn = this.getDimensions;\n\tconst floatingDimensions = await getDimensionsFn(data.floating);\n\treturn {\n\t\treference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n\t\tfloating: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\twidth: floatingDimensions.width,\n\t\t\theight: floatingDimensions.height\n\t\t}\n\t};\n};\nfunction isRTL(element) {\n\treturn getComputedStyle$1(element).direction === \"rtl\";\n}\nconst platform = {\n\tconvertOffsetParentRelativeRectToViewportRelativeRect,\n\tgetDocumentElement,\n\tgetClippingRect,\n\tgetOffsetParent,\n\tgetElementRects,\n\tgetClientRects,\n\tgetDimensions,\n\tgetScale,\n\tisElement,\n\tisRTL\n};\nfunction rectsAreEqual(a, b) {\n\treturn a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction observeMove(element, onMove) {\n\tlet io = null;\n\tlet timeoutId;\n\tconst root = getDocumentElement(element);\n\tfunction cleanup() {\n\t\tvar _io;\n\t\tclearTimeout(timeoutId);\n\t\t(_io = io) == null || _io.disconnect();\n\t\tio = null;\n\t}\n\tfunction refresh(skip, threshold) {\n\t\tif (skip === void 0) skip = false;\n\t\tif (threshold === void 0) threshold = 1;\n\t\tcleanup();\n\t\tconst elementRectForRootMargin = element.getBoundingClientRect();\n\t\tconst { left, top, width, height } = elementRectForRootMargin;\n\t\tif (!skip) onMove();\n\t\tif (!width || !height) return;\n\t\tconst insetTop = floor(top);\n\t\tconst insetRight = floor(root.clientWidth - (left + width));\n\t\tconst insetBottom = floor(root.clientHeight - (top + height));\n\t\tconst insetLeft = floor(left);\n\t\tconst options = {\n\t\t\trootMargin: -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\",\n\t\t\tthreshold: max(0, min(1, threshold)) || 1\n\t\t};\n\t\tlet isFirstUpdate = true;\n\t\tfunction handleObserve(entries) {\n\t\t\tconst ratio = entries[0].intersectionRatio;\n\t\t\tif (ratio !== threshold) {\n\t\t\t\tif (!isFirstUpdate) return refresh();\n\t\t\t\tif (!ratio) timeoutId = setTimeout(() => {\n\t\t\t\t\trefresh(false, 1e-7);\n\t\t\t\t}, 1e3);\n\t\t\t\telse refresh(false, ratio);\n\t\t\t}\n\t\t\tif (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) refresh();\n\t\t\tisFirstUpdate = false;\n\t\t}\n\t\ttry {\n\t\t\tio = new IntersectionObserver(handleObserve, {\n\t\t\t\t...options,\n\t\t\t\troot: root.ownerDocument\n\t\t\t});\n\t\t} catch (_e) {\n\t\t\tio = new IntersectionObserver(handleObserve, options);\n\t\t}\n\t\tio.observe(element);\n\t}\n\trefresh(true);\n\treturn cleanup;\n}\n/**\n* Automatically updates the position of the floating element when necessary.\n* Should only be called when the floating element is mounted on the DOM or\n* visible on the screen.\n* @returns cleanup function that should be invoked when the floating element is\n* removed from the DOM or hidden from the screen.\n* @see https://floating-ui.com/docs/autoUpdate\n*/\nfunction autoUpdate(reference, floating, update, options) {\n\tif (options === void 0) options = {};\n\tconst { ancestorScroll = true, ancestorResize = true, elementResize = typeof ResizeObserver === \"function\", layoutShift = typeof IntersectionObserver === \"function\", animationFrame = false } = options;\n\tconst referenceEl = unwrapElement(reference);\n\tconst ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];\n\tancestors.forEach((ancestor) => {\n\t\tancestorScroll && ancestor.addEventListener(\"scroll\", update, { passive: true });\n\t\tancestorResize && ancestor.addEventListener(\"resize\", update);\n\t});\n\tconst cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n\tlet reobserveFrame = -1;\n\tlet resizeObserver = null;\n\tif (elementResize) {\n\t\tresizeObserver = new ResizeObserver((_ref) => {\n\t\t\tlet [firstEntry] = _ref;\n\t\t\tif (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n\t\t\t\tresizeObserver.unobserve(floating);\n\t\t\t\tcancelAnimationFrame(reobserveFrame);\n\t\t\t\treobserveFrame = requestAnimationFrame(() => {\n\t\t\t\t\tvar _resizeObserver;\n\t\t\t\t\t(_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n\t\t\t\t});\n\t\t\t}\n\t\t\tupdate();\n\t\t});\n\t\tif (referenceEl && !animationFrame) resizeObserver.observe(referenceEl);\n\t\tif (floating) resizeObserver.observe(floating);\n\t}\n\tlet frameId;\n\tlet prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n\tif (animationFrame) frameLoop();\n\tfunction frameLoop() {\n\t\tconst nextRefRect = getBoundingClientRect(reference);\n\t\tif (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) update();\n\t\tprevRefRect = nextRefRect;\n\t\tframeId = requestAnimationFrame(frameLoop);\n\t}\n\tupdate();\n\treturn () => {\n\t\tvar _resizeObserver2;\n\t\tancestors.forEach((ancestor) => {\n\t\t\tancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n\t\t\tancestorResize && ancestor.removeEventListener(\"resize\", update);\n\t\t});\n\t\tcleanupIo?.();\n\t\t(_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n\t\tresizeObserver = null;\n\t\tif (animationFrame) cancelAnimationFrame(frameId);\n\t};\n}\n/**\n* Resolves with an object of overflow side offsets that determine how much the\n* element is overflowing a given clipping boundary on each side.\n* - positive = overflowing the boundary by that number of pixels\n* - negative = how many pixels left before it will overflow\n* - 0 = lies flush with the boundary\n* @see https://floating-ui.com/docs/detectOverflow\n*/\nconst detectOverflow = detectOverflow$1;\n/**\n* Modifies the placement by translating the floating element along the\n* specified axes.\n* A number (shorthand for `mainAxis` or distance), or an axes configuration\n* object may be passed.\n* @see https://floating-ui.com/docs/offset\n*/\nconst offset$1 = offset$2;\n/**\n* Optimizes the visibility of the floating element by shifting it in order to\n* keep it in view when it will overflow the clipping boundary.\n* @see https://floating-ui.com/docs/shift\n*/\nconst shift$1 = shift$2;\n/**\n* Optimizes the visibility of the floating element by flipping the `placement`\n* in order to keep it in view when the preferred placement(s) will overflow the\n* clipping boundary. Alternative to `autoPlacement`.\n* @see https://floating-ui.com/docs/flip\n*/\nconst flip$1 = flip$2;\n/**\n* Provides data to position an inner element of the floating element so that it\n* appears centered to the reference element.\n* @see https://floating-ui.com/docs/arrow\n*/\nconst arrow$2 = arrow$3;\n/**\n* Computes the `x` and `y` coordinates that will place the floating element\n* next to a given reference element.\n*/\nconst computePosition = (reference, floating, options) => {\n\tconst cache = /* @__PURE__ */ new Map();\n\tconst mergedOptions = {\n\t\tplatform,\n\t\t...options\n\t};\n\tconst platformWithCache = {\n\t\t...mergedOptions.platform,\n\t\t_c: cache\n\t};\n\treturn computePosition$1(reference, floating, {\n\t\t...mergedOptions,\n\t\tplatform: platformWithCache\n\t});\n};\n\n//#endregion\n//#region ../../node_modules/.pnpm/@floating-ui+react-dom@2.1.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs\nvar index = typeof document !== \"undefined\" ? useLayoutEffect : function noop() {};\nfunction deepEqual(a, b) {\n\tif (a === b) return true;\n\tif (typeof a !== typeof b) return false;\n\tif (typeof a === \"function\" && a.toString() === b.toString()) return true;\n\tlet length;\n\tlet i;\n\tlet keys;\n\tif (a && b && typeof a === \"object\") {\n\t\tif (Array.isArray(a)) {\n\t\t\tlength = a.length;\n\t\t\tif (length !== b.length) return false;\n\t\t\tfor (i = length; i-- !== 0;) if (!deepEqual(a[i], b[i])) return false;\n\t\t\treturn true;\n\t\t}\n\t\tkeys = Object.keys(a);\n\t\tlength = keys.length;\n\t\tif (length !== Object.keys(b).length) return false;\n\t\tfor (i = length; i-- !== 0;) if (!{}.hasOwnProperty.call(b, keys[i])) return false;\n\t\tfor (i = length; i-- !== 0;) {\n\t\t\tconst key = keys[i];\n\t\t\tif (key === \"_owner\" && a.$$typeof) continue;\n\t\t\tif (!deepEqual(a[key], b[key])) return false;\n\t\t}\n\t\treturn true;\n\t}\n\treturn a !== a && b !== b;\n}\nfunction getDPR(element) {\n\tif (typeof window === \"undefined\") return 1;\n\treturn (element.ownerDocument.defaultView || window).devicePixelRatio || 1;\n}\nfunction roundByDPR(element, value) {\n\tconst dpr = getDPR(element);\n\treturn Math.round(value * dpr) / dpr;\n}\nfunction useLatestRef(value) {\n\tconst ref = React$1.useRef(value);\n\tindex(() => {\n\t\tref.current = value;\n\t});\n\treturn ref;\n}\n/**\n* Provides data to position a floating element.\n* @see https://floating-ui.com/docs/useFloating\n*/\nfunction useFloating$1(options) {\n\tif (options === void 0) options = {};\n\tconst { placement = \"bottom\", strategy = \"absolute\", middleware = [], platform, elements: { reference: externalReference, floating: externalFloating } = {}, transform = true, whileElementsMounted, open } = options;\n\tconst [data, setData] = React$1.useState({\n\t\tx: 0,\n\t\ty: 0,\n\t\tstrategy,\n\t\tplacement,\n\t\tmiddlewareData: {},\n\t\tisPositioned: false\n\t});\n\tconst [latestMiddleware, setLatestMiddleware] = React$1.useState(middleware);\n\tif (!deepEqual(latestMiddleware, middleware)) setLatestMiddleware(middleware);\n\tconst [_reference, _setReference] = React$1.useState(null);\n\tconst [_floating, _setFloating] = React$1.useState(null);\n\tconst setReference = React$1.useCallback((node) => {\n\t\tif (node !== referenceRef.current) {\n\t\t\treferenceRef.current = node;\n\t\t\t_setReference(node);\n\t\t}\n\t}, []);\n\tconst setFloating = React$1.useCallback((node) => {\n\t\tif (node !== floatingRef.current) {\n\t\t\tfloatingRef.current = node;\n\t\t\t_setFloating(node);\n\t\t}\n\t}, []);\n\tconst referenceEl = externalReference || _reference;\n\tconst floatingEl = externalFloating || _floating;\n\tconst referenceRef = React$1.useRef(null);\n\tconst floatingRef = React$1.useRef(null);\n\tconst dataRef = React$1.useRef(data);\n\tconst hasWhileElementsMounted = whileElementsMounted != null;\n\tconst whileElementsMountedRef = useLatestRef(whileElementsMounted);\n\tconst platformRef = useLatestRef(platform);\n\tconst openRef = useLatestRef(open);\n\tconst update = React$1.useCallback(() => {\n\t\tif (!referenceRef.current || !floatingRef.current) return;\n\t\tconst config = {\n\t\t\tplacement,\n\t\t\tstrategy,\n\t\t\tmiddleware: latestMiddleware\n\t\t};\n\t\tif (platformRef.current) config.platform = platformRef.current;\n\t\tcomputePosition(referenceRef.current, floatingRef.current, config).then((data) => {\n\t\t\tconst fullData = {\n\t\t\t\t...data,\n\t\t\t\tisPositioned: openRef.current !== false\n\t\t\t};\n\t\t\tif (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n\t\t\t\tdataRef.current = fullData;\n\t\t\t\tReactDOM.flushSync(() => {\n\t\t\t\t\tsetData(fullData);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}, [\n\t\tlatestMiddleware,\n\t\tplacement,\n\t\tstrategy,\n\t\tplatformRef,\n\t\topenRef\n\t]);\n\tindex(() => {\n\t\tif (open === false && dataRef.current.isPositioned) {\n\t\t\tdataRef.current.isPositioned = false;\n\t\t\tsetData((data) => ({\n\t\t\t\t...data,\n\t\t\t\tisPositioned: false\n\t\t\t}));\n\t\t}\n\t}, [open]);\n\tconst isMountedRef = React$1.useRef(false);\n\tindex(() => {\n\t\tisMountedRef.current = true;\n\t\treturn () => {\n\t\t\tisMountedRef.current = false;\n\t\t};\n\t}, []);\n\tindex(() => {\n\t\tif (referenceEl) referenceRef.current = referenceEl;\n\t\tif (floatingEl) floatingRef.current = floatingEl;\n\t\tif (referenceEl && floatingEl) {\n\t\t\tif (whileElementsMountedRef.current) return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n\t\t\tupdate();\n\t\t}\n\t}, [\n\t\treferenceEl,\n\t\tfloatingEl,\n\t\tupdate,\n\t\twhileElementsMountedRef,\n\t\thasWhileElementsMounted\n\t]);\n\tconst refs = React$1.useMemo(() => ({\n\t\treference: referenceRef,\n\t\tfloating: floatingRef,\n\t\tsetReference,\n\t\tsetFloating\n\t}), [setReference, setFloating]);\n\tconst elements = React$1.useMemo(() => ({\n\t\treference: referenceEl,\n\t\tfloating: floatingEl\n\t}), [referenceEl, floatingEl]);\n\tconst floatingStyles = React$1.useMemo(() => {\n\t\tconst initialStyles = {\n\t\t\tposition: strategy,\n\t\t\tleft: 0,\n\t\t\ttop: 0\n\t\t};\n\t\tif (!elements.floating) return initialStyles;\n\t\tconst x = roundByDPR(elements.floating, data.x);\n\t\tconst y = roundByDPR(elements.floating, data.y);\n\t\tif (transform) return {\n\t\t\t...initialStyles,\n\t\t\ttransform: \"translate(\" + x + \"px, \" + y + \"px)\",\n\t\t\t...getDPR(elements.floating) >= 1.5 && { willChange: \"transform\" }\n\t\t};\n\t\treturn {\n\t\t\tposition: strategy,\n\t\t\tleft: x,\n\t\t\ttop: y\n\t\t};\n\t}, [\n\t\tstrategy,\n\t\ttransform,\n\t\telements.floating,\n\t\tdata.x,\n\t\tdata.y\n\t]);\n\treturn React$1.useMemo(() => ({\n\t\t...data,\n\t\tupdate,\n\t\trefs,\n\t\telements,\n\t\tfloatingStyles\n\t}), [\n\t\tdata,\n\t\tupdate,\n\t\trefs,\n\t\telements,\n\t\tfloatingStyles\n\t]);\n}\n/**\n* Provides data to position an inner element of the floating element so that it\n* appears centered to the reference element.\n* This wraps the core `arrow` middleware to allow React refs as the element.\n* @see https://floating-ui.com/docs/arrow\n*/\nconst arrow$1 = (options) => {\n\tfunction isRef(value) {\n\t\treturn {}.hasOwnProperty.call(value, \"current\");\n\t}\n\treturn {\n\t\tname: \"arrow\",\n\t\toptions,\n\t\tfn(state) {\n\t\t\tconst { element, padding } = typeof options === \"function\" ? options(state) : options;\n\t\t\tif (element && isRef(element)) {\n\t\t\t\tif (element.current != null) return arrow$2({\n\t\t\t\t\telement: element.current,\n\t\t\t\t\tpadding\n\t\t\t\t}).fn(state);\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tif (element) return arrow$2({\n\t\t\t\telement,\n\t\t\t\tpadding\n\t\t\t}).fn(state);\n\t\t\treturn {};\n\t\t}\n\t};\n};\n/**\n* Modifies the placement by translating the floating element along the\n* specified axes.\n* A number (shorthand for `mainAxis` or distance), or an axes configuration\n* object may be passed.\n* @see https://floating-ui.com/docs/offset\n*/\nconst offset = (options, deps) => {\n\tconst result = offset$1(options);\n\treturn {\n\t\tname: result.name,\n\t\tfn: result.fn,\n\t\toptions: [options, deps]\n\t};\n};\n/**\n* Optimizes the visibility of the floating element by shifting it in order to\n* keep it in view when it will overflow the clipping boundary.\n* @see https://floating-ui.com/docs/shift\n*/\nconst shift = (options, deps) => {\n\tconst result = shift$1(options);\n\treturn {\n\t\tname: result.name,\n\t\tfn: result.fn,\n\t\toptions: [options, deps]\n\t};\n};\n/**\n* Optimizes the visibility of the floating element by flipping the `placement`\n* in order to keep it in view when the preferred placement(s) will overflow the\n* clipping boundary. Alternative to `autoPlacement`.\n* @see https://floating-ui.com/docs/flip\n*/\nconst flip = (options, deps) => {\n\tconst result = flip$1(options);\n\treturn {\n\t\tname: result.name,\n\t\tfn: result.fn,\n\t\toptions: [options, deps]\n\t};\n};\n/**\n* Provides data to position an inner element of the floating element so that it\n* appears centered to the reference element.\n* This wraps the core `arrow` middleware to allow React refs as the element.\n* @see https://floating-ui.com/docs/arrow\n*/\nconst arrow = (options, deps) => {\n\tconst result = arrow$1(options);\n\treturn {\n\t\tname: result.name,\n\t\tfn: result.fn,\n\t\toptions: [options, deps]\n\t};\n};\n\n//#endregion\n//#region ../../node_modules/.pnpm/@floating-ui+react@0.27.12_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react/dist/floating-ui.react.mjs\n/**\n* Merges an array of refs into a single memoized callback ref or `null`.\n* @see https://floating-ui.com/docs/react-utils#usemergerefs\n*/\nfunction useMergeRefs(refs) {\n\tconst cleanupRef = React$1.useRef(void 0);\n\tconst refEffect = React$1.useCallback((instance) => {\n\t\tconst cleanups = refs.map((ref) => {\n\t\t\tif (ref == null) return;\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tconst refCallback = ref;\n\t\t\t\tconst refCleanup = refCallback(instance);\n\t\t\t\treturn typeof refCleanup === \"function\" ? refCleanup : () => {\n\t\t\t\t\trefCallback(null);\n\t\t\t\t};\n\t\t\t}\n\t\t\tref.current = instance;\n\t\t\treturn () => {\n\t\t\t\tref.current = null;\n\t\t\t};\n\t\t});\n\t\treturn () => {\n\t\t\tcleanups.forEach((refCleanup) => refCleanup == null ? void 0 : refCleanup());\n\t\t};\n\t}, refs);\n\treturn React$1.useMemo(() => {\n\t\tif (refs.every((ref) => ref == null)) return null;\n\t\treturn (value) => {\n\t\t\tif (cleanupRef.current) {\n\t\t\t\tcleanupRef.current();\n\t\t\t\tcleanupRef.current = void 0;\n\t\t\t}\n\t\t\tif (value != null) cleanupRef.current = refEffect(value);\n\t\t};\n\t}, refs);\n}\nfunction sortByDocumentPosition(a, b) {\n\tconst position = a.compareDocumentPosition(b);\n\tif (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) return -1;\n\tif (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) return 1;\n\treturn 0;\n}\nconst FloatingListContext = /*#__PURE__*/ React$1.createContext({\n\tregister: () => {},\n\tunregister: () => {},\n\tmap: /*#__PURE__*/ new Map(),\n\telementsRef: { current: [] }\n});\n/**\n* Provides context for a list of items within the floating element.\n* @see https://floating-ui.com/docs/FloatingList\n*/\nfunction FloatingList(props) {\n\tconst { children, elementsRef, labelsRef } = props;\n\tconst [nodes, setNodes] = React$1.useState(() => /* @__PURE__ */ new Set());\n\tconst register = React$1.useCallback((node) => {\n\t\tsetNodes((prevSet) => new Set(prevSet).add(node));\n\t}, []);\n\tconst unregister = React$1.useCallback((node) => {\n\t\tsetNodes((prevSet) => {\n\t\t\tconst set = new Set(prevSet);\n\t\t\tset.delete(node);\n\t\t\treturn set;\n\t\t});\n\t}, []);\n\tconst map = React$1.useMemo(() => {\n\t\tconst newMap = /* @__PURE__ */ new Map();\n\t\tArray.from(nodes.keys()).sort(sortByDocumentPosition).forEach((node, index) => {\n\t\t\tnewMap.set(node, index);\n\t\t});\n\t\treturn newMap;\n\t}, [nodes]);\n\treturn /*#__PURE__*/ jsx(FloatingListContext.Provider, {\n\t\tvalue: React$1.useMemo(() => ({\n\t\t\tregister,\n\t\t\tunregister,\n\t\t\tmap,\n\t\t\telementsRef,\n\t\t\tlabelsRef\n\t\t}), [\n\t\t\tregister,\n\t\t\tunregister,\n\t\t\tmap,\n\t\t\telementsRef,\n\t\t\tlabelsRef\n\t\t]),\n\t\tchildren\n\t});\n}\n/**\n* Used to register a list item and its index (DOM position) in the\n* `FloatingList`.\n* @see https://floating-ui.com/docs/FloatingList#uselistitem\n*/\nfunction useListItem(props) {\n\tif (props === void 0) props = {};\n\tconst { label } = props;\n\tconst { register, unregister, map, elementsRef, labelsRef } = React$1.useContext(FloatingListContext);\n\tconst [index, setIndex] = React$1.useState(null);\n\tconst componentRef = React$1.useRef(null);\n\tconst ref = React$1.useCallback((node) => {\n\t\tcomponentRef.current = node;\n\t\tif (index !== null) {\n\t\t\telementsRef.current[index] = node;\n\t\t\tif (labelsRef) {\n\t\t\t\tvar _node$textContent;\n\t\t\t\tconst isLabelDefined = label !== void 0;\n\t\t\t\tlabelsRef.current[index] = isLabelDefined ? label : (_node$textContent = node == null ? void 0 : node.textContent) != null ? _node$textContent : null;\n\t\t\t}\n\t\t}\n\t}, [\n\t\tindex,\n\t\telementsRef,\n\t\tlabelsRef,\n\t\tlabel\n\t]);\n\tindex$1(() => {\n\t\tconst node = componentRef.current;\n\t\tif (node) {\n\t\t\tregister(node);\n\t\t\treturn () => {\n\t\t\t\tunregister(node);\n\t\t\t};\n\t\t}\n\t}, [register, unregister]);\n\tindex$1(() => {\n\t\tconst index = componentRef.current ? map.get(componentRef.current) : null;\n\t\tif (index != null) setIndex(index);\n\t}, [map]);\n\treturn React$1.useMemo(() => ({\n\t\tref,\n\t\tindex: index == null ? -1 : index\n\t}), [index, ref]);\n}\nconst FOCUSABLE_ATTRIBUTE = \"data-floating-ui-focusable\";\nconst ACTIVE_KEY = \"active\";\nconst SELECTED_KEY = \"selected\";\nconst ARROW_LEFT = \"ArrowLeft\";\nconst ARROW_RIGHT = \"ArrowRight\";\nconst ARROW_UP = \"ArrowUp\";\nconst ARROW_DOWN = \"ArrowDown\";\nconst horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];\nconst verticalKeys = [ARROW_UP, ARROW_DOWN];\nconst allKeys = [...horizontalKeys, ...verticalKeys];\nconst SafeReact = { ...React$1 };\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => \"floating-ui-\" + Math.random().toString(36).slice(2, 6) + count++;\nfunction useFloatingId() {\n\tconst [id, setId] = React$1.useState(() => serverHandoffComplete ? genId() : void 0);\n\tindex$1(() => {\n\t\tif (id == null) setId(genId());\n\t}, []);\n\tReact$1.useEffect(() => {\n\t\tserverHandoffComplete = true;\n\t}, []);\n\treturn id;\n}\n/**\n* Uses React 18's built-in `useId()` when available, or falls back to a\n* slightly less performant (requiring a double render) implementation for\n* earlier React versions.\n* @see https://floating-ui.com/docs/react-utils#useid\n*/\nconst useId$1 = SafeReact.useId || useFloatingId;\nlet devMessageSet;\ndevMessageSet = /*#__PURE__*/ new Set();\nfunction warn() {\n\tvar _devMessageSet;\n\tfor (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) messages[_key] = arguments[_key];\n\tconst message = \"Floating UI: \" + messages.join(\" \");\n\tif (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {\n\t\tvar _devMessageSet2;\n\t\t(_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);\n\t\tconsole.warn(message);\n\t}\n}\nfunction error() {\n\tvar _devMessageSet3;\n\tfor (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) messages[_key2] = arguments[_key2];\n\tconst message = \"Floating UI: \" + messages.join(\" \");\n\tif (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {\n\t\tvar _devMessageSet4;\n\t\t(_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);\n\t\tconsole.error(message);\n\t}\n}\nfunction createEventEmitter() {\n\tconst map = /* @__PURE__ */ new Map();\n\treturn {\n\t\temit(event, data) {\n\t\t\tvar _map$get;\n\t\t\t(_map$get = map.get(event)) == null || _map$get.forEach((listener) => listener(data));\n\t\t},\n\t\ton(event, listener) {\n\t\t\tif (!map.has(event)) map.set(event, /* @__PURE__ */ new Set());\n\t\t\tmap.get(event).add(listener);\n\t\t},\n\t\toff(event, listener) {\n\t\t\tvar _map$get2;\n\t\t\t(_map$get2 = map.get(event)) == null || _map$get2.delete(listener);\n\t\t}\n\t};\n}\nconst FloatingNodeContext = /*#__PURE__*/ React$1.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/ React$1.createContext(null);\n/**\n* Returns the parent node id for nested floating elements, if available.\n* Returns `null` for top-level floating elements.\n*/\nconst useFloatingParentNodeId = () => {\n\tvar _React$useContext;\n\treturn ((_React$useContext = React$1.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\n/**\n* Returns the nearest floating tree context, if available.\n*/\nconst useFloatingTree = () => React$1.useContext(FloatingTreeContext);\n/**\n* Registers a node into the `FloatingTree`, returning its id.\n* @see https://floating-ui.com/docs/FloatingTree\n*/\nfunction useFloatingNodeId(customParentId) {\n\tconst id = useId$1();\n\tconst tree = useFloatingTree();\n\tconst reactParentId = useFloatingParentNodeId();\n\tconst parentId = customParentId || reactParentId;\n\tindex$1(() => {\n\t\tif (!id) return;\n\t\tconst node = {\n\t\t\tid,\n\t\t\tparentId\n\t\t};\n\t\ttree?.addNode(node);\n\t\treturn () => {\n\t\t\ttree?.removeNode(node);\n\t\t};\n\t}, [\n\t\ttree,\n\t\tid,\n\t\tparentId\n\t]);\n\treturn id;\n}\n/**\n* Provides parent node context for nested floating elements.\n* @see https://floating-ui.com/docs/FloatingTree\n*/\nfunction FloatingNode(props) {\n\tconst { children, id } = props;\n\tconst parentId = useFloatingParentNodeId();\n\treturn /*#__PURE__*/ jsx(FloatingNodeContext.Provider, {\n\t\tvalue: React$1.useMemo(() => ({\n\t\t\tid,\n\t\t\tparentId\n\t\t}), [id, parentId]),\n\t\tchildren\n\t});\n}\n/**\n* Provides context for nested floating elements when they are not children of\n* each other on the DOM.\n* This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n* - The `bubbles` option in the `useDismiss()` Hook\n* - Nested virtual list navigation\n* - Nested floating elements that each open on hover\n* - Custom communication between parent and child floating elements\n* @see https://floating-ui.com/docs/FloatingTree\n*/\nfunction FloatingTree(props) {\n\tconst { children } = props;\n\tconst nodesRef = React$1.useRef([]);\n\tconst addNode = React$1.useCallback((node) => {\n\t\tnodesRef.current = [...nodesRef.current, node];\n\t}, []);\n\tconst removeNode = React$1.useCallback((node) => {\n\t\tnodesRef.current = nodesRef.current.filter((n) => n !== node);\n\t}, []);\n\tconst [events] = React$1.useState(() => createEventEmitter());\n\treturn /*#__PURE__*/ jsx(FloatingTreeContext.Provider, {\n\t\tvalue: React$1.useMemo(() => ({\n\t\t\tnodesRef,\n\t\t\taddNode,\n\t\t\tremoveNode,\n\t\t\tevents\n\t\t}), [\n\t\t\taddNode,\n\t\t\tremoveNode,\n\t\t\tevents\n\t\t]),\n\t\tchildren\n\t});\n}\nfunction createAttribute(name) {\n\treturn \"data-floating-ui-\" + name;\n}\nfunction clearTimeoutIfSet(timeoutRef) {\n\tif (timeoutRef.current !== -1) {\n\t\tclearTimeout(timeoutRef.current);\n\t\ttimeoutRef.current = -1;\n\t}\n}\nconst safePolygonIdentifier = /*#__PURE__*/ createAttribute(\"safe-polygon\");\nfunction getDelay(value, prop, pointerType) {\n\tif (pointerType && !isMouseLikePointerType(pointerType)) return 0;\n\tif (typeof value === \"number\") return value;\n\tif (typeof value === \"function\") {\n\t\tconst result = value();\n\t\tif (typeof result === \"number\") return result;\n\t\treturn result == null ? void 0 : result[prop];\n\t}\n\treturn value == null ? void 0 : value[prop];\n}\nfunction getRestMs(value) {\n\tif (typeof value === \"function\") return value();\n\treturn value;\n}\n/**\n* Opens the floating element while hovering over the reference element, like\n* CSS `:hover`.\n* @see https://floating-ui.com/docs/useHover\n*/\nfunction useHover(context, props) {\n\tif (props === void 0) props = {};\n\tconst { open, onOpenChange, dataRef, events, elements } = context;\n\tconst { enabled = true, delay = 0, handleClose = null, mouseOnly = false, restMs = 0, move = true } = props;\n\tconst tree = useFloatingTree();\n\tconst parentId = useFloatingParentNodeId();\n\tconst handleCloseRef = useLatestRef$1(handleClose);\n\tconst delayRef = useLatestRef$1(delay);\n\tconst openRef = useLatestRef$1(open);\n\tconst restMsRef = useLatestRef$1(restMs);\n\tconst pointerTypeRef = React$1.useRef();\n\tconst timeoutRef = React$1.useRef(-1);\n\tconst handlerRef = React$1.useRef();\n\tconst restTimeoutRef = React$1.useRef(-1);\n\tconst blockMouseMoveRef = React$1.useRef(true);\n\tconst performedPointerEventsMutationRef = React$1.useRef(false);\n\tconst unbindMouseMoveRef = React$1.useRef(() => {});\n\tconst restTimeoutPendingRef = React$1.useRef(false);\n\tconst isHoverOpen = useEffectEvent(() => {\n\t\tvar _dataRef$current$open;\n\t\tconst type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n\t\treturn (type == null ? void 0 : type.includes(\"mouse\")) && type !== \"mousedown\";\n\t});\n\tReact$1.useEffect(() => {\n\t\tif (!enabled) return;\n\t\tfunction onOpenChange(_ref) {\n\t\t\tlet { open } = _ref;\n\t\t\tif (!open) {\n\t\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t\t\tclearTimeoutIfSet(restTimeoutRef);\n\t\t\t\tblockMouseMoveRef.current = true;\n\t\t\t\trestTimeoutPendingRef.current = false;\n\t\t\t}\n\t\t}\n\t\tevents.on(\"openchange\", onOpenChange);\n\t\treturn () => {\n\t\t\tevents.off(\"openchange\", onOpenChange);\n\t\t};\n\t}, [enabled, events]);\n\tReact$1.useEffect(() => {\n\t\tif (!enabled) return;\n\t\tif (!handleCloseRef.current) return;\n\t\tif (!open) return;\n\t\tfunction onLeave(event) {\n\t\t\tif (isHoverOpen()) onOpenChange(false, event, \"hover\");\n\t\t}\n\t\tconst html = getDocument$1(elements.floating).documentElement;\n\t\thtml.addEventListener(\"mouseleave\", onLeave);\n\t\treturn () => {\n\t\t\thtml.removeEventListener(\"mouseleave\", onLeave);\n\t\t};\n\t}, [\n\t\telements.floating,\n\t\topen,\n\t\tonOpenChange,\n\t\tenabled,\n\t\thandleCloseRef,\n\t\tisHoverOpen\n\t]);\n\tconst closeWithDelay = React$1.useCallback(function(event, runElseBranch, reason) {\n\t\tif (runElseBranch === void 0) runElseBranch = true;\n\t\tif (reason === void 0) reason = \"hover\";\n\t\tconst closeDelay = getDelay(delayRef.current, \"close\", pointerTypeRef.current);\n\t\tif (closeDelay && !handlerRef.current) {\n\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t\ttimeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);\n\t\t} else if (runElseBranch) {\n\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t\tonOpenChange(false, event, reason);\n\t\t}\n\t}, [delayRef, onOpenChange]);\n\tconst cleanupMouseMoveHandler = useEffectEvent(() => {\n\t\tunbindMouseMoveRef.current();\n\t\thandlerRef.current = void 0;\n\t});\n\tconst clearPointerEvents = useEffectEvent(() => {\n\t\tif (performedPointerEventsMutationRef.current) {\n\t\t\tconst body = getDocument$1(elements.floating).body;\n\t\t\tbody.style.pointerEvents = \"\";\n\t\t\tbody.removeAttribute(safePolygonIdentifier);\n\t\t\tperformedPointerEventsMutationRef.current = false;\n\t\t}\n\t});\n\tconst isClickLikeOpenEvent = useEffectEvent(() => {\n\t\treturn dataRef.current.openEvent ? [\"click\", \"mousedown\"].includes(dataRef.current.openEvent.type) : false;\n\t});\n\tReact$1.useEffect(() => {\n\t\tif (!enabled) return;\n\t\tfunction onReferenceMouseEnter(event) {\n\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t\tblockMouseMoveRef.current = false;\n\t\t\tif (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || getRestMs(restMsRef.current) > 0 && !getDelay(delayRef.current, \"open\")) return;\n\t\t\tconst openDelay = getDelay(delayRef.current, \"open\", pointerTypeRef.current);\n\t\t\tif (openDelay) timeoutRef.current = window.setTimeout(() => {\n\t\t\t\tif (!openRef.current) onOpenChange(true, event, \"hover\");\n\t\t\t}, openDelay);\n\t\t\telse if (!open) onOpenChange(true, event, \"hover\");\n\t\t}\n\t\tfunction onReferenceMouseLeave(event) {\n\t\t\tif (isClickLikeOpenEvent()) {\n\t\t\t\tclearPointerEvents();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tunbindMouseMoveRef.current();\n\t\t\tconst doc = getDocument$1(elements.floating);\n\t\t\tclearTimeoutIfSet(restTimeoutRef);\n\t\t\trestTimeoutPendingRef.current = false;\n\t\t\tif (handleCloseRef.current && dataRef.current.floatingContext) {\n\t\t\t\tif (!open) clearTimeoutIfSet(timeoutRef);\n\t\t\t\thandlerRef.current = handleCloseRef.current({\n\t\t\t\t\t...dataRef.current.floatingContext,\n\t\t\t\t\ttree,\n\t\t\t\t\tx: event.clientX,\n\t\t\t\t\ty: event.clientY,\n\t\t\t\t\tonClose() {\n\t\t\t\t\t\tclearPointerEvents();\n\t\t\t\t\t\tcleanupMouseMoveHandler();\n\t\t\t\t\t\tif (!isClickLikeOpenEvent()) closeWithDelay(event, true, \"safe-polygon\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst handler = handlerRef.current;\n\t\t\t\tdoc.addEventListener(\"mousemove\", handler);\n\t\t\t\tunbindMouseMoveRef.current = () => {\n\t\t\t\t\tdoc.removeEventListener(\"mousemove\", handler);\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (pointerTypeRef.current === \"touch\" ? !contains$1(elements.floating, event.relatedTarget) : true) closeWithDelay(event);\n\t\t}\n\t\tfunction onScrollMouseLeave(event) {\n\t\t\tif (isClickLikeOpenEvent()) return;\n\t\t\tif (!dataRef.current.floatingContext) return;\n\t\t\thandleCloseRef.current == null || handleCloseRef.current({\n\t\t\t\t...dataRef.current.floatingContext,\n\t\t\t\ttree,\n\t\t\t\tx: event.clientX,\n\t\t\t\ty: event.clientY,\n\t\t\t\tonClose() {\n\t\t\t\t\tclearPointerEvents();\n\t\t\t\t\tcleanupMouseMoveHandler();\n\t\t\t\t\tif (!isClickLikeOpenEvent()) closeWithDelay(event);\n\t\t\t\t}\n\t\t\t})(event);\n\t\t}\n\t\tfunction onFloatingMouseEnter() {\n\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t}\n\t\tfunction onFloatingMouseLeave(event) {\n\t\t\tif (!isClickLikeOpenEvent()) closeWithDelay(event, false);\n\t\t}\n\t\tif (isElement(elements.domReference)) {\n\t\t\tconst reference = elements.domReference;\n\t\t\tconst floating = elements.floating;\n\t\t\tif (open) reference.addEventListener(\"mouseleave\", onScrollMouseLeave);\n\t\t\tif (move) reference.addEventListener(\"mousemove\", onReferenceMouseEnter, { once: true });\n\t\t\treference.addEventListener(\"mouseenter\", onReferenceMouseEnter);\n\t\t\treference.addEventListener(\"mouseleave\", onReferenceMouseLeave);\n\t\t\tif (floating) {\n\t\t\t\tfloating.addEventListener(\"mouseleave\", onScrollMouseLeave);\n\t\t\t\tfloating.addEventListener(\"mouseenter\", onFloatingMouseEnter);\n\t\t\t\tfloating.addEventListener(\"mouseleave\", onFloatingMouseLeave);\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tif (open) reference.removeEventListener(\"mouseleave\", onScrollMouseLeave);\n\t\t\t\tif (move) reference.removeEventListener(\"mousemove\", onReferenceMouseEnter);\n\t\t\t\treference.removeEventListener(\"mouseenter\", onReferenceMouseEnter);\n\t\t\t\treference.removeEventListener(\"mouseleave\", onReferenceMouseLeave);\n\t\t\t\tif (floating) {\n\t\t\t\t\tfloating.removeEventListener(\"mouseleave\", onScrollMouseLeave);\n\t\t\t\t\tfloating.removeEventListener(\"mouseenter\", onFloatingMouseEnter);\n\t\t\t\t\tfloating.removeEventListener(\"mouseleave\", onFloatingMouseLeave);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}, [\n\t\telements,\n\t\tenabled,\n\t\tcontext,\n\t\tmouseOnly,\n\t\tmove,\n\t\tcloseWithDelay,\n\t\tcleanupMouseMoveHandler,\n\t\tclearPointerEvents,\n\t\tonOpenChange,\n\t\topen,\n\t\topenRef,\n\t\ttree,\n\t\tdelayRef,\n\t\thandleCloseRef,\n\t\tdataRef,\n\t\tisClickLikeOpenEvent,\n\t\trestMsRef\n\t]);\n\tindex$1(() => {\n\t\tvar _handleCloseRef$curre;\n\t\tif (!enabled) return;\n\t\tif (open && (_handleCloseRef$curre = handleCloseRef.current) != null && (_handleCloseRef$curre = _handleCloseRef$curre.__options) != null && _handleCloseRef$curre.blockPointerEvents && isHoverOpen()) {\n\t\t\tperformedPointerEventsMutationRef.current = true;\n\t\t\tconst floatingEl = elements.floating;\n\t\t\tif (isElement(elements.domReference) && floatingEl) {\n\t\t\t\tvar _tree$nodesRef$curren;\n\t\t\t\tconst body = getDocument$1(elements.floating).body;\n\t\t\t\tbody.setAttribute(safePolygonIdentifier, \"\");\n\t\t\t\tconst ref = elements.domReference;\n\t\t\t\tconst parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find((node) => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;\n\t\t\t\tif (parentFloating) parentFloating.style.pointerEvents = \"\";\n\t\t\t\tbody.style.pointerEvents = \"none\";\n\t\t\t\tref.style.pointerEvents = \"auto\";\n\t\t\t\tfloatingEl.style.pointerEvents = \"auto\";\n\t\t\t\treturn () => {\n\t\t\t\t\tbody.style.pointerEvents = \"\";\n\t\t\t\t\tref.style.pointerEvents = \"\";\n\t\t\t\t\tfloatingEl.style.pointerEvents = \"\";\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}, [\n\t\tenabled,\n\t\topen,\n\t\tparentId,\n\t\telements,\n\t\ttree,\n\t\thandleCloseRef,\n\t\tisHoverOpen\n\t]);\n\tindex$1(() => {\n\t\tif (!open) {\n\t\t\tpointerTypeRef.current = void 0;\n\t\t\trestTimeoutPendingRef.current = false;\n\t\t\tcleanupMouseMoveHandler();\n\t\t\tclearPointerEvents();\n\t\t}\n\t}, [\n\t\topen,\n\t\tcleanupMouseMoveHandler,\n\t\tclearPointerEvents\n\t]);\n\tReact$1.useEffect(() => {\n\t\treturn () => {\n\t\t\tcleanupMouseMoveHandler();\n\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t\tclearTimeoutIfSet(restTimeoutRef);\n\t\t\tclearPointerEvents();\n\t\t};\n\t}, [\n\t\tenabled,\n\t\telements.domReference,\n\t\tcleanupMouseMoveHandler,\n\t\tclearPointerEvents\n\t]);\n\tconst reference = React$1.useMemo(() => {\n\t\tfunction setPointerRef(event) {\n\t\t\tpointerTypeRef.current = event.pointerType;\n\t\t}\n\t\treturn {\n\t\t\tonPointerDown: setPointerRef,\n\t\t\tonPointerEnter: setPointerRef,\n\t\t\tonMouseMove(event) {\n\t\t\t\tconst { nativeEvent } = event;\n\t\t\t\tfunction handleMouseMove() {\n\t\t\t\t\tif (!blockMouseMoveRef.current && !openRef.current) onOpenChange(true, nativeEvent, \"hover\");\n\t\t\t\t}\n\t\t\t\tif (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) return;\n\t\t\t\tif (open || getRestMs(restMsRef.current) === 0) return;\n\t\t\t\tif (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) return;\n\t\t\t\tclearTimeoutIfSet(restTimeoutRef);\n\t\t\t\tif (pointerTypeRef.current === \"touch\") handleMouseMove();\n\t\t\t\telse {\n\t\t\t\t\trestTimeoutPendingRef.current = true;\n\t\t\t\t\trestTimeoutRef.current = window.setTimeout(handleMouseMove, getRestMs(restMsRef.current));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}, [\n\t\tmouseOnly,\n\t\tonOpenChange,\n\t\topen,\n\t\topenRef,\n\t\trestMsRef\n\t]);\n\treturn React$1.useMemo(() => enabled ? { reference } : {}, [enabled, reference]);\n}\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n\tif (options === void 0) options = {};\n\tconst { preventScroll = false, cancelPrevious = true, sync = false } = options;\n\tcancelPrevious && cancelAnimationFrame(rafId);\n\tconst exec = () => el == null ? void 0 : el.focus({ preventScroll });\n\tif (sync) exec();\n\telse rafId = requestAnimationFrame(exec);\n}\nfunction contains(parent, child) {\n\tif (!parent || !child) return false;\n\tconst rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\tif (parent.contains(child)) return true;\n\tif (rootNode && isShadowRoot(rootNode)) {\n\t\tlet next = child;\n\t\twhile (next) {\n\t\t\tif (parent === next) return true;\n\t\t\tnext = next.parentNode || next.host;\n\t\t}\n\t}\n\treturn false;\n}\nfunction getTarget(event) {\n\tif (\"composedPath\" in event) return event.composedPath()[0];\n\treturn event.target;\n}\nfunction getDocument(node) {\n\treturn (node == null ? void 0 : node.ownerDocument) || document;\n}\nconst counters = {\n\tinert: /*#__PURE__*/ new WeakMap(),\n\t\"aria-hidden\": /*#__PURE__*/ new WeakMap(),\n\tnone: /*#__PURE__*/ new WeakMap()\n};\nfunction getCounterMap(control) {\n\tif (control === \"inert\") return counters.inert;\n\tif (control === \"aria-hidden\") return counters[\"aria-hidden\"];\n\treturn counters.none;\n}\nlet uncontrolledElementsSet = /*#__PURE__*/ new WeakSet();\nlet markerMap = {};\nlet lockCount$1 = 0;\nconst supportsInert = () => typeof HTMLElement !== \"undefined\" && \"inert\" in HTMLElement.prototype;\nconst unwrapHost = (node) => node && (node.host || unwrapHost(node.parentNode));\nconst correctElements = (parent, targets) => targets.map((target) => {\n\tif (parent.contains(target)) return target;\n\tconst correctedTarget = unwrapHost(target);\n\tif (parent.contains(correctedTarget)) return correctedTarget;\n\treturn null;\n}).filter((x) => x != null);\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {\n\tconst markerName = \"data-floating-ui-inert\";\n\tconst controlAttribute = inert ? \"inert\" : ariaHidden ? \"aria-hidden\" : null;\n\tconst avoidElements = correctElements(body, uncorrectedAvoidElements);\n\tconst elementsToKeep = /* @__PURE__ */ new Set();\n\tconst elementsToStop = new Set(avoidElements);\n\tconst hiddenElements = [];\n\tif (!markerMap[markerName]) markerMap[markerName] = /* @__PURE__ */ new WeakMap();\n\tconst markerCounter = markerMap[markerName];\n\tavoidElements.forEach(keep);\n\tdeep(body);\n\telementsToKeep.clear();\n\tfunction keep(el) {\n\t\tif (!el || elementsToKeep.has(el)) return;\n\t\telementsToKeep.add(el);\n\t\tel.parentNode && keep(el.parentNode);\n\t}\n\tfunction deep(parent) {\n\t\tif (!parent || elementsToStop.has(parent)) return;\n\t\t[].forEach.call(parent.children, (node) => {\n\t\t\tif (getNodeName(node) === \"script\") return;\n\t\t\tif (elementsToKeep.has(node)) deep(node);\n\t\t\telse {\n\t\t\t\tconst attr = controlAttribute ? node.getAttribute(controlAttribute) : null;\n\t\t\t\tconst alreadyHidden = attr !== null && attr !== \"false\";\n\t\t\t\tconst counterMap = getCounterMap(controlAttribute);\n\t\t\t\tconst counterValue = (counterMap.get(node) || 0) + 1;\n\t\t\t\tconst markerValue = (markerCounter.get(node) || 0) + 1;\n\t\t\t\tcounterMap.set(node, counterValue);\n\t\t\t\tmarkerCounter.set(node, markerValue);\n\t\t\t\thiddenElements.push(node);\n\t\t\t\tif (counterValue === 1 && alreadyHidden) uncontrolledElementsSet.add(node);\n\t\t\t\tif (markerValue === 1) node.setAttribute(markerName, \"\");\n\t\t\t\tif (!alreadyHidden && controlAttribute) node.setAttribute(controlAttribute, controlAttribute === \"inert\" ? \"\" : \"true\");\n\t\t\t}\n\t\t});\n\t}\n\tlockCount$1++;\n\treturn () => {\n\t\thiddenElements.forEach((element) => {\n\t\t\tconst counterMap = getCounterMap(controlAttribute);\n\t\t\tconst counterValue = (counterMap.get(element) || 0) - 1;\n\t\t\tconst markerValue = (markerCounter.get(element) || 0) - 1;\n\t\t\tcounterMap.set(element, counterValue);\n\t\t\tmarkerCounter.set(element, markerValue);\n\t\t\tif (!counterValue) {\n\t\t\t\tif (!uncontrolledElementsSet.has(element) && controlAttribute) element.removeAttribute(controlAttribute);\n\t\t\t\tuncontrolledElementsSet.delete(element);\n\t\t\t}\n\t\t\tif (!markerValue) element.removeAttribute(markerName);\n\t\t});\n\t\tlockCount$1--;\n\t\tif (!lockCount$1) {\n\t\t\tcounters.inert = /* @__PURE__ */ new WeakMap();\n\t\t\tcounters[\"aria-hidden\"] = /* @__PURE__ */ new WeakMap();\n\t\t\tcounters.none = /* @__PURE__ */ new WeakMap();\n\t\t\tuncontrolledElementsSet = /* @__PURE__ */ new WeakSet();\n\t\t\tmarkerMap = {};\n\t\t}\n\t};\n}\nfunction markOthers(avoidElements, ariaHidden, inert) {\n\tif (ariaHidden === void 0) ariaHidden = false;\n\tif (inert === void 0) inert = false;\n\tconst body = getDocument(avoidElements[0]).body;\n\treturn applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll(\"[aria-live]\"))), body, ariaHidden, inert);\n}\nconst HIDDEN_STYLES = {\n\tborder: 0,\n\tclip: \"rect(0 0 0 0)\",\n\theight: \"1px\",\n\tmargin: \"-1px\",\n\toverflow: \"hidden\",\n\tpadding: 0,\n\tposition: \"fixed\",\n\twhiteSpace: \"nowrap\",\n\twidth: \"1px\",\n\ttop: 0,\n\tleft: 0\n};\nconst FocusGuard = /*#__PURE__*/ React$1.forwardRef(function FocusGuard(props, ref) {\n\tconst [role, setRole] = React$1.useState();\n\tindex$1(() => {\n\t\tif (isSafari()) setRole(\"button\");\n\t}, []);\n\tconst restProps = {\n\t\tref,\n\t\ttabIndex: 0,\n\t\trole,\n\t\t\"aria-hidden\": role ? void 0 : true,\n\t\t[createAttribute(\"focus-guard\")]: \"\",\n\t\tstyle: HIDDEN_STYLES\n\t};\n\treturn /*#__PURE__*/ jsx(\"span\", {\n\t\t...props,\n\t\t...restProps\n\t});\n});\nconst PortalContext = /*#__PURE__*/ React$1.createContext(null);\nconst attr = /*#__PURE__*/ createAttribute(\"portal\");\n/**\n* @see https://floating-ui.com/docs/FloatingPortal#usefloatingportalnode\n*/\nfunction useFloatingPortalNode(props) {\n\tif (props === void 0) props = {};\n\tconst { id, root } = props;\n\tconst uniqueId = useId$1();\n\tconst portalContext = usePortalContext();\n\tconst [portalNode, setPortalNode] = React$1.useState(null);\n\tconst portalNodeRef = React$1.useRef(null);\n\tindex$1(() => {\n\t\treturn () => {\n\t\t\tportalNode?.remove();\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tportalNodeRef.current = null;\n\t\t\t});\n\t\t};\n\t}, [portalNode]);\n\tindex$1(() => {\n\t\tif (!uniqueId) return;\n\t\tif (portalNodeRef.current) return;\n\t\tconst existingIdRoot = id ? document.getElementById(id) : null;\n\t\tif (!existingIdRoot) return;\n\t\tconst subRoot = document.createElement(\"div\");\n\t\tsubRoot.id = uniqueId;\n\t\tsubRoot.setAttribute(attr, \"\");\n\t\texistingIdRoot.appendChild(subRoot);\n\t\tportalNodeRef.current = subRoot;\n\t\tsetPortalNode(subRoot);\n\t}, [id, uniqueId]);\n\tindex$1(() => {\n\t\tif (root === null) return;\n\t\tif (!uniqueId) return;\n\t\tif (portalNodeRef.current) return;\n\t\tlet container = root || (portalContext == null ? void 0 : portalContext.portalNode);\n\t\tif (container && !isElement(container)) container = container.current;\n\t\tcontainer = container || document.body;\n\t\tlet idWrapper = null;\n\t\tif (id) {\n\t\t\tidWrapper = document.createElement(\"div\");\n\t\t\tidWrapper.id = id;\n\t\t\tcontainer.appendChild(idWrapper);\n\t\t}\n\t\tconst subRoot = document.createElement(\"div\");\n\t\tsubRoot.id = uniqueId;\n\t\tsubRoot.setAttribute(attr, \"\");\n\t\tcontainer = idWrapper || container;\n\t\tcontainer.appendChild(subRoot);\n\t\tportalNodeRef.current = subRoot;\n\t\tsetPortalNode(subRoot);\n\t}, [\n\t\tid,\n\t\troot,\n\t\tuniqueId,\n\t\tportalContext\n\t]);\n\treturn portalNode;\n}\n/**\n* Portals the floating element into a given container element — by default,\n* outside of the app root and into the body.\n* This is necessary to ensure the floating element can appear outside any\n* potential parent containers that cause clipping (such as `overflow: hidden`),\n* while retaining its location in the React tree.\n* @see https://floating-ui.com/docs/FloatingPortal\n*/\nfunction FloatingPortal(props) {\n\tconst { children, id, root, preserveTabOrder = true } = props;\n\tconst portalNode = useFloatingPortalNode({\n\t\tid,\n\t\troot\n\t});\n\tconst [focusManagerState, setFocusManagerState] = React$1.useState(null);\n\tconst beforeOutsideRef = React$1.useRef(null);\n\tconst afterOutsideRef = React$1.useRef(null);\n\tconst beforeInsideRef = React$1.useRef(null);\n\tconst afterInsideRef = React$1.useRef(null);\n\tconst modal = focusManagerState == null ? void 0 : focusManagerState.modal;\n\tconst open = focusManagerState == null ? void 0 : focusManagerState.open;\n\tconst shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && preserveTabOrder && !!(root || portalNode);\n\tReact$1.useEffect(() => {\n\t\tif (!portalNode || !preserveTabOrder || modal) return;\n\t\tfunction onFocus(event) {\n\t\t\tif (portalNode && isOutsideEvent(event)) (event.type === \"focusin\" ? enableFocusInside : disableFocusInside)(portalNode);\n\t\t}\n\t\tportalNode.addEventListener(\"focusin\", onFocus, true);\n\t\tportalNode.addEventListener(\"focusout\", onFocus, true);\n\t\treturn () => {\n\t\t\tportalNode.removeEventListener(\"focusin\", onFocus, true);\n\t\t\tportalNode.removeEventListener(\"focusout\", onFocus, true);\n\t\t};\n\t}, [\n\t\tportalNode,\n\t\tpreserveTabOrder,\n\t\tmodal\n\t]);\n\tReact$1.useEffect(() => {\n\t\tif (!portalNode) return;\n\t\tif (open) return;\n\t\tenableFocusInside(portalNode);\n\t}, [open, portalNode]);\n\treturn /*#__PURE__*/ jsxs(PortalContext.Provider, {\n\t\tvalue: React$1.useMemo(() => ({\n\t\t\tpreserveTabOrder,\n\t\t\tbeforeOutsideRef,\n\t\t\tafterOutsideRef,\n\t\t\tbeforeInsideRef,\n\t\t\tafterInsideRef,\n\t\t\tportalNode,\n\t\t\tsetFocusManagerState\n\t\t}), [preserveTabOrder, portalNode]),\n\t\tchildren: [\n\t\t\tshouldRenderGuards && portalNode && /*#__PURE__*/ jsx(FocusGuard, {\n\t\t\t\t\"data-type\": \"outside\",\n\t\t\t\tref: beforeOutsideRef,\n\t\t\t\tonFocus: (event) => {\n\t\t\t\t\tif (isOutsideEvent(event, portalNode)) {\n\t\t\t\t\t\tvar _beforeInsideRef$curr;\n\t\t\t\t\t\t(_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();\n\t\t\t\t\t} else getPreviousTabbable(focusManagerState ? focusManagerState.domReference : null)?.focus();\n\t\t\t\t}\n\t\t\t}),\n\t\t\tshouldRenderGuards && portalNode && /*#__PURE__*/ jsx(\"span\", {\n\t\t\t\t\"aria-owns\": portalNode.id,\n\t\t\t\tstyle: HIDDEN_STYLES\n\t\t\t}),\n\t\t\tportalNode && /*#__PURE__*/ ReactDOM.createPortal(children, portalNode),\n\t\t\tshouldRenderGuards && portalNode && /*#__PURE__*/ jsx(FocusGuard, {\n\t\t\t\t\"data-type\": \"outside\",\n\t\t\t\tref: afterOutsideRef,\n\t\t\t\tonFocus: (event) => {\n\t\t\t\t\tif (isOutsideEvent(event, portalNode)) {\n\t\t\t\t\t\tvar _afterInsideRef$curre;\n\t\t\t\t\t\t(_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgetNextTabbable(focusManagerState ? focusManagerState.domReference : null)?.focus();\n\t\t\t\t\t\tfocusManagerState != null && focusManagerState.closeOnFocusOut && focusManagerState?.onOpenChange(false, event.nativeEvent, \"focus-out\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t]\n\t});\n}\nconst usePortalContext = () => React$1.useContext(PortalContext);\nfunction useLiteMergeRefs(refs) {\n\treturn React$1.useMemo(() => {\n\t\treturn (value) => {\n\t\t\trefs.forEach((ref) => {\n\t\t\t\tif (ref) ref.current = value;\n\t\t\t});\n\t\t};\n\t}, refs);\n}\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction addPreviouslyFocusedElement(element) {\n\tpreviouslyFocusedElements = previouslyFocusedElements.filter((el) => el.isConnected);\n\tif (element && getNodeName(element) !== \"body\") {\n\t\tpreviouslyFocusedElements.push(element);\n\t\tif (previouslyFocusedElements.length > LIST_LIMIT) previouslyFocusedElements = previouslyFocusedElements.slice(-20);\n\t}\n}\nfunction getPreviouslyFocusedElement() {\n\treturn previouslyFocusedElements.slice().reverse().find((el) => el.isConnected);\n}\nfunction getFirstTabbableElement(container) {\n\tconst tabbableOptions = getTabbableOptions();\n\tif (isTabbable(container, tabbableOptions)) return container;\n\treturn tabbable(container, tabbableOptions)[0] || container;\n}\nfunction handleTabIndex(floatingFocusElement, orderRef) {\n\tvar _floatingFocusElement;\n\tif (!orderRef.current.includes(\"floating\") && !((_floatingFocusElement = floatingFocusElement.getAttribute(\"role\")) != null && _floatingFocusElement.includes(\"dialog\"))) return;\n\tconst options = getTabbableOptions();\n\tconst tabbableContent = focusable(floatingFocusElement, options).filter((element) => {\n\t\tconst dataTabIndex = element.getAttribute(\"data-tabindex\") || \"\";\n\t\treturn isTabbable(element, options) || element.hasAttribute(\"data-tabindex\") && !dataTabIndex.startsWith(\"-\");\n\t});\n\tconst tabIndex = floatingFocusElement.getAttribute(\"tabindex\");\n\tif (orderRef.current.includes(\"floating\") || tabbableContent.length === 0) {\n\t\tif (tabIndex !== \"0\") floatingFocusElement.setAttribute(\"tabindex\", \"0\");\n\t} else if (tabIndex !== \"-1\" || floatingFocusElement.hasAttribute(\"data-tabindex\") && floatingFocusElement.getAttribute(\"data-tabindex\") !== \"-1\") {\n\t\tfloatingFocusElement.setAttribute(\"tabindex\", \"-1\");\n\t\tfloatingFocusElement.setAttribute(\"data-tabindex\", \"-1\");\n\t}\n}\nconst VisuallyHiddenDismiss = /*#__PURE__*/ React$1.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n\treturn /*#__PURE__*/ jsx(\"button\", {\n\t\t...props,\n\t\ttype: \"button\",\n\t\tref,\n\t\ttabIndex: -1,\n\t\tstyle: HIDDEN_STYLES\n\t});\n});\n/**\n* Provides focus management for the floating element.\n* @see https://floating-ui.com/docs/FloatingFocusManager\n*/\nfunction FloatingFocusManager(props) {\n\tconst { context, children, disabled = false, order = [\"content\"], guards: _guards = true, initialFocus = 0, returnFocus = true, restoreFocus = false, modal = true, visuallyHiddenDismiss = false, closeOnFocusOut = true, outsideElementsInert = false, getInsideElements: _getInsideElements = () => [] } = props;\n\tconst { open, onOpenChange, events, dataRef, elements: { domReference, floating } } = context;\n\tconst getNodeId = useEffectEvent(() => {\n\t\tvar _dataRef$current$floa;\n\t\treturn (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n\t});\n\tconst getInsideElements = useEffectEvent(_getInsideElements);\n\tconst ignoreInitialFocus = typeof initialFocus === \"number\" && initialFocus < 0;\n\tconst isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n\tconst inertSupported = supportsInert();\n\tconst guards = inertSupported ? _guards : true;\n\tconst useInert = !guards || inertSupported && outsideElementsInert;\n\tconst orderRef = useLatestRef$1(order);\n\tconst initialFocusRef = useLatestRef$1(initialFocus);\n\tconst returnFocusRef = useLatestRef$1(returnFocus);\n\tconst tree = useFloatingTree();\n\tconst portalContext = usePortalContext();\n\tconst startDismissButtonRef = React$1.useRef(null);\n\tconst endDismissButtonRef = React$1.useRef(null);\n\tconst preventReturnFocusRef = React$1.useRef(false);\n\tconst isPointerDownRef = React$1.useRef(false);\n\tconst tabbableIndexRef = React$1.useRef(-1);\n\tconst isInsidePortal = portalContext != null;\n\tconst floatingFocusElement = getFloatingFocusElement(floating);\n\tconst getTabbableContent = useEffectEvent(function(container) {\n\t\tif (container === void 0) container = floatingFocusElement;\n\t\treturn container ? tabbable(container, getTabbableOptions()) : [];\n\t});\n\tconst getTabbableElements = useEffectEvent((container) => {\n\t\tconst content = getTabbableContent(container);\n\t\treturn orderRef.current.map((type) => {\n\t\t\tif (domReference && type === \"reference\") return domReference;\n\t\t\tif (floatingFocusElement && type === \"floating\") return floatingFocusElement;\n\t\t\treturn content;\n\t\t}).filter(Boolean).flat();\n\t});\n\tReact$1.useEffect(() => {\n\t\tif (disabled) return;\n\t\tif (!modal) return;\n\t\tfunction onKeyDown(event) {\n\t\t\tif (event.key === \"Tab\") {\n\t\t\t\tif (contains$1(floatingFocusElement, activeElement(getDocument$1(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) stopEvent(event);\n\t\t\t\tconst els = getTabbableElements();\n\t\t\t\tconst target = getTarget$1(event);\n\t\t\t\tif (orderRef.current[0] === \"reference\" && target === domReference) {\n\t\t\t\t\tstopEvent(event);\n\t\t\t\t\tif (event.shiftKey) enqueueFocus(els[els.length - 1]);\n\t\t\t\t\telse enqueueFocus(els[1]);\n\t\t\t\t}\n\t\t\t\tif (orderRef.current[1] === \"floating\" && target === floatingFocusElement && event.shiftKey) {\n\t\t\t\t\tstopEvent(event);\n\t\t\t\t\tenqueueFocus(els[0]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst doc = getDocument$1(floatingFocusElement);\n\t\tdoc.addEventListener(\"keydown\", onKeyDown);\n\t\treturn () => {\n\t\t\tdoc.removeEventListener(\"keydown\", onKeyDown);\n\t\t};\n\t}, [\n\t\tdisabled,\n\t\tdomReference,\n\t\tfloatingFocusElement,\n\t\tmodal,\n\t\torderRef,\n\t\tisUntrappedTypeableCombobox,\n\t\tgetTabbableContent,\n\t\tgetTabbableElements\n\t]);\n\tReact$1.useEffect(() => {\n\t\tif (disabled) return;\n\t\tif (!floating) return;\n\t\tfunction handleFocusIn(event) {\n\t\t\tconst target = getTarget$1(event);\n\t\t\tconst tabbableIndex = getTabbableContent().indexOf(target);\n\t\t\tif (tabbableIndex !== -1) tabbableIndexRef.current = tabbableIndex;\n\t\t}\n\t\tfloating.addEventListener(\"focusin\", handleFocusIn);\n\t\treturn () => {\n\t\t\tfloating.removeEventListener(\"focusin\", handleFocusIn);\n\t\t};\n\t}, [\n\t\tdisabled,\n\t\tfloating,\n\t\tgetTabbableContent\n\t]);\n\tReact$1.useEffect(() => {\n\t\tif (disabled) return;\n\t\tif (!closeOnFocusOut) return;\n\t\tfunction handlePointerDown() {\n\t\t\tisPointerDownRef.current = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tisPointerDownRef.current = false;\n\t\t\t});\n\t\t}\n\t\tfunction handleFocusOutside(event) {\n\t\t\tconst relatedTarget = event.relatedTarget;\n\t\t\tconst currentTarget = event.currentTarget;\n\t\t\tconst target = getTarget$1(event);\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tconst nodeId = getNodeId();\n\t\t\t\tconst movedToUnrelatedNode = !(contains$1(domReference, relatedTarget) || contains$1(floating, relatedTarget) || contains$1(relatedTarget, floating) || contains$1(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute(\"focus-guard\")) || tree && (getNodeChildren$1(tree.nodesRef.current, nodeId).find((node) => {\n\t\t\t\t\tvar _node$context, _node$context2;\n\t\t\t\t\treturn contains$1((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains$1((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n\t\t\t\t}) || getNodeAncestors(tree.nodesRef.current, nodeId).find((node) => {\n\t\t\t\t\tvar _node$context3, _node$context4, _node$context5;\n\t\t\t\t\treturn [(_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating, getFloatingFocusElement((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.floating)].includes(relatedTarget) || ((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.domReference) === relatedTarget;\n\t\t\t\t})));\n\t\t\t\tif (currentTarget === domReference && floatingFocusElement) handleTabIndex(floatingFocusElement, orderRef);\n\t\t\t\tif (restoreFocus && currentTarget !== domReference && !(target != null && target.isConnected) && activeElement(getDocument$1(floatingFocusElement)) === getDocument$1(floatingFocusElement).body) {\n\t\t\t\t\tif (isHTMLElement(floatingFocusElement)) floatingFocusElement.focus();\n\t\t\t\t\tconst prevTabbableIndex = tabbableIndexRef.current;\n\t\t\t\t\tconst tabbableContent = getTabbableContent();\n\t\t\t\t\tconst nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n\t\t\t\t\tif (isHTMLElement(nodeToFocus)) nodeToFocus.focus();\n\t\t\t\t}\n\t\t\t\tif (dataRef.current.insideReactTree) {\n\t\t\t\t\tdataRef.current.insideReactTree = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && relatedTarget !== getPreviouslyFocusedElement()) {\n\t\t\t\t\tpreventReturnFocusRef.current = true;\n\t\t\t\t\tonOpenChange(false, event, \"focus-out\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (floating && isHTMLElement(domReference)) {\n\t\t\tdomReference.addEventListener(\"focusout\", handleFocusOutside);\n\t\t\tdomReference.addEventListener(\"pointerdown\", handlePointerDown);\n\t\t\tfloating.addEventListener(\"focusout\", handleFocusOutside);\n\t\t\treturn () => {\n\t\t\t\tdomReference.removeEventListener(\"focusout\", handleFocusOutside);\n\t\t\t\tdomReference.removeEventListener(\"pointerdown\", handlePointerDown);\n\t\t\t\tfloating.removeEventListener(\"focusout\", handleFocusOutside);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tdisabled,\n\t\tdomReference,\n\t\tfloating,\n\t\tfloatingFocusElement,\n\t\tmodal,\n\t\ttree,\n\t\tportalContext,\n\t\tonOpenChange,\n\t\tcloseOnFocusOut,\n\t\trestoreFocus,\n\t\tgetTabbableContent,\n\t\tisUntrappedTypeableCombobox,\n\t\tgetNodeId,\n\t\torderRef,\n\t\tdataRef\n\t]);\n\tconst beforeGuardRef = React$1.useRef(null);\n\tconst afterGuardRef = React$1.useRef(null);\n\tconst mergedBeforeGuardRef = useLiteMergeRefs([beforeGuardRef, portalContext == null ? void 0 : portalContext.beforeInsideRef]);\n\tconst mergedAfterGuardRef = useLiteMergeRefs([afterGuardRef, portalContext == null ? void 0 : portalContext.afterInsideRef]);\n\tReact$1.useEffect(() => {\n\t\tvar _portalContext$portal, _ancestors$find;\n\t\tif (disabled) return;\n\t\tif (!floating) return;\n\t\tconst portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll(\"[\" + createAttribute(\"portal\") + \"]\")) || []);\n\t\tconst ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];\n\t\tconst ancestorFloatingNodes = tree && !modal ? ancestors.map((node) => {\n\t\t\tvar _node$context6;\n\t\t\treturn (_node$context6 = node.context) == null ? void 0 : _node$context6.elements.floating;\n\t\t}) : [];\n\t\tconst insideElements = [\n\t\t\tfloating,\n\t\t\t(_ancestors$find = ancestors.find((node) => {\n\t\t\t\tvar _node$context7;\n\t\t\t\treturn isTypeableCombobox(((_node$context7 = node.context) == null ? void 0 : _node$context7.elements.domReference) || null);\n\t\t\t})) == null || (_ancestors$find = _ancestors$find.context) == null ? void 0 : _ancestors$find.elements.domReference,\n\t\t\t...portalNodes,\n\t\t\t...ancestorFloatingNodes,\n\t\t\t...getInsideElements(),\n\t\t\tstartDismissButtonRef.current,\n\t\t\tendDismissButtonRef.current,\n\t\t\tbeforeGuardRef.current,\n\t\t\tafterGuardRef.current,\n\t\t\tportalContext == null ? void 0 : portalContext.beforeOutsideRef.current,\n\t\t\tportalContext == null ? void 0 : portalContext.afterOutsideRef.current,\n\t\t\torderRef.current.includes(\"reference\") || isUntrappedTypeableCombobox ? domReference : null\n\t\t].filter((x) => x != null);\n\t\tconst cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, !useInert, useInert) : markOthers(insideElements);\n\t\treturn () => {\n\t\t\tcleanup();\n\t\t};\n\t}, [\n\t\tdisabled,\n\t\tdomReference,\n\t\tfloating,\n\t\tmodal,\n\t\torderRef,\n\t\tportalContext,\n\t\tisUntrappedTypeableCombobox,\n\t\tguards,\n\t\tuseInert,\n\t\ttree,\n\t\tgetNodeId,\n\t\tgetInsideElements\n\t]);\n\tindex$1(() => {\n\t\tif (disabled || !isHTMLElement(floatingFocusElement)) return;\n\t\tconst previouslyFocusedElement = activeElement(getDocument$1(floatingFocusElement));\n\t\tqueueMicrotask(() => {\n\t\t\tconst focusableElements = getTabbableElements(floatingFocusElement);\n\t\t\tconst initialFocusValue = initialFocusRef.current;\n\t\t\tconst elToFocus = (typeof initialFocusValue === \"number\" ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;\n\t\t\tconst focusAlreadyInsideFloatingEl = contains$1(floatingFocusElement, previouslyFocusedElement);\n\t\t\tif (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) enqueueFocus(elToFocus, { preventScroll: elToFocus === floatingFocusElement });\n\t\t});\n\t}, [\n\t\tdisabled,\n\t\topen,\n\t\tfloatingFocusElement,\n\t\tignoreInitialFocus,\n\t\tgetTabbableElements,\n\t\tinitialFocusRef\n\t]);\n\tindex$1(() => {\n\t\tif (disabled || !floatingFocusElement) return;\n\t\tconst doc = getDocument$1(floatingFocusElement);\n\t\taddPreviouslyFocusedElement(activeElement(doc));\n\t\tfunction onOpenChange(_ref) {\n\t\t\tlet { reason, event, nested } = _ref;\n\t\t\tif ([\"hover\", \"safe-polygon\"].includes(reason) && event.type === \"mouseleave\") preventReturnFocusRef.current = true;\n\t\t\tif (reason !== \"outside-press\") return;\n\t\t\tif (nested) preventReturnFocusRef.current = false;\n\t\t\telse if (isVirtualClick(event) || isVirtualPointerEvent(event)) preventReturnFocusRef.current = false;\n\t\t\telse {\n\t\t\t\tlet isPreventScrollSupported = false;\n\t\t\t\tdocument.createElement(\"div\").focus({ get preventScroll() {\n\t\t\t\t\tisPreventScrollSupported = true;\n\t\t\t\t\treturn false;\n\t\t\t\t} });\n\t\t\t\tif (isPreventScrollSupported) preventReturnFocusRef.current = false;\n\t\t\t\telse preventReturnFocusRef.current = true;\n\t\t\t}\n\t\t}\n\t\tevents.on(\"openchange\", onOpenChange);\n\t\tconst fallbackEl = doc.createElement(\"span\");\n\t\tfallbackEl.setAttribute(\"tabindex\", \"-1\");\n\t\tfallbackEl.setAttribute(\"aria-hidden\", \"true\");\n\t\tObject.assign(fallbackEl.style, HIDDEN_STYLES);\n\t\tif (isInsidePortal && domReference) domReference.insertAdjacentElement(\"afterend\", fallbackEl);\n\t\tfunction getReturnElement() {\n\t\t\tif (typeof returnFocusRef.current === \"boolean\") {\n\t\t\t\tconst el = domReference || getPreviouslyFocusedElement();\n\t\t\t\treturn el && el.isConnected ? el : fallbackEl;\n\t\t\t}\n\t\t\treturn returnFocusRef.current.current || fallbackEl;\n\t\t}\n\t\treturn () => {\n\t\t\tevents.off(\"openchange\", onOpenChange);\n\t\t\tconst activeEl = activeElement(doc);\n\t\t\tconst isFocusInsideFloatingTree = contains$1(floating, activeEl) || tree && getNodeChildren$1(tree.nodesRef.current, getNodeId()).some((node) => {\n\t\t\t\tvar _node$context8;\n\t\t\t\treturn contains$1((_node$context8 = node.context) == null ? void 0 : _node$context8.elements.floating, activeEl);\n\t\t\t});\n\t\t\tconst returnElement = getReturnElement();\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tconst tabbableReturnElement = getFirstTabbableElement(returnElement);\n\t\t\t\tif (returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) tabbableReturnElement.focus({ preventScroll: true });\n\t\t\t\tfallbackEl.remove();\n\t\t\t});\n\t\t};\n\t}, [\n\t\tdisabled,\n\t\tfloating,\n\t\tfloatingFocusElement,\n\t\treturnFocusRef,\n\t\tdataRef,\n\t\tevents,\n\t\ttree,\n\t\tisInsidePortal,\n\t\tdomReference,\n\t\tgetNodeId\n\t]);\n\tReact$1.useEffect(() => {\n\t\tqueueMicrotask(() => {\n\t\t\tpreventReturnFocusRef.current = false;\n\t\t});\n\t}, [disabled]);\n\tindex$1(() => {\n\t\tif (disabled) return;\n\t\tif (!portalContext) return;\n\t\tportalContext.setFocusManagerState({\n\t\t\tmodal,\n\t\t\tcloseOnFocusOut,\n\t\t\topen,\n\t\t\tonOpenChange,\n\t\t\tdomReference\n\t\t});\n\t\treturn () => {\n\t\t\tportalContext.setFocusManagerState(null);\n\t\t};\n\t}, [\n\t\tdisabled,\n\t\tportalContext,\n\t\tmodal,\n\t\topen,\n\t\tonOpenChange,\n\t\tcloseOnFocusOut,\n\t\tdomReference\n\t]);\n\tindex$1(() => {\n\t\tif (disabled) return;\n\t\tif (!floatingFocusElement) return;\n\t\thandleTabIndex(floatingFocusElement, orderRef);\n\t}, [\n\t\tdisabled,\n\t\tfloatingFocusElement,\n\t\torderRef\n\t]);\n\tfunction renderDismissButton(location) {\n\t\tif (disabled || !visuallyHiddenDismiss || !modal) return null;\n\t\treturn /*#__PURE__*/ jsx(VisuallyHiddenDismiss, {\n\t\t\tref: location === \"start\" ? startDismissButtonRef : endDismissButtonRef,\n\t\t\tonClick: (event) => onOpenChange(false, event.nativeEvent),\n\t\t\tchildren: typeof visuallyHiddenDismiss === \"string\" ? visuallyHiddenDismiss : \"Dismiss\"\n\t\t});\n\t}\n\tconst shouldRenderGuards = !disabled && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n\treturn /*#__PURE__*/ jsxs(Fragment, { children: [\n\t\tshouldRenderGuards && /*#__PURE__*/ jsx(FocusGuard, {\n\t\t\t\"data-type\": \"inside\",\n\t\t\tref: mergedBeforeGuardRef,\n\t\t\tonFocus: (event) => {\n\t\t\t\tif (modal) {\n\t\t\t\t\tconst els = getTabbableElements();\n\t\t\t\t\tenqueueFocus(order[0] === \"reference\" ? els[0] : els[els.length - 1]);\n\t\t\t\t} else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n\t\t\t\t\tpreventReturnFocusRef.current = false;\n\t\t\t\t\tif (isOutsideEvent(event, portalContext.portalNode)) getNextTabbable(domReference)?.focus();\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar _portalContext$before;\n\t\t\t\t\t\t(_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}),\n\t\t!isUntrappedTypeableCombobox && renderDismissButton(\"start\"),\n\t\tchildren,\n\t\trenderDismissButton(\"end\"),\n\t\tshouldRenderGuards && /*#__PURE__*/ jsx(FocusGuard, {\n\t\t\t\"data-type\": \"inside\",\n\t\t\tref: mergedAfterGuardRef,\n\t\t\tonFocus: (event) => {\n\t\t\t\tif (modal) enqueueFocus(getTabbableElements()[0]);\n\t\t\t\telse if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n\t\t\t\t\tif (closeOnFocusOut) preventReturnFocusRef.current = true;\n\t\t\t\t\tif (isOutsideEvent(event, portalContext.portalNode)) getPreviousTabbable(domReference)?.focus();\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar _portalContext$afterO;\n\t\t\t\t\t\t(_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t] });\n}\nlet lockCount = 0;\nconst scrollbarProperty = \"--floating-ui-scrollbar-width\";\nfunction enableScrollLock() {\n\tconst platform = getPlatform();\n\tconst isIOS = /iP(hone|ad|od)|iOS/.test(platform) || platform === \"MacIntel\" && navigator.maxTouchPoints > 1;\n\tconst bodyStyle = document.body.style;\n\tconst paddingProp = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft ? \"paddingLeft\" : \"paddingRight\";\n\tconst scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\tconst scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.scrollX;\n\tconst scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.scrollY;\n\tbodyStyle.overflow = \"hidden\";\n\tbodyStyle.setProperty(scrollbarProperty, scrollbarWidth + \"px\");\n\tif (scrollbarWidth) bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n\tif (isIOS) {\n\t\tvar _window$visualViewpor, _window$visualViewpor2;\n\t\tconst offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n\t\tconst offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n\t\tObject.assign(bodyStyle, {\n\t\t\tposition: \"fixed\",\n\t\t\ttop: -(scrollY - Math.floor(offsetTop)) + \"px\",\n\t\t\tleft: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n\t\t\tright: \"0\"\n\t\t});\n\t}\n\treturn () => {\n\t\tObject.assign(bodyStyle, {\n\t\t\toverflow: \"\",\n\t\t\t[paddingProp]: \"\"\n\t\t});\n\t\tbodyStyle.removeProperty(scrollbarProperty);\n\t\tif (isIOS) {\n\t\t\tObject.assign(bodyStyle, {\n\t\t\t\tposition: \"\",\n\t\t\t\ttop: \"\",\n\t\t\t\tleft: \"\",\n\t\t\t\tright: \"\"\n\t\t\t});\n\t\t\twindow.scrollTo(scrollX, scrollY);\n\t\t}\n\t};\n}\nlet cleanup = () => {};\n/**\n* Provides base styling for a fixed overlay element to dim content or block\n* pointer events behind a floating element.\n* It's a regular `<div>`, so it can be styled via any CSS solution you prefer.\n* @see https://floating-ui.com/docs/FloatingOverlay\n*/\nconst FloatingOverlay = /*#__PURE__*/ React$1.forwardRef(function FloatingOverlay(props, ref) {\n\tconst { lockScroll = false, ...rest } = props;\n\tindex$1(() => {\n\t\tif (!lockScroll) return;\n\t\tlockCount++;\n\t\tif (lockCount === 1) cleanup = enableScrollLock();\n\t\treturn () => {\n\t\t\tlockCount--;\n\t\t\tif (lockCount === 0) cleanup();\n\t\t};\n\t}, [lockScroll]);\n\treturn /*#__PURE__*/ jsx(\"div\", {\n\t\tref,\n\t\t...rest,\n\t\tstyle: {\n\t\t\tposition: \"fixed\",\n\t\t\toverflow: \"auto\",\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0,\n\t\t\t...rest.style\n\t\t}\n\t});\n});\nfunction isButtonTarget(event) {\n\treturn isHTMLElement(event.target) && event.target.tagName === \"BUTTON\";\n}\nfunction isAnchorTarget(event) {\n\treturn isHTMLElement(event.target) && event.target.tagName === \"A\";\n}\nfunction isSpaceIgnored(element) {\n\treturn isTypeableElement(element);\n}\n/**\n* Opens or closes the floating element when clicking the reference element.\n* @see https://floating-ui.com/docs/useClick\n*/\nfunction useClick(context, props) {\n\tif (props === void 0) props = {};\n\tconst { open, onOpenChange, dataRef, elements: { domReference } } = context;\n\tconst { enabled = true, event: eventOption = \"click\", toggle = true, ignoreMouse = false, keyboardHandlers = true, stickIfOpen = true } = props;\n\tconst pointerTypeRef = React$1.useRef();\n\tconst didKeyDownRef = React$1.useRef(false);\n\tconst reference = React$1.useMemo(() => ({\n\t\tonPointerDown(event) {\n\t\t\tpointerTypeRef.current = event.pointerType;\n\t\t},\n\t\tonMouseDown(event) {\n\t\t\tconst pointerType = pointerTypeRef.current;\n\t\t\tif (event.button !== 0) return;\n\t\t\tif (eventOption === \"click\") return;\n\t\t\tif (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n\t\t\tif (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === \"mousedown\" : true)) onOpenChange(false, event.nativeEvent, \"click\");\n\t\t\telse {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonOpenChange(true, event.nativeEvent, \"click\");\n\t\t\t}\n\t\t},\n\t\tonClick(event) {\n\t\t\tconst pointerType = pointerTypeRef.current;\n\t\t\tif (eventOption === \"mousedown\" && pointerTypeRef.current) {\n\t\t\t\tpointerTypeRef.current = void 0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n\t\t\tif (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === \"click\" : true)) onOpenChange(false, event.nativeEvent, \"click\");\n\t\t\telse onOpenChange(true, event.nativeEvent, \"click\");\n\t\t},\n\t\tonKeyDown(event) {\n\t\t\tpointerTypeRef.current = void 0;\n\t\t\tif (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) return;\n\t\t\tif (event.key === \" \" && !isSpaceIgnored(domReference)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tdidKeyDownRef.current = true;\n\t\t\t}\n\t\t\tif (isAnchorTarget(event)) return;\n\t\t\tif (event.key === \"Enter\") if (open && toggle) onOpenChange(false, event.nativeEvent, \"click\");\n\t\t\telse onOpenChange(true, event.nativeEvent, \"click\");\n\t\t},\n\t\tonKeyUp(event) {\n\t\t\tif (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) return;\n\t\t\tif (event.key === \" \" && didKeyDownRef.current) {\n\t\t\t\tdidKeyDownRef.current = false;\n\t\t\t\tif (open && toggle) onOpenChange(false, event.nativeEvent, \"click\");\n\t\t\t\telse onOpenChange(true, event.nativeEvent, \"click\");\n\t\t\t}\n\t\t}\n\t}), [\n\t\tdataRef,\n\t\tdomReference,\n\t\teventOption,\n\t\tignoreMouse,\n\t\tkeyboardHandlers,\n\t\tonOpenChange,\n\t\topen,\n\t\tstickIfOpen,\n\t\ttoggle\n\t]);\n\treturn React$1.useMemo(() => enabled ? { reference } : {}, [enabled, reference]);\n}\nconst bubbleHandlerKeys = {\n\tpointerdown: \"onPointerDown\",\n\tmousedown: \"onMouseDown\",\n\tclick: \"onClick\"\n};\nconst captureHandlerKeys = {\n\tpointerdown: \"onPointerDownCapture\",\n\tmousedown: \"onMouseDownCapture\",\n\tclick: \"onClickCapture\"\n};\nconst normalizeProp = (normalizable) => {\n\tvar _normalizable$escapeK, _normalizable$outside;\n\treturn {\n\t\tescapeKey: typeof normalizable === \"boolean\" ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n\t\toutsidePress: typeof normalizable === \"boolean\" ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n\t};\n};\n/**\n* Closes the floating element when a dismissal is requested — by default, when\n* the user presses the `escape` key or outside of the floating element.\n* @see https://floating-ui.com/docs/useDismiss\n*/\nfunction useDismiss(context, props) {\n\tif (props === void 0) props = {};\n\tconst { open, onOpenChange, elements, dataRef } = context;\n\tconst { enabled = true, escapeKey = true, outsidePress: unstable_outsidePress = true, outsidePressEvent = \"pointerdown\", referencePress = false, referencePressEvent = \"pointerdown\", ancestorScroll = false, bubbles, capture } = props;\n\tconst tree = useFloatingTree();\n\tconst outsidePressFn = useEffectEvent(typeof unstable_outsidePress === \"function\" ? unstable_outsidePress : () => false);\n\tconst outsidePress = typeof unstable_outsidePress === \"function\" ? outsidePressFn : unstable_outsidePress;\n\tconst endedOrStartedInsideRef = React$1.useRef(false);\n\tconst { escapeKey: escapeKeyBubbles, outsidePress: outsidePressBubbles } = normalizeProp(bubbles);\n\tconst { escapeKey: escapeKeyCapture, outsidePress: outsidePressCapture } = normalizeProp(capture);\n\tconst isComposingRef = React$1.useRef(false);\n\tconst blurTimeoutRef = React$1.useRef(-1);\n\tconst closeOnEscapeKeyDown = useEffectEvent((event) => {\n\t\tvar _dataRef$current$floa;\n\t\tif (!open || !enabled || !escapeKey || event.key !== \"Escape\") return;\n\t\tif (isComposingRef.current) return;\n\t\tconst nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n\t\tconst children = tree ? getNodeChildren$1(tree.nodesRef.current, nodeId) : [];\n\t\tif (!escapeKeyBubbles) {\n\t\t\tevent.stopPropagation();\n\t\t\tif (children.length > 0) {\n\t\t\t\tlet shouldDismiss = true;\n\t\t\t\tchildren.forEach((child) => {\n\t\t\t\t\tvar _child$context;\n\t\t\t\t\tif ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n\t\t\t\t\t\tshouldDismiss = false;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (!shouldDismiss) return;\n\t\t\t}\n\t\t}\n\t\tonOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, \"escape-key\");\n\t});\n\tconst closeOnEscapeKeyDownCapture = useEffectEvent((event) => {\n\t\tvar _getTarget2;\n\t\tconst callback = () => {\n\t\t\tvar _getTarget;\n\t\t\tcloseOnEscapeKeyDown(event);\n\t\t\t(_getTarget = getTarget$1(event)) == null || _getTarget.removeEventListener(\"keydown\", callback);\n\t\t};\n\t\t(_getTarget2 = getTarget$1(event)) == null || _getTarget2.addEventListener(\"keydown\", callback);\n\t});\n\tconst closeOnPressOutside = useEffectEvent((event) => {\n\t\tvar _dataRef$current$floa2;\n\t\tconst insideReactTree = dataRef.current.insideReactTree;\n\t\tdataRef.current.insideReactTree = false;\n\t\tconst endedOrStartedInside = endedOrStartedInsideRef.current;\n\t\tendedOrStartedInsideRef.current = false;\n\t\tif (outsidePressEvent === \"click\" && endedOrStartedInside) return;\n\t\tif (insideReactTree) return;\n\t\tif (typeof outsidePress === \"function\" && !outsidePress(event)) return;\n\t\tconst target = getTarget$1(event);\n\t\tconst inertSelector = \"[\" + createAttribute(\"inert\") + \"]\";\n\t\tconst markers = getDocument$1(elements.floating).querySelectorAll(inertSelector);\n\t\tlet targetRootAncestor = isElement(target) ? target : null;\n\t\twhile (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n\t\t\tconst nextParent = getParentNode(targetRootAncestor);\n\t\t\tif (isLastTraversableNode(nextParent) || !isElement(nextParent)) break;\n\t\t\ttargetRootAncestor = nextParent;\n\t\t}\n\t\tif (markers.length && isElement(target) && !isRootElement(target) && !contains$1(target, elements.floating) && Array.from(markers).every((marker) => !contains$1(targetRootAncestor, marker))) return;\n\t\tif (isHTMLElement(target) && floating) {\n\t\t\tconst lastTraversableNode = isLastTraversableNode(target);\n\t\t\tconst style = getComputedStyle$1(target);\n\t\t\tconst scrollRe = /auto|scroll/;\n\t\t\tconst isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);\n\t\t\tconst isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);\n\t\t\tconst canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n\t\t\tconst canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n\t\t\tconst isRTL = style.direction === \"rtl\";\n\t\t\tconst pressedVerticalScrollbar = canScrollY && (isRTL ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);\n\t\t\tconst pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;\n\t\t\tif (pressedVerticalScrollbar || pressedHorizontalScrollbar) return;\n\t\t}\n\t\tconst nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;\n\t\tconst targetIsInsideChildren = tree && getNodeChildren$1(tree.nodesRef.current, nodeId).some((node) => {\n\t\t\tvar _node$context;\n\t\t\treturn isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n\t\t});\n\t\tif (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) return;\n\t\tconst children = tree ? getNodeChildren$1(tree.nodesRef.current, nodeId) : [];\n\t\tif (children.length > 0) {\n\t\t\tlet shouldDismiss = true;\n\t\t\tchildren.forEach((child) => {\n\t\t\t\tvar _child$context2;\n\t\t\t\tif ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n\t\t\t\t\tshouldDismiss = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!shouldDismiss) return;\n\t\t}\n\t\tonOpenChange(false, event, \"outside-press\");\n\t});\n\tconst closeOnPressOutsideCapture = useEffectEvent((event) => {\n\t\tvar _getTarget4;\n\t\tconst callback = () => {\n\t\t\tvar _getTarget3;\n\t\t\tcloseOnPressOutside(event);\n\t\t\t(_getTarget3 = getTarget$1(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n\t\t};\n\t\t(_getTarget4 = getTarget$1(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n\t});\n\tReact$1.useEffect(() => {\n\t\tif (!open || !enabled) return;\n\t\tdataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n\t\tdataRef.current.__outsidePressBubbles = outsidePressBubbles;\n\t\tlet compositionTimeout = -1;\n\t\tfunction onScroll(event) {\n\t\t\tonOpenChange(false, event, \"ancestor-scroll\");\n\t\t}\n\t\tfunction handleCompositionStart() {\n\t\t\twindow.clearTimeout(compositionTimeout);\n\t\t\tisComposingRef.current = true;\n\t\t}\n\t\tfunction handleCompositionEnd() {\n\t\t\tcompositionTimeout = window.setTimeout(() => {\n\t\t\t\tisComposingRef.current = false;\n\t\t\t}, isWebKit() ? 5 : 0);\n\t\t}\n\t\tconst doc = getDocument$1(elements.floating);\n\t\tif (escapeKey) {\n\t\t\tdoc.addEventListener(\"keydown\", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n\t\t\tdoc.addEventListener(\"compositionstart\", handleCompositionStart);\n\t\t\tdoc.addEventListener(\"compositionend\", handleCompositionEnd);\n\t\t}\n\t\toutsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n\t\tlet ancestors = [];\n\t\tif (ancestorScroll) {\n\t\t\tif (isElement(elements.domReference)) ancestors = getOverflowAncestors(elements.domReference);\n\t\t\tif (isElement(elements.floating)) ancestors = ancestors.concat(getOverflowAncestors(elements.floating));\n\t\t\tif (!isElement(elements.reference) && elements.reference && elements.reference.contextElement) ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));\n\t\t}\n\t\tancestors = ancestors.filter((ancestor) => {\n\t\t\tvar _doc$defaultView;\n\t\t\treturn ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n\t\t});\n\t\tancestors.forEach((ancestor) => {\n\t\t\tancestor.addEventListener(\"scroll\", onScroll, { passive: true });\n\t\t});\n\t\treturn () => {\n\t\t\tif (escapeKey) {\n\t\t\t\tdoc.removeEventListener(\"keydown\", escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n\t\t\t\tdoc.removeEventListener(\"compositionstart\", handleCompositionStart);\n\t\t\t\tdoc.removeEventListener(\"compositionend\", handleCompositionEnd);\n\t\t\t}\n\t\t\toutsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n\t\t\tancestors.forEach((ancestor) => {\n\t\t\t\tancestor.removeEventListener(\"scroll\", onScroll);\n\t\t\t});\n\t\t\twindow.clearTimeout(compositionTimeout);\n\t\t};\n\t}, [\n\t\tdataRef,\n\t\telements,\n\t\tescapeKey,\n\t\toutsidePress,\n\t\toutsidePressEvent,\n\t\topen,\n\t\tonOpenChange,\n\t\tancestorScroll,\n\t\tenabled,\n\t\tescapeKeyBubbles,\n\t\toutsidePressBubbles,\n\t\tcloseOnEscapeKeyDown,\n\t\tescapeKeyCapture,\n\t\tcloseOnEscapeKeyDownCapture,\n\t\tcloseOnPressOutside,\n\t\toutsidePressCapture,\n\t\tcloseOnPressOutsideCapture\n\t]);\n\tReact$1.useEffect(() => {\n\t\tdataRef.current.insideReactTree = false;\n\t}, [\n\t\tdataRef,\n\t\toutsidePress,\n\t\toutsidePressEvent\n\t]);\n\tconst reference = React$1.useMemo(() => ({\n\t\tonKeyDown: closeOnEscapeKeyDown,\n\t\t...referencePress && {\n\t\t\t[bubbleHandlerKeys[referencePressEvent]]: (event) => {\n\t\t\t\tonOpenChange(false, event.nativeEvent, \"reference-press\");\n\t\t\t},\n\t\t\t...referencePressEvent !== \"click\" && { onClick(event) {\n\t\t\t\tonOpenChange(false, event.nativeEvent, \"reference-press\");\n\t\t\t} }\n\t\t}\n\t}), [\n\t\tcloseOnEscapeKeyDown,\n\t\tonOpenChange,\n\t\treferencePress,\n\t\treferencePressEvent\n\t]);\n\tconst floating = React$1.useMemo(() => ({\n\t\tonKeyDown: closeOnEscapeKeyDown,\n\t\tonMouseDown() {\n\t\t\tendedOrStartedInsideRef.current = true;\n\t\t},\n\t\tonMouseUp() {\n\t\t\tendedOrStartedInsideRef.current = true;\n\t\t},\n\t\t[captureHandlerKeys[outsidePressEvent]]: () => {\n\t\t\tdataRef.current.insideReactTree = true;\n\t\t},\n\t\tonBlurCapture() {\n\t\t\tif (tree) return;\n\t\t\tclearTimeoutIfSet(blurTimeoutRef);\n\t\t\tdataRef.current.insideReactTree = true;\n\t\t\tblurTimeoutRef.current = window.setTimeout(() => {\n\t\t\t\tdataRef.current.insideReactTree = false;\n\t\t\t});\n\t\t}\n\t}), [\n\t\tcloseOnEscapeKeyDown,\n\t\toutsidePressEvent,\n\t\tdataRef,\n\t\ttree\n\t]);\n\treturn React$1.useMemo(() => enabled ? {\n\t\treference,\n\t\tfloating\n\t} : {}, [\n\t\tenabled,\n\t\treference,\n\t\tfloating\n\t]);\n}\nfunction useFloatingRootContext(options) {\n\tconst { open = false, onOpenChange: onOpenChangeProp, elements: elementsProp } = options;\n\tconst floatingId = useId$1();\n\tconst dataRef = React$1.useRef({});\n\tconst [events] = React$1.useState(() => createEventEmitter());\n\tconst nested = useFloatingParentNodeId() != null;\n\t{\n\t\tconst optionDomReference = elementsProp.reference;\n\t\tif (optionDomReference && !isElement(optionDomReference)) error(\"Cannot pass a virtual element to the `elements.reference` option,\", \"as it must be a real DOM element. Use `refs.setPositionReference()`\", \"instead.\");\n\t}\n\tconst [positionReference, setPositionReference] = React$1.useState(elementsProp.reference);\n\tconst onOpenChange = useEffectEvent((open, event, reason) => {\n\t\tdataRef.current.openEvent = open ? event : void 0;\n\t\tevents.emit(\"openchange\", {\n\t\t\topen,\n\t\t\tevent,\n\t\t\treason,\n\t\t\tnested\n\t\t});\n\t\tonOpenChangeProp?.(open, event, reason);\n\t});\n\tconst refs = React$1.useMemo(() => ({ setPositionReference }), []);\n\tconst elements = React$1.useMemo(() => ({\n\t\treference: positionReference || elementsProp.reference || null,\n\t\tfloating: elementsProp.floating || null,\n\t\tdomReference: elementsProp.reference\n\t}), [\n\t\tpositionReference,\n\t\telementsProp.reference,\n\t\telementsProp.floating\n\t]);\n\treturn React$1.useMemo(() => ({\n\t\tdataRef,\n\t\topen,\n\t\tonOpenChange,\n\t\telements,\n\t\tevents,\n\t\tfloatingId,\n\t\trefs\n\t}), [\n\t\topen,\n\t\tonOpenChange,\n\t\telements,\n\t\tevents,\n\t\tfloatingId,\n\t\trefs\n\t]);\n}\n/**\n* Provides data to position a floating element and context to add interactions.\n* @see https://floating-ui.com/docs/useFloating\n*/\nfunction useFloating(options) {\n\tif (options === void 0) options = {};\n\tconst { nodeId } = options;\n\tconst internalRootContext = useFloatingRootContext({\n\t\t...options,\n\t\telements: {\n\t\t\treference: null,\n\t\t\tfloating: null,\n\t\t\t...options.elements\n\t\t}\n\t});\n\tconst rootContext = options.rootContext || internalRootContext;\n\tconst computedElements = rootContext.elements;\n\tconst [_domReference, setDomReference] = React$1.useState(null);\n\tconst [positionReference, _setPositionReference] = React$1.useState(null);\n\tconst domReference = (computedElements == null ? void 0 : computedElements.domReference) || _domReference;\n\tconst domReferenceRef = React$1.useRef(null);\n\tconst tree = useFloatingTree();\n\tindex$1(() => {\n\t\tif (domReference) domReferenceRef.current = domReference;\n\t}, [domReference]);\n\tconst position = useFloating$1({\n\t\t...options,\n\t\telements: {\n\t\t\t...computedElements,\n\t\t\t...positionReference && { reference: positionReference }\n\t\t}\n\t});\n\tconst setPositionReference = React$1.useCallback((node) => {\n\t\tconst computedPositionReference = isElement(node) ? {\n\t\t\tgetBoundingClientRect: () => node.getBoundingClientRect(),\n\t\t\tgetClientRects: () => node.getClientRects(),\n\t\t\tcontextElement: node\n\t\t} : node;\n\t\t_setPositionReference(computedPositionReference);\n\t\tposition.refs.setReference(computedPositionReference);\n\t}, [position.refs]);\n\tconst setReference = React$1.useCallback((node) => {\n\t\tif (isElement(node) || node === null) {\n\t\t\tdomReferenceRef.current = node;\n\t\t\tsetDomReference(node);\n\t\t}\n\t\tif (isElement(position.refs.reference.current) || position.refs.reference.current === null || node !== null && !isElement(node)) position.refs.setReference(node);\n\t}, [position.refs]);\n\tconst refs = React$1.useMemo(() => ({\n\t\t...position.refs,\n\t\tsetReference,\n\t\tsetPositionReference,\n\t\tdomReference: domReferenceRef\n\t}), [\n\t\tposition.refs,\n\t\tsetReference,\n\t\tsetPositionReference\n\t]);\n\tconst elements = React$1.useMemo(() => ({\n\t\t...position.elements,\n\t\tdomReference\n\t}), [position.elements, domReference]);\n\tconst context = React$1.useMemo(() => ({\n\t\t...position,\n\t\t...rootContext,\n\t\trefs,\n\t\telements,\n\t\tnodeId\n\t}), [\n\t\tposition,\n\t\trefs,\n\t\telements,\n\t\tnodeId,\n\t\trootContext\n\t]);\n\tindex$1(() => {\n\t\trootContext.dataRef.current.floatingContext = context;\n\t\tconst node = tree == null ? void 0 : tree.nodesRef.current.find((node) => node.id === nodeId);\n\t\tif (node) node.context = context;\n\t});\n\treturn React$1.useMemo(() => ({\n\t\t...position,\n\t\tcontext,\n\t\trefs,\n\t\telements\n\t}), [\n\t\tposition,\n\t\trefs,\n\t\telements,\n\t\tcontext\n\t]);\n}\nfunction mergeProps$1(userProps, propsList, elementKey) {\n\tconst map = /* @__PURE__ */ new Map();\n\tconst isItem = elementKey === \"item\";\n\tlet domUserProps = userProps;\n\tif (isItem && userProps) {\n\t\tconst { [ACTIVE_KEY]: _, [SELECTED_KEY]: __, ...validProps } = userProps;\n\t\tdomUserProps = validProps;\n\t}\n\treturn {\n\t\t...elementKey === \"floating\" && {\n\t\t\ttabIndex: -1,\n\t\t\t[FOCUSABLE_ATTRIBUTE]: \"\"\n\t\t},\n\t\t...domUserProps,\n\t\t...propsList.map((value) => {\n\t\t\tconst propsOrGetProps = value ? value[elementKey] : null;\n\t\t\tif (typeof propsOrGetProps === \"function\") return userProps ? propsOrGetProps(userProps) : null;\n\t\t\treturn propsOrGetProps;\n\t\t}).concat(userProps).reduce((acc, props) => {\n\t\t\tif (!props) return acc;\n\t\t\tObject.entries(props).forEach((_ref) => {\n\t\t\t\tlet [key, value] = _ref;\n\t\t\t\tif (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) return;\n\t\t\t\tif (key.indexOf(\"on\") === 0) {\n\t\t\t\t\tif (!map.has(key)) map.set(key, []);\n\t\t\t\t\tif (typeof value === \"function\") {\n\t\t\t\t\t\tvar _map$get;\n\t\t\t\t\t\t(_map$get = map.get(key)) == null || _map$get.push(value);\n\t\t\t\t\t\tacc[key] = function() {\n\t\t\t\t\t\t\tvar _map$get2;\n\t\t\t\t\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\t\t\t\t\treturn (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map((fn) => fn(...args)).find((val) => val !== void 0);\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t} else acc[key] = value;\n\t\t\t});\n\t\t\treturn acc;\n\t\t}, {})\n\t};\n}\n/**\n* Merges an array of interaction hooks' props into prop getters, allowing\n* event handler functions to be composed together without overwriting one\n* another.\n* @see https://floating-ui.com/docs/useInteractions\n*/\nfunction useInteractions(propsList) {\n\tif (propsList === void 0) propsList = [];\n\tconst referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference);\n\tconst floatingDeps = propsList.map((key) => key == null ? void 0 : key.floating);\n\tconst itemDeps = propsList.map((key) => key == null ? void 0 : key.item);\n\tconst getReferenceProps = React$1.useCallback((userProps) => mergeProps$1(userProps, propsList, \"reference\"), referenceDeps);\n\tconst getFloatingProps = React$1.useCallback((userProps) => mergeProps$1(userProps, propsList, \"floating\"), floatingDeps);\n\tconst getItemProps = React$1.useCallback((userProps) => mergeProps$1(userProps, propsList, \"item\"), itemDeps);\n\treturn React$1.useMemo(() => ({\n\t\tgetReferenceProps,\n\t\tgetFloatingProps,\n\t\tgetItemProps\n\t}), [\n\t\tgetReferenceProps,\n\t\tgetFloatingProps,\n\t\tgetItemProps\n\t]);\n}\nconst ESCAPE = \"Escape\";\nfunction doSwitch(orientation, vertical, horizontal) {\n\tswitch (orientation) {\n\t\tcase \"vertical\": return vertical;\n\t\tcase \"horizontal\": return horizontal;\n\t\tdefault: return vertical || horizontal;\n\t}\n}\nfunction isMainOrientationKey(key, orientation) {\n\treturn doSwitch(orientation, key === ARROW_UP || key === ARROW_DOWN, key === ARROW_LEFT || key === ARROW_RIGHT);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n\treturn doSwitch(orientation, key === ARROW_DOWN, rtl ? key === ARROW_LEFT : key === ARROW_RIGHT) || key === \"Enter\" || key === \" \" || key === \"\";\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n\treturn doSwitch(orientation, rtl ? key === ARROW_LEFT : key === ARROW_RIGHT, key === ARROW_DOWN);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl, cols) {\n\tconst vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n\tconst horizontal = key === ARROW_UP;\n\tif (orientation === \"both\" || orientation === \"horizontal\" && cols && cols > 1) return key === ESCAPE;\n\treturn doSwitch(orientation, vertical, horizontal);\n}\n/**\n* Adds arrow key-based navigation of a list of items, either using real DOM\n* focus or virtual focus.\n* @see https://floating-ui.com/docs/useListNavigation\n*/\nfunction useListNavigation(context, props) {\n\tconst { open, onOpenChange, elements, floatingId } = context;\n\tconst { listRef, activeIndex, onNavigate: unstable_onNavigate = () => {}, enabled = true, selectedIndex = null, allowEscape = false, loop = false, nested = false, rtl = false, virtual = false, focusItemOnOpen = \"auto\", focusItemOnHover = true, openOnArrowKeyDown = true, disabledIndices = void 0, orientation = \"vertical\", parentOrientation, cols = 1, scrollItemIntoView = true, virtualItemRef, itemSizes, dense = false } = props;\n\tif (allowEscape) {\n\t\tif (!loop) warn(\"`useListNavigation` looping must be enabled to allow escaping.\");\n\t\tif (!virtual) warn(\"`useListNavigation` must be virtual to allow escaping.\");\n\t}\n\tif (orientation === \"vertical\" && cols > 1) warn(\"In grid list navigation mode (`cols` > 1), the `orientation` should\", \"be either \\\"horizontal\\\" or \\\"both\\\".\");\n\tconst floatingFocusElementRef = useLatestRef$1(getFloatingFocusElement(elements.floating));\n\tconst parentId = useFloatingParentNodeId();\n\tconst tree = useFloatingTree();\n\tindex$1(() => {\n\t\tcontext.dataRef.current.orientation = orientation;\n\t}, [context, orientation]);\n\tconst onNavigate = useEffectEvent(() => {\n\t\tunstable_onNavigate(indexRef.current === -1 ? null : indexRef.current);\n\t});\n\tconst typeableComboboxReference = isTypeableCombobox(elements.domReference);\n\tconst focusItemOnOpenRef = React$1.useRef(focusItemOnOpen);\n\tconst indexRef = React$1.useRef(selectedIndex != null ? selectedIndex : -1);\n\tconst keyRef = React$1.useRef(null);\n\tconst isPointerModalityRef = React$1.useRef(true);\n\tconst previousOnNavigateRef = React$1.useRef(onNavigate);\n\tconst previousMountedRef = React$1.useRef(!!elements.floating);\n\tconst previousOpenRef = React$1.useRef(open);\n\tconst forceSyncFocusRef = React$1.useRef(false);\n\tconst forceScrollIntoViewRef = React$1.useRef(false);\n\tconst disabledIndicesRef = useLatestRef$1(disabledIndices);\n\tconst latestOpenRef = useLatestRef$1(open);\n\tconst scrollItemIntoViewRef = useLatestRef$1(scrollItemIntoView);\n\tconst selectedIndexRef = useLatestRef$1(selectedIndex);\n\tconst [activeId, setActiveId] = React$1.useState();\n\tconst [virtualId, setVirtualId] = React$1.useState();\n\tconst focusItem = useEffectEvent(() => {\n\t\tfunction runFocus(item) {\n\t\t\tif (virtual) {\n\t\t\t\tvar _item$id;\n\t\t\t\tif ((_item$id = item.id) != null && _item$id.endsWith(\"-fui-option\")) item.id = floatingId + \"-\" + Math.random().toString(16).slice(2, 10);\n\t\t\t\tsetActiveId(item.id);\n\t\t\t\ttree?.events.emit(\"virtualfocus\", item);\n\t\t\t\tif (virtualItemRef) virtualItemRef.current = item;\n\t\t\t} else enqueueFocus(item, {\n\t\t\t\tsync: forceSyncFocusRef.current,\n\t\t\t\tpreventScroll: true\n\t\t\t});\n\t\t}\n\t\tconst initialItem = listRef.current[indexRef.current];\n\t\tconst forceScrollIntoView = forceScrollIntoViewRef.current;\n\t\tif (initialItem) runFocus(initialItem);\n\t\t(forceSyncFocusRef.current ? (v) => v() : requestAnimationFrame)(() => {\n\t\t\tconst waitedItem = listRef.current[indexRef.current] || initialItem;\n\t\t\tif (!waitedItem) return;\n\t\t\tif (!initialItem) runFocus(waitedItem);\n\t\t\tconst scrollIntoViewOptions = scrollItemIntoViewRef.current;\n\t\t\tif (scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current)) waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === \"boolean\" ? {\n\t\t\t\tblock: \"nearest\",\n\t\t\t\tinline: \"nearest\"\n\t\t\t} : scrollIntoViewOptions);\n\t\t});\n\t});\n\tindex$1(() => {\n\t\tif (!enabled) return;\n\t\tif (open && elements.floating) {\n\t\t\tif (focusItemOnOpenRef.current && selectedIndex != null) {\n\t\t\t\tforceScrollIntoViewRef.current = true;\n\t\t\t\tindexRef.current = selectedIndex;\n\t\t\t\tonNavigate();\n\t\t\t}\n\t\t} else if (previousMountedRef.current) {\n\t\t\tindexRef.current = -1;\n\t\t\tpreviousOnNavigateRef.current();\n\t\t}\n\t}, [\n\t\tenabled,\n\t\topen,\n\t\telements.floating,\n\t\tselectedIndex,\n\t\tonNavigate\n\t]);\n\tindex$1(() => {\n\t\tif (!enabled) return;\n\t\tif (!open) return;\n\t\tif (!elements.floating) return;\n\t\tif (activeIndex == null) {\n\t\t\tforceSyncFocusRef.current = false;\n\t\t\tif (selectedIndexRef.current != null) return;\n\t\t\tif (previousMountedRef.current) {\n\t\t\t\tindexRef.current = -1;\n\t\t\t\tfocusItem();\n\t\t\t}\n\t\t\tif ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n\t\t\t\tlet runs = 0;\n\t\t\t\tconst waitForListPopulated = () => {\n\t\t\t\t\tif (listRef.current[0] == null) {\n\t\t\t\t\t\tif (runs < 2) (runs ? requestAnimationFrame : queueMicrotask)(waitForListPopulated);\n\t\t\t\t\t\truns++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tindexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinListIndex(listRef, disabledIndicesRef.current) : getMaxListIndex(listRef, disabledIndicesRef.current);\n\t\t\t\t\t\tkeyRef.current = null;\n\t\t\t\t\t\tonNavigate();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\twaitForListPopulated();\n\t\t\t}\n\t\t} else if (!isIndexOutOfListBounds(listRef, activeIndex)) {\n\t\t\tindexRef.current = activeIndex;\n\t\t\tfocusItem();\n\t\t\tforceScrollIntoViewRef.current = false;\n\t\t}\n\t}, [\n\t\tenabled,\n\t\topen,\n\t\telements.floating,\n\t\tactiveIndex,\n\t\tselectedIndexRef,\n\t\tnested,\n\t\tlistRef,\n\t\torientation,\n\t\trtl,\n\t\tonNavigate,\n\t\tfocusItem,\n\t\tdisabledIndicesRef\n\t]);\n\tindex$1(() => {\n\t\tvar _nodes$find;\n\t\tif (!enabled || elements.floating || !tree || virtual || !previousMountedRef.current) return;\n\t\tconst nodes = tree.nodesRef.current;\n\t\tconst parent = (_nodes$find = nodes.find((node) => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n\t\tconst activeEl = activeElement(getDocument$1(elements.floating));\n\t\tconst treeContainsActiveEl = nodes.some((node) => node.context && contains$1(node.context.elements.floating, activeEl));\n\t\tif (parent && !treeContainsActiveEl && isPointerModalityRef.current) parent.focus({ preventScroll: true });\n\t}, [\n\t\tenabled,\n\t\telements.floating,\n\t\ttree,\n\t\tparentId,\n\t\tvirtual\n\t]);\n\tindex$1(() => {\n\t\tif (!enabled) return;\n\t\tif (!tree) return;\n\t\tif (!virtual) return;\n\t\tif (parentId) return;\n\t\tfunction handleVirtualFocus(item) {\n\t\t\tsetVirtualId(item.id);\n\t\t\tif (virtualItemRef) virtualItemRef.current = item;\n\t\t}\n\t\ttree.events.on(\"virtualfocus\", handleVirtualFocus);\n\t\treturn () => {\n\t\t\ttree.events.off(\"virtualfocus\", handleVirtualFocus);\n\t\t};\n\t}, [\n\t\tenabled,\n\t\ttree,\n\t\tvirtual,\n\t\tparentId,\n\t\tvirtualItemRef\n\t]);\n\tindex$1(() => {\n\t\tpreviousOnNavigateRef.current = onNavigate;\n\t\tpreviousOpenRef.current = open;\n\t\tpreviousMountedRef.current = !!elements.floating;\n\t});\n\tindex$1(() => {\n\t\tif (!open) {\n\t\t\tkeyRef.current = null;\n\t\t\tfocusItemOnOpenRef.current = focusItemOnOpen;\n\t\t}\n\t}, [open, focusItemOnOpen]);\n\tconst hasActiveIndex = activeIndex != null;\n\tconst item = React$1.useMemo(() => {\n\t\tfunction syncCurrentTarget(currentTarget) {\n\t\t\tif (!latestOpenRef.current) return;\n\t\t\tconst index = listRef.current.indexOf(currentTarget);\n\t\t\tif (index !== -1 && indexRef.current !== index) {\n\t\t\t\tindexRef.current = index;\n\t\t\t\tonNavigate();\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tonFocus(_ref) {\n\t\t\t\tlet { currentTarget } = _ref;\n\t\t\t\tforceSyncFocusRef.current = true;\n\t\t\t\tsyncCurrentTarget(currentTarget);\n\t\t\t},\n\t\t\tonClick: (_ref2) => {\n\t\t\t\tlet { currentTarget } = _ref2;\n\t\t\t\treturn currentTarget.focus({ preventScroll: true });\n\t\t\t},\n\t\t\t...focusItemOnHover && {\n\t\t\t\tonMouseMove(_ref3) {\n\t\t\t\t\tlet { currentTarget } = _ref3;\n\t\t\t\t\tforceSyncFocusRef.current = true;\n\t\t\t\t\tforceScrollIntoViewRef.current = false;\n\t\t\t\t\tsyncCurrentTarget(currentTarget);\n\t\t\t\t},\n\t\t\t\tonPointerLeave(_ref4) {\n\t\t\t\t\tlet { pointerType } = _ref4;\n\t\t\t\t\tif (!isPointerModalityRef.current || pointerType === \"touch\") return;\n\t\t\t\t\tforceSyncFocusRef.current = true;\n\t\t\t\t\tindexRef.current = -1;\n\t\t\t\t\tonNavigate();\n\t\t\t\t\tif (!virtual) {\n\t\t\t\t\t\tvar _floatingFocusElement;\n\t\t\t\t\t\t(_floatingFocusElement = floatingFocusElementRef.current) == null || _floatingFocusElement.focus({ preventScroll: true });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}, [\n\t\tlatestOpenRef,\n\t\tfloatingFocusElementRef,\n\t\tfocusItemOnHover,\n\t\tlistRef,\n\t\tonNavigate,\n\t\tvirtual\n\t]);\n\tconst getParentOrientation = React$1.useCallback(() => {\n\t\tvar _tree$nodesRef$curren;\n\t\treturn parentOrientation != null ? parentOrientation : tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find((node) => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.dataRef) == null ? void 0 : _tree$nodesRef$curren.current.orientation;\n\t}, [\n\t\tparentId,\n\t\ttree,\n\t\tparentOrientation\n\t]);\n\tconst commonOnKeyDown = useEffectEvent((event) => {\n\t\tisPointerModalityRef.current = false;\n\t\tforceSyncFocusRef.current = true;\n\t\tif (event.which === 229) return;\n\t\tif (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) return;\n\t\tif (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, cols)) {\n\t\t\tif (!isMainOrientationKey(event.key, getParentOrientation())) stopEvent(event);\n\t\t\tonOpenChange(false, event.nativeEvent, \"list-navigation\");\n\t\t\tif (isHTMLElement(elements.domReference)) if (virtual) tree?.events.emit(\"virtualfocus\", elements.domReference);\n\t\t\telse elements.domReference.focus();\n\t\t\treturn;\n\t\t}\n\t\tconst currentIndex = indexRef.current;\n\t\tconst minIndex = getMinListIndex(listRef, disabledIndices);\n\t\tconst maxIndex = getMaxListIndex(listRef, disabledIndices);\n\t\tif (!typeableComboboxReference) {\n\t\t\tif (event.key === \"Home\") {\n\t\t\t\tstopEvent(event);\n\t\t\t\tindexRef.current = minIndex;\n\t\t\t\tonNavigate();\n\t\t\t}\n\t\t\tif (event.key === \"End\") {\n\t\t\t\tstopEvent(event);\n\t\t\t\tindexRef.current = maxIndex;\n\t\t\t\tonNavigate();\n\t\t\t}\n\t\t}\n\t\tif (cols > 1) {\n\t\t\tconst sizes = itemSizes || Array.from({ length: listRef.current.length }, () => ({\n\t\t\t\twidth: 1,\n\t\t\t\theight: 1\n\t\t\t}));\n\t\t\tconst cellMap = createGridCellMap(sizes, cols, dense);\n\t\t\tconst minGridIndex = cellMap.findIndex((index) => index != null && !isListIndexDisabled(listRef, index, disabledIndices));\n\t\t\tconst maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isListIndexDisabled(listRef, index, disabledIndices) ? cellIndex : foundIndex, -1);\n\t\t\tconst index = cellMap[getGridNavigatedIndex({ current: cellMap.map((itemIndex) => itemIndex != null ? listRef.current[itemIndex] : null) }, {\n\t\t\t\tevent,\n\t\t\t\torientation,\n\t\t\t\tloop,\n\t\t\t\trtl,\n\t\t\t\tcols,\n\t\t\t\tdisabledIndices: getGridCellIndices([...(typeof disabledIndices !== \"function\" ? disabledIndices : null) || listRef.current.map((_, index) => isListIndexDisabled(listRef, index, disabledIndices) ? index : void 0), void 0], cellMap),\n\t\t\t\tminIndex: minGridIndex,\n\t\t\t\tmaxIndex: maxGridIndex,\n\t\t\t\tprevIndex: getGridCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols, event.key === ARROW_DOWN ? \"bl\" : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? \"tr\" : \"tl\"),\n\t\t\t\tstopEvent: true\n\t\t\t})];\n\t\t\tif (index != null) {\n\t\t\t\tindexRef.current = index;\n\t\t\t\tonNavigate();\n\t\t\t}\n\t\t\tif (orientation === \"both\") return;\n\t\t}\n\t\tif (isMainOrientationKey(event.key, orientation)) {\n\t\t\tstopEvent(event);\n\t\t\tif (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n\t\t\t\tindexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n\t\t\t\tonNavigate();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (isMainOrientationToEndKey(event.key, orientation, rtl)) if (loop) indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: currentIndex,\n\t\t\t\tdisabledIndices\n\t\t\t});\n\t\t\telse indexRef.current = Math.min(maxIndex, findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: currentIndex,\n\t\t\t\tdisabledIndices\n\t\t\t}));\n\t\t\telse if (loop) indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: currentIndex,\n\t\t\t\tdecrement: true,\n\t\t\t\tdisabledIndices\n\t\t\t});\n\t\t\telse indexRef.current = Math.max(minIndex, findNonDisabledListIndex(listRef, {\n\t\t\t\tstartingIndex: currentIndex,\n\t\t\t\tdecrement: true,\n\t\t\t\tdisabledIndices\n\t\t\t}));\n\t\t\tif (isIndexOutOfListBounds(listRef, indexRef.current)) indexRef.current = -1;\n\t\t\tonNavigate();\n\t\t}\n\t});\n\tconst ariaActiveDescendantProp = React$1.useMemo(() => {\n\t\treturn virtual && open && hasActiveIndex && { \"aria-activedescendant\": virtualId || activeId };\n\t}, [\n\t\tvirtual,\n\t\topen,\n\t\thasActiveIndex,\n\t\tvirtualId,\n\t\tactiveId\n\t]);\n\tconst floating = React$1.useMemo(() => {\n\t\treturn {\n\t\t\t\"aria-orientation\": orientation === \"both\" ? void 0 : orientation,\n\t\t\t...!typeableComboboxReference ? ariaActiveDescendantProp : {},\n\t\t\tonKeyDown: commonOnKeyDown,\n\t\t\tonPointerMove() {\n\t\t\t\tisPointerModalityRef.current = true;\n\t\t\t}\n\t\t};\n\t}, [\n\t\tariaActiveDescendantProp,\n\t\tcommonOnKeyDown,\n\t\torientation,\n\t\ttypeableComboboxReference\n\t]);\n\tconst reference = React$1.useMemo(() => {\n\t\tfunction checkVirtualMouse(event) {\n\t\t\tif (focusItemOnOpen === \"auto\" && isVirtualClick(event.nativeEvent)) focusItemOnOpenRef.current = true;\n\t\t}\n\t\tfunction checkVirtualPointer(event) {\n\t\t\tfocusItemOnOpenRef.current = focusItemOnOpen;\n\t\t\tif (focusItemOnOpen === \"auto\" && isVirtualPointerEvent(event.nativeEvent)) focusItemOnOpenRef.current = true;\n\t\t}\n\t\treturn {\n\t\t\t...ariaActiveDescendantProp,\n\t\t\tonKeyDown(event) {\n\t\t\t\tisPointerModalityRef.current = false;\n\t\t\t\tconst isArrowKey = event.key.startsWith(\"Arrow\");\n\t\t\t\tconst isHomeOrEndKey = [\"Home\", \"End\"].includes(event.key);\n\t\t\t\tconst isMoveKey = isArrowKey || isHomeOrEndKey;\n\t\t\t\tconst isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n\t\t\t\tconst isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl, cols);\n\t\t\t\tconst isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);\n\t\t\t\tconst isMainKey = isMainOrientationKey(event.key, orientation);\n\t\t\t\tconst isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === \"Enter\" || event.key.trim() === \"\";\n\t\t\t\tif (virtual && open) {\n\t\t\t\t\tconst rootNode = tree == null ? void 0 : tree.nodesRef.current.find((node) => node.parentId == null);\n\t\t\t\t\tconst deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n\t\t\t\t\tif (isMoveKey && deepestNode && virtualItemRef) {\n\t\t\t\t\t\tconst eventObject = new KeyboardEvent(\"keydown\", {\n\t\t\t\t\t\t\tkey: event.key,\n\t\t\t\t\t\t\tbubbles: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (isCrossOpenKey || isCrossCloseKey) {\n\t\t\t\t\t\t\tvar _deepestNode$context, _deepestNode$context2;\n\t\t\t\t\t\t\tconst isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n\t\t\t\t\t\t\tconst dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? listRef.current.find((item) => (item == null ? void 0 : item.id) === activeId) : null;\n\t\t\t\t\t\t\tif (dispatchItem) {\n\t\t\t\t\t\t\t\tstopEvent(event);\n\t\t\t\t\t\t\t\tdispatchItem.dispatchEvent(eventObject);\n\t\t\t\t\t\t\t\tsetVirtualId(void 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ((isMainKey || isHomeOrEndKey) && deepestNode.context) {\n\t\t\t\t\t\t\tif (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n\t\t\t\t\t\t\t\tvar _deepestNode$context$;\n\t\t\t\t\t\t\t\tstopEvent(event);\n\t\t\t\t\t\t\t\t(_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn commonOnKeyDown(event);\n\t\t\t\t}\n\t\t\t\tif (!open && !openOnArrowKeyDown && isArrowKey) return;\n\t\t\t\tif (isNavigationKey) {\n\t\t\t\t\tconst isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());\n\t\t\t\t\tkeyRef.current = nested && isParentMainKey ? null : event.key;\n\t\t\t\t}\n\t\t\t\tif (nested) {\n\t\t\t\t\tif (isParentCrossOpenKey) {\n\t\t\t\t\t\tstopEvent(event);\n\t\t\t\t\t\tif (open) {\n\t\t\t\t\t\t\tindexRef.current = getMinListIndex(listRef, disabledIndicesRef.current);\n\t\t\t\t\t\t\tonNavigate();\n\t\t\t\t\t\t} else onOpenChange(true, event.nativeEvent, \"list-navigation\");\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (isMainKey) {\n\t\t\t\t\tif (selectedIndex != null) indexRef.current = selectedIndex;\n\t\t\t\t\tstopEvent(event);\n\t\t\t\t\tif (!open && openOnArrowKeyDown) onOpenChange(true, event.nativeEvent, \"list-navigation\");\n\t\t\t\t\telse commonOnKeyDown(event);\n\t\t\t\t\tif (open) onNavigate();\n\t\t\t\t}\n\t\t\t},\n\t\t\tonFocus() {\n\t\t\t\tif (open && !virtual) {\n\t\t\t\t\tindexRef.current = -1;\n\t\t\t\t\tonNavigate();\n\t\t\t\t}\n\t\t\t},\n\t\t\tonPointerDown: checkVirtualPointer,\n\t\t\tonPointerEnter: checkVirtualPointer,\n\t\t\tonMouseDown: checkVirtualMouse,\n\t\t\tonClick: checkVirtualMouse\n\t\t};\n\t}, [\n\t\tactiveId,\n\t\tariaActiveDescendantProp,\n\t\tcols,\n\t\tcommonOnKeyDown,\n\t\tdisabledIndicesRef,\n\t\tfocusItemOnOpen,\n\t\tlistRef,\n\t\tnested,\n\t\tonNavigate,\n\t\tonOpenChange,\n\t\topen,\n\t\topenOnArrowKeyDown,\n\t\torientation,\n\t\tgetParentOrientation,\n\t\trtl,\n\t\tselectedIndex,\n\t\ttree,\n\t\tvirtual,\n\t\tvirtualItemRef\n\t]);\n\treturn React$1.useMemo(() => enabled ? {\n\t\treference,\n\t\tfloating,\n\t\titem\n\t} : {}, [\n\t\tenabled,\n\t\treference,\n\t\tfloating,\n\t\titem\n\t]);\n}\nconst componentRoleToAriaRoleMap = /*#__PURE__*/ new Map([\n\t[\"select\", \"listbox\"],\n\t[\"combobox\", \"listbox\"],\n\t[\"label\", false]\n]);\n/**\n* Adds base screen reader props to the reference and floating elements for a\n* given floating element `role`.\n* @see https://floating-ui.com/docs/useRole\n*/\nfunction useRole(context, props) {\n\tvar _elements$domReferenc, _componentRoleToAriaR;\n\tif (props === void 0) props = {};\n\tconst { open, elements, floatingId: defaultFloatingId } = context;\n\tconst { enabled = true, role = \"dialog\" } = props;\n\tconst defaultReferenceId = useId$1();\n\tconst referenceId = ((_elements$domReferenc = elements.domReference) == null ? void 0 : _elements$domReferenc.id) || defaultReferenceId;\n\tconst floatingId = React$1.useMemo(() => {\n\t\tvar _getFloatingFocusElem;\n\t\treturn ((_getFloatingFocusElem = getFloatingFocusElement(elements.floating)) == null ? void 0 : _getFloatingFocusElem.id) || defaultFloatingId;\n\t}, [elements.floating, defaultFloatingId]);\n\tconst ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n\tconst isNested = useFloatingParentNodeId() != null;\n\tconst reference = React$1.useMemo(() => {\n\t\tif (ariaRole === \"tooltip\" || role === \"label\") return { [\"aria-\" + (role === \"label\" ? \"labelledby\" : \"describedby\")]: open ? floatingId : void 0 };\n\t\treturn {\n\t\t\t\"aria-expanded\": open ? \"true\" : \"false\",\n\t\t\t\"aria-haspopup\": ariaRole === \"alertdialog\" ? \"dialog\" : ariaRole,\n\t\t\t\"aria-controls\": open ? floatingId : void 0,\n\t\t\t...ariaRole === \"listbox\" && { role: \"combobox\" },\n\t\t\t...ariaRole === \"menu\" && { id: referenceId },\n\t\t\t...ariaRole === \"menu\" && isNested && { role: \"menuitem\" },\n\t\t\t...role === \"select\" && { \"aria-autocomplete\": \"none\" },\n\t\t\t...role === \"combobox\" && { \"aria-autocomplete\": \"list\" }\n\t\t};\n\t}, [\n\t\tariaRole,\n\t\tfloatingId,\n\t\tisNested,\n\t\topen,\n\t\treferenceId,\n\t\trole\n\t]);\n\tconst floating = React$1.useMemo(() => {\n\t\tconst floatingProps = {\n\t\t\tid: floatingId,\n\t\t\t...ariaRole && { role: ariaRole }\n\t\t};\n\t\tif (ariaRole === \"tooltip\" || role === \"label\") return floatingProps;\n\t\treturn {\n\t\t\t...floatingProps,\n\t\t\t...ariaRole === \"menu\" && { \"aria-labelledby\": referenceId }\n\t\t};\n\t}, [\n\t\tariaRole,\n\t\tfloatingId,\n\t\treferenceId,\n\t\trole\n\t]);\n\tconst item = React$1.useCallback((_ref) => {\n\t\tlet { active, selected } = _ref;\n\t\tconst commonProps = {\n\t\t\trole: \"option\",\n\t\t\t...active && { id: floatingId + \"-fui-option\" }\n\t\t};\n\t\tswitch (role) {\n\t\t\tcase \"select\": return {\n\t\t\t\t...commonProps,\n\t\t\t\t\"aria-selected\": active && selected\n\t\t\t};\n\t\t\tcase \"combobox\": return {\n\t\t\t\t...commonProps,\n\t\t\t\t\"aria-selected\": selected\n\t\t\t};\n\t\t}\n\t\treturn {};\n\t}, [floatingId, role]);\n\treturn React$1.useMemo(() => enabled ? {\n\t\treference,\n\t\tfloating,\n\t\titem\n\t} : {}, [\n\t\tenabled,\n\t\treference,\n\t\tfloating,\n\t\titem\n\t]);\n}\n/**\n* Provides a matching callback that can be used to focus an item as the user\n* types, often used in tandem with `useListNavigation()`.\n* @see https://floating-ui.com/docs/useTypeahead\n*/\nfunction useTypeahead(context, props) {\n\tvar _ref;\n\tconst { open, dataRef } = context;\n\tconst { listRef, activeIndex, onMatch: unstable_onMatch, onTypingChange: unstable_onTypingChange, enabled = true, findMatch = null, resetMs = 750, ignoreKeys = [], selectedIndex = null } = props;\n\tconst timeoutIdRef = React$1.useRef(-1);\n\tconst stringRef = React$1.useRef(\"\");\n\tconst prevIndexRef = React$1.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n\tconst matchIndexRef = React$1.useRef(null);\n\tconst onMatch = useEffectEvent(unstable_onMatch);\n\tconst onTypingChange = useEffectEvent(unstable_onTypingChange);\n\tconst findMatchRef = useLatestRef$1(findMatch);\n\tconst ignoreKeysRef = useLatestRef$1(ignoreKeys);\n\tindex$1(() => {\n\t\tif (open) {\n\t\t\tclearTimeoutIfSet(timeoutIdRef);\n\t\t\tmatchIndexRef.current = null;\n\t\t\tstringRef.current = \"\";\n\t\t}\n\t}, [open]);\n\tindex$1(() => {\n\t\tif (open && stringRef.current === \"\") {\n\t\t\tvar _ref2;\n\t\t\tprevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n\t\t}\n\t}, [\n\t\topen,\n\t\tselectedIndex,\n\t\tactiveIndex\n\t]);\n\tconst setTypingChange = useEffectEvent((value) => {\n\t\tif (value) {\n\t\t\tif (!dataRef.current.typing) {\n\t\t\t\tdataRef.current.typing = value;\n\t\t\t\tonTypingChange(value);\n\t\t\t}\n\t\t} else if (dataRef.current.typing) {\n\t\t\tdataRef.current.typing = value;\n\t\t\tonTypingChange(value);\n\t\t}\n\t});\n\tconst onKeyDown = useEffectEvent((event) => {\n\t\tfunction getMatchingIndex(list, orderedList, string) {\n\t\t\tconst str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find((text) => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n\t\t\treturn str ? list.indexOf(str) : -1;\n\t\t}\n\t\tconst listContent = listRef.current;\n\t\tif (stringRef.current.length > 0 && stringRef.current[0] !== \" \") {\n\t\t\tif (getMatchingIndex(listContent, listContent, stringRef.current) === -1) setTypingChange(false);\n\t\t\telse if (event.key === \" \") stopEvent(event);\n\t\t}\n\t\tif (listContent == null || ignoreKeysRef.current.includes(event.key) || event.key.length !== 1 || event.ctrlKey || event.metaKey || event.altKey) return;\n\t\tif (open && event.key !== \" \") {\n\t\t\tstopEvent(event);\n\t\t\tsetTypingChange(true);\n\t\t}\n\t\tif (listContent.every((text) => {\n\t\t\tvar _text$, _text$2;\n\t\t\treturn text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n\t\t}) && stringRef.current === event.key) {\n\t\t\tstringRef.current = \"\";\n\t\t\tprevIndexRef.current = matchIndexRef.current;\n\t\t}\n\t\tstringRef.current += event.key;\n\t\tclearTimeoutIfSet(timeoutIdRef);\n\t\ttimeoutIdRef.current = window.setTimeout(() => {\n\t\t\tstringRef.current = \"\";\n\t\t\tprevIndexRef.current = matchIndexRef.current;\n\t\t\tsetTypingChange(false);\n\t\t}, resetMs);\n\t\tconst prevIndex = prevIndexRef.current;\n\t\tconst index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n\t\tif (index !== -1) {\n\t\t\tonMatch(index);\n\t\t\tmatchIndexRef.current = index;\n\t\t} else if (event.key !== \" \") {\n\t\t\tstringRef.current = \"\";\n\t\t\tsetTypingChange(false);\n\t\t}\n\t});\n\tconst reference = React$1.useMemo(() => ({ onKeyDown }), [onKeyDown]);\n\tconst floating = React$1.useMemo(() => {\n\t\treturn {\n\t\t\tonKeyDown,\n\t\t\tonKeyUp(event) {\n\t\t\t\tif (event.key === \" \") setTypingChange(false);\n\t\t\t}\n\t\t};\n\t}, [onKeyDown, setTypingChange]);\n\treturn React$1.useMemo(() => enabled ? {\n\t\treference,\n\t\tfloating\n\t} : {}, [\n\t\tenabled,\n\t\treference,\n\t\tfloating\n\t]);\n}\nfunction getNodeChildren(nodes, id) {\n\tlet allChildren = nodes.filter((node) => {\n\t\tvar _node$context;\n\t\treturn node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n\t});\n\tlet currentChildren = allChildren;\n\twhile (currentChildren.length) {\n\t\tcurrentChildren = nodes.filter((node) => {\n\t\t\tvar _currentChildren;\n\t\t\treturn (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some((n) => {\n\t\t\t\tvar _node$context2;\n\t\t\t\treturn node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n\t\t\t});\n\t\t});\n\t\tallChildren = allChildren.concat(currentChildren);\n\t}\n\treturn allChildren;\n}\nfunction isPointInPolygon(point, polygon) {\n\tconst [x, y] = point;\n\tlet isInside = false;\n\tconst length = polygon.length;\n\tfor (let i = 0, j = length - 1; i < length; j = i++) {\n\t\tconst [xi, yi] = polygon[i] || [0, 0];\n\t\tconst [xj, yj] = polygon[j] || [0, 0];\n\t\tif (yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi) isInside = !isInside;\n\t}\n\treturn isInside;\n}\nfunction isInside(point, rect) {\n\treturn point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n* Generates a safe polygon area that the user can traverse without closing the\n* floating element once leaving the reference element.\n* @see https://floating-ui.com/docs/useHover#safepolygon\n*/\nfunction safePolygon(options) {\n\tif (options === void 0) options = {};\n\tconst { buffer = .5, blockPointerEvents = false, requireIntent = true } = options;\n\tconst timeoutRef = { current: -1 };\n\tlet hasLanded = false;\n\tlet lastX = null;\n\tlet lastY = null;\n\tlet lastCursorTime = performance.now();\n\tfunction getCursorSpeed(x, y) {\n\t\tconst currentTime = performance.now();\n\t\tconst elapsedTime = currentTime - lastCursorTime;\n\t\tif (lastX === null || lastY === null || elapsedTime === 0) {\n\t\t\tlastX = x;\n\t\t\tlastY = y;\n\t\t\tlastCursorTime = currentTime;\n\t\t\treturn null;\n\t\t}\n\t\tconst deltaX = x - lastX;\n\t\tconst deltaY = y - lastY;\n\t\tconst speed = Math.sqrt(deltaX * deltaX + deltaY * deltaY) / elapsedTime;\n\t\tlastX = x;\n\t\tlastY = y;\n\t\tlastCursorTime = currentTime;\n\t\treturn speed;\n\t}\n\tconst fn = (_ref) => {\n\t\tlet { x, y, placement, elements, onClose, nodeId, tree } = _ref;\n\t\treturn function onMouseMove(event) {\n\t\t\tfunction close() {\n\t\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t\t\tonClose();\n\t\t\t}\n\t\t\tclearTimeoutIfSet(timeoutRef);\n\t\t\tif (!elements.domReference || !elements.floating || placement == null || x == null || y == null) return;\n\t\t\tconst { clientX, clientY } = event;\n\t\t\tconst clientPoint = [clientX, clientY];\n\t\t\tconst target = getTarget(event);\n\t\t\tconst isLeave = event.type === \"mouseleave\";\n\t\t\tconst isOverFloatingEl = contains(elements.floating, target);\n\t\t\tconst isOverReferenceEl = contains(elements.domReference, target);\n\t\t\tconst refRect = elements.domReference.getBoundingClientRect();\n\t\t\tconst rect = elements.floating.getBoundingClientRect();\n\t\t\tconst side = placement.split(\"-\")[0];\n\t\t\tconst cursorLeaveFromRight = x > rect.right - rect.width / 2;\n\t\t\tconst cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n\t\t\tconst isOverReferenceRect = isInside(clientPoint, refRect);\n\t\t\tconst isFloatingWider = rect.width > refRect.width;\n\t\t\tconst isFloatingTaller = rect.height > refRect.height;\n\t\t\tconst left = (isFloatingWider ? refRect : rect).left;\n\t\t\tconst right = (isFloatingWider ? refRect : rect).right;\n\t\t\tconst top = (isFloatingTaller ? refRect : rect).top;\n\t\t\tconst bottom = (isFloatingTaller ? refRect : rect).bottom;\n\t\t\tif (isOverFloatingEl) {\n\t\t\t\thasLanded = true;\n\t\t\t\tif (!isLeave) return;\n\t\t\t}\n\t\t\tif (isOverReferenceEl) hasLanded = false;\n\t\t\tif (isOverReferenceEl && !isLeave) {\n\t\t\t\thasLanded = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) return;\n\t\t\tif (tree && getNodeChildren(tree.nodesRef.current, nodeId).length) return;\n\t\t\tif (side === \"top\" && y >= refRect.bottom - 1 || side === \"bottom\" && y <= refRect.top + 1 || side === \"left\" && x >= refRect.right - 1 || side === \"right\" && x <= refRect.left + 1) return close();\n\t\t\tlet rectPoly = [];\n\t\t\tswitch (side) {\n\t\t\t\tcase \"top\":\n\t\t\t\t\trectPoly = [\n\t\t\t\t\t\t[left, refRect.top + 1],\n\t\t\t\t\t\t[left, rect.bottom - 1],\n\t\t\t\t\t\t[right, rect.bottom - 1],\n\t\t\t\t\t\t[right, refRect.top + 1]\n\t\t\t\t\t];\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"bottom\":\n\t\t\t\t\trectPoly = [\n\t\t\t\t\t\t[left, rect.top + 1],\n\t\t\t\t\t\t[left, refRect.bottom - 1],\n\t\t\t\t\t\t[right, refRect.bottom - 1],\n\t\t\t\t\t\t[right, rect.top + 1]\n\t\t\t\t\t];\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"left\":\n\t\t\t\t\trectPoly = [\n\t\t\t\t\t\t[rect.right - 1, bottom],\n\t\t\t\t\t\t[rect.right - 1, top],\n\t\t\t\t\t\t[refRect.left + 1, top],\n\t\t\t\t\t\t[refRect.left + 1, bottom]\n\t\t\t\t\t];\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"right\":\n\t\t\t\t\trectPoly = [\n\t\t\t\t\t\t[refRect.right - 1, bottom],\n\t\t\t\t\t\t[refRect.right - 1, top],\n\t\t\t\t\t\t[rect.left + 1, top],\n\t\t\t\t\t\t[rect.left + 1, bottom]\n\t\t\t\t\t];\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tfunction getPolygon(_ref2) {\n\t\t\t\tlet [x, y] = _ref2;\n\t\t\t\tswitch (side) {\n\t\t\t\t\tcase \"top\": return [\n\t\t\t\t\t\t[isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1],\n\t\t\t\t\t\t[isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1],\n\t\t\t\t\t\t...[[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]]\n\t\t\t\t\t];\n\t\t\t\t\tcase \"bottom\": return [\n\t\t\t\t\t\t[isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer],\n\t\t\t\t\t\t[isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer],\n\t\t\t\t\t\t...[[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]]\n\t\t\t\t\t];\n\t\t\t\t\tcase \"left\": {\n\t\t\t\t\t\tconst cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n\t\t\t\t\t\tconst cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t...[[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]],\n\t\t\t\t\t\t\tcursorPointOne,\n\t\t\t\t\t\t\tcursorPointTwo\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\tcase \"right\": return [\n\t\t\t\t\t\t[x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4],\n\t\t\t\t\t\t[x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4],\n\t\t\t\t\t\t...[[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]]\n\t\t\t\t\t];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isPointInPolygon([clientX, clientY], rectPoly)) return;\n\t\t\tif (hasLanded && !isOverReferenceRect) return close();\n\t\t\tif (!isLeave && requireIntent) {\n\t\t\t\tconst cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n\t\t\t\tif (cursorSpeed !== null && cursorSpeed < .1) return close();\n\t\t\t}\n\t\t\tif (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) close();\n\t\t\telse if (!hasLanded && requireIntent) timeoutRef.current = window.setTimeout(close, 40);\n\t\t};\n\t};\n\tfn.__options = { blockPointerEvents };\n\treturn fn;\n}\n\n//#endregion\n//#region ../headless/src/utils/use-render.tsx\nfunction mergeProps(a, b) {\n\tconst merged = { ...a };\n\tfor (const key of Object.keys(b)) {\n\t\tconst bVal = b[key];\n\t\tif (key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && key.charCodeAt(2) >= 65 && key.charCodeAt(2) <= 90 && typeof a[key] === \"function\" && typeof bVal === \"function\") {\n\t\t\tconst aHandler = a[key];\n\t\t\tconst bHandler = bVal;\n\t\t\tmerged[key] = (...args) => {\n\t\t\t\taHandler(...args);\n\t\t\t\tbHandler(...args);\n\t\t\t};\n\t\t} else if (key === \"style\" && a.style && bVal) merged.style = {\n\t\t\t...a.style,\n\t\t\t...bVal\n\t\t};\n\t\telse if (key === \"className\" && typeof a.className === \"string\" && typeof bVal === \"string\") merged.className = `${a.className} ${bVal}`;\n\t\telse merged[key] = bVal;\n\t}\n\treturn merged;\n}\n/**\n* Reads the ref off a React element passed to `render`. React 19 exposes it on\n* `props.ref`; React <=18 keeps it on the element itself.\n*/\nfunction getReactElementRef(element) {\n\tconst fromProps = element.props.ref;\n\tif (fromProps != null) return fromProps;\n\treturn element.ref ?? void 0;\n}\nfunction useRender(params) {\n\tconst { defaultTagName, render, ref, enabled = true, state, stateAttributesMapping, props } = params;\n\tconst normalizedRefs = ref == null ? [] : Array.isArray(ref) ? ref : [ref];\n\tconst elementRef = React$1.isValidElement(render) ? getReactElementRef(render) : void 0;\n\tconst mergedRef = useMergeRefs([...normalizedRefs, elementRef]);\n\tif (!enabled) return null;\n\tlet dataAttrs = {};\n\tif (state && stateAttributesMapping) for (const key of Object.keys(stateAttributesMapping)) {\n\t\tconst mapper = stateAttributesMapping[key];\n\t\tif (mapper) {\n\t\t\tconst attrs = mapper(state[key]);\n\t\t\tif (attrs) dataAttrs = {\n\t\t\t\t...dataAttrs,\n\t\t\t\t...attrs\n\t\t\t};\n\t\t}\n\t}\n\tconst computedProps = {\n\t\t...props,\n\t\t...dataAttrs\n\t};\n\tif (typeof render === \"function\") return render({\n\t\t...computedProps,\n\t\tref: mergedRef\n\t});\n\tif (React$1.isValidElement(render)) {\n\t\tconst merged = mergeProps(computedProps, render.props);\n\t\treturn React$1.cloneElement(render, {\n\t\t\t...merged,\n\t\t\tref: mergedRef\n\t\t});\n\t}\n\treturn React$1.createElement(defaultTagName, {\n\t\t...computedProps,\n\t\tref: mergedRef\n\t});\n}\n\n//#endregion\n//#region ../headless/src/primitives/button/button.tsx\nfunction isLink$1(element) {\n\treturn element.tagName === \"A\" && element.hasAttribute(\"href\");\n}\nfunction preventDefault(event) {\n\tevent.preventDefault();\n}\n/** Replaces the consumer's handler while disabled, so theirs never runs. */\nfunction noop() {}\nfunction preventDefaultUnlessTab(event) {\n\tif (event.key !== \"Tab\") event.preventDefault();\n}\n/**\n* A button with the disabled behaviour a native `<button>` cannot express: staying\n* focusable while inert, and behaving like a button on elements that aren't one.\n*\n* @example\n* // Focus survives the button disabling itself while the form submits\n* <Button disabled={submitting} focusableWhenDisabled type='submit'>Save</Button>\n*\n* @example\n* // Button semantics on a link\n* <Button nativeButton={false} render={<a href='/settings' />}>Settings</Button>\n*/\nconst Button$1 = React.forwardRef(function Button(props, ref) {\n\tconst { render, disabled = false, focusableWhenDisabled = false, nativeButton = true, ...otherProps } = props;\n\tconst nativelyDisabled = nativeButton && !focusableWhenDisabled;\n\tconst defaultProps = nativeButton ? {\n\t\ttype: \"button\",\n\t\tdisabled: nativelyDisabled ? disabled : void 0\n\t} : {\n\t\trole: \"button\",\n\t\ttabIndex: disabled && !focusableWhenDisabled ? -1 : 0,\n\t\tonKeyDown: (event) => {\n\t\t\tif (event.key === \" \") event.preventDefault();\n\t\t\telse if (event.key === \"Enter\" && !isLink$1(event.currentTarget)) event.currentTarget.click();\n\t\t},\n\t\tonKeyUp: (event) => {\n\t\t\tif (event.key === \" \") event.currentTarget.click();\n\t\t}\n\t};\n\tif (!nativelyDisabled) defaultProps[\"aria-disabled\"] = disabled || void 0;\n\tconst merged = mergeProps(defaultProps, otherProps);\n\tif (disabled) {\n\t\tmerged.onClick = preventDefault;\n\t\tmerged.onMouseDown = noop;\n\t\tmerged.onKeyUp = noop;\n\t\tmerged.onPointerDown = preventDefault;\n\t\tmerged.onKeyDown = focusableWhenDisabled ? preventDefaultUnlessTab : noop;\n\t}\n\treturn useRender({\n\t\tdefaultTagName: \"button\",\n\t\trender,\n\t\tref,\n\t\tstate: { disabled },\n\t\tstateAttributesMapping: { disabled: (v) => v ? { \"data-disabled\": \"\" } : null },\n\t\tprops: merged\n\t});\n});\n\n//#endregion\n//#region ../../node_modules/.pnpm/@stylexjs+stylex@0.19.0/node_modules/@stylexjs/stylex/lib/es/stylex.mjs\nvar styleq = {};\nvar hasRequiredStyleq;\nfunction requireStyleq() {\n\tif (hasRequiredStyleq) return styleq;\n\thasRequiredStyleq = 1;\n\tObject.defineProperty(styleq, \"__esModule\", { value: true });\n\tstyleq.styleq = void 0;\n\tvar cache = /* @__PURE__ */ new WeakMap();\n\tvar compiledKey = \"$$css\";\n\tfunction createStyleq(options) {\n\t\tvar disableCache;\n\t\tvar disableMix;\n\t\tvar transform;\n\t\tif (options != null) {\n\t\t\tdisableCache = options.disableCache === true;\n\t\t\tdisableMix = options.disableMix === true;\n\t\t\ttransform = options.transform;\n\t\t}\n\t\treturn function styleq() {\n\t\t\tvar definedProperties = [];\n\t\t\tvar className = \"\";\n\t\t\tvar inlineStyle = null;\n\t\t\tvar debugString = \"\";\n\t\t\tvar nextCache = disableCache ? null : cache;\n\t\t\tvar styles = new Array(arguments.length);\n\t\t\tfor (var i = 0; i < arguments.length; i++) styles[i] = arguments[i];\n\t\t\twhile (styles.length > 0) {\n\t\t\t\tvar possibleStyle = styles.pop();\n\t\t\t\tif (possibleStyle == null || possibleStyle === false) continue;\n\t\t\t\tif (Array.isArray(possibleStyle)) {\n\t\t\t\t\tfor (var _i = 0; _i < possibleStyle.length; _i++) styles.push(possibleStyle[_i]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tvar style = transform != null ? transform(possibleStyle) : possibleStyle;\n\t\t\t\tif (style.$$css != null) {\n\t\t\t\t\tvar classNameChunk = \"\";\n\t\t\t\t\tif (nextCache != null && nextCache.has(style)) {\n\t\t\t\t\t\tvar cacheEntry = nextCache.get(style);\n\t\t\t\t\t\tif (cacheEntry != null) {\n\t\t\t\t\t\t\tclassNameChunk = cacheEntry[0];\n\t\t\t\t\t\t\tdebugString = cacheEntry[2];\n\t\t\t\t\t\t\tdefinedProperties.push.apply(definedProperties, cacheEntry[1]);\n\t\t\t\t\t\t\tnextCache = cacheEntry[3];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar definedPropertiesChunk = [];\n\t\t\t\t\t\tfor (var prop in style) {\n\t\t\t\t\t\t\tvar value = style[prop];\n\t\t\t\t\t\t\tif (prop === compiledKey) {\n\t\t\t\t\t\t\t\tvar compiledKeyValue = style[prop];\n\t\t\t\t\t\t\t\tif (compiledKeyValue !== true) debugString = debugString ? compiledKeyValue + \"; \" + debugString : compiledKeyValue;\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (typeof value === \"string\" || value === null) {\n\t\t\t\t\t\t\t\tif (!definedProperties.includes(prop)) {\n\t\t\t\t\t\t\t\t\tdefinedProperties.push(prop);\n\t\t\t\t\t\t\t\t\tif (nextCache != null) definedPropertiesChunk.push(prop);\n\t\t\t\t\t\t\t\t\tif (typeof value === \"string\") classNameChunk += classNameChunk ? \" \" + value : value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (nextCache != null) {\n\t\t\t\t\t\t\tvar weakMap = /* @__PURE__ */ new WeakMap();\n\t\t\t\t\t\t\tnextCache.set(style, [\n\t\t\t\t\t\t\t\tclassNameChunk,\n\t\t\t\t\t\t\t\tdefinedPropertiesChunk,\n\t\t\t\t\t\t\t\tdebugString,\n\t\t\t\t\t\t\t\tweakMap\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\tnextCache = weakMap;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (classNameChunk) className = className ? classNameChunk + \" \" + className : classNameChunk;\n\t\t\t\t} else if (disableMix) {\n\t\t\t\t\tif (inlineStyle == null) inlineStyle = {};\n\t\t\t\t\tinlineStyle = Object.assign({}, style, inlineStyle);\n\t\t\t\t} else {\n\t\t\t\t\tvar subStyle = null;\n\t\t\t\t\tfor (var _prop in style) {\n\t\t\t\t\t\tvar _value = style[_prop];\n\t\t\t\t\t\tif (_value !== void 0) {\n\t\t\t\t\t\t\tif (!definedProperties.includes(_prop)) {\n\t\t\t\t\t\t\t\tif (_value != null) {\n\t\t\t\t\t\t\t\t\tif (inlineStyle == null) inlineStyle = {};\n\t\t\t\t\t\t\t\t\tif (subStyle == null) subStyle = {};\n\t\t\t\t\t\t\t\t\tsubStyle[_prop] = _value;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefinedProperties.push(_prop);\n\t\t\t\t\t\t\t\tnextCache = null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (subStyle != null) inlineStyle = Object.assign(subStyle, inlineStyle);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn [\n\t\t\t\tclassName,\n\t\t\t\tinlineStyle,\n\t\t\t\tdebugString\n\t\t\t];\n\t\t};\n\t}\n\tvar styleq$1 = styleq.styleq = createStyleq();\n\tstyleq$1.factory = createStyleq;\n\treturn styleq;\n}\nvar styleqExports = /*@__PURE__*/ requireStyleq();\nfunction props(...styles) {\n\tconst [className, style, dataStyleSrc] = styleqExports.styleq(styles);\n\tconst result = {};\n\tif (className != null && className !== \"\") result.className = className;\n\tif (style != null && Object.keys(style).length > 0) result.style = style;\n\tif (dataStyleSrc != null && dataStyleSrc !== \"\") result[\"data-style-src\"] = dataStyleSrc;\n\treturn result;\n}\nconst env = Object.freeze({});\n\n//#endregion\n//#region src/mosaic/props.ts\nconst kebab = (name) => name.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\n/**\n* The stable class + variant reflection for a slot.\n*\n* Returns `{ className: 'cl-<slot>', 'data-<axis>': value, … }`. Each variant\n* axis becomes a `data-<axis>` attribute a consumer can scope overrides on.\n* Booleans reflect only when `true` (as an empty-string presence attr, mirroring\n* how the Emotion engine emitted `data-cl-disabled`); `null`/`undefined`/`false`\n* are skipped. The className is only the stable slot class — variant values live\n* in the data-attrs, not extra classes, to avoid colliding with consumer classes.\n*/\nfunction themeProps(slot, variants) {\n\tconst attrs = {};\n\tfor (const [axis, value] of Object.entries(variants ?? {})) {\n\t\tif (value == null || value === false) continue;\n\t\tattrs[`data-${kebab(axis)}`] = value === true ? \"\" : String(value);\n\t}\n\treturn {\n\t\tclassName: `cl-${slot}`,\n\t\t...attrs\n\t};\n}\n/** Merge two prop bags, concatenating `className` and spreading `style` (overrides last). */\nfunction mergeTwoProps(base, overrides) {\n\tconst merged = {\n\t\t...base,\n\t\t...overrides\n\t};\n\tconst cls = [base.className, overrides.className].filter(Boolean).join(\" \");\n\tif (cls) merged.className = cls;\n\telse delete merged.className;\n\tconst mergedStyle = overrides.style && base.style ? {\n\t\t...base.style,\n\t\t...overrides.style\n\t} : overrides.style || base.style;\n\tif (mergedStyle) merged.style = mergedStyle;\n\telse delete merged.style;\n\treturn merged;\n}\n/**\n* Fuse `themeProps(...)`, `stylex.props(...)`, and the consumer's incoming\n* `className`/`style` into one spreadable object. Positional, mirroring astryx's\n* helper so the consumer's `className` and `style` can be passed raw:\n*\n* mergeStyleProps(themeProps('button', { variant }), stylex.props(...), className, style)\n*\n* The trailing pair disambiguates by type — a string is a `className`, an object\n* is a `style` — which is why `style` is accepted directly rather than wrapped.\n* Order is deliberate: stable class + data-attrs, then StyleX atoms, then the\n* consumer's `className`/`style` last so they win.\n*\n* Distinct from `@clerk/headless`'s `mergeProps`: this only fuses styling output\n* (className/style) and does not chain event handlers.\n*/\nfunction mergeStyleProps(first, second, classNameOrStyle, style) {\n\tlet merged = mergeTwoProps(first, typeof second === \"string\" ? { className: second } : second ?? {});\n\tif (typeof classNameOrStyle === \"string\") merged = mergeTwoProps(merged, { className: classNameOrStyle });\n\telse if (classNameOrStyle != null) merged = mergeTwoProps(merged, { style: classNameOrStyle });\n\tif (style != null) merged = mergeTwoProps(merged, { style });\n\treturn merged;\n}\n\n//#endregion\n//#region src/mosaic/tokens.stylex.ts\nconst colorVars = {\n\t\"--cl-color-primary\": \"var(--cl-color-primary)\",\n\t\"--cl-color-primary-foreground\": \"var(--cl-color-primary-foreground)\",\n\t\"--cl-color-primary-faded\": \"var(--cl-color-primary-faded)\",\n\t\"--cl-color-neutral\": \"var(--cl-color-neutral)\",\n\t\"--cl-color-neutral-foreground\": \"var(--cl-color-neutral-foreground)\",\n\t\"--cl-color-neutral-faded\": \"var(--cl-color-neutral-faded)\",\n\t\"--cl-color-negative\": \"var(--cl-color-negative)\",\n\t\"--cl-color-negative-foreground\": \"var(--cl-color-negative-foreground)\",\n\t\"--cl-color-negative-faded\": \"var(--cl-color-negative-faded)\",\n\t\"--cl-color-positive\": \"var(--cl-color-positive)\",\n\t\"--cl-color-positive-foreground\": \"var(--cl-color-positive-foreground)\",\n\t\"--cl-color-positive-faded\": \"var(--cl-color-positive-faded)\",\n\t\"--cl-color-warning\": \"var(--cl-color-warning)\",\n\t\"--cl-color-warning-foreground\": \"var(--cl-color-warning-foreground)\",\n\t\"--cl-color-warning-faded\": \"var(--cl-color-warning-faded)\",\n\t\"--cl-color-background\": \"var(--cl-color-background)\",\n\t\"--cl-color-card\": \"var(--cl-color-card)\",\n\t\"--cl-color-card-foreground\": \"var(--cl-color-card-foreground)\",\n\t\"--cl-color-input\": \"var(--cl-color-input)\",\n\t\"--cl-color-input-placeholder\": \"var(--cl-color-input-placeholder)\",\n\t\"--cl-color-border\": \"var(--cl-color-border)\",\n\t\"--cl-color-border-faded\": \"var(--cl-color-border-faded)\",\n\t\"--cl-color-ring\": \"var(--cl-color-ring)\",\n\t__varGroupHash__: \"x1pppt44\"\n};\nconst radiusVars = {\n\t\"--cl-radius-none\": \"var(--cl-radius-none)\",\n\t\"--cl-radius-sm\": \"var(--cl-radius-sm)\",\n\t\"--cl-radius-md\": \"var(--cl-radius-md)\",\n\t\"--cl-radius-lg\": \"var(--cl-radius-lg)\",\n\t\"--cl-radius-xl\": \"var(--cl-radius-xl)\",\n\t\"--cl-radius-full\": \"var(--cl-radius-full)\",\n\t__varGroupHash__: \"xo5lcej\"\n};\n`${colorVars[\"--cl-color-neutral-faded\"]}${colorVars[\"--cl-color-card\"]}`, `${colorVars[\"--cl-color-card\"]}`, `${colorVars[\"--cl-color-card-foreground\"]}`, `${colorVars[\"--cl-color-card-foreground\"]}`;\nconst scrollbarVars = {\n\t\"--cl-scrollbar-width\": \"var(--cl-scrollbar-width)\",\n\t\"--cl-scrollbar-thumb-inset\": \"var(--cl-scrollbar-thumb-inset)\",\n\t\"--cl-scrollbar-thumb\": \"var(--cl-scrollbar-thumb)\",\n\t\"--cl-scrollbar-thumb-idle\": \"var(--cl-scrollbar-thumb-idle)\",\n\t\"--cl-scrollbar-thumb-hover\": \"var(--cl-scrollbar-thumb-hover)\",\n\t\"--cl-scrollbar-thumb-active\": \"var(--cl-scrollbar-thumb-active)\",\n\t__varGroupHash__: \"xuwnbhb\"\n};\nconst scrollFadeVars = {\n\t\"--cl-scroll-fade-size\": \"var(--cl-scroll-fade-size)\",\n\t\"--cl-scroll-fade-range\": \"var(--cl-scroll-fade-range)\",\n\t__varGroupHash__: \"xajl02\"\n};\nconst fontWeightVars = {\n\t\"--cl-font-normal\": \"var(--cl-font-normal)\",\n\t\"--cl-font-medium\": \"var(--cl-font-medium)\",\n\t\"--cl-font-semibold\": \"var(--cl-font-semibold)\",\n\t\"--cl-font-bold\": \"var(--cl-font-bold)\",\n\t__varGroupHash__: \"xbaf74w\"\n};\n\n//#endregion\n//#region src/mosaic/utils/focus-outline.styles.ts\nconst focusOutline = {\n\tvisible: {\n\t\tkjBf7l: \"xto8j8m\",\n\t\tkInvED: \"xllhfb8\",\n\t\tk3XXqK: \"xjpas50\",\n\t\tkMeerF: \"x1es0auh\",\n\t\t$$css: true\n\t},\n\twithin: {\n\t\tkjBf7l: \"x1xl61y9\",\n\t\tkInvED: \"xbez484\",\n\t\tk3XXqK: \"x19rzfsh\",\n\t\tkMeerF: \"x6wvrj1\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/utils/reset.styles.ts\nconst reset = { base: {\n\tkogj98: \"x1ghz6dp\",\n\tkmVPX3: \"x1717udv\",\n\tkB7OPa: \"x9f619\",\n\tkMwMTN: \"x1heor9g\",\n\tkMv6JI: \"xjb2p0i\",\n\tkGuDYH: \"x1qlqyl8\",\n\tk63SB2: \"x1pd3egz\",\n\tkLWn49: \"x15bjb6t\",\n\t$$css: true\n} };\n\n//#endregion\n//#region src/mosaic/components/avatar/avatar.styles.ts\nconst styles$9 = {\n\tbase: {\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkOBAk4: \"x1y5e3q9\",\n\t\tk1xSpc: \"x3nfvp2\",\n\t\tkmuXW: \"x2lah0s\",\n\t\tkMv6JI: \"xbhks3\",\n\t\tk63SB2: \"x1356bol\",\n\t\tkjj79g: \"xl56j7k\",\n\t\tkLWn49: \"xo5v014\",\n\t\tkVAEAm: \"x1n2onr6\",\n\t\tkfSwDN: \"x87ps6o\",\n\t\tkXLuUW: \"xxymvpz\",\n\t\t$$css: true\n\t},\n\tinteractive: {\n\t\tkMzoRj: \"xc342km\",\n\t\tkysU6D: \"xjyslct\",\n\t\tkkrTdU: \"x1ypdohk x126qsmr\",\n\t\t$$css: true\n\t},\n\timage: {\n\t\tkaIpWk: \"x1pjcqnp\",\n\t\tkOBAk4: \"x1y5e3q9\",\n\t\tk1xSpc: \"x1lliihq\",\n\t\tkVIFPx: \"xl1xv1r\",\n\t\tkVAEAm: \"x10l6tqk\",\n\t\tkZKoxP: \"x5yr21d\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\t$$css: true\n\t},\n\tfallback: {\n\t\tkaIpWk: \"x1pjcqnp\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkWkggS: \"x1ahq011\",\n\t\tkMwMTN: \"x1jq3gyk\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkjj79g: \"xl56j7k\",\n\t\tkZKoxP: \"x5yr21d\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\t$$css: true\n\t},\n\tfallbackContent: {\n\t\tk33iCy: \"xlshs6z\",\n\t\t$$css: true\n\t},\n\tfallbackPending: {\n\t\tk44tkh: \"x1c74tu6\",\n\t\tko0y90: \"xa4qsjk\",\n\t\tkKVMdj: \"xo6bm9r x1aquc0h\",\n\t\tkyAemX: \"xw1l40g\",\n\t\t$$css: true\n\t},\n\ticon: {\n\t\tkVAM5u: \"x7vjwj5\",\n\t\tkaIpWk: \"xsq0ucf\",\n\t\tksu8eU: \"x1y0btm7\",\n\t\tkMzoRj: \"xmkeg23\",\n\t\tkVQacm: \"xb3r6kr\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkWkggS: \"xi0fnek\",\n\t\tkB7OPa: \"x9f619\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkrVfgx: \"xg08z8s\",\n\t\tkLqNvP: \"x1tpfwif\",\n\t\tkjj79g: \"xl56j7k\",\n\t\tkVAEAm: \"x10l6tqk\",\n\t\tkZKoxP: \"x1tx717c\",\n\t\tkzqmXN: \"x1i4fex1\",\n\t\t$$css: true\n\t}\n};\nconst shapes = {\n\tcircle: {\n\t\tkaIpWk: \"xsq0ucf\",\n\t\t$$css: true\n\t},\n\tsquare: {\n\t\tkaIpWk: \"xzmjytj\",\n\t\t$$css: true\n\t}\n};\nconst sizes$5 = {\n\txs: {\n\t\tkGuDYH: \"x6phcfz\",\n\t\tkZKoxP: \"x13bvjdt\",\n\t\tkzqmXN: \"xb8nub8\",\n\t\t$$css: true\n\t},\n\tsm: {\n\t\tkGuDYH: \"x12lo8hy\",\n\t\tkZKoxP: \"xpd21ip\",\n\t\tkzqmXN: \"xxh3iqc\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkGuDYH: \"xkpwil5\",\n\t\tkZKoxP: \"x130cbx6\",\n\t\tkzqmXN: \"xv6aqql\",\n\t\t$$css: true\n\t},\n\tlg: {\n\t\tkGuDYH: \"x1jchvi3\",\n\t\tkZKoxP: \"xxgb554\",\n\t\tkzqmXN: \"x14m2bez\",\n\t\t$$css: true\n\t},\n\txl: {\n\t\tkGuDYH: \"x1jchvi3\",\n\t\tkZKoxP: \"xahslz\",\n\t\tkzqmXN: \"xcbigqw\",\n\t\t$$css: true\n\t},\n\tfit: {\n\t\tkGuDYH: \"xboafo0\",\n\t\tkZKoxP: \"x5yr21d\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/avatar/avatar.tsx\nconst AvatarContext = React.createContext(null);\nfunction useAvatarContext(part) {\n\tconst context = React.useContext(AvatarContext);\n\tif (!context) throw new Error(`<${part}> must be rendered inside <Avatar.Root>`);\n\treturn context;\n}\nconst AvatarRoot = React.forwardRef(function MosaicAvatarRoot({ shape = \"circle\", size = \"md\", render, className, style, ...rest }, ref) {\n\tconst [status, setStatus] = React.useState(\"idle\");\n\tconst value = React.useMemo(() => ({\n\t\tstatus,\n\t\tonStatusChange: setStatus\n\t}), [status]);\n\tconst interactive = Boolean(render);\n\tconst element = useRender({\n\t\tdefaultTagName: \"span\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"avatar\", {\n\t\t\t\tshape,\n\t\t\t\tsize\n\t\t\t}), props(reset.base, styles$9.base, shapes[shape], sizes$5[size], interactive && styles$9.interactive, interactive && focusOutline.visible), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n\treturn /* @__PURE__ */ jsx(AvatarContext.Provider, {\n\t\tvalue,\n\t\tchildren: element\n\t});\n});\nconst AvatarImage = React.forwardRef(function MosaicAvatarImage({ src, alt = \"\", className, style, ...rest }, ref) {\n\tconst { status, onStatusChange } = useAvatarContext(\"Avatar.Image\");\n\tuseSafeLayoutEffect(() => {\n\t\tif (!src) {\n\t\t\tonStatusChange(\"error\");\n\t\t\treturn;\n\t\t}\n\t\tconst image = new window.Image();\n\t\timage.src = src;\n\t\tif (image.complete) {\n\t\t\tonStatusChange(\"loaded\");\n\t\t\treturn;\n\t\t}\n\t\tlet active = true;\n\t\tonStatusChange(\"loading\");\n\t\timage.onload = () => active && onStatusChange(\"loaded\");\n\t\timage.onerror = () => active && onStatusChange(\"error\");\n\t\treturn () => {\n\t\t\tactive = false;\n\t\t};\n\t}, [src, onStatusChange]);\n\tif (status !== \"loaded\") return null;\n\treturn /* @__PURE__ */ jsx(\"img\", {\n\t\tref,\n\t\tsrc,\n\t\talt,\n\t\tdraggable: false,\n\t\t...mergeStyleProps(themeProps(\"avatar-image\"), props(reset.base, styles$9.image), className, style),\n\t\t...rest\n\t});\n});\nconst AvatarFallback = React.forwardRef(function MosaicAvatarFallback({ delayMs, className, style, children, ...rest }, ref) {\n\tconst { status } = useAvatarContext(\"Avatar.Fallback\");\n\tconst [canRender, setCanRender] = React.useState(delayMs === void 0);\n\tReact.useEffect(() => {\n\t\tif (delayMs === void 0) return;\n\t\tconst timer = setTimeout(() => setCanRender(true), delayMs);\n\t\treturn () => clearTimeout(timer);\n\t}, [delayMs]);\n\tif (!canRender || status === \"loaded\") return null;\n\tconst pending = status === \"loading\";\n\treturn /* @__PURE__ */ jsx(\"span\", {\n\t\tref,\n\t\t...mergeStyleProps(themeProps(\"avatar-fallback\", { pending }), props(reset.base, styles$9.fallback, pending && styles$9.fallbackPending), className, style),\n\t\t...rest,\n\t\tchildren: /* @__PURE__ */ jsx(\"span\", {\n\t\t\t...mergeStyleProps(themeProps(\"avatar-fallback-content\"), props(styles$9.fallbackContent)),\n\t\t\tchildren\n\t\t})\n\t});\n});\nconst AvatarIcon = React.forwardRef(function MosaicAvatarIcon({ className, style, ...rest }, ref) {\n\tuseAvatarContext(\"Avatar.Icon\");\n\treturn /* @__PURE__ */ jsx(\"span\", {\n\t\tref,\n\t\t\"aria-hidden\": true,\n\t\t...mergeStyleProps(themeProps(\"avatar-icon\"), props(reset.base, styles$9.icon), className, style),\n\t\t...rest\n\t});\n});\n/**\n* Compound avatar. `Avatar.Root` positions and sizes the box; `Avatar.Image` renders\n* once its source loads; `Avatar.Fallback` holds the space until then, as a blank\n* placeholder that pulses only while an image is actually on its way; `Avatar.Icon`\n* adds an optional corner affordance.\n*/\nconst Avatar = {\n\tRoot: AvatarRoot,\n\tImage: AvatarImage,\n\tFallback: AvatarFallback,\n\tIcon: AvatarIcon\n};\n\n//#endregion\n//#region src/mosaic/components/badge/badge.styles.ts\nconst styles$8 = { base: {\n\tkaIpWk: \"xsq0ucf\",\n\tkOIVth: \"x1kkcdw1\",\n\tkg3NbH: \"x1frjxyn\",\n\tkGNEyG: \"x6s0dn4\",\n\tk1xSpc: \"x3nfvp2\",\n\tkMv6JI: \"xbhks3\",\n\tkGuDYH: \"xoquv76\",\n\tk63SB2: \"x1356bol\",\n\tkjj79g: \"xl56j7k\",\n\tkLWn49: \"x1s3bc0o\",\n\tkhDVqt: \"xuxw1ft\",\n\tkZKoxP: \"x13bvjdt\",\n\t$$css: true\n} };\nconst colors = {\n\tprimary: {\n\t\tkWkggS: \"x8iw500\",\n\t\tkMwMTN: \"x1dssb7w\",\n\t\t$$css: true\n\t},\n\tneutral: {\n\t\tkWkggS: \"xl6u2f4\",\n\t\tkMwMTN: \"x1dky8hy\",\n\t\t$$css: true\n\t},\n\twarning: {\n\t\tkWkggS: \"x1js9a9q\",\n\t\tkMwMTN: \"x1v0fbtm\",\n\t\t$$css: true\n\t},\n\tnegative: {\n\t\tkWkggS: \"x1v0n27i\",\n\t\tkMwMTN: \"xon2h3r\",\n\t\t$$css: true\n\t},\n\tpositive: {\n\t\tkWkggS: \"xvifhcz\",\n\t\tkMwMTN: \"x1clqapk\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/badge/badge.tsx\n/**\n* A small label that annotates adjacent content with a status or category. Renders a\n* `span` by default and forwards its ref; `color` sets the semantic color and `render`\n* swaps the element for polymorphism (e.g. a link).\n*\n* @example\n* // Default (primary)\n* <Badge>New</Badge>\n*\n* @example\n* // Semantic color\n* <Badge color='positive'>Active</Badge>\n* <Badge color='negative'>Failed</Badge>\n*\n* @example\n* // Polymorphic: render as a link\n* <Badge render={<a href='/billing' />}>Upgrade</Badge>\n*/\nconst Badge = React.forwardRef(function MosaicBadge({ color = \"primary\", render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"span\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"badge\", { color }), props(reset.base, styles$8.base, colors[color]), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n\n//#endregion\n//#region src/mosaic/utils/typography.styles.ts\nconst truncationStyles = {\n\tsingleLine: {\n\t\tkVQacm: \"xb3r6kr\",\n\t\tk1xSpc: \"x1lliihq\",\n\t\tkg5iWk: \"xlyipyv\",\n\t\tkhDVqt: \"xuxw1ft\",\n\t\t$$css: true\n\t},\n\tmultiLine: {\n\t\tkVQacm: \"xb3r6kr\",\n\t\tkgKLqz: \"x1ua5tub\",\n\t\tk1xSpc: \"x104kibb\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/icon/icon.markers.stylex.ts\n/**\n* Scopes a container's `data-icon` selectors to a Mosaic `Icon`, so a stray `data-icon` elsewhere\n* in the subtree can't trigger them. `Icon` applies it; `Button`'s inline padding matches on it.\n*\n* Its own module because `@stylexjs/enforce-extension` requires the define-primitives to live in\n* a `.stylex.ts` file.\n*/\nconst iconScope = {\n\txv0oujw: \"xv0oujw\",\n\t$$css: true\n};\n\n//#endregion\n//#region src/mosaic/components/button/button.styles.ts\n`${colorVars[\"--cl-color-primary\"]}${colorVars[\"--cl-color-primary-foreground\"]}`;\n`${colorVars[\"--cl-color-primary\"]}${colorVars[\"--cl-color-primary-foreground\"]}`;\n`${colorVars[\"--cl-color-negative\"]}${colorVars[\"--cl-color-negative-foreground\"]}`;\n`${colorVars[\"--cl-color-negative\"]}${colorVars[\"--cl-color-negative-foreground\"]}`;\ncolorVars[\"--cl-color-neutral-faded\"];\n`${colorVars[\"--cl-color-negative\"]}${colorVars[\"--cl-color-negative-faded\"]}`;\n`${colorVars[\"--cl-color-primary-foreground\"]}${colorVars[\"--cl-color-primary\"]}`;\n`${colorVars[\"--cl-color-negative-foreground\"]}${colorVars[\"--cl-color-negative\"]}`;\nconst styles$7 = {\n\tbase: {\n\t\t\"--_cl-icon-duration\": \"x1oyuh9t xsqxck0 xan7ic9\",\n\t\tkVAM5u: \"x9r1u3d\",\n\t\tkaIpWk: \"xzmjytj\",\n\t\tksu8eU: \"x1y0btm7\",\n\t\tkMzoRj: \"xmkeg23\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkysU6D: \"xjyslct\",\n\t\tkkrTdU: \"x1ypdohk\",\n\t\tk1xSpc: \"x3nfvp2\",\n\t\tkmuXW: \"x2lah0s\",\n\t\tkMv6JI: \"xbhks3\",\n\t\tk63SB2: \"x1356bol\",\n\t\tkjj79g: \"xl56j7k\",\n\t\tkIyJzY: \"x15zdmbk xd7ywep x1i54168\",\n\t\tk1ekBW: \"xfdlj7e\",\n\t\tkAMwcw: \"xcj1dhv\",\n\t\tkfSwDN: \"x87ps6o\",\n\t\tkhDVqt: \"xuxw1ft\",\n\t\t$$css: true\n\t},\n\tlabel: {\n\t\tk7Eaqz: \"xeuugli\",\n\t\t$$css: true\n\t},\n\tshapeSquare: {\n\t\tkaIpWk: \"xzmjytj\",\n\t\tkwRFfy: \"xyri2b\",\n\t\tkZCmMZ: \"x1c1uobl\",\n\t\t$$css: true\n\t},\n\tshapeCircle: {\n\t\tkaIpWk: \"xsq0ucf\",\n\t\tkwRFfy: \"xyri2b\",\n\t\tkZCmMZ: \"x1c1uobl\",\n\t\t$$css: true\n\t},\n\ttouchTarget: {\n\t\tkVAEAm: \"xrxqdxo\",\n\t\tkSy8m5: \"xzsz2wb\",\n\t\tkcktkL: \"xb7ltuz\",\n\t\tk5JduY: \"x1fjtqre\",\n\t\tkwXMNM: \"x1j6awrg\",\n\t\t$$css: true\n\t},\n\ttouchTargetIcon: {\n\t\tkcktkL: \"x1oplquz\",\n\t\t$$css: true\n\t},\n\tfullWidth: {\n\t\tkUk6DE: \"x98rzlu\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\t$$css: true\n\t},\n\tdisabled: {\n\t\tkkrTdU: \"x1h6gzvc\",\n\t\tkSiTet: \"xbyyjgo\",\n\t\t$$css: true\n\t}\n};\nconst variants = {\n\t\"filled-primary\": {\n\t\t\"--_cl-icon-color\": \"xb14vx4 x1k5hh79 x1nx7l6m\",\n\t\tkWkggS: \"x8iw500 x93f6g0 xx0sq9k xksjv81\",\n\t\tkMwMTN: \"x1dssb7w\",\n\t\t$$css: true\n\t},\n\t\"filled-neutral\": {\n\t\t\"--_cl-icon-color\": \"x21fbpw x1xu06ng x1l4fua4\",\n\t\tkWkggS: \"xl6u2f4 xyi1g53 xa33x59 x2709fx\",\n\t\tkMwMTN: \"x1dky8hy\",\n\t\t$$css: true\n\t},\n\t\"filled-negative\": {\n\t\t\"--_cl-icon-color\": \"xloh1ix x1suflk8 x1umfs66\",\n\t\tkWkggS: \"x1i7qlve xmgcr8f x1j39op1 xarpj62\",\n\t\tkMwMTN: \"x17h5lh2\",\n\t\t$$css: true\n\t},\n\t\"outline-primary\": {\n\t\t\"--_cl-icon-color\": \"x21fbpw x1qmz0ca x1fiow7k\",\n\t\tkVAM5u: \"x7vjwj5\",\n\t\tkWkggS: \"xjbqb8w x1156c53 x1pkhg7x xejrao2\",\n\t\tkMwMTN: \"xfuwino\",\n\t\t$$css: true\n\t},\n\t\"outline-neutral\": {\n\t\t\"--_cl-icon-color\": \"x21fbpw x1xu06ng x1l4fua4\",\n\t\tkVAM5u: \"x7vjwj5\",\n\t\tkWkggS: \"xjbqb8w x1156c53 x1pkhg7x xejrao2\",\n\t\tkMwMTN: \"x1dky8hy\",\n\t\t$$css: true\n\t},\n\t\"outline-negative\": {\n\t\t\"--_cl-icon-color\": \"xnjffwo xrbxrgo xy96w78\",\n\t\tkVAM5u: \"x7vjwj5\",\n\t\tkWkggS: \"xjbqb8w x1156c53 x1pkhg7x xejrao2\",\n\t\tkMwMTN: \"xon2h3r\",\n\t\t$$css: true\n\t},\n\t\"ghost-primary\": {\n\t\t\"--_cl-icon-color\": \"x21fbpw x1qmz0ca x1fiow7k\",\n\t\tkWkggS: \"xjbqb8w x1156c53 x1pkhg7x xejrao2\",\n\t\tkMwMTN: \"xfuwino\",\n\t\t$$css: true\n\t},\n\t\"ghost-neutral\": {\n\t\t\"--_cl-icon-color\": \"x21fbpw x1xu06ng x1l4fua4\",\n\t\tkWkggS: \"xjbqb8w x1156c53 x1pkhg7x xejrao2\",\n\t\tkMwMTN: \"x1dky8hy\",\n\t\t$$css: true\n\t},\n\t\"ghost-negative\": {\n\t\t\"--_cl-icon-color\": \"xnjffwo xrbxrgo xy96w78\",\n\t\tkWkggS: \"xjbqb8w x1cn4emb x1g7aax5 xi5xy6n\",\n\t\tkMwMTN: \"xon2h3r\",\n\t\t$$css: true\n\t},\n\t\"link-primary\": {\n\t\t\"--_cl-icon-color\": \"x21fbpw x1fiow7k\",\n\t\tkWkggS: \"xjbqb8w\",\n\t\tkMwMTN: \"xfuwino\",\n\t\tkwRFfy: \"xyri2b\",\n\t\tkZCmMZ: \"x1c1uobl\",\n\t\tk1TLXF: \"xr5o5jz x4ppvo4\",\n\t\tkMnn75: \"xujl8zx\",\n\t\tkcSHmL: \"xrys4gj\",\n\t\tkZKoxP: \"xt7dq6l\",\n\t\t$$css: true\n\t},\n\t\"link-neutral\": {\n\t\t\"--_cl-icon-color\": \"x21fbpw x1l4fua4\",\n\t\tkWkggS: \"xjbqb8w\",\n\t\tkMwMTN: \"x1dky8hy\",\n\t\tkwRFfy: \"xyri2b\",\n\t\tkZCmMZ: \"x1c1uobl\",\n\t\tk1TLXF: \"xr5o5jz x4ppvo4\",\n\t\tkMnn75: \"xujl8zx\",\n\t\tkcSHmL: \"xrys4gj\",\n\t\tkZKoxP: \"xt7dq6l\",\n\t\t$$css: true\n\t},\n\t\"link-negative\": {\n\t\t\"--_cl-icon-color\": \"xnjffwo xy96w78\",\n\t\tkWkggS: \"xjbqb8w\",\n\t\tkMwMTN: \"xon2h3r\",\n\t\tkwRFfy: \"xyri2b\",\n\t\tkZCmMZ: \"x1c1uobl\",\n\t\tk1TLXF: \"xr5o5jz x4ppvo4\",\n\t\tkMnn75: \"xujl8zx\",\n\t\tkcSHmL: \"xrys4gj\",\n\t\tkZKoxP: \"xt7dq6l\",\n\t\t$$css: true\n\t}\n};\nconst sizes$4 = {\n\tsm: {\n\t\tkOIVth: \"x1m40gi7\",\n\t\tkGuDYH: \"xoquv76\",\n\t\tkLWn49: \"x1s3bc0o\",\n\t\tkwRFfy: \"x1f3lon0 xz00goy\",\n\t\tkZCmMZ: \"x1cg68ic xwc2e68\",\n\t\tkZKoxP: \"xpd21ip\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkOIVth: \"x23m7v\",\n\t\tkGuDYH: \"xycjmc8\",\n\t\tkLWn49: \"x4wh5sz\",\n\t\tkwRFfy: \"xheug0j xz00goy\",\n\t\tkZCmMZ: \"x16igjie xwc2e68\",\n\t\tkZKoxP: \"x5ueopp\",\n\t\t$$css: true\n\t},\n\tlg: {\n\t\tkOIVth: \"x23m7v\",\n\t\tkGuDYH: \"xiavimo\",\n\t\tkLWn49: \"x60xny5\",\n\t\tkwRFfy: \"xheug0j xz00goy\",\n\t\tkZCmMZ: \"x16igjie xwc2e68\",\n\t\tkZKoxP: \"x130cbx6\",\n\t\t$$css: true\n\t}\n};\nconst iconSizes = {\n\tsm: {\n\t\tkzqmXN: \"xxh3iqc\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkzqmXN: \"xdlblfk\",\n\t\t$$css: true\n\t},\n\tlg: {\n\t\tkzqmXN: \"xv6aqql\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/button/button.tsx\n/**\n* A clickable action styled by the Mosaic recipe. Renders a `button` and forwards its\n* ref; `color`, `variant`, and `size` are independent axes, with `shape` and `fullWidth`\n* as orthogonal modifiers.\n*\n* @example\n* // Default (primary, filled, md)\n* <Button>Save</Button>\n*\n* @example\n* // Negative color with a non-filled variant\n* <Button color='negative' variant='outline'>Delete</Button>\n*\n* @example\n* // Icon-only, circular, small\n* <Button shape='circle' size='sm' aria-label='Close'><CloseIcon /></Button>\n*\n* @example\n* // Full-width ghost button\n* <Button variant='ghost' fullWidth>Continue</Button>\n*/\nfunction withTruncatableLabel(children) {\n\tconst result = [];\n\tlet run = [];\n\tconst flushRun = () => {\n\t\tif (run.length === 0) return;\n\t\tresult.push(/* @__PURE__ */ jsx(\"span\", {\n\t\t\t...props(reset.base, truncationStyles.singleLine, styles$7.label),\n\t\t\tchildren: run\n\t\t}, `label-${result.length}`));\n\t\trun = [];\n\t};\n\tfor (const child of React.Children.toArray(children)) if (typeof child === \"string\" || typeof child === \"number\") run.push(child);\n\telse {\n\t\tflushRun();\n\t\tresult.push(child);\n\t}\n\tflushRun();\n\treturn result;\n}\nconst Button = React.forwardRef(function MosaicButton({ color = \"primary\", variant = \"filled\", size = \"md\", shape = \"default\", fullWidth = false, touchTarget = true, disabled = false, focusableWhenDisabled = false, className, style, children, ...rest }, ref) {\n\tconst isIconShape = shape === \"square\" || shape === \"circle\";\n\tconst hasTouchTarget = touchTarget && variant !== \"link\";\n\treturn /* @__PURE__ */ jsx(Button$1, {\n\t\tref,\n\t\tdisabled,\n\t\tfocusableWhenDisabled,\n\t\t...mergeStyleProps(themeProps(\"button\", {\n\t\t\tcolor,\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tshape,\n\t\t\tfullWidth,\n\t\t\tdisabled\n\t\t}), props(reset.base, focusOutline.visible, styles$7.base, sizes$4[size], variants[`${variant}-${color}`], shape === \"square\" && styles$7.shapeSquare, shape === \"circle\" && styles$7.shapeCircle, isIconShape && iconSizes[size], hasTouchTarget && styles$7.touchTarget, hasTouchTarget && isIconShape && styles$7.touchTargetIcon, fullWidth && styles$7.fullWidth, disabled && styles$7.disabled), className, style),\n\t\t...rest,\n\t\tchildren: withTruncatableLabel(children)\n\t});\n});\n\n//#endregion\n//#region src/mosaic/components/spinner/spinner.styles.ts\nconst styles$6 = { base: {\n\tkVAM5u: \"x1se1pf9\",\n\tkaIpWk: \"xsq0ucf\",\n\tksu8eU: \"x1y0btm7\",\n\tk44tkh: \"xdz8niu\",\n\tko0y90: \"xa4qsjk\",\n\tkKVMdj: \"x1aerksh x1aquc0h\",\n\tkyAemX: \"x1esw782\",\n\tkLZC3w: \"x1b4hy2t\",\n\tkB7OPa: \"x9f619\",\n\tk1xSpc: \"x1rg5ohu\",\n\tkmuXW: \"x2lah0s\",\n\t$$css: true\n} };\nconst sizes$3 = {\n\tsm: {\n\t\tkMzoRj: \"xvndefy\",\n\t\tkZKoxP: \"xjyqqt9\",\n\t\tkzqmXN: \"x125yc2o\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkMzoRj: \"xdh2fpr\",\n\t\tkZKoxP: \"x1jumdjj\",\n\t\tkzqmXN: \"xrv0xk7\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/spinner/spinner.tsx\n/**\n* Indeterminate loading spinner. Decorative (`aria-hidden`) — pair it with a disabled control or an\n* `aria-busy` container so assistive tech is informed of the pending state.\n*\n* @example\n* // Default (md), sized to match a `md` Icon\n* <Spinner />\n*\n* @example\n* // Standing in for a `sm` Icon\n* <Spinner size='sm' />\n*/\nconst Spinner = React.forwardRef(function MosaicSpinner({ size = \"md\", className, style, ...rest }, ref) {\n\treturn /* @__PURE__ */ jsx(\"span\", {\n\t\tref,\n\t\t\"aria-hidden\": true,\n\t\t...mergeStyleProps(themeProps(\"spinner\", { size }), props(styles$6.base, sizes$3[size]), className, style),\n\t\t...rest\n\t});\n});\n\n//#endregion\n//#region src/mosaic/components/button/submit-button.styles.ts\nconst styles$5 = {\n\troot: {\n\t\tkVAEAm: \"x1n2onr6\",\n\t\t$$css: true\n\t},\n\trootPending: {\n\t\tkfzvcC: \"x47corl\",\n\t\t$$css: true\n\t},\n\tcontent: {\n\t\tkOIVth: \"x14kbac9\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tk1xSpc: \"x3nfvp2\",\n\t\tk7Eaqz: \"xeuugli\",\n\t\t$$css: true\n\t},\n\tcontentPending: {\n\t\tkSiTet: \"xg01cxk\",\n\t\t$$css: true\n\t},\n\tspinner: {\n\t\tkogj98: \"x1bpp3o7\",\n\t\tkYYq5F: \"x10no89f\",\n\t\tkkqhue: \"x17y0mx6\",\n\t\tkVAEAm: \"x10l6tqk\",\n\t\t$$css: true\n\t},\n\tspinnerHidden: {\n\t\tkSiTet: \"xg01cxk\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/button/submit-button.tsx\nconst spinnerSizes = {\n\tsm: \"sm\",\n\tmd: \"md\",\n\tlg: \"md\"\n};\nconst DEFAULT_SPIN_DELAY = 300;\n/**\n* A `Button` that submits its form, with a pending affordance. Takes every `Button` prop;\n* `type` defaults to `submit` and can still be overridden.\n*\n* While `isPending`, the button is inert but stays focusable and announced — see the\n* `isPending` prop for what that means for assistive tech.\n*\n* @example\n* <SubmitButton isPending={isSubmitting}>Save</SubmitButton>\n*\n* @example\n* // Pending state on a destructive action\n* <SubmitButton color='negative' isPending={isDeleting}>Delete</SubmitButton>\n*/\nconst SubmitButton = React.forwardRef(function MosaicSubmitButton({ isPending = false, pendingLabel = \"pending\", size = \"md\", spinDelay, className, children, onClick, ...rest }, ref) {\n\tconst { delay = DEFAULT_SPIN_DELAY, minDuration } = spinDelay ?? {};\n\tconst showPending = useSpinDelay(isPending || null, {\n\t\tdelay,\n\t\tminDuration\n\t}) !== null;\n\tconst handleClick = (event) => {\n\t\tif (isPending) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tonClick?.(event);\n\t};\n\treturn /* @__PURE__ */ jsxs(Button, {\n\t\tref,\n\t\ttype: \"submit\",\n\t\tsize,\n\t\t...isPending ? {\n\t\t\t\"aria-busy\": true,\n\t\t\t\"aria-disabled\": true,\n\t\t\t\"data-pending\": \"\"\n\t\t} : null,\n\t\tonClick: handleClick,\n\t\t...mergeStyleProps(props(styles$5.root, isPending && styles$5.rootPending), className),\n\t\t...rest,\n\t\tchildren: [/* @__PURE__ */ jsx(\"span\", {\n\t\t\t...mergeStyleProps(themeProps(\"button-content\"), props(reset.base, styles$5.content, showPending && styles$5.contentPending)),\n\t\t\tchildren: withTruncatableLabel(children)\n\t\t}), isPending || showPending ? /* @__PURE__ */ jsx(Spinner, {\n\t\t\trole: \"progressbar\",\n\t\t\t\"aria-hidden\": void 0,\n\t\t\t\"aria-label\": pendingLabel,\n\t\t\tsize: spinnerSizes[size],\n\t\t\t...props(styles$5.spinner, !showPending && styles$5.spinnerHidden)\n\t\t}) : null]\n\t});\n});\n\n//#endregion\n//#region src/mosaic/components/clerk-logo/clerk-logo.tsx\nfunction ClerkLogo(props) {\n\treturn /* @__PURE__ */ jsxs(\"svg\", {\n\t\tviewBox: \"0 0 441 128\",\n\t\tfill: \"none\",\n\t\trole: \"img\",\n\t\t\"aria-label\": \"Clerk\",\n\t\t...props,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(\"path\", {\n\t\t\t\tfill: \"currentColor\",\n\t\t\t\td: \"M166.971 40.917c11.605 0 23.824 4.606 31.392 13.519a.14.14 0 0 1-.015.196l-11.393 9.859a.14.14 0 0 1-.198-.014 24.4 24.4 0 0 0-8.422-6.174 24.9 24.9 0 0 0-10.437-2.133c-13.41 0-22.35 9.192-22.35 22.63 0 6.713 2.223 12.345 6.087 16.29a22.1 22.1 0 0 0 7.464 4.805 22.5 22.5 0 0 0 8.799 1.511 26.7 26.7 0 0 0 10.378-1.996 26.2 26.2 0 0 0 8.635-5.752.14.14 0 0 1 .192-.007l11.645 10.047a.14.14 0 0 1 .013.2c-6.497 7.175-17.999 12.866-32.397 12.866-11.139 0-20.793-3.91-27.569-10.565S128 90.12 128 78.928c0-22.63 16.169-38.01 38.971-38.01\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"path\", {\n\t\t\t\tfill: \"currentColor\",\n\t\t\t\tfillRule: \"evenodd\",\n\t\t\t\td: \"M272.297 40.924c22.067 0 36.337 15.52 36.337 36.95a61 61 0 0 1-.457 6.659.14.14 0 0 1-.14.123h-54.261a.14.14 0 0 0-.136.171c2.321 10.287 10.27 16.557 21.26 16.557 3.579.075 7.126-.66 10.369-2.151a23.25 23.25 0 0 0 8.236-6.335.14.14 0 0 1 .199-.019l.447.373 11.163 9.719a.14.14 0 0 1 .018.194c-6.316 7.834-16.808 13.599-31.355 13.599-21.772 0-38.196-15.077-38.196-37.983 0-11.238 3.87-20.663 10.319-27.317a35.7 35.7 0 0 1 11.989-7.934 36.2 36.2 0 0 1 14.208-2.606m.887 15.229a19.4 19.4 0 0 0-8.036 1.46 19.15 19.15 0 0 0-6.683 4.624 20.44 20.44 0 0 0-4.538 8.68.14.14 0 0 0 .135.173h37.036a.14.14 0 0 0 .135-.174c-2.156-8.804-8.293-14.763-18.049-14.763\",\n\t\t\t\tclipRule: \"evenodd\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"path\", {\n\t\t\t\tfill: \"currentColor\",\n\t\t\t\td: \"M225.661 11.976a.14.14 0 0 1 .141.14v103.509a.14.14 0 0 1-.141.141h-16.684a.14.14 0 0 1-.141-.141V12.117c0-.078.063-.141.141-.141zM361.385 40.92a.14.14 0 0 1 .142.14v18.552c0 .081-.07.146-.151.14-1.944-.147-3.88-.29-5.072-.29-13.058 0-20.725 9.19-20.725 21.253v34.91a.14.14 0 0 1-.141.141h-16.683a.14.14 0 0 1-.141-.141v-73.52a.14.14 0 0 1 .141-.14h16.683a.14.14 0 0 1 .141.14V53.04c0 .057.047.103.104.103a.1.1 0 0 0 .083-.041c5.851-7.815 14.488-12.162 23.613-12.162zM388.332 11.976a.14.14 0 0 1 .141.14v63.165c0 .129.157.19.244.095l30.691-33.455a.14.14 0 0 1 .104-.046h20.063c.122 0 .187.145.105.236l-26.752 29.515a.14.14 0 0 0-.016.17l27.119 43.755a.14.14 0 0 1-.119.215h-19.033a.14.14 0 0 1-.12-.067l-19.234-30.912a.14.14 0 0 0-.119-.066h-.18a.14.14 0 0 0-.104.045l-12.612 13.55a.14.14 0 0 0-.037.096v17.213a.14.14 0 0 1-.141.141h-16.685a.14.14 0 0 1-.14-.141V12.117a.14.14 0 0 1 .14-.141zM84 64c0 11.046-8.954 20-20 20s-20-8.954-20-20 8.954-20 20-20 20 8.954 20 20M100.04 111.354c1.702 1.702 1.531 4.519-.468 5.858C89.399 124.026 77.163 128 64 128s-25.4-3.974-35.572-10.788c-2-1.339-2.17-4.156-.468-5.858l14.615-14.616c1.321-1.32 3.37-1.53 5.033-.678A35.85 35.85 0 0 0 64 100a35.85 35.85 0 0 0 16.391-3.94c1.663-.851 3.712-.643 5.033.678z\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"path\", {\n\t\t\t\tfill: \"currentColor\",\n\t\t\t\tfillOpacity: \".4\",\n\t\t\t\td: \"M99.572 10.788c1.999 1.34 2.17 4.156.468 5.858L85.424 31.262c-1.32 1.32-3.37 1.53-5.033.678A35.85 35.85 0 0 0 64 28c-19.882 0-36 16.118-36 36a35.85 35.85 0 0 0 3.94 16.391c.851 1.663.643 3.712-.678 5.033L16.646 100.04c-1.702 1.702-4.519 1.531-5.858-.468C3.974 89.399 0 77.163 0 64 0 28.654 28.654 0 64 0c13.164 0 25.399 3.974 35.572 10.788\"\n\t\t\t})\n\t\t]\n\t});\n}\n\n//#endregion\n//#region ../headless/src/hooks/use-controllable-state.ts\n/**\n* Manages a value that can be either controlled (externally owned) or\n* uncontrolled (internally owned). When `controlled` is `undefined`, the\n* hook stores the value internally; otherwise it defers to the caller.\n*\n* `onChange` is always called on updates regardless of mode.\n*/\nfunction useControllableState(controlled, defaultValue, onChange) {\n\tconst [uncontrolled, setUncontrolled] = useState(defaultValue);\n\tconst isControlled = controlled !== void 0;\n\treturn [isControlled ? controlled : uncontrolled, useCallback((next) => {\n\t\tif (!isControlled) setUncontrolled(next);\n\t\tonChange?.(next);\n\t}, [isControlled, onChange])];\n}\n\n//#endregion\n//#region ../headless/src/hooks/use-return-focus.ts\n/**\n* The element `FloatingFocusManager` restores focus to when the floating element closes.\n*\n* The trigger is the default, which is what a keyboard user needs. Safari never focuses a\n* button it was clicked on, so after a pointer dismiss the popup is the only thing the page\n* has focused: restoring focus to the trigger then matches `:focus-visible` and paints a ring\n* the user never asked for. A pointer dismiss therefore resolves to `null`, which leaves focus\n* where the pointer left it, the same choice Base UI makes from its close interaction type.\n*\n* Pass the result to `FloatingFocusManager`'s `returnFocus`. On `null` it falls back to the\n* hidden guard element it keeps next to the trigger, so the tab position survives; verify that\n* still holds when upgrading `@floating-ui/react`.\n*/\nfunction useReturnFocus(context) {\n\tconst { open, events, elements } = context;\n\tconst returnFocusRef = useRef(null);\n\tconst trigger = elements.domReference;\n\tuseEffect(() => {\n\t\tif (open) returnFocusRef.current = trigger instanceof HTMLElement ? trigger : null;\n\t}, [open, trigger]);\n\tuseEffect(() => {\n\t\tfunction onOpenChange({ open, event, reason }) {\n\t\t\tif (!open && event && reason && !isKeyboardEvent(event)) returnFocusRef.current = null;\n\t\t}\n\t\tevents.on(\"openchange\", onOpenChange);\n\t\treturn () => events.off(\"openchange\", onOpenChange);\n\t}, [events]);\n\treturn returnFocusRef;\n}\n\n//#endregion\n//#region ../headless/src/hooks/use-animations-finished.ts\n/**\n* Returns a function that waits for all CSS animations/transitions on the\n* referenced element to finish, then invokes a callback.\n*\n* Uses the Web Animations API (`element.getAnimations()` + `animation.finished`)\n* so we're duration-agnostic — CSS owns all timing.\n*\n* When `open` is true, waits for `[data-starting-style]` to be removed\n* before polling animations. This avoids a race where `getAnimations()` returns\n* an empty array before the enter transition has been registered.\n*\n* Each call aborts any pending wait from a previous call, so rapid open/close\n* toggles don't leak stale callbacks.\n*/\nfunction useAnimationsFinished(ref, open) {\n\tconst abortRef = useRef(null);\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tabortRef.current?.abort();\n\t\t};\n\t}, []);\n\treturn useCallback((callback) => {\n\t\tconst element = ref.current;\n\t\tabortRef.current?.abort();\n\t\tconst controller = new AbortController();\n\t\tabortRef.current = controller;\n\t\tconst { signal } = controller;\n\t\tif (!element || typeof element.getAnimations !== \"function\") {\n\t\t\tcallback();\n\t\t\treturn;\n\t\t}\n\t\tconst runCheck = () => {\n\t\t\tif (signal.aborted) return;\n\t\t\tconst animations = element.getAnimations();\n\t\t\tif (animations.length === 0) {\n\t\t\t\tcallback();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tPromise.all(animations.map((a) => a.finished)).then(() => {\n\t\t\t\tif (signal.aborted) return;\n\t\t\t\tflushSync(callback);\n\t\t\t}).catch(() => {\n\t\t\t\tif (signal.aborted) return;\n\t\t\t\tif (element.getAnimations().length > 0) runCheck();\n\t\t\t\telse flushSync(callback);\n\t\t\t});\n\t\t};\n\t\tif (open && element.hasAttribute(\"data-starting-style\")) {\n\t\t\tconst observer = new MutationObserver(() => {\n\t\t\t\tif (!element.hasAttribute(\"data-starting-style\")) {\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t\trunCheck();\n\t\t\t\t}\n\t\t\t});\n\t\t\tobserver.observe(element, {\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: [\"data-starting-style\"]\n\t\t\t});\n\t\t\tsignal.addEventListener(\"abort\", () => observer.disconnect());\n\t\t\treturn;\n\t\t}\n\t\trunCheck();\n\t}, [ref, open]);\n}\n\n//#endregion\n//#region ../headless/src/hooks/use-transition-status.ts\n/**\n* Core state machine for enter/exit animations.\n*\n* Tracks whether a component should be in the DOM (`mounted`) and which\n* animation phase it is in (`transitionStatus`).\n*\n* - When `open` becomes true: synchronously sets `mounted=true` and\n* `transitionStatus='starting'` during render so the first committed DOM\n* frame carries `[data-starting-style]`. One animation frame later, clears\n* the status so the CSS transition fires.\n* - When `open` becomes false: synchronously sets `transitionStatus='ending'`.\n* The element stays mounted until the caller explicitly calls `setMounted(false)`\n* (typically after all CSS animations have finished).\n*/\nfunction useTransitionStatus(open) {\n\tconst [mounted, setMounted] = useState(open);\n\tconst [transitionStatus, setTransitionStatus] = useState(open ? \"starting\" : void 0);\n\tif (open && !mounted) {\n\t\tsetMounted(true);\n\t\tsetTransitionStatus(\"starting\");\n\t}\n\tif (!open && mounted && transitionStatus !== \"ending\") setTransitionStatus(\"ending\");\n\tif (!mounted && transitionStatus !== void 0) setTransitionStatus(void 0);\n\tuseEffect(() => {\n\t\tif (!open) return;\n\t\tconst id = requestAnimationFrame(() => {\n\t\t\tsetTransitionStatus(void 0);\n\t\t});\n\t\treturn () => cancelAnimationFrame(id);\n\t}, [open]);\n\treturn {\n\t\tmounted,\n\t\ttransitionStatus,\n\t\tsetMounted\n\t};\n}\n\n//#endregion\n//#region ../headless/src/hooks/use-transition.ts\n/**\n* Enter/exit animation lifecycle hook.\n*\n* Returns:\n* - `mounted`: whether the element should render. Gate your JSX on this.\n* - `transitionProps`: spread onto the element. Exposes\n* `data-open` / `data-closed` / `data-starting-style` /\n* `data-ending-style` data attributes and an inline `transition: none` on\n* the first mount frame.\n*\n* Consumers drive all animation via CSS — no durations in JS. Works with CSS\n* transitions (via `[data-starting-style]` / `[data-ending-style]`) and\n* CSS keyframe animations (via `[data-open]` / `[data-closed]`).\n*/\nfunction useTransition({ open, ref }) {\n\tconst { mounted, transitionStatus, setMounted } = useTransitionStatus(open);\n\tconst runOnAnimationsFinished = useAnimationsFinished(ref, open);\n\tuseEffect(() => {\n\t\tif (transitionStatus !== \"ending\") return;\n\t\trunOnAnimationsFinished(() => {\n\t\t\tsetMounted(false);\n\t\t});\n\t}, [\n\t\ttransitionStatus,\n\t\trunOnAnimationsFinished,\n\t\tsetMounted\n\t]);\n\treturn {\n\t\tmounted,\n\t\ttransitionStatus,\n\t\ttransitionProps: useMemo(() => {\n\t\t\tconst props = {};\n\t\t\tif (open) props[\"data-open\"] = \"\";\n\t\t\telse if (mounted) props[\"data-closed\"] = \"\";\n\t\t\tif (transitionStatus === \"starting\") {\n\t\t\t\tprops[\"data-starting-style\"] = \"\";\n\t\t\t\tprops.style = { transition: \"none\" };\n\t\t\t} else if (transitionStatus === \"ending\") props[\"data-ending-style\"] = \"\";\n\t\t\treturn props;\n\t\t}, [\n\t\t\topen,\n\t\t\tmounted,\n\t\t\ttransitionStatus\n\t\t])\n\t};\n}\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-context.ts\nconst DialogContext$1 = createContext(null);\nfunction useDialogContext() {\n\tconst ctx = useContext(DialogContext$1);\n\tif (!ctx) throw new Error(\"Dialog compound components must be used within <Dialog.Root>\");\n\treturn ctx;\n}\n/** Context access for parts that can also live outside the root — a trigger given a `handle`. */\nfunction useOptionalDialogContext() {\n\treturn useContext(DialogContext$1);\n}\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-handle.ts\nconst CLOSED_STATE = {\n\topen: false,\n\ttriggerId: null,\n\tpopupId: void 0\n};\n/**\n* Creates a {@link DialogHandle} to pass to both a `Dialog.Trigger` and a `Dialog.Root`, so a\n* detached trigger can drive the dialog. The type parameter types the `payload` carried from\n* each trigger into the root's children render function.\n*/\nfunction createDialogHandle() {\n\tconst triggers = /* @__PURE__ */ new Map();\n\tconst listeners = /* @__PURE__ */ new Set();\n\tlet root = null;\n\tlet state = CLOSED_STATE;\n\tconst notify = () => listeners.forEach((listener) => listener());\n\treturn {\n\t\topen(payload) {\n\t\t\troot?.setOpen(true, payload);\n\t\t},\n\t\tclose() {\n\t\t\troot?.setOpen(false);\n\t\t},\n\t\tget isOpen() {\n\t\t\treturn state.open;\n\t\t},\n\t\tget hasRoot() {\n\t\t\treturn root !== null;\n\t\t},\n\t\tregisterTrigger(registration) {\n\t\t\ttriggers.set(registration.id, registration);\n\t\t\tnotify();\n\t\t\treturn () => {\n\t\t\t\tif (triggers.get(registration.id) === registration) {\n\t\t\t\t\ttriggers.delete(registration.id);\n\t\t\t\t\tnotify();\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tgetTrigger: (id) => triggers.get(id),\n\t\tgetFirstTrigger: () => triggers.values().next().value,\n\t\tsetRoot(controller) {\n\t\t\troot = controller;\n\t\t\treturn () => {\n\t\t\t\tif (root === controller) root = null;\n\t\t\t};\n\t\t},\n\t\trequestOpen(id, event) {\n\t\t\troot?.openFromTrigger(id, event);\n\t\t},\n\t\trequestClose(id, event) {\n\t\t\troot?.closeFromTrigger(id, event);\n\t\t},\n\t\tpublishState(next) {\n\t\t\tif (next.open === state.open && next.triggerId === state.triggerId && next.popupId === state.popupId) return;\n\t\t\tstate = next;\n\t\t\tnotify();\n\t\t},\n\t\tgetState: () => state,\n\t\tsubscribe(listener) {\n\t\t\tlisteners.add(listener);\n\t\t\treturn () => listeners.delete(listener);\n\t\t}\n\t};\n}\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-nesting.ts\nconst DialogNestingContext = createContext(null);\n/**\n* Joins a dialog root to the stack it belongs to, in both directions: up, to report itself to\n* the dialog it renders inside, and down, to count the dialogs that render inside it.\n*/\nfunction useDialogNesting(open, mounted) {\n\tconst parent = useContext(DialogNestingContext);\n\tconst [stackedChildCount, setStackedChildCount] = useState(0);\n\tconst registerStackedChild = useCallback(() => {\n\t\tsetStackedChildCount((count) => count + 1);\n\t\tlet released = false;\n\t\treturn () => {\n\t\t\tif (released) return;\n\t\t\treleased = true;\n\t\t\tsetStackedChildCount((count) => count - 1);\n\t\t};\n\t}, []);\n\tconst registerWithParent = parent?.registerStackedChild;\n\tuseLayoutEffect(() => {\n\t\tif (!open || !registerWithParent) return;\n\t\treturn registerWithParent();\n\t}, [open, registerWithParent]);\n\tconst covering = open || mounted;\n\tconst context = useMemo(() => ({\n\t\topen: covering,\n\t\tregisterStackedChild\n\t}), [covering, registerStackedChild]);\n\treturn {\n\t\tisStacked: parent !== null && parent.open,\n\t\tstackedChildCount,\n\t\tcontext\n\t};\n}\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-root.tsx\nfunction DialogInner(props) {\n\tconst nodeId = useFloatingNodeId();\n\tconst { modal = true, closedBy = \"any\", role: ariaRole = \"dialog\", isNested, children, onOpenChange } = props;\n\tconst fallbackStore = useMemo(() => createDialogHandle(), []);\n\tconst store = props.handle ?? fallbackStore;\n\tconst [open, setOpenState] = useControllableState(props.open, props.defaultOpen ?? false);\n\tconst [activeTriggerId, setActiveTriggerId] = useControllableState(props.triggerId, null);\n\tconst [activePayload, setActivePayload] = useState(void 0);\n\tconst labelId = useId();\n\tconst descriptionId = useId();\n\tconst popupRef = useRef(null);\n\tconst pendingDetailsRef = useRef(null);\n\tconst directPayloadRef = useRef(void 0);\n\tconst { refs, context: floatingContext } = useFloating({\n\t\tnodeId,\n\t\topen,\n\t\tonOpenChange: (nextOpen, event) => {\n\t\t\tconst details = pendingDetailsRef.current ?? {\n\t\t\t\ttrigger: null,\n\t\t\t\ttriggerId: null,\n\t\t\t\tevent\n\t\t\t};\n\t\t\tpendingDetailsRef.current = null;\n\t\t\tsetOpenState(nextOpen);\n\t\t\tonOpenChange?.(nextOpen, details);\n\t\t}\n\t});\n\tuseLayoutEffect(() => {\n\t\treturn store.setRoot({\n\t\t\topenFromTrigger: (id, event) => {\n\t\t\t\tconst registration = store.getTrigger(id);\n\t\t\t\tsetActiveTriggerId(id);\n\t\t\t\tdirectPayloadRef.current = void 0;\n\t\t\t\tsetActivePayload(registration?.getPayload());\n\t\t\t\tif (registration) refs.setReference(registration.element);\n\t\t\t\tpendingDetailsRef.current = {\n\t\t\t\t\ttrigger: registration?.element ?? null,\n\t\t\t\t\ttriggerId: id,\n\t\t\t\t\tevent\n\t\t\t\t};\n\t\t\t\tfloatingContext.onOpenChange(true, event, \"click\");\n\t\t\t},\n\t\t\tcloseFromTrigger: (id, event) => {\n\t\t\t\tpendingDetailsRef.current = {\n\t\t\t\t\ttrigger: store.getTrigger(id)?.element ?? null,\n\t\t\t\t\ttriggerId: id,\n\t\t\t\t\tevent\n\t\t\t\t};\n\t\t\t\tfloatingContext.onOpenChange(false, event, \"click\");\n\t\t\t},\n\t\t\tsetOpen: (nextOpen, payload) => {\n\t\t\t\tdirectPayloadRef.current = payload;\n\t\t\t\tif (nextOpen) setActivePayload(payload);\n\t\t\t\tfloatingContext.onOpenChange(nextOpen);\n\t\t\t}\n\t\t});\n\t}, [\n\t\tstore,\n\t\trefs,\n\t\tfloatingContext,\n\t\tsetActiveTriggerId\n\t]);\n\tuseLayoutEffect(() => {\n\t\tconst resolve = () => {\n\t\t\tconst active = activeTriggerId != null ? store.getTrigger(activeTriggerId) : void 0;\n\t\t\trefs.setReference(active?.element ?? store.getFirstTrigger()?.element ?? null);\n\t\t};\n\t\tresolve();\n\t\treturn store.subscribe(resolve);\n\t}, [\n\t\tstore,\n\t\tactiveTriggerId,\n\t\trefs\n\t]);\n\tuseLayoutEffect(() => {\n\t\tif (open) {\n\t\t\tconst direct = directPayloadRef.current;\n\t\t\tsetActivePayload(direct !== void 0 ? direct : activeTriggerId != null ? store.getTrigger(activeTriggerId)?.getPayload() : void 0);\n\t\t}\n\t}, [\n\t\tstore,\n\t\topen,\n\t\tactiveTriggerId\n\t]);\n\tuseLayoutEffect(() => {\n\t\tstore.publishState({\n\t\t\topen,\n\t\t\ttriggerId: activeTriggerId,\n\t\t\tpopupId: floatingContext.floatingId\n\t\t});\n\t}, [\n\t\tstore,\n\t\topen,\n\t\tactiveTriggerId,\n\t\tfloatingContext.floatingId\n\t]);\n\tuseLayoutEffect(() => {\n\t\treturn () => store.publishState({\n\t\t\topen: false,\n\t\t\ttriggerId: null,\n\t\t\tpopupId: void 0\n\t\t});\n\t}, [store]);\n\tconst returnFocusRef = useReturnFocus(floatingContext);\n\tconst { mounted, transitionProps } = useTransition({\n\t\topen,\n\t\tref: popupRef\n\t});\n\tconst nesting = useDialogNesting(open, mounted);\n\tconst { getFloatingProps } = useInteractions([useDismiss(floatingContext, {\n\t\toutsidePressEvent: \"mousedown\",\n\t\tescapeKey: closedBy !== \"none\",\n\t\toutsidePress: closedBy === \"any\"\n\t}), useRole(floatingContext, { role: ariaRole })]);\n\tconst setOpen = useCallback((nextOpen, event) => floatingContext.onOpenChange(nextOpen, event), [floatingContext]);\n\tconst contextValue = useMemo(() => ({\n\t\topen,\n\t\tsetOpen,\n\t\tfloatingContext,\n\t\trefs,\n\t\tgetFloatingProps,\n\t\tpopupRef,\n\t\treturnFocusRef,\n\t\tstore,\n\t\tmodal,\n\t\tisNested,\n\t\tisStacked: nesting.isStacked,\n\t\tstackedChildCount: nesting.stackedChildCount,\n\t\tlabelId,\n\t\tdescriptionId,\n\t\tmounted,\n\t\ttransitionProps\n\t}), [\n\t\topen,\n\t\tsetOpen,\n\t\tfloatingContext,\n\t\trefs,\n\t\tgetFloatingProps,\n\t\treturnFocusRef,\n\t\tstore,\n\t\tmodal,\n\t\tisNested,\n\t\tnesting.isStacked,\n\t\tnesting.stackedChildCount,\n\t\tlabelId,\n\t\tdescriptionId,\n\t\tmounted,\n\t\ttransitionProps\n\t]);\n\tconst content = typeof children === \"function\" ? children({ payload: activePayload }) : children;\n\treturn /* @__PURE__ */ jsx(FloatingNode, {\n\t\tid: nodeId,\n\t\tchildren: /* @__PURE__ */ jsx(DialogContext$1.Provider, {\n\t\t\tvalue: contextValue,\n\t\t\tchildren: /* @__PURE__ */ jsx(DialogNestingContext.Provider, {\n\t\t\t\tvalue: nesting.context,\n\t\t\t\tchildren: content\n\t\t\t})\n\t\t})\n\t});\n}\nfunction DialogRoot(props) {\n\tif (useFloatingParentNodeId() === null) return /* @__PURE__ */ jsx(FloatingTree, { children: /* @__PURE__ */ jsx(DialogInner, {\n\t\t...props,\n\t\tisNested: false\n\t}) });\n\treturn /* @__PURE__ */ jsx(DialogInner, {\n\t\t...props,\n\t\tisNested: true\n\t});\n}\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-trigger.tsx\n/**\n* Button that opens the dialog. Registers itself with the root — directly when nested inside\n* one, through a `handle` when detached — which uses the trigger that opened it as the floating\n* reference element for ARIA and return focus. Give each trigger an `id`\n* to name it in controlled mode via the root's `triggerId`.\n*/\nconst DialogTrigger = React.forwardRef(function DialogTrigger(props, ref) {\n\tconst { render, handle, payload, ...otherProps } = props;\n\tconst ctx = useOptionalDialogContext();\n\tconst store = handle ?? ctx?.store;\n\tif (!store) throw new Error(\"<Dialog.Trigger> must be nested in a <Dialog.Root> or given a `handle`.\");\n\tconst autoId = React.useId();\n\tconst triggerId = props.id ?? autoId;\n\tconst { open, triggerId: activeTriggerId, popupId } = React.useSyncExternalStore(React.useCallback((listener) => store.subscribe(listener), [store]), () => store.getState(), () => store.getState());\n\tconst showsOpen = open && (activeTriggerId === null || activeTriggerId === triggerId);\n\tconst payloadRef = React.useRef(payload);\n\tReact.useLayoutEffect(() => {\n\t\tpayloadRef.current = payload;\n\t});\n\tconst elementRef = React.useRef(null);\n\tReact.useLayoutEffect(() => {\n\t\tconst element = elementRef.current;\n\t\tif (!element) return;\n\t\treturn store.registerTrigger({\n\t\t\tid: triggerId,\n\t\t\telement,\n\t\t\tgetPayload: () => payloadRef.current\n\t\t});\n\t}, [store, triggerId]);\n\tconst ownProps = {\n\t\ttype: \"button\",\n\t\t\"aria-haspopup\": \"dialog\",\n\t\t\"aria-expanded\": showsOpen,\n\t\t...showsOpen && popupId ? { \"aria-controls\": popupId } : null,\n\t\tonClick(event) {\n\t\t\tif (showsOpen) store.requestClose(triggerId, event.nativeEvent);\n\t\t\telse store.requestOpen(triggerId, event.nativeEvent);\n\t\t}\n\t};\n\treturn useRender({\n\t\tdefaultTagName: \"button\",\n\t\trender,\n\t\tref: [elementRef, ref],\n\t\tstate: { open: showsOpen },\n\t\tstateAttributesMapping: { open: (v) => v ? { \"data-open\": \"\" } : { \"data-closed\": \"\" } },\n\t\tprops: mergeProps(ownProps, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-portal.tsx\nfunction DialogPortal(props) {\n\tconst { mounted } = useDialogContext();\n\tif (!mounted) return null;\n\treturn /* @__PURE__ */ jsx(FloatingPortal, {\n\t\troot: props.root,\n\t\tchildren: props.children\n\t});\n}\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-backdrop.tsx\n/** Semi-transparent overlay surface rendered behind the dialog. Does not own scroll-lock or positioning — use `Dialog.Viewport` for those. */\nconst DialogBackdrop = React.forwardRef(function DialogBackdrop(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { open, mounted, isNested, isStacked, transitionProps } = useDialogContext();\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tenabled: mounted,\n\t\tref,\n\t\tstate: {\n\t\t\topen,\n\t\t\tnested: isNested,\n\t\t\tstacked: isStacked\n\t\t},\n\t\tstateAttributesMapping: {\n\t\t\topen: (v) => v ? { \"data-open\": \"\" } : { \"data-closed\": \"\" },\n\t\t\tnested: (v) => v ? { \"data-nested\": \"\" } : null,\n\t\t\tstacked: (v) => v ? { \"data-stacked\": \"\" } : null\n\t\t},\n\t\tprops: mergeProps({ ...transitionProps }, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-viewport.tsx\n/**\n* Fixed centering container for dialog content. Wraps `FloatingOverlay` to\n* provide scroll-locking and full-viewport positioning. Nest `Dialog.Popup`\n* inside this component for standard modal behavior.\n*\n* Scroll-lock responsibility lives here, not on `Dialog.Backdrop`, so the\n* backdrop surface can be styled independently.\n*/\nconst DialogViewport = React.forwardRef(function DialogViewport(props, ref) {\n\tconst { render, lockScroll = true, ...otherProps } = props;\n\tconst { open, mounted, isNested, transitionProps, modal } = useDialogContext();\n\tconst element = useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tenabled: mounted,\n\t\tref,\n\t\tstate: {\n\t\t\topen,\n\t\t\tnested: isNested\n\t\t},\n\t\tstateAttributesMapping: {\n\t\t\topen: (v) => v ? { \"data-open\": \"\" } : { \"data-closed\": \"\" },\n\t\t\tnested: (v) => v ? { \"data-nested\": \"\" } : null\n\t\t},\n\t\tprops: mergeProps({\n\t\t\t...transitionProps,\n\t\t\tstyle: modal ? void 0 : { pointerEvents: \"auto\" }\n\t\t}, otherProps)\n\t});\n\tif (!element) return null;\n\treturn /* @__PURE__ */ jsx(FloatingOverlay, {\n\t\tlockScroll,\n\t\tstyle: modal ? void 0 : { pointerEvents: \"none\" },\n\t\tchildren: element\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-popup.tsx\n/**\n* Resolves `initialFocus` into the `number | ref` form `FloatingFocusManager` takes (a negative\n* index disables the focus move). The function form reads the open event floating-ui has\n* already recorded by the time the popup mounts; it must be pure, as re-renders re-invoke it.\n*/\nfunction useInitialFocus(initialFocus, open, floatingContext) {\n\tconst elementRef = React.useRef(null);\n\treturn React.useMemo(() => {\n\t\tif (!open || initialFocus === void 0 || initialFocus === true) return 0;\n\t\tif (initialFocus === false) return -1;\n\t\tif (typeof initialFocus !== \"function\") return initialFocus;\n\t\tconst result = initialFocus(interactionTypeFromEvent(floatingContext.dataRef.current.openEvent));\n\t\tif (result === false) return -1;\n\t\tif (result instanceof HTMLElement) {\n\t\t\telementRef.current = result;\n\t\t\treturn elementRef;\n\t\t}\n\t\treturn 0;\n\t}, [\n\t\topen,\n\t\tinitialFocus,\n\t\tfloatingContext\n\t]);\n}\n/**\n* Resolves `finalFocus` into the `boolean | ref` form `FloatingFocusManager`'s `returnFocus`\n* takes.\n*\n* The function form needs the event behind the close, so it runs inside floating-ui's\n* synchronous `openchange` emit — the root routes every close through\n* `floatingContext.onOpenChange`, and the emit precedes both the state commit and any focus\n* restoration. Only the function's decision is stored; the ref handed to the focus manager\n* materialises it lazily, at restore time, by which point `useReturnFocus` has applied its\n* pointer-close downgrade to the default.\n*/\nfunction useFinalFocus(finalFocus, returnFocusRef, floatingContext) {\n\tconst finalFocusRef = React.useRef(finalFocus);\n\tReact.useLayoutEffect(() => {\n\t\tfinalFocusRef.current = finalFocus;\n\t});\n\tconst decisionRef = React.useRef(true);\n\tconst resolvedRef = React.useMemo(() => ({ get current() {\n\t\tconst decision = decisionRef.current;\n\t\tif (decision instanceof HTMLElement) return decision;\n\t\treturn decision ? returnFocusRef.current : null;\n\t} }), [returnFocusRef]);\n\tReact.useLayoutEffect(() => {\n\t\tfunction onOpenChange({ open, event }) {\n\t\t\tconst target = finalFocusRef.current;\n\t\t\tif (open || typeof target !== \"function\") return;\n\t\t\tconst result = target(interactionTypeFromEvent(event));\n\t\t\tdecisionRef.current = result instanceof HTMLElement ? result : result !== false;\n\t\t}\n\t\tfloatingContext.events.on(\"openchange\", onOpenChange);\n\t\treturn () => floatingContext.events.off(\"openchange\", onOpenChange);\n\t}, [floatingContext.events]);\n\tif (finalFocus === void 0 || finalFocus === true) return returnFocusRef;\n\tif (finalFocus === false) return false;\n\tif (typeof finalFocus === \"function\") return resolvedRef;\n\treturn finalFocus;\n}\n/** The dialog content container. Manages focus trapping via `FloatingFocusManager` and wires ARIA attributes from `Dialog.Title` and `Dialog.Description`. */\nconst DialogPopup = React.forwardRef(function DialogPopup(props, ref) {\n\tconst { render, initialFocus, finalFocus, ...otherProps } = props;\n\tconst { open, popupRef, refs, getFloatingProps, floatingContext, modal, isNested, isStacked, stackedChildCount, returnFocusRef, labelId, descriptionId, mounted, transitionProps } = useDialogContext();\n\tconst resolvedInitialFocus = useInitialFocus(initialFocus, open, floatingContext);\n\tconst resolvedReturnFocus = useFinalFocus(finalFocus, returnFocusRef, floatingContext);\n\tconst defaultProps = {\n\t\t\"aria-labelledby\": labelId,\n\t\t\"aria-describedby\": descriptionId,\n\t\t...isNested ? { \"data-nested\": \"\" } : {},\n\t\t...isStacked ? { \"data-stacked\": \"\" } : {},\n\t\t...stackedChildCount > 0 ? { \"data-stack-base\": \"\" } : {},\n\t\t...getFloatingProps(),\n\t\t...transitionProps\n\t};\n\tconst element = useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tenabled: mounted,\n\t\tref: [\n\t\t\tpopupRef,\n\t\t\trefs.setFloating,\n\t\t\tref\n\t\t],\n\t\tprops: mergeProps(defaultProps, otherProps)\n\t});\n\tif (!element) return null;\n\treturn /* @__PURE__ */ jsx(FloatingFocusManager, {\n\t\tcontext: floatingContext,\n\t\tmodal,\n\t\toutsideElementsInert: modal,\n\t\tinitialFocus: resolvedInitialFocus,\n\t\treturnFocus: resolvedReturnFocus,\n\t\tchildren: element\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-title.tsx\n/** Accessible dialog heading. Wires its `id` to `aria-labelledby` on `Dialog.Popup`. */\nconst DialogTitle = React.forwardRef(function DialogTitle(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { labelId } = useDialogContext();\n\treturn useRender({\n\t\tdefaultTagName: \"h2\",\n\t\trender,\n\t\tref,\n\t\tprops: mergeProps({ id: labelId }, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-description.tsx\n/** Accessible dialog description. Wires its `id` to `aria-describedby` on `Dialog.Popup`. */\nconst DialogDescription = React.forwardRef(function DialogDescription(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { descriptionId } = useDialogContext();\n\treturn useRender({\n\t\tdefaultTagName: \"p\",\n\t\trender,\n\t\tref,\n\t\tprops: mergeProps({ id: descriptionId }, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/dialog/dialog-close.tsx\n/** Button that closes the dialog when clicked, forwarding the event so `finalFocus` sees the interaction type behind the close. */\nconst DialogClose = React.forwardRef(function DialogClose(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { setOpen } = useDialogContext();\n\treturn useRender({\n\t\tdefaultTagName: \"button\",\n\t\trender,\n\t\tref,\n\t\tprops: mergeProps({\n\t\t\ttype: \"button\",\n\t\t\tonClick(event) {\n\t\t\t\tsetOpen(false, event.nativeEvent);\n\t\t\t}\n\t\t}, otherProps)\n\t});\n});\n\n//#endregion\n//#region src/mosaic/hooks/useAccessibleNameWarning.ts\n/**\n* Warns in development when a part that renders `role=\"dialog\"` has no accessible name.\n*\n* An overlay's name comes from a `Title` part, which reports itself to its root through an\n* effect — so `aria-labelledby` is legitimately absent on the commit that mounts the surface.\n* Two consequences, both load-bearing:\n*\n* - it has to read the DOM after mount rather than the root's state at render, since the\n* `hasTitle` flag starts `false` and a render-time check would warn on every correct overlay;\n* - it has to be deferred by a task even then, for the same reason one commit later.\n*\n* `role` is checked rather than assumed because the part may be rendered as something else\n* through `render`, and only a dialog needs a name badly enough to warn about. Both dialog roles\n* count: `alertdialog` is the same surface asking more urgently, and an unnamed one is worse, not\n* exempt.\n*\n* @param node - The element carrying `role=\"dialog\"`, once mounted.\n* @param component - Compound component name, used to name the parts in the message.\n*/\nfunction useAccessibleNameWarning(node, component) {\n\tuseEffect(() => {\n\t\tif (!node) return;\n\t\tconst timer = setTimeout(() => {\n\t\t\tconst role = node.getAttribute(\"role\");\n\t\t\tif (!node.isConnected || role !== \"dialog\" && role !== \"alertdialog\") return;\n\t\t\tif (node.getAttribute(\"aria-label\")?.trim()) return;\n\t\t\tif (node.getAttribute(\"aria-labelledby\")?.split(/\\s+/).filter(Boolean).some((id) => node.ownerDocument.getElementById(id)?.textContent?.trim())) return;\n\t\t\tconsole.warn(`[clerk] <${component}.Popup> renders a dialog with no accessible name. Pass \\`aria-label\\`, or render a \\`<${component}.Title>\\` inside it.`);\n\t\t}, 0);\n\t\treturn () => clearTimeout(timer);\n\t}, [node, component]);\n}\n\n//#endregion\n//#region src/mosaic/icons/overrides.ts\nconst MosaicIconsContext = React$1.createContext({});\nconst MosaicIconsProvider = MosaicIconsContext.Provider;\n/** Returns the icon glyph overrides from the nearest `MosaicProvider` (or `{}` standalone). */\nconst useMosaicIcons = () => React$1.useContext(MosaicIconsContext);\n\n//#endregion\n//#region src/mosaic/icons/registry.tsx\n/**\n* Builds a glyph from its inner `<path>` markup. Glyphs omit `width`/`height` so the `Icon` recipe\n* controls size, and use `currentColor` so they inherit text color. Grow the set on demand.\n*/\nfunction glyph(children, viewBox = \"0 0 16 16\") {\n\treturn React$1.forwardRef((props, ref) => /* @__PURE__ */ jsx(\"svg\", {\n\t\tref,\n\t\tviewBox,\n\t\tfill: \"none\",\n\t\txmlns: \"http://www.w3.org/2000/svg\",\n\t\t...props,\n\t\tchildren\n\t}));\n}\nconst strokeProps = {\n\tstroke: \"currentColor\",\n\tstrokeWidth: 1.5,\n\tstrokeLinecap: \"round\",\n\tstrokeLinejoin: \"round\"\n};\nconst ChevronRight = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M6.75 11.25L10.25 8L6.75 4.75\",\n\t...strokeProps\n}));\nconst ChevronLeft = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M9.25 11.25L5.75 8L9.25 4.75\",\n\t...strokeProps\n}));\nconst ChevronDown = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M4.75 6.75L8 10.25L11.25 6.75\",\n\t...strokeProps\n}));\nconst Check = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M3.75 8.5L6.5 11.25L12.25 4.75\",\n\t...strokeProps\n}));\nconst Close$2 = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M4.75 4.75L11.25 11.25M11.25 4.75L4.75 11.25\",\n\t...strokeProps\n}));\nconst InfoCircle = glyph(/* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"circle\", {\n\tcx: \"8\",\n\tcy: \"8\",\n\tr: \"5.25\",\n\t...strokeProps\n}), /* @__PURE__ */ jsx(\"path\", {\n\td: \"M8 10.75V7.5M8 5.25H8.008\",\n\t...strokeProps\n})] }));\nconst Ellipsis = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M4 8h.008M8 8h.008M12 8h.008\",\n\t...strokeProps,\n\tstrokeWidth: 2.5\n}));\nconst ChevronUp = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M4.75 10.25L8 6.75L11.25 10.25\",\n\t...strokeProps\n}));\nconst ChevronUpDown = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M5.75 6.5L8 4L10.25 6.5M5.75 10L8 12.5L10.25 10\",\n\t...strokeProps\n}));\nconst Plus = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M8 3.75V12.25M3.75 8H12.25\",\n\t...strokeProps\n}));\nconst Search = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M10 10.0104C10.7722 9.24089 11.25 8.17625 11.25 7C11.25 4.65279 9.34721 2.75 7 2.75C4.65279 2.75 2.75 4.65279 2.75 7C2.75 9.34721 4.65279 11.25 7 11.25C8.17096 11.25 9.23132 10.7764 10 10.0104ZM10 10.0104L13.25 13.25\",\n\t...strokeProps\n}));\nconst CreditCard = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M2.75 6.75V10.25C2.75 11.3546 3.64543 12.25 4.75 12.25H11.25C12.3546 12.25 13.25 11.3546 13.25 10.25V6.75M2.75 6.75V5.75C2.75 4.64543 3.64543 3.75 4.75 3.75H11.25C12.3546 3.75 13.25 4.64543 13.25 5.75V6.75M2.75 6.75H13.25M5.75 9.25H6.25\",\n\t...strokeProps\n}));\nconst UserCircle = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M11.1786 12.1788C10.4001 11.3023 9.26453 10.75 8 10.75C6.73547 10.75 5.59993 11.3023 4.82141 12.1788M11.1786 12.1788C12.4375 11.2197 13.25 9.70474 13.25 8C13.25 5.10051 10.8995 2.75 8 2.75C5.10051 2.75 2.75 5.10051 2.75 8C2.75 9.70474 3.56251 11.2197 4.82141 12.1788M11.1786 12.1788C10.2963 12.8509 9.19476 13.25 8 13.25C6.80524 13.25 5.7037 12.8509 4.82141 12.1788M9.25 7C9.25 7.69036 8.69036 8.25 8 8.25C7.30964 8.25 6.75 7.69036 6.75 7C6.75 6.30964 7.30964 5.75 8 5.75C8.69036 5.75 9.25 6.30964 9.25 7Z\",\n\t...strokeProps\n}));\nconst ShieldCheck = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M13.25 5.9L8 2.75L2.75 5.9C2.75 5.9 3 12 7.25 13.25M9.75 10.85L11.15 12.25L13.25 8.75\",\n\t...strokeProps\n}));\nconst Code = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M5.25 5.75L2.75 8L5.25 10.25M10.75 5.75L13.25 8L10.75 10.25\",\n\t...strokeProps\n}));\nconst SecurityPasskey = glyph(/* @__PURE__ */ jsxs(Fragment, { children: [\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M8.43754 5.0625C8.43754 4.44118 7.93386 3.9375 7.31254 3.9375C6.69122 3.9375 6.18754 4.44118 6.18754 5.0625C6.18754 5.68382 6.69122 6.1875 7.31254 6.1875C7.93386 6.1875 8.43754 5.68382 8.43754 5.0625ZM10.125 5.0625C10.125 6.6158 8.86584 7.875 7.31254 7.875C5.75924 7.875 4.50004 6.6158 4.50004 5.0625C4.50004 3.5092 5.75924 2.25 7.31254 2.25C8.86584 2.25 10.125 3.5092 10.125 5.0625Z\",\n\t\tfill: \"currentColor\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M7.31254 9C7.93629 9 8.53595 9.12402 9.08573 9.33948C9.51942 9.5095 9.73343 9.99887 9.56364 10.4326C9.39361 10.8665 8.90326 11.0806 8.4694 10.9105C8.1027 10.7669 7.71165 10.6875 7.31254 10.6875C5.77377 10.6875 4.48879 11.6999 4.17155 13.0562L3.93974 14.0438C3.94311 14.0471 3.94803 14.0515 3.95512 14.0548C3.96327 14.0586 3.97581 14.0625 3.99467 14.0625H8.77812C9.24395 14.0627 9.62187 14.4404 9.62187 14.9062C9.62187 15.3721 9.24395 15.7498 8.77812 15.75H3.99467C2.9311 15.7498 2.03268 14.7896 2.29399 13.6725L2.52799 12.6716C3.03625 10.4987 5.04597 9 7.31254 9Z\",\n\t\tfill: \"currentColor\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M15.1645 12.4805H11.6368V13.7922C11.6368 13.9476 11.7627 14.0735 11.918 14.0735H14.8832C15.0385 14.0735 15.1645 13.9476 15.1645 13.7922V12.4805ZM14.2163 10.4832C14.2161 10.0331 13.8513 9.66823 13.4012 9.66797C12.9508 9.66797 12.5851 10.0329 12.5849 10.4832V10.793H14.2163V10.4832ZM15.9038 10.793H16.0082C16.4742 10.793 16.852 11.1707 16.852 11.6367V13.7922C16.852 14.8795 15.9705 15.761 14.8832 15.761H11.918C10.8307 15.761 9.94926 14.8795 9.94926 13.7922V11.6367C9.94926 11.1707 10.327 10.793 10.793 10.793H10.8974V10.4832C10.8976 9.10091 12.0189 7.98047 13.4012 7.98047C14.7832 7.98073 15.9036 9.10107 15.9038 10.4832V10.793Z\",\n\t\tfill: \"currentColor\"\n\t})\n] }), \"0 0 18 18\");\nconst SecurityPhone = glyph(/* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"path\", {\n\td: \"M6.04014 2.8125C5.54942 2.8125 5.0625 3.25236 5.0625 3.90841V14.0916C5.0625 14.7477 5.54941 15.1875 6.04014 15.1875H11.9599C12.4506 15.1875 12.9375 14.7477 12.9375 14.0916V3.90841C12.9375 3.25236 12.4506 2.8125 11.9599 2.8125H6.04014ZM3.375 3.90841C3.375 2.42196 4.51901 1.125 6.04014 1.125H11.9599C13.481 1.125 14.625 2.42197 14.625 3.90841V14.0916C14.625 15.5781 13.481 16.875 11.9599 16.875H6.04014C4.51902 16.875 3.375 15.5781 3.375 14.0916V3.90841Z\",\n\tfill: \"currentColor\",\n\tfillRule: \"evenodd\",\n\tclipRule: \"evenodd\"\n}), /* @__PURE__ */ jsx(\"path\", {\n\td: \"M7.875 12.6562C7.875 12.1903 8.25276 11.8125 8.71875 11.8125H9.28125C9.74724 11.8125 10.125 12.1903 10.125 12.6562C10.125 13.1222 9.74724 13.5 9.28125 13.5H8.71875C8.25276 13.5 7.875 13.1222 7.875 12.6562Z\",\n\tfill: \"currentColor\",\n\tfillRule: \"evenodd\",\n\tclipRule: \"evenodd\"\n})] }), \"0 0 18 18\");\nconst SecurityLockSquare = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M2.25 5.34375C2.25 3.63512 3.63512 2.25 5.34375 2.25H12.6562C14.3649 2.25 15.75 3.63512 15.75 5.34375V5.90625C15.75 6.37224 15.3722 6.75 14.9062 6.75C14.4403 6.75 14.0625 6.37224 14.0625 5.90625V5.34375C14.0625 4.5671 13.4329 3.9375 12.6562 3.9375H5.34375C4.5671 3.9375 3.9375 4.5671 3.9375 5.34375V12.6562C3.9375 13.4329 4.5671 14.0625 5.34375 14.0625H5.90625C6.37224 14.0625 6.75 14.4403 6.75 14.9062C6.75 15.3722 6.37224 15.75 5.90625 15.75H5.34375C3.63512 15.75 2.25 14.3649 2.25 12.6562V5.34375ZM11.8125 8.4375C11.1912 8.4375 10.6875 8.94118 10.6875 9.5625V10.125H12.9375V9.5625C12.9375 8.94118 12.4338 8.4375 11.8125 8.4375ZM14.625 10.125V9.5625C14.625 8.0092 13.3658 6.75 11.8125 6.75C10.2592 6.75 9 8.0092 9 9.5625V10.125H8.71875C8.25276 10.125 7.875 10.5028 7.875 10.9688V13.7812C7.875 14.8686 8.75644 15.75 9.84375 15.75H13.7812C14.8686 15.75 15.75 14.8686 15.75 13.7812V10.9688C15.75 10.5028 15.3722 10.125 14.9062 10.125H14.625ZM14.0625 11.8125H9.5625V13.7812C9.5625 13.9366 9.68842 14.0625 9.84375 14.0625H13.7812C13.9366 14.0625 14.0625 13.9366 14.0625 13.7812V11.8125Z\",\n\tfill: \"currentColor\",\n\tfillRule: \"evenodd\",\n\tclipRule: \"evenodd\"\n}), \"0 0 18 18\");\nconst DevicePhone = glyph(/* @__PURE__ */ jsxs(Fragment, { children: [\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M4.6045 6.07587V5.87713H4.54673C4.53907 5.87337 4.5302 5.87275 4.52207 5.87541C4.51395 5.87807 4.50723 5.88379 4.5034 5.89132C4.49957 5.89885 4.49895 5.90757 4.50166 5.91556C4.50437 5.92355 4.51018 5.93015 4.51784 5.93391V7.18312C4.51784 7.18312 4.51785 7.23991 4.57561 7.23991V6.07587H4.6045Z\",\n\t\tfill: \"#646464\",\n\t\tfillRule: \"evenodd\",\n\t\tclipRule: \"evenodd\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M4.6045 4.3725V4.17376H4.54673C4.53907 4.17 4.5302 4.16938 4.52207 4.17204C4.51395 4.1747 4.50723 4.18043 4.5034 4.18796C4.49957 4.19549 4.49895 4.2042 4.50166 4.21219C4.50437 4.22018 4.51018 4.22678 4.51784 4.23054V5.47975C4.51784 5.47975 4.51785 5.53654 4.57561 5.53654V4.3725H4.6045Z\",\n\t\tfill: \"#646464\",\n\t\tfillRule: \"evenodd\",\n\t\tclipRule: \"evenodd\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M11.9117 0C12.9515 0 13.5002 0.596216 13.5002 1.6183V16.4953C13.5002 17.4606 12.836 18 11.8251 18H6.22201C5.1245 18 4.54686 17.3186 4.57574 16.4669V1.6183C4.57574 0.596216 5.15339 0 6.19314 0H11.9117Z\",\n\t\tfill: \"#343434\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M11.7958 0.168701C12.8644 0.168701 13.3554 0.679743 13.3554 1.70182V16.4652C13.3554 17.3738 12.72 17.8848 11.7669 17.8848H6.27935C5.35513 17.8848 4.71973 17.317 4.71973 16.4652V1.70182C4.71973 0.679743 5.2396 0.168701 6.30823 0.168701H11.7958Z\",\n\t\tfill: \"#575757\",\n\t\tstroke: \"#444444\",\n\t\tstrokeWidth: .140625\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M6.77197 0.481689C6.82974 0.481689 6.85862 0.510079 6.85862 0.595252V0.652036C6.85862 0.907557 7.08966 1.13469 7.32072 1.13469H10.7288C11.0176 1.13469 11.2198 0.907557 11.2198 0.652036V0.595252C11.2198 0.510079 11.2487 0.481689 11.3064 0.481689H12.1729C12.635 0.481689 13.0393 0.964338 13.0393 1.4186V16.5795C13.0393 17.0621 12.6061 17.5164 12.0574 17.5164H5.99216C5.38564 17.5164 5.03906 17.1473 5.03906 16.6079V1.4186C5.03906 0.964338 5.41452 0.481689 5.87663 0.481689H6.74308H6.77197Z\",\n\t\tfill: \"#171717\",\n\t\tfillRule: \"evenodd\",\n\t\tclipRule: \"evenodd\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M9.77424 0.7378C9.77873 0.726659 9.78079 0.714714 9.78027 0.702742C9.77974 0.690769 9.77664 0.679039 9.77119 0.668321C9.76574 0.657602 9.75805 0.648135 9.74862 0.640539C9.7392 0.632942 9.72823 0.627388 9.71647 0.624237C9.70509 0.620508 9.69309 0.619019 9.68113 0.619855C9.66916 0.620691 9.65748 0.623833 9.64675 0.629106C9.63602 0.634379 9.62646 0.641678 9.6186 0.650585C9.61074 0.659492 9.60475 0.669833 9.60095 0.681018C9.59716 0.692203 9.59564 0.704012 9.59649 0.715773C9.59734 0.727533 9.60054 0.739016 9.60591 0.749561C9.61127 0.760107 9.61869 0.76951 9.62775 0.777235C9.63681 0.78496 9.64734 0.790855 9.65872 0.794583C9.67005 0.799 9.6822 0.801015 9.69438 0.800499C9.70656 0.799982 9.71849 0.796945 9.72939 0.791585C9.7403 0.786226 9.74992 0.778666 9.75765 0.769398C9.76538 0.76013 9.77103 0.749362 9.77424 0.7378ZM8.30127 0.681018C8.30127 0.7378 8.30127 0.766193 8.35904 0.766193H9.1966C9.21432 0.760068 9.22953 0.748448 9.23995 0.733086C9.25037 0.717724 9.25543 0.699451 9.25437 0.681018C9.25023 0.667614 9.2428 0.655421 9.23272 0.645516C9.22264 0.635612 9.21024 0.628303 9.1966 0.624237H8.35904C8.3454 0.628303 8.33299 0.635612 8.32292 0.645516C8.31284 0.655421 8.30541 0.667614 8.30127 0.681018Z\",\n\t\tfill: \"black\",\n\t\tfillRule: \"evenodd\",\n\t\tclipRule: \"evenodd\"\n\t})\n] }), \"0 0 18 18\");\nconst DeviceLaptop = glyph(/* @__PURE__ */ jsxs(Fragment, { children: [\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M1.63696 4.19191C1.63696 3.86515 1.68002 3.7251 1.76614 3.58506C1.8738 3.46836 2.02453 3.375 2.36903 3.375H15.6537C15.9551 3.375 16.0843 3.44502 16.192 3.56172C16.2996 3.67842 16.3427 3.8418 16.3427 4.19191V13.7614C16.3427 14.0882 16.2996 14.2282 16.235 14.3216C16.1805 14.402 16.1091 14.4672 16.0267 14.5118C15.9444 14.5565 15.8534 14.5792 15.7614 14.5783H2.19677C2.02452 14.5783 1.85227 14.5083 1.76614 14.3449C1.68002 14.2516 1.63696 14.1115 1.63696 13.7614V4.19191Z\",\n\t\tfill: \"black\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M1.93797 14.2505H16.0408C16.1054 14.2505 16.17 14.2038 16.2131 14.1571C16.2561 14.1104 16.2561 14.0404 16.2561 13.8304V4.19083C16.2561 3.91075 16.2346 3.72403 16.127 3.63067C16.0193 3.51397 15.9116 3.46729 15.6533 3.46729H2.36859C2.08868 3.46729 1.93797 3.53731 1.83031 3.65401C1.74419 3.74737 1.72266 3.88741 1.72266 4.19083V13.8304C1.72266 14.0404 1.72265 14.1104 1.76571 14.1571C1.80877 14.2038 1.87337 14.2505 1.93797 14.2505Z\",\n\t\tfill: \"#575757\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M8.99922 3.88789C9.00895 3.89489 9.02025 3.8989 9.03192 3.89949C9.04358 3.90008 9.05518 3.89723 9.06547 3.89124C9.07576 3.88525 9.08436 3.87635 9.09036 3.86549C9.09635 3.85463 9.09952 3.8422 9.09952 3.82954C9.09952 3.81688 9.09635 3.80446 9.09036 3.79359C9.08436 3.78273 9.07576 3.77383 9.06547 3.76785C9.05518 3.76186 9.04358 3.75901 9.03192 3.7596C9.02025 3.76019 9.00895 3.76419 8.99922 3.77119C8.98949 3.76419 8.97819 3.76019 8.96653 3.7596C8.95486 3.75901 8.94327 3.76186 8.93298 3.76785C8.92269 3.77383 8.91408 3.78273 8.90809 3.79359C8.90209 3.80446 8.89893 3.81688 8.89893 3.82954C8.89893 3.8422 8.90209 3.85463 8.90809 3.86549C8.91408 3.87635 8.92269 3.88525 8.93298 3.89124C8.94327 3.89723 8.95486 3.90008 8.96653 3.89949C8.97819 3.8989 8.98949 3.89489 8.99922 3.88789Z\",\n\t\tfill: \"black\",\n\t\tstroke: \"black\",\n\t\tstrokeWidth: .16875,\n\t\tfillRule: \"evenodd\",\n\t\tclipRule: \"evenodd\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M0 14.344V14.2273H18V14.344C18 14.344 17.5909 14.484 17.1388 14.5307C16.8373 14.5541 16.3421 14.6241 15.2225 14.6241H2.86363C1.89473 14.6241 1.07655 14.5541 0.710524 14.5074C0.344495 14.4607 0 14.344 0 14.344Z\",\n\t\tfill: \"#444444\",\n\t\tfillRule: \"evenodd\",\n\t\tclipRule: \"evenodd\"\n\t}),\n\t/* @__PURE__ */ jsx(\"path\", {\n\t\td: \"M2.21704 4.12207H15.7816V13.3181H2.21704V4.12207Z\",\n\t\tfill: \"#171717\",\n\t\tfillRule: \"evenodd\",\n\t\tclipRule: \"evenodd\"\n\t})\n] }), \"0 0 18 18\");\nconst ArrowRightTop = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M6.35014 5.40727L10.8285 5.17157M10.8285 5.17157L10.5928 9.64991M10.8285 5.17157L5.17163 10.8284\",\n\t...strokeProps\n}));\nconst Pen = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M12.03 3.972a1.59 1.59 0 0 0-2.261 0l-.01.01-5.056 4.89a1.25 1.25 0 0 0-.351.627l-.61 2.747 2.542-.598a1.25 1.25 0 0 0 .59-.325L12.085 6.2c.573-.638.549-1.62-.057-2.228M8.71 2.909a3.09 3.09 0 0 1 4.383.005 3.126 3.126 0 0 1 .06 4.341l-5.228 5.138a2.75 2.75 0 0 1-1.298.715l-3.705.872a.75.75 0 0 1-.904-.893l.87-3.914a2.75 2.75 0 0 1 .772-1.38z\",\n\tfill: \"currentColor\",\n\tfillRule: \"evenodd\",\n\tclipRule: \"evenodd\"\n}));\nconst LogOut = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M6.25 13.25H3.75V2.75H6.25M10.25 10.75L13 8L10.25 5.25M13 8H6.25\",\n\t...strokeProps\n}));\nconst SwitchHorizontal = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M2.75 5.75H12.25M10 3.5L12.25 5.75L10 8M13.25 10.25H3.75M6 8L3.75 10.25L6 12.5\",\n\t...strokeProps\n}));\nconst Cog = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M8 7.98999V7.99999M3.46012 4.84271L2.81628 5.88403C2.68081 6.10314 2.76504 6.38383 2.9599 6.55612C3.82824 7.32388 3.82825 8.67611 2.95992 9.44387C2.76507 9.61616 2.68084 9.89685 2.81631 10.116L3.46014 11.1573C3.59 11.3673 3.86848 11.4338 4.11036 11.3616C5.26915 11.0161 6.54871 11.678 6.8223 12.8011C6.88157 13.0444 7.08518 13.25 7.34377 13.25H8.65623C8.91482 13.25 9.11842 13.0444 9.1777 12.8011C9.45129 11.678 10.7308 11.0161 11.8896 11.3616C12.1315 11.4338 12.41 11.3673 12.5399 11.1573L13.1837 10.116C13.3192 9.89685 13.2349 9.61616 13.0401 9.44387C12.1717 8.67611 12.1718 7.32388 13.0401 6.55612C13.235 6.38383 13.3192 6.10314 13.1837 5.88403L12.5399 4.84271C12.41 4.63267 12.1315 4.56622 11.8897 4.63835C10.7309 4.98389 9.45129 4.32196 9.1777 3.19892C9.11842 2.95562 8.91482 2.75 8.65623 2.75H7.34377C7.08518 2.75 6.88157 2.95562 6.8223 3.19892C6.54871 4.32196 5.26913 4.98389 4.11033 4.63835C3.86845 4.56622 3.58997 4.63267 3.46012 4.84271Z\",\n\t...strokeProps\n}));\nconst Users = glyph(/* @__PURE__ */ jsx(\"path\", {\n\td: \"M10.4019 6C10.9101 5.69378 11.25 5.13658 11.25 4.5C11.25 3.86342 10.9101 3.30622 10.4019 3M9.5 13.25H12.4489C12.9612 13.25 13.3417 12.7993 13.2306 12.3242L13.0225 11.4345C12.8385 10.648 12.3786 9.97519 11.7524 9.49989M8.25 4.5C8.25 5.4665 7.4665 6.25 6.5 6.25C5.5335 6.25 4.75 5.4665 4.75 4.5C4.75 3.5335 5.5335 2.75 6.5 2.75C7.4665 2.75 8.25 3.5335 8.25 4.5ZM2.76939 12.3242L2.9775 11.4345C3.34439 9.86599 4.80874 8.75 6.5 8.75C8.19126 8.75 9.65561 9.86599 10.0225 11.4345L10.2306 12.3242C10.3417 12.7993 9.96121 13.25 9.44895 13.25H3.55105C3.03879 13.25 2.65827 12.7993 2.76939 12.3242Z\",\n\t...strokeProps\n}));\nconst AlertCircle = glyph(/* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"circle\", {\n\tcx: \"8\",\n\tcy: \"8\",\n\tr: \"5.25\",\n\t...strokeProps\n}), /* @__PURE__ */ jsx(\"path\", {\n\td: \"M8 5.25V8.5M8 10.75H8.008\",\n\t...strokeProps\n})] }));\n/** Runtime name → glyph map. `Icon`'s `name` prop is typed from these keys. */\nconst iconRegistry = {\n\t\"alert-circle\": AlertCircle,\n\t\"arrow-right-top\": ArrowRightTop,\n\t\"chevron-right\": ChevronRight,\n\t\"chevron-left\": ChevronLeft,\n\t\"chevron-down\": ChevronDown,\n\t\"chevron-up\": ChevronUp,\n\t\"chevron-up-down\": ChevronUpDown,\n\tcheck: Check,\n\tclose: Close$2,\n\tcode: Code,\n\t\"credit-card\": CreditCard,\n\tellipsis: Ellipsis,\n\t\"info-circle\": InfoCircle,\n\tpen: Pen,\n\tplus: Plus,\n\tsearch: Search,\n\t\"shield-check\": ShieldCheck,\n\t\"log-out\": LogOut,\n\t\"switch-horizontal\": SwitchHorizontal,\n\tcog: Cog,\n\t\"device-laptop\": DeviceLaptop,\n\t\"device-phone\": DevicePhone,\n\t\"security-authenticator\": SecurityLockSquare,\n\t\"security-lock-square\": SecurityLockSquare,\n\t\"security-passkey\": SecurityPasskey,\n\t\"security-phone\": SecurityPhone,\n\tusers: Users,\n\t\"user-circle\": UserCircle\n};\n\n//#endregion\n//#region src/mosaic/components/icon/icon.styles.ts\nconst styles$4 = { base: {\n\tkMwMTN: \"x1r7nxy8\",\n\tk1xSpc: \"x1rg5ohu\",\n\tkmuXW: \"x2lah0s\",\n\tkIyJzY: \"x15lxu3q\",\n\tk1ekBW: \"xt3l3uh\",\n\tkAMwcw: \"xcj1dhv\",\n\t$$css: true\n} };\nconst sizes$2 = {\n\tsm: {\n\t\tkZKoxP: \"xjyqqt9\",\n\t\tkzqmXN: \"x125yc2o\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkZKoxP: \"x1jumdjj\",\n\t\tkzqmXN: \"xrv0xk7\",\n\t\t$$css: true\n\t},\n\tlg: {\n\t\tkZKoxP: \"x13bvjdt\",\n\t\tkzqmXN: \"xb8nub8\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/icon/icon.tsx\n/**\n* Renders a Mosaic icon by name. The glyph can be swapped per-name via the `icons` prop on\n* `MosaicProvider`; Mosaic's sizing is applied to the override exactly as it is to the built-in\n* glyph, so the two stay visually consistent.\n*\n* `placement` marks the icon as leading or trailing content within a container. It applies no\n* style here — it reflects an attribute the container styles against, so a `Button` can tighten\n* the padding on whichever side the icon sits. The values are the CSS logical directions, so they\n* follow the writing mode rather than naming a physical edge.\n*/\nconst Icon = React.forwardRef(function MosaicIcon({ name, size = \"md\", placement, className, style, ...rest }, ref) {\n\tconst override = useMosaicIcons()[name];\n\tconst props$1 = mergeStyleProps(themeProps(\"icon\", {\n\t\tsize,\n\t\ticon: placement\n\t}), props(reset.base, styles$4.base, sizes$2[size], iconScope), className, style);\n\tif (override) {\n\t\tconst overrideClassName = override.props.className;\n\t\treturn React.cloneElement(override, {\n\t\t\t...rest,\n\t\t\t...mergeStyleProps(props$1, overrideClassName)\n\t\t});\n\t}\n\tconst Glyph = iconRegistry[name];\n\treturn /* @__PURE__ */ jsx(Glyph, {\n\t\tref,\n\t\t...props$1,\n\t\t...rest\n\t});\n});\n\n//#endregion\n//#region src/mosaic/components/dialog/dialog.styles.ts\nconst styles$3 = {\n\tbackdrop: {\n\t\tkpwlN0: \"x10a8y8t\",\n\t\tkWkggS: \"xrmlfa8 x19ynf7h\",\n\t\tkVAEAm: \"xixxii4\",\n\t\t$$css: true\n\t},\n\tbackdropStacked: {\n\t\tkWkggS: \"xjbqb8w\",\n\t\t$$css: true\n\t},\n\tviewport: {\n\t\t\"--_cl-dialog-inset\": \"xqjiq5l x1h4fyl8 x10zc7xy\",\n\t\tkmVPX3: \"x1xhruhe\",\n\t\tkg3NbH: \"x17hum9o xq50985\",\n\t\tkgQiWS: \"xzd9472\",\n\t\tk1xSpc: \"xrvj5dj\",\n\t\tkGO01o: \"x1evz236\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\t$$css: true\n\t},\n\tpopup: {\n\t\tkmVPX3: \"xtcix8m\",\n\t\tkVAM5u: \"x1w1tqly\",\n\t\tkaIpWk: \"xoyn5m3\",\n\t\tksu8eU: \"xx61lck\",\n\t\tkMzoRj: \"x13rsnn2\",\n\t\tkOIVth: \"x159ucg\",\n\t\tkI3sdo: \"x1a2a7pz\",\n\t\tkWkggS: \"xi0fnek\",\n\t\tkGVxlE: \"x1bet0mg\",\n\t\tkMwMTN: \"x1bbkniq\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkXwgrk: \"xdt5ytf\",\n\t\tkHjlTd: \"xj0a0fe\",\n\t\tkVAEAm: \"x1n2onr6\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\tkv0HGH: \"xarstr8\",\n\t\tkUfP38: \"x1k48kgn\",\n\t\tks3ayO: \"x6vcmp1\",\n\t\tk5JduY: \"x1s928wv\",\n\t\tkypkao: \"x1pz5dro\",\n\t\tkloYau: \"x2q1x1w\",\n\t\tkwXMNM: \"x1j6awrg\",\n\t\tkPNhGg: \"xnr9is1 x130uuv1\",\n\t\tkRicXK: \"x1hbq0ec\",\n\t\tkA8PQs: \"xgjpci1\",\n\t\tkDVEDD: \"xitxdhh\",\n\t\t$$css: true\n\t},\n\tcloseButton: {\n\t\tk1xSpc: \"x78zum5\",\n\t\tkVAEAm: \"x10l6tqk\",\n\t\tkY2c9j: \"x1vjfegm\",\n\t\t$$css: true\n\t}\n};\n/**\n* Positions the ICON the surface's inset from the corner, not the button box: the `sm` circle\n* carries `(space[7] - space[4]) / 2` = `space[1.5]` of its own padding around the glyph, so each\n* inset runs that much shy of the distance the eye should read (`4` for prompt/card, `4.5` for\n* panel). The hit target hangs past the icon toward the corner, which only helps.\n*/\nconst closeInsets = {\n\tprompt: {\n\t\tk87sOh: \"x6szpat\",\n\t\tkt4wiu: \"x1hozv6z\",\n\t\t$$css: true\n\t},\n\tcard: {\n\t\tk87sOh: \"x6szpat\",\n\t\tkt4wiu: \"x1hozv6z\",\n\t\t$$css: true\n\t},\n\tpanel: {\n\t\tk87sOh: \"x1x1ihow\",\n\t\tkt4wiu: \"xnypvuz\",\n\t\t$$css: true\n\t}\n};\n/**\n* Named for what the surface IS rather than for a t-shirt step, because these are different\n* surfaces rather than one surface at three scales — the names stay honest if they later diverge\n* on padding, mobile treatment, or footer.\n*\n* `prompt` asks one thing and returns: a confirmation, or a single-field form like \"add an email\n* address\". `card` is the sign-in / sign-up surface, and matches the width of the legacy card\n* (`theme.sizes.$100`). `panel` is the account-profile and settings surface, which you navigate.\n*\n* `card` sets only `max-width`; the popup is `width: 100%` and its height is whatever the\n* content needs, which is right for a confirmation or a two-field form.\n*\n* `panel` decides both axes. Its content NAVIGATES — a settings surface switches sections\n* in place — and a content-driven height would resize the window on every section change,\n* in both directions at once since the viewport centres it. `94rem` is 1504px at the\n* default root size; both axes stay in `rem`/`dvh` so a consumer scaling type scales with\n* them. `dvh` rather than `vh` for mobile browser chrome.\n*/\n/**\n* How the viewport behaves when the popup is taller than the screen — the \"inside scroll\" vs\n* \"outside scroll\" split, decided by size rather than by a prop because it follows from what each\n* surface already is.\n*\n* A `panel` is a fixed-height window you navigate inside, so it scrolls INSIDE: the viewport stays\n* pinned to the overlay and the consumer composes a scroll region out of `scrollAreaRoot` /\n* `scrollAreaViewport()`. A `prompt` and a `card` take their height from their content and have no\n* obvious region to scroll, so they scroll OUTSIDE: the whole dialog moves within the overlay.\n*\n* The mechanism is one property. Pinned at `height: 100%` the viewport cannot grow, so an over-tall\n* popup spills past its padding box — the scrollable overflow reaches the overlay, but the\n* viewport's own `padding-block-end` stays behind at the fold, and the popup runs flush into the\n* bottom edge with none of the inset that surrounds it everywhere else. `min-height: 100%` lets the\n* box grow instead: the padding travels with the content, and short dialogs still fill the overlay\n* so `place-items: center` has something to centre against.\n*/\nconst viewportSizes = {\n\tprompt: {\n\t\tkVQacm: \"xrl3f06\",\n\t\tkAzted: \"x1us19tq\",\n\t\t$$css: true\n\t},\n\tcard: {\n\t\tkAzted: \"x1us19tq\",\n\t\t$$css: true\n\t},\n\tpanel: {\n\t\tk9llMU: \"x5o4joa\",\n\t\tkZKoxP: \"x5yr21d\",\n\t\t$$css: true\n\t}\n};\nconst sizes$1 = {\n\tprompt: {\n\t\t\"--_cl-stack-veil\": \"x9fbbuw xjeqixp\",\n\t\tkmVPX3: \"xd83o06\",\n\t\tkSGwAc: \"x1hwvmnn\",\n\t\tks0D6T: \"xe0wshh x1abf01k\",\n\t\t$$css: true\n\t},\n\tcard: {\n\t\tkmVPX3: null,\n\t\tkOIVth: null,\n\t\tkWkggS: null,\n\t\tkGVxlE: null,\n\t\tks0D6T: \"x10br76f\",\n\t\t$$css: true\n\t},\n\tpanel: {\n\t\tkmVPX3: \"x1inai6v\",\n\t\tkVQacm: \"x7giv3\",\n\t\tkSGwAc: \"xkh2ocl\",\n\t\tks0D6T: \"x1qpa5xw\",\n\t\t$$css: true\n\t}\n};\n/**\n* Enter/exit motion, keyed by size, because the two surfaces want opposite things.\n*\n* `card` scales from its centre. `panel` fades without scaling — it is most of the\n* viewport, and the larger a surface is the worse a scale reads on it: the absolute travel\n* is `(1 − scale) ×` its own dimensions, so the same 2% that is a few pixels on a card is\n* tens of pixels on a panel, and it arrives as a zoom rather than an emergence.\n*\n* Both maps are keyed by SIZE rather than by a shared \"animated\" cell. StyleX dedupes by\n* PROPERTY across a `stylex.props` call, so a thin \"mobile only\" atom declaring `transform` would\n* replace a shared cell's wholesale and take the desktop scale with it. Each cell is therefore\n* self-contained and reads straight against the design matrix.\n*\n* The backdrop's timing is bound to the popup's rather than chosen independently. The\n* headless transition watches the POPUP's animations to decide when to unmount, and the\n* whole subtree goes at once — so a backdrop that outlives its popup gets cut off\n* mid-fade. Every size therefore fades its scrim over the same duration its popup runs for,\n* `panel` included — which is why `popupMotion.panel` fades rather than being left inert.\n*/\nconst backdropMotion = {\n\tprompt: {\n\t\tkSiTet: \"x1hc1fzr x1iwdfne\",\n\t\tkIyJzY: \"xqwiqes xcv21v6\",\n\t\tk1ekBW: \"x19991ni\",\n\t\tkAMwcw: \"xcj1dhv\",\n\t\t$$css: true\n\t},\n\tcard: {\n\t\tkSiTet: \"x1hc1fzr x1iwdfne\",\n\t\tkIyJzY: \"xqwiqes xcv21v6\",\n\t\tk1ekBW: \"x19991ni\",\n\t\tkAMwcw: \"xcj1dhv\",\n\t\t$$css: true\n\t},\n\tpanel: {\n\t\tkSiTet: \"x1hc1fzr x1iwdfne\",\n\t\tkIyJzY: \"xqwiqes xcv21v6\",\n\t\tk1ekBW: \"x19991ni\",\n\t\tkAMwcw: \"xcj1dhv\",\n\t\t$$css: true\n\t}\n};\nradiusVars[\"--cl-radius-xl\"];\nconst popupMotion = {\n\tprompt: {\n\t\tkaIpWk: \"xoyn5m3 xv0qkb3 x13jkdwg x1w4n03q x1hh1ou8 x3u4vbh x1uw0a0c x13v5zv2 x10k4vuj\",\n\t\tkSiTet: \"x1hc1fzr x1iwdfne\",\n\t\tk3aq6I: \"x3oybdh x1iak236 x1x339lt xjjd46w xg10rr2 x1xbqeob x1v3nhsv x16n8u9u xuz6scd\",\n\t\tkIyJzY: \"xwx21ie xcv21v6 x1nd9ts4 x1f3sm27 x1gojsuz x1k9qzbt\",\n\t\tk1ekBW: \"xz2wyc4 x1ympp8d\",\n\t\tkAMwcw: \"x1uzvfxn x1q7pulu\",\n\t\tkIY38u: \"x1p55wfg\",\n\t\t$$css: true\n\t},\n\tcard: {\n\t\tkaIpWk: \"xoyn5m3 x13jkdwg x1uw0a0c x10k4vuj\",\n\t\tkSiTet: \"x1hc1fzr x1iwdfne\",\n\t\tk3aq6I: \"x3oybdh x1x339lt x1v3nhsv xuz6scd\",\n\t\tkIyJzY: \"x1sh6iat xcv21v6\",\n\t\tk1ekBW: \"xbuxbgj x1ympp8d\",\n\t\tkAMwcw: \"xt5e17a x11yj409\",\n\t\t$$css: true\n\t},\n\tpanel: {\n\t\tkSiTet: \"x1hc1fzr x1iwdfne\",\n\t\tkIyJzY: \"xqwiqes xcv21v6\",\n\t\tk1ekBW: \"x19991ni\",\n\t\tkAMwcw: \"xcj1dhv\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/dialog/keyboard-inset.ts\n/**\n* Publishes how much of the viewport an on-screen keyboard is covering, as `--_cl-keyboard-inset`.\n*\n* iOS does not resize the layout viewport when the keyboard opens — it shrinks the VISUAL viewport\n* and leaves layout alone. A `position: fixed` overlay therefore does not move, and a\n* bottom-anchored sheet ends up behind the keyboard entirely. `interactive-widget=resizes-content`\n* would make the browser handle it, but iOS Safari does not implement it and the viewport meta\n* belongs to the host app regardless. So the inset is measured here instead.\n*\n* The value is consumed as extra bottom padding on `Dialog.Viewport`, which is why one number\n* serves all three sizes without any per-size branching:\n*\n* - `prompt` is `align-self: end`, so it rises to sit exactly on top of the keyboard.\n* - `card` is centred, so it re-centres in the space that is left — it moves up, and its height is\n* still driven by its content, so nothing is squashed.\n* - `panel` is `align-self: stretch`, so it shrinks — which is right for the one surface that\n* already composes its own scroll region.\n*\n* And `place-items: safe center` on the viewport means a card taller than the remaining space\n* aligns to its top rather than having its head cut off.\n*/\nconst PROPERTY = \"--_cl-keyboard-inset\";\nlet listeners = 0;\nlet detach = null;\n/**\n* The gap between the bottom of the layout viewport and the bottom of the visual viewport — which\n* is the keyboard, or any other interactive widget the browser has inset.\n*\n* `offsetTop` is part of it because iOS scrolls the visual viewport to bring a focused field into\n* view, so the visible band moves as well as shrinks.\n*/\nfunction measure() {\n\tconst viewport = window.visualViewport;\n\tif (!viewport) return 0;\n\tif (viewport.scale > 1) return 0;\n\treturn Math.max(0, Math.round(window.innerHeight - (viewport.height + viewport.offsetTop)));\n}\nfunction publish() {\n\tdocument.documentElement.style.setProperty(PROPERTY, `${measure()}px`);\n}\n/**\n* Starts publishing the inset, refcounted so stacked dialogs share one set of listeners and the\n* last one to close tears them down. Returns a no-op where `visualViewport` is unavailable, which\n* covers SSR and any browser without it — the CSS falls back to `0px` and nothing moves.\n*/\nfunction acquireKeyboardInset() {\n\tif (typeof window === \"undefined\" || !window.visualViewport) return () => {};\n\tlisteners++;\n\tif (listeners === 1) {\n\t\tconst viewport = window.visualViewport;\n\t\tpublish();\n\t\tviewport.addEventListener(\"resize\", publish);\n\t\tviewport.addEventListener(\"scroll\", publish);\n\t\tdetach = () => {\n\t\t\tviewport.removeEventListener(\"resize\", publish);\n\t\t\tviewport.removeEventListener(\"scroll\", publish);\n\t\t\tdocument.documentElement.style.removeProperty(PROPERTY);\n\t\t};\n\t}\n\treturn () => {\n\t\tlisteners--;\n\t\tif (listeners === 0 && detach) {\n\t\t\tdetach();\n\t\t\tdetach = null;\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/mosaic/components/dialog/dialog.tsx\n/**\n* `size` lives on the Root rather than on the Popup because the Backdrop needs it too — the\n* two sizes animate differently, and a backdrop that outlives its popup gets cut off\n* mid-fade. Popover puts `size` on its Popup because that part renders the whole floating\n* tree; Dialog's parts are siblings, so the Root is the only place both can read.\n*/\nconst DialogSizeContext = React.createContext(\"prompt\");\n/**\n* The size of the dialog this one was opened from, which is what decides whether the two form a\n* STACK — successive prompts — or a nested dialog over a `panel` or `card`. The two want opposite\n* backdrops, so the distinction has to be reachable from the parts.\n*\n* Read from `DialogSizeContext` before a root overwrites it with its own size. Meaningless on its\n* own, since a root-level dialog reads the context default: pair it with the headless `isStacked`,\n* which is what reports that there is a dialog above at all.\n*/\nconst DialogParentSizeContext = React.createContext(\"prompt\");\nconst DialogContext = React.createContext(null);\n/**\n* The compound component the popup's dev warnings speak in. `AlertDialog` is composed from these\n* same parts, so a message hardcoded to `Dialog` would name parts that do not exist at the call\n* site it is complaining about. Not exported from the folder's `index.ts`: it is how one Mosaic\n* component wraps another, not something a consumer sets.\n*/\nconst DialogPartNameContext = React.createContext(\"Dialog\");\n/** Whether this dialog is a prompt stacked on a prompt — see {@link DialogParentSizeContext}. */\nfunction useIsStacked() {\n\tconst { isStacked } = useDialogContext();\n\tconst parentSize = React.useContext(DialogParentSizeContext);\n\treturn isStacked && parentSize === \"prompt\";\n}\n/** Owns the open state and the size both the backdrop and the popup read. */\nfunction Root$2({ size = \"prompt\", children, ...rest }) {\n\tconst parentSize = React.useContext(DialogSizeContext);\n\treturn /* @__PURE__ */ jsx(DialogParentSizeContext.Provider, {\n\t\tvalue: parentSize,\n\t\tchildren: /* @__PURE__ */ jsx(DialogSizeContext.Provider, {\n\t\t\tvalue: size,\n\t\t\tchildren: /* @__PURE__ */ jsx(DialogRoot, {\n\t\t\t\t...rest,\n\t\t\t\tchildren\n\t\t\t})\n\t\t})\n\t});\n}\n/** Opens the dialog. Renders a `<button>`; `render` swaps in another element. */\nconst Trigger$1 = React.forwardRef(function DialogTrigger$1(props, ref) {\n\treturn /* @__PURE__ */ jsx(DialogTrigger, {\n\t\tref,\n\t\t...props\n\t});\n});\n/** Dismisses the dialog. Renders a `<button>`; `render` swaps in another element. */\nconst Close$1 = React.forwardRef(function DialogClose$1(props, ref) {\n\treturn /* @__PURE__ */ jsx(DialogClose, {\n\t\tref,\n\t\t...props\n\t});\n});\n/** Names the dialog. Renders an `<h2>` wired to the popup's `aria-labelledby`. */\nconst Title$2 = React.forwardRef(function DialogTitle$1(props, ref) {\n\treturn /* @__PURE__ */ jsx(DialogTitle, {\n\t\tref,\n\t\t...props\n\t});\n});\n/** Describes the dialog. Renders a `<p>` wired to the popup's `aria-describedby`. */\nconst Description$3 = React.forwardRef(function DialogDescription$1(props, ref) {\n\treturn /* @__PURE__ */ jsx(DialogDescription, {\n\t\tref,\n\t\t...props\n\t});\n});\n/**\n* The corner dismiss affordance: a ghost circular button holding the close glyph, anchored to\n* the popup's top-inline-end corner.\n*\n* A part rather than a `closeButton` flag on the popup, because where it sits in the DOM decides\n* where it sits in the TAB ORDER — and rendering it first makes it the first tabbable element,\n* which is the focus every dialog opens on until `initialFocus` exists. A boolean would take that\n* choice away from the consumer.\n*/\nconst CloseButton = React.forwardRef(function DialogCloseButton({ \"aria-label\": ariaLabel = \"Close\", className, style, ...rest }, ref) {\n\tconst size = React.useContext(DialogSizeContext);\n\treturn /* @__PURE__ */ jsx(\"span\", {\n\t\t...props(styles$3.closeButton, closeInsets[size]),\n\t\tchildren: /* @__PURE__ */ jsx(DialogClose, {\n\t\t\tref,\n\t\t\t\"aria-label\": ariaLabel,\n\t\t\trender: (props) => /* @__PURE__ */ jsx(Button, {\n\t\t\t\tvariant: \"ghost\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\t...props\n\t\t\t}),\n\t\t\t...mergeStyleProps(themeProps(\"dialog-close-button\"), className, style),\n\t\t\t...rest,\n\t\t\tchildren: /* @__PURE__ */ jsx(Icon, { name: \"close\" })\n\t\t})\n\t});\n});\n/** The scrim behind the dialog. Owns no scroll lock or positioning — that is `Dialog.Viewport`. */\nconst Backdrop = React.forwardRef(function DialogBackdrop$1({ className, style, ...rest }, ref) {\n\tconst size = React.useContext(DialogSizeContext);\n\tconst isStacked = useIsStacked();\n\treturn /* @__PURE__ */ jsx(DialogBackdrop, {\n\t\tref,\n\t\t...mergeStyleProps(themeProps(\"dialog-backdrop\"), props(reset.base, styles$3.backdrop, isStacked && styles$3.backdropStacked, backdropMotion[size]), className, style),\n\t\t...rest\n\t});\n});\n/**\n* Centering container for the popup. Locks body scroll while the dialog is open, and — because it\n* is the element that owns the inset — publishes the on-screen keyboard's share of the viewport\n* for its own bottom padding to consume. See `keyboard-inset.ts`.\n*/\nconst Viewport = React.forwardRef(function DialogViewport$1({ className, style, ...rest }, ref) {\n\tconst size = React.useContext(DialogSizeContext);\n\tReact.useEffect(() => acquireKeyboardInset(), []);\n\treturn /* @__PURE__ */ jsx(DialogViewport, {\n\t\tref,\n\t\t...mergeStyleProps(themeProps(\"dialog-viewport\", { size }), props(reset.base, styles$3.viewport, viewportSizes[size]), className, style),\n\t\t...rest\n\t});\n});\n/**\n* Warns when a dialog opened inside another dialog is not a `prompt`.\n*\n* `panel` and `card` are root-level surfaces: they host what opens over them and are never the\n* thing that opens. A `panel` inside a dialog renders at a size that assumes it owns the viewport,\n* over a surface it was meant to replace.\n*\n* One rule stated on the child covers every case — panel-in-panel, card-in-panel — without having\n* to enumerate which sizes may host what.\n*/\nfunction useNestedSizeWarning(isNestedInDialog, size) {\n\tReact.useEffect(() => {\n\t\tif (!isNestedInDialog || size === \"prompt\") return;\n\t\tconsole.warn(`[clerk] a Dialog opened inside another Dialog should be size=\"prompt\", but this one is size=\"${size}\". Only prompts are meant to open over another dialog; the rest are root-level surfaces.`);\n\t}, [isNestedInDialog, size]);\n}\n/** The dialog surface: `role=\"dialog\"`, focus-trapped, and the element that paints. */\nconst Popup$1 = React.forwardRef(function DialogPopup$1({ className, style, ...rest }, ref) {\n\tconst size = React.useContext(DialogSizeContext);\n\tconst { isStacked: isNestedInDialog, labelId, descriptionId } = useDialogContext();\n\tconst surface = React.useMemo(() => ({\n\t\tlabelId,\n\t\tdescriptionId,\n\t\tsize\n\t}), [\n\t\tlabelId,\n\t\tdescriptionId,\n\t\tsize\n\t]);\n\tconst [node, setNode] = React.useState(null);\n\tuseAccessibleNameWarning(node, React.useContext(DialogPartNameContext));\n\tuseNestedSizeWarning(isNestedInDialog, size);\n\tconst mergedRef = React.useCallback((element) => {\n\t\tsetNode(element);\n\t\tif (typeof ref === \"function\") ref(element);\n\t\telse if (ref) ref.current = element;\n\t}, [ref]);\n\treturn /* @__PURE__ */ jsx(DialogContext.Provider, {\n\t\tvalue: surface,\n\t\tchildren: /* @__PURE__ */ jsx(DialogPopup, {\n\t\t\tref: mergedRef,\n\t\t\t...mergeStyleProps(themeProps(\"dialog-popup\", { size }), props(reset.base, styles$3.popup, sizes$1[size], popupMotion[size]), className, style),\n\t\t\t...rest\n\t\t})\n\t});\n});\n/**\n* Resolves the render-prop form of `children`. Shared with `AlertDialog`, which offers the same\n* `close` contract and would otherwise carry a second implementation of it. Not exported from the\n* folder's `index.ts`, for the same reason as {@link DialogPartNameContext}.\n*\n* Routed through the primitive's close funnel, so a controlled consumer's `onOpenChange` sees this\n* close the same as Escape does — and can decline it.\n*/\nfunction DialogContent({ children }) {\n\tconst { setOpen } = useDialogContext();\n\tif (typeof children !== \"function\") return /* @__PURE__ */ jsx(Fragment, { children });\n\treturn /* @__PURE__ */ jsx(Fragment, { children: children({ close: () => setOpen(false) }) });\n}\n/**\n* Mosaic `Dialog` — a modal surface built on the `@clerk/headless` dialog primitive.\n* Flattens the required nesting (Root, Portal, Backdrop, Viewport, Popup) into one\n* component and hands `children` a `close` callback through a render prop.\n*\n* Each styled part spreads `themeProps` + `stylex.props` through `mergeStyleProps`, so\n* it carries the public `.cl-<slot>` class and StyleX atoms while the headless part\n* keeps its focus management, scroll lock, and ARIA wiring. Drop to the compound parts\n* (`Dialog.Root` and friends) for layouts this wrapper does not cover.\n*/\nfunction Dialog({ trigger, children, size, open, defaultOpen, onOpenChange, modal, closedBy }) {\n\treturn /* @__PURE__ */ jsxs(Root$2, {\n\t\tsize,\n\t\topen,\n\t\tdefaultOpen,\n\t\tonOpenChange,\n\t\tmodal,\n\t\tclosedBy,\n\t\tchildren: [trigger ? /* @__PURE__ */ jsx(DialogTrigger, { render: trigger }) : null, /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(Backdrop, {}), /* @__PURE__ */ jsx(Viewport, { children: /* @__PURE__ */ jsx(Popup$1, { children: /* @__PURE__ */ jsx(DialogContent, { children }) }) })] })]\n\t});\n}\n/** Compound parts for power-user / custom dialog layouts. */\nDialog.Root = Root$2;\nDialog.Trigger = Trigger$1;\n/** Creates a handle linking detached `Dialog.Trigger`s to a `Dialog.Root` anywhere in the tree. */\nDialog.createHandle = createDialogHandle;\nDialog.Portal = DialogPortal;\nDialog.Backdrop = Backdrop;\nDialog.Viewport = Viewport;\nDialog.Popup = Popup$1;\nDialog.Title = Title$2;\nDialog.Description = Description$3;\nDialog.Close = Close$1;\nDialog.CloseButton = CloseButton;\n\n//#endregion\n//#region src/mosaic/components/card/card.styles.ts\nconst root = {\n\tbase: {\n\t\tkMwMTN: \"x1bbkniq\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkXwgrk: \"xdt5ytf\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\t$$css: true\n\t},\n\tcard: {\n\t\tkaIpWk: \"xoyn5m3\",\n\t\tkVQacm: \"xb3r6kr\",\n\t\tkWkggS: \"xi0fnek\",\n\t\tkGVxlE: \"x1bet0mg\",\n\t\t$$css: true\n\t},\n\tflush: {\n\t\tkaIpWk: \"xoyn5m3\",\n\t\tkVQacm: \"x1rea2x4\",\n\t\tkWkggS: \"xjbqb8w\",\n\t\tkGVxlE: \"x1gnnqk1\",\n\t\t$$css: true\n\t},\n\toverlay: {\n\t\tkaIpWk: \"xoyn5m3\",\n\t\tkVQacm: \"xb3r6kr\",\n\t\tkWkggS: \"xi0fnek\",\n\t\tkGVxlE: \"x1bet0mg\",\n\t\t$$css: true\n\t}\n};\nconst header = {\n\tbase: {\n\t\tkg3NbH: \"xxg9yzd\",\n\t\tk1C7PZ: \"xqql8gm\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkXwgrk: \"x15zctf7\",\n\t\tkLKAdn: \"x90nu9x\",\n\t\t$$css: true\n\t},\n\tcontent: {\n\t\tk1xSpc: \"x78zum5\",\n\t\tkXwgrk: \"xdt5ytf\",\n\t\tkzQI83: \"x1iyjqo2\",\n\t\tkhm7nJ: \"x1i8ot2r\",\n\t\t$$css: true\n\t},\n\ttitle: {\n\t\tkMwMTN: \"x1bbkniq\",\n\t\tkGuDYH: \"xiavimo\",\n\t\tk63SB2: \"x15k4r3u\",\n\t\tkLWn49: \"x60xny5\",\n\t\tkN2L0X: \"x1w2vvpw\",\n\t\t$$css: true\n\t},\n\tdescription: {\n\t\tkMwMTN: \"xyfrgc4\",\n\t\tkGuDYH: \"xycjmc8\",\n\t\tkLWn49: \"x4wh5sz\",\n\t\tkN2L0X: \"x1fzhlzt\",\n\t\t$$css: true\n\t}\n};\nconst content$1 = { base: {\n\tk8WAf4: \"x8wnb9s\",\n\tkg3NbH: \"xxg9yzd\",\n\tkCS8Yb: \"xdl72j9\",\n\tkzQI83: \"x1iyjqo2\",\n\tkmuXW: \"xs83m0k\",\n\t$$css: true\n} };\nconst footer = { base: {\n\tkOIVth: \"x23m7v\",\n\tk8WAf4: \"x8wnb9s\",\n\tkg3NbH: \"xxg9yzd\",\n\tkGNEyG: \"x6s0dn4\",\n\tk1xSpc: \"x78zum5\",\n\tkmuXW: \"x2lah0s\",\n\tkjj79g: \"x1qughib\",\n\tkLZC3w: \"x1dwpgp5\",\n\tkPef9Z: \"x13fuv20\",\n\tkEafiO: \"x178xt8z\",\n\tkzqmXN: \"xh8yej3\",\n\t$$css: true\n} };\nconst branding = {\n\tbase: {\n\t\tk8WAf4: \"x1im7vgq\",\n\t\tkg3NbH: \"x1ra9hnu\",\n\t\tkLZC3w: \"x1dwpgp5\",\n\t\tkPef9Z: \"x13fuv20\",\n\t\tkEafiO: \"x178xt8z\",\n\t\tk9WMMc: \"x2b8uid\",\n\t\t$$css: true\n\t},\n\ttext: {\n\t\tkMwMTN: \"xyfrgc4\",\n\t\tk1xSpc: \"x1rg5ohu\",\n\t\tkGuDYH: \"xoquv76\",\n\t\tkLWn49: \"x1s3bc0o\",\n\t\tkN2L0X: \"x1fzhlzt\",\n\t\t$$css: true\n\t},\n\tlink: {\n\t\tkaIpWk: \"x1duzso1\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkMwMTN: \"x1heor9g\",\n\t\tk1xSpc: \"x3nfvp2\",\n\t\tkXLuUW: \"x16dsc37\",\n\t\tkZKoxP: \"x1jumdjj\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/card/card.tsx\nconst DEFAULT_ELEVATION = \"card\";\nconst CardElevationContext = React.createContext(DEFAULT_ELEVATION);\nfunction Branding() {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t...props(reset.base, branding.base),\n\t\tchildren: /* @__PURE__ */ jsxs(\"span\", {\n\t\t\t...props(reset.base, branding.text),\n\t\t\tchildren: [\n\t\t\t\t\"Secured by\",\n\t\t\t\t\" \",\n\t\t\t\t/* @__PURE__ */ jsx(\"a\", {\n\t\t\t\t\thref: \"https://go.clerk.com/components\",\n\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\trel: \"noopener noreferrer\",\n\t\t\t\t\t...props(reset.base, branding.link, focusOutline.visible),\n\t\t\t\t\tchildren: /* @__PURE__ */ jsx(ClerkLogo, { height: 14 })\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nconst Root$1 = React.forwardRef(function CardRoot({ elevation = DEFAULT_ELEVATION, renderBranding = true, render, className, style, children, ...rest }, ref) {\n\tconst element = useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"card-root\", { elevation }), props(reset.base, root.base, root[elevation]), className, style),\n\t\t\t...rest,\n\t\t\tchildren: /* @__PURE__ */ jsxs(Fragment, { children: [children, renderBranding ? /* @__PURE__ */ jsx(Branding, {}) : null] })\n\t\t}\n\t});\n\treturn /* @__PURE__ */ jsx(CardElevationContext.Provider, {\n\t\tvalue: elevation,\n\t\tchildren: element\n\t});\n});\n/**\n* Dismisses the dialog from inside the header, in flow, so the header reserves the width it takes\n* and a long title cannot run under it. `Dialog.CloseButton` stays the corner affordance, for\n* dialogs that hold no card.\n*/\nfunction HeaderCloseButton() {\n\treturn /* @__PURE__ */ jsx(Dialog.Close, {\n\t\t\"aria-label\": \"Close\",\n\t\trender: (props) => /* @__PURE__ */ jsx(Button, {\n\t\t\tvariant: \"ghost\",\n\t\t\tshape: \"circle\",\n\t\t\tsize: \"sm\",\n\t\t\t...props\n\t\t}),\n\t\tchildren: /* @__PURE__ */ jsx(Icon, { name: \"close\" })\n\t});\n}\nconst Header$1 = React.forwardRef(function CardHeader({ render, className, style, children, ...rest }, ref) {\n\tconst dialog = React.useContext(DialogContext);\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"card-header\"), props(reset.base, header.base), className, style),\n\t\t\t...rest,\n\t\t\tchildren: /* @__PURE__ */ jsxs(Fragment, { children: [dialog ? /* @__PURE__ */ jsx(HeaderCloseButton, {}) : null, /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t...mergeStyleProps(themeProps(\"card-header-content\"), props(reset.base, header.content)),\n\t\t\t\tchildren\n\t\t\t})] })\n\t\t}\n\t});\n});\n/**\n* Names the card. Renders an `<h2>`, and inside a dialog takes the id the popup points\n* `aria-labelledby` at, so the card names the dialog without knowing it is in one.\n*/\nconst Title$1 = React.forwardRef(function CardTitle({ render, className, style, ...rest }, ref) {\n\tconst dialog = React.useContext(DialogContext);\n\treturn useRender({\n\t\tdefaultTagName: \"h2\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"card-title\"), props(reset.base, header.title), className, style),\n\t\t\t...rest,\n\t\t\t...dialog && { id: dialog.labelId }\n\t\t}\n\t});\n});\n/** Describes the card. The `aria-describedby` counterpart to {@link Title}. */\nconst Description$2 = React.forwardRef(function CardDescription({ render, className, style, ...rest }, ref) {\n\tconst dialog = React.useContext(DialogContext);\n\treturn useRender({\n\t\tdefaultTagName: \"p\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"card-description\"), props(reset.base, header.description), className, style),\n\t\t\t...rest,\n\t\t\t...dialog && { id: dialog.descriptionId }\n\t\t}\n\t});\n});\nconst Content$1 = React.forwardRef(function CardContent({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"card-content\"), props(reset.base, content$1.base), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\nconst Footer$1 = React.forwardRef(function CardFooter({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"card-footer\", { elevation: React.useContext(CardElevationContext) }), props(reset.base, footer.base), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/**\n* A styled surface composed through `Card.Root`, `Card.Header`, `Card.Title`, `Card.Description`,\n* `Card.Content`, and `Card.Footer`. Every part accepts the Mosaic `render` prop and forwards its\n* ref.\n*\n* Rendered as the content of a `Dialog.Popup`, the card reads that surface from `DialogContext`:\n* the title and description take the popup's ARIA ids, and the header carries the dismiss button.\n*/\nconst Card = {\n\tRoot: Root$1,\n\tHeader: Header$1,\n\tTitle: Title$1,\n\tDescription: Description$2,\n\tContent: Content$1,\n\tFooter: Footer$1\n};\n\n//#endregion\n//#region src/mosaic/components/item/item.styles.ts\nconst item$1 = {\n\tbase: {\n\t\t\"--_cl-icon-color\": \"x21fbpw\",\n\t\tkaIpWk: \"x5tmu5v\",\n\t\tkg3NbH: \"xnav4zb\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkMwMTN: \"xyfrgc4\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkMv6JI: \"xbhks3\",\n\t\tkGuDYH: \"xycjmc8\",\n\t\tkLWn49: \"x4wh5sz\",\n\t\tk9WMMc: \"x1yc453h\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\t$$css: true\n\t},\n\tinteractive: {\n\t\t\"--_cl-icon-color\": \"x21fbpw xkbcsyv\",\n\t\tkWkggS: \"x1eb1qyt x2wuj6n\",\n\t\tkMwMTN: \"xyfrgc4 xsbvbuj\",\n\t\tkkrTdU: \"x1ypdohk x126qsmr\",\n\t\t$$css: true\n\t},\n\txs: {\n\t\tkOIVth: \"x23m7v\",\n\t\tkZKoxP: \"x130cbx6\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkOIVth: \"x159ucg\",\n\t\tkZKoxP: \"x1rirb2l\",\n\t\t$$css: true\n\t}\n};\nconst media$1 = {\n\tbase: {\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkOBAk4: \"x1y5e3q9\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkmuXW: \"x2lah0s\",\n\t\tkjj79g: \"xl56j7k\",\n\t\t$$css: true\n\t},\n\txs: {\n\t\tkzqmXN: \"x1i4fex1\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkzqmXN: \"x14m2bez\",\n\t\t$$css: true\n\t}\n};\nconst content = { base: {\n\tk1xSpc: \"x78zum5\",\n\tkXwgrk: \"xdt5ytf\",\n\tkzQI83: \"x1iyjqo2\",\n\tkjj79g: \"xl56j7k\",\n\tk7Eaqz: \"xeuugli\",\n\t$$css: true\n} };\nconst label$1 = {\n\tbase: {\n\t\tk63SB2: \"x1356bol\",\n\t\t$$css: true\n\t},\n\tprimary: {\n\t\tkMwMTN: \"x1jq3gyk\",\n\t\tkGuDYH: \"xycjmc8\",\n\t\tkLWn49: \"x4wh5sz\",\n\t\t$$css: true\n\t},\n\tsecondary: {\n\t\tkGuDYH: \"xoquv76\",\n\t\tkLWn49: \"x1s3bc0o\",\n\t\t$$css: true\n\t}\n};\nconst description = { base: {\n\tkMwMTN: \"xyfrgc4\",\n\tkGuDYH: \"xoquv76\",\n\tk63SB2: \"xyiwv3i\",\n\tkLWn49: \"x1s3bc0o\",\n\t$$css: true\n} };\nconst actions = { base: {\n\tkOIVth: \"x23m7v\",\n\tkGNEyG: \"x6s0dn4\",\n\tk1xSpc: \"x78zum5\",\n\tkmuXW: \"x2lah0s\",\n\t$$css: true\n} };\nconst group = { base: {\n\tkmVPX3: \"xvs1a9c\",\n\tkzqmXN: \"xh8yej3\",\n\t$$css: true\n} };\nconst separator$1 = { base: {\n\tksu8eU: \"xng3xce\",\n\tkWkggS: \"xypn2br\",\n\tkmuXW: \"x2lah0s\",\n\tkZKoxP: \"xjm9jq1\",\n\tkzqmXN: \"xh8yej3\",\n\t$$css: true\n} };\n\n//#endregion\n//#region src/mosaic/components/item/item.tsx\nconst DEFAULT_SIZE = \"md\";\n/** Carries `Item.Root`'s size down to the parts it scales (`Item.Media`). */\nconst ItemContext = React.createContext(DEFAULT_SIZE);\n/**\n* Root row. Renders a `<div>`, or a custom element (link/button) via `render`,\n* which also opts the row into hover and cursor affordances. Provides its `size`\n* to the parts nested within it.\n*\n* @example\n* <Item.Root size='xs' render={({ children, ...props }) => <a {...props} href='/org'>{children}</a>}>\n* <Item.Media><Avatar.Root size='fit'>…</Avatar.Root></Item.Media>\n* <Item.Content><Item.Label>Clerk</Item.Label></Item.Content>\n* </Item.Root>\n*/\nconst Root = React.forwardRef(function MosaicItem({ size = DEFAULT_SIZE, render, className, style, ...rest }, ref) {\n\tconst interactive = Boolean(render);\n\tconst element = useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item\", {\n\t\t\t\tinteractive,\n\t\t\t\tsize\n\t\t\t}), props(reset.base, focusOutline.visible, item$1.base, item$1[size], interactive && item$1.interactive), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n\treturn /* @__PURE__ */ jsx(ItemContext.Provider, {\n\t\tvalue: size,\n\t\tchildren: element\n\t});\n});\n/**\n* Square leading column that centers its media (icon, image, or avatar). Takes\n* its width from the `size` on the enclosing `Item.Root`, falling back to the\n* default when rendered on its own.\n*/\nconst Media = React.forwardRef(function MosaicItemMedia({ render, className, style, ...rest }, ref) {\n\tconst size = React.useContext(ItemContext);\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item-media\", { size }), props(reset.base, media$1.base, media$1[size]), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/** Vertical stack (label + description) that grows to fill the row between media and actions. */\nconst Content = React.forwardRef(function MosaicItemContent({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item-content\"), props(reset.base, content.base), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\nconst DEFAULT_LABEL_VARIANT = \"primary\";\n/** The row's label. Truncates to a single line. */\nconst Label = React.forwardRef(function MosaicItemLabel({ variant = DEFAULT_LABEL_VARIANT, render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item-label\", { variant }), props(reset.base, label$1.base, label$1[variant], truncationStyles.singleLine), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/** Secondary text beneath the label. Truncates to a single line. */\nconst Description$1 = React.forwardRef(function MosaicItemDescription({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item-description\"), props(reset.base, description.base, truncationStyles.singleLine), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/** Trailing controls (buttons, badges). */\nconst Actions = React.forwardRef(function MosaicItemActions({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item-actions\"), props(reset.base, actions.base), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/** Vertical wrapper around a set of rows. Layout only; the rows carry their own semantics. */\nconst Group = React.forwardRef(function MosaicItemGroup({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item-group\"), props(reset.base, group.base), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/** Thin divider (`<hr>`) between rows or groups. */\nconst Separator = React.forwardRef(function MosaicItemSeparator({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"hr\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"item-separator\"), props(reset.base, separator$1.base), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/**\n* Mosaic `Item` — a row for lists of accounts, organizations, and settings.\n* Composed via dot syntax: `Item.Root`, `Item.Media`, `Item.Content`,\n* `Item.Label`, `Item.Description`, `Item.Actions`, `Item.Group`,\n* `Item.Separator`. Every part takes a `render` prop and forwards a ref.\n*\n* `size` is set once on `Item.Root` and reaches `Item.Media` through context, so\n* a row scales as a unit rather than per part.\n*/\nconst Item = {\n\tRoot,\n\tMedia,\n\tContent,\n\tLabel,\n\tDescription: Description$1,\n\tActions,\n\tGroup,\n\tSeparator\n};\n\n//#endregion\n//#region ../headless/src/utils/side-offset.ts\n/** Picks the gap the placement's own axis asks for. */\nfunction resolveSideOffset(offset, placement) {\n\tif (typeof offset === \"number\") return offset;\n\tconst side = placement.split(\"-\")[0];\n\treturn side === \"left\" || side === \"right\" ? offset.x : offset.y;\n}\n\n//#endregion\n//#region ../headless/src/utils/css-vars.ts\n/**\n* Positioning middleware that sets CSS custom properties on the floating element:\n*\n* - `--cl-anchor-width` – reference element width (px)\n* - `--cl-anchor-height` – reference element height (px)\n* - `--cl-available-width` – available width between anchor and viewport edge (px)\n* - `--cl-available-height` – available height between anchor and viewport edge (px)\n* - `--cl-transform-origin` – CSS transform-origin pointing back toward the anchor\n* - `--cl-anchor-origin` – CSS transform-origin at the anchor's own center\n*\n* Place **after** `arrow()` so arrow position data is available for transform-origin.\n*/\nfunction cssVars(opts) {\n\treturn {\n\t\tname: \"cssVars\",\n\t\tasync fn(state) {\n\t\t\tconst { elements, rects, middlewareData, placement } = state;\n\t\t\tconst style = elements.floating.style;\n\t\t\tconst sideOffset = resolveSideOffset(opts?.sideOffset ?? 0, placement);\n\t\t\tstyle.setProperty(\"--cl-anchor-width\", `${rects.reference.width}px`);\n\t\t\tstyle.setProperty(\"--cl-anchor-height\", `${rects.reference.height}px`);\n\t\t\tconst overflow = await detectOverflow(state, { padding: 5 });\n\t\t\tconst side = placement.split(\"-\")[0];\n\t\t\tconst availableHeight = side === \"top\" ? rects.floating.height - overflow.top : side === \"bottom\" ? rects.floating.height - overflow.bottom : rects.floating.height - Math.max(overflow.top, 0) - Math.max(overflow.bottom, 0);\n\t\t\tconst availableWidth = side === \"left\" ? rects.floating.width - overflow.left : side === \"right\" ? rects.floating.width - overflow.right : rects.floating.width - Math.max(overflow.left, 0) - Math.max(overflow.right, 0);\n\t\t\tstyle.setProperty(\"--cl-available-width\", `${availableWidth}px`);\n\t\t\tstyle.setProperty(\"--cl-available-height\", `${availableHeight}px`);\n\t\t\tconst arrowEl = elements.floating.querySelector(\"svg[data-side]\");\n\t\t\tconst anchorX = rects.reference.x + rects.reference.width / 2 - state.x;\n\t\t\tconst anchorY = rects.reference.y + rects.reference.height / 2 - state.y;\n\t\t\tlet transformX;\n\t\t\tlet transformY;\n\t\t\tif (arrowEl) {\n\t\t\t\tconst arrowX = middlewareData.arrow?.x ?? 0;\n\t\t\t\tconst arrowY = middlewareData.arrow?.y ?? 0;\n\t\t\t\ttransformX = arrowX + arrowEl.clientWidth / 2;\n\t\t\t\ttransformY = arrowY + arrowEl.clientHeight / 2;\n\t\t\t} else {\n\t\t\t\ttransformX = anchorX;\n\t\t\t\ttransformY = anchorY;\n\t\t\t}\n\t\t\tconst originMap = {\n\t\t\t\ttop: `${transformX}px calc(100% + ${sideOffset}px)`,\n\t\t\t\tbottom: `${transformX}px ${-sideOffset}px`,\n\t\t\t\tleft: `calc(100% + ${sideOffset}px) ${transformY}px`,\n\t\t\t\tright: `${-sideOffset}px ${transformY}px`\n\t\t\t};\n\t\t\tstyle.setProperty(\"--cl-transform-origin\", originMap[side]);\n\t\t\tstyle.setProperty(\"--cl-anchor-origin\", `${anchorX}px ${anchorY}px`);\n\t\t\treturn {};\n\t\t}\n\t};\n}\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-context.ts\nconst MenuContext = createContext(null);\nfunction useMenuContext() {\n\tconst ctx = useContext(MenuContext);\n\tif (!ctx) throw new Error(\"Menu compound components must be used within <Menu>\");\n\treturn ctx;\n}\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-root.tsx\nfunction MenuInner(props) {\n\tconst { placement: placementProp, sideOffset, fallbackPlacements, children } = props;\n\tconst parentContext = useContext(MenuContext);\n\tconst tree = useFloatingTree();\n\tconst nodeId = useFloatingNodeId();\n\tconst parentId = useFloatingParentNodeId();\n\tconst isNested = parentId != null && parentContext != null;\n\tconst [open, setOpen] = useControllableState(props.open, props.defaultOpen ?? false, props.onOpenChange);\n\tconst [activeIndex, setActiveIndex] = useState(null);\n\tconst elementsRef = useRef([]);\n\tconst labelsRef = useRef([]);\n\tconst arrowRef = useRef(null);\n\tconst popupRef = useRef(null);\n\tconst resolvedPlacement = placementProp ?? (isNested ? \"right-start\" : \"bottom-start\");\n\tconst resolvedOffset = sideOffset ?? (isNested ? 0 : 4);\n\tconst { refs, floatingStyles, context: floatingContext, placement } = useFloating({\n\t\tnodeId,\n\t\topen,\n\t\tonOpenChange: setOpen,\n\t\tplacement: resolvedPlacement,\n\t\tmiddleware: [\n\t\t\toffset((state) => ({\n\t\t\t\tmainAxis: resolveSideOffset(resolvedOffset, state.placement),\n\t\t\t\talignmentAxis: isNested ? -4 : 0\n\t\t\t})),\n\t\t\tflip({ fallbackPlacements }),\n\t\t\tshift({ padding: 5 }),\n\t\t\tarrow({ element: arrowRef }),\n\t\t\tcssVars({ sideOffset: resolvedOffset })\n\t\t],\n\t\twhileElementsMounted: autoUpdate\n\t});\n\tconst returnFocusRef = useReturnFocus(floatingContext);\n\tconst { mounted, transitionProps } = useTransition({\n\t\topen,\n\t\tref: popupRef\n\t});\n\tconst hover = useHover(floatingContext, {\n\t\tenabled: isNested,\n\t\tdelay: { open: 75 },\n\t\thandleClose: safePolygon({ blockPointerEvents: true })\n\t});\n\tconst click = useClick(floatingContext, {\n\t\tevent: \"mousedown\",\n\t\ttoggle: !isNested,\n\t\tignoreMouse: isNested\n\t});\n\tconst baseRole = useRole(floatingContext, { role: \"menu\" });\n\tconst { getReferenceProps, getFloatingProps, getItemProps } = useInteractions([\n\t\thover,\n\t\tclick,\n\t\tuseMemo(() => {\n\t\t\tif (isNested) return baseRole;\n\t\t\tconst reference = { ...baseRole.reference };\n\t\t\tdelete reference.role;\n\t\t\treturn {\n\t\t\t\t...baseRole,\n\t\t\t\treference\n\t\t\t};\n\t\t}, [baseRole, isNested]),\n\t\tuseDismiss(floatingContext, { bubbles: {\n\t\t\tescapeKey: false,\n\t\t\toutsidePress: true\n\t\t} }),\n\t\tuseListNavigation(floatingContext, {\n\t\t\tlistRef: elementsRef,\n\t\t\tactiveIndex,\n\t\t\tnested: isNested,\n\t\t\tonNavigate: setActiveIndex\n\t\t}),\n\t\tuseTypeahead(floatingContext, {\n\t\t\tlistRef: labelsRef,\n\t\t\tonMatch: open ? setActiveIndex : void 0,\n\t\t\tactiveIndex\n\t\t})\n\t]);\n\tuseEffect(() => {\n\t\tif (!tree) return;\n\t\tfunction handleTreeClick() {\n\t\t\tsetOpen(false);\n\t\t}\n\t\tfunction onSubMenuOpen(event) {\n\t\t\tif (event.nodeId !== nodeId && event.parentId === parentId) setOpen(false);\n\t\t}\n\t\ttree.events.on(\"click\", handleTreeClick);\n\t\ttree.events.on(\"menuopen\", onSubMenuOpen);\n\t\treturn () => {\n\t\t\ttree.events.off(\"click\", handleTreeClick);\n\t\t\ttree.events.off(\"menuopen\", onSubMenuOpen);\n\t\t};\n\t}, [\n\t\ttree,\n\t\tnodeId,\n\t\tparentId,\n\t\tsetOpen\n\t]);\n\tuseEffect(() => {\n\t\tif (open && tree) tree.events.emit(\"menuopen\", {\n\t\t\tparentId,\n\t\t\tnodeId\n\t\t});\n\t}, [\n\t\ttree,\n\t\topen,\n\t\tnodeId,\n\t\tparentId\n\t]);\n\tconst contextValue = useMemo(() => ({\n\t\topen,\n\t\tfloatingContext,\n\t\trefs,\n\t\tfloatingStyles,\n\t\tplacement,\n\t\tgetReferenceProps,\n\t\tgetFloatingProps,\n\t\tgetItemProps,\n\t\tactiveIndex,\n\t\tsetActiveIndex,\n\t\telementsRef,\n\t\tlabelsRef,\n\t\tarrowRef,\n\t\tpopupRef,\n\t\treturnFocusRef,\n\t\tisNested,\n\t\tmounted,\n\t\ttransitionProps,\n\t\tparentContext\n\t}), [\n\t\topen,\n\t\tfloatingContext,\n\t\trefs,\n\t\tfloatingStyles,\n\t\tplacement,\n\t\tgetReferenceProps,\n\t\tgetFloatingProps,\n\t\tgetItemProps,\n\t\tactiveIndex,\n\t\treturnFocusRef,\n\t\tisNested,\n\t\tmounted,\n\t\ttransitionProps,\n\t\tparentContext\n\t]);\n\treturn /* @__PURE__ */ jsx(FloatingNode, {\n\t\tid: nodeId,\n\t\tchildren: /* @__PURE__ */ jsx(MenuContext.Provider, {\n\t\t\tvalue: contextValue,\n\t\t\tchildren\n\t\t})\n\t});\n}\nfunction MenuRoot(props) {\n\tif (useFloatingParentNodeId() === null) return /* @__PURE__ */ jsx(FloatingTree, { children: /* @__PURE__ */ jsx(MenuInner, { ...props }) });\n\treturn /* @__PURE__ */ jsx(MenuInner, { ...props });\n}\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-trigger.tsx\nconst MenuTrigger$1 = React.forwardRef(function MenuTrigger(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { open, isNested, refs, getReferenceProps, parentContext } = useMenuContext();\n\tconst item = useListItem();\n\tconst state = { open };\n\tlet referenceProps;\n\tif (isNested && parentContext) referenceProps = getReferenceProps(parentContext.getItemProps());\n\telse referenceProps = getReferenceProps();\n\tconst defaultProps = {\n\t\ttype: \"button\",\n\t\t...isNested && {\n\t\t\trole: \"menuitem\",\n\t\t\ttabIndex: parentContext?.activeIndex === item.index ? 0 : -1\n\t\t},\n\t\t...referenceProps\n\t};\n\treturn useRender({\n\t\tdefaultTagName: \"button\",\n\t\trender,\n\t\tref: [\n\t\t\trefs.setReference,\n\t\t\tisNested ? item.ref : null,\n\t\t\tref ?? null\n\t\t],\n\t\tstate,\n\t\tstateAttributesMapping: { open: (v) => v ? { \"data-open\": \"\" } : { \"data-closed\": \"\" } },\n\t\tprops: mergeProps(defaultProps, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-portal.tsx\nfunction MenuPortal(props) {\n\tconst { mounted } = useMenuContext();\n\tif (!mounted) return null;\n\treturn /* @__PURE__ */ jsx(FloatingPortal, {\n\t\troot: props.root,\n\t\tchildren: props.children\n\t});\n}\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-positioner.tsx\nconst MenuPositioner = React.forwardRef(function MenuPositioner(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { mounted, floatingContext, refs, floatingStyles, placement, getFloatingProps, elementsRef, labelsRef, isNested, returnFocusRef, setActiveIndex } = useMenuContext();\n\tconst side = placement.split(\"-\")[0];\n\tconst floatingProps = getFloatingProps({ onKeyDown(event) {\n\t\tif (event.key === \"Home\" || event.key === \"End\") {\n\t\t\tevent.preventDefault();\n\t\t\tconst items = elementsRef.current;\n\t\t\tif (event.key === \"Home\") {\n\t\t\t\tconst firstEnabled = items.findIndex((el) => el != null && !el.hasAttribute(\"aria-disabled\"));\n\t\t\t\tif (firstEnabled !== -1) setActiveIndex(firstEnabled);\n\t\t\t} else for (let i = items.length - 1; i >= 0; i--) {\n\t\t\t\tconst item = items[i];\n\t\t\t\tif (item != null && !item.hasAttribute(\"aria-disabled\")) {\n\t\t\t\t\tsetActiveIndex(i);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} });\n\tconst merged = mergeProps({\n\t\t\"data-side\": side,\n\t\tstyle: floatingStyles,\n\t\t...floatingProps\n\t}, otherProps);\n\tif (floatingProps.id != null) merged.id = floatingProps.id;\n\tconst element = useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tenabled: mounted,\n\t\tref: [refs.setFloating, ref],\n\t\tprops: merged\n\t});\n\tif (!element) return null;\n\treturn /* @__PURE__ */ jsx(FloatingFocusManager, {\n\t\tcontext: floatingContext,\n\t\tmodal: false,\n\t\tinitialFocus: isNested ? -1 : isKeyboardOpen(floatingContext) ? 0 : refs.floating,\n\t\treturnFocus: isNested ? false : returnFocusRef,\n\t\tchildren: /* @__PURE__ */ jsx(FloatingList, {\n\t\t\telementsRef,\n\t\t\tlabelsRef,\n\t\t\tchildren: element\n\t\t})\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-popup.tsx\nconst MenuPopup$1 = React.forwardRef(function MenuPopup(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { popupRef, transitionProps } = useMenuContext();\n\tconst defaultProps = { ...transitionProps };\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref: [popupRef, ref],\n\t\tprops: mergeProps(defaultProps, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-item.tsx\nconst MenuItem$1 = React.forwardRef(function MenuItem(props, ref) {\n\tconst { render, label, disabled, closeOnClick = true, onClick: consumerOnClick, ...otherProps } = props;\n\tconst safeOtherProps = !disabled && typeof consumerOnClick === \"function\" ? {\n\t\t...otherProps,\n\t\tonClick: consumerOnClick\n\t} : otherProps;\n\tconst { activeIndex, getItemProps } = useMenuContext();\n\tconst tree = useFloatingTree();\n\tconst item = useListItem({ label: disabled ? null : label });\n\tconst isActive = item.index === activeIndex;\n\tconst state = {\n\t\tactive: isActive,\n\t\tdisabled: !!disabled\n\t};\n\tconst defaultProps = {\n\t\ttype: \"button\",\n\t\trole: \"menuitem\",\n\t\ttabIndex: isActive ? 0 : -1,\n\t\t...disabled && { \"aria-disabled\": true },\n\t\t...getItemProps({ onClick() {\n\t\t\tif (!disabled && closeOnClick) tree?.events.emit(\"click\");\n\t\t} })\n\t};\n\treturn useRender({\n\t\tdefaultTagName: \"button\",\n\t\trender,\n\t\tref: [item.ref, ref],\n\t\tstate,\n\t\tstateAttributesMapping: {\n\t\t\tactive: (v) => v ? { \"data-active\": \"\" } : null,\n\t\t\tdisabled: (v) => v ? { \"data-disabled\": \"\" } : null\n\t\t},\n\t\tprops: mergeProps(defaultProps, safeOtherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/menu/menu-separator.tsx\nfunction MenuSeparator$1(props) {\n\tconst { render, ...otherProps } = props;\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tprops: mergeProps({ role: \"separator\" }, otherProps)\n\t});\n}\n\n//#endregion\n//#region src/mosaic/components/scroll-area/scroll-area.vars.stylex.ts\nconst scrollAreaVars = {\n\t\"--cl-scroll-area-progress-start\": \"var(--cl-scroll-area-progress-start)\",\n\t\"--cl-scroll-area-progress-end\": \"var(--cl-scroll-area-progress-end)\",\n\t__varGroupHash__: \"xg2166p\"\n};\nconst scrollbarThumbVars = {\n\t\"--_cl-scrollbar-thumb-color\": \"var(--_cl-scrollbar-thumb-color)\",\n\t__varGroupHash__: \"xli8ifs\"\n};\n\n//#endregion\n//#region src/mosaic/components/scroll-area/scroll-area.styles.ts\nconst progressStart = scrollAreaVars[\"--cl-scroll-area-progress-start\"];\nconst progressEnd = scrollAreaVars[\"--cl-scroll-area-progress-end\"];\nconst fadeSize = scrollFadeVars[\"--cl-scroll-fade-size\"];\nscrollFadeVars[\"--cl-scroll-fade-range\"];\nscrollbarVars[\"--cl-scrollbar-width\"];\nscrollbarThumbVars[\"--_cl-scrollbar-thumb-color\"];\n`${progressStart}${fadeSize}${progressEnd}${fadeSize}`;\nconst styles$2 = {\n\troot: {\n\t\tk1xSpc: \"x78zum5\",\n\t\tkXwgrk: \"xdt5ytf\",\n\t\tkVAEAm: \"x1n2onr6\",\n\t\tkAzted: \"x2lwn1j\",\n\t\t$$css: true\n\t},\n\tviewport: {\n\t\tkZeWKH: \"xish69e\",\n\t\tkCS8Yb: \"xdl72j9\",\n\t\tkzQI83: \"x1iyjqo2\",\n\t\tkmuXW: \"xs83m0k\",\n\t\tkFlMNQ: \"xkst4e0\",\n\t\tk1VxX4: \"x1qnsp0f\",\n\t\tkAzted: \"x2lwn1j\",\n\t\tkXHlph: \"x6ikm8r\",\n\t\tkORKVm: \"x1odjw0f\",\n\t\t$$css: true\n\t},\n\tthumbColor: {\n\t\t\"--_cl-scrollbar-thumb-color\": \"xbbqkst x1odmb1f\",\n\t\tkIyJzY: \"xirxuem x1pe5yr2\",\n\t\tk1ekBW: \"xr752y0\",\n\t\tkAMwcw: \"x1iuo0uw\",\n\t\t$$css: true\n\t},\n\tscrollbar: {\n\t\tkBDiHx: \"x13mldug\",\n\t\tkggqXk: \"x1pet65r\",\n\t\tkFaAu4: \"x16sl5ms\",\n\t\tk97q4b: \"x1x053z9\",\n\t\tkGXijm: \"xvioski\",\n\t\tkE6KJ8: \"xldlt4e\",\n\t\tkAWW7O: \"xvydbqu x1m9b8w2\",\n\t\tkJHVUp: \"x1mc4fbr\",\n\t\tkcoO1q: \"x1yvygqp\",\n\t\tkrhWos: \"xfylwoi\",\n\t\t$$css: true\n\t},\n\tmask: {\n\t\tkX1K2I: \"xf524h5\",\n\t\tk2A1W4: \"xu8n7he\",\n\t\tkJcbqH: \"x16fucec\",\n\t\tkn1fP1: \"xnzzp5q xpkdp8j\",\n\t\t$$css: true\n\t},\n\tindicators: {\n\t\tkxTU1E: \"x1w294er\",\n\t\tkWV6AL: \"x1u6ievf\",\n\t\tkKVMdj: \"x1h88zcb\",\n\t\tkjjejL: \"x1qvwqhg\",\n\t\tkyAemX: \"x1esw782\",\n\t\t$$css: true\n\t}\n};\nconst gutters = {\n\tauto: {\n\t\tkZ7BSC: \"x24f09q\",\n\t\t$$css: true\n\t},\n\tstable: {\n\t\tkZ7BSC: \"x185mbhu\",\n\t\t$$css: true\n\t}\n};\n/**\n* The scroll surface, as StyleX atoms to spread onto an element you already render.\n*\n* There is no `<ScrollArea>` component: everything here is CSS, so a component would only add\n* a DOM node and an API to version. Put these on whatever already scrolls — an `Item.Group`,\n* a list, a panel body — and it keeps its own slot class, which stays the hook a theme\n* targets.\n*\n* ```tsx\n* <div {...stylex.props(scrollAreaRoot)}>\n* <Item.Group {...stylex.props(...scrollAreaViewport())}>{rows}</Item.Group>\n* </div>\n* ```\n*\n* @param gutter - Whether the scrollbar's space is held open. `auto` (the default, and CSS's\n* own) takes it only while the content overflows. `stable` reserves it either way, which is\n* worth it when the content can change height **in place** — a filterable or paginated\n* collection — so crossing the overflow threshold doesn't shift the rows sideways. Neither\n* does anything on platforms that overlay their scrollbars.\n*/\nfunction scrollAreaViewport(gutter = \"auto\") {\n\treturn [\n\t\tstyles$2.viewport,\n\t\tstyles$2.thumbColor,\n\t\tstyles$2.scrollbar,\n\t\tstyles$2.mask,\n\t\tstyles$2.indicators,\n\t\tfocusOutline.visible,\n\t\tgutters[gutter]\n\t];\n}\n/**\n* The positioned ancestor. Only needed when something has to anchor against the scroll box —\n* an overlay replacing the default mask, or a future scrollbar. A scroll surface whose parent\n* is already positioned doesn't need it.\n*/\nconst scrollAreaRoot = styles$2.root;\n\n//#endregion\n//#region src/mosaic/components/menu/menu.styles.ts\nconst positioner = { base: {\n\tkI3sdo: \"x1a2a7pz\",\n\t$$css: true\n} };\nconst popup = { base: {\n\tkaIpWk: \"x5tmu5v\",\n\tkI3sdo: \"x1a2a7pz\",\n\tkWkggS: \"xi0fnek\",\n\tkGVxlE: \"x1bet0mg\",\n\tkMwMTN: \"x1bbkniq\",\n\tkSiTet: \"x1hc1fzr x1gqblgl x1llxi74\",\n\tkm0Bbg: \"x1hsy5kr x1a24yex x1f7osl9\",\n\tk3nNDw: \"x3k6q7e\",\n\tkIyJzY: \"xx6bhzk xsagj69\",\n\tk1ekBW: \"x1h615f9\",\n\tkAMwcw: \"x9lcvmn\",\n\tkskxy: \"xuslves\",\n\tks0D6T: \"xgpyd3e\",\n\tk7Eaqz: \"x1j0rjk9\",\n\t$$css: true\n} };\nconst viewport = { base: {\n\tkmVPX3: \"x1blcwp1\",\n\tkOIVth: \"xye6cdn\",\n\tk1xSpc: \"x78zum5\",\n\tkXwgrk: \"xdt5ytf\",\n\t$$css: true\n} };\nconst item = {\n\tbase: {\n\t\tkaIpWk: \"x6i6fhv\",\n\t\tksu8eU: \"xng3xce\",\n\t\tkOIVth: \"x1kkcdw1\",\n\t\tkI3sdo: \"x1a2a7pz\",\n\t\tkg3NbH: \"xcfnh4k\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkWkggS: \"xjbqb8w x1kvun9o x1mqvlab\",\n\t\tkkrTdU: \"x1ypdohk x5ezrf1\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkmuXW: \"x2lah0s\",\n\t\tkMv6JI: \"xbhks3\",\n\t\tkGuDYH: \"xycjmc8\",\n\t\tk63SB2: \"x1356bol\",\n\t\tkLWn49: \"x4wh5sz\",\n\t\tkSiTet: \"x1hc1fzr xxh3kiz\",\n\t\tkInvED: \"x1wfwxd8\",\n\t\tkVAEAm: \"x1n2onr6\",\n\t\tk9WMMc: \"x1yc453h\",\n\t\tkIyJzY: \"xx6bhzk xsagj69\",\n\t\tk1ekBW: \"x15406qy\",\n\t\tkZKoxP: \"x5ueopp\",\n\t\tkzqmXN: \"xh8yej3\",\n\t\tkGOzcv: \"xyecbis\",\n\t\tkpsdNU: \"x4dh16m\",\n\t\tkgeoSG: \"x1cpjm7i\",\n\t\tkEoFBp: \"x1hmns74\",\n\t\t$$css: true\n\t},\n\tnegative: {\n\t\tkWkggS: \"xjbqb8w x1vg0ax0 x1l17d2i\",\n\t\tkMwMTN: \"xon2h3r\",\n\t\t$$css: true\n\t}\n};\nconst media = {\n\tbase: {\n\t\tkGNEyG: \"x6s0dn4\",\n\t\tkOBAk4: \"x1y5e3q9\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkmuXW: \"x2lah0s\",\n\t\tkjj79g: \"xl56j7k\",\n\t\t$$css: true\n\t},\n\txs: {\n\t\tkzqmXN: \"xrv0xk7\",\n\t\t$$css: true\n\t},\n\tsm: {\n\t\tkzqmXN: \"x1i4fex1\",\n\t\t$$css: true\n\t}\n};\nconst label = { base: {\n\tkg3NbH: \"xcfnh4k\",\n\tkzQI83: \"x1iyjqo2\",\n\tk7Eaqz: \"xeuugli\",\n\t$$css: true\n} };\nconst separator = { base: {\n\tkqGvvJ: \"xy1joaf\",\n\tkUOVxO: \"x1b7ykpr\",\n\tkWkggS: \"x1rhdsbq\",\n\tkZKoxP: \"xjm9jq1\",\n\tkmuXW: \"x2lah0s\",\n\t$$css: true\n} };\n\n//#endregion\n//#region src/mosaic/components/menu/menu.tsx\n/**\n* Opens the menu. Renders a ghost `Button` holding an ellipsis glyph by default;\n* pass `children` for a labelled trigger, or `render` to supply your own element.\n*/\nconst MenuTrigger = React.forwardRef(function MosaicMenuTrigger({ render, className, style, children, ...rest }, ref) {\n\tconst trigger = render ?? ((props) => /* @__PURE__ */ jsx(Button, {\n\t\tvariant: \"ghost\",\n\t\tsize: \"sm\",\n\t\tshape: children ? \"default\" : \"square\",\n\t\t...props\n\t}));\n\treturn /* @__PURE__ */ jsx(MenuTrigger$1, {\n\t\tref,\n\t\trender: trigger,\n\t\t...mergeStyleProps(themeProps(\"menu-trigger\"), className, style),\n\t\t...rest,\n\t\tchildren: children ?? /* @__PURE__ */ jsx(Icon, { name: \"ellipsis\" })\n\t});\n});\n/**\n* The floating surface: portals, positions, and renders the menu items. The portal and the\n* positioner are not parts a consumer composes, so they stay out of the public API.\n*/\nconst MenuPopup = React.forwardRef(function MosaicMenuPopup({ portalRoot, className, style, children, ...rest }, ref) {\n\treturn /* @__PURE__ */ jsx(MenuPortal, {\n\t\troot: portalRoot,\n\t\tchildren: /* @__PURE__ */ jsx(MenuPositioner, {\n\t\t\t...mergeStyleProps(themeProps(\"menu-positioner\"), props(reset.base, positioner.base)),\n\t\t\tchildren: /* @__PURE__ */ jsx(MenuPopup$1, {\n\t\t\t\tref,\n\t\t\t\t...mergeStyleProps(themeProps(\"menu-popup\"), props(reset.base, scrollAreaRoot, popup.base), className, style),\n\t\t\t\t...rest,\n\t\t\t\tchildren: /* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\t...mergeStyleProps(themeProps(\"menu-viewport\"), props(reset.base, ...scrollAreaViewport(), viewport.base)),\n\t\t\t\t\tchildren\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t});\n});\n/**\n* Square leading column that centers its media (icon, image, or avatar), so every item's\n* text starts on the same line whatever each one leads with.\n*/\nconst MenuMedia = React.forwardRef(function MosaicMenuMedia({ size = \"sm\", render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"span\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"menu-media\", { size }), props(reset.base, media.base, media[size]), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/**\n* The item's text. Takes the space between the media and whatever trails it, and truncates to one\n* line rather than pushing the menu wide. `Menu.Item` wraps its own `label` in this, so only a row\n* built from the parts has to write it.\n*/\nconst MenuLabel = React.forwardRef(function MosaicMenuLabel({ render, className, style, ...rest }, ref) {\n\treturn useRender({\n\t\tdefaultTagName: \"span\",\n\t\trender,\n\t\tref,\n\t\tprops: {\n\t\t\t...mergeStyleProps(themeProps(\"menu-label\"), props(reset.base, label.base, truncationStyles.singleLine), className, style),\n\t\t\t...rest\n\t\t}\n\t});\n});\n/**\n* A single menu action. `label` names it for typeahead and for assistive technology; what the row\n* shows is whatever `Menu.Media` and `Menu.Label` are composed into it.\n*/\nconst MenuItem = React.forwardRef(function MosaicMenuItem({ color = \"neutral\", label, className, style, children, ...rest }, ref) {\n\treturn /* @__PURE__ */ jsx(MenuItem$1, {\n\t\tref,\n\t\tlabel,\n\t\t...mergeStyleProps(themeProps(\"menu-item\", { color }), props(reset.base, focusOutline.visible, item.base, color === \"negative\" && item.negative), className, style),\n\t\t...rest,\n\t\tchildren\n\t});\n});\n/** A full-bleed divider between groups of items. */\nfunction MenuSeparator({ className, style, ...rest }) {\n\treturn /* @__PURE__ */ jsx(MenuSeparator$1, {\n\t\t...mergeStyleProps(themeProps(\"menu-separator\"), props(reset.base, separator.base), className, style),\n\t\t...rest\n\t});\n}\nconst Menu = {\n\tRoot: MenuRoot,\n\tTrigger: MenuTrigger,\n\tPopup: MenuPopup,\n\tItem: MenuItem,\n\tMedia: MenuMedia,\n\tLabel: MenuLabel,\n\tSeparator: MenuSeparator\n};\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-context.ts\nconst PopoverContext = createContext(null);\nfunction usePopoverContext() {\n\tconst ctx = useContext(PopoverContext);\n\tif (!ctx) throw new Error(\"Popover compound components must be used within <Popover.Root>\");\n\treturn ctx;\n}\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-root.tsx\nfunction PopoverInner(props) {\n\tconst nodeId = useFloatingNodeId();\n\tconst { placement: placementProp = \"bottom\", sideOffset = 4, alignOffset = 0, modal = false, initialFocus = \"auto\", children } = props;\n\tconst [open, setOpen] = useControllableState(props.open, props.defaultOpen ?? false, props.onOpenChange);\n\tconst labelId = useId();\n\tconst descriptionId = useId();\n\tconst [hasTitle, setHasTitle] = useState(false);\n\tconst [hasDescription, setHasDescription] = useState(false);\n\tconst setHasTitleCb = useCallback((v) => setHasTitle(v), []);\n\tconst setHasDescriptionCb = useCallback((v) => setHasDescription(v), []);\n\tconst arrowRef = useRef(null);\n\tconst popupRef = useRef(null);\n\tconst { refs, floatingStyles, context: floatingContext, placement } = useFloating({\n\t\tnodeId,\n\t\topen,\n\t\tonOpenChange: setOpen,\n\t\tplacement: placementProp,\n\t\tmiddleware: [\n\t\t\toffset({\n\t\t\t\tmainAxis: sideOffset,\n\t\t\t\talignmentAxis: alignOffset\n\t\t\t}),\n\t\t\tflip({\n\t\t\t\tcrossAxis: placementProp.includes(\"-\"),\n\t\t\t\tfallbackAxisSideDirection: \"end\",\n\t\t\t\tpadding: 5\n\t\t\t}),\n\t\t\tshift({ padding: 5 }),\n\t\t\tarrow({ element: arrowRef }),\n\t\t\tcssVars({ sideOffset })\n\t\t],\n\t\twhileElementsMounted: autoUpdate\n\t});\n\tconst returnFocusRef = useReturnFocus(floatingContext);\n\tconst { mounted, transitionProps } = useTransition({\n\t\topen,\n\t\tref: popupRef\n\t});\n\tconst { getReferenceProps, getFloatingProps } = useInteractions([\n\t\tuseClick(floatingContext),\n\t\tuseDismiss(floatingContext),\n\t\tuseRole(floatingContext)\n\t]);\n\tconst contextValue = useMemo(() => ({\n\t\topen,\n\t\tsetOpen,\n\t\tfloatingContext,\n\t\trefs,\n\t\tfloatingStyles,\n\t\tplacement,\n\t\tgetReferenceProps,\n\t\tgetFloatingProps,\n\t\tpopupRef,\n\t\tarrowRef,\n\t\tmodal,\n\t\tinitialFocus,\n\t\treturnFocusRef,\n\t\tlabelId,\n\t\tdescriptionId,\n\t\thasTitle,\n\t\thasDescription,\n\t\tsetHasTitle: setHasTitleCb,\n\t\tsetHasDescription: setHasDescriptionCb,\n\t\tmounted,\n\t\ttransitionProps\n\t}), [\n\t\topen,\n\t\tsetOpen,\n\t\tfloatingContext,\n\t\trefs,\n\t\tfloatingStyles,\n\t\tplacement,\n\t\tgetReferenceProps,\n\t\tgetFloatingProps,\n\t\tmodal,\n\t\tinitialFocus,\n\t\treturnFocusRef,\n\t\tlabelId,\n\t\tdescriptionId,\n\t\thasTitle,\n\t\thasDescription,\n\t\tsetHasTitleCb,\n\t\tsetHasDescriptionCb,\n\t\tmounted,\n\t\ttransitionProps\n\t]);\n\treturn /* @__PURE__ */ jsx(FloatingNode, {\n\t\tid: nodeId,\n\t\tchildren: /* @__PURE__ */ jsx(PopoverContext.Provider, {\n\t\t\tvalue: contextValue,\n\t\t\tchildren\n\t\t})\n\t});\n}\nfunction PopoverRoot(props) {\n\tif (useFloatingParentNodeId() === null) return /* @__PURE__ */ jsx(FloatingTree, { children: /* @__PURE__ */ jsx(PopoverInner, { ...props }) });\n\treturn /* @__PURE__ */ jsx(PopoverInner, { ...props });\n}\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-trigger.tsx\nconst PopoverTrigger = React.forwardRef(function PopoverTrigger(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { open, refs, getReferenceProps } = usePopoverContext();\n\tconst state = { open };\n\tconst defaultProps = {\n\t\ttype: \"button\",\n\t\t...getReferenceProps()\n\t};\n\treturn useRender({\n\t\tdefaultTagName: \"button\",\n\t\trender,\n\t\tref: [refs.setReference, ref],\n\t\tstate,\n\t\tstateAttributesMapping: { open: (v) => v ? { \"data-open\": \"\" } : { \"data-closed\": \"\" } },\n\t\tprops: mergeProps(defaultProps, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-portal.tsx\nfunction PopoverPortal(props) {\n\tconst { mounted } = usePopoverContext();\n\tif (!mounted) return null;\n\treturn /* @__PURE__ */ jsx(FloatingPortal, {\n\t\troot: props.root,\n\t\tchildren: props.children\n\t});\n}\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-positioner.tsx\nconst PopoverPositioner = React.forwardRef(function PopoverPositioner(props, ref) {\n\tconst { render, ...otherProps } = props;\n\tconst { mounted, floatingContext, refs, floatingStyles, placement, getFloatingProps, modal, initialFocus, returnFocusRef, labelId, descriptionId, hasTitle, hasDescription } = usePopoverContext();\n\tconst defaultProps = {\n\t\t\"data-side\": placement.split(\"-\")[0],\n\t\tstyle: floatingStyles,\n\t\t...hasTitle && { \"aria-labelledby\": labelId },\n\t\t...hasDescription && { \"aria-describedby\": descriptionId },\n\t\t...getFloatingProps()\n\t};\n\tconst element = useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tenabled: mounted,\n\t\tref: [refs.setFloating, ref],\n\t\tprops: mergeProps(defaultProps, otherProps)\n\t});\n\tif (!element) return null;\n\treturn /* @__PURE__ */ jsx(FloatingFocusManager, {\n\t\tcontext: floatingContext,\n\t\tmodal,\n\t\tinitialFocus: initialFocus === \"first\" || isKeyboardOpen(floatingContext) ? 0 : refs.floating,\n\t\treturnFocus: returnFocusRef,\n\t\tchildren: element\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-popup.tsx\nconst PopoverPopup = React.forwardRef(function PopoverPopup(props, ref) {\n\tconst { render, children, ...otherProps } = props;\n\tconst { open, popupRef, transitionProps } = usePopoverContext();\n\tconst defaultProps = {\n\t\t...transitionProps,\n\t\tchildren: /* @__PURE__ */ jsx(Freeze, {\n\t\t\tfrozen: !open,\n\t\t\tchildren\n\t\t})\n\t};\n\treturn useRender({\n\t\tdefaultTagName: \"div\",\n\t\trender,\n\t\tref: [popupRef, ref],\n\t\tprops: mergeProps(defaultProps, otherProps)\n\t});\n});\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-title.tsx\nfunction PopoverTitle(props) {\n\tconst { render, ...otherProps } = props;\n\tconst { labelId, setHasTitle } = usePopoverContext();\n\tuseEffect(() => {\n\t\tsetHasTitle(true);\n\t\treturn () => setHasTitle(false);\n\t}, [setHasTitle]);\n\treturn useRender({\n\t\tdefaultTagName: \"h2\",\n\t\trender,\n\t\tprops: mergeProps({ id: labelId }, otherProps)\n\t});\n}\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-description.tsx\nfunction PopoverDescription(props) {\n\tconst { render, ...otherProps } = props;\n\tconst { descriptionId, setHasDescription } = usePopoverContext();\n\tuseEffect(() => {\n\t\tsetHasDescription(true);\n\t\treturn () => setHasDescription(false);\n\t}, [setHasDescription]);\n\treturn useRender({\n\t\tdefaultTagName: \"p\",\n\t\trender,\n\t\tprops: mergeProps({ id: descriptionId }, otherProps)\n\t});\n}\n\n//#endregion\n//#region ../headless/src/primitives/popover/popover-close.tsx\nfunction PopoverClose(props) {\n\tconst { render, ...otherProps } = props;\n\tconst { setOpen } = usePopoverContext();\n\treturn useRender({\n\t\tdefaultTagName: \"button\",\n\t\trender,\n\t\tprops: mergeProps({\n\t\t\ttype: \"button\",\n\t\t\tonClick() {\n\t\t\t\tsetOpen(false);\n\t\t\t}\n\t\t}, otherProps)\n\t});\n}\n\n//#endregion\n//#region src/mosaic/components/popover/popover.styles.ts\nconst styles$1 = {\n\tpositioner: {\n\t\tkI3sdo: \"x1a2a7pz\",\n\t\t$$css: true\n\t},\n\tpopup: {\n\t\tkI3sdo: \"x1a2a7pz\",\n\t\tk1xSpc: \"x78zum5\",\n\t\tkXwgrk: \"xdt5ytf\",\n\t\tkSiTet: \"x1hc1fzr x1iwdfne\",\n\t\tkHjlTd: \"xj0a0fe\",\n\t\tk3aq6I: \"x3oybdh x1x339lt x1v3nhsv xuz6scd\",\n\t\tk3nNDw: \"x1ik82zu\",\n\t\tkIyJzY: \"x1ki4nqw xcv21v6\",\n\t\tk1ekBW: \"x6o7n8i x1ympp8d\",\n\t\tkAMwcw: \"x1q86gd6 xqbl4w0\",\n\t\tkskxy: \"x1umrnd3\",\n\t\tks0D6T: \"x193lwwl\",\n\t\tkAzted: \"x2lwn1j\",\n\t\t$$css: true\n\t}\n};\nconst sizes = {\n\tsm: {\n\t\tkzqmXN: \"x1qrp33v\",\n\t\t$$css: true\n\t},\n\tmd: {\n\t\tkzqmXN: \"x31lhzi\",\n\t\t$$css: true\n\t},\n\tlg: {\n\t\tkzqmXN: \"x43d60k\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/components/popover/popover.tsx\n/** The anchor. Renders a `<button>`; `render` swaps in another element. */\nconst Trigger = React.forwardRef(function PopoverTrigger$1({ className, style, ...props }, ref) {\n\treturn /* @__PURE__ */ jsx(PopoverTrigger, {\n\t\tref,\n\t\t...mergeStyleProps(themeProps(\"popover-trigger\"), className, style),\n\t\t...props\n\t});\n});\n/** Dismisses the popover. Renders a `<button>`; `render` swaps in another element. */\nconst Close = React.forwardRef(function PopoverClose$1(props, ref) {\n\treturn /* @__PURE__ */ jsx(PopoverClose, {\n\t\tref,\n\t\t...props\n\t});\n});\n/** Names the dialog. Renders an `<h2>` wired to the popup's `aria-labelledby`. */\nconst Title = React.forwardRef(function PopoverTitle$1(props, ref) {\n\treturn /* @__PURE__ */ jsx(PopoverTitle, {\n\t\tref,\n\t\t...props\n\t});\n});\n/** Describes the dialog. Renders a `<p>` wired to the popup's `aria-describedby`. */\nconst Description = React.forwardRef(function PopoverDescription$1(props, ref) {\n\treturn /* @__PURE__ */ jsx(PopoverDescription, {\n\t\tref,\n\t\t...props\n\t});\n});\n/**\n* Mosaic Popover: a floating box anchored to a trigger, built on the\n* `@clerk/headless` popover primitive. Composed via dot syntax:\n* `Popover.Root`, `Popover.Trigger`, `Popover.Popup`, plus `Popover.Title`,\n* `Popover.Description` and `Popover.Close` for the popup's contents.\n*\n* The popover owns only what it means to float — trigger wiring, ARIA, focus\n* management, positioning, stacking, viewport clamps, and the enter/exit\n* transition. It paints no surface of its own: background, border, radius,\n* shadow and padding come from whatever is rendered inside it (typically a\n* `Card`), so the two never both draw a border.\n*\n* `Popover.Popup` renders the portal and the floating positioner itself —\n* neither is a part a consumer composes, so they stay out of the public API.\n* Each styled part spreads `themeProps` + `stylex.props` through\n* `mergeStyleProps`, so it carries the public `.cl-<slot>` class and StyleX\n* atoms while the headless part keeps its floating behavior, refs, and ARIA\n* wiring.\n*/\nfunction Positioner({ children, ...rest }) {\n\tconst [node, setNode] = React.useState(null);\n\tuseAccessibleNameWarning(node, \"Popover\");\n\treturn /* @__PURE__ */ jsx(PopoverPositioner, {\n\t\tref: setNode,\n\t\t...mergeStyleProps(themeProps(\"popover-positioner\"), props(reset.base, styles$1.positioner)),\n\t\t...rest,\n\t\tchildren\n\t});\n}\n/**\n* The floating box. Portals itself out of the tree and positions against\n* `Popover.Trigger`; supply the surface inside it, usually a `Card`.\n*/\nconst Popup = React.forwardRef(function PopoverPopup$1({ className, style, size = \"md\", \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledby, ...rest }, ref) {\n\treturn /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(Positioner, {\n\t\t...ariaLabel == null ? {} : { \"aria-label\": ariaLabel },\n\t\t...ariaLabelledby == null ? {} : { \"aria-labelledby\": ariaLabelledby },\n\t\tchildren: /* @__PURE__ */ jsx(PopoverPopup, {\n\t\t\tref,\n\t\t\t...mergeStyleProps(themeProps(\"popover-popup\", { size }), props(reset.base, styles$1.popup, sizes[size]), className, style),\n\t\t\t...rest\n\t\t})\n\t}) });\n});\n/**\n* Mosaic `Popover` — a floating box anchored to a trigger. Composed via dot\n* syntax: `Popover.Root`, `Popover.Trigger`, `Popover.Popup`, `Popover.Title`,\n* `Popover.Description`, `Popover.Close`.\n*/\nconst Popover = {\n\tRoot: PopoverRoot,\n\tTrigger,\n\tPopup,\n\tTitle,\n\tDescription,\n\tClose\n};\n\n//#endregion\n//#region src/mosaic/user-button/user-button.layout.ts\nconst modes = {\n\tcombined: {\n\t\theader: [\"inviteMembers\", \"manageLead\"],\n\t\torganizations: {\n\t\t\theading: [\n\t\t\t\t\"createOrganization\",\n\t\t\t\t\"manageAccount\",\n\t\t\t\t\"signOut\"\n\t\t\t],\n\t\t\tfooter: [\"createOrganization\"]\n\t\t},\n\t\tfooter: [\"switchAccount\", \"signOutAll\"]\n\t},\n\torganization: {\n\t\theader: [\"inviteMembers\", \"manageLead\"],\n\t\torganizations: {\n\t\t\theading: false,\n\t\t\tfooter: [\"createOrganization\"]\n\t\t},\n\t\tfooter: []\n\t},\n\tuser: {\n\t\theader: [\"signOut\", \"manageLead\"],\n\t\torganizations: false,\n\t\tfooter: [\"switchAccount\", \"signOutAll\"]\n\t}\n};\nfunction resolveUserButtonLayout(mode, modePriority, data) {\n\tconst declared = modes[mode];\n\tconst organizationsHeading = declared.organizations === false ? false : declared.organizations.heading;\n\tconst organizationsFooter = declared.organizations === false ? [] : declared.organizations.footer;\n\tconst hasOtherSessions = data.additionalSessions.length > 0;\n\tconst hasOrganizations = data.hasOrganizations || data.suggestions.length > 0 || data.invitations.length > 0;\n\t/** The action this surface actually carries in place of the one declared, or `null` for none. */\n\tconst resolve = (action) => {\n\t\tswitch (action) {\n\t\t\tcase \"inviteMembers\": return data.activeOrganization ? action : null;\n\t\t\tcase \"signOutAll\": return hasOtherSessions ? action : null;\n\t\t\tcase \"switchAccount\": return hasOtherSessions ? action : \"addAccount\";\n\t\t\tdefault: return action;\n\t\t}\n\t};\n\tconst slot = (actions) => actions.map(resolve).filter((action) => action !== null);\n\treturn {\n\t\tleadWith: mode === \"combined\" ? modePriority : mode,\n\t\tshowOrganizations: declared.organizations !== false && hasOrganizations,\n\t\tshowOrganizationsHeading: organizationsHeading !== false,\n\t\tactions: {\n\t\t\theader: slot(declared.header),\n\t\t\torganizationsHeading: organizationsHeading === false ? [] : slot(organizationsHeading),\n\t\t\torganizationsFooter: slot(organizationsFooter),\n\t\t\tfooter: slot(declared.footer)\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/mosaic/user-button/user-button.messages.ts\n/**\n* Every string the surface renders. Shaped the way `@clerk/i18n` takes a base definition, so\n* localizing this component is a matter of registering the namespace and swapping the reads for\n* `useMessages('userButton', userButtonBase)`, not of hunting the literals down first.\n*\n* A plural message is its forms, the way `count()` takes them; a parameterized one is its template,\n* the way `params()` takes it. `plural` and `fill` below resolve them until that layer lands.\n*/\nconst userButtonBase = {\n\ttrigger: { open: \"Open account menu for {name}\" },\n\tpopup: { label: \"Account\" },\n\tworkspaces: {\n\t\tpersonal: \"Personal account\",\n\t\tnotSelected: \"No organization selected\",\n\t\tloading: \"Loading organizations…\",\n\t\tmembers: {\n\t\t\tone: \"{count} member\",\n\t\t\tother: \"{count} members\"\n\t\t},\n\t\taccept: \"Accept\",\n\t\tjoin: \"Join\",\n\t\trequested: \"Requested\",\n\t\t/** Names the pending indicator on a row and inside the accept and join buttons, read beside the label. */\n\t\tpending: \"pending\"\n\t},\n\taccounts: {\n\t\tactionsFor: \"Actions for {identifier}\",\n\t\tswitch: \"Switch account\",\n\t\tadd: \"Add account\",\n\t\tsignOut: \"Sign out\",\n\t\tsignOutAll: \"Sign out of all accounts\"\n\t},\n\tmanage: {\n\t\tinvite: \"Invite\",\n\t\taccount: \"Manage account\",\n\t\torganization: \"Manage organization\",\n\t\tcreateOrganization: \"Create organization\"\n\t}\n};\n/** Substitutes `{name}`-style placeholders. Replaced by the localization layer's own formatter. */\nfunction fill(template, values) {\n\treturn template.replace(/\\{(\\w+)\\}/g, (match, key) => String(values[key] ?? match));\n}\n/**\n* Picks a plural form and fills `{count}`. English has the two forms below; the localization layer\n* selects across all six categories with `Intl.PluralRules`.\n*/\nfunction plural(forms, count) {\n\treturn fill(count === 1 ? forms.one : forms.other, { count });\n}\n\n//#endregion\n//#region src/mosaic/user-button/user-button.styles.ts\nconst styles = {\n\ttrigger: {\n\t\tkmVPX3: \"x1717udv\",\n\t\tksu8eU: \"xng3xce\",\n\t\tkWkggS: \"xjbqb8w\",\n\t\tkkrTdU: \"x1ypdohk\",\n\t\tk1xSpc: \"x3nfvp2\",\n\t\t$$css: true\n\t},\n\ttriggerLabelled: {\n\t\tkOIVth: \"x23m7v\",\n\t\tkGNEyG: \"x6s0dn4\",\n\t\t$$css: true\n\t},\n\ttriggerName: {\n\t\tkMwMTN: \"x1jq3gyk\",\n\t\tkGuDYH: \"xycjmc8\",\n\t\tk63SB2: \"x1356bol\",\n\t\tkLWn49: \"x4wh5sz\",\n\t\tks0D6T: \"x1ok5v8c\",\n\t\t$$css: true\n\t},\n\tscroll: {\n\t\tkskxy: \"x10xx96q\",\n\t\t$$css: true\n\t},\n\ttrailing: {\n\t\tkjj79g: \"xl56j7k\",\n\t\tkzqmXN: \"xxh3iqc\",\n\t\t$$css: true\n\t}\n};\nconst triggerShapes = {\n\tcircle: {\n\t\tkaIpWk: \"xsq0ucf\",\n\t\t$$css: true\n\t},\n\tsquare: {\n\t\tkaIpWk: \"xzmjytj\",\n\t\t$$css: true\n\t}\n};\n\n//#endregion\n//#region src/mosaic/user-button/user-button.utils.ts\n/**\n* The one ordering rule every list a consumer can reorder follows: the ids `order` names lead, in\n* the order it names them, and whatever it leaves out keeps its default place behind them.\n*\n* A name matching no item is dropped rather than held open, since which items a surface carries\n* depends on how it was configured and naming one it has not got is ordinary rather than a mistake.\n* Two items sharing an id are one item: the first wins, so a consumer's own row shadows the built-in\n* it was given the name of instead of both answering to it.\n*/\nfunction applyOrder(order, items, idOf) {\n\tconst unique = items.filter((item, index, all) => all.findIndex((other) => idOf(other) === idOf(item)) === index);\n\tif (!order?.length) return unique;\n\tconst named = [...new Set(order)].flatMap((id) => unique.filter((item) => idOf(item) === id));\n\treturn [...named, ...unique.filter((item) => !named.includes(item))];\n}\n\n//#endregion\n//#region src/mosaic/user-button/user-button.view.tsx\n/**\n* Stable keys naming which affordance owns the single in-flight action. Shared by the connected\n* container (which sets `pendingKey`) and the view (which matches against it).\n*/\nconst userButtonBusyKeys = {\n\tselectOrganization: (organizationId) => `select-org:${organizationId ?? \"personal\"}`,\n\tswitchSession: (sessionId) => `switch:${sessionId}`,\n\tsignOutSession: (sessionId) => `sign-out:${sessionId}`,\n\tsignOutAll: () => \"sign-out-all\",\n\tacceptSuggestion: (suggestionId) => `accept-suggestion:${suggestionId}`,\n\tacceptInvitation: (invitationId) => `accept-invitation:${invitationId}`\n};\nconst UserButtonContext = React.createContext(null);\nfunction useUserButtonContext() {\n\tconst value = React.useContext(UserButtonContext);\n\tif (!value) throw new Error(\"UserButton parts must be rendered inside <UserButtonRoot>\");\n\treturn value;\n}\n/**\n* Splits the one in-flight action into the affordance that owns it and every one that must wait.\n* An affordance with no key of its own — a navigation, or a menu that only opens — owns nothing, so\n* it never spins, but it still waits.\n*/\nfunction useBusy(key) {\n\tconst { pendingKey } = useUserButtonContext();\n\tif (!pendingKey) return {\n\t\tbusy: false,\n\t\tdisabled: false\n\t};\n\treturn {\n\t\tbusy: pendingKey === key,\n\t\tdisabled: pendingKey !== key\n\t};\n}\n/**\n* What the surface leads with: named in the trigger and headed in the popup, so the two always\n* agree. An organization-led surface with no org and no personal workspace is no selection.\n*/\nfunction leadWorkspace({ layout, activeOrganization, activeSession, hidePersonal }) {\n\tif (layout.leadWith === \"organization\") {\n\t\tif (activeOrganization) return {\n\t\t\tkind: \"organization\",\n\t\t\tname: activeOrganization.name,\n\t\t\timageUrl: activeOrganization.imageUrl,\n\t\t\tshape: \"square\",\n\t\t\torganization: activeOrganization\n\t\t};\n\t\tif (hidePersonal) return {\n\t\t\tkind: \"none\",\n\t\t\tname: userButtonBase.workspaces.notSelected,\n\t\t\tshape: \"square\"\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"user\",\n\t\tname: activeSession.name,\n\t\timageUrl: activeSession.imageUrl,\n\t\tshape: \"circle\"\n\t};\n}\nfunction membershipSubtitle(membership) {\n\tconst parts = [];\n\tif (membership.membersCount !== void 0) parts.push(plural(userButtonBase.workspaces.members, membership.membersCount));\n\tif (membership.planLabel) parts.push(membership.planLabel);\n\treturn parts.join(\" · \");\n}\nfunction initials(name) {\n\tconst [first = \"\", second = \"\"] = name.trim().split(/\\s+/);\n\treturn `${first.charAt(0)}${second.charAt(0)}`.toUpperCase() || \"?\";\n}\nfunction RowAvatar({ name, imageUrl, shape, size }) {\n\treturn /* @__PURE__ */ jsxs(Avatar.Root, {\n\t\t\"aria-hidden\": true,\n\t\tsize,\n\t\tshape,\n\t\tchildren: [imageUrl ? /* @__PURE__ */ jsx(Avatar.Image, {\n\t\t\tsrc: imageUrl,\n\t\t\talt: \"\"\n\t\t}) : null, /* @__PURE__ */ jsx(Avatar.Fallback, { children: initials(name) })]\n\t});\n}\n/**\n* Renders `<button>` so a whole row is one click target. Rows with their own controls skip it.\n*\n* A row waiting on an action stays a button: swapping the host element out remounts the row, and\n* its avatar drops back to a blank placeholder while it re-resolves an image the browser already has.\n*\n* `focusableWhenDisabled` is what keeps a standing-down row in the tab order: the row that owns the\n* action stands down along with the rest, and the native attribute would drop it out just as its\n* spinner is announced, taking focus with it. The headless `Button` marks it `aria-disabled` and\n* drops the press instead.\n*/\nconst rowButton = (disabled = false) => /* @__PURE__ */ jsx(Button$1, {\n\tdisabled,\n\tfocusableWhenDisabled: true\n});\n/** A row's trailing column, sized and centred so every state lands on the `⋯` button's centre line. */\nfunction Trailing({ children }) {\n\treturn /* @__PURE__ */ jsx(Item.Actions, {\n\t\t...props(styles.trailing),\n\t\tchildren\n\t});\n}\n/** One selectable row: personal account, organization, suggestion, invitation, or another account. */\nfunction SwitcherRow({ name, avatarName = name, imageUrl, shape, labelId, active, onSelect, trailing, busy, disabled }) {\n\tconst select = active ? void 0 : onSelect;\n\tconst waiting = Boolean(busy || disabled);\n\treturn /* @__PURE__ */ jsxs(Item.Root, {\n\t\tsize: \"xs\",\n\t\t\"aria-current\": active ? \"true\" : void 0,\n\t\t\"aria-busy\": busy || void 0,\n\t\trender: select ? rowButton(waiting) : void 0,\n\t\tonClick: select,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(Item.Media, { children: /* @__PURE__ */ jsx(RowAvatar, {\n\t\t\t\tname: avatarName,\n\t\t\t\timageUrl,\n\t\t\t\tshape,\n\t\t\t\tsize: \"fit\"\n\t\t\t}) }),\n\t\t\t/* @__PURE__ */ jsx(Item.Content, { children: /* @__PURE__ */ jsx(Item.Label, {\n\t\t\t\tid: labelId,\n\t\t\t\tchildren: name\n\t\t\t}) }),\n\t\t\tbusy ? /* @__PURE__ */ jsx(Trailing, { children: /* @__PURE__ */ jsx(Spinner, {\n\t\t\t\trole: \"progressbar\",\n\t\t\t\t\"aria-hidden\": void 0,\n\t\t\t\t\"aria-label\": userButtonBase.workspaces.pending,\n\t\t\t\tsize: \"sm\"\n\t\t\t}) }) : trailing ? /* @__PURE__ */ jsx(Item.Actions, { children: trailing }) : active ? /* @__PURE__ */ jsx(Trailing, { children: /* @__PURE__ */ jsx(Icon, {\n\t\t\t\tname: \"check\",\n\t\t\t\tsize: \"sm\"\n\t\t\t}) }) : null\n\t\t]\n\t});\n}\nconst asAnchor = (href) => ({ children, ...props }) => /* @__PURE__ */ jsx(\"a\", {\n\thref,\n\t...props,\n\tchildren\n});\n/** A bare action at the foot of a group (\"Add account\", \"Sign out of all accounts\"). */\nfunction ActionRow({ icon, label, href, onClick, busyKey }) {\n\tconst { busy, disabled } = useBusy(busyKey);\n\treturn /* @__PURE__ */ jsxs(Item.Root, {\n\t\tsize: \"xs\",\n\t\trender: href ? asAnchor(href) : rowButton(busy || disabled),\n\t\tonClick,\n\t\tchildren: [/* @__PURE__ */ jsx(Item.Media, { children: busy ? /* @__PURE__ */ jsx(Spinner, { size: \"sm\" }) : icon }), /* @__PURE__ */ jsx(Item.Content, { children: /* @__PURE__ */ jsx(Item.Label, {\n\t\t\tvariant: \"secondary\",\n\t\t\tchildren: label\n\t\t}) })]\n\t});\n}\nfunction HeaderActionButton({ label, icon, onClick, busyKey }) {\n\tconst { busy, disabled } = useBusy(busyKey);\n\tconst spinner = busy ? /* @__PURE__ */ jsx(Spinner, { size: \"sm\" }) : null;\n\treturn /* @__PURE__ */ jsx(Button, {\n\t\tvariant: \"outline\",\n\t\tcolor: \"neutral\",\n\t\tsize: \"sm\",\n\t\tshape: icon ? \"square\" : \"default\",\n\t\t\"aria-label\": icon ? label : void 0,\n\t\tdisabled: busy || disabled,\n\t\tonClick,\n\t\tchildren: icon ? spinner ?? /* @__PURE__ */ jsx(Icon, {\n\t\t\tname: icon,\n\t\t\tsize: \"sm\"\n\t\t}) : /* @__PURE__ */ jsxs(Fragment, { children: [spinner, label] })\n\t});\n}\n/** The active workspace: who you are signed in as, and what you can do about it. */\nfunction Header() {\n\tconst data = useUserButtonContext();\n\tconst signOutSession = data.onSignOutSession;\n\tconst { sessionId, identifier } = data.activeSession;\n\tconst workspace = leadWorkspace(data);\n\tconst { name, imageUrl, shape } = workspace;\n\tconst organization = workspace.kind === \"organization\" ? workspace.organization : void 0;\n\tconst accountSubtitle = identifier === name ? \"\" : identifier;\n\tconst subtitle = workspace.kind === \"organization\" ? membershipSubtitle(workspace.organization) : workspace.kind === \"user\" ? accountSubtitle : \"\";\n\tconst actions = [];\n\tfor (const action of data.layout.actions.header) {\n\t\tif (action === \"inviteMembers\" && data.onInviteMembers) actions.push({\n\t\t\tlabel: userButtonBase.manage.invite,\n\t\t\tonClick: data.onInviteMembers\n\t\t});\n\t\tif (action === \"signOut\" && signOutSession) actions.push({\n\t\t\tlabel: userButtonBase.accounts.signOut,\n\t\t\tonClick: () => signOutSession(sessionId),\n\t\t\tbusyKey: userButtonBusyKeys.signOutSession(sessionId)\n\t\t});\n\t\tif (action === \"manageLead\") {\n\t\t\tconst manage = organization ? {\n\t\t\t\tlabel: userButtonBase.manage.organization,\n\t\t\t\tonClick: data.onManageOrganization\n\t\t\t} : {\n\t\t\t\tlabel: userButtonBase.manage.account,\n\t\t\t\tonClick: data.onManageAccount\n\t\t\t};\n\t\t\tif (manage.onClick) actions.push({\n\t\t\t\tlabel: manage.label,\n\t\t\t\ticon: \"cog\",\n\t\t\t\tonClick: manage.onClick\n\t\t\t});\n\t\t}\n\t}\n\treturn /* @__PURE__ */ jsx(Item.Group, { children: /* @__PURE__ */ jsxs(Item.Root, { children: [\n\t\t/* @__PURE__ */ jsx(Item.Media, { children: /* @__PURE__ */ jsx(RowAvatar, {\n\t\t\tname,\n\t\t\timageUrl,\n\t\t\tshape,\n\t\t\tsize: \"fit\"\n\t\t}) }),\n\t\t/* @__PURE__ */ jsxs(Item.Content, { children: [/* @__PURE__ */ jsx(Item.Label, { children: name }), subtitle ? /* @__PURE__ */ jsx(Item.Description, { children: subtitle }) : null] }),\n\t\t/* @__PURE__ */ jsx(Item.Actions, { children: actions.map((a) => /* @__PURE__ */ jsx(HeaderActionButton, { ...a }, a.label)) })\n\t] }) });\n}\n/** The `⋯` that hangs off a row's trailing edge. Renders nothing when it would be empty. */\nfunction ActionMenu({ label, actions, disabled }) {\n\tif (actions.length === 0) return null;\n\treturn /* @__PURE__ */ jsx(Trailing, { children: /* @__PURE__ */ jsxs(Menu.Root, { children: [/* @__PURE__ */ jsx(Menu.Trigger, {\n\t\t\"aria-label\": label,\n\t\tdisabled\n\t}), /* @__PURE__ */ jsx(Menu.Popup, { children: actions.map((a) => /* @__PURE__ */ jsx(Menu.Item, {\n\t\tlabel: a.label,\n\t\tcolor: a.color,\n\t\tonClick: a.onClick,\n\t\tchildren: /* @__PURE__ */ jsx(Menu.Label, { children: a.label })\n\t}, a.label)) })] }) });\n}\n/**\n* Heads the organization list, named by the active account's identifier: these are the workspaces\n* that account can switch between. Carries the account-wide actions, the way the \"Accounts\" heading\n* below carries the ones that act on every account.\n*/\nfunction OrganizationsHeading() {\n\tconst data = useUserButtonContext();\n\tconst signOutSession = data.onSignOutSession;\n\tconst { identifier, sessionId } = data.activeSession;\n\tconst { busy, disabled } = useBusy(userButtonBusyKeys.signOutSession(sessionId));\n\tconst actions = [];\n\tfor (const action of data.layout.actions.organizationsHeading) {\n\t\tif (action === \"createOrganization\" && data.onCreateOrganization) actions.push({\n\t\t\tlabel: userButtonBase.manage.createOrganization,\n\t\t\tonClick: data.onCreateOrganization\n\t\t});\n\t\tif (action === \"manageAccount\" && data.onManageAccount) actions.push({\n\t\t\tlabel: userButtonBase.manage.account,\n\t\t\tonClick: data.onManageAccount\n\t\t});\n\t\tif (action === \"signOut\" && signOutSession) actions.push({\n\t\t\tlabel: userButtonBase.accounts.signOut,\n\t\t\tcolor: \"negative\",\n\t\t\tonClick: () => signOutSession(sessionId)\n\t\t});\n\t}\n\treturn /* @__PURE__ */ jsxs(Item.Root, {\n\t\tsize: \"xs\",\n\t\tchildren: [/* @__PURE__ */ jsx(Item.Content, { children: /* @__PURE__ */ jsx(Item.Description, {\n\t\t\tstyle: { fontWeight: fontWeightVars[\"--cl-font-medium\"] },\n\t\t\tchildren: identifier\n\t\t}) }), busy ? /* @__PURE__ */ jsx(Trailing, { children: /* @__PURE__ */ jsx(Spinner, { size: \"sm\" }) }) : /* @__PURE__ */ jsx(ActionMenu, {\n\t\t\tlabel: fill(userButtonBase.accounts.actionsFor, { identifier }),\n\t\t\tactions,\n\t\t\tdisabled\n\t\t})]\n\t});\n}\nfunction MembershipRow({ membership, active, onSelect }) {\n\tconst { busy, disabled } = useBusy(userButtonBusyKeys.selectOrganization(membership.organizationId));\n\treturn /* @__PURE__ */ jsx(SwitcherRow, {\n\t\tshape: \"square\",\n\t\tname: membership.name,\n\t\timageUrl: membership.imageUrl,\n\t\tonSelect,\n\t\tactive,\n\t\tbusy,\n\t\tdisabled\n\t});\n}\n/**\n* The account's own workspace, which is what \"no active organization\" is. Listed alongside the\n* organizations so switching into one is not a one-way door: `null` is how you leave.\n*\n* Named for what it is among organizations rather than for the account, the way the existing\n* OrganizationSwitcher names it. The trigger and header name the account itself, since that is\n* what they are about.\n*/\nfunction PersonalRow() {\n\tconst data = useUserButtonContext();\n\tconst selectOrganization = data.onSelectOrganization;\n\tconst { busy, disabled } = useBusy(userButtonBusyKeys.selectOrganization(null));\n\tif (data.hidePersonal) return null;\n\treturn /* @__PURE__ */ jsx(SwitcherRow, {\n\t\tname: userButtonBase.workspaces.personal,\n\t\timageUrl: data.activeSession.imageUrl,\n\t\tshape: \"circle\",\n\t\tactive: !data.activeOrganization,\n\t\tonSelect: selectOrganization ? () => selectOrganization(null) : void 0,\n\t\tbusy,\n\t\tdisabled\n\t});\n}\n/** The organizations the active account belongs to. Its own workspace is the row above. */\nfunction MembershipRows() {\n\tconst data = useUserButtonContext();\n\tconst selectOrganization = data.onSelectOrganization;\n\treturn /* @__PURE__ */ jsx(Fragment, { children: data.memberships.map((m) => /* @__PURE__ */ jsx(MembershipRow, {\n\t\tmembership: m,\n\t\tonSelect: selectOrganization ? () => selectOrganization(m.organizationId) : void 0,\n\t\tactive: m.organizationId === data.activeOrganization?.organizationId\n\t}, m.organizationId)) });\n}\n/** A workspace on offer: joined from its own trailing button rather than by clicking the row. */\nfunction PendingRow({ busyKey, name, imageUrl, actionLabel, onAccept, note }) {\n\tconst { busy, disabled } = useBusy(busyKey);\n\tconst labelId = React.useId();\n\treturn /* @__PURE__ */ jsx(SwitcherRow, {\n\t\tshape: \"square\",\n\t\tname,\n\t\timageUrl,\n\t\tlabelId,\n\t\ttrailing: note ? /* @__PURE__ */ jsx(Item.Description, { children: note }) : onAccept ? /* @__PURE__ */ jsx(SubmitButton, {\n\t\t\ttype: \"button\",\n\t\t\tvariant: \"outline\",\n\t\t\tcolor: \"neutral\",\n\t\t\tsize: \"sm\",\n\t\t\tisPending: busy,\n\t\t\tpendingLabel: userButtonBase.workspaces.pending,\n\t\t\tspinDelay: { delay: 0 },\n\t\t\tdisabled,\n\t\t\t\"aria-describedby\": labelId,\n\t\t\tonClick: onAccept,\n\t\t\tchildren: actionLabel\n\t\t}) : void 0\n\t});\n}\n/** What the active account has been asked to join but has not joined yet. */\nfunction PendingRows() {\n\tconst data = useUserButtonContext();\n\tconst acceptSuggestion = data.onAcceptSuggestion;\n\tconst acceptInvitation = data.onAcceptInvitation;\n\tconst selectOrganization = data.onSelectOrganization;\n\tconst listed = new Set(data.memberships.map((m) => m.organizationId));\n\tif (data.activeOrganization) listed.add(data.activeOrganization.organizationId);\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [data.invitations.filter((i) => i.status === \"pending\" || !listed.has(i.organizationId)).map((i) => i.status === \"accepted\" ? /* @__PURE__ */ jsx(MembershipRow, {\n\t\tmembership: {\n\t\t\tkind: \"membership\",\n\t\t\torganizationId: i.organizationId,\n\t\t\tname: i.organizationName,\n\t\t\timageUrl: i.imageUrl\n\t\t},\n\t\tactive: false,\n\t\tonSelect: selectOrganization ? () => selectOrganization(i.organizationId) : void 0\n\t}, i.id) : /* @__PURE__ */ jsx(PendingRow, {\n\t\tbusyKey: userButtonBusyKeys.acceptInvitation(i.id),\n\t\tname: i.organizationName,\n\t\timageUrl: i.imageUrl,\n\t\tactionLabel: userButtonBase.workspaces.accept,\n\t\tonAccept: acceptInvitation ? () => acceptInvitation(i.id) : void 0\n\t}, i.id)), data.suggestions.map((s) => /* @__PURE__ */ jsx(PendingRow, {\n\t\tbusyKey: userButtonBusyKeys.acceptSuggestion(s.id),\n\t\tname: s.name,\n\t\timageUrl: s.imageUrl,\n\t\tactionLabel: userButtonBase.workspaces.join,\n\t\tnote: s.status === \"accepted\" ? userButtonBase.workspaces.requested : void 0,\n\t\tonAccept: acceptSuggestion ? () => acceptSuggestion(s.id) : void 0\n\t}, s.id))] });\n}\n/**\n* A signed-in account inside the accounts flyout: a menu item you pick to switch to, checked where\n* it is already the active one. Its workspaces cannot be listed here — they are scoped to the\n* session that fetches them — so switching is all it offers.\n*/\nfunction SessionMenuItem({ session, active }) {\n\tconst switchSession = useUserButtonContext().onSwitchSession;\n\treturn /* @__PURE__ */ jsxs(Menu.Item, {\n\t\tlabel: session.identifier,\n\t\t\"aria-current\": active ? \"true\" : void 0,\n\t\tonClick: active || !switchSession ? void 0 : () => switchSession(session.sessionId),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(Menu.Media, { children: /* @__PURE__ */ jsx(RowAvatar, {\n\t\t\t\tname: session.name,\n\t\t\t\timageUrl: session.imageUrl,\n\t\t\t\tshape: \"circle\",\n\t\t\t\tsize: \"fit\"\n\t\t\t}) }),\n\t\t\t/* @__PURE__ */ jsx(Menu.Label, { children: session.identifier }),\n\t\t\tactive ? /* @__PURE__ */ jsx(Menu.Media, { children: /* @__PURE__ */ jsx(Icon, {\n\t\t\t\tname: \"check\",\n\t\t\t\tsize: \"sm\"\n\t\t\t}) }) : null\n\t\t]\n\t});\n}\n/**\n* The accounts affordance at the foot: a row that opens a flyout of every signed-in account, and\n* of the way to add one more.\n*\n* The flyout closes on pick, so the row itself carries the switch's spinner, the way the\n* organizations heading carries the spinner for what its own `⋯` opens.\n*/\nfunction SwitchAccountRow() {\n\tconst data = useUserButtonContext();\n\tconst addAccount = data.onAddAccount;\n\tconst { pendingKey } = data;\n\tconst busy = data.additionalSessions.some((s) => pendingKey === userButtonBusyKeys.switchSession(s.sessionId));\n\tconst { disabled } = useBusy();\n\treturn /* @__PURE__ */ jsxs(Menu.Root, {\n\t\tplacement: \"right-start\",\n\t\tsideOffset: {\n\t\t\tx: 12,\n\t\t\ty: 8\n\t\t},\n\t\tfallbackPlacements: [\n\t\t\t\"left-start\",\n\t\t\t\"top-start\",\n\t\t\t\"bottom-start\"\n\t\t],\n\t\tchildren: [/* @__PURE__ */ jsxs(Menu.Trigger, {\n\t\t\tdisabled,\n\t\t\trender: /* @__PURE__ */ jsx(Item.Root, {\n\t\t\t\tsize: \"xs\",\n\t\t\t\trender: /* @__PURE__ */ jsx(\"button\", { type: \"button\" })\n\t\t\t}),\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ jsx(Item.Media, { children: busy ? /* @__PURE__ */ jsx(Spinner, { size: \"sm\" }) : /* @__PURE__ */ jsx(Icon, {\n\t\t\t\t\tname: \"switch-horizontal\",\n\t\t\t\t\tsize: \"sm\"\n\t\t\t\t}) }),\n\t\t\t\t/* @__PURE__ */ jsx(Item.Content, { children: /* @__PURE__ */ jsx(Item.Label, {\n\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\tchildren: userButtonBase.accounts.switch\n\t\t\t\t}) }),\n\t\t\t\t/* @__PURE__ */ jsx(Trailing, { children: /* @__PURE__ */ jsx(Icon, {\n\t\t\t\t\tname: \"chevron-right\",\n\t\t\t\t\tsize: \"sm\"\n\t\t\t\t}) })\n\t\t\t]\n\t\t}), /* @__PURE__ */ jsxs(Menu.Popup, { children: [\n\t\t\t/* @__PURE__ */ jsx(SessionMenuItem, {\n\t\t\t\tsession: data.activeSession,\n\t\t\t\tactive: true\n\t\t\t}),\n\t\t\tdata.additionalSessions.map((s) => /* @__PURE__ */ jsx(SessionMenuItem, {\n\t\t\t\tsession: s,\n\t\t\t\tactive: false\n\t\t\t}, s.sessionId)),\n\t\t\taddAccount ? /* @__PURE__ */ jsxs(Menu.Item, {\n\t\t\t\tlabel: userButtonBase.accounts.add,\n\t\t\t\tonClick: addAccount,\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(Menu.Media, { children: /* @__PURE__ */ jsx(Icon, {\n\t\t\t\t\tname: \"plus\",\n\t\t\t\t\tsize: \"sm\"\n\t\t\t\t}) }), /* @__PURE__ */ jsx(Menu.Label, { children: userButtonBase.accounts.add })]\n\t\t\t}) : null\n\t\t] })]\n\t});\n}\n/** Holds the organization list's place until its first page lands. */\nfunction OrganizationListLoadingRow() {\n\treturn /* @__PURE__ */ jsxs(Item.Root, {\n\t\tsize: \"xs\",\n\t\tchildren: [/* @__PURE__ */ jsx(Item.Media, { children: /* @__PURE__ */ jsx(Spinner, { size: \"sm\" }) }), /* @__PURE__ */ jsx(Item.Content, { children: /* @__PURE__ */ jsx(Item.Description, { children: userButtonBase.workspaces.loading }) })]\n\t});\n}\n/**\n* The workspaces the active account can switch between, under the account's own heading. This is\n* the group that scrolls.\n*\n* The heading can render without the list: an account with no organizations still needs somewhere\n* to manage and sign out of itself.\n*/\nfunction OrganizationSection() {\n\tconst data = useUserButtonContext();\n\tconst { showOrganizations, showOrganizationsHeading } = data.layout;\n\tconst actions = [];\n\tfor (const action of data.layout.actions.organizationsFooter) if (action === \"createOrganization\" && data.onCreateOrganization) actions.push(/* @__PURE__ */ jsx(ActionRow, {\n\t\ticon: /* @__PURE__ */ jsx(Icon, {\n\t\t\tname: \"plus\",\n\t\t\tsize: \"sm\"\n\t\t}),\n\t\tlabel: userButtonBase.manage.createOrganization,\n\t\tonClick: data.onCreateOrganization\n\t}, \"createOrganization\"));\n\tif (!showOrganizations && !showOrganizationsHeading && actions.length === 0) return null;\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Item.Separator, {}), /* @__PURE__ */ jsxs(Item.Group, {\n\t\t...props(...scrollAreaViewport(\"auto\"), styles.scroll),\n\t\tchildren: [\n\t\t\tshowOrganizationsHeading ? /* @__PURE__ */ jsx(OrganizationsHeading, {}) : null,\n\t\t\tshowOrganizations && (data.organizationsLoading ? /* @__PURE__ */ jsx(OrganizationListLoadingRow, {}) : /* @__PURE__ */ jsxs(Fragment, { children: [\n\t\t\t\t/* @__PURE__ */ jsx(PendingRows, {}),\n\t\t\t\t/* @__PURE__ */ jsx(PersonalRow, {}),\n\t\t\t\t/* @__PURE__ */ jsx(MembershipRows, {}),\n\t\t\t\tdata.paging?.hasMore ? /* @__PURE__ */ jsx(\"div\", { ref: data.paging.ref }) : null\n\t\t\t] })),\n\t\t\tactions\n\t\t]\n\t})] });\n}\n/** The actions that close out the surface. */\nfunction Footer() {\n\tconst data = useUserButtonContext();\n\tconst builtIn = [];\n\tfor (const action of data.layout.actions.footer) {\n\t\tif (action === \"switchAccount\") builtIn.push({\n\t\t\tid: \"switchAccount\",\n\t\t\tnode: /* @__PURE__ */ jsx(SwitchAccountRow, {})\n\t\t});\n\t\tif (action === \"addAccount\" && data.onAddAccount) builtIn.push({\n\t\t\tid: \"addAccount\",\n\t\t\tnode: /* @__PURE__ */ jsx(ActionRow, {\n\t\t\t\ticon: /* @__PURE__ */ jsx(Icon, {\n\t\t\t\t\tname: \"plus\",\n\t\t\t\t\tsize: \"sm\"\n\t\t\t\t}),\n\t\t\t\tlabel: userButtonBase.accounts.add,\n\t\t\t\tonClick: data.onAddAccount\n\t\t\t})\n\t\t});\n\t\tif (action === \"signOutAll\" && data.onSignOutAll) builtIn.push({\n\t\t\tid: \"signOutAll\",\n\t\t\tnode: /* @__PURE__ */ jsx(ActionRow, {\n\t\t\t\ticon: /* @__PURE__ */ jsx(Icon, {\n\t\t\t\t\tname: \"log-out\",\n\t\t\t\t\tsize: \"sm\"\n\t\t\t\t}),\n\t\t\t\tlabel: userButtonBase.accounts.signOutAll,\n\t\t\t\tonClick: data.onSignOutAll,\n\t\t\t\tbusyKey: userButtonBusyKeys.signOutAll()\n\t\t\t})\n\t\t});\n\t}\n\tconst custom = (data.customMenuItems ?? []).map(({ id, ...item }) => ({\n\t\tid,\n\t\tnode: /* @__PURE__ */ jsx(ActionRow, { ...item })\n\t}));\n\tconst rows = applyOrder(data.menuItemOrder, [...custom, ...builtIn], (r) => r.id);\n\tif (rows.length === 0) return null;\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Item.Separator, {}), /* @__PURE__ */ jsx(Item.Group, { children: rows.map((r) => /* @__PURE__ */ jsx(React.Fragment, { children: r.node }, r.id)) })] });\n}\n/**\n* Owns the account/organization data + callbacks and forwards the popover's open state straight to\n* the headless `Popover.Root` — it does not keep a second controllable-state copy. Leaves consume\n* the data through context.\n*/\nfunction UserButtonRoot(props) {\n\tconst { children, mode = \"combined\", modePriority = \"organization\", open, defaultOpen, onOpenChange, placement, sideOffset, ...data } = props;\n\tconst layout = resolveUserButtonLayout(mode, modePriority, data);\n\treturn /* @__PURE__ */ jsx(Popover.Root, {\n\t\topen,\n\t\tdefaultOpen,\n\t\tonOpenChange,\n\t\tplacement: placement ?? \"bottom-start\",\n\t\tsideOffset,\n\t\tchildren: /* @__PURE__ */ jsx(UserButtonContext.Provider, {\n\t\t\tvalue: {\n\t\t\t\t...data,\n\t\t\t\tlayout\n\t\t\t},\n\t\t\tchildren\n\t\t})\n\t});\n}\n/** The trigger: the active workspace's avatar, and what it is called. */\nfunction UserButtonTrigger({ renderTriggerLabel = true, renderTriggerBadge = true } = {}) {\n\tconst workspace = leadWorkspace(useUserButtonContext());\n\tconst { name, imageUrl, shape } = workspace;\n\tconst planLabel = renderTriggerBadge && workspace.kind === \"organization\" ? workspace.organization.planLabel : void 0;\n\treturn /* @__PURE__ */ jsxs(Popover.Trigger, {\n\t\t\"aria-label\": fill(userButtonBase.trigger.open, { name }),\n\t\t...props(focusOutline.visible, styles.trigger, renderTriggerLabel ? styles.triggerLabelled : null, triggerShapes[shape]),\n\t\tchildren: [/* @__PURE__ */ jsx(RowAvatar, {\n\t\t\tname,\n\t\t\timageUrl,\n\t\t\tshape,\n\t\t\tsize: \"sm\"\n\t\t}), renderTriggerLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"span\", {\n\t\t\t...props(styles.triggerName, truncationStyles.singleLine),\n\t\t\tchildren: name\n\t\t}), planLabel ? /* @__PURE__ */ jsx(Badge, {\n\t\t\tcolor: \"neutral\",\n\t\t\tchildren: planLabel\n\t\t}) : null] }) : null]\n\t});\n}\n/** The popover surface: header, organizations, and footer. */\nfunction UserButtonPopup() {\n\tconst { renderBranding } = useUserButtonContext();\n\treturn /* @__PURE__ */ jsx(Popover.Popup, {\n\t\t\"aria-label\": userButtonBase.popup.label,\n\t\tchildren: /* @__PURE__ */ jsxs(Card.Root, {\n\t\t\trenderBranding,\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ jsx(Header, {}),\n\t\t\t\t/* @__PURE__ */ jsx(OrganizationSection, {}),\n\t\t\t\t/* @__PURE__ */ jsx(Footer, {})\n\t\t\t]\n\t\t})\n\t});\n}\n/**\n* Presentational all-in-one: renders the trigger + popup from a single prop-driven call. The\n* connected, Clerk-backed `UserButton` lives in `user-button.tsx` and wraps this view.\n*/\nfunction UserButtonView({ renderTriggerLabel, renderTriggerBadge, ...root }) {\n\treturn /* @__PURE__ */ jsxs(UserButtonRoot, {\n\t\t...root,\n\t\tchildren: [/* @__PURE__ */ jsx(UserButtonTrigger, {\n\t\t\trenderTriggerLabel,\n\t\t\trenderTriggerBadge\n\t\t}), /* @__PURE__ */ jsx(UserButtonPopup, {})]\n\t});\n}\n\n//#endregion\n//#region src/mosaic/user-button/user-button.controller.tsx\nconst { createMachine, assign, fromPromise } = setup();\nconst settled = {\n\tpendingKey: null,\n\tfrozenModel: null\n};\nconst userButtonMachine = createMachine({\n\tid: \"userButton\",\n\tinitial: \"idle\",\n\tcontext: {\n\t\topen: false,\n\t\tpendingKey: null,\n\t\tfrozenModel: null,\n\t\trun: () => Promise.resolve(),\n\t\tcloseOnSuccess: false\n\t},\n\tstates: {\n\t\tidle: { on: {\n\t\t\tOPEN: { actions: assign(() => ({ open: true })) },\n\t\t\tCLOSE: { actions: assign(() => ({ open: false })) },\n\t\t\tRUN: {\n\t\t\t\ttarget: \"busy\",\n\t\t\t\tguard: (context) => context.open,\n\t\t\t\tactions: assign((_, event) => ({\n\t\t\t\t\tpendingKey: event.key,\n\t\t\t\t\tfrozenModel: event.frozenModel,\n\t\t\t\t\trun: event.run,\n\t\t\t\t\tcloseOnSuccess: event.closeOnSuccess\n\t\t\t\t}))\n\t\t\t}\n\t\t} },\n\t\tbusy: {\n\t\t\ton: {\n\t\t\t\tOPEN: { actions: assign(() => ({ open: true })) },\n\t\t\t\tCLOSE: { actions: assign(() => ({ open: false })) }\n\t\t\t},\n\t\t\tinvoke: fromPromise((context) => context.run(), {\n\t\t\t\tonDone: [{\n\t\t\t\t\ttarget: \"idle\",\n\t\t\t\t\tguard: (context) => context.closeOnSuccess,\n\t\t\t\t\tactions: assign(() => ({\n\t\t\t\t\t\t...settled,\n\t\t\t\t\t\topen: false\n\t\t\t\t\t}))\n\t\t\t\t}, {\n\t\t\t\t\ttarget: \"idle\",\n\t\t\t\t\tactions: assign(() => settled)\n\t\t\t\t}],\n\t\t\t\tonError: {\n\t\t\t\t\ttarget: \"idle\",\n\t\t\t\t\tactions: assign(() => settled)\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n});\n/**\n* The controller is the layer between the component (view) and the external world (model).\n* It represents the local state and wraps model actions in order to handle pending states,\n* keep the UI stable while an action is ongoing, close the popup on completed actions\n* when appropriate, etc.\n*/\nfunction useUserButtonController(model, options = {}) {\n\tconst { mode: requestedMode, modePriority, customMenuItems, menuItemOrder } = options;\n\tconst [{ context }, send] = useMachine(userButtonMachine);\n\tconst displayPendingKey = useSpinDelay(context.pendingKey, {\n\t\tdelay: 0,\n\t\tminDuration: context.closeOnSuccess ? 0 : void 0\n\t});\n\tconst resolvedModel = context.frozenModel ?? model;\n\tif (resolvedModel.status !== \"ready\") return { status: resolvedModel.status };\n\tconst close = () => send({ type: \"CLOSE\" });\n\tconst menuItems = customMenuItems?.map((item) => item.href === void 0 ? {\n\t\t...item,\n\t\tonClick: () => {\n\t\t\tclose();\n\t\t\titem.onClick();\n\t\t}\n\t} : item);\n\tconst runAction = (keyFor, fn, closeOnSuccess = false) => fn ? (...args) => send({\n\t\ttype: \"RUN\",\n\t\tkey: keyFor(...args),\n\t\tfrozenModel: resolvedModel,\n\t\trun: async () => fn(...args),\n\t\tcloseOnSuccess\n\t}) : void 0;\n\tconst handOff = (fn) => fn ? () => {\n\t\tclose();\n\t\tfn();\n\t} : void 0;\n\tconst { status: _status, organizationsEnabled, onSelectOrganization, onSwitchSession, onSignOutSession, onSignOutAll, onAcceptSuggestion, onAcceptInvitation, onManageAccount, onManageOrganization, onInviteMembers, onCreateOrganization, onAddAccount, ...data } = resolvedModel;\n\tconst mode = organizationsEnabled ? requestedMode : \"user\";\n\treturn {\n\t\tstatus: \"ready\",\n\t\t...data,\n\t\tmode,\n\t\tmodePriority,\n\t\tcustomMenuItems: menuItems,\n\t\tmenuItemOrder,\n\t\topen: context.open,\n\t\tonOpenChange: (next) => send(next ? { type: \"OPEN\" } : { type: \"CLOSE\" }),\n\t\tpendingKey: displayPendingKey,\n\t\tonSelectOrganization: runAction(userButtonBusyKeys.selectOrganization, onSelectOrganization, true),\n\t\tonSwitchSession: runAction(userButtonBusyKeys.switchSession, onSwitchSession),\n\t\tonSignOutSession: runAction(userButtonBusyKeys.signOutSession, onSignOutSession, data.additionalSessions.length === 0),\n\t\tonSignOutAll: runAction(userButtonBusyKeys.signOutAll, onSignOutAll, true),\n\t\tonAcceptSuggestion: runAction(userButtonBusyKeys.acceptSuggestion, onAcceptSuggestion),\n\t\tonAcceptInvitation: runAction(userButtonBusyKeys.acceptInvitation, onAcceptInvitation),\n\t\tonManageAccount: handOff(onManageAccount),\n\t\tonManageOrganization: handOff(onManageOrganization),\n\t\tonInviteMembers: handOff(onInviteMembers),\n\t\tonCreateOrganization: handOff(onCreateOrganization),\n\t\tonAddAccount: handOff(onAddAccount)\n\t};\n}\n\n//#endregion\n//#region src/utils/dynamicParamParser.ts\nconst createDynamicParamParser = ({ regex }) => ({ urlWithParam, entity }) => {\n\tconst match = regex.exec(urlWithParam);\n\tif (match) {\n\t\tconst key = match[1];\n\t\tif (key in entity) {\n\t\t\tconst value = entity[key];\n\t\t\treturn urlWithParam.replace(match[0], value);\n\t\t}\n\t}\n\treturn urlWithParam;\n};\n\n//#endregion\n//#region src/contexts/utils.ts\nconst populateParamFromObject = createDynamicParamParser({ regex: /:(\\w+)/ });\n\n//#endregion\n//#region src/components/OrganizationSwitcher/utils.ts\nconst organizationListParams = {\n\tuserMemberships: { infinite: true },\n\tuserInvitations: { infinite: true },\n\tuserSuggestions: {\n\t\tinfinite: true,\n\t\tstatus: [\"pending\", \"accepted\"]\n\t}\n};\n\n//#endregion\n//#region src/hooks/useInView.ts\n/**\n* A custom React hook that provides the ability to track whether an element is in view\n* based on the IntersectionObserver API.\n*\n* @param {IntersectionOptions} params - IntersectionObserver configuration options.\n* @returns {{\n* inView: boolean,\n* ref: (element: HTMLElement | null) => void\n* }} An object containing the current inView status and a ref function to attach to the target element.\n*/\nconst useInView = (params) => {\n\tconst [inView, setInView] = useState(false);\n\tconst observerRef = useRef(null);\n\tconst thresholds = Array.isArray(params.threshold) ? params.threshold : [params.threshold || 0];\n\tconst internalOnChange = useRef();\n\tinternalOnChange.current = params.onChange;\n\treturn {\n\t\tinView,\n\t\tref: useCallback((element) => {\n\t\t\tif (!element) {\n\t\t\t\tif (observerRef.current) observerRef.current.disconnect();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tobserverRef.current = new IntersectionObserver((entries) => {\n\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\tconst _inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n\t\t\t\t\tsetInView(_inView);\n\t\t\t\t\tif (internalOnChange.current) internalOnChange.current(_inView, entry);\n\t\t\t\t});\n\t\t\t}, {\n\t\t\t\troot: params.root,\n\t\t\t\trootMargin: params.rootMargin,\n\t\t\t\tthreshold: thresholds\n\t\t\t});\n\t\t\tobserverRef.current.observe(element);\n\t\t}, [])\n\t};\n};\n\n//#endregion\n//#region src/hooks/useOrganizationListInView.ts\n/**\n* @internal\n*\n* `enabled` withholds the list params so the three requests do not start. Defaults on.\n*/\nconst useOrganizationListInView = ({ enabled = true } = {}) => {\n\tconst { userMemberships, userInvitations, userSuggestions } = useOrganizationList(enabled ? organizationListParams : void 0);\n\tconst { ref } = useInView({\n\t\tthreshold: 0,\n\t\tonChange: (inView) => {\n\t\t\tif (!enabled || !inView) return;\n\t\t\tif (userMemberships.hasNextPage) userMemberships.fetchNext?.();\n\t\t\telse if (userInvitations.hasNextPage) userInvitations.fetchNext?.();\n\t\t\telse userSuggestions.fetchNext?.();\n\t\t}\n\t});\n\treturn {\n\t\tuserMemberships,\n\t\tuserInvitations,\n\t\tuserSuggestions,\n\t\tref\n\t};\n};\n\n//#endregion\n//#region src/mosaic/hooks/useMosaicEnvironment.ts\n/**\n* The single seam through which Mosaic reads the active Clerk environment.\n*\n* In the app-direct model (`ClerkProvider` → `MosaicProvider` → component) clerk-js's\n* own `useEnvironment()` context is not mounted, so the only host-agnostic way to reach\n* the environment is `clerk.__internal_environment`. Quarantining that one private\n* access here keeps the `@ts-expect-error` out of every caller.\n*\n* This is a one-shot read off the Clerk singleton, NOT a reactive subscription: unlike\n* clerk-js's `EnvironmentProvider`, `useClerk()` does not re-render when the environment\n* mutates. So only read fields that are set once at hydration and never change at runtime\n* (e.g. static `displayConfig` URLs). Anything that can mutate post-hydration\n* (`authConfig.claimedAt`, live config toggles) will render stale through this hook and\n* needs a real reactive subscription instead (see `use-revalidate-environment.ts`).\n*\n* Returns `undefined` until the environment hydrates; callers should handle that.\n*/\nfunction useMosaicEnvironment() {\n\treturn useClerk().__internal_environment ?? void 0;\n}\n\n//#endregion\n//#region src/mosaic/hooks/useMosaicRouter.ts\n/**\n* Host-agnostic navigation seam for Mosaic.\n*\n* Delegates to `clerk.navigate`, which already routes through the host app's\n* `routerPush`/`routerReplace`. Controllers depend on this hook rather than on\n* Clerk internals, so a future clerk-js mount path or a dedicated Mosaic router\n* only has to change this one file.\n*/\nfunction useMosaicRouter() {\n\tconst clerk = useClerk();\n\treturn { navigate: (to) => clerk.navigate(to) };\n}\n\n//#endregion\n//#region src/mosaic/user-button/user-button.model.tsx\nfunction resolveAfterSelectUrl(config, entity) {\n\tif (typeof config === \"function\") return config(entity);\n\tif (config) return populateParamFromObject({\n\t\turlWithParam: config,\n\t\tentity\n\t});\n}\n/** Opens the modal unless a URL routes instead. An explicit mode wins; a URL on its own means navigation. */\nfunction openOrNavigate({ url, mode, openModal, buildUrl, navigate }) {\n\treturn (mode ?? (url ? \"navigation\" : \"modal\")) === \"navigation\" ? () => void navigate(url ?? buildUrl()) : () => openModal();\n}\nconst INVITE_MEMBERS_PERMISSION = \"org:sys_memberships:manage\";\nfunction displayName(user) {\n\treturn getFullName(user) || getIdentifier(user);\n}\nfunction toMembership(organization) {\n\treturn {\n\t\tkind: \"membership\",\n\t\torganizationId: organization.id,\n\t\tname: organization.name,\n\t\timageUrl: organization.imageUrl || void 0,\n\t\tmembersCount: organization.membersCount\n\t};\n}\nfunction toSession(sessionId, user) {\n\treturn {\n\t\tsessionId,\n\t\tname: displayName(user),\n\t\tidentifier: getIdentifier(user),\n\t\timageUrl: user.imageUrl\n\t};\n}\n/**\n* @param userProfileCustomPages - The consumer's custom pages, already bridged into clerk-js's\n* DOM-callback form. The wrapper owns that conversion because it is the layer that can render\n* the portals behind it, so they arrive here ready to forward and stay out of the public options.\n*/\nfunction useUserButtonModel(options, userProfileCustomPages) {\n\tconst { isLoaded: isUserLoaded, user } = useUser();\n\tconst { isLoaded: isSessionLoaded, session } = useSession();\n\tconst { isLoaded: isOrgLoaded, organization } = useOrganization({ __internal_skipAttemptToEnableOrganizations: true });\n\tconst clerk = useClerk();\n\tconst router = useMosaicRouter();\n\tconst getContainer = usePortalRoot();\n\tconst environment = useMosaicEnvironment();\n\tconst { userMemberships, userInvitations, userSuggestions, ref } = useOrganizationListInView({ enabled: Boolean(environment?.organizationSettings.enabled) });\n\tconst manageAccount = openOrNavigate({\n\t\turl: options?.userProfileUrl,\n\t\tmode: options?.userProfileMode,\n\t\topenModal: () => clerk.openUserProfile({\n\t\t\tgetContainer,\n\t\t\tcustomPages: userProfileCustomPages\n\t\t}),\n\t\tbuildUrl: () => clerk.buildUserProfileUrl(),\n\t\tnavigate: router.navigate\n\t});\n\tconst manageOrganization = openOrNavigate({\n\t\turl: options?.organizationProfileUrl,\n\t\tmode: options?.organizationProfileMode,\n\t\topenModal: () => clerk.openOrganizationProfile({ getContainer }),\n\t\tbuildUrl: () => clerk.buildOrganizationProfileUrl(),\n\t\tnavigate: router.navigate\n\t});\n\tconst createOrganization = openOrNavigate({\n\t\turl: options?.createOrganizationUrl,\n\t\tmode: options?.createOrganizationMode,\n\t\topenModal: () => clerk.openCreateOrganization({ getContainer }),\n\t\tbuildUrl: () => clerk.buildCreateOrganizationUrl(),\n\t\tnavigate: router.navigate\n\t});\n\tif (!isUserLoaded || !isSessionLoaded || !isOrgLoaded || !environment) return { status: \"loading\" };\n\tif (!user || !session) return { status: \"hidden\" };\n\tconst { displayConfig, authConfig, organizationSettings } = environment;\n\tconst { enabled: organizationsEnabled, forceOrganizationSelection } = organizationSettings;\n\tconst { singleSessionMode } = authConfig;\n\tconst canInviteMembers = session.checkAuthorization({ permission: INVITE_MEMBERS_PERMISSION }) ?? false;\n\tconst membershipData = userMemberships.data ?? [];\n\tconst suggestionData = userSuggestions.data ?? [];\n\tconst invitationData = userInvitations.data ?? [];\n\tconst memberships = membershipData.map((m) => toMembership(m.organization));\n\tconst suggestions = suggestionData.map((s) => ({\n\t\tkind: \"suggestion\",\n\t\tid: s.id,\n\t\torganizationId: s.publicOrganizationData.id,\n\t\tname: s.publicOrganizationData.name,\n\t\timageUrl: s.publicOrganizationData.imageUrl || void 0,\n\t\tstatus: s.status\n\t}));\n\tconst invitations = invitationData.flatMap((i) => i.status === \"pending\" || i.status === \"accepted\" ? [{\n\t\tkind: \"invitation\",\n\t\tid: i.id,\n\t\tstatus: i.status,\n\t\torganizationId: i.publicOrganizationData.id,\n\t\torganizationName: i.publicOrganizationData.name,\n\t\timageUrl: i.publicOrganizationData.imageUrl || void 0\n\t}] : []);\n\tconst additionalSessions = (clerk.client?.signedInSessions ?? []).flatMap((s) => {\n\t\tconst sessionUser = s.user;\n\t\tif (!sessionUser || s.id === session.id) return [];\n\t\treturn [toSession(s.id, sessionUser)];\n\t});\n\tconst afterSelectUrl = (organizationId) => {\n\t\tif (!organizationId) return resolveAfterSelectUrl(options?.afterSelectPersonalUrl, user);\n\t\tconst selected = membershipData.find((m) => m.organization.id === organizationId)?.organization;\n\t\treturn selected ? resolveAfterSelectUrl(options?.afterSelectOrganizationUrl, selected) : void 0;\n\t};\n\treturn {\n\t\tstatus: \"ready\",\n\t\torganizationsEnabled,\n\t\trenderBranding: displayConfig.branded,\n\t\tactiveSession: toSession(session.id, user),\n\t\tactiveOrganization: organization ? toMembership(organization) : null,\n\t\thasOrganizations: user.organizationMemberships.length > 0 || (userMemberships.count ?? 0) > 0,\n\t\thidePersonal: forceOrganizationSelection || (options?.hidePersonal ?? false),\n\t\torganizationsLoading: userMemberships.isLoading || userInvitations.isLoading || userSuggestions.isLoading,\n\t\tmemberships,\n\t\tsuggestions,\n\t\tinvitations,\n\t\tadditionalSessions,\n\t\tpaging: {\n\t\t\tref,\n\t\t\thasMore: Boolean(userMemberships.hasNextPage || userInvitations.hasNextPage || userSuggestions.hasNextPage)\n\t\t},\n\t\tonSelectOrganization: (organizationId) => clerk.setActive({\n\t\t\torganization: organizationId,\n\t\t\tredirectUrl: afterSelectUrl(organizationId)\n\t\t}),\n\t\tonSwitchSession: (sessionId) => clerk.setActive({\n\t\t\tsession: sessionId,\n\t\t\tnavigate: async ({ session, decorateUrl }) => {\n\t\t\t\tconst task = session.currentTask;\n\t\t\t\tif (task) {\n\t\t\t\t\tawait router.navigate(buildTaskUrl(task, { base: clerk.buildSignInUrl() }));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst afterSwitchSessionUrl = options?.afterSwitchSessionUrl || displayConfig.afterSwitchSessionUrl;\n\t\t\t\tif (!afterSwitchSessionUrl) return;\n\t\t\t\tawait router.navigate(decorateUrl(afterSwitchSessionUrl));\n\t\t\t}\n\t\t}),\n\t\tonSignOutSession: (sessionId) => clerk.signOut({\n\t\t\tsessionId,\n\t\t\tredirectUrl: additionalSessions.length > 0 ? clerk.buildAfterMultiSessionSingleSignOutUrl() : clerk.buildAfterSignOutUrl()\n\t\t}),\n\t\tonSignOutAll: singleSessionMode ? void 0 : () => clerk.signOut({ redirectUrl: clerk.buildAfterSignOutUrl() }),\n\t\tonManageAccount: manageAccount,\n\t\tonManageOrganization: manageOrganization,\n\t\tonInviteMembers: canInviteMembers ? () => clerk.openInviteMembers({ getContainer }) : void 0,\n\t\tonCreateOrganization: user.createOrganizationEnabled ? createOrganization : void 0,\n\t\tonAddAccount: singleSessionMode ? void 0 : () => void router.navigate(clerk.buildSignInUrl()),\n\t\tonAcceptSuggestion: async (suggestionId) => {\n\t\t\tconst suggestion = suggestionData.find((s) => s.id === suggestionId);\n\t\t\ttry {\n\t\t\t\tawait suggestion?.accept();\n\t\t\t} finally {\n\t\t\t\tawait Promise.allSettled([userSuggestions.revalidate?.()]);\n\t\t\t}\n\t\t},\n\t\tonAcceptInvitation: async (invitationId) => {\n\t\t\tconst invitation = invitationData.find((i) => i.id === invitationId);\n\t\t\ttry {\n\t\t\t\tawait invitation?.accept();\n\t\t\t} finally {\n\t\t\t\tawait Promise.allSettled([userInvitations.revalidate?.(), userMemberships.revalidate?.()]);\n\t\t\t}\n\t\t}\n\t};\n}\n\n//#endregion\n//#region src/mosaic/user-button/user-button.pages.tsx\n/**\n* The UserProfile's own pages, in the order it lists them, minus the ones this instance has turned\n* off.\n*\n* Ordering a custom page after a built-in one means naming every built-in that follows it, so the\n* list has to match what the profile will actually show. It mirrors clerk-js rather than being read\n* from it: the profile is not mounted yet at the point this is needed, and it decides its own pages\n* from the same environment behind the same guards.\n*/\nfunction useUserProfilePages() {\n\tconst clerk = useClerk();\n\tconst environment = useMosaicEnvironment();\n\tconst pages = [\"account\", \"security\"];\n\tif (!disabledUserBillingFeature(clerk, environment)) pages.push(\"billing\");\n\tif (!disabledUserAPIKeysFeature(clerk, environment)) pages.push(\"apiKeys\");\n\treturn pages;\n}\nconst isLink = (item) => item.href !== void 0;\nfunction portalInto(containers, id, node) {\n\tconst container = containers.get(id);\n\treturn container ? createPortal(node, container, id) : null;\n}\n/**\n* Bridges custom pages written as React nodes into the DOM callbacks clerk-js takes.\n*\n* The profile opens in clerk-js's own React root, which cannot render a node from the host app's\n* tree. So each page is sent as a `mount`/`unmount` pair: clerk-js renders an empty `div` where the\n* page belongs and hands it over, and the host tree portals the content into it from here. The\n* portals therefore have to stay mounted in the host tree the whole time the profile is open, which\n* is why they come back out rather than being rendered here.\n*\n* This is the shape of the bridge only for as long as the profile renders outside the host tree. A\n* Mosaic profile mounted in-tree renders `content` directly, and none of this survives except the\n* props a consumer writes.\n*/\nfunction useCustomPages({ items, order, builtInPages }) {\n\tconst [containers, setContainers] = useState(/* @__PURE__ */ new Map());\n\tconst bind = useCallback((id) => ({\n\t\tmount: (el) => setContainers((prev) => new Map(prev).set(id, el)),\n\t\tunmount: () => setContainers((prev) => {\n\t\t\tconst next = new Map(prev);\n\t\t\tnext.delete(id);\n\t\t\treturn next;\n\t\t})\n\t}), []);\n\tconst byId = new Map((items ?? []).map((item) => [item.path, item]));\n\tconst ids = order?.length ? applyOrder(order, [...builtInPages, ...byId.keys()], (id) => id) : [...byId.keys()];\n\tif (!ids.length) return {\n\t\tcustomPages: void 0,\n\t\tportals: []\n\t};\n\treturn {\n\t\tcustomPages: ids.map((id) => {\n\t\t\tconst item = byId.get(id);\n\t\t\tif (!item) return { label: id };\n\t\t\tconst icon = bind(`icon:${id}`);\n\t\t\tconst content = isLink(item) ? void 0 : bind(`content:${id}`);\n\t\t\treturn {\n\t\t\t\tlabel: item.label,\n\t\t\t\turl: isLink(item) ? item.href : item.path,\n\t\t\t\tmountIcon: icon.mount,\n\t\t\t\tunmountIcon: icon.unmount,\n\t\t\t\t...content && {\n\t\t\t\t\tmount: content.mount,\n\t\t\t\t\tunmount: content.unmount\n\t\t\t\t}\n\t\t\t};\n\t\t}),\n\t\tportals: (items ?? []).flatMap((item) => [portalInto(containers, `icon:${item.path}`, item.icon), ...isLink(item) ? [] : [portalInto(containers, `content:${item.path}`, item.content)]])\n\t};\n}\n\n//#endregion\n//#region src/mosaic/user-button/user-button.tsx\n/**\n* The signed-in user's avatar, and the menu behind it: switch organization, switch or add an account,\n* open the profile, and sign out. It reads the active session and organization from Clerk, so it takes\n* no data. It renders `fallback` until Clerk answers, and nothing at all when nobody is signed in.\n*\n* Each action is a request: the row you click spins, the others stand down, and the menu stays open on\n* the result. Only an action that navigates closes it.\n*\n* @example\n* ```tsx\n* import { UserButton } from '@clerk/nextjs/experimental/mosaic';\n*\n* <UserButton />\n* ```\n*\n* @example\n* `mode` narrows the menu to one switcher, and `modePriority` picks which one a combined menu leads\n* with — in its header, and in the trigger beside the avatar. The other one is still listed.\n* ```tsx\n* <UserButton mode='organization' />\n* <UserButton mode='user' />\n* <UserButton modePriority='user' />\n* ```\n*\n* @example\n* Passing a URL routes to a page of your own instead of opening Clerk's modal; that is the whole\n* opt-in. `afterSelectOrganizationUrl` is where switching organization lands, and takes a `:param`\n* template, a plain path, or a function. `afterSwitchSessionUrl` is where switching account lands.\n* ```tsx\n* <UserButton\n* userProfileUrl='/account'\n* organizationProfileUrl='/settings/organization'\n* afterSelectOrganizationUrl='/orgs/:slug'\n* afterSwitchSessionUrl='/dashboard'\n* />\n* ```\n*\n* @example\n* `fallback` holds the space while Clerk is still answering. Size it to the trigger to keep the row\n* it sits in from moving. Nothing stands in once the answer is that nobody is signed in.\n* ```tsx\n* <UserButton fallback={<AvatarSkeleton />} />\n* ```\n*\n* @example\n* `customPages` adds your own pages to the profile this button opens; `customMenuItems` adds your\n* own rows to the foot of the menu, each one either an `onClick` action or an `href` link.\n* ```tsx\n* <UserButton\n* userProfileProps={{\n* customPages: [{ path: 'usage', label: 'Usage', icon: <ChartIcon />, content: <UsagePage /> }],\n* pageOrder: ['account', 'usage', 'security'],\n* }}\n* customMenuItems={[\n* { id: 'docs', label: 'Documentation', icon: <BookIcon />, href: 'https://example.com/docs' },\n* { id: 'support', label: 'Contact support', icon: <ChatIcon />, onClick: () => openSupportChat() },\n* ]}\n* menuItemOrder={['docs', 'support', 'addAccount', 'signOutAll']}\n* />\n* ```\n*/\nfunction UserButton(props = {}) {\n\tconst { renderTriggerLabel, renderTriggerBadge, mode, modePriority, userProfileProps, customMenuItems, menuItemOrder, fallback, ...options } = props;\n\tconst builtInPages = useUserProfilePages();\n\tconst { customPages, portals } = useCustomPages({\n\t\titems: userProfileProps?.customPages,\n\t\torder: userProfileProps?.pageOrder,\n\t\tbuiltInPages\n\t});\n\tconst controller = useUserButtonController(useUserButtonModel(options, customPages), {\n\t\tmode,\n\t\tmodePriority,\n\t\tcustomMenuItems,\n\t\tmenuItemOrder\n\t});\n\tif (controller.status === \"loading\") return /* @__PURE__ */ jsxs(Fragment, { children: [fallback, portals] });\n\tif (controller.status === \"hidden\") return /* @__PURE__ */ jsx(Fragment, { children: portals });\n\tconst { status: _status, ...viewController } = controller;\n\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(UserButtonView, {\n\t\t...viewController,\n\t\trenderTriggerLabel,\n\t\trenderTriggerBadge\n\t}), portals] });\n}\n\n//#endregion\nexport { UserButton };\n//# sourceMappingURL=index.js.map"],"mappings":"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"}
|