claude-mux 0.30.2 → 0.30.4

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.
Files changed (130) hide show
  1. package/CLAUDE.md +3 -3
  2. package/dist/hooks/claude-mux-hook.js +6 -0
  3. package/dist/hooks/claude-mux-hook.js.map +1 -1
  4. package/dist/subagents.d.ts +5 -7
  5. package/dist/subagents.d.ts.map +1 -1
  6. package/dist/subagents.js +5 -9
  7. package/dist/subagents.js.map +1 -1
  8. package/dist/utils/version.d.ts +1 -1
  9. package/dist/utils/version.js +1 -1
  10. package/dist/web/client/_app/immutable/chunks/{DiCsJZkB.js → 0itALT7D.js} +2 -2
  11. package/dist/web/client/_app/immutable/chunks/{DiCsJZkB.js.map → 0itALT7D.js.map} +1 -1
  12. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CmDdyjOR.js → dist/web/client/_app/immutable/chunks/9UhVHDNs.js} +2 -2
  13. package/dist/web/client/_app/immutable/chunks/{CmDdyjOR.js.map → 9UhVHDNs.js.map} +1 -1
  14. package/dist/web/client/_app/immutable/chunks/{BR0j6UP_.js → B5hoOzZI.js} +2 -2
  15. package/dist/web/client/_app/immutable/chunks/{BR0j6UP_.js.map → B5hoOzZI.js.map} +1 -1
  16. package/dist/web/client/_app/immutable/chunks/{BRwgrbZi.js → Bcl2xWM1.js} +2 -2
  17. package/{web/.svelte-kit/output/client/_app/immutable/chunks/BRwgrbZi.js.map → dist/web/client/_app/immutable/chunks/Bcl2xWM1.js.map} +1 -1
  18. package/dist/web/client/_app/immutable/chunks/{Dmt0dCmj.js → CTgykToi.js} +2 -2
  19. package/{web/.svelte-kit/output/client/_app/immutable/chunks/Dmt0dCmj.js.map → dist/web/client/_app/immutable/chunks/CTgykToi.js.map} +1 -1
  20. package/{web/.svelte-kit/output/client/_app/immutable/chunks/juU6kBhv.js → dist/web/client/_app/immutable/chunks/D4VtXq1u.js} +2 -2
  21. package/{web/.svelte-kit/output/client/_app/immutable/chunks/juU6kBhv.js.map → dist/web/client/_app/immutable/chunks/D4VtXq1u.js.map} +1 -1
  22. package/dist/web/client/_app/immutable/chunks/{CJ5X49p2.js → DJPAeXBZ.js} +2 -2
  23. package/dist/web/client/_app/immutable/chunks/{CJ5X49p2.js.map → DJPAeXBZ.js.map} +1 -1
  24. package/dist/web/client/_app/immutable/chunks/{Cb0yiQIh.js → iD86EAaZ.js} +3 -3
  25. package/dist/web/client/_app/immutable/chunks/{Cb0yiQIh.js.map → iD86EAaZ.js.map} +1 -1
  26. package/dist/web/client/_app/immutable/chunks/uNuVvgdW.js +2 -0
  27. package/dist/web/client/_app/immutable/chunks/uNuVvgdW.js.map +1 -0
  28. package/dist/web/client/_app/immutable/entry/{app.BNsXYIeZ.js → app.D_c8YH2_.js} +3 -3
  29. package/dist/web/client/_app/immutable/entry/{app.BNsXYIeZ.js.map → app.D_c8YH2_.js.map} +1 -1
  30. package/dist/web/client/_app/immutable/entry/start.C4kxbL3U.js +2 -0
  31. package/dist/web/client/_app/immutable/entry/start.C4kxbL3U.js.map +1 -0
  32. package/dist/web/client/_app/immutable/nodes/{0.Cga09Vlt.js → 0.DKJz_Waz.js} +2 -2
  33. package/dist/web/client/_app/immutable/nodes/{0.Cga09Vlt.js.map → 0.DKJz_Waz.js.map} +1 -1
  34. package/dist/web/client/_app/immutable/nodes/{1.C5UTjGXy.js → 1.BMuM5b-K.js} +2 -2
  35. package/dist/web/client/_app/immutable/nodes/{1.C5UTjGXy.js.map → 1.BMuM5b-K.js.map} +1 -1
  36. package/dist/web/client/_app/immutable/nodes/{2.C76yPG3X.js → 2.B5-VVL7z.js} +2 -2
  37. package/dist/web/client/_app/immutable/nodes/{2.C76yPG3X.js.map → 2.B5-VVL7z.js.map} +1 -1
  38. package/dist/web/client/_app/immutable/nodes/{3.Tbj29aAW.js → 3.Ch8jV9KV.js} +2 -2
  39. package/{web/.svelte-kit/output/client/_app/immutable/nodes/3.Tbj29aAW.js.map → dist/web/client/_app/immutable/nodes/3.Ch8jV9KV.js.map} +1 -1
  40. package/dist/web/client/_app/immutable/nodes/{4.D0z9Wo_G.js → 4.3R3T2cvf.js} +2 -2
  41. package/{web/.svelte-kit/output/client/_app/immutable/nodes/4.D0z9Wo_G.js.map → dist/web/client/_app/immutable/nodes/4.3R3T2cvf.js.map} +1 -1
  42. package/dist/web/client/_app/version.json +1 -1
  43. package/dist/web/server/chunks/{0-BZ0-GFAV.js → 0-DI9lJoOL.js} +11 -11
  44. package/dist/web/server/chunks/{0-BZ0-GFAV.js.map → 0-DI9lJoOL.js.map} +1 -1
  45. package/dist/web/server/chunks/{1-DoI2jsEL.js → 1-DNXibdVD.js} +3 -3
  46. package/dist/web/server/chunks/{1-DoI2jsEL.js.map → 1-DNXibdVD.js.map} +1 -1
  47. package/dist/web/server/chunks/{2-6BGBaYuT.js → 2-BjADtyO0.js} +8 -8
  48. package/dist/web/server/chunks/{2-6BGBaYuT.js.map → 2-BjADtyO0.js.map} +1 -1
  49. package/dist/web/server/chunks/{3-B9fgRoyO.js → 3-C3xjKapD.js} +9 -9
  50. package/dist/web/server/chunks/{3-B9fgRoyO.js.map → 3-C3xjKapD.js.map} +1 -1
  51. package/dist/web/server/chunks/{4-CIa0l25T.js → 4-x9zcPGad.js} +8 -8
  52. package/dist/web/server/chunks/{4-CIa0l25T.js.map → 4-x9zcPGad.js.map} +1 -1
  53. package/dist/web/server/chunks/{_layout.svelte-C2cdd9CG.js → _layout.svelte-CEcgZvgF.js} +3 -6
  54. package/dist/web/server/chunks/_layout.svelte-CEcgZvgF.js.map +1 -0
  55. package/dist/web/server/index.js +1 -1
  56. package/dist/web/server/index.js.map +1 -1
  57. package/dist/web/server/manifest.js +11 -11
  58. package/dist/web/server/manifest.js.map +1 -1
  59. package/package.json +1 -1
  60. package/src/hooks/claude-mux-hook.ts +6 -0
  61. package/src/subagents.ts +7 -11
  62. package/src/utils/version.ts +1 -1
  63. package/tests/hooks/subagents.test.ts +12 -0
  64. package/tests/subagents.test.ts +7 -7
  65. package/web/.svelte-kit/adapter-bun/chunks/internal2.js +1 -1
  66. package/web/.svelte-kit/adapter-bun/chunks/internal2.js.map +1 -1
  67. package/web/.svelte-kit/adapter-bun/chunks/subagents.js +2 -5
  68. package/web/.svelte-kit/adapter-bun/chunks/subagents.js.map +1 -1
  69. package/web/.svelte-kit/adapter-bun/manifest-full.js +1 -1
  70. package/web/.svelte-kit/adapter-bun/manifest.js +1 -1
  71. package/web/.svelte-kit/adapter-bun/nodes/0.js +1 -1
  72. package/web/.svelte-kit/adapter-bun/nodes/1.js +1 -1
  73. package/web/.svelte-kit/adapter-bun/nodes/2.js +1 -1
  74. package/web/.svelte-kit/adapter-bun/nodes/3.js +1 -1
  75. package/web/.svelte-kit/adapter-bun/nodes/4.js +1 -1
  76. package/web/.svelte-kit/generated/server/internal.js +1 -1
  77. package/web/.svelte-kit/output/client/.vite/manifest.json +126 -126
  78. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DiCsJZkB.js → 0itALT7D.js} +2 -2
  79. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DiCsJZkB.js.map → 0itALT7D.js.map} +1 -1
  80. package/{dist/web/client/_app/immutable/chunks/CmDdyjOR.js → web/.svelte-kit/output/client/_app/immutable/chunks/9UhVHDNs.js} +2 -2
  81. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CmDdyjOR.js.map → 9UhVHDNs.js.map} +1 -1
  82. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BR0j6UP_.js → B5hoOzZI.js} +2 -2
  83. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BR0j6UP_.js.map → B5hoOzZI.js.map} +1 -1
  84. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BRwgrbZi.js → Bcl2xWM1.js} +2 -2
  85. package/{dist/web/client/_app/immutable/chunks/BRwgrbZi.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/Bcl2xWM1.js.map} +1 -1
  86. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Dmt0dCmj.js → CTgykToi.js} +2 -2
  87. package/{dist/web/client/_app/immutable/chunks/Dmt0dCmj.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/CTgykToi.js.map} +1 -1
  88. package/{dist/web/client/_app/immutable/chunks/juU6kBhv.js → web/.svelte-kit/output/client/_app/immutable/chunks/D4VtXq1u.js} +2 -2
  89. package/{dist/web/client/_app/immutable/chunks/juU6kBhv.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/D4VtXq1u.js.map} +1 -1
  90. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CJ5X49p2.js → DJPAeXBZ.js} +2 -2
  91. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CJ5X49p2.js.map → DJPAeXBZ.js.map} +1 -1
  92. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Cb0yiQIh.js → iD86EAaZ.js} +3 -3
  93. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Cb0yiQIh.js.map → iD86EAaZ.js.map} +1 -1
  94. package/web/.svelte-kit/output/client/_app/immutable/chunks/uNuVvgdW.js +2 -0
  95. package/web/.svelte-kit/output/client/_app/immutable/chunks/uNuVvgdW.js.map +1 -0
  96. package/web/.svelte-kit/output/client/_app/immutable/entry/{app.BNsXYIeZ.js → app.D_c8YH2_.js} +3 -3
  97. package/web/.svelte-kit/output/client/_app/immutable/entry/{app.BNsXYIeZ.js.map → app.D_c8YH2_.js.map} +1 -1
  98. package/web/.svelte-kit/output/client/_app/immutable/entry/start.C4kxbL3U.js +2 -0
  99. package/web/.svelte-kit/output/client/_app/immutable/entry/start.C4kxbL3U.js.map +1 -0
  100. package/web/.svelte-kit/output/client/_app/immutable/nodes/{0.Cga09Vlt.js → 0.DKJz_Waz.js} +2 -2
  101. package/web/.svelte-kit/output/client/_app/immutable/nodes/{0.Cga09Vlt.js.map → 0.DKJz_Waz.js.map} +1 -1
  102. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.C5UTjGXy.js → 1.BMuM5b-K.js} +2 -2
  103. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.C5UTjGXy.js.map → 1.BMuM5b-K.js.map} +1 -1
  104. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.C76yPG3X.js → 2.B5-VVL7z.js} +2 -2
  105. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.C76yPG3X.js.map → 2.B5-VVL7z.js.map} +1 -1
  106. package/web/.svelte-kit/output/client/_app/immutable/nodes/{3.Tbj29aAW.js → 3.Ch8jV9KV.js} +2 -2
  107. package/{dist/web/client/_app/immutable/nodes/3.Tbj29aAW.js.map → web/.svelte-kit/output/client/_app/immutable/nodes/3.Ch8jV9KV.js.map} +1 -1
  108. package/web/.svelte-kit/output/client/_app/immutable/nodes/{4.D0z9Wo_G.js → 4.3R3T2cvf.js} +2 -2
  109. package/{dist/web/client/_app/immutable/nodes/4.D0z9Wo_G.js.map → web/.svelte-kit/output/client/_app/immutable/nodes/4.3R3T2cvf.js.map} +1 -1
  110. package/web/.svelte-kit/output/client/_app/version.json +1 -1
  111. package/web/.svelte-kit/output/server/chunks/internal2.js +1 -1
  112. package/web/.svelte-kit/output/server/chunks/internal2.js.map +1 -1
  113. package/web/.svelte-kit/output/server/chunks/subagents.js +2 -5
  114. package/web/.svelte-kit/output/server/chunks/subagents.js.map +1 -1
  115. package/web/.svelte-kit/output/server/manifest-full.js +1 -1
  116. package/web/.svelte-kit/output/server/manifest.js +1 -1
  117. package/web/.svelte-kit/output/server/nodes/0.js +1 -1
  118. package/web/.svelte-kit/output/server/nodes/1.js +1 -1
  119. package/web/.svelte-kit/output/server/nodes/2.js +1 -1
  120. package/web/.svelte-kit/output/server/nodes/3.js +1 -1
  121. package/web/.svelte-kit/output/server/nodes/4.js +1 -1
  122. package/dist/web/client/_app/immutable/chunks/_om2syd9.js +0 -2
  123. package/dist/web/client/_app/immutable/chunks/_om2syd9.js.map +0 -1
  124. package/dist/web/client/_app/immutable/entry/start.BAAC0OQy.js +0 -2
  125. package/dist/web/client/_app/immutable/entry/start.BAAC0OQy.js.map +0 -1
  126. package/dist/web/server/chunks/_layout.svelte-C2cdd9CG.js.map +0 -1
  127. package/web/.svelte-kit/output/client/_app/immutable/chunks/_om2syd9.js +0 -2
  128. package/web/.svelte-kit/output/client/_app/immutable/chunks/_om2syd9.js.map +0 -1
  129. package/web/.svelte-kit/output/client/_app/immutable/entry/start.BAAC0OQy.js +0 -2
  130. package/web/.svelte-kit/output/client/_app/immutable/entry/start.BAAC0OQy.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"_layout.svelte-C2cdd9CG.js","names":["persisted","defaultWindow","ActiveElement","Context","getActiveElement","clamp","isPointInPolygon","isInsideRect","getSide","getter","isHTMLElement","isElement","getWindow"],"sources":["../../../../web/.svelte-kit/adapter-bun/chunks/badge.js","../../../../web/.svelte-kit/adapter-bun/chunks/ResizeDivider.js","../../../../web/.svelte-kit/adapter-bun/chunks/subagents.js","../../../../web/.svelte-kit/adapter-bun/entries/pages/_layout.svelte.js"],"sourcesContent":["import { ar as ssr_context, as as lifecycle_function_unavailable, g as getContext, k as attr, q as attr_style, l as stringify, m as attr_class, d as derived, at as element, f as bind_props, c as attributes, r as clsx } from \"./index.js\";\nimport \"clsx\";\nimport \"@sveltejs/kit/internal\";\nimport \"./exports.js\";\nimport \"./utils2.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"./root.js\";\nimport \"./state.svelte.js\";\nimport { c as sessionStateVisual } from \"./session-notifications.js\";\nimport { a as cn } from \"./markdown.js\";\nimport { tv } from \"tailwind-variants\";\nfunction onDestroy(fn) {\n /** @type {SSRContext} */\n ssr_context.r.on_destroy(fn);\n}\nfunction mount() {\n lifecycle_function_unavailable(\"mount\");\n}\nfunction unmount() {\n lifecycle_function_unavailable(\"unmount\");\n}\nasync function tick() {\n}\nconst getStores = () => {\n const stores = getContext(\"__svelte__\");\n return {\n /** @type {typeof page} */\n page: {\n subscribe: stores.page.subscribe\n },\n /** @type {typeof navigating} */\n navigating: {\n subscribe: stores.navigating.subscribe\n },\n /** @type {typeof updated} */\n updated: stores.updated\n };\n};\nconst page = {\n subscribe(fn) {\n const store = getStores().page;\n return store.subscribe(fn);\n }\n};\nclass DrawerStore {\n open = false;\n toggle() {\n this.open = !this.open;\n }\n close() {\n this.open = false;\n }\n}\nconst drawer = new DrawerStore();\nfunction SessionStateIndicator($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { state, size = \"md\", title = null } = $$props;\n const visual = derived(() => sessionStateVisual(state));\n const px = derived(() => ({\n sm: { dot: 7, icon: 13 },\n md: { dot: 8, icon: 15 },\n lg: { dot: 12, icon: 18 }\n })[size]);\n const label = derived(() => title || visual().label);\n const phase = derived(() => visual().pulse ? -(Date.now() % 1600) : 0);\n if (visual().icon) {\n $$renderer2.push(`<!--[0--><iconify-icon class=\"state-icon svelte-hy3pce\"${attr(\"icon\", visual().icon)}${attr_style(`color: ${stringify(visual().color)}; font-size: ${stringify(px().icon)}px;`)} role=\"img\"${attr(\"aria-label\", label())}${attr(\"title\", title)}></iconify-icon>`);\n } else {\n $$renderer2.push(`<!--[-1--><span${attr_class(\"state-dot svelte-hy3pce\", void 0, { \"pulse-dot\": visual().pulse })}${attr_style(`background: ${stringify(visual().color)}; width: ${stringify(px().dot)}px; height: ${stringify(px().dot)}px; animation-delay: ${stringify(phase())}ms;`)} role=\"img\"${attr(\"aria-label\", label())}${attr(\"title\", title)}></span>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction money(value, terse = false) {\n const wholeAt = terse ? 100 : 1e3;\n if (value >= wholeAt) {\n return `$${value.toLocaleString(\"en-US\", { maximumFractionDigits: 0 })}`;\n }\n if (value >= 1) return `$${value.toFixed(2)}`;\n return `$${value.toFixed(3)}`;\n}\nfunction compact(value) {\n return Intl.NumberFormat(\"en-US\", {\n notation: \"compact\",\n maximumFractionDigits: 1\n }).format(value);\n}\nfunction formatElapsed(seconds) {\n const whole = Math.max(0, Math.floor(seconds));\n return `${Math.floor(whole / 60)}:${String(whole % 60).padStart(2, \"0\")}`;\n}\nfunction formatSpinnerElapsed(total) {\n const h = Math.floor(total / 3600);\n const m = Math.floor(total % 3600 / 60);\n const sec = total % 60;\n if (h > 0) return `${h}h ${m}m`;\n if (m > 0) return `${m}m ${sec}s`;\n return `${sec}s`;\n}\nfunction formatAgo(ts, now) {\n if (!ts) return \"\";\n const s = Math.max(0, Math.round((now - ts) / 1e3));\n if (s < 60) return \"now\";\n if (s < 3600) return `${Math.round(s / 60)}m`;\n if (s < 86400) return `${Math.round(s / 3600)}h`;\n return `${Math.round(s / 86400)}d`;\n}\nconst badgeVariants = tv({\n base: \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3\",\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent\",\n secondary: \"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 border-transparent\",\n destructive: \"bg-destructive [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70 border-transparent text-white\",\n outline: \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\"\n }\n },\n defaultVariants: { variant: \"default\" }\n});\nfunction Badge($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n href,\n class: className,\n variant = \"default\",\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n element(\n $$renderer2,\n href ? \"a\" : \"span\",\n () => {\n $$renderer2.push(`${attributes({\n \"data-slot\": \"badge\",\n href,\n class: clsx(cn(badgeVariants({ variant }), className)),\n ...restProps\n })}`);\n },\n () => {\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n }\n );\n bind_props($$props, { ref });\n });\n}\nexport {\n Badge as B,\n SessionStateIndicator as S,\n formatSpinnerElapsed as a,\n formatElapsed as b,\n mount as c,\n drawer as d,\n compact as e,\n formatAgo as f,\n money as m,\n onDestroy as o,\n page as p,\n tick as t,\n unmount as u\n};\n//# sourceMappingURL=badge.js.map\n","import \"clsx\";\nimport \"@sveltejs/kit/internal\";\nimport \"./exports.js\";\nimport \"./utils2.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport { o as on } from \"./root.js\";\nimport \"./state.svelte.js\";\nimport { c as createPersisted, a as cn, h as buttonVariants, I as Input, B as Button, s as sessionStore } from \"./markdown.js\";\nimport { t as hasContext, g as getContext, u as setContext, d as derived, f as bind_props, p as props_id, c as attributes, au as getAllContexts, v as run, h as spread_props, r as clsx, j as ensure_array_like, at as element, e as escape_html, m as attr_class, k as attr } from \"./index.js\";\nimport { v as isObject, a as boxWith, p as getDataOpenClosed, f as attachRef, q as getDataTransitionAttrs, g as boolToEmptyStrOrUndef, k as createBitsAttrs, n as noop, l as createId, m as mergeProps, w as executeCallbacks, o as simpleBox, b as boxFrom, x as cssToStyleObj, s as styleToString, h as boolToStr } from \"./panes.js\";\nimport { t as tick, c as mount, u as unmount } from \"./badge.js\";\nimport { h as hostTimeZone, m as makeDayFormatter } from \"./day.js\";\nfunction goto(url, opts = {}) {\n {\n throw new Error(\"Cannot call goto(...) on the server\");\n }\n}\nconst persisted = createPersisted(\"claude-mux-preferences\", {\n terminalTheming: true,\n keepAwake: false,\n notificationMode: \"off\",\n inAppToasts: true\n});\nclass PreferencesStore {\n prefs = persisted.load();\n get terminalTheming() {\n return this.prefs.terminalTheming;\n }\n set terminalTheming(value) {\n if (this.prefs.terminalTheming === value) return;\n this.prefs.terminalTheming = value;\n persisted.save(this.prefs);\n }\n get keepAwake() {\n return this.prefs.keepAwake;\n }\n set keepAwake(value) {\n if (this.prefs.keepAwake === value) return;\n this.prefs.keepAwake = value;\n persisted.save(this.prefs);\n }\n get notificationMode() {\n return this.prefs.notificationMode;\n }\n set notificationMode(value) {\n if (this.prefs.notificationMode === value) return;\n this.prefs.notificationMode = value;\n persisted.save(this.prefs);\n }\n get inAppToasts() {\n return this.prefs.inAppToasts;\n }\n set inAppToasts(value) {\n if (this.prefs.inAppToasts === value) return;\n this.prefs.inAppToasts = value;\n persisted.save(this.prefs);\n }\n toggle(key) {\n if (typeof this.prefs[key] === \"boolean\") {\n this.prefs[key] = !this.prefs[key];\n persisted.save(this.prefs);\n }\n }\n}\nconst preferences = new PreferencesStore();\nconst defaultWindow = void 0;\nfunction getActiveElement$1(document2) {\n let activeElement = document2.activeElement;\n while (activeElement?.shadowRoot) {\n const node = activeElement.shadowRoot.activeElement;\n if (node === activeElement)\n break;\n else\n activeElement = node;\n }\n return activeElement;\n}\nconst SvelteMap = globalThis.Map;\nclass MediaQuery {\n current;\n /**\n * @param {string} query\n * @param {boolean} [matches]\n */\n constructor(query, matches2 = false) {\n this.current = matches2;\n }\n}\nfunction createSubscriber(_) {\n return () => {\n };\n}\nclass ActiveElement {\n #document;\n #subscribe;\n constructor(options = {}) {\n const { window: window2 = defaultWindow, document: document2 = window2?.document } = options;\n if (window2 === void 0) return;\n this.#document = document2;\n this.#subscribe = createSubscriber();\n }\n get current() {\n this.#subscribe?.();\n if (!this.#document) return null;\n return getActiveElement$1(this.#document);\n }\n}\nnew ActiveElement();\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nclass Context {\n #name;\n #key;\n /**\n * @param name The name of the context.\n * This is used for generating the context key and error messages.\n */\n constructor(name) {\n this.#name = name;\n this.#key = Symbol(name);\n }\n /**\n * The key used to get and set the context.\n *\n * It is not recommended to use this value directly.\n * Instead, use the methods provided by this class.\n */\n get key() {\n return this.#key;\n }\n /**\n * Checks whether this has been set in the context of a parent component.\n *\n * Must be called during component initialisation.\n */\n exists() {\n return hasContext(this.#key);\n }\n /**\n * Retrieves the context that belongs to the closest parent component.\n *\n * Must be called during component initialisation.\n *\n * @throws An error if the context does not exist.\n */\n get() {\n const context = getContext(this.#key);\n if (context === void 0) {\n throw new Error(`Context \"${this.#name}\" not found`);\n }\n return context;\n }\n /**\n * Retrieves the context that belongs to the closest parent component,\n * or the given fallback value if the context does not exist.\n *\n * Must be called during component initialisation.\n */\n getOr(fallback) {\n const context = getContext(this.#key);\n if (context === void 0) {\n return fallback;\n }\n return context;\n }\n /**\n * Associates the given value with the current component and returns it.\n *\n * Must be called during component initialisation.\n */\n set(context) {\n return setContext(this.#key, context);\n }\n}\nfunction runWatcher(sources, flush, effect, options = {}) {\n const { lazy = false } = options;\n}\nfunction watch(sources, effect, options) {\n runWatcher(sources, \"post\", effect, options);\n}\nfunction watchPre(sources, effect, options) {\n runWatcher(sources, \"pre\", effect, options);\n}\nwatch.pre = watchPre;\nfunction get$1(value) {\n if (isFunction(value)) {\n return value();\n }\n return value;\n}\nclass ElementSize {\n // no need to use `$state` here since we are using createSubscriber\n #size = { width: 0, height: 0 };\n #observed = false;\n #options;\n #node;\n #window;\n // we use a derived here to extract the width so that if the width doesn't change we don't get a state update\n // which we would get if we would just use a getter since the version of the subscriber will be changing\n #width = derived(() => {\n this.#subscribe()?.();\n return this.getSize().width;\n });\n // we use a derived here to extract the height so that if the height doesn't change we don't get a state update\n // which we would get if we would just use a getter since the version of the subscriber will be changing\n #height = derived(() => {\n this.#subscribe()?.();\n return this.getSize().height;\n });\n // we need to use a derived here because the class will be created before the node is bound to the ref\n #subscribe = derived(() => {\n const node$ = get$1(this.#node);\n if (!node$) return;\n return createSubscriber();\n });\n constructor(node, options = { box: \"border-box\" }) {\n this.#window = options.window ?? defaultWindow;\n this.#options = options;\n this.#node = node;\n this.#size = { width: 0, height: 0 };\n }\n calculateSize() {\n const element2 = get$1(this.#node);\n if (!element2 || !this.#window) {\n return;\n }\n const offsetWidth = element2.offsetWidth;\n const offsetHeight = element2.offsetHeight;\n if (this.#options.box === \"border-box\") {\n return { width: offsetWidth, height: offsetHeight };\n }\n const style = this.#window.getComputedStyle(element2);\n const paddingWidth = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n const paddingHeight = parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n const borderWidth = parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n const borderHeight = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n const contentWidth = offsetWidth - paddingWidth - borderWidth;\n const contentHeight = offsetHeight - paddingHeight - borderHeight;\n return { width: contentWidth, height: contentHeight };\n }\n getSize() {\n return this.#observed ? this.#size : this.calculateSize() ?? this.#size;\n }\n get current() {\n this.#subscribe()?.();\n return this.getSize();\n }\n get width() {\n return this.#width();\n }\n get height() {\n return this.#height();\n }\n}\nfunction afterSleep(ms, cb) {\n return setTimeout(cb, ms);\n}\nfunction afterTick(fn) {\n tick().then(fn);\n}\nconst ELEMENT_NODE = 1;\nconst DOCUMENT_NODE = 9;\nconst DOCUMENT_FRAGMENT_NODE = 11;\nfunction isHTMLElement$2(node) {\n return isObject(node) && node.nodeType === ELEMENT_NODE && typeof node.nodeName === \"string\";\n}\nfunction isDocument(node) {\n return isObject(node) && node.nodeType === DOCUMENT_NODE;\n}\nfunction isWindow(node) {\n return isObject(node) && node.constructor?.name === \"VisualViewport\";\n}\nfunction isNode$1(node) {\n return isObject(node) && node.nodeType !== void 0;\n}\nfunction isShadowRoot$1(node) {\n return isNode$1(node) && node.nodeType === DOCUMENT_FRAGMENT_NODE && \"host\" in node;\n}\nfunction contains(parent, child) {\n if (!parent || !child)\n return false;\n if (!isHTMLElement$2(parent) || !isHTMLElement$2(child))\n return false;\n const rootNode = child.getRootNode?.();\n if (parent === child)\n return true;\n if (parent.contains(child))\n return true;\n if (rootNode && isShadowRoot$1(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next)\n return true;\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nfunction getDocument(node) {\n if (isDocument(node))\n return node;\n if (isWindow(node))\n return node.document;\n return node?.ownerDocument ?? document;\n}\nfunction getWindow$1(node) {\n if (isShadowRoot$1(node))\n return getWindow$1(node.host);\n if (isDocument(node))\n return node.defaultView ?? window;\n if (isHTMLElement$2(node))\n return node.ownerDocument?.defaultView ?? window;\n return window;\n}\nfunction getActiveElement(rootNode) {\n let activeElement = rootNode.activeElement;\n while (activeElement?.shadowRoot) {\n const el = activeElement.shadowRoot.activeElement;\n if (el === activeElement)\n break;\n else\n activeElement = el;\n }\n return activeElement;\n}\nclass DOMContext {\n element;\n #root = derived(() => {\n if (!this.element.current) return document;\n const rootNode = this.element.current.getRootNode() ?? document;\n return rootNode;\n });\n get root() {\n return this.#root();\n }\n set root($$value) {\n return this.#root($$value);\n }\n constructor(element2) {\n if (typeof element2 === \"function\") {\n this.element = boxWith(element2);\n } else {\n this.element = element2;\n }\n }\n getDocument = () => {\n return getDocument(this.root);\n };\n getWindow = () => {\n return this.getDocument().defaultView ?? window;\n };\n getActiveElement = () => {\n return getActiveElement(this.root);\n };\n isActiveElement = (node) => {\n return node === this.getActiveElement();\n };\n getElementById(id) {\n return this.root.getElementById(id);\n }\n querySelector = (selector) => {\n if (!this.root) return null;\n return this.root.querySelector(selector);\n };\n querySelectorAll = (selector) => {\n if (!this.root) return [];\n return this.root.querySelectorAll(selector);\n };\n setTimeout = (callback, delay) => {\n return this.getWindow().setTimeout(callback, delay);\n };\n clearTimeout = (timeoutId) => {\n return this.getWindow().clearTimeout(timeoutId);\n };\n}\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_LEFT = \"ArrowLeft\";\nconst ARROW_RIGHT = \"ArrowRight\";\nconst ARROW_UP = \"ArrowUp\";\nconst END = \"End\";\nconst ENTER = \"Enter\";\nconst ESCAPE = \"Escape\";\nconst HOME = \"Home\";\nconst PAGE_DOWN = \"PageDown\";\nconst PAGE_UP = \"PageUp\";\nconst SPACE = \" \";\nconst TAB = \"Tab\";\nconst isBrowser = typeof document !== \"undefined\";\nconst isIOS = getIsIOS();\nfunction getIsIOS() {\n return isBrowser && window?.navigator?.userAgent && (/iP(ad|hone|od)/.test(window.navigator.userAgent) || // The new iPad Pro Gen3 does not identify itself as iPad, but as Macintosh.\n window?.navigator?.maxTouchPoints > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));\n}\nfunction isHTMLElement$1(element2) {\n return element2 instanceof HTMLElement;\n}\nfunction isElement$1(element2) {\n return element2 instanceof Element;\n}\nfunction isElementOrSVGElement(element2) {\n return element2 instanceof Element || element2 instanceof SVGElement;\n}\nfunction isTouch(e) {\n return e.pointerType === \"touch\";\n}\nfunction isFocusVisible(element2) {\n return element2.matches(\":focus-visible\");\n}\nfunction isNotNull(value) {\n return value !== null;\n}\nfunction isSelectableInput(element2) {\n return element2 instanceof HTMLInputElement && \"select\" in element2;\n}\nclass AnimationsComplete {\n #opts;\n #currentFrame = null;\n #observer = null;\n #runId = 0;\n constructor(opts) {\n this.#opts = opts;\n }\n #cleanup() {\n if (this.#currentFrame !== null) {\n window.cancelAnimationFrame(this.#currentFrame);\n this.#currentFrame = null;\n }\n this.#observer?.disconnect();\n this.#observer = null;\n this.#runId++;\n }\n run(fn) {\n this.#cleanup();\n const node = this.#opts.ref.current;\n if (!node)\n return;\n if (typeof node.getAnimations !== \"function\") {\n this.#executeCallback(fn);\n return;\n }\n const runId = this.#runId;\n const executeIfCurrent = () => {\n if (runId !== this.#runId)\n return;\n this.#executeCallback(fn);\n };\n const waitForAnimations = () => {\n if (runId !== this.#runId)\n return;\n const animations = node.getAnimations();\n if (animations.length === 0) {\n executeIfCurrent();\n return;\n }\n Promise.all(animations.map((animation) => animation.finished)).then(() => {\n executeIfCurrent();\n }).catch(() => {\n if (runId !== this.#runId)\n return;\n const currentAnimations = node.getAnimations();\n const hasRunningAnimations = currentAnimations.some((animation) => animation.pending || animation.playState !== \"finished\");\n if (hasRunningAnimations) {\n waitForAnimations();\n return;\n }\n executeIfCurrent();\n });\n };\n const requestWaitForAnimations = () => {\n this.#currentFrame = window.requestAnimationFrame(() => {\n this.#currentFrame = null;\n waitForAnimations();\n });\n };\n if (!this.#opts.afterTick.current) {\n requestWaitForAnimations();\n return;\n }\n this.#currentFrame = window.requestAnimationFrame(() => {\n this.#currentFrame = null;\n const startingStyleAttr = \"data-starting-style\";\n if (!node.hasAttribute(startingStyleAttr)) {\n requestWaitForAnimations();\n return;\n }\n this.#observer = new MutationObserver(() => {\n if (runId !== this.#runId)\n return;\n if (node.hasAttribute(startingStyleAttr))\n return;\n this.#observer?.disconnect();\n this.#observer = null;\n requestWaitForAnimations();\n });\n this.#observer.observe(node, {\n attributes: true,\n attributeFilter: [startingStyleAttr]\n });\n });\n }\n #executeCallback(fn) {\n const execute = () => {\n fn();\n };\n if (this.#opts.afterTick) {\n afterTick(execute);\n } else {\n execute();\n }\n }\n}\nclass PresenceManager {\n #opts;\n #enabled;\n #afterAnimations;\n #shouldRender = false;\n #transitionStatus = void 0;\n #hasMounted = false;\n #transitionFrame = null;\n constructor(opts) {\n this.#opts = opts;\n this.#shouldRender = opts.open.current;\n this.#enabled = opts.enabled ?? true;\n this.#afterAnimations = new AnimationsComplete({ ref: this.#opts.ref, afterTick: this.#opts.open });\n watch(() => this.#opts.open.current, (isOpen) => {\n if (!this.#hasMounted) {\n this.#hasMounted = true;\n return;\n }\n this.#clearTransitionFrame();\n if (!isOpen && this.#opts.shouldSkipExitAnimation?.()) {\n this.#shouldRender = false;\n this.#transitionStatus = void 0;\n this.#opts.onComplete?.();\n return;\n }\n if (isOpen) this.#shouldRender = true;\n this.#transitionStatus = isOpen ? \"starting\" : \"ending\";\n if (isOpen) {\n this.#transitionFrame = window.requestAnimationFrame(() => {\n this.#transitionFrame = null;\n if (this.#opts.open.current) {\n this.#transitionStatus = void 0;\n }\n });\n }\n if (!this.#enabled) {\n if (!isOpen) {\n this.#shouldRender = false;\n }\n this.#transitionStatus = void 0;\n this.#opts.onComplete?.();\n return;\n }\n this.#afterAnimations.run(() => {\n if (isOpen === this.#opts.open.current) {\n if (!this.#opts.open.current) {\n this.#shouldRender = false;\n }\n this.#transitionStatus = void 0;\n this.#opts.onComplete?.();\n }\n });\n });\n }\n get shouldRender() {\n return this.#shouldRender;\n }\n get transitionStatus() {\n return this.#transitionStatus;\n }\n #clearTransitionFrame() {\n if (this.#transitionFrame === null) return;\n window.cancelAnimationFrame(this.#transitionFrame);\n this.#transitionFrame = null;\n }\n}\nconst dialogAttrs = createBitsAttrs({\n component: \"dialog\",\n parts: [\n \"content\",\n \"trigger\",\n \"overlay\",\n \"title\",\n \"description\",\n \"close\",\n \"cancel\",\n \"action\"\n ]\n});\nconst DialogRootContext = new Context(\"Dialog.Root | AlertDialog.Root\");\nclass DialogRootState {\n static create(opts) {\n const parent = DialogRootContext.getOr(null);\n return DialogRootContext.set(new DialogRootState(opts, parent));\n }\n opts;\n triggerNode = null;\n contentNode = null;\n overlayNode = null;\n descriptionNode = null;\n contentId = void 0;\n titleId = void 0;\n triggerId = void 0;\n descriptionId = void 0;\n cancelNode = null;\n nestedOpenCount = 0;\n depth;\n parent;\n contentPresence;\n overlayPresence;\n constructor(opts, parent) {\n this.opts = opts;\n this.parent = parent;\n this.depth = parent ? parent.depth + 1 : 0;\n this.handleOpen = this.handleOpen.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.contentPresence = new PresenceManager({\n ref: boxWith(() => this.contentNode),\n open: this.opts.open,\n enabled: true,\n onComplete: () => {\n this.opts.onOpenChangeComplete.current(this.opts.open.current);\n }\n });\n this.overlayPresence = new PresenceManager({\n ref: boxWith(() => this.overlayNode),\n open: this.opts.open,\n enabled: true\n });\n watch(\n () => this.opts.open.current,\n (isOpen) => {\n if (!this.parent) return;\n if (isOpen) {\n this.parent.incrementNested();\n } else {\n this.parent.decrementNested();\n }\n },\n { lazy: true }\n );\n }\n handleOpen() {\n if (this.opts.open.current) return;\n this.opts.open.current = true;\n }\n handleClose() {\n if (!this.opts.open.current) return;\n this.opts.open.current = false;\n }\n getBitsAttr = (part) => {\n return dialogAttrs.getAttr(part, this.opts.variant.current);\n };\n incrementNested() {\n this.nestedOpenCount++;\n this.parent?.incrementNested();\n }\n decrementNested() {\n if (this.nestedOpenCount === 0) return;\n this.nestedOpenCount--;\n this.parent?.decrementNested();\n }\n #sharedProps = derived(() => ({ \"data-state\": getDataOpenClosed(this.opts.open.current) }));\n get sharedProps() {\n return this.#sharedProps();\n }\n set sharedProps($$value) {\n return this.#sharedProps($$value);\n }\n}\nclass DialogCloseState {\n static create(opts) {\n return new DialogCloseState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current) return;\n if (e.button > 0) return;\n this.root.handleClose();\n }\n onkeydown(e) {\n if (this.opts.disabled.current) return;\n if (e.key === SPACE || e.key === ENTER) {\n e.preventDefault();\n this.root.handleClose();\n }\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(this.opts.variant.current)]: \"\",\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n disabled: this.opts.disabled.current ? true : void 0,\n tabindex: 0,\n ...this.root.sharedProps,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass DialogActionState {\n static create(opts) {\n return new DialogActionState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"action\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass DialogTitleState {\n static create(opts) {\n return new DialogTitleState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.root.titleId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref);\n watch.pre(() => this.opts.id.current, (id) => {\n this.root.titleId = id;\n });\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n role: \"heading\",\n \"aria-level\": this.opts.level.current,\n [this.root.getBitsAttr(\"title\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass DialogDescriptionState {\n static create(opts) {\n return new DialogDescriptionState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.root.descriptionId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.descriptionNode = v;\n });\n watch.pre(() => this.opts.id.current, (id) => {\n this.root.descriptionId = id;\n });\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"description\")]: \"\",\n ...this.root.sharedProps,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass DialogContentState {\n static create(opts) {\n return new DialogContentState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => {\n this.root.contentNode = v;\n this.root.contentId = v?.id;\n });\n }\n #snippetProps = derived(() => ({ open: this.root.opts.open.current }));\n get snippetProps() {\n return this.#snippetProps();\n }\n set snippetProps($$value) {\n return this.#snippetProps($$value);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n role: this.root.opts.variant.current === \"alert-dialog\" ? \"alertdialog\" : \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-describedby\": this.root.descriptionId,\n \"aria-labelledby\": this.root.titleId,\n [this.root.getBitsAttr(\"content\")]: \"\",\n style: {\n pointerEvents: \"auto\",\n outline: this.root.opts.variant.current === \"alert-dialog\" ? \"none\" : void 0,\n \"--bits-dialog-depth\": this.root.depth,\n \"--bits-dialog-nested-count\": this.root.nestedOpenCount,\n contain: \"layout style\"\n },\n tabindex: this.root.opts.variant.current === \"alert-dialog\" ? -1 : void 0,\n \"data-nested-open\": boolToEmptyStrOrUndef(this.root.nestedOpenCount > 0),\n \"data-nested\": boolToEmptyStrOrUndef(this.root.parent !== null),\n ...getDataTransitionAttrs(this.root.contentPresence.transitionStatus),\n ...this.root.sharedProps,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n get shouldRender() {\n return this.root.contentPresence.shouldRender;\n }\n}\nclass DialogOverlayState {\n static create(opts) {\n return new DialogOverlayState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => this.root.overlayNode = v);\n }\n #snippetProps = derived(() => ({ open: this.root.opts.open.current }));\n get snippetProps() {\n return this.#snippetProps();\n }\n set snippetProps($$value) {\n return this.#snippetProps($$value);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"overlay\")]: \"\",\n style: {\n pointerEvents: \"auto\",\n \"--bits-dialog-depth\": this.root.depth,\n \"--bits-dialog-nested-count\": this.root.nestedOpenCount\n },\n \"data-nested-open\": boolToEmptyStrOrUndef(this.root.nestedOpenCount > 0),\n \"data-nested\": boolToEmptyStrOrUndef(this.root.parent !== null),\n ...getDataTransitionAttrs(this.root.overlayPresence.transitionStatus),\n ...this.root.sharedProps,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n get shouldRender() {\n return this.root.overlayPresence.shouldRender;\n }\n}\nclass AlertDialogCancelState {\n static create(opts) {\n return new AlertDialogCancelState(opts, DialogRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => this.root.cancelNode = v);\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n }\n onclick(e) {\n if (this.opts.disabled.current) return;\n if (e.button > 0) return;\n this.root.handleClose();\n }\n onkeydown(e) {\n if (this.opts.disabled.current) return;\n if (e.key === SPACE || e.key === ENTER) {\n e.preventDefault();\n this.root.handleClose();\n }\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n [this.root.getBitsAttr(\"cancel\")]: \"\",\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n tabindex: 0,\n disabled: this.opts.disabled.current,\n ...this.root.sharedProps,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction Alert_dialog$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n open = false,\n onOpenChange = noop,\n onOpenChangeComplete = noop,\n children\n } = $$props;\n DialogRootState.create({\n variant: boxWith(() => \"alert-dialog\"),\n open: boxWith(() => open, (v) => {\n open = v;\n onOpenChange(v);\n }),\n onOpenChangeComplete: boxWith(() => onOpenChangeComplete)\n });\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n bind_props($$props, { open });\n });\n}\nfunction Dialog_title$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n ref = null,\n child,\n children,\n level = 2,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const titleState = DialogTitleState.create({\n id: boxWith(() => id),\n level: boxWith(() => level),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, titleState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_action$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n id = createId(uid),\n ref = null,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const actionState = DialogActionState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, actionState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><button${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_cancel$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n ref = null,\n children,\n child,\n disabled = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const cancelState = AlertDialogCancelState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n disabled: boxWith(() => Boolean(disabled))\n });\n const mergedProps = derived(() => mergeProps(restProps, cancelState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><button${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nconst BitsConfigContext = new Context(\"BitsConfig\");\nfunction getBitsConfig() {\n const fallback = new BitsConfigState(null, {});\n return BitsConfigContext.getOr(fallback).opts;\n}\nclass BitsConfigState {\n opts;\n constructor(parent, opts) {\n const resolveConfigOption = createConfigResolver(parent, opts);\n this.opts = {\n defaultPortalTo: resolveConfigOption((config) => config.defaultPortalTo),\n defaultLocale: resolveConfigOption((config) => config.defaultLocale)\n };\n }\n}\nfunction createConfigResolver(parent, currentOpts) {\n return (getter) => {\n const configOption = boxWith(() => {\n const value = getter(currentOpts)?.current;\n if (value !== void 0)\n return value;\n if (parent === null)\n return void 0;\n return getter(parent.opts)?.current;\n });\n return configOption;\n };\n}\nfunction createPropResolver(configOption, fallback) {\n return (getProp) => {\n const config = getBitsConfig();\n return boxWith(() => {\n const propValue = getProp();\n if (propValue !== void 0)\n return propValue;\n const option = configOption(config).current;\n if (option !== void 0)\n return option;\n return fallback;\n });\n };\n}\nconst resolvePortalToProp = createPropResolver((config) => config.defaultPortalTo, \"body\");\nfunction Portal($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { to: toProp, children, disabled } = $$props;\n const to = resolvePortalToProp(() => toProp);\n getAllContexts();\n let target = derived(getTarget);\n function getTarget() {\n if (!isBrowser || disabled) return null;\n let localTarget = null;\n if (typeof to.current === \"string\") {\n const target2 = document.querySelector(to.current);\n localTarget = target2;\n } else {\n localTarget = to.current;\n }\n return localTarget;\n }\n let instance;\n function unmountInstance() {\n if (instance) {\n unmount();\n instance = null;\n }\n }\n watch([() => target(), () => disabled], ([target2, disabled2]) => {\n if (!target2 || disabled2) {\n unmountInstance();\n return;\n }\n instance = mount();\n return () => {\n unmountInstance();\n };\n });\n if (disabled) {\n $$renderer2.push(\"<!--[0-->\");\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction debounce(fn, wait = 500) {\n let timeout = null;\n const debounced = (...args) => {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n fn(...args);\n }, wait);\n };\n debounced.destroy = () => {\n if (timeout !== null) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n return debounced;\n}\nfunction isOrContainsTarget(node, target) {\n return node === target || node.contains(target);\n}\nfunction getOwnerDocument(el) {\n return el?.ownerDocument ?? document;\n}\nfunction isClickTrulyOutside(event, contentNode) {\n const { clientX, clientY } = event;\n const rect = contentNode.getBoundingClientRect();\n return clientX < rect.left || clientX > rect.right || clientY < rect.top || clientY > rect.bottom;\n}\nconst CONTEXT_MENU_TRIGGER_ATTR = \"data-context-menu-trigger\";\nconst CONTEXT_MENU_CONTENT_ATTR = \"data-context-menu-content\";\nglobalThis.bitsDismissableLayers ??= /* @__PURE__ */ new Map();\nclass DismissibleLayerState {\n static create(opts) {\n return new DismissibleLayerState(opts);\n }\n opts;\n #interactOutsideProp;\n #behaviorType;\n #interceptedEvents = { pointerdown: false };\n #isResponsibleLayer = false;\n #capturedPointerDown = null;\n #isFocusInsideDOMTree = false;\n #documentObj = void 0;\n #onFocusOutside;\n #unsubClickListener = noop;\n /**\n * Set once the layer is torn down. Deferred work scheduled before teardown can\n * still run afterwards, so every such callback must short-circuit on this\n * before reading `this.opts.ref.current` — reading a destroyed `$derived`\n * triggers Svelte's `derived_inert` warning. A class field rather than a\n * constructor local so the class-field handlers below can see it too.\n */\n #destroyed = false;\n constructor(opts) {\n this.opts = opts;\n this.#behaviorType = opts.interactOutsideBehavior;\n this.#interactOutsideProp = opts.onInteractOutside;\n this.#onFocusOutside = opts.onFocusOutside;\n let unsubEvents = noop;\n let registeredNode = null;\n const cleanup = () => {\n registeredNode = null;\n this.#resetState();\n globalThis.bitsDismissableLayers.delete(this);\n this.#handleInteractOutside.destroy();\n this.#unsubClickListener();\n unsubEvents();\n };\n watch([() => this.opts.enabled.current, () => this.opts.ref.current], ([enabled, node]) => {\n const nextNode = enabled ? node : null;\n if (registeredNode === nextNode) return;\n cleanup();\n if (!nextNode) return;\n registeredNode = nextNode;\n this.#documentObj = getOwnerDocument(nextNode);\n globalThis.bitsDismissableLayers.set(this, this.#behaviorType);\n unsubEvents = this.#addEventListeners();\n });\n }\n #handleFocus = (event) => {\n if (event.defaultPrevented) return;\n if (this.#destroyed || !this.opts.ref.current) return;\n afterTick(() => {\n if (this.#destroyed) return;\n if (!this.opts.ref.current || this.#isTargetWithinLayer(event.target)) return;\n if (event.target && !this.#isFocusInsideDOMTree) {\n this.#onFocusOutside.current?.(event);\n }\n });\n };\n #addEventListeners() {\n const document2 = this.#documentObj;\n const onPointerDownCapture = (event) => {\n run(() => {\n this.#markInterceptedEvent(event);\n this.#markResponsibleLayer(event);\n });\n };\n const onPointerDown = (event) => {\n if (event.cancelBubble || event !== this.#capturedPointerDown) return;\n this.#markNonInterceptedEvent(event);\n if (event.pointerType === \"touch\") {\n this.#handleInteractOutside.destroy();\n this.#interactOutside(event);\n } else {\n this.#handleInteractOutside(event);\n }\n };\n document2.addEventListener(\"pointerdown\", onPointerDownCapture, true);\n document2.addEventListener(\"pointerdown\", onPointerDown);\n return executeCallbacks(() => document2.removeEventListener(\"pointerdown\", onPointerDownCapture, true), () => document2.removeEventListener(\"pointerdown\", onPointerDown), on(document2, \"focusin\", this.#handleFocus));\n }\n #handleDismiss = (e) => {\n let event = e;\n if (event.defaultPrevented) {\n event = createWrappedEvent(e);\n }\n this.#interactOutsideProp.current(e);\n };\n #interactOutside = (e) => {\n if (!this.opts.ref.current) {\n this.#unsubClickListener();\n return;\n }\n const isEventValid = this.opts.isValidEvent.current(e, this.opts.ref.current) || isValidEvent(e, this.opts.ref.current);\n if (!this.#isResponsibleLayer || this.#isAnyEventIntercepted() || !isEventValid) {\n this.#unsubClickListener();\n return;\n }\n let event = e;\n if (event.defaultPrevented) {\n event = createWrappedEvent(event);\n }\n if (this.#behaviorType.current !== \"close\" && this.#behaviorType.current !== \"defer-otherwise-close\") {\n this.#unsubClickListener();\n return;\n }\n if (e.pointerType === \"touch\") {\n this.#unsubClickListener();\n let backup = null;\n let unsubClick = noop;\n const dismiss = (event2) => {\n unsubClick();\n this.#handleDismiss(event2);\n };\n unsubClick = executeCallbacks(\n on(this.#documentObj, \"click\", dismiss, { once: true }),\n on(\n this.#documentObj,\n \"click\",\n (event2) => {\n backup = setTimeout(() => dismiss(event2), 0);\n },\n { once: true, capture: true }\n ),\n () => {\n if (backup !== null) clearTimeout(backup);\n backup = null;\n }\n );\n this.#unsubClickListener = unsubClick;\n } else {\n this.#interactOutsideProp.current(event);\n }\n };\n #handleInteractOutside = debounce(this.#interactOutside, 10);\n #markInterceptedEvent = (e) => {\n this.#interceptedEvents[e.type] = true;\n };\n #markNonInterceptedEvent = (e) => {\n this.#interceptedEvents[e.type] = false;\n };\n #markResponsibleLayer = (event) => {\n this.#capturedPointerDown = event;\n if (!this.opts.ref.current) return;\n this.#isResponsibleLayer = isResponsibleLayer(this.opts.ref.current);\n };\n #isTargetWithinLayer = (target) => {\n if (!this.opts.ref.current) return false;\n return isOrContainsTarget(this.opts.ref.current, target);\n };\n /**\n * Resets the per-interaction state. Must stay synchronous.\n *\n * This was a `debounce(..., 20)` from when it was also wired to a capture-phase\n * interaction-end listener and had to land after the 10ms `#handleInteractOutside`\n * debounce. That listener is gone, but the debounce stayed on the `cleanup()` path —\n * and because `watch` runs `cleanup()` once per open (`ref` goes null -> node), every\n * layer scheduled a reset 20ms into its own lifetime. An outside `pointerdown` landing\n * 10-20ms after that cleanup would have its `#isResponsibleLayer` flag cleared by the\n * stale reset in the gap before the debounced `#handleInteractOutside` ran, which then\n * bailed and left the layer open. `cleanup()` destroys `#handleInteractOutside` anyway,\n * so nothing is left in flight that needs to observe the pre-reset state.\n */\n #resetState = () => {\n for (const eventType in this.#interceptedEvents) {\n this.#interceptedEvents[eventType] = false;\n }\n this.#isResponsibleLayer = false;\n this.#capturedPointerDown = null;\n };\n #isAnyEventIntercepted() {\n const i = Object.values(this.#interceptedEvents).some(Boolean);\n return i;\n }\n #onfocuscapture = () => {\n this.#isFocusInsideDOMTree = true;\n };\n #onblurcapture = () => {\n this.#isFocusInsideDOMTree = false;\n };\n props = {\n onfocuscapture: this.#onfocuscapture,\n onblurcapture: this.#onblurcapture\n };\n}\nfunction getTopMostDismissableLayer(layersArr = [...globalThis.bitsDismissableLayers]) {\n return layersArr.findLast(([_, { current: behaviorType }]) => behaviorType === \"close\" || behaviorType === \"ignore\");\n}\nfunction isResponsibleLayer(node) {\n const layersArr = [...globalThis.bitsDismissableLayers];\n const topMostLayer = getTopMostDismissableLayer(layersArr);\n if (topMostLayer) return topMostLayer[0].opts.ref.current === node;\n const [firstLayerNode] = layersArr[0];\n return firstLayerNode.opts.ref.current === node;\n}\nfunction isValidEvent(e, node) {\n const target = e.target;\n if (!isElementOrSVGElement(target)) return false;\n const targetIsContextMenuTrigger = Boolean(target.closest(`[${CONTEXT_MENU_TRIGGER_ATTR}]`));\n const nodeIsContextMenu = Boolean(node.closest(`[${CONTEXT_MENU_CONTENT_ATTR}]`));\n if (\"button\" in e && e.button > 0 && !targetIsContextMenuTrigger) return false;\n if (\"button\" in e && e.button === 0 && targetIsContextMenuTrigger && nodeIsContextMenu) {\n return true;\n }\n if (targetIsContextMenuTrigger && nodeIsContextMenu) return false;\n const ownerDocument = getOwnerDocument(target);\n const isValid = ownerDocument.documentElement.contains(target) && !isOrContainsTarget(node, target) && isClickTrulyOutside(e, node);\n return isValid;\n}\nfunction createWrappedEvent(e) {\n const capturedCurrentTarget = e.currentTarget;\n const capturedTarget = e.target;\n let newEvent;\n if (e instanceof PointerEvent) {\n newEvent = new PointerEvent(e.type, e);\n } else {\n newEvent = new PointerEvent(\"pointerdown\", e);\n }\n let isPrevented = false;\n const wrappedEvent = new Proxy(newEvent, {\n get: (target, prop) => {\n if (prop === \"currentTarget\") {\n return capturedCurrentTarget;\n }\n if (prop === \"target\") {\n return capturedTarget;\n }\n if (prop === \"preventDefault\") {\n return () => {\n isPrevented = true;\n if (typeof target.preventDefault === \"function\") {\n target.preventDefault();\n }\n };\n }\n if (prop === \"defaultPrevented\") {\n return isPrevented;\n }\n if (prop in target) {\n return target[prop];\n }\n return e[prop];\n }\n });\n return wrappedEvent;\n}\nfunction Dismissible_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n interactOutsideBehavior = \"close\",\n onInteractOutside = noop,\n onFocusOutside = noop,\n id,\n children,\n enabled,\n isValidEvent: isValidEvent2 = () => false,\n ref\n } = $$props;\n const dismissibleLayerState = DismissibleLayerState.create({\n id: boxWith(() => id),\n interactOutsideBehavior: boxWith(() => interactOutsideBehavior),\n onInteractOutside: boxWith(() => onInteractOutside),\n enabled: boxWith(() => enabled),\n onFocusOutside: boxWith(() => onFocusOutside),\n isValidEvent: boxWith(() => isValidEvent2),\n ref\n });\n children?.($$renderer2, { props: dismissibleLayerState.props });\n $$renderer2.push(`<!---->`);\n });\n}\nglobalThis.bitsEscapeLayers ??= /* @__PURE__ */ new Map();\nclass EscapeLayerState {\n static create(opts) {\n return new EscapeLayerState(opts);\n }\n opts;\n domContext;\n constructor(opts) {\n this.opts = opts;\n this.domContext = new DOMContext(this.opts.ref);\n let unsubEvents = noop;\n watch(() => opts.enabled.current, (enabled) => {\n if (enabled) {\n globalThis.bitsEscapeLayers.set(this, opts.escapeKeydownBehavior);\n unsubEvents = this.#addEventListener();\n }\n return () => {\n unsubEvents();\n globalThis.bitsEscapeLayers.delete(this);\n };\n });\n }\n #addEventListener = () => {\n return on(this.domContext.getDocument(), \"keydown\", this.#onkeydown, { passive: false });\n };\n #onkeydown = (e) => {\n if (e.key !== ESCAPE || !isResponsibleEscapeLayer(this)) return;\n const clonedEvent = new KeyboardEvent(e.type, e);\n e.preventDefault();\n const behaviorType = this.opts.escapeKeydownBehavior.current;\n if (behaviorType !== \"close\" && behaviorType !== \"defer-otherwise-close\") return;\n this.opts.onEscapeKeydown.current(clonedEvent);\n };\n}\nfunction isResponsibleEscapeLayer(instance) {\n const layersArr = [...globalThis.bitsEscapeLayers];\n const topMostLayer = layersArr.findLast(([_, { current: behaviorType }]) => behaviorType === \"close\" || behaviorType === \"ignore\");\n if (topMostLayer) return topMostLayer[0] === instance;\n const [firstLayerNode] = layersArr[0];\n return firstLayerNode === instance;\n}\nfunction Escape_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n escapeKeydownBehavior = \"close\",\n onEscapeKeydown = noop,\n children,\n enabled,\n ref\n } = $$props;\n EscapeLayerState.create({\n escapeKeydownBehavior: boxWith(() => escapeKeydownBehavior),\n onEscapeKeydown: boxWith(() => onEscapeKeydown),\n enabled: boxWith(() => enabled),\n ref\n });\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n });\n}\nclass FocusScopeManager {\n static instance;\n #scopeStack = simpleBox([]);\n #focusHistory = /* @__PURE__ */ new WeakMap();\n #preFocusHistory = /* @__PURE__ */ new WeakMap();\n static getInstance() {\n if (!this.instance) {\n this.instance = new FocusScopeManager();\n }\n return this.instance;\n }\n register(scope) {\n const current = this.getActive();\n if (current && current !== scope) {\n current.pause();\n }\n const activeElement = getActiveElement(document);\n if (activeElement && activeElement !== document.body) {\n this.#preFocusHistory.set(scope, activeElement);\n }\n this.#scopeStack.current = this.#scopeStack.current.filter((s) => s !== scope);\n this.#scopeStack.current.unshift(scope);\n }\n unregister(scope) {\n this.#scopeStack.current = this.#scopeStack.current.filter((s) => s !== scope);\n const next = this.getActive();\n if (next) {\n next.resume();\n }\n }\n getActive() {\n return this.#scopeStack.current[0];\n }\n setFocusMemory(scope, element2) {\n this.#focusHistory.set(scope, element2);\n }\n getFocusMemory(scope) {\n return this.#focusHistory.get(scope);\n }\n isActiveScope(scope) {\n return this.getActive() === scope;\n }\n setPreFocusMemory(scope, element2) {\n this.#preFocusHistory.set(scope, element2);\n }\n getPreFocusMemory(scope) {\n return this.#preFocusHistory.get(scope);\n }\n clearPreFocusMemory(scope) {\n this.#preFocusHistory.delete(scope);\n }\n}\nvar candidateSelectors = [\"input:not([inert]):not([inert] *)\", \"select:not([inert]):not([inert] *)\", \"textarea:not([inert]):not([inert] *)\", \"a[href]:not([inert]):not([inert] *)\", \"area[href]:not([inert]):not([inert] *)\", \"button:not([inert]):not([inert] *)\", \"[tabindex]:not(slot):not([inert]):not([inert] *)\", \"audio[controls]:not([inert]):not([inert] *)\", \"video[controls]:not([inert]):not([inert] *)\", '[contenteditable]:not([contenteditable=\"false\"]):not([inert]):not([inert] *)', \"details>summary:first-of-type:not([inert]):not([inert] *)\", \"details:not([inert]):not([inert] *)\"];\nvar candidateSelector = /* @__PURE__ */ candidateSelectors.join(\",\");\nvar NoElement = typeof Element === \"undefined\";\nvar matches = NoElement ? function() {\n} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function(element2) {\n var _element$getRootNode;\n return element2 === null || element2 === void 0 ? void 0 : (_element$getRootNode = element2.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element2);\n} : function(element2) {\n return element2 === null || element2 === void 0 ? void 0 : element2.ownerDocument;\n};\nvar _isInert = function isInert(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n var 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 var inert = inertAtt === \"\" || inertAtt === \"true\";\n var result = inert || lookUp && node && // closest does not exist on shadow roots, so we fall back to a manual\n // lookup upward, in case it is not defined.\n (typeof node.closest === \"function\" ? node.closest(\"[inert]\") : _isInert(node.parentNode));\n return result;\n};\nvar isContentEditable = function isContentEditable2(node) {\n var _node$getAttribute2;\n var 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 return attValue === \"\" || attValue === \"true\";\n};\nvar getCandidates = function getCandidates2(el, includeContainer, filter) {\n if (_isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\nvar _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element2 = elementsToCheck.shift();\n if (_isInert(element2, false)) {\n continue;\n }\n if (element2.tagName === \"SLOT\") {\n var assigned = element2.assignedElements();\n var content = assigned.length ? assigned : element2.children;\n var nestedCandidates = _getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element2,\n candidates: nestedCandidates\n });\n }\n } else {\n var validCandidate = matches.call(element2, candidateSelector);\n if (validCandidate && options.filter(element2) && (includeContainer || !elements.includes(element2))) {\n candidates.push(element2);\n }\n var shadowRoot = element2.shadowRoot || // check for an undisclosed shadow\n typeof options.getShadowRoot === \"function\" && options.getShadowRoot(element2);\n var validShadowRoot = !_isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element2));\n if (shadowRoot && validShadowRoot) {\n var _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element2.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element2,\n candidates: _nestedCandidates\n });\n }\n } else {\n elementsToCheck.unshift.apply(elementsToCheck, element2.children);\n }\n }\n }\n return candidates;\n};\nvar hasTabIndex = function hasTabIndex2(node) {\n return !isNaN(parseInt(node.getAttribute(\"tabindex\"), 10));\n};\nvar getTabIndex = function getTabIndex2(node) {\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (node.tabIndex < 0) {\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nvar getSortOrderTabIndex = function getSortOrderTabIndex2(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables2(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput2(node) {\n return node.tagName === \"INPUT\";\n};\nvar isHiddenInput = function isHiddenInput2(node) {\n return isInput(node) && node.type === \"hidden\";\n};\nvar isDetailsWithSummary = function isDetailsWithSummary2(node) {\n var r = node.tagName === \"DETAILS\" && Array.prototype.slice.apply(node.children).some(function(child) {\n return child.tagName === \"SUMMARY\";\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio2(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio2(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios2(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== \"undefined\" && typeof window.CSS !== \"undefined\" && typeof window.CSS.escape === \"function\") {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n console.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 return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio2(node) {\n return isInput(node) && node.type === \"radio\";\n};\nvar isNonTabbableRadio = function isNonTabbableRadio2(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\nvar isNodeAttached = function isNodeAttached2(node) {\n var _nodeRoot;\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_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 while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea2(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden2(node, _ref) {\n var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;\n if (displayCheck === \"full-native\") {\n if (\"checkVisibility\" in node) {\n var visible = node.checkVisibility({\n // Checking opacity might be desirable for some use cases, but natively,\n // opacity zero elements _are_ focusable and tabbable.\n checkOpacity: false,\n opacityProperty: false,\n contentVisibilityAuto: true,\n visibilityProperty: true,\n // This is an alias for `visibilityProperty`. Contemporary browsers\n // support both. However, this alias has wider browser support (Chrome\n // >= 105 and Firefox >= 106, vs. Chrome >= 121 and Firefox >= 122), so\n // we include it anyway.\n checkVisibilityCSS: true\n });\n return !visible;\n }\n }\n var _getComputedStyle = getComputedStyle(node), visibility = _getComputedStyle.visibility;\n if (visibility === \"hidden\" || visibility === \"collapse\") {\n return true;\n }\n var isDirectSummary = matches.call(node, \"details>summary:first-of-type\");\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, \"details:not([open]) *\")) {\n return true;\n }\n if (!displayCheck || displayCheck === \"full\" || // full-native can run this branch when it falls through in case\n // Element#checkVisibility is unsupported\n displayCheck === \"full-native\" || displayCheck === \"legacy-full\") {\n if (typeof getShadowRoot === \"function\") {\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) {\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n node = rootNode.host;\n } else {\n node = parentElement;\n }\n }\n node = originalNode;\n }\n if (isNodeAttached(node)) {\n return !node.getClientRects().length;\n }\n if (displayCheck !== \"legacy-full\") {\n return true;\n }\n } else if (displayCheck === \"non-zero-area\") {\n return isZeroArea(node);\n }\n return false;\n};\nvar isDisabledFromFieldset = function isDisabledFromFieldset2(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n while (parentNode) {\n if (parentNode.tagName === \"FIELDSET\" && parentNode.disabled) {\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n if (child.tagName === \"LEGEND\") {\n return matches.call(parentNode, \"fieldset[disabled] *\") ? true : !child.contains(node);\n }\n }\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {\n if (node.disabled || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isShadowRootTabbable = function isShadowRootTabbable2(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute(\"tabindex\"), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n return false;\n};\nvar _sortByOrder = function sortByOrder(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function(item, i) {\n var isScope = !!item.scopeParent;\n var element2 = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element2, isScope);\n var elements = isScope ? _sortByOrder(item.candidates) : element2;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element2);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item,\n isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = _getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return _sortByOrder(candidates);\n};\nvar focusable = function focusable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = _getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat(\"iframe:not([inert]):not([inert] *)\").join(\",\");\nvar isFocusable = function isFocusable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\nclass FocusScope {\n #paused = false;\n #container = null;\n #manager = FocusScopeManager.getInstance();\n #cleanupFns = [];\n #opts;\n constructor(opts) {\n this.#opts = opts;\n }\n get paused() {\n return this.#paused;\n }\n pause() {\n this.#paused = true;\n }\n resume() {\n this.#paused = false;\n }\n #cleanup() {\n for (const fn of this.#cleanupFns) {\n fn();\n }\n this.#cleanupFns = [];\n }\n mount(container) {\n if (this.#container) {\n this.unmount();\n }\n this.#container = container;\n this.#manager.register(this);\n this.#setupEventListeners();\n this.#handleOpenAutoFocus();\n }\n unmount() {\n if (!this.#container) return;\n this.#cleanup();\n this.#handleCloseAutoFocus();\n this.#manager.unregister(this);\n this.#manager.clearPreFocusMemory(this);\n this.#container = null;\n }\n #handleOpenAutoFocus() {\n if (!this.#container) return;\n const event = new CustomEvent(\"focusScope.onOpenAutoFocus\", { bubbles: false, cancelable: true });\n this.#opts.onOpenAutoFocus.current(event);\n if (!event.defaultPrevented) {\n requestAnimationFrame(() => {\n if (!this.#container || this.#paused || !this.#manager.isActiveScope(this) || this.#container.contains(getActiveElement(this.#container.ownerDocument))) {\n return;\n }\n const firstTabbable = this.#getFirstTabbable();\n if (firstTabbable) {\n firstTabbable.focus();\n this.#manager.setFocusMemory(this, firstTabbable);\n } else {\n this.#container.focus();\n }\n });\n }\n }\n #handleCloseAutoFocus() {\n const event = new CustomEvent(\"focusScope.onCloseAutoFocus\", { bubbles: false, cancelable: true });\n this.#opts.onCloseAutoFocus.current?.(event);\n if (!event.defaultPrevented) {\n const preFocusedElement = this.#manager.getPreFocusMemory(this);\n if (preFocusedElement && preFocusedElement.isConnected) {\n try {\n preFocusedElement.focus();\n } catch {\n document.body.focus();\n }\n }\n }\n }\n #setupEventListeners() {\n if (!this.#container || !this.#opts.trap.current) return;\n const container = this.#container;\n const doc = container.ownerDocument;\n const handleFocus = (e) => {\n if (this.#paused || !this.#manager.isActiveScope(this)) return;\n const target = e.composedPath()[0];\n if (!target) return;\n const isInside = container.contains(target);\n if (isInside) {\n this.#manager.setFocusMemory(this, target);\n } else {\n const lastFocused = this.#manager.getFocusMemory(this);\n if (lastFocused && container.contains(lastFocused) && isFocusable(lastFocused)) {\n e.preventDefault();\n lastFocused.focus();\n } else {\n const firstTabbable = this.#getFirstTabbable();\n const firstFocusable = this.#getAllFocusables()[0];\n (firstTabbable || firstFocusable || container).focus();\n }\n }\n };\n const handleKeydown = (e) => {\n if (!this.#opts.loop || this.#paused || e.key !== \"Tab\") return;\n if (!this.#manager.isActiveScope(this)) return;\n const tabbables = this.#getTabbables();\n if (tabbables.length === 0) return;\n const first = tabbables[0];\n const last = tabbables[tabbables.length - 1];\n if (!e.shiftKey && getActiveElement(doc) === last) {\n e.preventDefault();\n first.focus();\n } else if (e.shiftKey && getActiveElement(doc) === first) {\n e.preventDefault();\n last.focus();\n }\n };\n this.#cleanupFns.push(on(doc, \"focusin\", handleFocus, { capture: true }), on(container, \"keydown\", handleKeydown));\n const observer = new MutationObserver(() => {\n const lastFocused = this.#manager.getFocusMemory(this);\n if (lastFocused && !container.contains(lastFocused)) {\n const firstTabbable = this.#getFirstTabbable();\n const firstFocusable = this.#getAllFocusables()[0];\n const elementToFocus = firstTabbable || firstFocusable;\n if (elementToFocus) {\n elementToFocus.focus();\n this.#manager.setFocusMemory(this, elementToFocus);\n } else {\n container.focus();\n }\n }\n });\n observer.observe(container, { childList: true, subtree: true });\n this.#cleanupFns.push(() => observer.disconnect());\n }\n #getTabbables() {\n if (!this.#container) return [];\n return tabbable(this.#container, { includeContainer: false, getShadowRoot: true });\n }\n #getFirstTabbable() {\n const tabbables = this.#getTabbables();\n return tabbables[0] || null;\n }\n #getAllFocusables() {\n if (!this.#container) return [];\n return focusable(this.#container, { includeContainer: false, getShadowRoot: true });\n }\n static use(opts) {\n let scope = null;\n watch([() => opts.ref.current, () => opts.enabled.current], ([ref, enabled]) => {\n if (ref && enabled) {\n if (!scope) {\n scope = new FocusScope(opts);\n }\n scope.mount(ref);\n } else if (scope) {\n scope.unmount();\n scope = null;\n }\n });\n return {\n get props() {\n return { tabindex: -1 };\n }\n };\n }\n}\nfunction Focus_scope($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n enabled = false,\n trapFocus = false,\n loop = false,\n onCloseAutoFocus = noop,\n onOpenAutoFocus = noop,\n focusScope,\n ref\n } = $$props;\n const focusScopeState = FocusScope.use({\n enabled: boxWith(() => enabled),\n trap: boxWith(() => trapFocus),\n loop,\n onCloseAutoFocus: boxWith(() => onCloseAutoFocus),\n onOpenAutoFocus: boxWith(() => onOpenAutoFocus),\n ref\n });\n focusScope?.($$renderer2, { props: focusScopeState.props });\n $$renderer2.push(`<!---->`);\n });\n}\nconst noopPointer = () => {\n};\nglobalThis.bitsTextSelectionLayers ??= /* @__PURE__ */ new Map();\nclass TextSelectionLayerState {\n static create(opts) {\n return new TextSelectionLayerState(opts);\n }\n opts;\n domContext;\n #unsubSelectionLock = noop;\n #enabledSnapshot = false;\n #onPointerDownSnapshot = noopPointer;\n #onPointerUpSnapshot = noopPointer;\n constructor(opts) {\n this.opts = opts;\n this.domContext = new DOMContext(opts.ref);\n let unsubEvents = noop;\n watch(\n () => [\n this.opts.enabled.current,\n this.opts.onPointerDown.current,\n this.opts.onPointerUp.current\n ],\n ([enabled, onPointerDown, onPointerUp]) => {\n this.#enabledSnapshot = enabled;\n this.#onPointerDownSnapshot = onPointerDown;\n this.#onPointerUpSnapshot = onPointerUp;\n if (enabled) {\n globalThis.bitsTextSelectionLayers.set(this, this.opts.enabled);\n unsubEvents();\n unsubEvents = this.#addEventListeners();\n }\n return () => {\n this.#enabledSnapshot = false;\n unsubEvents();\n this.#resetSelectionLock();\n globalThis.bitsTextSelectionLayers.delete(this);\n };\n }\n );\n }\n #addEventListeners() {\n return executeCallbacks(on(this.domContext.getDocument(), \"pointerdown\", this.#pointerdown), on(this.domContext.getDocument(), \"pointerup\", this.#pointerup));\n }\n #pointerup = (e) => {\n this.#resetSelectionLock();\n if (e.defaultPrevented) return;\n this.#onPointerUpSnapshot(e);\n };\n #pointerdown = (e) => {\n if (!this.#enabledSnapshot) return;\n this.#resetSelectionLock();\n const node = this.opts.ref.current;\n const target = e.target;\n if (!isHTMLElement$1(node) || !isHTMLElement$1(target)) return;\n if (!isHighestLayer(this) || !contains(node, target)) return;\n this.#onPointerDownSnapshot(e);\n if (e.defaultPrevented) return;\n this.#unsubSelectionLock = preventTextSelectionOverflow(node, this.domContext.getDocument().body);\n };\n #resetSelectionLock = () => {\n this.#unsubSelectionLock();\n this.#unsubSelectionLock = noop;\n };\n}\nconst getUserSelect = (node) => node.style.userSelect || node.style.webkitUserSelect;\nfunction preventTextSelectionOverflow(node, body) {\n const originalBodyUserSelect = getUserSelect(body);\n const originalNodeUserSelect = getUserSelect(node);\n setUserSelect(body, \"none\");\n setUserSelect(node, \"text\");\n return () => {\n setUserSelect(body, originalBodyUserSelect);\n setUserSelect(node, originalNodeUserSelect);\n };\n}\nfunction setUserSelect(node, value) {\n node.style.userSelect = value;\n node.style.webkitUserSelect = value;\n}\nfunction isHighestLayer(instance) {\n const layersArr = [...globalThis.bitsTextSelectionLayers];\n if (!layersArr.length) return false;\n const highestLayer = layersArr.at(-1);\n if (!highestLayer) return false;\n return highestLayer[0] === instance;\n}\nfunction Text_selection_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n preventOverflowTextSelection = true,\n onPointerDown = noop,\n onPointerUp = noop,\n id,\n children,\n enabled,\n ref\n } = $$props;\n TextSelectionLayerState.create({\n id: boxWith(() => id),\n onPointerDown: boxWith(() => onPointerDown),\n onPointerUp: boxWith(() => onPointerUp),\n enabled: boxWith(() => enabled && preventOverflowTextSelection),\n ref\n });\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n });\n}\nglobalThis.bitsIdCounter ??= { current: 0 };\nfunction useId(prefix = \"bits\") {\n globalThis.bitsIdCounter.current++;\n return `${prefix}-${globalThis.bitsIdCounter.current}`;\n}\nclass SharedState {\n #factory;\n #subscribers = 0;\n #state;\n #scope;\n constructor(factory) {\n this.#factory = factory;\n }\n #dispose() {\n this.#subscribers -= 1;\n if (this.#scope && this.#subscribers <= 0) {\n this.#scope();\n this.#state = void 0;\n this.#scope = void 0;\n }\n }\n get(...args) {\n this.#subscribers += 1;\n if (this.#state === void 0) {\n this.#scope = () => {\n };\n }\n return this.#state;\n }\n}\nconst lockMap = new SvelteMap();\nconst MANAGED_PROPERTIES = [\n \"padding-right\",\n \"margin-right\",\n \"overflow\",\n \"overflow-x\",\n \"overflow-y\",\n \"pointer-events\",\n \"--scrollbar-width\"\n];\nlet initialProperties = null;\nconst modifiedProperties = /* @__PURE__ */ new Set();\nlet cleanupTimeoutId = null;\nlet isInCleanupTransition = false;\nfunction setManagedProperty(style, property, value) {\n style.setProperty(property, value);\n modifiedProperties.add(property);\n if (property === \"overflow\") {\n modifiedProperties.add(\"overflow-x\");\n modifiedProperties.add(\"overflow-y\");\n }\n}\nconst anyLocked = boxWith(() => {\n for (const value of lockMap.values()) {\n if (value) return true;\n }\n return false;\n});\nlet cleanupScheduledAt = null;\nconst bodyLockStackCount = new SharedState(() => {\n function resetBodyStyle(documentObj) {\n return;\n }\n function cancelPendingCleanup() {\n if (cleanupTimeoutId === null) return;\n window.clearTimeout(cleanupTimeoutId);\n cleanupTimeoutId = null;\n }\n function scheduleCleanupIfNoNewLocks(delay, callback) {\n cancelPendingCleanup();\n isInCleanupTransition = true;\n cleanupScheduledAt = Date.now();\n const currentCleanupId = cleanupScheduledAt;\n const cleanupFn = () => {\n cleanupTimeoutId = null;\n if (cleanupScheduledAt !== currentCleanupId) return;\n if (!isAnyLocked(lockMap)) {\n isInCleanupTransition = false;\n callback();\n } else {\n isInCleanupTransition = false;\n }\n };\n const actualDelay = delay === null ? 24 : delay;\n cleanupTimeoutId = window.setTimeout(cleanupFn, actualDelay);\n }\n function ensureInitialStyleCaptured() {\n if (initialProperties === null && lockMap.size === 0 && !isInCleanupTransition) {\n document.body.hasAttribute(\"style\");\n initialProperties = /* @__PURE__ */ new Map();\n for (const prop of MANAGED_PROPERTIES) {\n initialProperties.set(prop, {\n value: document.body.style.getPropertyValue(prop),\n priority: document.body.style.getPropertyPriority(prop)\n });\n }\n }\n }\n watch(() => anyLocked.current, () => {\n if (!anyLocked.current) return;\n ensureInitialStyleCaptured();\n isInCleanupTransition = false;\n const htmlStyle = getComputedStyle(document.documentElement);\n const bodyStyle = getComputedStyle(document.body);\n const hasStableGutter = htmlStyle.scrollbarGutter?.includes(\"stable\") || bodyStyle.scrollbarGutter?.includes(\"stable\");\n const verticalScrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const paddingRight = Number.parseInt(bodyStyle.paddingRight ?? \"0\", 10);\n const config = {\n padding: paddingRight + verticalScrollbarWidth,\n margin: Number.parseInt(bodyStyle.marginRight ?? \"0\", 10)\n };\n if (verticalScrollbarWidth > 0 && !hasStableGutter) {\n setManagedProperty(document.body.style, \"padding-right\", `${config.padding}px`);\n setManagedProperty(document.body.style, \"margin-right\", `${config.margin}px`);\n setManagedProperty(document.body.style, \"--scrollbar-width\", `${verticalScrollbarWidth}px`);\n }\n setManagedProperty(document.body.style, \"overflow\", \"hidden\");\n if (isIOS) {\n on(\n document,\n \"touchmove\",\n (e) => {\n if (e.target !== document.documentElement) return;\n if (e.touches.length > 1) return;\n e.preventDefault();\n },\n { passive: false }\n );\n }\n afterTick(() => {\n setManagedProperty(document.body.style, \"pointer-events\", \"none\");\n setManagedProperty(document.body.style, \"overflow\", \"hidden\");\n });\n });\n return {\n get lockMap() {\n return lockMap;\n },\n resetBodyStyle,\n scheduleCleanupIfNoNewLocks,\n cancelPendingCleanup,\n ensureInitialStyleCaptured\n };\n});\nclass BodyScrollLock {\n #id = useId();\n #initialState;\n #restoreScrollDelay = () => null;\n #countState;\n locked;\n constructor(initialState, restoreScrollDelay = () => null) {\n this.#initialState = initialState;\n this.#restoreScrollDelay = restoreScrollDelay;\n this.#countState = bodyLockStackCount.get();\n if (!this.#countState) return;\n this.#countState.cancelPendingCleanup();\n this.#countState.ensureInitialStyleCaptured();\n this.#countState.lockMap.set(this.#id, this.#initialState ?? false);\n this.locked = boxWith(() => this.#countState.lockMap.get(this.#id) ?? false, (v) => this.#countState.lockMap.set(this.#id, v));\n }\n}\nfunction isAnyLocked(map) {\n for (const [_, value] of map) {\n if (value) return true;\n }\n return false;\n}\nfunction Scroll_lock($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { preventScroll = true, restoreScrollDelay = null } = $$props;\n if (preventScroll) {\n new BodyScrollLock(preventScroll, () => restoreScrollDelay);\n }\n });\n}\nfunction Alert_dialog_content$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n children,\n child,\n ref = null,\n forceMount = false,\n interactOutsideBehavior = \"ignore\",\n onCloseAutoFocus = noop,\n onEscapeKeydown = noop,\n onOpenAutoFocus = noop,\n onInteractOutside = noop,\n preventScroll = true,\n preventOverflowTextSelection = true,\n trapFocus = true,\n restoreScrollDelay = null,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const contentState = DialogContentState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, contentState.props));\n if (contentState.shouldRender || forceMount) {\n $$renderer2.push(\"<!--[0-->\");\n {\n let focusScope = function($$renderer3, { props: focusScopeProps }) {\n Escape_layer($$renderer3, spread_props([\n mergedProps(),\n {\n enabled: contentState.root.opts.open.current,\n ref: contentState.opts.ref,\n onEscapeKeydown: (e) => {\n onEscapeKeydown(e);\n if (e.defaultPrevented) return;\n contentState.root.handleClose();\n },\n children: ($$renderer4) => {\n Dismissible_layer($$renderer4, spread_props([\n mergedProps(),\n {\n ref: contentState.opts.ref,\n enabled: contentState.root.opts.open.current,\n interactOutsideBehavior,\n onInteractOutside: (e) => {\n onInteractOutside(e);\n if (e.defaultPrevented) return;\n contentState.root.handleClose();\n },\n children: ($$renderer5) => {\n Text_selection_layer($$renderer5, spread_props([\n mergedProps(),\n {\n preventOverflowTextSelection,\n ref: contentState.opts.ref,\n enabled: contentState.root.opts.open.current,\n children: ($$renderer6) => {\n if (child) {\n $$renderer6.push(\"<!--[0-->\");\n if (contentState.root.opts.open.current) {\n $$renderer6.push(\"<!--[0-->\");\n Scroll_lock($$renderer6, { preventScroll, restoreScrollDelay });\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n }\n $$renderer6.push(`<!--]--> `);\n child($$renderer6, {\n props: mergeProps(mergedProps(), focusScopeProps),\n ...contentState.snippetProps\n });\n $$renderer6.push(`<!---->`);\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n Scroll_lock($$renderer6, { preventScroll });\n $$renderer6.push(`<!----> <div${attributes({ ...mergeProps(mergedProps(), focusScopeProps) })}>`);\n children?.($$renderer6);\n $$renderer6.push(`<!----></div>`);\n }\n $$renderer6.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n },\n $$slots: { default: true }\n }\n ]));\n },\n $$slots: { default: true }\n }\n ]));\n };\n Focus_scope($$renderer2, {\n ref: contentState.opts.ref,\n loop: true,\n trapFocus,\n enabled: contentState.root.opts.open.current,\n onCloseAutoFocus,\n onOpenAutoFocus: (e) => {\n onOpenAutoFocus(e);\n if (e.defaultPrevented) return;\n e.preventDefault();\n afterSleep(0, () => contentState.opts.ref.current?.focus());\n },\n focusScope\n });\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog_overlay$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n forceMount = false,\n child,\n children,\n ref = null,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const overlayState = DialogOverlayState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, overlayState.props));\n if (overlayState.shouldRender || forceMount) {\n $$renderer2.push(\"<!--[0-->\");\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, {\n props: mergeProps(mergedProps()),\n ...overlayState.snippetProps\n });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergeProps(mergedProps()) })}>`);\n children?.($$renderer2, overlayState.snippetProps);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog_description$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n children,\n child,\n ref = null,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const descriptionState = DialogDescriptionState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, descriptionState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nconst FloatingRootContext = new Context(\"Floating.Root\");\nconst FloatingTooltipRootContext = new Context(\"Floating.Root\");\nclass FloatingRootState {\n static create(tooltip = false) {\n return tooltip ? FloatingTooltipRootContext.set(new FloatingRootState()) : FloatingRootContext.set(new FloatingRootState());\n }\n anchorNode = simpleBox(null);\n customAnchorNode = simpleBox(null);\n triggerNode = simpleBox(null);\n constructor() {\n }\n}\nclass FloatingAnchorState {\n static create(opts, tooltip = false) {\n return tooltip ? new FloatingAnchorState(opts, FloatingTooltipRootContext.get()) : new FloatingAnchorState(opts, FloatingRootContext.get());\n }\n opts;\n root;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n if (opts.virtualEl && opts.virtualEl.current) {\n root.triggerNode = boxFrom(opts.virtualEl.current);\n } else {\n root.triggerNode = opts.ref;\n }\n }\n}\nfunction Floating_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { children, tooltip = false } = $$props;\n FloatingRootState.create(tooltip);\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n });\n}\nfunction get(valueOrGetValue) {\n return typeof valueOrGetValue === \"function\" ? valueOrGetValue() : valueOrGetValue;\n}\nfunction getDPR(element2) {\n if (typeof window === \"undefined\") return 1;\n const win = element2.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction roundByDPR(element2, value) {\n const dpr = getDPR(element2);\n return Math.round(value * dpr) / dpr;\n}\nfunction getFloatingContentCSSVars(name) {\n return {\n [`--bits-${name}-content-transform-origin`]: `var(--bits-floating-transform-origin)`,\n [`--bits-${name}-content-available-width`]: `var(--bits-floating-available-width)`,\n [`--bits-${name}-content-available-height`]: `var(--bits-floating-available-height)`,\n [`--bits-${name}-anchor-width`]: `var(--bits-floating-anchor-width)`,\n [`--bits-${name}-anchor-height`]: `var(--bits-floating-anchor-height)`\n };\n}\nfunction Floating_layer_anchor($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { id, children, virtualEl, ref, tooltip = false } = $$props;\n FloatingAnchorState.create(\n {\n id: boxWith(() => id),\n virtualEl: boxWith(() => virtualEl),\n ref\n },\n tooltip\n );\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n });\n}\nconst sides = [\"top\", \"right\", \"bottom\", \"left\"];\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst createCoords = (v) => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === \"function\" ? value(param) : value;\n}\nfunction getSide$1(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n return placement.split(\"-\")[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === \"x\" ? \"y\" : \"x\";\n}\nfunction getAxisLength(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n}\nfunction getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === \"t\" || firstChar === \"b\" ? \"y\" : \"x\";\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return 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 switch (side) {\n case \"top\":\n case \"bottom\":\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case \"left\":\n case \"right\":\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide$1(placement), direction === \"start\", rtl);\n if (alignment) {\n list = list.map((side) => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n const side = getSide$1(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n var _padding$top, _padding$right, _padding$bottom, _padding$left;\n return {\n top: (_padding$top = padding.top) != null ? _padding$top : 0,\n right: (_padding$right = padding.right) != null ? _padding$right : 0,\n bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,\n left: (_padding$left = padding.left) != null ? _padding$left : 0\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide$1(placement);\n const isVertical = sideAxis === \"y\";\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n const alignment = getAlignment(placement);\n if (alignment) {\n coords[alignmentAxis] += commonAlign * (alignment === \"end\" ? 1 : -1) * (rtl && isVertical ? -1 : 1);\n }\n return coords;\n}\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform: platform2,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = \"clippingAncestors\",\n rootBoundary = \"viewport\",\n elementContext = \"floating\",\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n const element2 = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element2))) != null ? _await$platform$isEle : true) ? element2 : element2.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === \"floating\" ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) && await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\nconst MAX_RESET_COUNT = 50;\nconst computePosition$1 = async (reference, floating, config) => {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : {\n ...platform2,\n detectOverflow\n };\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n let rects = await platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\nconst arrow$1 = (options) => ({\n name: \"arrow\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform: platform2,\n elements,\n middlewareData\n } = state;\n const {\n element: element2,\n padding = 0\n } = evaluate(options, state) || {};\n if (element2 == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform2.getDimensions(element2);\n const isYAxis = axis === \"y\";\n const minProp = isYAxis ? \"top\" : \"left\";\n const maxProp = isYAxis ? \"bottom\" : \"right\";\n const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element2));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n const max2 = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset2 = clamp(minPadding, center, max2);\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max2 : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset2,\n centerOffset: center - offset2 - alignmentOffset,\n ...shouldAddOffset && {\n alignmentOffset\n }\n },\n reset: shouldAddOffset\n };\n }\n});\nconst flip$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"flip\",\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform: platform2,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = \"bestFit\",\n fallbackAxisSideDirection = \"none\",\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide$1(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide$1(initialPlacement) === initialPlacement;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform2.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides2 = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n if (!overflows.every((side2) => side2 <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case \"bestFit\": {\n var _overflowsData$filter2;\n const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === \"y\";\n }\n return true;\n }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement2) {\n resetPlacement = placement2;\n }\n break;\n }\n case \"initialPlacement\":\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some((side) => overflow[side] >= 0);\n}\nconst hide$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"hide\",\n options,\n async fn(state) {\n const {\n rects,\n platform: platform2\n } = state;\n const {\n strategy = \"referenceHidden\",\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case \"referenceHidden\": {\n const overflow = await platform2.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case \"escaped\": {\n const overflow = await platform2.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default: {\n return {};\n }\n }\n }\n };\n};\nconst originSides = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform: platform2,\n elements\n } = state;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const side = getSide$1(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === \"y\";\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === \"number\" ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === \"number\") {\n crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\nconst offset$1 = function(options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: \"offset\",\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\nconst shift$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"shift\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform: platform2\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: (_ref) => {\n let {\n x: x2,\n y: y2\n } = _ref;\n return {\n x: x2,\n y: y2\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform2.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const clampCoord = (axis, coord) => clamp(coord + overflow[axis === \"y\" ? \"top\" : \"left\"], coord, coord - overflow[axis === \"y\" ? \"bottom\" : \"right\"]);\n if (checkMainAxis) {\n mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);\n }\n if (checkCrossAxis) {\n crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\nconst limitShift$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n var _rawOffset$mainAxis, _rawOffset$crossAxis;\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset: offset2 = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset2, state);\n const computedOffset = typeof rawOffset === \"number\" ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,\n crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0\n };\n if (checkMainAxis) {\n const len = mainAxis === \"y\" ? \"height\" : \"width\";\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === \"y\" ? \"width\" : \"height\";\n const isOriginSide = originSides.has(getSide$1(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\nconst size$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"size\",\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform: platform2,\n elements\n } = state;\n const {\n apply = () => {\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform2.detectOverflow(state, detectOverflowOptions);\n const side = getSide$1(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === \"y\";\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === \"top\" || side === \"bottom\") {\n heightSide = side;\n widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n } else {\n widthSide = side;\n heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const shiftData = state.middlewareData.shift;\n const noShift = !shiftData;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (shiftData != null && shiftData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if (shiftData != null && shiftData.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n if (isYAxis) {\n availableWidth = width - 2 * max(overflow.left, overflow.right);\n } else {\n availableHeight = height - 2 * max(overflow.top, overflow.bottom);\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform2.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\nfunction hasWindow() {\n return typeof window !== \"undefined\";\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || \"\").toLowerCase();\n }\n return \"#document\";\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === \"undefined\") {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element2) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle$1(element2);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== \"inline\" && display !== \"contents\";\n}\nfunction isTableElement(element2) {\n return /^(table|td|th)$/.test(getNodeName(element2));\n}\nfunction isTopLayer(element2) {\n try {\n if (element2.matches(\":popover-open\")) {\n return true;\n }\n } catch (_e) {\n }\n try {\n return element2.matches(\":modal\");\n } catch (_e) {\n return false;\n }\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 const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || \"\") || containRe.test(css.contain || \"\");\n}\nfunction getContainingBlock(element2) {\n let currentNode = getParentNode(element2);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== \"undefined\" && CSS.supports && CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle$1(element2) {\n return getWindow(element2).getComputedStyle(element2);\n}\nfunction getNodeScroll(element2) {\n if (isElement(element2)) {\n return {\n scrollLeft: element2.scrollLeft,\n scrollTop: element2.scrollTop\n };\n }\n return {\n scrollLeft: element2.scrollX,\n scrollTop: element2.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = (\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot || // DOM Element detected.\n node.parentNode || // ShadowRoot detected.\n isShadowRoot(node) && node.host || // Fallback.\n getDocumentElement(node)\n );\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return (node.ownerDocument || node).body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, []));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\nfunction getCssDimensions(element2) {\n const css = getComputedStyle$1(element2);\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element2);\n const offsetWidth = hasOffset ? element2.offsetWidth : width;\n const offsetHeight = hasOffset ? element2.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\nfunction unwrapElement(element2) {\n return !isElement(element2) ? element2.contextElement : element2;\n}\nfunction getScale(element2) {\n const domElement = unwrapElement(element2);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\nconst noOffsets = /* @__PURE__ */ createCoords(0);\nfunction getVisualOffsets(element2) {\n const win = getWindow(element2);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element2, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element2);\n}\nfunction getBoundingClientRect(element2, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element2.getBoundingClientRect();\n const domElement = unwrapElement(element2);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element2);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement && offsetParent) {\n const win = getWindow(domElement);\n const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\nfunction getWindowScrollBarX(element2, rect) {\n const leftScroll = getNodeScroll(element2).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element2)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === \"fixed\";\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\nfunction getClientRects(element2) {\n return element2.getClientRects ? Array.from(element2.getClientRects()) : [];\n}\nfunction getDocumentRect(html) {\n const scroll = getNodeScroll(html);\n const body = html.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(html);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === \"rtl\") {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element2, strategy, rootBoundary) {\n if (rootBoundary === void 0) {\n rootBoundary = \"viewport\";\n }\n const isLayoutViewport = rootBoundary === \"layoutViewport\";\n const win = getWindow(element2);\n const html = getDocumentElement(element2);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n const layoutRelativeClientCoords = !isWebKit() || strategy === \"fixed\";\n if (isLayoutViewport) {\n if (!layoutRelativeClientCoords) {\n x = -visualViewport.offsetLeft;\n y = -visualViewport.offsetTop;\n }\n } else {\n width = visualViewport.width;\n height = visualViewport.height;\n if (layoutRelativeClientCoords) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === \"CSS1Compat\" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n const gutter = getComputedStyle(html).scrollbarGutter === \"stable both-edges\" ? reservedWidth / 2 : reservedWidth;\n if (gutter <= SCROLLBAR_MAX) {\n width -= gutter;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getInnerBoundingClientRect(element2, strategy) {\n const clientRect = getBoundingClientRect(element2, true, strategy === \"fixed\");\n const top = clientRect.top + element2.clientTop;\n const left = clientRect.left + element2.clientLeft;\n const scale = getScale(element2);\n const width = element2.clientWidth * scale.x;\n const height = element2.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element2, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === \"viewport\" || clippingAncestor === \"layoutViewport\") {\n rect = getViewportRect(element2, strategy, clippingAncestor);\n } else if (clippingAncestor === \"document\") {\n rect = getDocumentRect(getDocumentElement(element2));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element2);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction getClippingElementAncestors(element2, cache) {\n const cachedResult = cache.get(element2);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element2, []).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let lastKeptComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element2).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element2) : element2;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? \"fixed\" : \"\";\n const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === \"fixed\" || lastPosition === \"absolute\" && computedStyle.position === \"static\");\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n lastKeptComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element2, result);\n return result;\n}\nfunction getClippingRect(_ref) {\n let {\n element: element2,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element2) ? [] : getClippingElementAncestors(element2, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element2, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element2, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\nfunction getDimensions(element2) {\n const {\n width,\n height\n } = getCssDimensions(element2);\n return {\n width,\n height\n };\n}\nfunction getRectRelativeToOffsetParent(element2, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === \"fixed\";\n const rect = getBoundingClientRect(element2, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n if (!isOffsetParentAnElement && documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction isStaticPositioned(element2) {\n return getComputedStyle$1(element2).position === \"static\";\n}\nfunction getTrueOffsetParent(element2, polyfill) {\n if (!isHTMLElement(element2) || getComputedStyle$1(element2).position === \"fixed\") {\n return null;\n }\n if (polyfill) {\n return polyfill(element2);\n }\n let rawOffsetParent = element2.offsetParent;\n if (getDocumentElement(element2) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\nfunction getOffsetParent(element2, polyfill) {\n const win = getWindow(element2);\n if (isTopLayer(element2)) {\n return win;\n }\n if (!isHTMLElement(element2)) {\n let svgOffsetParent = getParentNode(element2);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element2, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element2) || win;\n}\nconst getElementRects = async function(data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\nfunction isRTL(element2) {\n return getComputedStyle$1(element2).direction === \"rtl\";\n}\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\nconst offset = offset$1;\nconst shift = shift$1;\nconst flip = flip$1;\nconst size = size$1;\nconst hide = hide$1;\nconst arrow = arrow$1;\nconst limitShift = limitShift$1;\nconst computePosition = (reference, floating, options) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = options != null ? options : {};\n const platformWithCache = {\n ...platform,\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\nfunction useFloating(options) {\n const openOption = derived(() => get(options.open) ?? true);\n const middlewareOption = derived(() => get(options.middleware));\n const transformOption = derived(() => get(options.transform) ?? true);\n const placementOption = derived(() => get(options.placement) ?? \"bottom\");\n const strategyOption = derived(() => get(options.strategy) ?? \"absolute\");\n const sideOffsetOption = derived(() => get(options.sideOffset) ?? 0);\n const alignOffsetOption = derived(() => get(options.alignOffset) ?? 0);\n const reference = options.reference;\n let x = 0;\n let y = 0;\n const floating = simpleBox(null);\n let strategy = strategyOption();\n let placement = placementOption();\n let middlewareData = {};\n let isPositioned = false;\n let updateRequestId = 0;\n const floatingStyles = derived(() => {\n const xVal = floating.current ? roundByDPR(floating.current, x) : x;\n const yVal = floating.current ? roundByDPR(floating.current, y) : y;\n if (transformOption()) {\n return {\n position: strategy,\n left: \"0\",\n top: \"0\",\n transform: `translate(${xVal}px, ${yVal}px)`,\n ...floating.current && getDPR(floating.current) >= 1.5 && { willChange: \"transform\" }\n };\n }\n return { position: strategy, left: `${xVal}px`, top: `${yVal}px` };\n });\n function update() {\n if (reference.current === null || floating.current === null) return;\n const referenceNode = reference.current;\n const floatingNode = floating.current;\n const requestId = ++updateRequestId;\n computePosition(referenceNode, floatingNode, {\n middleware: middlewareOption(),\n placement: placementOption(),\n strategy: strategyOption()\n }).then((position) => {\n if (requestId !== updateRequestId) return;\n if (reference.current !== referenceNode || floating.current !== floatingNode) return;\n const referenceHidden = isReferenceHidden(referenceNode);\n if (referenceHidden) {\n middlewareData = {\n ...middlewareData,\n hide: {\n // oxlint-disable-next-line no-explicit-any\n ...middlewareData.hide,\n referenceHidden: true\n }\n };\n return;\n }\n if (!openOption() && x !== 0 && y !== 0) {\n const maxExpectedOffset = Math.max(Math.abs(sideOffsetOption()), Math.abs(alignOffsetOption()), 15);\n if (position.x <= maxExpectedOffset && position.y <= maxExpectedOffset) return;\n }\n x = position.x;\n y = position.y;\n strategy = position.strategy;\n placement = position.placement;\n middlewareData = position.middlewareData;\n isPositioned = true;\n });\n }\n return {\n floating,\n reference,\n get strategy() {\n return strategy;\n },\n get placement() {\n return placement;\n },\n get middlewareData() {\n return middlewareData;\n },\n get isPositioned() {\n return isPositioned;\n },\n get floatingStyles() {\n return floatingStyles();\n },\n get update() {\n return update;\n }\n };\n}\nfunction isReferenceHidden(node) {\n if (!(node instanceof Element)) return false;\n if (!node.isConnected) return true;\n if (node instanceof HTMLElement && node.hidden) return true;\n return node.getClientRects().length === 0;\n}\nconst OPPOSITE_SIDE = { top: \"bottom\", right: \"left\", bottom: \"top\", left: \"right\" };\nconst FloatingContentContext = new Context(\"Floating.Content\");\nclass FloatingContentState {\n static create(opts, tooltip = false) {\n return tooltip ? FloatingContentContext.set(new FloatingContentState(opts, FloatingTooltipRootContext.get())) : FloatingContentContext.set(new FloatingContentState(opts, FloatingRootContext.get()));\n }\n opts;\n root;\n // nodes\n contentRef = simpleBox(null);\n wrapperRef = simpleBox(null);\n arrowRef = simpleBox(null);\n contentAttachment = attachRef(this.contentRef);\n wrapperAttachment = attachRef(this.wrapperRef);\n arrowAttachment = attachRef(this.arrowRef);\n // ids\n arrowId = simpleBox(useId());\n #transformedStyle = derived(() => {\n if (typeof this.opts.style === \"string\") return cssToStyleObj(this.opts.style);\n if (!this.opts.style) return {};\n });\n #updatePositionStrategy = void 0;\n #arrowSize = new ElementSize(() => this.arrowRef.current ?? void 0);\n #arrowWidth = derived(() => this.#arrowSize?.width ?? 0);\n #arrowHeight = derived(() => this.#arrowSize?.height ?? 0);\n #desiredPlacement = derived(() => this.opts.side?.current + (this.opts.align.current !== \"center\" ? `-${this.opts.align.current}` : \"\"));\n #boundary = derived(() => Array.isArray(this.opts.collisionBoundary.current) ? this.opts.collisionBoundary.current : [this.opts.collisionBoundary.current]);\n #hasExplicitBoundaries = derived(() => this.#boundary().length > 0);\n get hasExplicitBoundaries() {\n return this.#hasExplicitBoundaries();\n }\n set hasExplicitBoundaries($$value) {\n return this.#hasExplicitBoundaries($$value);\n }\n #detectOverflowOptions = derived(() => ({\n padding: this.opts.collisionPadding.current,\n boundary: this.#boundary().filter(isNotNull),\n altBoundary: this.hasExplicitBoundaries\n }));\n get detectOverflowOptions() {\n return this.#detectOverflowOptions();\n }\n set detectOverflowOptions($$value) {\n return this.#detectOverflowOptions($$value);\n }\n #availableWidth = void 0;\n #availableHeight = void 0;\n #anchorWidth = void 0;\n #anchorHeight = void 0;\n #middleware = derived(() => [\n offset({\n mainAxis: this.opts.sideOffset.current + this.#arrowHeight(),\n alignmentAxis: this.opts.alignOffset.current\n }),\n this.opts.avoidCollisions.current && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: this.opts.sticky.current === \"partial\" ? limitShift() : void 0,\n ...this.detectOverflowOptions\n }),\n this.opts.avoidCollisions.current && flip({ ...this.detectOverflowOptions }),\n size({\n ...this.detectOverflowOptions,\n apply: ({ rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n this.#availableWidth = availableWidth;\n this.#availableHeight = availableHeight;\n this.#anchorWidth = anchorWidth;\n this.#anchorHeight = anchorHeight;\n }\n }),\n this.arrowRef.current && arrow({\n element: this.arrowRef.current,\n padding: this.opts.arrowPadding.current\n }),\n transformOrigin({\n arrowWidth: this.#arrowWidth(),\n arrowHeight: this.#arrowHeight()\n }),\n this.opts.hideWhenDetached.current && hide({ strategy: \"referenceHidden\", ...this.detectOverflowOptions })\n ].filter(Boolean));\n get middleware() {\n return this.#middleware();\n }\n set middleware($$value) {\n return this.#middleware($$value);\n }\n floating;\n #placedSide = derived(() => getSideFromPlacement(this.floating.placement));\n get placedSide() {\n return this.#placedSide();\n }\n set placedSide($$value) {\n return this.#placedSide($$value);\n }\n #placedAlign = derived(() => getAlignFromPlacement(this.floating.placement));\n get placedAlign() {\n return this.#placedAlign();\n }\n set placedAlign($$value) {\n return this.#placedAlign($$value);\n }\n #arrowX = derived(() => this.floating.middlewareData.arrow?.x ?? 0);\n get arrowX() {\n return this.#arrowX();\n }\n set arrowX($$value) {\n return this.#arrowX($$value);\n }\n #arrowY = derived(() => this.floating.middlewareData.arrow?.y ?? 0);\n get arrowY() {\n return this.#arrowY();\n }\n set arrowY($$value) {\n return this.#arrowY($$value);\n }\n #cannotCenterArrow = derived(() => this.floating.middlewareData.arrow?.centerOffset !== 0);\n get cannotCenterArrow() {\n return this.#cannotCenterArrow();\n }\n set cannotCenterArrow($$value) {\n return this.#cannotCenterArrow($$value);\n }\n contentZIndex;\n #arrowBaseSide = derived(() => OPPOSITE_SIDE[this.placedSide]);\n get arrowBaseSide() {\n return this.#arrowBaseSide();\n }\n set arrowBaseSide($$value) {\n return this.#arrowBaseSide($$value);\n }\n #wrapperProps = derived(() => ({\n id: this.opts.wrapperId.current,\n \"data-bits-floating-content-wrapper\": \"\",\n style: {\n ...this.floating.floatingStyles,\n transform: this.floating.isPositioned ? this.floating.floatingStyles.transform : \"translate(0, -200%)\",\n minWidth: \"max-content\",\n zIndex: this.contentZIndex,\n \"--bits-floating-transform-origin\": `${this.floating.middlewareData.transformOrigin?.x} ${this.floating.middlewareData.transformOrigin?.y}`,\n \"--bits-floating-available-width\": `${this.#availableWidth}px`,\n \"--bits-floating-available-height\": `${this.#availableHeight}px`,\n \"--bits-floating-anchor-width\": `${this.#anchorWidth}px`,\n \"--bits-floating-anchor-height\": `${this.#anchorHeight}px`,\n ...this.floating.middlewareData.hide?.referenceHidden && { visibility: \"hidden\", \"pointer-events\": \"none\" },\n ...this.#transformedStyle()\n },\n dir: this.opts.dir.current,\n ...this.wrapperAttachment\n }));\n get wrapperProps() {\n return this.#wrapperProps();\n }\n set wrapperProps($$value) {\n return this.#wrapperProps($$value);\n }\n #props = derived(() => ({\n \"data-side\": this.placedSide,\n \"data-align\": this.placedAlign,\n style: styleToString({ ...this.#transformedStyle() }),\n ...this.contentAttachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n #arrowStyle = derived(() => ({\n position: \"absolute\",\n left: this.arrowX ? `${this.arrowX}px` : void 0,\n top: this.arrowY ? `${this.arrowY}px` : void 0,\n [this.arrowBaseSide]: 0,\n \"transform-origin\": { top: \"\", right: \"0 0\", bottom: \"center 0\", left: \"100% 0\" }[this.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: \"rotate(180deg)\",\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[this.placedSide],\n visibility: this.cannotCenterArrow ? \"hidden\" : void 0\n }));\n get arrowStyle() {\n return this.#arrowStyle();\n }\n set arrowStyle($$value) {\n return this.#arrowStyle($$value);\n }\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.#updatePositionStrategy = opts.updatePositionStrategy;\n if (opts.customAnchor) {\n this.root.customAnchorNode.current = opts.customAnchor.current;\n }\n watch(() => opts.customAnchor.current, (customAnchor) => {\n this.root.customAnchorNode.current = customAnchor;\n });\n this.floating = useFloating({\n strategy: () => this.opts.strategy.current,\n placement: () => this.#desiredPlacement(),\n middleware: () => this.middleware,\n reference: this.root.anchorNode,\n open: () => this.opts.enabled.current,\n sideOffset: () => this.opts.sideOffset.current,\n alignOffset: () => this.opts.alignOffset.current\n });\n watch(() => this.contentRef.current, (contentNode) => {\n if (!contentNode || !this.opts.enabled.current) return;\n const win = getWindow$1(contentNode);\n const rafId = win.requestAnimationFrame(() => {\n if (this.contentRef.current !== contentNode || !this.opts.enabled.current) return;\n const zIndex = win.getComputedStyle(contentNode).zIndex;\n if (zIndex !== this.contentZIndex) {\n this.contentZIndex = zIndex;\n }\n });\n return () => {\n win.cancelAnimationFrame(rafId);\n };\n });\n }\n}\nclass FloatingArrowState {\n static create(opts) {\n return new FloatingArrowState(opts, FloatingContentContext.get());\n }\n opts;\n content;\n constructor(opts, content) {\n this.opts = opts;\n this.content = content;\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n style: this.content.arrowStyle,\n \"data-side\": this.content.placedSide,\n ...this.content.arrowAttachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction transformOrigin(options) {\n return {\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n };\n}\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nfunction getSideFromPlacement(placement) {\n return getSideAndAlignFromPlacement(placement)[0];\n}\nfunction getAlignFromPlacement(placement) {\n return getSideAndAlignFromPlacement(placement)[1];\n}\nfunction Floating_layer_content($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n content,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n id,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding = 0,\n hideWhenDetached = false,\n onPlaced = () => {\n },\n sticky = \"partial\",\n updatePositionStrategy = \"optimized\",\n strategy = \"fixed\",\n dir = \"ltr\",\n style = {},\n wrapperId = useId(),\n customAnchor = null,\n enabled,\n tooltip = false\n } = $$props;\n const contentState = FloatingContentState.create(\n {\n side: boxWith(() => side),\n sideOffset: boxWith(() => sideOffset),\n align: boxWith(() => align),\n alignOffset: boxWith(() => alignOffset),\n id: boxWith(() => id),\n arrowPadding: boxWith(() => arrowPadding),\n avoidCollisions: boxWith(() => avoidCollisions),\n collisionBoundary: boxWith(() => collisionBoundary),\n collisionPadding: boxWith(() => collisionPadding),\n hideWhenDetached: boxWith(() => hideWhenDetached),\n onPlaced: boxWith(() => onPlaced),\n sticky: boxWith(() => sticky),\n updatePositionStrategy: boxWith(() => updatePositionStrategy),\n strategy: boxWith(() => strategy),\n dir: boxWith(() => dir),\n style: boxWith(() => style),\n enabled: boxWith(() => enabled),\n wrapperId: boxWith(() => wrapperId),\n customAnchor: boxWith(() => customAnchor)\n },\n tooltip\n );\n const mergedProps = derived(() => mergeProps(contentState.wrapperProps, { style: { pointerEvents: \"auto\" } }));\n content?.($$renderer2, { props: contentState.props, wrapperProps: mergedProps() });\n $$renderer2.push(`<!---->`);\n });\n}\nfunction Floating_layer_content_static($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { content } = $$props;\n content?.($$renderer2, { props: {}, wrapperProps: {} });\n $$renderer2.push(`<!---->`);\n });\n}\nfunction Popper_content($$renderer, $$props) {\n let {\n content,\n isStatic = false,\n onPlaced,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n if (isStatic) {\n $$renderer.push(\"<!--[0-->\");\n Floating_layer_content_static($$renderer, { content });\n } else {\n $$renderer.push(\"<!--[-1-->\");\n Floating_layer_content($$renderer, spread_props([{ content, onPlaced }, restProps]));\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction Popper_layer_inner($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n popper,\n onEscapeKeydown,\n escapeKeydownBehavior,\n preventOverflowTextSelection,\n id,\n onPointerDown,\n onPointerUp,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n avoidCollisions,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n updatePositionStrategy,\n strategy,\n dir,\n preventScroll,\n wrapperId,\n style,\n onPlaced,\n onInteractOutside,\n onCloseAutoFocus,\n onOpenAutoFocus,\n onFocusOutside,\n interactOutsideBehavior = \"close\",\n loop,\n trapFocus = true,\n isValidEvent: isValidEvent2 = () => false,\n customAnchor = null,\n isStatic = false,\n enabled,\n forceMount,\n ref,\n tooltip = false,\n contentPointerEvents = \"auto\",\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const resolvedPreventScroll = derived(() => preventScroll ?? true);\n const effectiveStrategy = derived(() => strategy ?? (resolvedPreventScroll() ? \"fixed\" : \"absolute\"));\n {\n let content = function($$renderer3, { props: floatingProps, wrapperProps }) {\n if (forceMount && enabled) {\n $$renderer3.push(\"<!--[0-->\");\n Scroll_lock($$renderer3, { preventScroll: resolvedPreventScroll() });\n } else if (!forceMount) {\n $$renderer3.push(\"<!--[1-->\");\n Scroll_lock($$renderer3, { preventScroll: resolvedPreventScroll() });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n {\n let focusScope = function($$renderer4, { props: focusScopeProps }) {\n Escape_layer($$renderer4, {\n onEscapeKeydown,\n escapeKeydownBehavior,\n enabled,\n ref,\n children: ($$renderer5) => {\n {\n let children = function($$renderer6, { props: dismissibleProps }) {\n Text_selection_layer($$renderer6, {\n id,\n preventOverflowTextSelection,\n onPointerDown,\n onPointerUp,\n enabled,\n ref,\n children: ($$renderer7) => {\n popper?.($$renderer7, {\n props: mergeProps(restProps, floatingProps, dismissibleProps, focusScopeProps, { id, style: { pointerEvents: contentPointerEvents } }),\n wrapperProps\n });\n $$renderer7.push(`<!---->`);\n }\n });\n };\n Dismissible_layer($$renderer5, {\n id,\n onInteractOutside,\n onFocusOutside,\n interactOutsideBehavior,\n isValidEvent: isValidEvent2,\n enabled,\n ref,\n children\n });\n }\n }\n });\n };\n Focus_scope($$renderer3, {\n onOpenAutoFocus,\n onCloseAutoFocus,\n loop,\n enabled,\n trapFocus,\n ref,\n focusScope\n });\n }\n $$renderer3.push(`<!---->`);\n };\n Popper_content($$renderer2, {\n isStatic,\n id,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n avoidCollisions,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n updatePositionStrategy,\n strategy: effectiveStrategy(),\n dir,\n wrapperId,\n style,\n onPlaced,\n customAnchor,\n enabled,\n tooltip,\n content,\n $$slots: { content: true }\n });\n }\n });\n}\nfunction Popper_layer($$renderer, $$props) {\n let {\n popper,\n open,\n onEscapeKeydown,\n escapeKeydownBehavior,\n preventOverflowTextSelection,\n id,\n onPointerDown,\n onPointerUp,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n avoidCollisions,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n updatePositionStrategy,\n strategy,\n dir,\n preventScroll,\n wrapperId,\n style,\n onPlaced,\n onInteractOutside,\n onCloseAutoFocus,\n onOpenAutoFocus,\n onFocusOutside,\n interactOutsideBehavior = \"close\",\n loop,\n trapFocus = true,\n isValidEvent: isValidEvent2 = () => false,\n customAnchor = null,\n isStatic = false,\n ref,\n shouldRender,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n if (shouldRender) {\n $$renderer.push(\"<!--[0-->\");\n Popper_layer_inner($$renderer, spread_props([\n {\n popper,\n onEscapeKeydown,\n escapeKeydownBehavior,\n preventOverflowTextSelection,\n id,\n onPointerDown,\n onPointerUp,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n avoidCollisions,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n updatePositionStrategy,\n strategy,\n dir,\n preventScroll,\n wrapperId,\n style,\n onPlaced,\n customAnchor,\n isStatic,\n enabled: open,\n onInteractOutside,\n onCloseAutoFocus,\n onOpenAutoFocus,\n interactOutsideBehavior,\n loop,\n trapFocus,\n isValidEvent: isValidEvent2,\n onFocusOutside,\n forceMount: false,\n ref\n },\n restProps\n ]));\n } else {\n $$renderer.push(\"<!--[-1-->\");\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction Popper_layer_force_mount($$renderer, $$props) {\n let {\n popper,\n onEscapeKeydown,\n escapeKeydownBehavior,\n preventOverflowTextSelection,\n id,\n onPointerDown,\n onPointerUp,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n avoidCollisions,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n updatePositionStrategy,\n strategy,\n dir,\n preventScroll,\n wrapperId,\n style,\n onPlaced,\n onInteractOutside,\n onCloseAutoFocus,\n onOpenAutoFocus,\n onFocusOutside,\n interactOutsideBehavior = \"close\",\n loop,\n trapFocus = true,\n isValidEvent: isValidEvent2 = () => false,\n customAnchor = null,\n isStatic = false,\n enabled,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n Popper_layer_inner($$renderer, spread_props([\n {\n popper,\n onEscapeKeydown,\n escapeKeydownBehavior,\n preventOverflowTextSelection,\n id,\n onPointerDown,\n onPointerUp,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n avoidCollisions,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n updatePositionStrategy,\n strategy,\n dir,\n preventScroll,\n wrapperId,\n style,\n onPlaced,\n customAnchor,\n isStatic,\n enabled,\n onInteractOutside,\n onCloseAutoFocus,\n onOpenAutoFocus,\n interactOutsideBehavior,\n loop,\n trapFocus,\n isValidEvent: isValidEvent2,\n onFocusOutside\n },\n restProps,\n { forceMount: true }\n ]));\n}\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] ?? [0, 0];\n const [xj, yj] = polygon[j] ?? [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInsideRect(point, rect) {\n return point[0] >= rect.left && point[0] <= rect.right && point[1] >= rect.top && point[1] <= rect.bottom;\n}\nfunction getSide(triggerRect, contentRect) {\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const triggerCenterY = triggerRect.top + triggerRect.height / 2;\n const contentCenterX = contentRect.left + contentRect.width / 2;\n const contentCenterY = contentRect.top + contentRect.height / 2;\n const deltaX = contentCenterX - triggerCenterX;\n const deltaY = contentCenterY - triggerCenterY;\n if (Math.abs(deltaX) > Math.abs(deltaY)) {\n return deltaX > 0 ? \"right\" : \"left\";\n }\n return deltaY > 0 ? \"bottom\" : \"top\";\n}\nclass SafePolygon {\n #opts;\n #buffer;\n #transitIntentTimeout;\n // tracks the cursor position when leaving trigger or content\n #exitPoint = null;\n // tracks what we're moving toward: \"content\" when leaving trigger, \"trigger\" when leaving content\n #exitTarget = null;\n #transitTargets = [];\n #trackedTriggerNode = null;\n #leaveFallbackRafId = null;\n #transitIntentTimeoutId = null;\n #cancelLeaveFallback() {\n if (this.#leaveFallbackRafId !== null) {\n cancelAnimationFrame(this.#leaveFallbackRafId);\n this.#leaveFallbackRafId = null;\n }\n }\n #scheduleLeaveFallback() {\n this.#cancelLeaveFallback();\n this.#leaveFallbackRafId = requestAnimationFrame(() => {\n this.#leaveFallbackRafId = null;\n if (!this.#exitPoint || !this.#exitTarget) return;\n this.#clearTracking();\n this.#opts.onPointerExit();\n });\n }\n #cancelTransitIntentTimeout() {\n if (this.#transitIntentTimeoutId !== null) {\n clearTimeout(this.#transitIntentTimeoutId);\n this.#transitIntentTimeoutId = null;\n }\n }\n #scheduleTransitIntentTimeout() {\n if (this.#transitIntentTimeout === null) return;\n this.#cancelTransitIntentTimeout();\n this.#transitIntentTimeoutId = window.setTimeout(\n () => {\n this.#transitIntentTimeoutId = null;\n if (!this.#exitPoint || !this.#exitTarget) return;\n this.#clearTracking();\n this.#opts.onPointerExit();\n },\n this.#transitIntentTimeout\n );\n }\n constructor(opts) {\n this.#opts = opts;\n this.#buffer = opts.buffer ?? 1;\n const transitIntentTimeout = opts.transitIntentTimeout;\n this.#transitIntentTimeout = typeof transitIntentTimeout === \"number\" && transitIntentTimeout > 0 ? transitIntentTimeout : null;\n watch([opts.triggerNode, opts.contentNode, opts.enabled], ([triggerNode, contentNode, enabled]) => {\n if (!triggerNode || !contentNode || !enabled) {\n this.#trackedTriggerNode = null;\n this.#clearTracking();\n return;\n }\n if (this.#trackedTriggerNode && this.#trackedTriggerNode !== triggerNode) {\n this.#clearTracking();\n }\n this.#trackedTriggerNode = triggerNode;\n const doc = getDocument(triggerNode);\n const handlePointerMove = (e) => {\n this.#onPointerMove([e.clientX, e.clientY], triggerNode, contentNode);\n };\n const handleTriggerLeave = (e) => {\n const target = e.relatedTarget;\n if (isElement$1(target) && contentNode.contains(target)) {\n return;\n }\n const ignoredTargets = this.#opts.ignoredTargets?.() ?? [];\n if (isElement$1(target) && ignoredTargets.some((n) => n === target || n.contains(target))) {\n return;\n }\n this.#transitTargets = isElement$1(target) && ignoredTargets.length > 0 ? ignoredTargets.filter((n) => target.contains(n)) : [];\n this.#exitPoint = [e.clientX, e.clientY];\n this.#exitTarget = \"content\";\n this.#scheduleLeaveFallback();\n };\n const handleTriggerEnter = () => {\n this.#clearTracking();\n };\n const handleContentEnter = () => {\n this.#clearTracking();\n };\n const handleContentLeave = (e) => {\n const target = e.relatedTarget;\n if (isElement$1(target) && triggerNode.contains(target)) {\n return;\n }\n this.#exitPoint = [e.clientX, e.clientY];\n this.#exitTarget = \"trigger\";\n this.#scheduleLeaveFallback();\n };\n return [\n on(doc, \"pointermove\", handlePointerMove),\n on(triggerNode, \"pointerleave\", handleTriggerLeave),\n on(triggerNode, \"pointerenter\", handleTriggerEnter),\n on(contentNode, \"pointerenter\", handleContentEnter),\n on(contentNode, \"pointerleave\", handleContentLeave)\n ].reduce(\n (acc, cleanup) => () => {\n acc();\n cleanup();\n },\n () => {\n }\n );\n });\n }\n #onPointerMove(clientPoint, triggerNode, contentNode) {\n if (!this.#exitPoint || !this.#exitTarget) return;\n this.#cancelLeaveFallback();\n this.#scheduleTransitIntentTimeout();\n const triggerRect = triggerNode.getBoundingClientRect();\n const contentRect = contentNode.getBoundingClientRect();\n if (this.#exitTarget === \"content\" && isInsideRect(clientPoint, contentRect)) {\n this.#clearTracking();\n return;\n }\n if (this.#exitTarget === \"trigger\" && isInsideRect(clientPoint, triggerRect)) {\n this.#clearTracking();\n return;\n }\n if (this.#exitTarget === \"content\" && this.#transitTargets.length > 0) {\n for (const transitTarget of this.#transitTargets) {\n const transitRect = transitTarget.getBoundingClientRect();\n if (isInsideRect(clientPoint, transitRect)) return;\n const transitSide = getSide(triggerRect, transitRect);\n const transitCorridor = this.#getCorridorPolygon(triggerRect, transitRect, transitSide);\n if (transitCorridor && isPointInPolygon(clientPoint, transitCorridor)) return;\n }\n }\n const side = getSide(triggerRect, contentRect);\n const corridorPoly = this.#getCorridorPolygon(triggerRect, contentRect, side);\n if (corridorPoly && isPointInPolygon(clientPoint, corridorPoly)) {\n return;\n }\n const targetRect = this.#exitTarget === \"content\" ? contentRect : triggerRect;\n const safePoly = this.#getSafePolygon(this.#exitPoint, targetRect, side, this.#exitTarget);\n if (isPointInPolygon(clientPoint, safePoly)) {\n return;\n }\n this.#clearTracking();\n this.#opts.onPointerExit();\n }\n #clearTracking() {\n this.#exitPoint = null;\n this.#exitTarget = null;\n this.#transitTargets = [];\n this.#cancelLeaveFallback();\n this.#cancelTransitIntentTimeout();\n }\n /**\n * Creates a rectangular corridor between trigger and content\n * This prevents closing when cursor is in the gap between them\n */\n #getCorridorPolygon(triggerRect, contentRect, side) {\n const buffer = this.#buffer;\n switch (side) {\n case \"top\":\n return [\n [\n Math.min(triggerRect.left, contentRect.left) - buffer,\n triggerRect.top\n ],\n [\n Math.min(triggerRect.left, contentRect.left) - buffer,\n contentRect.bottom\n ],\n [\n Math.max(triggerRect.right, contentRect.right) + buffer,\n contentRect.bottom\n ],\n [\n Math.max(triggerRect.right, contentRect.right) + buffer,\n triggerRect.top\n ]\n ];\n case \"bottom\":\n return [\n [\n Math.min(triggerRect.left, contentRect.left) - buffer,\n triggerRect.bottom\n ],\n [\n Math.min(triggerRect.left, contentRect.left) - buffer,\n contentRect.top\n ],\n [\n Math.max(triggerRect.right, contentRect.right) + buffer,\n contentRect.top\n ],\n [\n Math.max(triggerRect.right, contentRect.right) + buffer,\n triggerRect.bottom\n ]\n ];\n case \"left\":\n return [\n [\n triggerRect.left,\n Math.min(triggerRect.top, contentRect.top) - buffer\n ],\n [\n contentRect.right,\n Math.min(triggerRect.top, contentRect.top) - buffer\n ],\n [\n contentRect.right,\n Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n ],\n [\n triggerRect.left,\n Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n ]\n ];\n case \"right\":\n return [\n [\n triggerRect.right,\n Math.min(triggerRect.top, contentRect.top) - buffer\n ],\n [\n contentRect.left,\n Math.min(triggerRect.top, contentRect.top) - buffer\n ],\n [\n contentRect.left,\n Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n ],\n [\n triggerRect.right,\n Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n ]\n ];\n }\n }\n /**\n * Creates a triangular/trapezoidal safe zone from the exit point to the target\n */\n #getSafePolygon(exitPoint, targetRect, side, exitTarget) {\n const buffer = this.#buffer * 4;\n const [x, y] = exitPoint;\n const effectiveSide = exitTarget === \"trigger\" ? this.#flipSide(side) : side;\n switch (effectiveSide) {\n case \"top\":\n return [\n [x - buffer, y + buffer],\n [x + buffer, y + buffer],\n [targetRect.right + buffer, targetRect.bottom],\n [targetRect.right + buffer, targetRect.top],\n [targetRect.left - buffer, targetRect.top],\n [targetRect.left - buffer, targetRect.bottom]\n ];\n case \"bottom\":\n return [\n [x - buffer, y - buffer],\n [x + buffer, y - buffer],\n [targetRect.right + buffer, targetRect.top],\n [targetRect.right + buffer, targetRect.bottom],\n [targetRect.left - buffer, targetRect.bottom],\n [targetRect.left - buffer, targetRect.top]\n ];\n case \"left\":\n return [\n [x + buffer, y - buffer],\n [x + buffer, y + buffer],\n [targetRect.right, targetRect.bottom + buffer],\n [targetRect.left, targetRect.bottom + buffer],\n [targetRect.left, targetRect.top - buffer],\n [targetRect.right, targetRect.top - buffer]\n ];\n case \"right\":\n return [\n [x - buffer, y - buffer],\n [x - buffer, y + buffer],\n [targetRect.left, targetRect.bottom + buffer],\n [targetRect.right, targetRect.bottom + buffer],\n [targetRect.right, targetRect.top - buffer],\n [targetRect.left, targetRect.top - buffer]\n ];\n }\n }\n #flipSide(side) {\n switch (side) {\n case \"top\":\n return \"bottom\";\n case \"bottom\":\n return \"top\";\n case \"left\":\n return \"right\";\n case \"right\":\n return \"left\";\n }\n }\n}\nconst popoverAttrs = createBitsAttrs({\n component: \"popover\",\n parts: [\"root\", \"trigger\", \"content\", \"close\", \"overlay\"]\n});\nconst PopoverRootContext = new Context(\"Popover.Root\");\nclass PopoverRootState {\n static create(opts) {\n return PopoverRootContext.set(new PopoverRootState(opts));\n }\n opts;\n contentNode = null;\n contentPresence;\n triggerNode = null;\n overlayNode = null;\n overlayPresence;\n // hover tracking state\n openedViaHover = false;\n hasInteractedWithContent = false;\n hoverCooldown = false;\n closeDelay = 0;\n #closeTimeout = null;\n #domContext = null;\n constructor(opts) {\n this.opts = opts;\n this.contentPresence = new PresenceManager({\n ref: boxWith(() => this.contentNode),\n open: this.opts.open,\n onComplete: () => {\n this.opts.onOpenChangeComplete.current(this.opts.open.current);\n }\n });\n this.overlayPresence = new PresenceManager({ ref: boxWith(() => this.overlayNode), open: this.opts.open });\n watch(() => this.opts.open.current, (isOpen) => {\n if (!isOpen) {\n this.openedViaHover = false;\n this.hasInteractedWithContent = false;\n this.#clearCloseTimeout();\n }\n });\n }\n setDomContext(ctx) {\n this.#domContext = ctx;\n }\n #clearCloseTimeout() {\n if (this.#closeTimeout !== null && this.#domContext) {\n this.#domContext.clearTimeout(this.#closeTimeout);\n this.#closeTimeout = null;\n }\n }\n toggleOpen() {\n this.#clearCloseTimeout();\n this.opts.open.current = !this.opts.open.current;\n }\n handleClose() {\n this.#clearCloseTimeout();\n if (!this.opts.open.current) return;\n this.opts.open.current = false;\n }\n handleHoverOpen() {\n this.#clearCloseTimeout();\n if (this.opts.open.current) return;\n this.openedViaHover = true;\n this.opts.open.current = true;\n }\n handleHoverClose() {\n if (!this.opts.open.current) return;\n if (this.openedViaHover && !this.hasInteractedWithContent) {\n this.opts.open.current = false;\n }\n }\n handleDelayedHoverClose() {\n if (!this.opts.open.current) return;\n if (!this.openedViaHover || this.hasInteractedWithContent) return;\n this.#clearCloseTimeout();\n if (this.closeDelay <= 0) {\n this.opts.open.current = false;\n } else if (this.#domContext) {\n this.#closeTimeout = this.#domContext.setTimeout(\n () => {\n if (this.openedViaHover && !this.hasInteractedWithContent) {\n this.opts.open.current = false;\n }\n this.#closeTimeout = null;\n },\n this.closeDelay\n );\n }\n }\n cancelDelayedClose() {\n this.#clearCloseTimeout();\n }\n markInteraction() {\n this.hasInteractedWithContent = true;\n this.#clearCloseTimeout();\n }\n}\nclass PopoverTriggerState {\n static create(opts) {\n return new PopoverTriggerState(opts, PopoverRootContext.get());\n }\n opts;\n root;\n attachment;\n domContext;\n #openTimeout = null;\n #closeTimeout = null;\n #isHovering = false;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => this.root.triggerNode = v);\n this.domContext = new DOMContext(opts.ref);\n this.root.setDomContext(this.domContext);\n this.onclick = this.onclick.bind(this);\n this.onkeydown = this.onkeydown.bind(this);\n this.onpointerenter = this.onpointerenter.bind(this);\n this.onpointerleave = this.onpointerleave.bind(this);\n watch(() => this.opts.closeDelay.current, (delay) => {\n this.root.closeDelay = delay;\n });\n }\n #clearOpenTimeout() {\n if (this.#openTimeout !== null) {\n this.domContext.clearTimeout(this.#openTimeout);\n this.#openTimeout = null;\n }\n }\n #clearCloseTimeout() {\n if (this.#closeTimeout !== null) {\n this.domContext.clearTimeout(this.#closeTimeout);\n this.#closeTimeout = null;\n }\n }\n #clearAllTimeouts() {\n this.#clearOpenTimeout();\n this.#clearCloseTimeout();\n }\n onpointerenter(e) {\n if (this.opts.disabled.current) return;\n if (!this.opts.openOnHover.current) return;\n if (isTouch(e)) return;\n this.#isHovering = true;\n this.#clearCloseTimeout();\n this.root.cancelDelayedClose();\n if (this.root.opts.open.current || this.root.hoverCooldown) return;\n const delay = this.opts.openDelay.current;\n if (delay <= 0) {\n this.root.handleHoverOpen();\n } else {\n this.#openTimeout = this.domContext.setTimeout(\n () => {\n this.root.handleHoverOpen();\n this.#openTimeout = null;\n },\n delay\n );\n }\n }\n onpointerleave(e) {\n if (this.opts.disabled.current) return;\n if (!this.opts.openOnHover.current) return;\n if (isTouch(e)) return;\n this.#isHovering = false;\n this.#clearOpenTimeout();\n this.root.hoverCooldown = false;\n }\n onclick(e) {\n if (this.opts.disabled.current) return;\n if (e.button !== 0) return;\n this.#clearAllTimeouts();\n if (this.#isHovering && this.root.opts.open.current && this.root.openedViaHover) {\n this.root.openedViaHover = false;\n this.root.hasInteractedWithContent = true;\n return;\n }\n if (this.#isHovering && this.opts.openOnHover.current && this.root.opts.open.current) {\n this.root.hoverCooldown = true;\n }\n if (this.root.hoverCooldown && !this.root.opts.open.current) {\n this.root.hoverCooldown = false;\n }\n this.root.toggleOpen();\n }\n onkeydown(e) {\n if (this.opts.disabled.current) return;\n if (!(e.key === ENTER || e.key === SPACE)) return;\n e.preventDefault();\n this.#clearAllTimeouts();\n this.root.toggleOpen();\n }\n #getAriaControls() {\n if (this.root.opts.open.current && this.root.contentNode?.id) {\n return this.root.contentNode?.id;\n }\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": boolToStr(this.root.opts.open.current),\n \"data-state\": getDataOpenClosed(this.root.opts.open.current),\n \"aria-controls\": this.#getAriaControls(),\n [popoverAttrs.trigger]: \"\",\n disabled: this.opts.disabled.current,\n //\n onkeydown: this.onkeydown,\n onclick: this.onclick,\n onpointerenter: this.onpointerenter,\n onpointerleave: this.onpointerleave,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass PopoverContentState {\n static create(opts) {\n return new PopoverContentState(opts, PopoverRootContext.get());\n }\n opts;\n root;\n attachment;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref, (v) => this.root.contentNode = v);\n this.onpointerdown = this.onpointerdown.bind(this);\n this.onfocusin = this.onfocusin.bind(this);\n this.onpointerenter = this.onpointerenter.bind(this);\n this.onpointerleave = this.onpointerleave.bind(this);\n new SafePolygon({\n triggerNode: () => this.root.triggerNode,\n contentNode: () => this.root.contentNode,\n enabled: () => this.root.opts.open.current && this.root.openedViaHover && !this.root.hasInteractedWithContent,\n onPointerExit: () => {\n this.root.handleDelayedHoverClose();\n }\n });\n }\n onpointerdown(_) {\n this.root.markInteraction();\n }\n onfocusin(e) {\n const target = e.target;\n if (isElement$1(target) && isTabbable(target)) {\n this.root.markInteraction();\n }\n }\n onpointerenter(e) {\n if (isTouch(e)) return;\n this.root.cancelDelayedClose();\n }\n onpointerleave(e) {\n if (isTouch(e)) return;\n }\n onInteractOutside = (e) => {\n this.opts.onInteractOutside.current(e);\n if (e.defaultPrevented) return;\n if (!isElement$1(e.target)) return;\n const closestTrigger = e.target.closest(popoverAttrs.selector(\"trigger\"));\n if (closestTrigger && closestTrigger === this.root.triggerNode) return;\n if (this.opts.customAnchor.current) {\n if (isElement$1(this.opts.customAnchor.current)) {\n if (this.opts.customAnchor.current.contains(e.target)) return;\n } else if (typeof this.opts.customAnchor.current === \"string\") {\n const el = document.querySelector(this.opts.customAnchor.current);\n if (el && el.contains(e.target)) return;\n }\n }\n this.root.handleClose();\n };\n onEscapeKeydown = (e) => {\n this.opts.onEscapeKeydown.current(e);\n if (e.defaultPrevented) return;\n this.root.handleClose();\n };\n get shouldRender() {\n return this.root.contentPresence.shouldRender;\n }\n get shouldTrapFocus() {\n if (this.root.openedViaHover && !this.root.hasInteractedWithContent) return false;\n return true;\n }\n #snippetProps = derived(() => ({ open: this.root.opts.open.current }));\n get snippetProps() {\n return this.#snippetProps();\n }\n set snippetProps($$value) {\n return this.#snippetProps($$value);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n tabindex: -1,\n \"data-state\": getDataOpenClosed(this.root.opts.open.current),\n ...getDataTransitionAttrs(this.root.contentPresence.transitionStatus),\n [popoverAttrs.content]: \"\",\n style: { pointerEvents: \"auto\", contain: \"layout style\" },\n onpointerdown: this.onpointerdown,\n onfocusin: this.onfocusin,\n onpointerenter: this.onpointerenter,\n onpointerleave: this.onpointerleave,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n popperProps = {\n onInteractOutside: this.onInteractOutside,\n onEscapeKeydown: this.onEscapeKeydown\n };\n}\nfunction Popover_content$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n child,\n children,\n ref = null,\n id = createId(uid),\n forceMount = false,\n onOpenAutoFocus = noop,\n onCloseAutoFocus = noop,\n onEscapeKeydown = noop,\n onInteractOutside = noop,\n trapFocus = true,\n preventScroll = false,\n customAnchor = null,\n style,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const contentState = PopoverContentState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n onInteractOutside: boxWith(() => onInteractOutside),\n onEscapeKeydown: boxWith(() => onEscapeKeydown),\n customAnchor: boxWith(() => customAnchor)\n });\n const mergedProps = derived(() => mergeProps(restProps, contentState.props));\n const effectiveTrapFocus = derived(() => trapFocus && contentState.shouldTrapFocus);\n function handleOpenAutoFocus(e) {\n if (!contentState.shouldTrapFocus) {\n e.preventDefault();\n }\n onOpenAutoFocus(e);\n }\n if (forceMount) {\n $$renderer2.push(\"<!--[0-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"popover\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(`<!--[-1--><div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer_force_mount($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n ref: contentState.opts.ref,\n enabled: contentState.root.opts.open.current,\n id,\n trapFocus: effectiveTrapFocus(),\n preventScroll,\n loop: true,\n forceMount: true,\n customAnchor,\n onOpenAutoFocus: handleOpenAutoFocus,\n onCloseAutoFocus,\n shouldRender: contentState.shouldRender,\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else if (!forceMount) {\n $$renderer2.push(\"<!--[1-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"popover\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(`<!--[-1--><div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n ref: contentState.opts.ref,\n open: contentState.root.opts.open.current,\n id,\n trapFocus: effectiveTrapFocus(),\n preventScroll,\n loop: true,\n forceMount: false,\n customAnchor,\n onOpenAutoFocus: handleOpenAutoFocus,\n onCloseAutoFocus,\n shouldRender: contentState.shouldRender,\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Popover_trigger$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n id = createId(uid),\n ref = null,\n type = \"button\",\n disabled = false,\n openOnHover = false,\n openDelay = 700,\n closeDelay = 300,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const triggerState = PopoverTriggerState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n disabled: boxWith(() => Boolean(disabled)),\n openOnHover: boxWith(() => openOnHover),\n openDelay: boxWith(() => openDelay),\n closeDelay: boxWith(() => closeDelay)\n });\n const mergedProps = derived(() => mergeProps(restProps, triggerState.props, { type }));\n Floating_layer_anchor($$renderer2, {\n id,\n ref: triggerState.opts.ref,\n children: ($$renderer3) => {\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, { props: mergedProps() });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(`<!--[-1--><button${attributes({ ...mergedProps() })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></button>`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n bind_props($$props, { ref });\n });\n}\nfunction Dialog$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n open = false,\n onOpenChange = noop,\n onOpenChangeComplete = noop,\n children\n } = $$props;\n DialogRootState.create({\n variant: boxWith(() => \"dialog\"),\n open: boxWith(() => open, (v) => {\n open = v;\n onOpenChange(v);\n }),\n onOpenChangeComplete: boxWith(() => onOpenChangeComplete)\n });\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n bind_props($$props, { open });\n });\n}\nfunction Dialog_close($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n children,\n child,\n id = createId(uid),\n ref = null,\n disabled = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const closeState = DialogCloseState.create({\n variant: boxWith(() => \"close\"),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n disabled: boxWith(() => Boolean(disabled))\n });\n const mergedProps = derived(() => mergeProps(restProps, closeState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><button${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog_content$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n children,\n child,\n ref = null,\n forceMount = false,\n onCloseAutoFocus = noop,\n onOpenAutoFocus = noop,\n onEscapeKeydown = noop,\n onInteractOutside = noop,\n trapFocus = true,\n preventScroll = true,\n preventOverflowTextSelection = true,\n restoreScrollDelay = null,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const contentState = DialogContentState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, contentState.props));\n if (contentState.shouldRender || forceMount) {\n $$renderer2.push(\"<!--[0-->\");\n {\n let focusScope = function($$renderer3, { props: focusScopeProps }) {\n Escape_layer($$renderer3, spread_props([\n mergedProps(),\n {\n enabled: contentState.root.opts.open.current,\n ref: contentState.opts.ref,\n onEscapeKeydown: (e) => {\n onEscapeKeydown(e);\n if (e.defaultPrevented) return;\n contentState.root.handleClose();\n },\n children: ($$renderer4) => {\n Dismissible_layer($$renderer4, spread_props([\n mergedProps(),\n {\n ref: contentState.opts.ref,\n enabled: contentState.root.opts.open.current,\n onInteractOutside: (e) => {\n onInteractOutside(e);\n if (e.defaultPrevented) return;\n contentState.root.handleClose();\n },\n children: ($$renderer5) => {\n Text_selection_layer($$renderer5, spread_props([\n mergedProps(),\n {\n preventOverflowTextSelection,\n ref: contentState.opts.ref,\n enabled: contentState.root.opts.open.current,\n children: ($$renderer6) => {\n if (child) {\n $$renderer6.push(\"<!--[0-->\");\n if (contentState.root.opts.open.current) {\n $$renderer6.push(\"<!--[0-->\");\n Scroll_lock($$renderer6, { preventScroll, restoreScrollDelay });\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n }\n $$renderer6.push(`<!--]--> `);\n child($$renderer6, {\n props: mergeProps(mergedProps(), focusScopeProps),\n ...contentState.snippetProps\n });\n $$renderer6.push(`<!---->`);\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n Scroll_lock($$renderer6, { preventScroll });\n $$renderer6.push(`<!----> <div${attributes({ ...mergeProps(mergedProps(), focusScopeProps) })}>`);\n children?.($$renderer6);\n $$renderer6.push(`<!----></div>`);\n }\n $$renderer6.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n },\n $$slots: { default: true }\n }\n ]));\n },\n $$slots: { default: true }\n }\n ]));\n };\n Focus_scope($$renderer2, {\n ref: contentState.opts.ref,\n loop: true,\n trapFocus,\n enabled: contentState.root.opts.open.current,\n onOpenAutoFocus,\n onCloseAutoFocus,\n focusScope\n });\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Popover$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n open = false,\n onOpenChange = noop,\n onOpenChangeComplete = noop,\n children\n } = $$props;\n PopoverRootState.create({\n open: boxWith(() => open, (v) => {\n open = v;\n onOpenChange(v);\n }),\n onOpenChangeComplete: boxWith(() => onOpenChangeComplete)\n });\n Floating_layer($$renderer2, {\n children: ($$renderer3) => {\n children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n }\n });\n bind_props($$props, { open });\n });\n}\nconst defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\nfunction Icon($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const {\n name,\n color = \"currentColor\",\n size: size2 = 24,\n strokeWidth = 2,\n absoluteStrokeWidth = false,\n iconNode = [],\n children,\n $$slots,\n $$events,\n ...props\n } = $$props;\n $$renderer2.push(`<svg${attributes(\n {\n ...defaultAttributes,\n ...props,\n width: size2,\n height: size2,\n stroke: color,\n \"stroke-width\": absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size2) : strokeWidth,\n class: clsx([\"lucide-icon lucide\", name && `lucide-${name}`, props.class])\n },\n void 0,\n void 0,\n void 0,\n 3\n )}><!--[-->`);\n const each_array = ensure_array_like(iconNode);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let [tag, attrs] = each_array[$$index];\n element($$renderer2, tag, () => {\n $$renderer2.push(`${attributes({ ...attrs }, void 0, void 0, void 0, 3)}`);\n });\n }\n $$renderer2.push(`<!--]-->`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></svg>`);\n });\n}\nconst POLL_INTERVAL_MS = 5e3;\nfunction panesEqual(a, b) {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n const x = a[i];\n const y = b[i];\n if (x.target !== y.target || x.command !== y.command || x.cwd !== y.cwd || x.session !== y.session) {\n return false;\n }\n }\n return true;\n}\nclass TmuxPanesStore {\n panes = [];\n loaded = false;\n interval = null;\n subscribers = 0;\n pending = false;\n fetchPanes = async () => {\n if (this.pending) return;\n this.pending = true;\n try {\n const res = await fetch(\"/api/tmux/panes\");\n const next = await res.json();\n if (!panesEqual(this.panes, next)) this.panes = next;\n this.loaded = true;\n } catch {\n } finally {\n this.pending = false;\n }\n };\n start() {\n if (this.interval == null) this.interval = setInterval(this.fetchPanes, POLL_INTERVAL_MS);\n }\n stop() {\n if (this.interval != null) {\n clearInterval(this.interval);\n this.interval = null;\n }\n }\n onVis = () => {\n if (document.hidden) this.stop();\n else {\n this.fetchPanes();\n this.start();\n }\n };\n subscribe() {\n return () => {\n };\n }\n}\nconst tmuxPanesStore = new TmuxPanesStore();\nconst NONE = [];\nfunction release(chip) {\n chip.abort?.abort();\n if (chip.thumb) URL.revokeObjectURL(chip.thumb);\n}\nclass AttachmentsStore {\n state = {};\n get(target) {\n if (!target) return NONE;\n return this.state[target] ?? NONE;\n }\n count(target) {\n return this.get(target).length;\n }\n add(target, chip) {\n if (!target) return;\n this.state[target] = [...this.get(target), chip];\n }\n /** Patch a chip in its own target's list; a no-op once it has been removed. */\n patch(target, localId, changes) {\n const list = this.state[target];\n if (!list?.some((a) => a.localId === localId)) return;\n this.state[target] = list.map((a) => a.localId === localId ? { ...a, ...changes } : a);\n }\n /** Drop one chip, aborting its upload and revoking its blob URL. */\n remove(target, localId) {\n const list = target ? this.state[target] : void 0;\n const chip = list?.find((a) => a.localId === localId);\n if (!target || !list || !chip) return void 0;\n release(chip);\n const rest = list.filter((a) => a.localId !== localId);\n if (rest.length) this.state[target] = rest;\n else delete this.state[target];\n return chip;\n }\n clear(target) {\n const list = target ? this.state[target] : void 0;\n if (!target || !list) return;\n list.forEach(release);\n delete this.state[target];\n }\n}\nconst attachmentsStore = new AttachmentsStore();\nfunction Alert_dialog($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open = false, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Alert_dialog$1) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog$1($$renderer3, spread_props([\n restProps,\n {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { open });\n });\n}\nfunction Alert_dialog_portal($$renderer, $$props) {\n let { $$slots, $$events, ...restProps } = $$props;\n if (Portal) {\n $$renderer.push(\"<!--[-->\");\n Portal($$renderer, spread_props([restProps]));\n $$renderer.push(\"<!--]-->\");\n } else {\n $$renderer.push(\"<!--[!-->\");\n $$renderer.push(\"<!--]-->\");\n }\n}\nfunction Alert_dialog_title($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog_title$1) {\n $$renderer3.push(\"<!--[-->\");\n Dialog_title$1($$renderer3, spread_props([\n {\n \"data-slot\": \"alert-dialog-title\",\n class: cn(\"text-lg font-semibold\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_action($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Alert_dialog_action$1) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog_action$1($$renderer3, spread_props([\n {\n \"data-slot\": \"alert-dialog-action\",\n class: cn(buttonVariants(), className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_cancel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Alert_dialog_cancel$1) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog_cancel$1($$renderer3, spread_props([\n {\n \"data-slot\": \"alert-dialog-cancel\",\n class: cn(buttonVariants({ variant: \"outline\" }), className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_footer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n $$renderer2.push(`<div${attributes({\n \"data-slot\": \"alert-dialog-footer\",\n class: clsx(cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)),\n ...restProps\n })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_header($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n $$renderer2.push(`<div${attributes({\n \"data-slot\": \"alert-dialog-header\",\n class: clsx(cn(\"flex flex-col gap-2 text-center sm:text-start\", className)),\n ...restProps\n })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_overlay($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog_overlay$1) {\n $$renderer3.push(\"<!--[-->\");\n Dialog_overlay$1($$renderer3, spread_props([\n {\n \"data-slot\": \"alert-dialog-overlay\",\n class: cn(\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_content($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n portalProps,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Alert_dialog_portal($$renderer3, spread_props([\n portalProps,\n {\n children: ($$renderer4) => {\n Alert_dialog_overlay($$renderer4, {});\n $$renderer4.push(`<!----> `);\n if (Alert_dialog_content$1) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_content$1($$renderer4, spread_props([\n {\n \"data-slot\": \"alert-dialog-content\",\n class: cn(\"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-(--z-modal) grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Alert_dialog_description($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog_description$1) {\n $$renderer3.push(\"<!--[-->\");\n Dialog_description$1($$renderer3, spread_props([\n {\n \"data-slot\": \"alert-dialog-description\",\n class: cn(\"text-muted-foreground text-sm\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open = false, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog$1) {\n $$renderer3.push(\"<!--[-->\");\n Dialog$1($$renderer3, spread_props([\n restProps,\n {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { open });\n });\n}\nfunction Dialog_portal($$renderer, $$props) {\n let { $$slots, $$events, ...restProps } = $$props;\n if (Portal) {\n $$renderer.push(\"<!--[-->\");\n Portal($$renderer, spread_props([restProps]));\n $$renderer.push(\"<!--]-->\");\n } else {\n $$renderer.push(\"<!--[!-->\");\n $$renderer.push(\"<!--]-->\");\n }\n}\nfunction Dialog_title($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog_title$1) {\n $$renderer3.push(\"<!--[-->\");\n Dialog_title$1($$renderer3, spread_props([\n {\n \"data-slot\": \"dialog-title\",\n class: cn(\"text-lg leading-none font-semibold\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog_footer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n $$renderer2.push(`<div${attributes({\n \"data-slot\": \"dialog-footer\",\n class: clsx(cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)),\n ...restProps\n })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog_header($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n $$renderer2.push(`<div${attributes({\n \"data-slot\": \"dialog-header\",\n class: clsx(cn(\"flex flex-col gap-2 text-center sm:text-start\", className)),\n ...restProps\n })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog_overlay($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog_overlay$1) {\n $$renderer3.push(\"<!--[-->\");\n Dialog_overlay$1($$renderer3, spread_props([\n {\n \"data-slot\": \"dialog-overlay\",\n class: cn(\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-(--z-modal) bg-black/50\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction X($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M18 6 6 18\" }],\n [\"path\", { \"d\": \"m6 6 12 12\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"x\" },\n /**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNiA2IDE4IiAvPgogIDxwYXRoIGQ9Im02IDYgMTIgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Dialog_content($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n portalProps,\n children,\n showCloseButton = true,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Dialog_portal($$renderer3, spread_props([\n portalProps,\n {\n children: ($$renderer4) => {\n if (Dialog_overlay) {\n $$renderer4.push(\"<!--[-->\");\n Dialog_overlay($$renderer4, {});\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Dialog_content$1) {\n $$renderer4.push(\"<!--[-->\");\n Dialog_content$1($$renderer4, spread_props([\n {\n \"data-slot\": \"dialog-content\",\n class: cn(\"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-(--z-modal) grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer5) => {\n children?.($$renderer5);\n $$renderer5.push(`<!----> `);\n if (showCloseButton) {\n $$renderer5.push(\"<!--[0-->\");\n if (Dialog_close) {\n $$renderer5.push(\"<!--[-->\");\n Dialog_close($$renderer5, {\n class: \"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n children: ($$renderer6) => {\n X($$renderer6, {});\n $$renderer6.push(`<!----> <span class=\"sr-only\">Close</span>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Dialog_description($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog_description$1) {\n $$renderer3.push(\"<!--[-->\");\n Dialog_description$1($$renderer3, spread_props([\n {\n \"data-slot\": \"dialog-description\",\n class: cn(\"text-muted-foreground text-sm\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Popover($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open = false, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Popover$1) {\n $$renderer3.push(\"<!--[-->\");\n Popover$1($$renderer3, spread_props([\n restProps,\n {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { open });\n });\n}\nfunction Popover_portal($$renderer, $$props) {\n let { $$slots, $$events, ...restProps } = $$props;\n if (Portal) {\n $$renderer.push(\"<!--[-->\");\n Portal($$renderer, spread_props([restProps]));\n $$renderer.push(\"<!--]-->\");\n } else {\n $$renderer.push(\"<!--[!-->\");\n $$renderer.push(\"<!--]-->\");\n }\n}\nfunction Popover_content($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n sideOffset = 4,\n align = \"center\",\n portalProps,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Popover_portal($$renderer3, spread_props([\n portalProps,\n {\n children: ($$renderer4) => {\n if (Popover_content$1) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content$1($$renderer4, spread_props([\n {\n \"data-slot\": \"popover-content\",\n sideOffset,\n align,\n class: cn(\"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-(--z-floating) w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Popover_trigger($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Popover_trigger$1) {\n $$renderer3.push(\"<!--[-->\");\n Popover_trigger$1($$renderer3, spread_props([\n { \"data-slot\": \"popover-trigger\", class: cn(\"\", className) },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction RenameSessionDialog($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { sessionId, onClose } = $$props;\n const session = derived(() => sessionId ? sessionStore.sessionById.get(sessionId) ?? null : null);\n let value = \"\";\n let inputEl = null;\n let killArmed = false;\n let positionStyle = void 0;\n async function commit() {\n const target = session();\n const next = value.trim();\n onClose();\n if (!target || next === (target.display_name ?? \"\")) return;\n try {\n await fetch(`/api/sessions/${encodeURIComponent(target.id)}/rename`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ name: next || null })\n });\n } catch {\n }\n }\n async function kill() {\n const target = session();\n if (!target) return;\n if (!killArmed) {\n killArmed = true;\n return;\n }\n onClose();\n try {\n await fetch(`/api/sessions/${encodeURIComponent(target.id)}/kill`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ pid: target.pid, tmux_target: target.tmux_target })\n });\n } catch {\n }\n }\n function onKeydown(e) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n void commit();\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog) {\n $$renderer3.push(\"<!--[-->\");\n Dialog($$renderer3, {\n open: session() !== null,\n onOpenChange: (open) => {\n if (!open) onClose();\n },\n children: ($$renderer4) => {\n if (Dialog_content) {\n $$renderer4.push(\"<!--[-->\");\n Dialog_content($$renderer4, {\n class: \"max-w-sm\",\n style: positionStyle,\n onOpenAutoFocus: (e) => {\n e.preventDefault();\n inputEl?.focus();\n inputEl?.select();\n },\n children: ($$renderer5) => {\n if (Dialog_header) {\n $$renderer5.push(\"<!--[-->\");\n Dialog_header($$renderer5, {\n children: ($$renderer6) => {\n if (Dialog_title) {\n $$renderer6.push(\"<!--[-->\");\n Dialog_title($$renderer6, {\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->Rename session`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n $$renderer6.push(` `);\n if (Dialog_description) {\n $$renderer6.push(\"<!--[-->\");\n Dialog_description($$renderer6, {\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->Also sent to the agent as <code>/rename</code>, once its pane is back at a prompt. Leave\n\t\t\t\tblank to fall back to the tmux target.`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n Input($$renderer5, {\n onkeydown: onKeydown,\n class: \"font-mono\",\n type: \"text\",\n placeholder: session()?.tmux_target ?? session()?.id ?? \"session name\",\n \"aria-label\": \"Session name\",\n autocomplete: \"off\",\n autocapitalize: \"off\",\n spellcheck: \"false\",\n enterkeyhint: \"done\",\n maxlength: 120,\n get ref() {\n return inputEl;\n },\n set ref($$value) {\n inputEl = $$value;\n $$settled = false;\n },\n get value() {\n return value;\n },\n set value($$value) {\n value = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n if (Dialog_footer) {\n $$renderer5.push(\"<!--[-->\");\n Dialog_footer($$renderer5, {\n children: ($$renderer6) => {\n Button($$renderer6, {\n variant: \"ghost\",\n class: \"min-h-11 text-destructive hover:text-destructive sm:mr-auto\",\n onclick: kill,\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->${escape_html(killArmed ? \"Confirm kill\" : \"Kill session\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(`<!----> `);\n Button($$renderer6, {\n variant: \"ghost\",\n class: \"min-h-11\",\n onclick: onClose,\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(`<!----> `);\n Button($$renderer6, {\n class: \"min-h-11\",\n onclick: commit,\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->Rename`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nclass UsageStore {\n summary = null;\n quota = null;\n subscribers = 0;\n timer = null;\n zone = hostTimeZone();\n dayOf = makeDayFormatter(hostTimeZone());\n /**\n * Today's spend, looked up by the host's own day boundary — the last row of\n * `days` is only today if today has spend on it.\n */\n get today() {\n if (!this.summary) return null;\n const key = this.dayOf(Date.now());\n return this.summary.days.find((d) => d.date === key)?.costUsd ?? 0;\n }\n /** Returns the matching stop, for an effect's cleanup. */\n subscribe() {\n return () => {\n };\n }\n async load() {\n await Promise.all([this.loadSummary(), this.loadQuota()]);\n }\n async loadSummary() {\n try {\n const res = await fetch(`/api/usage?days=30&tz=${encodeURIComponent(this.zone)}`);\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n this.summary = await res.json();\n } catch {\n }\n }\n async loadQuota() {\n try {\n const res = await fetch(\"/api/usage/quota\");\n if (res.ok) this.quota = await res.json();\n } catch {\n }\n }\n}\nconst usageStore = new UsageStore();\nconst SEVERITY = {\n normal: { color: \"#0ca30c\", icon: \"mdi:check-circle-outline\", word: \"ok\" },\n warning: { color: \"#fab219\", icon: \"mdi:alert-outline\", word: \"high\" },\n critical: { color: \"#d03b3b\", icon: \"mdi:alert-octagon-outline\", word: \"at limit\" }\n};\nconst THRESHOLDS = {\n panel: { warning: 70, critical: 90 },\n edge: { warning: 80, critical: 95 }\n};\nfunction severityForPercent(percent, scale = \"panel\") {\n const { warning, critical } = THRESHOLDS[scale];\n if (percent >= critical) return \"critical\";\n if (percent >= warning) return \"warning\";\n return \"normal\";\n}\nfunction edgeColor(percent) {\n const severity = severityForPercent(percent, \"edge\");\n return severity === \"normal\" ? \"#78716c\" : SEVERITY[severity].color;\n}\nfunction ResizeDivider($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n resizing = false,\n title,\n onmove,\n onend,\n onreset\n /** The pointer moved during a drag. */\n /** The drag ended. */\n /** Double-click: back to the default size. */\n } = $$props;\n $$renderer2.push(`<div${attr_class(\"divider svelte-usglgd\", void 0, { \"resizing\": resizing })} role=\"separator\" aria-orientation=\"vertical\"${attr(\"title\", title)}></div>`);\n bind_props($$props, { resizing });\n });\n}\nexport {\n Alert_dialog_footer as $,\n ARROW_UP as A,\n Portal as B,\n Context as C,\n DOMContext as D,\n END as E,\n Floating_layer as F,\n createSubscriber as G,\n HOME as H,\n Icon as I,\n Popover as J,\n Popover_trigger as K,\n Popover_content as L,\n Dialog as M,\n Dialog_content as N,\n Dialog_title as O,\n PAGE_UP as P,\n Dialog_description as Q,\n goto as R,\n SPACE as S,\n TAB as T,\n Dialog_header as U,\n RenameSessionDialog as V,\n Alert_dialog as W,\n Alert_dialog_content as X,\n Alert_dialog_header as Y,\n Alert_dialog_title as Z,\n Alert_dialog_description as _,\n ARROW_RIGHT as a,\n Alert_dialog_cancel as a0,\n Alert_dialog_action as a1,\n tmuxPanesStore as a2,\n attachmentsStore as a3,\n preferences as a4,\n usageStore as a5,\n SEVERITY as a6,\n severityForPercent as a7,\n ResizeDivider as a8,\n FloatingArrowState as a9,\n isFocusVisible as aa,\n SafePolygon as ab,\n edgeColor as ac,\n Dialog_overlay$1 as ad,\n Dialog_content$1 as ae,\n Dialog_close as af,\n X as ag,\n Dialog_title$1 as ah,\n Dialog$1 as ai,\n MediaQuery as aj,\n ARROW_LEFT as b,\n ARROW_DOWN as c,\n isHTMLElement$1 as d,\n ENTER as e,\n PAGE_DOWN as f,\n getDocument as g,\n isSelectableInput as h,\n isFunction as i,\n isTabbable as j,\n isFocusable as k,\n focusable as l,\n PresenceManager as m,\n getWindow$1 as n,\n CONTEXT_MENU_TRIGGER_ATTR as o,\n isElement$1 as p,\n afterTick as q,\n isElementOrSVGElement as r,\n Popper_layer_force_mount as s,\n tabbable as t,\n useId as u,\n Popper_layer as v,\n watch as w,\n getFloatingContentCSSVars as x,\n Floating_layer_anchor as y,\n AnimationsComplete as z\n};\n//# sourceMappingURL=ResizeDivider.js.map\n","import \"clsx\";\nclass Clock {\n now = Date.now();\n #fine = 0;\n #timer = null;\n constructor() {\n }\n #schedule() {\n if (this.#timer) clearInterval(this.#timer);\n this.#timer = setInterval(() => this.now = Date.now(), this.#fine > 0 ? 1e3 : 3e4);\n }\n /** Tick every second until the returned release is called. */\n fine() {\n this.now = Date.now();\n if (this.#fine++ === 0) this.#schedule();\n return () => {\n if (--this.#fine === 0) this.#schedule();\n };\n }\n}\nconst clock = new Clock();\nconst AGENT_ROW_MS = 10 * 60 * 1e3;\nconst AGENT_COUNT_MS = 60 * 60 * 1e3;\nfunction agentView(agents, now, opened) {\n const rows = [];\n let running = 0;\n let folded = 0;\n for (const agent of agents ?? []) {\n if (agent.state === \"running\") running++;\n const pinned = agent.state === \"running\" || agent.state === \"failed\" && !opened.has(agent.id);\n const ended = agent.ended_at ?? now;\n if (pinned || ended > now - AGENT_ROW_MS) rows.push(agent);\n else if (agent.state === \"done\" && ended > now - AGENT_COUNT_MS) folded++;\n }\n rows.sort((a, b) => a.started_at - b.started_at);\n return { rows, running, folded };\n}\nfunction childSummary(workers, view) {\n const count = (n, noun) => `${n} ${noun}${n === 1 ? \"\" : \"s\"}`;\n const parts = [];\n if (workers) parts.push(count(workers, \"worker\"));\n if (view.running) parts.push(count(view.running, \"agent\"));\n if (view.folded) parts.push(`${count(view.folded, \"agent\")} done`);\n return parts.length ? parts.join(\" · \") : null;\n}\nfunction agentTypeLabel(type) {\n return type.replace(/-purpose$/, \"\");\n}\nexport {\n agentTypeLabel as a,\n agentView as b,\n clock as c,\n childSummary as d\n};\n//# sourceMappingURL=subagents.js.map\n","import { i as is_array, a as get_prototype_of, o as object_prototype, d as derived, c as attributes, f as bind_props, h as spread_props, p as props_id, j as ensure_array_like, k as attr, e as escape_html, l as stringify, m as attr_class, q as attr_style, r as clsx, t as hasContext, g as getContext, u as setContext, v as run, w as store_get, x as unsubscribe_stores, b as browser, y as head } from \"../../chunks/index.js\";\nimport { S as SessionStateIndicator, f as formatAgo, a as formatSpinnerElapsed, b as formatElapsed, t as tick, p as page, m as money, o as onDestroy, d as drawer } from \"../../chunks/badge.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../chunks/exports.js\";\nimport \"../../chunks/utils2.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport { o as on } from \"../../chunks/root.js\";\nimport \"../../chunks/state.svelte.js\";\nimport { c as createPersisted, s as sessionStore, R as ReliableWebSocket, S as SessionsWsMessageSchema, a as cn, n as needsHelp, w as wantsHuman, B as Button, g as getSessionDisplayName, f as findDeepestProject, b as getProjectColor, p as postVisit, d as groupSessions } from \"../../chunks/markdown.js\";\nimport { i as isFunction, A as ARROW_UP, a as ARROW_RIGHT, b as ARROW_LEFT, c as ARROW_DOWN, E as END, d as isHTMLElement, H as HOME, C as Context$1, w as watch, e as ENTER, S as SPACE, P as PAGE_UP, f as PAGE_DOWN, g as getDocument, h as isSelectableInput, j as isTabbable, t as tabbable, k as isFocusable, l as focusable, m as PresenceManager, n as getWindow, o as CONTEXT_MENU_TRIGGER_ATTR, D as DOMContext, p as isElement, q as afterTick, T as TAB, r as isElementOrSVGElement, F as Floating_layer, u as useId, s as Popper_layer_force_mount, v as Popper_layer, x as getFloatingContentCSSVars, y as Floating_layer_anchor, z as AnimationsComplete, I as Icon, B as Portal, G as createSubscriber, J as Popover, K as Popover_trigger, L as Popover_content, M as Dialog, N as Dialog_content, O as Dialog_title, Q as Dialog_description, R as goto, U as Dialog_header, V as RenameSessionDialog, W as Alert_dialog, X as Alert_dialog_content, Y as Alert_dialog_header, Z as Alert_dialog_title, _ as Alert_dialog_description, $ as Alert_dialog_footer, a0 as Alert_dialog_cancel, a1 as Alert_dialog_action, a2 as tmuxPanesStore, a3 as attachmentsStore, a4 as preferences, a5 as usageStore, a6 as SEVERITY, a7 as severityForPercent, a8 as ResizeDivider } from \"../../chunks/ResizeDivider.js\";\nimport \"clsx\";\nimport { S as STORAGE_KEYS } from \"../../chunks/constants.js\";\nimport { i as indicatorStateOf, a as isUnread, r as recedes, b as asking } from \"../../chunks/session-notifications.js\";\nimport { c as clock, a as agentTypeLabel, b as agentView, d as childSummary } from \"../../chunks/subagents.js\";\nimport { i as isWritableSymbol, B as BoxSymbol, b as boxFrom, a as boxWith, c as boxFlatten, t as toReadonlyBox, d as isBox, e as isWritableBox, s as styleToString, f as attachRef, g as boolToEmptyStrOrUndef, h as boolToStr, j as getAriaChecked, k as createBitsAttrs, m as mergeProps, l as createId, n as noop, o as simpleBox, p as getDataOpenClosed, q as getDataTransitionAttrs, r as cn$1, u as toastState, S as SonnerState, P as PANES } from \"../../chunks/panes.js\";\n/* empty css */\nimport { A as AGENT_IDS, a as AGENTS } from \"../../chunks/agents.js\";\nimport { f as fuzzyMatch, h as highlightRuns } from \"../../chunks/fuzzy.js\";\nimport { m as makeDayFormatter, h as hostTimeZone } from \"../../chunks/day.js\";\nconst empty = [];\nfunction snapshot(value, skip_warning = false, no_tojson = false) {\n return clone(value, /* @__PURE__ */ new Map(), \"\", empty, null, no_tojson);\n}\nfunction clone(value, cloned, path, paths, original = null, no_tojson = false) {\n if (typeof value === \"object\" && value !== null) {\n var unwrapped = cloned.get(value);\n if (unwrapped !== void 0) return unwrapped;\n if (value instanceof Map) return (\n /** @type {Snapshot<T>} */\n new Map(value)\n );\n if (value instanceof Set) return (\n /** @type {Snapshot<T>} */\n new Set(value)\n );\n if (is_array(value)) {\n var copy = (\n /** @type {Snapshot<any>} */\n Array(value.length)\n );\n cloned.set(value, copy);\n if (original !== null) {\n cloned.set(original, copy);\n }\n for (var i = 0; i < value.length; i += 1) {\n var element = value[i];\n if (i in value) {\n copy[i] = clone(element, cloned, path, paths, null, no_tojson);\n }\n }\n return copy;\n }\n if (get_prototype_of(value) === object_prototype) {\n copy = {};\n cloned.set(value, copy);\n if (original !== null) {\n cloned.set(original, copy);\n }\n for (var key of Object.keys(value)) {\n copy[key] = clone(\n // @ts-expect-error\n value[key],\n cloned,\n path,\n paths,\n null,\n no_tojson\n );\n }\n return copy;\n }\n if (value instanceof Date) {\n value.getTime();\n return (\n /** @type {Snapshot<T>} */\n structuredClone(value)\n );\n }\n if (typeof /** @type {T & { toJSON?: any } } */\n value.toJSON === \"function\" && !no_tojson) {\n return clone(\n /** @type {T & { toJSON(): any } } */\n value.toJSON(),\n cloned,\n path,\n paths,\n // Associate the instance with the toJSON clone\n value\n );\n }\n }\n if (value instanceof EventTarget) {\n return (\n /** @type {Snapshot<T>} */\n value\n );\n }\n try {\n return (\n /** @type {Snapshot<T>} */\n structuredClone(value)\n );\n } catch (e) {\n return (\n /** @type {Snapshot<T>} */\n value\n );\n }\n}\nconst cache = createPersisted(STORAGE_KEYS.servers, []);\nfunction detectCurrent() {\n return { hostname: \"\", url: \"\" };\n}\nclass ServerStore {\n current = { hostname: \"\", url: \"\" };\n servers = [];\n /**\n * This host's tailnet name, as discovery reports it. The page may have\n * been opened as `localhost`, and the server list still names the machine\n * by its tailnet name, so this is what tells the two apart.\n */\n self = \"\";\n loading = false;\n error = null;\n init() {\n this.current = detectCurrent();\n const cached = cache.load();\n this.servers = cached.length > 0 ? cached : this.current.hostname ? [this.current] : [];\n }\n async refresh() {\n if (this.loading) return;\n this.loading = true;\n this.error = null;\n try {\n const res = await fetch(\"/api/servers/discover\");\n const data = await res.json();\n if (!res.ok || data.error) {\n this.error = data.error ?? `HTTP ${res.status}`;\n return;\n }\n this.servers = data.servers;\n this.self = data.self;\n cache.save(data.servers);\n } catch (err) {\n this.error = err instanceof Error ? err.message : \"discover failed\";\n } finally {\n this.loading = false;\n }\n }\n}\nconst serverStore = new ServerStore();\nclass RemoteSessions extends ReliableWebSocket {\n constructor(server) {\n super();\n this.server = server;\n }\n server;\n sessions = [];\n projects = [];\n inbox = [];\n connect() {\n this.doConnect();\n }\n disconnect() {\n this.doDisconnect();\n }\n getWsUrl() {\n const url = new URL(this.server.url);\n url.protocol = url.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n url.pathname = \"/api/sessions/stream\";\n url.search = \"\";\n return url.toString();\n }\n getLogPrefix() {\n return `[fleet:${this.server.hostname}]`;\n }\n handleMessage(event) {\n let raw;\n try {\n raw = JSON.parse(event.data);\n } catch {\n return;\n }\n const parsed = SessionsWsMessageSchema.safeParse(raw);\n if (!parsed.success) return;\n const msg = parsed.data;\n if (msg.type !== \"sessions\" && msg.type !== \"connected\") return;\n this.sessions = msg.sessions;\n if (msg.projects) this.projects = msg.projects;\n if (msg.inbox) this.inbox = msg.inbox;\n }\n}\nclass FleetStore {\n selected = \"all\";\n remotes = [];\n started = false;\n #machines = derived(\n /** Every machine, this one first, then the others by name. */\n () => {\n const hostname = serverStore.self || serverStore.current.hostname;\n const local = {\n server: { hostname, url: serverStore.current.url },\n local: true,\n connected: sessionStore.connected,\n sessions: sessionStore.sessions,\n projects: sessionStore.savedProjects,\n inbox: sessionStore.inbox\n };\n const others = this.remotes.filter((r) => r.server.hostname !== hostname).map((r) => ({\n server: r.server,\n local: false,\n connected: r.connected,\n sessions: r.sessions,\n projects: r.projects,\n inbox: r.inbox\n })).sort((a, b) => a.server.hostname.localeCompare(b.server.hostname));\n return [local, ...others];\n }\n );\n get machines() {\n return this.#machines();\n }\n set machines($$value) {\n return this.#machines($$value);\n }\n #visible = derived(() => this.selected === \"all\" ? this.machines : this.machines.filter((m) => m.server.hostname === this.selected));\n get visible() {\n return this.#visible();\n }\n set visible($$value) {\n return this.#visible($$value);\n }\n #fleet = derived(() => this.machines.length > 1);\n get fleet() {\n return this.#fleet();\n }\n set fleet($$value) {\n return this.#fleet($$value);\n }\n start() {\n return;\n }\n /**\n * Keep one socket per discovered host that is not this one. Runs from an\n * effect in the sidebar so it follows the server list as it changes.\n */\n sync() {\n const current = serverStore.current.hostname;\n const self = serverStore.self;\n const wanted = serverStore.servers.filter((s) => s.hostname && s.url && s.hostname !== current && s.hostname !== self);\n const have = new Map(this.remotes.map((r) => [r.server.hostname, r]));\n let changed = false;\n for (const server of wanted) {\n const existing = have.get(server.hostname);\n if (existing && existing.server.url === server.url) continue;\n if (existing) existing.disconnect();\n const remote = new RemoteSessions(server);\n remote.connect();\n have.set(server.hostname, remote);\n changed = true;\n }\n for (const [hostname, remote] of have) {\n if (!wanted.some((s) => s.hostname === hostname)) {\n remote.disconnect();\n have.delete(hostname);\n changed = true;\n }\n }\n if (changed) this.remotes = [...have.values()];\n }\n select(hostname) {\n this.selected = hostname;\n }\n}\nconst fleetStore = new FleetStore();\nfunction box(initialValue) {\n let current = initialValue;\n return {\n [BoxSymbol]: true,\n [isWritableSymbol]: true,\n get current() {\n return current;\n },\n set current(v) {\n current = v;\n }\n };\n}\nbox.from = boxFrom;\nbox.with = boxWith;\nbox.flatten = boxFlatten;\nbox.readonly = toReadonlyBox;\nbox.isBox = isBox;\nbox.isWritableBox = isWritableBox;\nconst srOnlyStyles = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: \"0\",\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\",\n transform: \"translateX(-100%)\"\n};\nstyleToString(srOnlyStyles);\nfunction extract(value, defaultValue) {\n if (isFunction(value)) {\n const getter = value;\n const gotten = getter();\n if (gotten === void 0) return defaultValue;\n return gotten;\n }\n return value;\n}\nfunction useDebounce(callback, wait) {\n let context = null;\n const wait$ = derived(() => extract(wait, 250));\n function debounced(...args) {\n if (context) {\n if (context.timeout) {\n clearTimeout(context.timeout);\n }\n } else {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n context = { timeout: null, runner: null, promise, resolve, reject };\n }\n context.runner = async () => {\n if (!context) return;\n const ctx = context;\n context = null;\n try {\n ctx.resolve(await callback.apply(this, args));\n } catch (error) {\n ctx.reject(error);\n }\n };\n context.timeout = setTimeout(context.runner, wait$());\n return context.promise;\n }\n debounced.cancel = async () => {\n if (!context || context.timeout === null) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (!context || context.timeout === null) return;\n }\n clearTimeout(context.timeout);\n context.reject(\"Cancelled\");\n context = null;\n };\n debounced.runScheduledNow = async () => {\n if (!context || !context.timeout) {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (!context || !context.timeout) return;\n }\n clearTimeout(context.timeout);\n context.timeout = null;\n await context.runner?.();\n };\n Object.defineProperty(debounced, \"pending\", {\n enumerable: true,\n get() {\n return !!context?.timeout;\n }\n });\n return debounced;\n}\nclass IsMounted {\n #isMounted = false;\n constructor() {\n }\n get current() {\n return this.#isMounted;\n }\n}\nfunction getElemDirection(elem) {\n const style = window.getComputedStyle(elem);\n const direction = style.getPropertyValue(\"direction\");\n return direction;\n}\nfunction getNextKey(dir = \"ltr\", orientation = \"horizontal\") {\n return {\n horizontal: dir === \"rtl\" ? ARROW_LEFT : ARROW_RIGHT,\n vertical: ARROW_DOWN\n }[orientation];\n}\nfunction getPrevKey(dir = \"ltr\", orientation = \"horizontal\") {\n return {\n horizontal: dir === \"rtl\" ? ARROW_RIGHT : ARROW_LEFT,\n vertical: ARROW_UP\n }[orientation];\n}\nfunction getDirectionalKeys(dir = \"ltr\", orientation = \"horizontal\") {\n if (![\"ltr\", \"rtl\"].includes(dir))\n dir = \"ltr\";\n if (![\"horizontal\", \"vertical\"].includes(orientation))\n orientation = \"horizontal\";\n return {\n nextKey: getNextKey(dir, orientation),\n prevKey: getPrevKey(dir, orientation)\n };\n}\nclass RovingFocusGroup {\n #opts;\n #currentTabStopId = box(null);\n constructor(opts) {\n this.#opts = opts;\n }\n getCandidateNodes() {\n return [];\n }\n focusFirstCandidate() {\n const items = this.getCandidateNodes();\n if (!items.length)\n return;\n items[0]?.focus();\n }\n handleKeydown(node, e, both = false) {\n const rootNode = this.#opts.rootNode.current;\n if (!rootNode || !node)\n return;\n const items = this.getCandidateNodes();\n if (!items.length)\n return;\n const currentIndex = items.indexOf(node);\n const dir = getElemDirection(rootNode);\n const { nextKey, prevKey } = getDirectionalKeys(dir, this.#opts.orientation.current);\n const loop = this.#opts.loop.current;\n const keyToIndex = {\n [nextKey]: currentIndex + 1,\n [prevKey]: currentIndex - 1,\n [HOME]: 0,\n [END]: items.length - 1\n };\n if (both) {\n const altNextKey = nextKey === ARROW_DOWN ? ARROW_RIGHT : ARROW_DOWN;\n const altPrevKey = prevKey === ARROW_UP ? ARROW_LEFT : ARROW_UP;\n keyToIndex[altNextKey] = currentIndex + 1;\n keyToIndex[altPrevKey] = currentIndex - 1;\n }\n let itemIndex = keyToIndex[e.key];\n if (itemIndex === void 0)\n return;\n e.preventDefault();\n if (itemIndex < 0 && loop) {\n itemIndex = items.length - 1;\n } else if (itemIndex === items.length && loop) {\n itemIndex = 0;\n }\n const itemToFocus = items[itemIndex];\n if (!itemToFocus)\n return;\n itemToFocus.focus();\n this.#currentTabStopId.current = itemToFocus.id;\n this.#opts.onCandidateFocus?.(itemToFocus);\n return itemToFocus;\n }\n getTabIndex(node) {\n const items = this.getCandidateNodes();\n const anyActive = this.#currentTabStopId.current !== null;\n if (node && !anyActive && items[0] === node) {\n this.#currentTabStopId.current = node.id;\n return 0;\n } else if (node?.id === this.#currentTabStopId.current) {\n return 0;\n }\n return -1;\n }\n setCurrentTabStopId(id) {\n this.#currentTabStopId.current = id;\n }\n focusCurrentTabStop() {\n const currentTabStopId = this.#currentTabStopId.current;\n if (!currentTabStopId)\n return;\n const currentTabStop = this.#opts.rootNode.current?.querySelector(`#${currentTabStopId}`);\n if (!currentTabStop || !isHTMLElement(currentTabStop))\n return;\n currentTabStop.focus();\n }\n}\nclass CustomEventDispatcher {\n eventName;\n options;\n constructor(eventName, options = { bubbles: true, cancelable: true }) {\n this.eventName = eventName;\n this.options = options;\n }\n createEvent(detail) {\n return new CustomEvent(this.eventName, {\n ...this.options,\n detail\n });\n }\n dispatch(element, detail) {\n const event = this.createEvent(detail);\n element.dispatchEvent(event);\n return event;\n }\n listen(element, callback, options) {\n const handler = (event) => {\n callback(event);\n };\n return on(element, this.eventName, handler, options);\n }\n}\nfunction getNextMatch(values, search, currentMatch) {\n const lowerSearch = search.toLowerCase();\n if (lowerSearch.endsWith(\" \")) {\n const searchWithoutSpace = lowerSearch.slice(0, -1);\n const matchesWithoutSpace = values.filter((value) => value.toLowerCase().startsWith(searchWithoutSpace));\n if (matchesWithoutSpace.length <= 1) {\n return getNextMatch(values, searchWithoutSpace, currentMatch);\n }\n const currentMatchLowercase = currentMatch?.toLowerCase();\n if (currentMatchLowercase && currentMatchLowercase.startsWith(searchWithoutSpace) && currentMatchLowercase.charAt(searchWithoutSpace.length) === \" \" && search.trim() === searchWithoutSpace) {\n return currentMatch;\n }\n const spacedMatches = values.filter((value) => value.toLowerCase().startsWith(lowerSearch));\n if (spacedMatches.length > 0) {\n const currentMatchIndex2 = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedMatches = wrapArray(spacedMatches, Math.max(currentMatchIndex2, 0));\n const nextMatch2 = wrappedMatches.find((match) => match !== currentMatch);\n return nextMatch2 || currentMatch;\n }\n }\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const normalizedLowerSearch = normalizedSearch.toLowerCase();\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch)\n wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find((value) => value?.toLowerCase().startsWith(normalizedLowerSearch));\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nconst checkboxAttrs = createBitsAttrs({\n component: \"checkbox\",\n parts: [\"root\", \"group\", \"group-label\", \"input\"]\n});\nconst CheckboxGroupContext = new Context$1(\"Checkbox.Group\");\nconst CheckboxRootContext = new Context$1(\"Checkbox.Root\");\nclass CheckboxRootState {\n static create(opts, group = null) {\n return CheckboxRootContext.set(new CheckboxRootState(opts, group));\n }\n opts;\n group;\n #trueName = derived(() => {\n if (this.group && this.group.opts.name.current) return this.group.opts.name.current;\n return this.opts.name.current;\n });\n get trueName() {\n return this.#trueName();\n }\n set trueName($$value) {\n return this.#trueName($$value);\n }\n #trueRequired = derived(() => {\n if (this.group && this.group.opts.required.current) return true;\n return this.opts.required.current;\n });\n get trueRequired() {\n return this.#trueRequired();\n }\n set trueRequired($$value) {\n return this.#trueRequired($$value);\n }\n #trueDisabled = derived(() => {\n if (this.group && this.group.opts.disabled.current) return true;\n return this.opts.disabled.current;\n });\n get trueDisabled() {\n return this.#trueDisabled();\n }\n set trueDisabled($$value) {\n return this.#trueDisabled($$value);\n }\n #trueReadonly = derived(() => {\n if (this.group && this.group.opts.readonly.current) return true;\n return this.opts.readonly.current;\n });\n get trueReadonly() {\n return this.#trueReadonly();\n }\n set trueReadonly($$value) {\n return this.#trueReadonly($$value);\n }\n attachment;\n constructor(opts, group) {\n this.opts = opts;\n this.group = group;\n this.attachment = attachRef(this.opts.ref);\n this.onkeydown = this.onkeydown.bind(this);\n this.onclick = this.onclick.bind(this);\n watch.pre(\n [\n () => snapshot(this.group?.opts.value.current),\n () => this.opts.value.current\n ],\n ([groupValue, value]) => {\n if (!groupValue || !value) return;\n this.opts.checked.current = groupValue.includes(value);\n }\n );\n watch.pre(() => this.opts.checked.current, (checked) => {\n if (!this.group) return;\n if (checked) {\n this.group?.addValue(this.opts.value.current);\n } else {\n this.group?.removeValue(this.opts.value.current);\n }\n });\n }\n onkeydown(e) {\n if (this.trueDisabled || this.trueReadonly) return;\n if (e.key === ENTER) {\n e.preventDefault();\n if (this.opts.type.current === \"submit\") {\n const form = e.currentTarget.closest(\"form\");\n form?.requestSubmit();\n }\n return;\n }\n if (e.key === SPACE) {\n e.preventDefault();\n this.#toggle();\n }\n }\n #toggle() {\n if (this.opts.indeterminate.current) {\n this.opts.indeterminate.current = false;\n this.opts.checked.current = true;\n } else {\n this.opts.checked.current = !this.opts.checked.current;\n }\n }\n onclick(e) {\n if (this.trueDisabled || this.trueReadonly) return;\n if (this.opts.type.current === \"submit\") {\n this.#toggle();\n return;\n }\n e.preventDefault();\n this.#toggle();\n }\n #snippetProps = derived(() => ({\n checked: this.opts.checked.current,\n indeterminate: this.opts.indeterminate.current\n }));\n get snippetProps() {\n return this.#snippetProps();\n }\n set snippetProps($$value) {\n return this.#snippetProps($$value);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n role: \"checkbox\",\n type: this.opts.type.current,\n disabled: this.trueDisabled,\n \"aria-checked\": getAriaChecked(this.opts.checked.current, this.opts.indeterminate.current),\n \"aria-required\": boolToStr(this.trueRequired),\n \"aria-readonly\": boolToStr(this.trueReadonly),\n \"data-disabled\": boolToEmptyStrOrUndef(this.trueDisabled),\n \"data-readonly\": boolToEmptyStrOrUndef(this.trueReadonly),\n \"data-state\": getCheckboxDataState(this.opts.checked.current, this.opts.indeterminate.current),\n [checkboxAttrs.root]: \"\",\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass CheckboxInputState {\n static create() {\n return new CheckboxInputState(CheckboxRootContext.get());\n }\n root;\n #trueChecked = derived(() => {\n if (!this.root.group) return this.root.opts.checked.current;\n if (this.root.opts.value.current !== void 0 && this.root.group.opts.value.current.includes(this.root.opts.value.current)) {\n return true;\n }\n return false;\n });\n get trueChecked() {\n return this.#trueChecked();\n }\n set trueChecked($$value) {\n return this.#trueChecked($$value);\n }\n #shouldRender = derived(() => Boolean(this.root.trueName));\n get shouldRender() {\n return this.#shouldRender();\n }\n set shouldRender($$value) {\n return this.#shouldRender($$value);\n }\n constructor(root) {\n this.root = root;\n this.onfocus = this.onfocus.bind(this);\n }\n onfocus(_) {\n if (!isHTMLElement(this.root.opts.ref.current)) return;\n this.root.opts.ref.current.focus();\n }\n #props = derived(() => ({\n type: \"checkbox\",\n checked: this.root.opts.checked.current === true,\n disabled: this.root.trueDisabled,\n required: this.root.trueRequired,\n name: this.root.trueName,\n form: this.root.opts.form.current,\n value: this.root.opts.value.current,\n readonly: this.root.trueReadonly,\n onfocus: this.onfocus\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction getCheckboxDataState(checked, indeterminate) {\n if (indeterminate) return \"indeterminate\";\n return checked ? \"checked\" : \"unchecked\";\n}\nfunction Hidden_input($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { value = void 0, $$slots, $$events, ...restProps } = $$props;\n const mergedProps = derived(() => mergeProps(restProps, {\n \"aria-hidden\": \"true\",\n tabindex: -1,\n style: { ...srOnlyStyles, position: \"absolute\", top: \"0\", left: \"0\" }\n }));\n if (mergedProps().type === \"checkbox\") {\n $$renderer2.push(`<!--[0--><input${attributes({ ...mergedProps(), value }, void 0, void 0, void 0, 4)}/>`);\n } else {\n $$renderer2.push(`<!--[-1--><input${attributes({ value, ...mergedProps() }, void 0, void 0, void 0, 4)}/>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { value });\n });\n}\nfunction Checkbox_input($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const inputState = CheckboxInputState.create();\n if (inputState.shouldRender) {\n $$renderer2.push(\"<!--[0-->\");\n Hidden_input($$renderer2, spread_props([inputState.props]));\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Checkbox$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n checked = false,\n ref = null,\n onCheckedChange,\n children,\n disabled = false,\n required = false,\n name = void 0,\n form = void 0,\n value = \"on\",\n id = createId(uid),\n indeterminate = false,\n onIndeterminateChange,\n child,\n type = \"button\",\n readonly,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const group = CheckboxGroupContext.getOr(null);\n if (group && value) {\n if (group.opts.value.current.includes(value)) {\n checked = true;\n } else {\n checked = false;\n }\n }\n watch.pre(() => value, () => {\n if (group && value) {\n if (group.opts.value.current.includes(value)) {\n checked = true;\n } else {\n checked = false;\n }\n }\n });\n const rootState = CheckboxRootState.create(\n {\n checked: boxWith(() => checked, (v) => {\n checked = v;\n onCheckedChange?.(v);\n }),\n disabled: boxWith(() => disabled ?? false),\n required: boxWith(() => required),\n name: boxWith(() => name),\n form: boxWith(() => form),\n value: boxWith(() => value),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n indeterminate: boxWith(() => indeterminate, (v) => {\n indeterminate = v;\n onIndeterminateChange?.(v);\n }),\n type: boxWith(() => type),\n readonly: boxWith(() => Boolean(readonly))\n },\n group\n );\n const mergedProps = derived(() => mergeProps({ ...restProps }, rootState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps(), ...rootState.snippetProps });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><button${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2, rootState.snippetProps);\n $$renderer2.push(`<!----></button>`);\n }\n $$renderer2.push(`<!--]--> `);\n Checkbox_input($$renderer2);\n $$renderer2.push(`<!---->`);\n bind_props($$props, { checked, ref, indeterminate });\n });\n}\nconst defaultOptions = { afterMs: 1e4, onChange: noop };\nfunction boxAutoReset(defaultValue, options) {\n const { afterMs, onChange, getWindow: getWindow2 } = { ...defaultOptions, ...options };\n let timeout = null;\n let value = defaultValue;\n function resetAfter() {\n return getWindow2().setTimeout(\n () => {\n value = defaultValue;\n onChange?.(defaultValue);\n },\n afterMs\n );\n }\n return boxWith(() => value, (v) => {\n value = v;\n onChange?.(v);\n if (timeout) getWindow2().clearTimeout(timeout);\n timeout = resetAfter();\n });\n}\nclass DOMTypeahead {\n #opts;\n #search;\n #onMatch = derived(() => {\n if (this.#opts.onMatch) return this.#opts.onMatch;\n return (node) => node.focus();\n });\n #getCurrentItem = derived(() => {\n if (this.#opts.getCurrentItem) return this.#opts.getCurrentItem;\n return this.#opts.getActiveElement;\n });\n constructor(opts) {\n this.#opts = opts;\n this.#search = boxAutoReset(\"\", { afterMs: 1e3, getWindow: opts.getWindow });\n this.handleTypeaheadSearch = this.handleTypeaheadSearch.bind(this);\n this.resetTypeahead = this.resetTypeahead.bind(this);\n }\n handleTypeaheadSearch(key, candidates) {\n if (!candidates.length) return;\n this.#search.current = this.#search.current + key;\n const currentItem = this.#getCurrentItem()();\n const currentMatch = candidates.find((item) => item === currentItem)?.textContent?.trim() ?? \"\";\n const values = candidates.map((item) => item.textContent?.trim() ?? \"\");\n const nextMatch = getNextMatch(values, this.#search.current, currentMatch);\n const newItem = candidates.find((item) => item.textContent?.trim() === nextMatch);\n if (newItem) this.#onMatch()(newItem);\n return newItem;\n }\n resetTypeahead() {\n this.#search.current = \"\";\n }\n get search() {\n return this.#search.current;\n }\n}\nconst SELECTION_KEYS = [ENTER, SPACE];\nconst FIRST_KEYS = [ARROW_DOWN, PAGE_UP, HOME];\nconst LAST_KEYS = [ARROW_UP, PAGE_DOWN, END];\nconst FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nfunction isMouseEvent(event) {\n return event.pointerType === \"mouse\";\n}\nfunction focus(element, { select = false } = {}) {\n if (!element || !element.focus)\n return;\n const doc = getDocument(element);\n if (doc.activeElement === element)\n return;\n const previouslyFocusedElement = doc.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select) {\n element.select();\n }\n}\nfunction focusFirst(candidates, { select = false } = {}, getActiveElement2) {\n const previouslyFocusedElement = getActiveElement2();\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (getActiveElement2() !== previouslyFocusedElement)\n return true;\n }\n}\nlet isUsingKeyboard = false;\nclass IsUsingKeyboard {\n static _refs = 0;\n // Reference counting to avoid multiple listeners.\n static _cleanup;\n constructor() {\n }\n get current() {\n return isUsingKeyboard;\n }\n set current(value) {\n isUsingKeyboard = value;\n }\n}\nfunction getTabbableOptions() {\n return {\n getShadowRoot: true,\n displayCheck: (\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === \"function\" && ResizeObserver.toString().includes(\"[native code]\") ? \"full\" : \"none\"\n )\n };\n}\nfunction getTabbableFrom(currentNode, direction) {\n if (!isTabbable(currentNode, getTabbableOptions())) {\n return getTabbableFromFocusable(currentNode, direction);\n }\n const doc = getDocument(currentNode);\n const allTabbable = tabbable(doc.body, getTabbableOptions());\n if (direction === \"prev\")\n allTabbable.reverse();\n const activeIndex = allTabbable.indexOf(currentNode);\n if (activeIndex === -1)\n return doc.body;\n const nextTabbableElements = allTabbable.slice(activeIndex + 1);\n return nextTabbableElements[0];\n}\nfunction getTabbableFromFocusable(currentNode, direction) {\n const doc = getDocument(currentNode);\n if (!isFocusable(currentNode, getTabbableOptions()))\n return doc.body;\n const allFocusable = focusable(doc.body, getTabbableOptions());\n if (direction === \"prev\")\n allFocusable.reverse();\n const activeIndex = allFocusable.indexOf(currentNode);\n if (activeIndex === -1)\n return doc.body;\n const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n return nextFocusableElements.find((node) => isTabbable(node, getTabbableOptions())) ?? doc.body;\n}\nconst MenuRootContext = new Context$1(\"Menu.Root\");\nconst MenuMenuContext = new Context$1(\"Menu.Root | Menu.Sub\");\nconst MenuContentContext = new Context$1(\"Menu.Content\");\nconst MenuOpenEvent = new CustomEventDispatcher(\"bitsmenuopen\", { bubbles: false, cancelable: true });\nconst menuAttrs = createBitsAttrs({\n component: \"menu\",\n parts: [\n \"trigger\",\n \"content\",\n \"sub-trigger\",\n \"item\",\n \"group\",\n \"group-heading\",\n \"checkbox-group\",\n \"checkbox-item\",\n \"radio-group\",\n \"radio-item\",\n \"separator\",\n \"sub-content\",\n \"arrow\"\n ]\n});\nclass MenuSubmenuIntent {\n #opts;\n // readonly #debugOverlay: MenuIntentDebugOverlay;\n #cleanupDocMove = null;\n #fallbackTimer = null;\n #active = false;\n #target = null;\n #apex = null;\n #pointerPoint = null;\n // #corridor: Polygon | null = null;\n // #intentPolygon: Polygon | null = null;\n #launchPoint = null;\n constructor(opts) {\n this.#opts = opts;\n watch([opts.triggerNode, opts.contentNode, opts.enabled], ([triggerNode, contentNode, enabled]) => {\n this.#reset();\n if (!triggerNode || !contentNode || !enabled) return;\n const onTriggerMove = (e) => {\n if (!isMouseEvent(e)) return;\n this.#launchPoint = { x: e.clientX, y: e.clientY };\n if (!this.#active) this.#preview(e, \"content\");\n };\n const onTriggerLeave = (e) => {\n if (!isMouseEvent(e)) return;\n this.#engage(e, \"content\");\n };\n const onContentMove = (e) => {\n if (!isMouseEvent(e)) return;\n if (!this.#active) this.#preview(e, \"trigger\");\n };\n const onContentLeave = (e) => {\n if (!isMouseEvent(e)) return;\n if (isElement(e.relatedTarget)) {\n const selector = this.#opts.subContentSelector();\n const matchedSubContent = e.relatedTarget.closest(selector);\n if (matchedSubContent && matchedSubContent !== contentNode && matchedSubContent.id) {\n const isChild = !!contentNode.querySelector(`[aria-controls=\"${matchedSubContent.id}\"]`);\n if (isChild) {\n return;\n }\n }\n }\n this.#engage(e, \"trigger\");\n };\n const onTriggerEnter = (e) => {\n if (!isMouseEvent(e)) return;\n this.#disengage();\n };\n const onContentEnter = (e) => {\n if (!isMouseEvent(e)) return;\n this.#disengage();\n };\n triggerNode.addEventListener(\"pointermove\", onTriggerMove);\n triggerNode.addEventListener(\"pointerleave\", onTriggerLeave);\n triggerNode.addEventListener(\"pointerenter\", onTriggerEnter);\n contentNode.addEventListener(\"pointermove\", onContentMove);\n contentNode.addEventListener(\"pointerleave\", onContentLeave);\n contentNode.addEventListener(\"pointerenter\", onContentEnter);\n return () => {\n triggerNode.removeEventListener(\"pointermove\", onTriggerMove);\n triggerNode.removeEventListener(\"pointerleave\", onTriggerLeave);\n triggerNode.removeEventListener(\"pointerenter\", onTriggerEnter);\n contentNode.removeEventListener(\"pointermove\", onContentMove);\n contentNode.removeEventListener(\"pointerleave\", onContentLeave);\n contentNode.removeEventListener(\"pointerenter\", onContentEnter);\n this.#reset();\n };\n });\n }\n #parentTargetRect() {\n const parent = this.#opts.parentContentNode();\n if (parent) return parent.getBoundingClientRect();\n return this.#opts.triggerNode()?.getBoundingClientRect() ?? null;\n }\n #computePolygons(pointerPt, target) {\n const triggerNode = this.#opts.triggerNode();\n const contentNode = this.#opts.contentNode();\n if (!triggerNode || !contentNode) return null;\n const triggerRect = triggerNode.getBoundingClientRect();\n const contentRect = contentNode.getBoundingClientRect();\n const side = getSide(triggerRect, contentRect);\n let apex;\n let targetRect;\n let sourceRect;\n if (target === \"content\") {\n apex = this.#active ? this.#apex ?? pointerPt : pointerPt;\n targetRect = contentRect;\n } else {\n apex = this.#launchPoint ?? pointerPt;\n targetRect = this.#parentTargetRect() ?? triggerRect;\n sourceRect = contentRect;\n }\n this.#apex = apex;\n return {\n corridor: getCorridorPolygon(triggerRect, contentRect, side),\n intent: getIntentPolygon(apex, targetRect, side, target, sourceRect),\n targetRect,\n side\n };\n }\n #isInSafeZone(pt, corridor, intent) {\n return isPointInPolygon(pt, corridor) || isPointInPolygon(pt, intent);\n }\n #preview(e, target) {\n const pt = { x: e.clientX, y: e.clientY };\n const geo = this.#computePolygons(pt, target);\n if (!geo) return;\n this.#target = target;\n this.#pointerPoint = pt;\n }\n #engage(e, target) {\n if (!this.#opts.enabled()) return;\n const triggerNode = this.#opts.triggerNode();\n const contentNode = this.#opts.contentNode();\n if (!triggerNode || !contentNode) return;\n const related = e.relatedTarget;\n if (isElement(related)) {\n if (target === \"content\" && contentNode.contains(related)) return;\n if (target === \"trigger\" && triggerNode.contains(related)) return;\n }\n const pt = { x: e.clientX, y: e.clientY };\n const geo = this.#computePolygons(pt, target);\n if (!geo) return;\n if (!isInsideRect(pt, geo.targetRect) && !this.#isInSafeZone(pt, geo.corridor, geo.intent)) {\n this.#clearVisuals();\n return;\n }\n this.#active = true;\n this.#target = target;\n this.#pointerPoint = pt;\n this.#opts.setIsPointerInTransit(true);\n this.#attachDocMove();\n this.#startFallback();\n }\n #disengageTimer = null;\n #disengage() {\n if (!this.#active) return;\n const wasReturning = this.#target === \"trigger\";\n this.#detachDocMove();\n this.#clearFallback();\n this.#active = false;\n this.#clearVisuals();\n if (wasReturning) {\n this.#clearDisengageTimer();\n this.#disengageTimer = setTimeout(\n () => {\n this.#disengageTimer = null;\n this.#opts.setIsPointerInTransit(false);\n },\n 100\n );\n } else {\n this.#opts.setIsPointerInTransit(false);\n }\n }\n #clearDisengageTimer() {\n if (this.#disengageTimer === null) return;\n clearTimeout(this.#disengageTimer);\n this.#disengageTimer = null;\n }\n #intentExit() {\n const pointerPoint = this.#pointerPoint;\n this.#detachDocMove();\n this.#clearFallback();\n this.#clearDisengageTimer();\n this.#active = false;\n this.#opts.setIsPointerInTransit(false);\n this.#clearVisuals();\n this.#opts.onIntentExit(pointerPoint);\n }\n #reset() {\n this.#detachDocMove();\n this.#clearFallback();\n this.#clearDisengageTimer();\n if (this.#active) this.#opts.setIsPointerInTransit(false);\n this.#active = false;\n this.#target = null;\n this.#apex = null;\n this.#pointerPoint = null;\n this.#launchPoint = null;\n }\n #isPointerInDescendantSubContent(pt) {\n const contentNode = this.#opts.contentNode();\n if (!contentNode) return false;\n const doc = contentNode.ownerDocument;\n const el = doc.elementFromPoint(pt.x, pt.y);\n if (!el) return false;\n const selector = this.#opts.subContentSelector();\n const subContent = el.closest(selector);\n if (!subContent || subContent === contentNode) return false;\n if (subContent.id) return !!contentNode.querySelector(`[aria-controls=\"${subContent.id}\"]`);\n return false;\n }\n #onDocMove = (e) => {\n if (!this.#active || !this.#target) return;\n if (!isMouseEvent(e)) return;\n const triggerNode = this.#opts.triggerNode();\n const contentNode = this.#opts.contentNode();\n if (!triggerNode || !contentNode) {\n this.#intentExit();\n return;\n }\n this.#clearFallback();\n const pt = { x: e.clientX, y: e.clientY };\n this.#pointerPoint = pt;\n const triggerRect = triggerNode.getBoundingClientRect();\n const contentRect = contentNode.getBoundingClientRect();\n if (this.#target === \"content\" && isInsideRect(pt, contentRect)) {\n this.#disengage();\n return;\n }\n if (this.#target === \"trigger\" && isInsideInsetRect(pt, triggerRect, 4)) {\n this.#disengage();\n return;\n }\n if (this.#isPointerInDescendantSubContent(pt)) {\n this.#startFallback();\n return;\n }\n const geo = this.#computePolygons(pt, this.#target);\n if (!geo) {\n this.#intentExit();\n return;\n }\n if (this.#isInSafeZone(pt, geo.corridor, geo.intent)) {\n this.#startFallback();\n return;\n }\n this.#intentExit();\n };\n #attachDocMove() {\n if (this.#cleanupDocMove) return;\n const doc = getDocument(this.#opts.triggerNode() ?? this.#opts.contentNode());\n if (!doc) return;\n doc.addEventListener(\"pointermove\", this.#onDocMove, true);\n this.#cleanupDocMove = () => {\n doc.removeEventListener(\"pointermove\", this.#onDocMove, true);\n this.#cleanupDocMove = null;\n };\n }\n #detachDocMove() {\n this.#cleanupDocMove?.();\n }\n #startFallback() {\n this.#clearFallback();\n this.#fallbackTimer = setTimeout(\n () => {\n this.#fallbackTimer = null;\n if (this.#active) this.#intentExit();\n },\n 500\n );\n }\n #clearFallback() {\n if (this.#fallbackTimer === null) return;\n clearTimeout(this.#fallbackTimer);\n this.#fallbackTimer = null;\n }\n #clearVisuals() {\n this.#target = null;\n this.#apex = null;\n this.#pointerPoint = null;\n }\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isInsideRect(point, rect) {\n return point.x >= rect.left && point.x <= rect.right && point.y >= rect.top && point.y <= rect.bottom;\n}\nfunction isInsideInsetRect(point, rect, inset) {\n return point.x >= rect.left + inset && point.x <= rect.right - inset && point.y >= rect.top + inset && point.y <= rect.bottom - inset;\n}\nfunction getSide(triggerRect, contentRect) {\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const triggerCenterY = triggerRect.top + triggerRect.height / 2;\n const contentCenterX = contentRect.left + contentRect.width / 2;\n const contentCenterY = contentRect.top + contentRect.height / 2;\n const deltaX = contentCenterX - triggerCenterX;\n const deltaY = contentCenterY - triggerCenterY;\n if (Math.abs(deltaX) > Math.abs(deltaY)) {\n return deltaX > 0 ? \"right\" : \"left\";\n }\n return deltaY > 0 ? \"bottom\" : \"top\";\n}\nfunction getCorridorPolygon(triggerRect, contentRect, side) {\n const buffer = 2;\n switch (side) {\n case \"top\":\n return [\n {\n x: Math.min(triggerRect.left, contentRect.left) - buffer,\n y: triggerRect.top\n },\n {\n x: Math.min(triggerRect.left, contentRect.left) - buffer,\n y: contentRect.bottom\n },\n {\n x: Math.max(triggerRect.right, contentRect.right) + buffer,\n y: contentRect.bottom\n },\n {\n x: Math.max(triggerRect.right, contentRect.right) + buffer,\n y: triggerRect.top\n }\n ];\n case \"bottom\":\n return [\n {\n x: Math.min(triggerRect.left, contentRect.left) - buffer,\n y: triggerRect.bottom\n },\n {\n x: Math.min(triggerRect.left, contentRect.left) - buffer,\n y: contentRect.top\n },\n {\n x: Math.max(triggerRect.right, contentRect.right) + buffer,\n y: contentRect.top\n },\n {\n x: Math.max(triggerRect.right, contentRect.right) + buffer,\n y: triggerRect.bottom\n }\n ];\n case \"left\":\n return [\n {\n x: triggerRect.left,\n y: Math.min(triggerRect.top, contentRect.top) - buffer\n },\n {\n x: contentRect.right,\n y: Math.min(triggerRect.top, contentRect.top) - buffer\n },\n {\n x: contentRect.right,\n y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n },\n {\n x: triggerRect.left,\n y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n }\n ];\n case \"right\":\n return [\n {\n x: triggerRect.right,\n y: Math.min(triggerRect.top, contentRect.top) - buffer\n },\n {\n x: contentRect.left,\n y: Math.min(triggerRect.top, contentRect.top) - buffer\n },\n {\n x: contentRect.left,\n y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n },\n {\n x: triggerRect.right,\n y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer\n }\n ];\n }\n}\nfunction getIntentPolygon(exitPoint, targetRect, side, target, sourceRect) {\n const edgeBuffer = 8;\n const effectiveSide = target === \"trigger\" ? flipSide(side) : side;\n const top = sourceRect ? Math.min(targetRect.top, sourceRect.top) - edgeBuffer : targetRect.top - edgeBuffer;\n const bottom = sourceRect ? Math.max(targetRect.bottom, sourceRect.bottom) + edgeBuffer : targetRect.bottom + edgeBuffer;\n const left = sourceRect ? Math.min(targetRect.left, sourceRect.left) - edgeBuffer : targetRect.left - edgeBuffer;\n const right = sourceRect ? Math.max(targetRect.right, sourceRect.right) + edgeBuffer : targetRect.right + edgeBuffer;\n switch (effectiveSide) {\n case \"right\":\n return [\n exitPoint,\n { x: targetRect.left, y: top },\n { x: targetRect.left, y: bottom }\n ];\n case \"left\":\n return [\n exitPoint,\n { x: targetRect.right, y: top },\n { x: targetRect.right, y: bottom }\n ];\n case \"bottom\":\n return [\n exitPoint,\n { x: left, y: targetRect.top },\n { x: right, y: targetRect.top }\n ];\n case \"top\":\n return [\n exitPoint,\n { x: left, y: targetRect.bottom },\n { x: right, y: targetRect.bottom }\n ];\n }\n}\nfunction flipSide(side) {\n switch (side) {\n case \"top\":\n return \"bottom\";\n case \"bottom\":\n return \"top\";\n case \"left\":\n return \"right\";\n case \"right\":\n return \"left\";\n }\n}\nclass MenuRootState {\n static create(opts) {\n const root = new MenuRootState(opts);\n return MenuRootContext.set(root);\n }\n opts;\n isUsingKeyboard = new IsUsingKeyboard();\n ignoreCloseAutoFocus = false;\n isPointerInTransit = false;\n constructor(opts) {\n this.opts = opts;\n }\n getBitsAttr = (part) => {\n return menuAttrs.getAttr(part, this.opts.variant.current);\n };\n}\nclass MenuMenuState {\n static create(opts, root) {\n return MenuMenuContext.set(new MenuMenuState(opts, root, null));\n }\n opts;\n root;\n parentMenu;\n // the content replaces this box when it mounts; a plain field would leave every\n // derived that read the empty box (a trigger rendered first) pointing at it forever\n contentId = boxWith(() => \"\");\n contentNode = null;\n contentPresence;\n triggerNode = null;\n constructor(opts, root, parentMenu) {\n this.opts = opts;\n this.root = root;\n this.parentMenu = parentMenu;\n this.contentPresence = new PresenceManager({\n ref: boxWith(() => this.contentNode),\n open: this.opts.open,\n onComplete: () => {\n this.opts.onOpenChangeComplete.current(this.opts.open.current);\n },\n shouldSkipExitAnimation: () => {\n if (this.root.opts.variant.current !== \"menubar\" || this.parentMenu !== null) {\n return false;\n }\n return this.root.opts.shouldSkipExitAnimation?.() ?? false;\n }\n });\n if (parentMenu) {\n watch(() => parentMenu.opts.open.current, () => {\n if (parentMenu.opts.open.current) return;\n this.opts.open.current = false;\n });\n }\n }\n toggleOpen() {\n this.opts.open.current = !this.opts.open.current;\n }\n onOpen() {\n this.opts.open.current = true;\n }\n onClose() {\n this.opts.open.current = false;\n }\n}\nclass MenuContentState {\n static create(opts) {\n return MenuContentContext.set(new MenuContentState(opts, MenuMenuContext.get()));\n }\n opts;\n parentMenu;\n rovingFocusGroup;\n domContext;\n attachment;\n search = \"\";\n #timer = 0;\n #handleTypeaheadSearch;\n mounted = false;\n #isSub;\n constructor(opts, parentMenu) {\n this.opts = opts;\n this.parentMenu = parentMenu;\n this.domContext = new DOMContext(opts.ref);\n this.attachment = attachRef(this.opts.ref, (v) => {\n if (this.parentMenu.contentNode !== v) {\n this.parentMenu.contentNode = v;\n }\n });\n parentMenu.contentId = opts.id;\n this.#isSub = opts.isSub ?? false;\n this.onkeydown = this.onkeydown.bind(this);\n this.onblur = this.onblur.bind(this);\n this.onfocus = this.onfocus.bind(this);\n this.handleInteractOutside = this.handleInteractOutside.bind(this);\n new MenuSubmenuIntent({\n contentNode: () => this.parentMenu.contentNode,\n triggerNode: () => this.parentMenu.triggerNode,\n parentContentNode: () => this.parentMenu.parentMenu?.contentNode ?? null,\n subContentSelector: () => `[${this.parentMenu.root.getBitsAttr(\"sub-content\")}]`,\n // debugMode: () => this.parentMenu.root.opts.debugMode.current,\n enabled: () => this.parentMenu.opts.open.current && Boolean(this.parentMenu.triggerNode?.hasAttribute(this.parentMenu.root.getBitsAttr(\"sub-trigger\"))),\n onIntentExit: (pointerPoint) => {\n this.parentMenu.opts.open.current = false;\n this.#dispatchPointerMoveToHoveredSubTrigger(pointerPoint);\n },\n setIsPointerInTransit: (value) => {\n this.parentMenu.root.isPointerInTransit = value;\n }\n });\n this.#handleTypeaheadSearch = new DOMTypeahead({\n getActiveElement: () => this.domContext.getActiveElement(),\n getWindow: () => this.domContext.getWindow()\n }).handleTypeaheadSearch;\n this.rovingFocusGroup = new RovingFocusGroup({\n rootNode: boxWith(() => this.parentMenu.contentNode),\n candidateAttr: this.parentMenu.root.getBitsAttr(\"item\"),\n loop: this.opts.loop,\n orientation: boxWith(() => \"vertical\")\n });\n watch(() => this.parentMenu.contentNode, (contentNode) => {\n if (!contentNode) return;\n const handler = () => {\n afterTick(() => {\n if (!this.parentMenu.root.isUsingKeyboard.current) return;\n this.rovingFocusGroup.focusFirstCandidate();\n });\n };\n return MenuOpenEvent.listen(contentNode, handler);\n });\n }\n #getCandidateNodes() {\n const node = this.parentMenu.contentNode;\n if (!node) return [];\n const candidates = Array.from(node.querySelectorAll(`[${this.parentMenu.root.getBitsAttr(\"item\")}]:not([data-disabled])`));\n return candidates;\n }\n #isPointerMovingToSubmenu() {\n return this.parentMenu.root.isPointerInTransit;\n }\n #dispatchPointerMoveToHoveredSubTrigger(pointerPoint) {\n if (!pointerPoint) return;\n const parentContentNode = this.parentMenu.parentMenu?.contentNode;\n if (!parentContentNode) return;\n const hoveredNode = this.domContext.getDocument().elementFromPoint(pointerPoint.x, pointerPoint.y);\n if (!isElement(hoveredNode)) return;\n const hoveredSubTrigger = hoveredNode.closest(`[${this.parentMenu.root.getBitsAttr(\"sub-trigger\")}]`);\n if (!hoveredSubTrigger || !parentContentNode.contains(hoveredSubTrigger)) return;\n if (hoveredSubTrigger === this.parentMenu.triggerNode) return;\n hoveredSubTrigger.dispatchEvent(new PointerEvent(\"pointermove\", {\n bubbles: true,\n cancelable: true,\n pointerType: \"mouse\",\n clientX: pointerPoint.x,\n clientY: pointerPoint.y\n }));\n }\n onCloseAutoFocus = (e) => {\n this.opts.onCloseAutoFocus.current?.(e);\n if (e.defaultPrevented || this.#isSub) return;\n if (this.parentMenu.root.ignoreCloseAutoFocus) {\n e.preventDefault();\n return;\n }\n if (this.parentMenu.triggerNode && isTabbable(this.parentMenu.triggerNode)) {\n e.preventDefault();\n this.parentMenu.triggerNode.focus();\n }\n };\n handleTabKeyDown(e) {\n let rootMenu = this.parentMenu;\n while (rootMenu.parentMenu !== null) {\n rootMenu = rootMenu.parentMenu;\n }\n if (!rootMenu.triggerNode) return;\n e.preventDefault();\n const nodeToFocus = getTabbableFrom(rootMenu.triggerNode, e.shiftKey ? \"prev\" : \"next\");\n if (nodeToFocus) {\n this.parentMenu.root.ignoreCloseAutoFocus = true;\n rootMenu.onClose();\n afterTick(() => {\n nodeToFocus.focus();\n afterTick(() => {\n this.parentMenu.root.ignoreCloseAutoFocus = false;\n });\n });\n } else {\n this.domContext.getDocument().body.focus();\n }\n }\n onkeydown(e) {\n if (e.defaultPrevented) return;\n if (e.key === TAB) {\n this.handleTabKeyDown(e);\n return;\n }\n const target = e.target;\n const currentTarget = e.currentTarget;\n if (!isHTMLElement(target) || !isHTMLElement(currentTarget)) return;\n const isKeydownInside = target.closest(`[${this.parentMenu.root.getBitsAttr(\"content\")}]`)?.id === this.parentMenu.contentId.current;\n const isModifierKey = e.ctrlKey || e.altKey || e.metaKey;\n const isCharacterKey = e.key.length === 1;\n const kbdFocusedEl = this.rovingFocusGroup.handleKeydown(target, e);\n if (kbdFocusedEl) return;\n if (e.code === \"Space\") return;\n const candidateNodes = this.#getCandidateNodes();\n if (isKeydownInside) {\n if (!isModifierKey && isCharacterKey) {\n this.#handleTypeaheadSearch(e.key, candidateNodes);\n }\n }\n if (e.target?.id !== this.parentMenu.contentId.current) return;\n if (!FIRST_LAST_KEYS.includes(e.key)) return;\n e.preventDefault();\n if (LAST_KEYS.includes(e.key)) {\n candidateNodes.reverse();\n }\n focusFirst(candidateNodes, { select: false }, () => this.domContext.getActiveElement());\n }\n onblur(e) {\n if (!isElement(e.currentTarget)) return;\n if (!isElement(e.target)) return;\n if (!e.currentTarget.contains?.(e.target)) {\n this.domContext.getWindow().clearTimeout(this.#timer);\n this.search = \"\";\n }\n }\n onfocus(_) {\n if (!this.parentMenu.root.isUsingKeyboard.current) return;\n afterTick(() => this.rovingFocusGroup.focusFirstCandidate());\n }\n onItemEnter() {\n return this.#isPointerMovingToSubmenu();\n }\n onItemLeave(e) {\n if (e.currentTarget.hasAttribute(this.parentMenu.root.getBitsAttr(\"sub-trigger\"))) return;\n if (this.#isPointerMovingToSubmenu() || this.parentMenu.root.isUsingKeyboard.current) return;\n const contentNode = this.parentMenu.contentNode;\n contentNode?.focus({ preventScroll: true });\n this.rovingFocusGroup.setCurrentTabStopId(\"\");\n }\n onTriggerLeave() {\n if (this.#isPointerMovingToSubmenu()) return true;\n return false;\n }\n handleInteractOutside(e) {\n if (!isElementOrSVGElement(e.target)) return;\n const triggerId = this.parentMenu.triggerNode?.id;\n if (e.target.id === triggerId) {\n e.preventDefault();\n return;\n }\n if (e.target.closest(`#${triggerId}`)) {\n e.preventDefault();\n return;\n }\n this.parentMenu.root.ignoreCloseAutoFocus = true;\n afterTick(() => {\n this.parentMenu.root.ignoreCloseAutoFocus = false;\n });\n }\n get shouldRender() {\n return this.parentMenu.contentPresence.shouldRender;\n }\n #snippetProps = derived(() => ({ open: this.parentMenu.opts.open.current }));\n get snippetProps() {\n return this.#snippetProps();\n }\n set snippetProps($$value) {\n return this.#snippetProps($$value);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n [this.parentMenu.root.getBitsAttr(\"content\")]: \"\",\n \"data-state\": getDataOpenClosed(this.parentMenu.opts.open.current),\n ...getDataTransitionAttrs(this.parentMenu.contentPresence.transitionStatus),\n onkeydown: this.onkeydown,\n onblur: this.onblur,\n onfocus: this.onfocus,\n dir: this.parentMenu.root.opts.dir.current,\n style: { pointerEvents: \"auto\", contain: \"layout style\" },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n popperProps = { onCloseAutoFocus: (e) => this.onCloseAutoFocus(e) };\n}\nclass MenuItemSharedState {\n opts;\n content;\n attachment;\n #isFocused = false;\n constructor(opts, content) {\n this.opts = opts;\n this.content = content;\n this.attachment = attachRef(this.opts.ref);\n this.onpointermove = this.onpointermove.bind(this);\n this.onpointerleave = this.onpointerleave.bind(this);\n this.onfocus = this.onfocus.bind(this);\n this.onblur = this.onblur.bind(this);\n }\n onpointermove(e) {\n if (e.defaultPrevented) return;\n if (!isMouseEvent(e)) return;\n if (this.opts.disabled.current) {\n this.content.onItemLeave(e);\n } else {\n const defaultPrevented = this.content.onItemEnter();\n if (defaultPrevented) return;\n const item = e.currentTarget;\n if (!isHTMLElement(item)) return;\n item.focus({ preventScroll: true });\n }\n }\n onpointerleave(e) {\n if (e.defaultPrevented) return;\n if (!isMouseEvent(e)) return;\n this.content.onItemLeave(e);\n }\n onfocus(e) {\n afterTick(() => {\n if (e.defaultPrevented || this.opts.disabled.current) return;\n this.#isFocused = true;\n });\n }\n onblur(e) {\n afterTick(() => {\n if (e.defaultPrevented) return;\n this.#isFocused = false;\n });\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n tabindex: -1,\n role: \"menuitem\",\n \"aria-disabled\": boolToStr(this.opts.disabled.current),\n \"data-disabled\": boolToEmptyStrOrUndef(this.opts.disabled.current),\n \"data-highlighted\": this.#isFocused ? \"\" : void 0,\n [this.content.parentMenu.root.getBitsAttr(\"item\")]: \"\",\n //\n onpointermove: this.onpointermove,\n onpointerleave: this.onpointerleave,\n onfocus: this.onfocus,\n onblur: this.onblur,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass MenuItemState {\n static create(opts) {\n const item = new MenuItemSharedState(opts, MenuContentContext.get());\n return new MenuItemState(opts, item);\n }\n opts;\n item;\n root;\n #isPointerDown = false;\n constructor(opts, item) {\n this.opts = opts;\n this.item = item;\n this.root = item.content.parentMenu.root;\n this.onkeydown = this.onkeydown.bind(this);\n this.onclick = this.onclick.bind(this);\n this.onpointerdown = this.onpointerdown.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n }\n #handleSelect() {\n if (this.item.opts.disabled.current) return;\n const selectEvent = new CustomEvent(\"menuitemselect\", { bubbles: true, cancelable: true });\n this.opts.onSelect.current(selectEvent);\n if (selectEvent.defaultPrevented) {\n this.item.content.parentMenu.root.isUsingKeyboard.current = false;\n return;\n }\n if (this.opts.closeOnSelect.current) {\n this.item.content.parentMenu.root.opts.onClose();\n }\n }\n onkeydown(e) {\n const isTypingAhead = this.item.content.search !== \"\";\n if (this.item.opts.disabled.current || isTypingAhead && e.key === SPACE) return;\n if (SELECTION_KEYS.includes(e.key)) {\n if (!isHTMLElement(e.currentTarget)) return;\n e.currentTarget.click();\n e.preventDefault();\n }\n }\n onclick(_) {\n if (this.item.opts.disabled.current) return;\n this.#handleSelect();\n }\n onpointerup(e) {\n if (e.defaultPrevented) return;\n if (!this.#isPointerDown) {\n if (!isHTMLElement(e.currentTarget)) return;\n e.currentTarget?.click();\n }\n }\n onpointerdown(_) {\n this.#isPointerDown = true;\n }\n #props = derived(() => mergeProps(this.item.props, {\n onclick: this.onclick,\n onpointerdown: this.onpointerdown,\n onpointerup: this.onpointerup,\n onkeydown: this.onkeydown\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ContextMenuTriggerState {\n static create(opts) {\n return new ContextMenuTriggerState(opts, MenuMenuContext.get());\n }\n opts;\n parentMenu;\n attachment;\n #point = { x: 0, y: 0 };\n virtualElement = simpleBox({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...this.#point })\n });\n #longPressTimer = null;\n constructor(opts, parentMenu) {\n this.opts = opts;\n this.parentMenu = parentMenu;\n this.attachment = attachRef(this.opts.ref, (v) => this.parentMenu.triggerNode = v);\n this.oncontextmenu = this.oncontextmenu.bind(this);\n this.onpointerdown = this.onpointerdown.bind(this);\n this.onpointermove = this.onpointermove.bind(this);\n this.onpointercancel = this.onpointercancel.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n watch(() => this.#point, (point) => {\n this.virtualElement.current = {\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...point })\n };\n });\n watch(() => this.opts.disabled.current, (isDisabled) => {\n if (isDisabled) {\n this.#clearLongPressTimer();\n }\n });\n }\n #clearLongPressTimer() {\n if (this.#longPressTimer === null) return;\n getWindow(this.opts.ref.current).clearTimeout(this.#longPressTimer);\n }\n #handleOpen(e) {\n this.#point = { x: e.clientX, y: e.clientY };\n this.parentMenu.onOpen();\n }\n oncontextmenu(e) {\n if (e.defaultPrevented || this.opts.disabled.current) return;\n this.#clearLongPressTimer();\n this.#handleOpen(e);\n e.preventDefault();\n this.parentMenu.contentNode?.focus();\n }\n onpointerdown(e) {\n if (this.opts.disabled.current || isMouseEvent(e)) return;\n this.#clearLongPressTimer();\n this.#longPressTimer = getWindow(this.opts.ref.current).setTimeout(() => this.#handleOpen(e), 700);\n }\n onpointermove(e) {\n if (this.opts.disabled.current || isMouseEvent(e)) return;\n this.#clearLongPressTimer();\n }\n onpointercancel(e) {\n if (this.opts.disabled.current || isMouseEvent(e)) return;\n this.#clearLongPressTimer();\n }\n onpointerup(e) {\n if (this.opts.disabled.current || isMouseEvent(e)) return;\n this.#clearLongPressTimer();\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n disabled: this.opts.disabled.current,\n \"data-disabled\": boolToEmptyStrOrUndef(this.opts.disabled.current),\n \"data-state\": getDataOpenClosed(this.parentMenu.opts.open.current),\n [CONTEXT_MENU_TRIGGER_ATTR]: \"\",\n tabindex: -1,\n onpointerdown: this.onpointerdown,\n onpointermove: this.onpointermove,\n onpointercancel: this.onpointercancel,\n onpointerup: this.onpointerup,\n oncontextmenu: this.oncontextmenu,\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction Context_menu$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n open = false,\n dir = \"ltr\",\n // debugMode = false,\n onOpenChange = noop,\n onOpenChangeComplete = noop,\n children\n } = $$props;\n const root = MenuRootState.create({\n variant: boxWith(() => \"context-menu\"),\n dir: boxWith(() => dir),\n // debugMode: boxWith(() => debugMode),\n onClose: () => {\n open = false;\n onOpenChange?.(false);\n }\n });\n MenuMenuState.create(\n {\n open: boxWith(() => open, (v) => {\n open = v;\n onOpenChange(v);\n }),\n onOpenChangeComplete: boxWith(() => onOpenChangeComplete)\n },\n root\n );\n Floating_layer($$renderer2, {\n children: ($$renderer3) => {\n children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n }\n });\n bind_props($$props, { open });\n });\n}\nfunction Menu_item($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n child,\n children,\n ref = null,\n id = createId(uid),\n disabled = false,\n onSelect = noop,\n closeOnSelect = true,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const itemState = MenuItemState.create({\n id: boxWith(() => id),\n disabled: boxWith(() => disabled),\n onSelect: boxWith(() => onSelect),\n ref: boxWith(() => ref, (v) => ref = v),\n closeOnSelect: boxWith(() => closeOnSelect)\n });\n const mergedProps = derived(() => mergeProps(restProps, itemState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Context_menu_content$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n id = useId(),\n child,\n children,\n ref = null,\n loop = true,\n onInteractOutside = noop,\n onCloseAutoFocus = noop,\n onOpenAutoFocus = noop,\n preventScroll = true,\n side = \"right\",\n sideOffset = 2,\n align = \"start\",\n // we need to explicitly pass this prop to the PopperLayer to override\n // the default menu behavior of handling outside interactions on the trigger\n onEscapeKeydown = noop,\n forceMount = false,\n trapFocus = false,\n style,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const contentState = MenuContentState.create({\n id: boxWith(() => id),\n loop: boxWith(() => loop),\n ref: boxWith(() => ref, (v) => ref = v),\n onCloseAutoFocus: boxWith(() => onCloseAutoFocus)\n });\n const mergedProps = derived(() => mergeProps(restProps, contentState.props, {\n side,\n sideOffset,\n align,\n onOpenAutoFocus,\n isValidEvent,\n trapFocus,\n loop,\n id,\n ref: contentState.opts.ref,\n preventScroll,\n onInteractOutside: handleInteractOutside,\n onEscapeKeydown: handleEscapeKeydown,\n shouldRender: contentState.shouldRender\n }));\n function handleInteractOutside(e) {\n onInteractOutside(e);\n if (e.defaultPrevented) return;\n if (e.target && e.target instanceof Element) {\n const subContentSelector = `[${contentState.parentMenu.root.getBitsAttr(\"sub-content\")}]`;\n if (e.target.closest(subContentSelector)) return;\n }\n contentState.parentMenu.onClose();\n }\n function handleEscapeKeydown(e) {\n onEscapeKeydown(e);\n if (e.defaultPrevented) return;\n contentState.parentMenu.onClose();\n }\n function isValidEvent(e) {\n if (\"button\" in e && e.button === 2) {\n const target = e.target;\n if (!target) return false;\n const isAnotherContextTrigger = target.closest(`[${CONTEXT_MENU_TRIGGER_ATTR}]`) !== contentState.parentMenu.triggerNode;\n return isAnotherContextTrigger;\n }\n return false;\n }\n if (forceMount) {\n $$renderer2.push(\"<!--[0-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"context-menu\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(`<!--[-1--><div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer_force_mount($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n enabled: contentState.parentMenu.opts.open.current,\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else if (!forceMount) {\n $$renderer2.push(\"<!--[1-->\");\n {\n let popper = function($$renderer3, { props, wrapperProps }) {\n const finalProps = mergeProps(props, { style: getFloatingContentCSSVars(\"context-menu\") }, { style });\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, {\n props: finalProps,\n wrapperProps,\n ...contentState.snippetProps\n });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(`<!--[-1--><div${attributes({ ...wrapperProps })}><div${attributes({ ...finalProps })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n };\n Popper_layer($$renderer2, spread_props([\n mergedProps(),\n contentState.popperProps,\n {\n open: contentState.parentMenu.opts.open.current,\n popper,\n $$slots: { popper: true }\n }\n ]));\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Context_menu_trigger$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n id = useId(),\n ref = null,\n child,\n children,\n disabled = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const triggerState = ContextMenuTriggerState.create({\n id: boxWith(() => id),\n disabled: boxWith(() => disabled),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, triggerState.props, { style: { pointerEvents: \"auto\" } }, { style: restProps.style, tabindex: restProps.tabindex }));\n if (Floating_layer_anchor) {\n $$renderer2.push(\"<!--[-->\");\n Floating_layer_anchor($$renderer2, {\n id,\n virtualEl: triggerState.virtualElement,\n ref: triggerState.opts.ref,\n children: ($$renderer3) => {\n if (child) {\n $$renderer3.push(\"<!--[0-->\");\n child($$renderer3, { props: mergedProps() });\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer3);\n $$renderer3.push(`<!----></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n bind_props($$props, { ref });\n });\n}\nlet sharedObserver = null;\nconst observedNodes = /* @__PURE__ */ new WeakMap();\nfunction getSharedObserver() {\n sharedObserver ??= new ResizeObserver((entries) => {\n for (const entry of entries) {\n const callbacks = observedNodes.get(entry.target);\n if (!callbacks) continue;\n for (const callback of [...callbacks]) callback();\n }\n });\n return sharedObserver;\n}\nfunction observeResize(node, callback) {\n let callbacks = observedNodes.get(node);\n if (callbacks === void 0) {\n callbacks = /* @__PURE__ */ new Set();\n observedNodes.set(node, callbacks);\n callbacks.add(callback);\n getSharedObserver().observe(node);\n } else {\n callbacks.add(callback);\n callback();\n }\n return () => {\n const current = observedNodes.get(node);\n if (!current) return;\n current.delete(callback);\n if (current.size) return;\n observedNodes.delete(node);\n sharedObserver?.unobserve(node);\n };\n}\nclass SvelteResizeObserver {\n #node;\n #onResize;\n constructor(node, onResize) {\n this.#node = node;\n this.#onResize = onResize;\n this.handler = this.handler.bind(this);\n }\n handler() {\n let rAF = 0;\n const _node = this.#node();\n if (!_node) return;\n const unobserve = observeResize(_node, () => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(this.#onResize);\n });\n return () => {\n window.cancelAnimationFrame(rAF);\n unobserve();\n };\n }\n}\nclass Presence {\n opts;\n present;\n #afterAnimations;\n #isPresent = false;\n #hasMounted = false;\n #transitionStatus = void 0;\n #transitionFrame = null;\n constructor(opts) {\n this.opts = opts;\n this.present = this.opts.open;\n this.#isPresent = opts.open.current;\n this.#afterAnimations = new AnimationsComplete({ ref: this.opts.ref, afterTick: this.opts.open });\n watch(() => this.present.current, (isOpen) => {\n if (!this.#hasMounted) {\n this.#hasMounted = true;\n return;\n }\n this.#clearTransitionFrame();\n if (isOpen) {\n this.#isPresent = true;\n }\n this.#transitionStatus = isOpen ? \"starting\" : \"ending\";\n if (isOpen) {\n this.#transitionFrame = window.requestAnimationFrame(() => {\n this.#transitionFrame = null;\n if (this.present.current) {\n this.#transitionStatus = void 0;\n }\n });\n }\n this.#afterAnimations.run(() => {\n if (isOpen !== this.present.current) return;\n if (!isOpen) {\n this.#isPresent = false;\n }\n this.#transitionStatus = void 0;\n });\n });\n }\n #_isPresent = derived(() => {\n return this.#isPresent;\n });\n get isPresent() {\n return this.#_isPresent();\n }\n set isPresent($$value) {\n return this.#_isPresent($$value);\n }\n get transitionStatus() {\n return this.#transitionStatus;\n }\n #clearTransitionFrame() {\n if (this.#transitionFrame === null) return;\n window.cancelAnimationFrame(this.#transitionFrame);\n this.#transitionFrame = null;\n }\n}\nfunction Presence_layer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open, forceMount, presence, ref } = $$props;\n const presenceState = new Presence({ open: boxWith(() => open), ref });\n if (forceMount || open || presenceState.isPresent) {\n $$renderer2.push(\"<!--[0-->\");\n presence?.($$renderer2, {\n present: presenceState.isPresent,\n transitionStatus: presenceState.transitionStatus\n });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction clamp(n, min, max) {\n return Math.min(max, Math.max(min, n));\n}\nclass StateMachine {\n state;\n #machine;\n constructor(initialState, machine) {\n this.state = simpleBox(initialState);\n this.#machine = machine;\n this.dispatch = this.dispatch.bind(this);\n }\n #reducer(event) {\n const nextState = this.#machine[this.state.current][event];\n return nextState ?? this.state.current;\n }\n dispatch(event) {\n this.state.current = this.#reducer(event);\n }\n}\nconst scrollAreaAttrs = createBitsAttrs({\n component: \"scroll-area\",\n parts: [\"root\", \"viewport\", \"corner\", \"thumb\", \"scrollbar\"]\n});\nconst ScrollAreaRootContext = new Context$1(\"ScrollArea.Root\");\nconst ScrollAreaScrollbarContext = new Context$1(\"ScrollArea.Scrollbar\");\nconst ScrollAreaScrollbarVisibleContext = new Context$1(\"ScrollArea.ScrollbarVisible\");\nconst ScrollAreaScrollbarAxisContext = new Context$1(\"ScrollArea.ScrollbarAxis\");\nconst ScrollAreaScrollbarSharedContext = new Context$1(\"ScrollArea.ScrollbarShared\");\nclass ScrollAreaRootState {\n static create(opts) {\n return ScrollAreaRootContext.set(new ScrollAreaRootState(opts));\n }\n opts;\n attachment;\n scrollAreaNode = null;\n viewportNode = null;\n contentNode = null;\n scrollbarXNode = null;\n scrollbarYNode = null;\n cornerWidth = 0;\n cornerHeight = 0;\n scrollbarXEnabled = false;\n scrollbarYEnabled = false;\n domContext;\n constructor(opts) {\n this.opts = opts;\n this.attachment = attachRef(opts.ref, (v) => this.scrollAreaNode = v);\n this.domContext = new DOMContext(opts.ref);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n dir: this.opts.dir.current,\n style: {\n position: \"relative\",\n \"--bits-scroll-area-corner-height\": `${this.cornerHeight}px`,\n \"--bits-scroll-area-corner-width\": `${this.cornerWidth}px`\n },\n [scrollAreaAttrs.root]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaViewportState {\n static create(opts) {\n return new ScrollAreaViewportState(opts, ScrollAreaRootContext.get());\n }\n opts;\n root;\n attachment;\n #contentId = simpleBox(useId());\n #contentRef = simpleBox(null);\n contentAttachment = attachRef(this.#contentRef, (v) => this.root.contentNode = v);\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(opts.ref, (v) => this.root.viewportNode = v);\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n style: {\n overflowX: this.root.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: this.root.scrollbarYEnabled ? \"scroll\" : \"hidden\"\n },\n [scrollAreaAttrs.viewport]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n #contentProps = derived(() => ({\n id: this.#contentId.current,\n \"data-scroll-area-content\": \"\",\n style: {\n minWidth: this.root.scrollbarXEnabled ? \"fit-content\" : void 0\n },\n ...this.contentAttachment\n }));\n get contentProps() {\n return this.#contentProps();\n }\n set contentProps($$value) {\n return this.#contentProps($$value);\n }\n}\nclass ScrollAreaScrollbarState {\n static create(opts) {\n return ScrollAreaScrollbarContext.set(new ScrollAreaScrollbarState(opts, ScrollAreaRootContext.get()));\n }\n opts;\n root;\n #isHorizontal = derived(() => this.opts.orientation.current === \"horizontal\");\n get isHorizontal() {\n return this.#isHorizontal();\n }\n set isHorizontal($$value) {\n return this.#isHorizontal($$value);\n }\n hasThumb = false;\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n watch(() => this.isHorizontal, (isHorizontal) => {\n if (isHorizontal) {\n this.root.scrollbarXEnabled = true;\n return () => {\n this.root.scrollbarXEnabled = false;\n };\n } else {\n this.root.scrollbarYEnabled = true;\n return () => {\n this.root.scrollbarYEnabled = false;\n };\n }\n });\n }\n}\nclass ScrollAreaScrollbarHoverState {\n static create() {\n return new ScrollAreaScrollbarHoverState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n isVisible = false;\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n }\n #props = derived(() => ({ \"data-state\": this.isVisible ? \"visible\" : \"hidden\" }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarScrollState {\n static create() {\n return new ScrollAreaScrollbarScrollState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n machine = new StateMachine(\"hidden\", {\n hidden: { SCROLL: \"scrolling\" },\n scrolling: { SCROLL_END: \"idle\", POINTER_ENTER: \"interacting\" },\n interacting: { SCROLL: \"interacting\", POINTER_LEAVE: \"idle\" },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n #isHidden = derived(() => this.machine.state.current === \"hidden\");\n get isHidden() {\n return this.#isHidden();\n }\n set isHidden($$value) {\n return this.#isHidden($$value);\n }\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n useDebounce(() => this.machine.dispatch(\"SCROLL_END\"), 100);\n this.onpointerenter = this.onpointerenter.bind(this);\n this.onpointerleave = this.onpointerleave.bind(this);\n }\n onpointerenter(_) {\n this.machine.dispatch(\"POINTER_ENTER\");\n }\n onpointerleave(_) {\n this.machine.dispatch(\"POINTER_LEAVE\");\n }\n #props = derived(() => ({\n \"data-state\": this.machine.state.current === \"hidden\" ? \"hidden\" : \"visible\",\n onpointerenter: this.onpointerenter,\n onpointerleave: this.onpointerleave\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarAutoState {\n static create() {\n return new ScrollAreaScrollbarAutoState(ScrollAreaScrollbarContext.get());\n }\n scrollbar;\n root;\n isVisible = false;\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n const handleResize = () => {\n const viewportNode = this.root.viewportNode;\n if (!viewportNode) return;\n const isOverflowX = viewportNode.offsetWidth < viewportNode.scrollWidth;\n const isOverflowY = viewportNode.offsetHeight < viewportNode.scrollHeight;\n this.isVisible = this.scrollbar.isHorizontal ? isOverflowX : isOverflowY;\n };\n new SvelteResizeObserver(() => this.root.viewportNode, handleResize);\n new SvelteResizeObserver(() => this.root.contentNode, handleResize);\n }\n #props = derived(() => ({ \"data-state\": this.isVisible ? \"visible\" : \"hidden\" }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarVisibleState {\n static create() {\n return ScrollAreaScrollbarVisibleContext.set(new ScrollAreaScrollbarVisibleState(ScrollAreaScrollbarContext.get()));\n }\n scrollbar;\n root;\n thumbNode = null;\n pointerOffset = 0;\n sizes = {\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n };\n #thumbRatio = derived(() => getThumbRatio(this.sizes.viewport, this.sizes.content));\n get thumbRatio() {\n return this.#thumbRatio();\n }\n set thumbRatio($$value) {\n return this.#thumbRatio($$value);\n }\n #hasThumb = derived(() => Boolean(this.thumbRatio > 0 && this.thumbRatio < 1));\n get hasThumb() {\n return this.#hasThumb();\n }\n set hasThumb($$value) {\n return this.#hasThumb($$value);\n }\n prevTransformStyle = \"\";\n constructor(scrollbar) {\n this.scrollbar = scrollbar;\n this.root = scrollbar.root;\n }\n setSizes(sizes) {\n this.sizes = sizes;\n }\n getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer({\n pointerPos,\n pointerOffset: this.pointerOffset,\n sizes: this.sizes,\n dir\n });\n }\n onThumbPointerUp() {\n this.pointerOffset = 0;\n }\n onThumbPointerDown(pointerPos) {\n this.pointerOffset = pointerPos;\n }\n xOnThumbPositionChange() {\n if (!(this.root.viewportNode && this.thumbNode)) return;\n const scrollPos = this.root.viewportNode.scrollLeft;\n const offset = getThumbOffsetFromScroll({\n scrollPos,\n sizes: this.sizes,\n dir: this.root.opts.dir.current\n });\n const transformStyle = `translate3d(${offset}px, 0, 0)`;\n this.thumbNode.style.transform = transformStyle;\n this.prevTransformStyle = transformStyle;\n }\n xOnWheelScroll(scrollPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollLeft = scrollPos;\n }\n xOnDragScroll(pointerPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollLeft = this.getScrollPosition(pointerPos, this.root.opts.dir.current);\n }\n yOnThumbPositionChange() {\n if (!(this.root.viewportNode && this.thumbNode)) return;\n const scrollPos = this.root.viewportNode.scrollTop;\n const offset = getThumbOffsetFromScroll({ scrollPos, sizes: this.sizes });\n const transformStyle = `translate3d(0, ${offset}px, 0)`;\n this.thumbNode.style.transform = transformStyle;\n this.prevTransformStyle = transformStyle;\n }\n yOnWheelScroll(scrollPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollTop = scrollPos;\n }\n yOnDragScroll(pointerPos) {\n if (!this.root.viewportNode) return;\n this.root.viewportNode.scrollTop = this.getScrollPosition(pointerPos, this.root.opts.dir.current);\n }\n}\nclass ScrollAreaScrollbarXState {\n static create(opts) {\n return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarXState(opts, ScrollAreaScrollbarVisibleContext.get()));\n }\n opts;\n scrollbarVis;\n root;\n scrollbar;\n attachment;\n computedStyle;\n constructor(opts, scrollbarVis) {\n this.opts = opts;\n this.scrollbarVis = scrollbarVis;\n this.root = scrollbarVis.root;\n this.scrollbar = scrollbarVis.scrollbar;\n this.attachment = attachRef(this.scrollbar.opts.ref, (v) => this.root.scrollbarXNode = v);\n }\n onThumbPointerDown = (pointerPos) => {\n this.scrollbarVis.onThumbPointerDown(pointerPos.x);\n };\n onDragScroll = (pointerPos) => {\n this.scrollbarVis.xOnDragScroll(pointerPos.x);\n };\n onThumbPointerUp = () => {\n this.scrollbarVis.onThumbPointerUp();\n };\n onThumbPositionChange = () => {\n this.scrollbarVis.xOnThumbPositionChange();\n };\n onWheelScroll = (e, maxScrollPos) => {\n if (!this.root.viewportNode) return;\n const scrollPos = this.root.viewportNode.scrollLeft + e.deltaX;\n this.scrollbarVis.xOnWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n e.preventDefault();\n }\n };\n onResize = () => {\n if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return;\n this.scrollbarVis.setSizes({\n content: this.root.viewportNode.scrollWidth,\n viewport: this.root.viewportNode.offsetWidth,\n scrollbar: {\n size: this.scrollbar.opts.ref.current.clientWidth,\n paddingStart: toInt(this.computedStyle.paddingLeft),\n paddingEnd: toInt(this.computedStyle.paddingRight)\n }\n });\n };\n #thumbSize = derived(() => {\n return getThumbSize(this.scrollbarVis.sizes);\n });\n get thumbSize() {\n return this.#thumbSize();\n }\n set thumbSize($$value) {\n return this.#thumbSize($$value);\n }\n #props = derived(() => ({\n id: this.scrollbar.opts.id.current,\n \"data-orientation\": \"horizontal\",\n style: {\n bottom: 0,\n left: this.root.opts.dir.current === \"rtl\" ? \"var(--bits-scroll-area-corner-width)\" : 0,\n right: this.root.opts.dir.current === \"ltr\" ? \"var(--bits-scroll-area-corner-width)\" : 0,\n \"--bits-scroll-area-thumb-width\": `${this.thumbSize}px`\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarYState {\n static create(opts) {\n return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarYState(opts, ScrollAreaScrollbarVisibleContext.get()));\n }\n opts;\n scrollbarVis;\n root;\n scrollbar;\n attachment;\n computedStyle;\n constructor(opts, scrollbarVis) {\n this.opts = opts;\n this.scrollbarVis = scrollbarVis;\n this.root = scrollbarVis.root;\n this.scrollbar = scrollbarVis.scrollbar;\n this.attachment = attachRef(this.scrollbar.opts.ref, (v) => this.root.scrollbarYNode = v);\n this.onThumbPointerDown = this.onThumbPointerDown.bind(this);\n this.onDragScroll = this.onDragScroll.bind(this);\n this.onThumbPointerUp = this.onThumbPointerUp.bind(this);\n this.onThumbPositionChange = this.onThumbPositionChange.bind(this);\n this.onWheelScroll = this.onWheelScroll.bind(this);\n this.onResize = this.onResize.bind(this);\n }\n onThumbPointerDown(pointerPos) {\n this.scrollbarVis.onThumbPointerDown(pointerPos.y);\n }\n onDragScroll(pointerPos) {\n this.scrollbarVis.yOnDragScroll(pointerPos.y);\n }\n onThumbPointerUp() {\n this.scrollbarVis.onThumbPointerUp();\n }\n onThumbPositionChange() {\n this.scrollbarVis.yOnThumbPositionChange();\n }\n onWheelScroll(e, maxScrollPos) {\n if (!this.root.viewportNode) return;\n const scrollPos = this.root.viewportNode.scrollTop + e.deltaY;\n this.scrollbarVis.yOnWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n e.preventDefault();\n }\n }\n onResize() {\n if (!(this.scrollbar.opts.ref.current && this.root.viewportNode && this.computedStyle)) return;\n this.scrollbarVis.setSizes({\n content: this.root.viewportNode.scrollHeight,\n viewport: this.root.viewportNode.offsetHeight,\n scrollbar: {\n size: this.scrollbar.opts.ref.current.clientHeight,\n paddingStart: toInt(this.computedStyle.paddingTop),\n paddingEnd: toInt(this.computedStyle.paddingBottom)\n }\n });\n }\n #thumbSize = derived(() => {\n return getThumbSize(this.scrollbarVis.sizes);\n });\n get thumbSize() {\n return this.#thumbSize();\n }\n set thumbSize($$value) {\n return this.#thumbSize($$value);\n }\n #props = derived(() => ({\n id: this.scrollbar.opts.id.current,\n \"data-orientation\": \"vertical\",\n style: {\n top: 0,\n right: this.root.opts.dir.current === \"ltr\" ? 0 : void 0,\n left: this.root.opts.dir.current === \"rtl\" ? 0 : void 0,\n bottom: \"var(--bits-scroll-area-corner-height)\",\n \"--bits-scroll-area-thumb-height\": `${this.thumbSize}px`\n },\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaScrollbarSharedState {\n static create() {\n return ScrollAreaScrollbarSharedContext.set(new ScrollAreaScrollbarSharedState(ScrollAreaScrollbarAxisContext.get()));\n }\n scrollbarState;\n root;\n scrollbarVis;\n scrollbar;\n rect = null;\n prevWebkitUserSelect = \"\";\n handleResize;\n handleThumbPositionChange;\n handleWheelScroll;\n handleThumbPointerDown;\n handleThumbPointerUp;\n #maxScrollPos = derived(() => this.scrollbarVis.sizes.content - this.scrollbarVis.sizes.viewport);\n get maxScrollPos() {\n return this.#maxScrollPos();\n }\n set maxScrollPos($$value) {\n return this.#maxScrollPos($$value);\n }\n constructor(scrollbarState) {\n this.scrollbarState = scrollbarState;\n this.root = scrollbarState.root;\n this.scrollbarVis = scrollbarState.scrollbarVis;\n this.scrollbar = scrollbarState.scrollbarVis.scrollbar;\n this.handleResize = () => this.scrollbarState.onResize();\n this.handleThumbPositionChange = this.scrollbarState.onThumbPositionChange;\n this.handleWheelScroll = this.scrollbarState.onWheelScroll;\n this.handleThumbPointerDown = this.scrollbarState.onThumbPointerDown;\n this.handleThumbPointerUp = this.scrollbarState.onThumbPointerUp;\n new SvelteResizeObserver(() => this.scrollbar.opts.ref.current, this.handleResize);\n new SvelteResizeObserver(() => this.root.contentNode, this.handleResize);\n this.onpointerdown = this.onpointerdown.bind(this);\n this.onpointermove = this.onpointermove.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n this.onlostpointercapture = this.onlostpointercapture.bind(this);\n }\n handleDragScroll(e) {\n if (!this.rect) return;\n const x = e.clientX - this.rect.left;\n const y = e.clientY - this.rect.top;\n this.scrollbarState.onDragScroll({ x, y });\n }\n #cleanupPointerState() {\n if (this.rect === null) return;\n this.root.domContext.getDocument().body.style.webkitUserSelect = this.prevWebkitUserSelect;\n if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = \"\";\n this.rect = null;\n }\n onpointerdown(e) {\n if (e.button !== 0) return;\n const target = e.target;\n target.setPointerCapture(e.pointerId);\n this.rect = this.scrollbar.opts.ref.current?.getBoundingClientRect() ?? null;\n this.prevWebkitUserSelect = this.root.domContext.getDocument().body.style.webkitUserSelect;\n this.root.domContext.getDocument().body.style.webkitUserSelect = \"none\";\n if (this.root.viewportNode) this.root.viewportNode.style.scrollBehavior = \"auto\";\n this.handleDragScroll(e);\n }\n onpointermove(e) {\n this.handleDragScroll(e);\n }\n onpointerup(e) {\n const target = e.target;\n if (target.hasPointerCapture(e.pointerId)) {\n target.releasePointerCapture(e.pointerId);\n }\n this.#cleanupPointerState();\n }\n onlostpointercapture(_) {\n this.#cleanupPointerState();\n }\n #props = derived(() => mergeProps({\n ...this.scrollbarState.props,\n style: { position: \"absolute\", ...this.scrollbarState.props.style },\n [scrollAreaAttrs.scrollbar]: \"\",\n onpointerdown: this.onpointerdown,\n onpointermove: this.onpointermove,\n onpointerup: this.onpointerup,\n onlostpointercapture: this.onlostpointercapture\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaThumbImplState {\n static create(opts) {\n return new ScrollAreaThumbImplState(opts, ScrollAreaScrollbarSharedContext.get());\n }\n opts;\n scrollbarState;\n attachment;\n #root;\n #removeUnlinkedScrollListener;\n #debounceScrollEnd = useDebounce(\n () => {\n if (this.#removeUnlinkedScrollListener) {\n this.#removeUnlinkedScrollListener();\n this.#removeUnlinkedScrollListener = void 0;\n }\n },\n 100\n );\n constructor(opts, scrollbarState) {\n this.opts = opts;\n this.scrollbarState = scrollbarState;\n this.#root = scrollbarState.root;\n this.attachment = attachRef(this.opts.ref, (v) => this.scrollbarState.scrollbarVis.thumbNode = v);\n this.onpointerdowncapture = this.onpointerdowncapture.bind(this);\n this.onpointerup = this.onpointerup.bind(this);\n }\n onpointerdowncapture(e) {\n const thumb = e.target;\n if (!thumb) return;\n const thumbRect = thumb.getBoundingClientRect();\n const x = e.clientX - thumbRect.left;\n const y = e.clientY - thumbRect.top;\n this.scrollbarState.handleThumbPointerDown({ x, y });\n }\n onpointerup(_) {\n this.scrollbarState.handleThumbPointerUp();\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n \"data-state\": this.scrollbarState.scrollbarVis.hasThumb ? \"visible\" : \"hidden\",\n style: {\n width: \"var(--bits-scroll-area-thumb-width)\",\n height: \"var(--bits-scroll-area-thumb-height)\",\n transform: this.scrollbarState.scrollbarVis.prevTransformStyle\n },\n onpointerdowncapture: this.onpointerdowncapture,\n onpointerup: this.onpointerup,\n [scrollAreaAttrs.thumb]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nclass ScrollAreaCornerImplState {\n static create(opts) {\n return new ScrollAreaCornerImplState(opts, ScrollAreaRootContext.get());\n }\n opts;\n root;\n attachment;\n #width = 0;\n #height = 0;\n #hasSize = derived(() => Boolean(this.#width && this.#height));\n get hasSize() {\n return this.#hasSize();\n }\n set hasSize($$value) {\n return this.#hasSize($$value);\n }\n constructor(opts, root) {\n this.opts = opts;\n this.root = root;\n this.attachment = attachRef(this.opts.ref);\n new SvelteResizeObserver(() => this.root.scrollbarXNode, () => {\n const height = this.root.scrollbarXNode?.offsetHeight || 0;\n this.root.cornerHeight = height;\n this.#height = height;\n });\n new SvelteResizeObserver(() => this.root.scrollbarYNode, () => {\n const width = this.root.scrollbarYNode?.offsetWidth || 0;\n this.root.cornerWidth = width;\n this.#width = width;\n });\n }\n #props = derived(() => ({\n id: this.opts.id.current,\n style: {\n width: this.#width,\n height: this.#height,\n position: \"absolute\",\n right: this.root.opts.dir.current === \"ltr\" ? 0 : void 0,\n left: this.root.opts.dir.current === \"rtl\" ? 0 : void 0,\n bottom: 0\n },\n [scrollAreaAttrs.corner]: \"\",\n ...this.attachment\n }));\n get props() {\n return this.#props();\n }\n set props($$value) {\n return this.#props($$value);\n }\n}\nfunction toInt(value) {\n return value ? Number.parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return Number.isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer({ pointerPos, pointerOffset, sizes, dir = \"ltr\" }) {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll({ scrollPos, sizes, dir = \"ltr\" }) {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange[0], scrollClampRange[1]);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nfunction Scroll_area$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n type = \"hover\",\n dir = \"ltr\",\n scrollHideDelay = 600,\n children,\n child,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const rootState = ScrollAreaRootState.create({\n type: boxWith(() => type),\n dir: boxWith(() => dir),\n scrollHideDelay: boxWith(() => scrollHideDelay),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, rootState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_viewport($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const viewportState = ScrollAreaViewportState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, viewportState.props));\n const mergedContentProps = derived(() => mergeProps({}, viewportState.contentProps));\n $$renderer2.push(`<div${attributes({ ...mergedProps() })}><div${attributes({ ...mergedContentProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div></div>`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_scrollbar_shared($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { child, children, $$slots, $$events, ...restProps } = $$props;\n const scrollbarSharedState = ScrollAreaScrollbarSharedState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarSharedState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Scroll_area_scrollbar_x($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const isMounted = new IsMounted();\n const scrollbarXState = ScrollAreaScrollbarXState.create({ mounted: boxWith(() => isMounted.current) });\n const mergedProps = derived(() => mergeProps(restProps, scrollbarXState.props));\n Scroll_area_scrollbar_shared($$renderer2, spread_props([mergedProps()]));\n });\n}\nfunction Scroll_area_scrollbar_y($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const isMounted = new IsMounted();\n const scrollbarYState = ScrollAreaScrollbarYState.create({ mounted: boxWith(() => isMounted.current) });\n const mergedProps = derived(() => mergeProps(restProps, scrollbarYState.props));\n Scroll_area_scrollbar_shared($$renderer2, spread_props([mergedProps()]));\n });\n}\nfunction Scroll_area_scrollbar_visible($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...restProps } = $$props;\n const scrollbarVisibleState = ScrollAreaScrollbarVisibleState.create();\n if (scrollbarVisibleState.scrollbar.opts.orientation.current === \"horizontal\") {\n $$renderer2.push(\"<!--[0-->\");\n Scroll_area_scrollbar_x($$renderer2, spread_props([restProps]));\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n Scroll_area_scrollbar_y($$renderer2, spread_props([restProps]));\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Scroll_area_scrollbar_auto($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarAutoState = ScrollAreaScrollbarAutoState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarAutoState.props));\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, {\n open: forceMount || scrollbarAutoState.isVisible,\n ref: scrollbarAutoState.scrollbar.opts.ref,\n presence\n });\n }\n });\n}\nfunction Scroll_area_scrollbar_scroll($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarScrollState = ScrollAreaScrollbarScrollState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarScrollState.props));\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, spread_props([\n mergedProps(),\n {\n open: forceMount || !scrollbarScrollState.isHidden,\n ref: scrollbarScrollState.scrollbar.opts.ref,\n presence,\n $$slots: { presence: true }\n }\n ]));\n }\n });\n}\nfunction Scroll_area_scrollbar_hover($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { forceMount = false, $$slots, $$events, ...restProps } = $$props;\n const scrollbarHoverState = ScrollAreaScrollbarHoverState.create();\n const scrollbarAutoState = ScrollAreaScrollbarAutoState.create();\n const mergedProps = derived(() => mergeProps(restProps, scrollbarHoverState.props, scrollbarAutoState.props, {\n \"data-state\": scrollbarHoverState.isVisible ? \"visible\" : \"hidden\"\n }));\n const open = derived(() => forceMount || scrollbarHoverState.isVisible && scrollbarAutoState.isVisible);\n {\n let presence = function($$renderer3) {\n Scroll_area_scrollbar_visible($$renderer3, spread_props([mergedProps()]));\n };\n Presence_layer($$renderer2, {\n open: open(),\n ref: scrollbarAutoState.scrollbar.opts.ref,\n presence\n });\n }\n });\n}\nfunction Scroll_area_scrollbar$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n orientation,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollbarState = ScrollAreaScrollbarState.create({\n orientation: boxWith(() => orientation),\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const type = derived(() => scrollbarState.root.opts.type.current);\n if (type() === \"hover\") {\n $$renderer2.push(\"<!--[0-->\");\n Scroll_area_scrollbar_hover($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"scroll\") {\n $$renderer2.push(\"<!--[1-->\");\n Scroll_area_scrollbar_scroll($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"auto\") {\n $$renderer2.push(\"<!--[2-->\");\n Scroll_area_scrollbar_auto($$renderer2, spread_props([restProps, { id }]));\n } else if (type() === \"always\") {\n $$renderer2.push(\"<!--[3-->\");\n Scroll_area_scrollbar_visible($$renderer2, spread_props([restProps, { id }]));\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_thumb_impl($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n id,\n child,\n children,\n present,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const isMounted = new IsMounted();\n const thumbState = ScrollAreaThumbImplState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v),\n mounted: boxWith(() => isMounted.current)\n });\n const mergedProps = derived(() => mergeProps(restProps, thumbState.props, { style: { hidden: !present } }));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_thumb($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n id = createId(uid),\n ref = null,\n forceMount = false,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollbarState = ScrollAreaScrollbarVisibleContext.get();\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n {\n let presence = function($$renderer4, { present }) {\n Scroll_area_thumb_impl($$renderer4, spread_props([\n restProps,\n {\n id,\n present,\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n };\n Presence_layer($$renderer3, {\n open: forceMount || scrollbarState.hasThumb,\n ref: scrollbarState.scrollbar.opts.ref,\n presence\n });\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_corner_impl($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n id,\n children,\n child,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const cornerState = ScrollAreaCornerImplState.create({\n id: boxWith(() => id),\n ref: boxWith(() => ref, (v) => ref = v)\n });\n const mergedProps = derived(() => mergeProps(restProps, cornerState.props));\n if (child) {\n $$renderer2.push(\"<!--[0-->\");\n child($$renderer2, { props: mergedProps() });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(`<!--[-1--><div${attributes({ ...mergedProps() })}>`);\n children?.($$renderer2);\n $$renderer2.push(`<!----></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area_corner($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const uid = props_id($$renderer2);\n let {\n ref = null,\n id = createId(uid),\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const scrollAreaState = ScrollAreaRootContext.get();\n const hasBothScrollbarsVisible = derived(() => Boolean(scrollAreaState.scrollbarXNode && scrollAreaState.scrollbarYNode));\n const hasCorner = derived(() => scrollAreaState.opts.type.current !== \"scroll\" && hasBothScrollbarsVisible());\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (hasCorner()) {\n $$renderer3.push(\"<!--[0-->\");\n Scroll_area_corner_impl($$renderer3, spread_props([\n restProps,\n {\n id,\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Check($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [[\"path\", { \"d\": \"M20 6 9 17l-5-5\" }]];\n Icon($$renderer2, spread_props([\n { name: \"check\" },\n /**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Context_menu_portal($$renderer, $$props) {\n let { $$slots, $$events, ...restProps } = $$props;\n if (Portal) {\n $$renderer.push(\"<!--[-->\");\n Portal($$renderer, spread_props([restProps]));\n $$renderer.push(\"<!--]-->\");\n } else {\n $$renderer.push(\"<!--[!-->\");\n $$renderer.push(\"<!--]-->\");\n }\n}\nfunction Context_menu_content($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n portalProps,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Context_menu_portal($$renderer3, spread_props([\n portalProps,\n {\n children: ($$renderer4) => {\n if (Context_menu_content$1) {\n $$renderer4.push(\"<!--[-->\");\n Context_menu_content$1($$renderer4, spread_props([\n {\n \"data-slot\": \"context-menu-content\",\n class: cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-36 rounded-lg p-1 shadow-md ring-1 duration-100 z-(--z-floating) max-h-(--bits-context-menu-content-available-height) origin-(--bits-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Context_menu_item($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n inset,\n variant = \"default\",\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Menu_item) {\n $$renderer3.push(\"<!--[-->\");\n Menu_item($$renderer3, spread_props([\n {\n \"data-slot\": \"context-menu-item\",\n \"data-inset\": inset,\n \"data-variant\": variant,\n class: cn(\"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive focus:*:[svg]:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm data-inset:pl-7 [&_svg:not([class*='size-'])]:size-4 group/context-menu-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Context_menu_trigger($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Context_menu_trigger$1) {\n $$renderer3.push(\"<!--[-->\");\n Context_menu_trigger$1($$renderer3, spread_props([\n {\n \"data-slot\": \"context-menu-trigger\",\n class: cn(\"select-none\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Context_menu($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open = false, $$slots, $$events, ...restProps } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Context_menu$1) {\n $$renderer3.push(\"<!--[-->\");\n Context_menu$1($$renderer3, spread_props([\n restProps,\n {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { open });\n });\n}\nfunction SessionRow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n session: s,\n title,\n where,\n href,\n hint,\n active,\n tag,\n orchestrator = false,\n worker = false,\n draft = \"\",\n staged = 0,\n draggable,\n onkill = null,\n onmarkunread = null,\n onclick,\n onlongpress,\n ondragstart,\n ondragend,\n menu = [],\n meta,\n children\n } = $$props;\n const shown = derived(() => indicatorStateOf(s));\n const wants = derived(() => wantsHuman(s));\n const quiet = derived(() => recedes(shown()) && !wants() && !active);\n const running = derived(() => s.state === \"busy\" && s.turn_started_at != null);\n const canMarkUnread = derived(() => !!onmarkunread && s.state === \"idle\" && !!s.turn_completed_at && !isUnread(s));\n const elapsed = derived(() => running() ? formatSpinnerElapsed(Math.max(0, Math.floor((clock.now - s.turn_started_at) / 1e3))) : null);\n if (Context_menu) {\n $$renderer2.push(\"<!--[-->\");\n Context_menu($$renderer2, {\n children: ($$renderer3) => {\n {\n let child = function($$renderer4, { props }) {\n $$renderer4.push(`<a${attributes(\n {\n ...props,\n tabindex: void 0,\n href,\n class: \"row\",\n draggable: draggable ? \"true\" : \"false\",\n title: hint\n },\n \"svelte-kqdvb4\",\n {\n cur: active || tag !== null,\n orch: orchestrator,\n worker,\n quiet,\n inA: tag === \"A\",\n inB: tag === \"B\"\n }\n )}>`);\n if (worker) {\n $$renderer4.push(`<!--[0--><span class=\"tile svelte-kqdvb4\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"svelte-kqdvb4\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"14\" rx=\"2\"></rect><path d=\"M7 9l3 3-3 3M13 15h4\"></path></svg></span>`);\n } else {\n $$renderer4.push(`<!--[-1--><span class=\"st svelte-kqdvb4\">`);\n SessionStateIndicator($$renderer4, { state: shown(), size: \"sm\", title: s.current_action });\n $$renderer4.push(`<!----></span>`);\n }\n $$renderer4.push(`<!--]--> <span class=\"name svelte-kqdvb4\"${attr(\"title\", s.cwd)}>${escape_html(title)}</span> <span class=\"meta svelte-kqdvb4\">`);\n if (tag) {\n $$renderer4.push(`<!--[0--><span class=\"ptag svelte-kqdvb4\"${attr(\"title\", `Open in pane ${stringify(tag)}`)}>${escape_html(tag)}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (s.rc_url) {\n $$renderer4.push(`<!--[0--><iconify-icon icon=\"mdi:cellphone-link\" class=\"rc svelte-kqdvb4\" title=\"Remote Control active\"></iconify-icon>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (wants()) {\n $$renderer4.push(`<!--[0--><span class=\"pill svelte-kqdvb4\">${escape_html(needsHelp(s) ? \"needs help\" : \"wants you\")}</span>`);\n } else if (worker && s.maestro_issue) {\n $$renderer4.push(`<!--[1--><span class=\"issue svelte-kqdvb4\">#${escape_html(s.maestro_issue)}</span>`);\n } else if (elapsed()) {\n $$renderer4.push(`<!--[2--><span class=\"when run svelte-kqdvb4\"${attr(\"title\", `Working for ${stringify(elapsed())}`)}>${escape_html(elapsed())}</span>`);\n } else {\n $$renderer4.push(`<!--[-1--><span class=\"when svelte-kqdvb4\">${escape_html(formatAgo(shown() === \"done\" ? s.turn_completed_at : s.last_update, clock.now))}</span>`);\n }\n $$renderer4.push(`<!--]--> `);\n meta?.($$renderer4);\n $$renderer4.push(`<!----></span> `);\n if (s.context_pct !== null && s.context_pct !== void 0) {\n $$renderer4.push(`<!--[0--><span${attr_class(\"ctx svelte-kqdvb4\", void 0, {\n \"warn\": s.context_pct >= 70 && s.context_pct < 90,\n \"hot\": s.context_pct >= 90\n })}${attr_style(`--p: ${stringify(Math.min(100, Math.max(0, s.context_pct)))}`)}${attr(\"title\", `${stringify(s.context_pct)}% of the context window`)}></span>`);\n } else {\n $$renderer4.push(`<!--[-1--><span class=\"ctx none svelte-kqdvb4\"></span>`);\n }\n $$renderer4.push(`<!--]--> `);\n if (canMarkUnread() || onkill) {\n $$renderer4.push(`<!--[0--><span class=\"acts svelte-kqdvb4\">`);\n if (canMarkUnread()) {\n $$renderer4.push(`<!--[0--><button type=\"button\" title=\"Mark unread\" class=\"svelte-kqdvb4\"><iconify-icon icon=\"mdi:email-mark-as-unread\" class=\"svelte-kqdvb4\"></iconify-icon></button>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (onkill) {\n $$renderer4.push(`<!--[0--><button type=\"button\" class=\"kill svelte-kqdvb4\" title=\"Kill session\"><iconify-icon icon=\"mdi:power\" class=\"svelte-kqdvb4\"></iconify-icon></button>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> <span${attr_class(\"sub svelte-kqdvb4\", void 0, { \"draft\": !!draft })}${attr(\"title\", draft || s.current_action || s.state)}>`);\n if (staged) {\n $$renderer4.push(`<!--[0--><span class=\"staged svelte-kqdvb4\"${attr(\"title\", `${stringify(staged)} attachment${staged === 1 ? \"\" : \"s\"} staged`)}><iconify-icon icon=\"mdi:paperclip\" class=\"svelte-kqdvb4\"></iconify-icon>${escape_html(staged)}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (worker) {\n $$renderer4.push(`<!--[0--><span class=\"wst svelte-kqdvb4\">`);\n SessionStateIndicator($$renderer4, { state: shown(), size: \"sm\", title: s.current_action });\n $$renderer4.push(`<!----></span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (draft) {\n $$renderer4.push(`<!--[0--><iconify-icon icon=\"mdi:pencil-outline\" class=\"svelte-kqdvb4\"></iconify-icon>${escape_html(draft)}`);\n } else if (worker) {\n $$renderer4.push(`<!--[1-->${escape_html([\"worker\", shown(), s.current_action].filter(Boolean).join(\" · \"))}`);\n } else {\n $$renderer4.push(`<!--[-1-->${escape_html(s.current_action || (shown() === \"done\" ? \"done\" : s.state))}`);\n }\n $$renderer4.push(`<!--]--> `);\n if (!draft && where) {\n $$renderer4.push(`<!--[0--><span class=\"path svelte-kqdvb4\"${attr(\"title\", s.cwd)}>${escape_html(where)}</span>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></span></a>`);\n };\n if (Context_menu_trigger) {\n $$renderer3.push(\"<!--[-->\");\n Context_menu_trigger($$renderer3, { disabled: menu.length === 0, child, $$slots: { child: true } });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(` `);\n if (menu.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n if (Context_menu_content) {\n $$renderer3.push(\"<!--[-->\");\n Context_menu_content($$renderer3, {\n class: \"min-w-44\",\n children: ($$renderer4) => {\n $$renderer4.push(`<!--[-->`);\n const each_array = ensure_array_like(menu);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let item = each_array[$$index];\n if (Context_menu_item) {\n $$renderer4.push(\"<!--[-->\");\n Context_menu_item($$renderer4, {\n onSelect: item.run,\n children: ($$renderer5) => {\n $$renderer5.push(`<iconify-icon${attr(\"icon\", item.icon)}></iconify-icon> ${escape_html(item.label)}`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n $$renderer2.push(` `);\n children?.($$renderer2);\n $$renderer2.push(`<!---->`);\n });\n}\nfunction DiffBadge($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { changes } = $$props;\n if (changes && (changes.additions > 0 || changes.deletions > 0)) {\n $$renderer2.push(`<!--[0--><span class=\"diff svelte-yz18w2\"${attr(\"title\", `${stringify(changes.files)} ${changes.files === 1 ? \"file\" : \"files\"} changed (${changes.source === \"git\" ? \"git\" : \"this session\"})`)}><span class=\"add svelte-yz18w2\">+${escape_html(changes.additions)}</span> <span class=\"del svelte-yz18w2\">−${escape_html(changes.deletions)}</span></span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nconst bars = Array(12).fill(0);\nfunction Loader($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { visible, class: className } = $$props;\n $$renderer2.push(`<div${attr_class(clsx([\"sonner-loading-wrapper\", className].filter(Boolean).join(\" \")))}${attr(\"data-visible\", visible)}><div class=\"sonner-spinner\"><!--[-->`);\n const each_array = ensure_array_like(bars);\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n each_array[i];\n $$renderer2.push(`<div class=\"sonner-loading-bar\"></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nconst defaultWindow = void 0;\nfunction getActiveElement(document2) {\n let activeElement = document2.activeElement;\n while (activeElement?.shadowRoot) {\n const node = activeElement.shadowRoot.activeElement;\n if (node === activeElement)\n break;\n else\n activeElement = node;\n }\n return activeElement;\n}\nclass ActiveElement {\n #document;\n #subscribe;\n constructor(options = {}) {\n const { window: window2 = defaultWindow, document: document2 = window2?.document } = options;\n if (window2 === void 0) return;\n this.#document = document2;\n this.#subscribe = createSubscriber();\n }\n get current() {\n this.#subscribe?.();\n if (!this.#document) return null;\n return getActiveElement(this.#document);\n }\n}\nnew ActiveElement();\nclass Context {\n #name;\n #key;\n /**\n * @param name The name of the context.\n * This is used for generating the context key and error messages.\n */\n constructor(name) {\n this.#name = name;\n this.#key = Symbol(name);\n }\n /**\n * The key used to get and set the context.\n *\n * It is not recommended to use this value directly.\n * Instead, use the methods provided by this class.\n */\n get key() {\n return this.#key;\n }\n /**\n * Checks whether this has been set in the context of a parent component.\n *\n * Must be called during component initialisation.\n */\n exists() {\n return hasContext(this.#key);\n }\n /**\n * Retrieves the context that belongs to the closest parent component.\n *\n * Must be called during component initialisation.\n *\n * @throws An error if the context does not exist.\n */\n get() {\n const context = getContext(this.#key);\n if (context === void 0) {\n throw new Error(`Context \"${this.#name}\" not found`);\n }\n return context;\n }\n /**\n * Retrieves the context that belongs to the closest parent component,\n * or the given fallback value if the context does not exist.\n *\n * Must be called during component initialisation.\n */\n getOr(fallback) {\n const context = getContext(this.#key);\n if (context === void 0) {\n return fallback;\n }\n return context;\n }\n /**\n * Associates the given value with the current component and returns it.\n *\n * Must be called during component initialisation.\n */\n set(context) {\n return setContext(this.#key, context);\n }\n}\nconst sonnerContext = new Context(\"<Toaster/>\");\nfunction isAction(action) {\n return action.label !== void 0;\n}\nconst TOAST_LIFETIME$1 = 4e3;\nconst GAP$1 = 14;\nconst TIME_BEFORE_UNMOUNT = 200;\nconst DEFAULT_TOAST_CLASSES = {\n toast: \"\",\n title: \"\",\n description: \"\",\n loader: \"\",\n closeButton: \"\",\n cancelButton: \"\",\n actionButton: \"\",\n action: \"\",\n warning: \"\",\n error: \"\",\n success: \"\",\n default: \"\",\n info: \"\",\n loading: \"\"\n};\nfunction Toast($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n toast,\n index,\n expanded,\n invert: invertFromToaster,\n position,\n visibleToasts,\n expandByDefault,\n closeButton: closeButtonFromToaster,\n interacting,\n cancelButtonStyle = \"\",\n actionButtonStyle = \"\",\n duration: durationFromToaster,\n descriptionClass = \"\",\n classes: classesProp,\n unstyled = false,\n loadingIcon,\n successIcon,\n errorIcon,\n warningIcon,\n closeIcon,\n infoIcon,\n defaultRichColors = false,\n gap = GAP$1,\n swipeDirections: swipeDirectionsProp,\n closeButtonAriaLabel,\n pauseWhenPageIsHidden,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n const defaultClasses = { ...DEFAULT_TOAST_CLASSES };\n let mounted = false;\n let removed = false;\n let swiping = false;\n let swipeOut = false;\n let isSwiped = false;\n let offsetBeforeRemove = 0;\n let initialHeight = 0;\n toast.duration || durationFromToaster || TOAST_LIFETIME$1;\n let swipeOutDirection = null;\n const isFront = derived(() => index === 0);\n const isVisible = derived(() => index + 1 <= visibleToasts);\n const toastType = derived(() => toast.type);\n const dismissible = derived(() => toast.dismissible !== void 0 ? toast.dismissible !== false : toast.dismissable !== false);\n const toastClass = derived(() => toast.class || \"\");\n const toastDescriptionClass = derived(() => toast.descriptionClass || \"\");\n const relevantHeights = derived(() => toastState.heights.filter((height) => height.toasterId === toast.toasterId && height.position === position));\n const heightIndex = derived(() => {\n const idx = relevantHeights().findIndex((height) => height.toastId === toast.id);\n return idx === -1 ? 0 : idx;\n });\n const closeButton = derived(() => toast.closeButton ?? closeButtonFromToaster);\n const coords = derived(() => position.split(\"-\"));\n const toastsHeightBefore = derived(() => relevantHeights().reduce(\n (prev, curr, reducerIndex) => {\n if (reducerIndex >= heightIndex()) return prev;\n return prev + curr.height;\n },\n 0\n ));\n const invert = derived(() => toast.invert || invertFromToaster);\n const disabled = derived(() => toastType() === \"loading\");\n const classes = derived(() => ({ ...defaultClasses, ...classesProp }));\n const offset = derived(() => Math.round(heightIndex() * gap + toastsHeightBefore()));\n function deleteToast() {\n removed = true;\n offsetBeforeRemove = offset();\n toastState.removeHeight(toast.id);\n toastState.markDismissed(toast.id);\n toastState.scheduleRemoval(toast.id, TIME_BEFORE_UNMOUNT);\n }\n const icon = derived(() => {\n if (toast.icon) return toast.icon;\n if (toastType() === \"success\") return successIcon;\n if (toastType() === \"error\") return errorIcon;\n if (toastType() === \"warning\") return warningIcon;\n if (toastType() === \"info\") return infoIcon;\n if (toastType() === \"loading\") return loadingIcon;\n return null;\n });\n function LoadingIcon($$renderer3) {\n if (loadingIcon) {\n $$renderer3.push(`<!--[0--><div${attr_class(clsx(cn$1(classes()?.loader, toast?.classes?.loader, \"sonner-loader\")))}${attr(\"data-visible\", toastType() === \"loading\")}>`);\n loadingIcon($$renderer3);\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n Loader($$renderer3, {\n class: cn$1(classes()?.loader, toast.classes?.loader),\n visible: toastType() === \"loading\"\n });\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer2.push(`<li${attr(\"tabindex\", 0)}${attr_class(clsx(cn$1(restProps.class, toastClass(), classes()?.toast, toast?.classes?.toast, classes()?.[toastType()], toast?.classes?.[toastType()])))}${attr(\"aria-live\", toast.important ? \"assertive\" : \"polite\")} aria-atomic=\"true\" data-sonner-toast=\"\"${attr(\"data-rich-colors\", toast.richColors ?? defaultRichColors)}${attr(\"data-styled\", !(toast.component || toast.unstyled || unstyled))}${attr(\"data-mounted\", mounted)}${attr(\"data-promise\", Boolean(toast.promise))}${attr(\"data-swiped\", isSwiped)}${attr(\"data-removed\", removed)}${attr(\"data-visible\", isVisible())}${attr(\"data-y-position\", coords()[0])}${attr(\"data-x-position\", coords()[1])}${attr(\"data-index\", index)}${attr(\"data-front\", isFront())}${attr(\"data-swiping\", swiping)}${attr(\"data-dismissible\", dismissible())}${attr(\"data-type\", toastType())}${attr(\"data-invert\", invert())}${attr(\"data-swipe-out\", swipeOut)}${attr(\"data-swipe-direction\", swipeOutDirection)}${attr(\"data-expanded\", Boolean(expanded || expandByDefault && mounted))}${attr_style(`${restProps.style} ${toast.style}`, {\n \"--index\": index,\n \"--toasts-before\": index,\n \"--z-index\": toastState.toasts.length - index,\n \"--offset\": `${removed ? offsetBeforeRemove : offset()}px`,\n \"--initial-height\": expandByDefault ? \"auto\" : `${initialHeight}px`\n })}>`);\n if (closeButton() && !toast.component && toastType() !== \"loading\" && closeIcon !== null) {\n $$renderer2.push(`<!--[0--><button${attr(\"aria-label\", closeButtonAriaLabel)}${attr(\"data-disabled\", disabled())} data-close-button=\"\"${attr_class(clsx(cn$1(classes()?.closeButton, toast?.classes?.closeButton)))}>`);\n closeIcon?.($$renderer2);\n $$renderer2.push(`<!----></button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (toast.component) {\n $$renderer2.push(\"<!--[0-->\");\n const Component = toast.component;\n if (Component) {\n $$renderer2.push(\"<!--[-->\");\n Component($$renderer2, spread_props([toast.componentProps, { closeToast: deleteToast }]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n if ((toastType() || toast.icon || toast.promise) && toast.icon !== null && (icon() !== null || toast.icon)) {\n $$renderer2.push(`<!--[0--><div data-icon=\"\"${attr_class(clsx(cn$1(classes()?.icon, toast?.classes?.icon)))}>`);\n if (toastType() === \"loading\") {\n $$renderer2.push(\"<!--[0-->\");\n if (toast.icon) {\n $$renderer2.push(\"<!--[0-->\");\n if (toast.icon) {\n $$renderer2.push(\"<!--[-->\");\n toast.icon($$renderer2, {});\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n LoadingIcon($$renderer2);\n }\n $$renderer2.push(`<!--]-->`);\n } else if (toast.promise) {\n $$renderer2.push(\"<!--[1-->\");\n LoadingIcon($$renderer2);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (toastType() !== \"loading\") {\n $$renderer2.push(\"<!--[0-->\");\n if (toast.icon) {\n $$renderer2.push(\"<!--[0-->\");\n if (toast.icon) {\n $$renderer2.push(\"<!--[-->\");\n toast.icon($$renderer2, {});\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (toastType() === \"success\") {\n $$renderer2.push(\"<!--[1-->\");\n successIcon?.($$renderer2);\n $$renderer2.push(`<!---->`);\n } else if (toastType() === \"error\") {\n $$renderer2.push(\"<!--[2-->\");\n errorIcon?.($$renderer2);\n $$renderer2.push(`<!---->`);\n } else if (toastType() === \"warning\") {\n $$renderer2.push(\"<!--[3-->\");\n warningIcon?.($$renderer2);\n $$renderer2.push(`<!---->`);\n } else if (toastType() === \"info\") {\n $$renderer2.push(\"<!--[4-->\");\n infoIcon?.($$renderer2);\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div data-content=\"\"${attr_class(clsx(cn$1(classes()?.content, toast?.classes?.content)))}><div data-title=\"\"${attr_class(clsx(cn$1(classes()?.title, toast?.classes?.title)))}>`);\n if (toast.title) {\n $$renderer2.push(\"<!--[0-->\");\n if (typeof toast.title !== \"string\") {\n $$renderer2.push(\"<!--[0-->\");\n const Title = toast.title;\n if (Title) {\n $$renderer2.push(\"<!--[-->\");\n Title($$renderer2, spread_props([toast.componentProps]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(`<!--[-1-->${escape_html(toast.title)}`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n if (toast.description) {\n $$renderer2.push(`<!--[0--><div data-description=\"\"${attr_class(clsx(cn$1(descriptionClass, toastDescriptionClass(), classes()?.description, toast.classes?.description)))}>`);\n if (typeof toast.description !== \"string\") {\n $$renderer2.push(\"<!--[0-->\");\n const Description = toast.description;\n if (Description) {\n $$renderer2.push(\"<!--[-->\");\n Description($$renderer2, spread_props([toast.componentProps]));\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else {\n $$renderer2.push(`<!--[-1-->${escape_html(toast.description)}`);\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n if (toast.cancel) {\n $$renderer2.push(\"<!--[0-->\");\n if (typeof toast.cancel === \"function\") {\n $$renderer2.push(\"<!--[0-->\");\n if (toast.cancel) {\n $$renderer2.push(\"<!--[-->\");\n toast.cancel($$renderer2, {});\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (isAction(toast.cancel)) {\n $$renderer2.push(`<!--[1--><button data-button=\"\" data-cancel=\"\"${attr_style(toast.cancelButtonStyle ?? cancelButtonStyle)}${attr_class(clsx(cn$1(classes()?.cancelButton, toast?.classes?.cancelButton)))}>${escape_html(toast.cancel.label)}</button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (toast.action) {\n $$renderer2.push(\"<!--[0-->\");\n if (typeof toast.action === \"function\") {\n $$renderer2.push(\"<!--[0-->\");\n if (toast.action) {\n $$renderer2.push(\"<!--[-->\");\n toast.action($$renderer2, {});\n $$renderer2.push(\"<!--]-->\");\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(\"<!--]-->\");\n }\n } else if (isAction(toast.action)) {\n $$renderer2.push(`<!--[1--><button data-button=\"\"${attr_style(toast.actionButtonStyle ?? actionButtonStyle)}${attr_class(clsx(cn$1(classes()?.actionButton, toast?.classes?.actionButton)))}>${escape_html(toast.action.label)}</button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></li>`);\n });\n}\nfunction SuccessIcon($$renderer) {\n $$renderer.push(`<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\" data-sonner-success-icon=\"\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\" clip-rule=\"evenodd\"></path></svg>`);\n}\nfunction ErrorIcon($$renderer) {\n $$renderer.push(`<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\" data-sonner-error-icon=\"\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"></path></svg>`);\n}\nfunction WarningIcon($$renderer) {\n $$renderer.push(`<svg aria-hidden=\"true\" viewBox=\"0 0 64 64\" fill=\"currentColor\" height=\"20\" width=\"20\" data-sonner-warning-icon=\"\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M32.427,7.987c2.183,0.124 4,1.165 5.096,3.281l17.936,36.208c1.739,3.66 -0.954,8.585 -5.373,8.656l-36.119,0c-4.022,-0.064 -7.322,-4.631 -5.352,-8.696l18.271,-36.207c0.342,-0.65 0.498,-0.838 0.793,-1.179c1.186,-1.375 2.483,-2.111 4.748,-2.063Zm-0.295,3.997c-0.687,0.034 -1.316,0.419 -1.659,1.017c-6.312,11.979 -12.397,24.081 -18.301,36.267c-0.546,1.225 0.391,2.797 1.762,2.863c12.06,0.195 24.125,0.195 36.185,0c1.325,-0.064 2.321,-1.584 1.769,-2.85c-5.793,-12.184 -11.765,-24.286 -17.966,-36.267c-0.366,-0.651 -0.903,-1.042 -1.79,-1.03Z\"></path><path d=\"M33.631,40.581l-3.348,0l-0.368,-16.449l4.1,0l-0.384,16.449Zm-3.828,5.03c0,-0.609 0.197,-1.113 0.592,-1.514c0.396,-0.4 0.935,-0.601 1.618,-0.601c0.684,0 1.223,0.201 1.618,0.601c0.395,0.401 0.593,0.905 0.593,1.514c0,0.587 -0.193,1.078 -0.577,1.473c-0.385,0.395 -0.929,0.593 -1.634,0.593c-0.705,0 -1.249,-0.198 -1.634,-0.593c-0.384,-0.395 -0.576,-0.886 -0.576,-1.473Z\"></path></svg>`);\n}\nfunction InfoIcon($$renderer) {\n $$renderer.push(`<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" height=\"20\" width=\"20\" data-sonner-info-icon=\"\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z\" clip-rule=\"evenodd\"></path></svg>`);\n}\nfunction CloseIcon($$renderer) {\n $$renderer.push(`<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-sonner-close-icon=\"\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>`);\n}\nconst VISIBLE_TOASTS_AMOUNT = 3;\nconst VIEWPORT_OFFSET = \"24px\";\nconst MOBILE_VIEWPORT_OFFSET = \"16px\";\nconst TOAST_LIFETIME = 4e3;\nconst TOAST_WIDTH = 356;\nconst GAP = 14;\nconst DARK = \"dark\";\nconst LIGHT = \"light\";\nfunction getOffsetObject(defaultOffset, mobileOffset) {\n const styles = {};\n [defaultOffset, mobileOffset].forEach((offset, index) => {\n const isMobile = index === 1;\n const prefix = isMobile ? \"--mobile-offset\" : \"--offset\";\n const defaultValue = isMobile ? MOBILE_VIEWPORT_OFFSET : VIEWPORT_OFFSET;\n function assignAll(offset2) {\n [\"top\", \"right\", \"bottom\", \"left\"].forEach((key) => {\n styles[`${prefix}-${key}`] = typeof offset2 === \"number\" ? `${offset2}px` : offset2;\n });\n }\n if (typeof offset === \"number\" || typeof offset === \"string\") {\n assignAll(offset);\n } else if (typeof offset === \"object\") {\n [\"top\", \"right\", \"bottom\", \"left\"].forEach((key) => {\n const value = offset[key];\n if (value === void 0) {\n styles[`${prefix}-${key}`] = defaultValue;\n } else {\n styles[`${prefix}-${key}`] = typeof value === \"number\" ? `${value}px` : value;\n }\n });\n } else {\n assignAll(defaultValue);\n }\n });\n return styles;\n}\nfunction Toaster($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n function getInitialTheme(t) {\n if (t !== \"system\") return t;\n if (typeof window !== \"undefined\") {\n if (window.matchMedia && window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n return DARK;\n }\n return LIGHT;\n }\n return LIGHT;\n }\n let {\n id,\n invert = false,\n position = \"bottom-right\",\n hotkey = [\"altKey\", \"KeyT\"],\n expand = false,\n closeButton = false,\n offset = VIEWPORT_OFFSET,\n mobileOffset = MOBILE_VIEWPORT_OFFSET,\n theme = \"light\",\n richColors = false,\n duration = TOAST_LIFETIME,\n visibleToasts = VISIBLE_TOASTS_AMOUNT,\n toastOptions = {},\n dir = \"auto\",\n gap = GAP,\n swipeDirections,\n pauseWhenPageIsHidden = false,\n loadingIcon: loadingIconProp,\n successIcon: successIconProp,\n errorIcon: errorIconProp,\n warningIcon: warningIconProp,\n closeIcon: closeIconProp,\n infoIcon: infoIconProp,\n containerAriaLabel = \"Notifications\",\n class: className,\n closeButtonAriaLabel = \"Close toast\",\n onblur,\n onfocus,\n onmouseenter,\n onmousemove,\n onmouseleave,\n ondragend,\n onpointerdown,\n onpointerup,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n function getDocumentDirection() {\n if (dir !== \"auto\") return dir;\n if (typeof window === \"undefined\") return \"ltr\";\n if (typeof document === \"undefined\") return \"ltr\";\n const dirAttribute = document.documentElement.getAttribute(\"dir\");\n if (dirAttribute === \"auto\" || !dirAttribute) {\n run(() => dir = window.getComputedStyle(document.documentElement).direction ?? \"ltr\");\n return dir;\n }\n run(() => dir = dirAttribute);\n return dirAttribute;\n }\n const filteredToasts = derived(() => id ? toastState.toasts.filter((toast) => toast.toasterId === id) : toastState.toasts.filter((toast) => !toast.toasterId));\n const possiblePositions = derived(() => Array.from(new Set([\n position,\n ...filteredToasts().filter((toast) => toast.position).map((toast) => toast.position)\n ].filter(Boolean))));\n let expanded = false;\n let interacting = false;\n let actualTheme = getInitialTheme(theme);\n const hotkeyLabel = derived(() => hotkey.join(\"+\").replace(/Key/g, \"\").replace(/Digit/g, \"\"));\n sonnerContext.set(new SonnerState());\n $$renderer2.push(`<section${attr(\"aria-label\", `${stringify(containerAriaLabel)} ${stringify(hotkeyLabel())}`)}${attr(\"tabindex\", -1)} aria-live=\"polite\" aria-relevant=\"additions text\" aria-atomic=\"false\">`);\n if (filteredToasts().length > 0) {\n $$renderer2.push(`<!--[0--><!--[-->`);\n const each_array = ensure_array_like(possiblePositions());\n for (let index = 0, $$length = each_array.length; index < $$length; index++) {\n let position2 = each_array[index];\n const [y, x] = position2.split(\"-\");\n const offsetObject = getOffsetObject(offset, mobileOffset);\n const frontHeight = toastState.heights.find((height) => height.toasterId === id && height.position === position2)?.height ?? 0;\n $$renderer2.push(`<ol${attributes(\n {\n tabindex: -1,\n dir: getDocumentDirection(),\n class: clsx(className),\n \"data-sonner-toaster\": true,\n \"data-sonner-theme\": actualTheme,\n \"data-y-position\": y,\n \"data-x-position\": x,\n style: restProps.style,\n ...restProps\n },\n void 0,\n void 0,\n {\n \"--front-toast-height\": `${frontHeight}px`,\n \"--width\": `${TOAST_WIDTH}px`,\n \"--gap\": `${gap}px`,\n \"--offset-top\": offsetObject[\"--offset-top\"],\n \"--offset-right\": offsetObject[\"--offset-right\"],\n \"--offset-bottom\": offsetObject[\"--offset-bottom\"],\n \"--offset-left\": offsetObject[\"--offset-left\"],\n \"--mobile-offset-top\": offsetObject[\"--mobile-offset-top\"],\n \"--mobile-offset-right\": offsetObject[\"--mobile-offset-right\"],\n \"--mobile-offset-bottom\": offsetObject[\"--mobile-offset-bottom\"],\n \"--mobile-offset-left\": offsetObject[\"--mobile-offset-left\"]\n }\n )}><!--[-->`);\n const each_array_1 = ensure_array_like(filteredToasts().filter((toast) => !toast.position && index === 0 || toast.position === position2));\n for (let index2 = 0, $$length2 = each_array_1.length; index2 < $$length2; index2++) {\n let toast = each_array_1[index2];\n {\n let successIcon = function($$renderer3) {\n if (successIconProp) {\n $$renderer3.push(\"<!--[0-->\");\n successIconProp?.($$renderer3);\n $$renderer3.push(`<!---->`);\n } else if (successIconProp !== null) {\n $$renderer3.push(\"<!--[1-->\");\n SuccessIcon($$renderer3);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }, errorIcon = function($$renderer3) {\n if (errorIconProp) {\n $$renderer3.push(\"<!--[0-->\");\n errorIconProp?.($$renderer3);\n $$renderer3.push(`<!---->`);\n } else if (errorIconProp !== null) {\n $$renderer3.push(\"<!--[1-->\");\n ErrorIcon($$renderer3);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }, warningIcon = function($$renderer3) {\n if (warningIconProp) {\n $$renderer3.push(\"<!--[0-->\");\n warningIconProp?.($$renderer3);\n $$renderer3.push(`<!---->`);\n } else if (warningIconProp !== null) {\n $$renderer3.push(\"<!--[1-->\");\n WarningIcon($$renderer3);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }, infoIcon = function($$renderer3) {\n if (infoIconProp) {\n $$renderer3.push(\"<!--[0-->\");\n infoIconProp?.($$renderer3);\n $$renderer3.push(`<!---->`);\n } else if (infoIconProp !== null) {\n $$renderer3.push(\"<!--[1-->\");\n InfoIcon($$renderer3);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }, closeIcon = function($$renderer3) {\n if (closeIconProp) {\n $$renderer3.push(\"<!--[0-->\");\n closeIconProp?.($$renderer3);\n $$renderer3.push(`<!---->`);\n } else if (closeIconProp !== null) {\n $$renderer3.push(\"<!--[1-->\");\n CloseIcon($$renderer3);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n };\n Toast($$renderer2, {\n index: index2,\n toast,\n defaultRichColors: richColors,\n duration: toastOptions?.duration ?? duration,\n class: toastOptions?.class ?? \"\",\n descriptionClass: toastOptions?.descriptionClass || \"\",\n invert,\n visibleToasts,\n closeButton: toastOptions?.closeButton ?? closeButton,\n interacting,\n position: position2,\n gap,\n style: toastOptions?.style ?? \"\",\n classes: toastOptions.classes || {},\n unstyled: toastOptions.unstyled ?? false,\n cancelButtonStyle: toastOptions?.cancelButtonStyle ?? \"\",\n actionButtonStyle: toastOptions?.actionButtonStyle ?? \"\",\n closeButtonAriaLabel: toastOptions?.closeButtonAriaLabel ?? closeButtonAriaLabel,\n expandByDefault: expand,\n expanded,\n swipeDirections,\n pauseWhenPageIsHidden,\n loadingIcon: loadingIconProp,\n successIcon,\n errorIcon,\n warningIcon,\n infoIcon,\n closeIcon,\n $$slots: {\n successIcon: true,\n errorIcon: true,\n warningIcon: true,\n infoIcon: true,\n closeIcon: true\n }\n });\n }\n }\n $$renderer2.push(`<!--]--></ol>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></section>`);\n });\n}\nfunction SubagentRow($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { agent, href, active } = $$props;\n const running = derived(() => agent.state === \"running\");\n const status = derived(() => {\n if (running()) {\n const elapsed = formatElapsed((clock.now - agent.started_at) / 1e3);\n return [\"running\", elapsed, agent.current_tool].filter(Boolean).join(\" · \");\n }\n const ago = formatAgo(agent.ended_at, clock.now);\n return `${agent.state} ${ago === \"now\" ? \"just now\" : `${ago} ago`}`;\n });\n const title = derived(() => agent.description || agentTypeLabel(agent.type));\n $$renderer2.push(`<a${attr(\"href\", href)}${attr_class(\"agent svelte-ktcgml\", void 0, {\n \"cur\": active,\n \"done\": agent.state === \"done\",\n \"failed\": agent.state === \"failed\"\n })}${attr(\"title\", title())}><span class=\"glyph svelte-ktcgml\" aria-hidden=\"true\">`);\n if (agent.state === \"done\") {\n $$renderer2.push(`<!--[0--><svg viewBox=\"0 0 24 24\" class=\"svelte-ktcgml\"><path d=\"M5 12l5 5L20 7\"></path></svg>`);\n } else {\n $$renderer2.push(`<!--[-1--><svg viewBox=\"0 0 24 24\" class=\"svelte-ktcgml\"><path d=\"M12 3l9 9-9 9-9-9z\"></path></svg>`);\n }\n $$renderer2.push(`<!--]--></span> <span class=\"desc svelte-ktcgml\">${escape_html(title())}</span> <span class=\"type svelte-ktcgml\">${escape_html(agentTypeLabel(agent.type))}</span> <span class=\"status svelte-ktcgml\">${escape_html(status())}</span></a>`);\n });\n}\nconst PREVIEW_LEN = 32;\nconst SAVE_DEBOUNCE_MS = 250;\nconst persisted = createPersisted(\"claude-mux-drafts\", {});\nclass DraftsStore {\n state = persisted.load();\n flushTimer = null;\n get(target) {\n if (!target) return \"\";\n return this.state[target] ?? \"\";\n }\n set(target, text) {\n if (!target) return;\n const cur = this.state[target] ?? \"\";\n if (text === cur) return;\n if (text === \"\") delete this.state[target];\n else this.state[target] = text;\n this.scheduleFlush();\n }\n has(target) {\n return !!target && (this.state[target]?.length ?? 0) > 0;\n }\n preview(target) {\n const text = this.get(target);\n if (!text) return \"\";\n const flat = text.replace(/\\s+/g, \" \").trim();\n return flat.length > PREVIEW_LEN ? flat.slice(0, PREVIEW_LEN - 1) + \"…\" : flat;\n }\n // Coalesce keystrokes: localStorage writes serialize the whole map, so per-key\n // JSON.stringify is wasteful when the user is typing quickly.\n scheduleFlush() {\n if (this.flushTimer !== null) return;\n this.flushTimer = setTimeout(\n () => {\n this.flushTimer = null;\n persisted.save(this.state);\n },\n SAVE_DEBOUNCE_MS\n );\n }\n}\nconst draftsStore = new DraftsStore();\nfunction ServerPicker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let open = false;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, {\n class: \"server-picker-trigger\",\n \"aria-label\": \"Switch server\",\n children: ($$renderer5) => {\n $$renderer5.push(`<span class=\"dot\"></span> <span class=\"hostname\">${escape_html(serverStore.current.hostname || \"claude-mux\")}</span> <iconify-icon icon=\"mdi:chevron-down\" class=\"chev\"></iconify-icon>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"server-picker-content\",\n align: \"start\",\n sideOffset: 4,\n children: ($$renderer5) => {\n $$renderer5.push(`<header class=\"picker-header svelte-o2oefv\"><span class=\"picker-title svelte-o2oefv\">Servers</span> <button class=\"refresh-btn svelte-o2oefv\"${attr(\"disabled\", serverStore.loading, true)} title=\"Refresh server list\"><iconify-icon icon=\"mdi:refresh\"${attr_class(\"\", void 0, { \"spin\": serverStore.loading })}></iconify-icon></button></header> `);\n if (serverStore.error) {\n $$renderer5.push(`<!--[0--><div class=\"error svelte-o2oefv\">${escape_html(serverStore.error)}</div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <ul class=\"server-list svelte-o2oefv\"><!--[-->`);\n const each_array = ensure_array_like(serverStore.servers);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let server = each_array[$$index];\n const isCurrent = server.hostname === serverStore.current.hostname;\n $$renderer5.push(`<li><a${attr(\"href\", `${stringify(server.url)}/`)}${attr_class(\"server-item svelte-o2oefv\", void 0, { \"active\": isCurrent })}${attr(\"aria-current\", isCurrent ? \"page\" : void 0)}><span${attr_class(\"dot svelte-o2oefv\", void 0, { \"active\": isCurrent })}></span> <span class=\"hostname svelte-o2oefv\">${escape_html(server.hostname)}</span> `);\n if (isCurrent) {\n $$renderer5.push(`<!--[0--><iconify-icon icon=\"mdi:check\" class=\"check svelte-o2oefv\"></iconify-icon>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></a></li>`);\n }\n $$renderer5.push(`<!--]--></ul>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction Minus($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [[\"path\", { \"d\": \"M5 12h14\" }]];\n Icon($$renderer2, spread_props([\n { name: \"minus\" },\n /**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Checkbox($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n checked = false,\n indeterminate = false,\n class: className,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n {\n let children = function($$renderer4, { checked: checked2, indeterminate: indeterminate2 }) {\n $$renderer4.push(`<div data-slot=\"checkbox-indicator\" class=\"text-current transition-none\">`);\n if (checked2) {\n $$renderer4.push(\"<!--[0-->\");\n Check($$renderer4, { class: \"size-3.5\" });\n } else if (indeterminate2) {\n $$renderer4.push(\"<!--[1-->\");\n Minus($$renderer4, { class: \"size-3.5\" });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n };\n if (Checkbox$1) {\n $$renderer3.push(\"<!--[-->\");\n Checkbox$1($$renderer3, spread_props([\n {\n \"data-slot\": \"checkbox\",\n class: cn(\"border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n get checked() {\n return checked;\n },\n set checked($$value) {\n checked = $$value;\n $$settled = false;\n },\n get indeterminate() {\n return indeterminate;\n },\n set indeterminate($$value) {\n indeterminate = $$value;\n $$settled = false;\n },\n children,\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref, checked, indeterminate });\n });\n}\nfunction Scroll_area_scrollbar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n class: className,\n orientation = \"vertical\",\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Scroll_area_scrollbar$1) {\n $$renderer3.push(\"<!--[-->\");\n Scroll_area_scrollbar$1($$renderer3, spread_props([\n {\n \"data-slot\": \"scroll-area-scrollbar\",\n orientation,\n class: cn(\"flex touch-none p-px transition-colors select-none\", orientation === \"vertical\" && \"h-full w-2.5 border-s border-s-transparent\", orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent\", className)\n },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n children?.($$renderer4);\n $$renderer4.push(`<!----> `);\n if (Scroll_area_thumb) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_thumb($$renderer4, {\n \"data-slot\": \"scroll-area-thumb\",\n class: \"bg-border relative flex-1 rounded-full\"\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref });\n });\n}\nfunction Scroll_area($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n ref = null,\n viewportRef = null,\n class: className,\n orientation = \"vertical\",\n scrollbarXClasses = \"\",\n scrollbarYClasses = \"\",\n children,\n $$slots,\n $$events,\n ...restProps\n } = $$props;\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Scroll_area$1) {\n $$renderer3.push(\"<!--[-->\");\n Scroll_area$1($$renderer3, spread_props([\n { \"data-slot\": \"scroll-area\", class: cn(\"relative\", className) },\n restProps,\n {\n get ref() {\n return ref;\n },\n set ref($$value) {\n ref = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (Scroll_area_viewport) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_viewport($$renderer4, {\n \"data-slot\": \"scroll-area-viewport\",\n class: \"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1\",\n get ref() {\n return viewportRef;\n },\n set ref($$value) {\n viewportRef = $$value;\n $$settled = false;\n },\n children: ($$renderer5) => {\n children?.($$renderer5);\n $$renderer5.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (orientation === \"vertical\" || orientation === \"both\") {\n $$renderer4.push(\"<!--[0-->\");\n Scroll_area_scrollbar($$renderer4, { orientation: \"vertical\", class: scrollbarYClasses });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (orientation === \"horizontal\" || orientation === \"both\") {\n $$renderer4.push(\"<!--[0-->\");\n Scroll_area_scrollbar($$renderer4, { orientation: \"horizontal\", class: scrollbarXClasses });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (Scroll_area_corner) {\n $$renderer4.push(\"<!--[-->\");\n Scroll_area_corner($$renderer4, {});\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { ref, viewportRef });\n });\n}\nfunction FolderPicker($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { open = void 0, onpick } = $$props;\n let path = \"\";\n let home = \"\";\n let folders = [];\n let showHidden = false;\n let error = \"\";\n let query = \"\";\n let active = 0;\n const matches = derived(() => {\n const q = query.trim();\n return folders.flatMap((folder) => {\n const m = fuzzyMatch(folder.name, q);\n if (!m) return [];\n return [\n {\n folder,\n score: m.score,\n runs: q ? highlightRuns(folder.name, m.positions) : null\n }\n ];\n }).sort((a, b) => b.score - a.score);\n });\n const crumbs = derived(() => {\n if (!path) return [];\n const usesHome = home !== \"\" && `${path}/`.startsWith(`${home}/`);\n const parts = (usesHome ? path.slice(home.length) : path).split(\"/\").filter(Boolean);\n const list = usesHome ? [{ label: \"~\", path: home }] : [{ label: \"/\", path: \"/\" }];\n let acc = usesHome ? home : \"\";\n for (const part of parts) {\n acc = `${acc}/${part}`;\n list.push({ label: part, path: acc });\n }\n return list;\n });\n async function openAt(start = \"~\") {\n open = true;\n await browseTo(start);\n if (!window.matchMedia?.(\"(pointer: coarse)\").matches) ;\n }\n async function browseTo(to, keepQuery = false) {\n error = \"\";\n const res = await fetch(`/api/browse?path=${encodeURIComponent(to)}&showHidden=${showHidden}`);\n const data = await res.json();\n if (data.error) {\n error = data.error;\n return;\n }\n path = data.current;\n home = data.home;\n data.parent;\n folders = data.folders;\n if (!keepQuery) query = \"\";\n await tick();\n }\n function pickCurrent() {\n open = false;\n onpick(path);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n if (Dialog) {\n $$renderer3.push(\"<!--[-->\");\n Dialog($$renderer3, {\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (Dialog_content) {\n $$renderer4.push(\"<!--[-->\");\n Dialog_content($$renderer4, {\n class: \"w-[calc(100%-1.5rem)] max-w-lg gap-0 overflow-hidden border-[#333] bg-[#161616] p-0 sm:max-w-lg\",\n style: \"--fb-accent: #e8b35c;\",\n showCloseButton: false,\n onOpenAutoFocus: (e) => {\n e.preventDefault();\n },\n children: ($$renderer5) => {\n if (Dialog_title) {\n $$renderer5.push(\"<!--[-->\");\n Dialog_title($$renderer5, {\n class: \"px-4 pt-3 pb-2.5 font-mono text-[11px] font-medium tracking-[0.14em] text-[#6f6f6f] uppercase\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->open project`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Dialog_description) {\n $$renderer5.push(\"<!--[-->\");\n Dialog_description($$renderer5, {\n class: \"sr-only\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Browse to a folder and start a session in it. Type to filter this folder.`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` <nav class=\"fb-crumbs svelte-57drpi\" aria-label=\"Current path\"><!--[-->`);\n const each_array = ensure_array_like(crumbs());\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let crumb = each_array[i];\n const here = i === crumbs().length - 1;\n if (i > 0) {\n $$renderer5.push(`<!--[0--><span class=\"fb-sep svelte-57drpi\" aria-hidden=\"true\">/</span>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <button${attr_class(\"fb-crumb svelte-57drpi\", void 0, { \"here\": here })}${attr(\"aria-current\", here ? \"location\" : void 0)}>${escape_html(crumb.label)}</button>`);\n }\n $$renderer5.push(`<!--]--></nav> <div class=\"fb-prompt svelte-57drpi\"><span class=\"fb-caret svelte-57drpi\" aria-hidden=\"true\">❯</span> <input${attr(\"value\", query)} type=\"text\" placeholder=\"type to filter\" aria-label=\"Filter folders in this directory\" autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\" enterkeyhint=\"go\" class=\"svelte-57drpi\"/> <span class=\"fb-count svelte-57drpi\">${escape_html(query ? `${matches().length}/${folders.length}` : folders.length)}</span></div> `);\n if (error) {\n $$renderer5.push(`<!--[0--><p class=\"fb-error svelte-57drpi\">${escape_html(error)}</p>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> `);\n Scroll_area($$renderer5, {\n class: \"max-h-72 min-h-24 border-y border-[#333]\",\n children: ($$renderer6) => {\n $$renderer6.push(`<div>`);\n const each_array_1 = ensure_array_like(matches());\n if (each_array_1.length !== 0) {\n $$renderer6.push(\"<!--[-->\");\n for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n let match = each_array_1[i];\n $$renderer6.push(`<button${attr_class(\"fb-item svelte-57drpi\", void 0, { \"active\": i === active })}><span class=\"fb-name svelte-57drpi\">`);\n if (match.runs) {\n $$renderer6.push(`<!--[0--><!--[-->`);\n const each_array_2 = ensure_array_like(match.runs);\n for (let $$index_1 = 0, $$length2 = each_array_2.length; $$index_1 < $$length2; $$index_1++) {\n let run2 = each_array_2[$$index_1];\n if (run2.hit) {\n $$renderer6.push(`<!--[0--><mark class=\"svelte-57drpi\">${escape_html(run2.text)}</mark>`);\n } else {\n $$renderer6.push(`<!--[-1-->${escape_html(run2.text)}`);\n }\n $$renderer6.push(`<!--]-->`);\n }\n $$renderer6.push(`<!--]-->`);\n } else {\n $$renderer6.push(`<!--[-1-->${escape_html(match.folder.name)}`);\n }\n $$renderer6.push(`<!--]--></span> `);\n if (match.folder.git) {\n $$renderer6.push(`<!--[0--><span class=\"fb-tag svelte-57drpi\">git</span>`);\n } else {\n $$renderer6.push(\"<!--[-1-->\");\n }\n $$renderer6.push(`<!--]--></button>`);\n }\n } else {\n $$renderer6.push(`<!--[!--><p class=\"fb-empty svelte-57drpi\">`);\n if (query) {\n $$renderer6.push(`<!--[0-->No folder here matches <span class=\"fb-empty-q svelte-57drpi\">${escape_html(query)}</span>. Backspace to clear.`);\n } else {\n $$renderer6.push(`<!--[-1-->No folders here. Open this one, or go up a level.`);\n }\n $$renderer6.push(`<!--]--></p>`);\n }\n $$renderer6.push(`<!--]--></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> <div class=\"fb-keys svelte-57drpi\"><span class=\"fb-hints svelte-57drpi\">↑↓ move · ⏎ enter folder · ⌫ go up · ⌘⏎ open here</span> <div class=\"fb-hidden svelte-57drpi\">`);\n Checkbox($$renderer5, {\n id: \"fb-show-hidden\",\n checked: showHidden,\n onCheckedChange: (v) => {\n showHidden = !!v;\n browseTo(path, true);\n }\n });\n $$renderer5.push(`<!----> <label for=\"fb-show-hidden\" class=\"svelte-57drpi\">hidden</label></div></div> <div class=\"fb-footer svelte-57drpi\">`);\n Button($$renderer5, {\n variant: \"ghost\",\n size: \"sm\",\n onclick: () => open = false,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n size: \"sm\",\n onclick: pickCurrent,\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Open here`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n bind_props($$props, { open, openAt });\n });\n}\nfunction NeedsYou($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { machines } = $$props;\n const waiting = derived(() => {\n const out = [];\n for (const machine of machines) {\n const host = machine.server.hostname;\n for (const s of machine.sessions) {\n if (s.pane_alive === false) continue;\n if (s.state !== \"waiting\" && s.state !== \"permission\") continue;\n out.push({\n kind: \"session\",\n key: `${host}/s/${s.id}`,\n machine,\n session: s,\n since: s.last_update\n });\n }\n for (const t of machine.inbox) {\n if (t.kind !== \"needs-help\") continue;\n const session = machine.sessions.find((s) => s.pane_alive !== false && s.maestro_issue === t.number && s.git_root === t.git_root) ?? null;\n if (session && (session.state === \"waiting\" || session.state === \"permission\")) continue;\n out.push({\n kind: \"help\",\n key: `${host}/h/${t.repo}#${t.number}`,\n machine,\n ticket: t,\n session,\n since: t.since\n });\n }\n }\n return out.sort((a, b) => a.since - b.since);\n });\n const ready = derived(() => {\n const out = [];\n for (const machine of machines) {\n for (const t of machine.inbox) {\n if (t.kind === \"needs-help\") continue;\n out.push({\n key: `${machine.server.hostname}/t/${t.repo}#${t.number}`,\n machine,\n ticket: t\n });\n }\n }\n return out.sort((a, b) => a.ticket.since - b.ticket.since);\n });\n const READY_SHOWN = 3;\n const readyShown = derived(() => ready().slice(0, READY_SHOWN));\n const multiHost = derived(() => machines.length > 1);\n function repoName(t) {\n return t.repo.split(\"/\").pop() ?? t.repo;\n }\n const KIND_ICON = {\n \"needs-help\": \"mdi:hand-back-right-outline\",\n grilling: \"mdi:signpost-outline\",\n prototype: \"mdi:shape-outline\"\n };\n if (waiting().length > 0 || ready().length > 0) {\n $$renderer2.push(`<!--[0--><section${attr_class(\"needs svelte-1ps2dls\", void 0, { \"urgent\": waiting().length > 0 })} aria-label=\"Needs you\"><header class=\"h svelte-1ps2dls\"><span class=\"t svelte-1ps2dls\">Needs you</span> <span class=\"line svelte-1ps2dls\"></span> `);\n if (waiting().length > 0) {\n $$renderer2.push(`<!--[0--><span class=\"n svelte-1ps2dls\">${escape_html(waiting().length)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></header> <!--[-->`);\n const each_array = ensure_array_like(waiting());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let item = each_array[$$index];\n if (item.kind === \"session\") {\n $$renderer2.push(\"<!--[0-->\");\n const s = item.session;\n $$renderer2.push(`<button type=\"button\" class=\"it svelte-1ps2dls\"${attr(\"title\", s.cwd)}><span class=\"ic svelte-1ps2dls\">`);\n SessionStateIndicator($$renderer2, { state: s.state, size: \"sm\" });\n $$renderer2.push(`<!----></span> <span class=\"name svelte-1ps2dls\">${escape_html(getSessionDisplayName(s))}</span> <span class=\"when svelte-1ps2dls\">${escape_html(formatAgo(item.since, clock.now))}</span> <span class=\"sub svelte-1ps2dls\">${escape_html(asking(s))}`);\n if (multiHost()) {\n $$renderer2.push(`<!--[0--><span class=\"host svelte-1ps2dls\">${escape_html(item.machine.server.hostname)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></span></button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n const t = item.ticket;\n $$renderer2.push(`<button type=\"button\" class=\"it svelte-1ps2dls\"${attr(\"title\", t.url)}><span class=\"ic help svelte-1ps2dls\"><iconify-icon${attr(\"icon\", KIND_ICON[\"needs-help\"])}></iconify-icon></span> <span class=\"name svelte-1ps2dls\">${escape_html(item.session && needsHelp(item.session) ? getSessionDisplayName(item.session) : t.title)}</span> <span class=\"when svelte-1ps2dls\">${escape_html(formatAgo(item.since, clock.now))}</span> <span class=\"sub note svelte-1ps2dls\"><span class=\"num svelte-1ps2dls\">#${escape_html(t.number)}</span>${escape_html(t.note ?? \"Worker asked for a decision\")}</span></button>`);\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--> `);\n if (ready().length > 0) {\n $$renderer2.push(`<!--[0--><div${attr_class(\"ready-h svelte-1ps2dls\", void 0, { \"first\": waiting().length === 0 })}>Ready to decide `);\n if (ready().length > READY_SHOWN) {\n $$renderer2.push(`<!--[0--><button type=\"button\" class=\"more svelte-1ps2dls\">${escape_html(`all ${ready().length}`)}</button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <!--[-->`);\n const each_array_1 = ensure_array_like(readyShown());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let item = each_array_1[$$index_1];\n const t = item.ticket;\n $$renderer2.push(`<div class=\"it ticket svelte-1ps2dls\"><span class=\"ic svelte-1ps2dls\"><iconify-icon${attr(\"icon\", KIND_ICON[t.kind])}></iconify-icon></span> <a class=\"name svelte-1ps2dls\"${attr(\"href\", t.url)} target=\"_blank\" rel=\"noopener\" title=\"Open on GitHub\">${escape_html(t.title)}</a> <button type=\"button\" class=\"start svelte-1ps2dls\"${attr(\"title\", `Open a Claude session in ${stringify(repoName(t))} that works this ticket with you`)}>Start</button> <span class=\"sub svelte-1ps2dls\"><span class=\"num svelte-1ps2dls\">#${escape_html(t.number)}</span>${escape_html(t.kind)} in ${escape_html(repoName(t))}`);\n if (multiHost()) {\n $$renderer2.push(`<!--[0--><span class=\"host svelte-1ps2dls\">${escape_html(item.machine.server.hostname)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></span></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></section>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction parseRef(text) {\n const value = text.trim();\n if (!value) return null;\n const at = value.indexOf(\"@\");\n if (at === -1) return { host: null, target: value };\n const host = value.slice(0, at);\n const target = value.slice(at + 1);\n if (!host || !target || host.includes(\":\") || host.includes(\"/\")) return null;\n return { host, target };\n}\nfunction formatRef(ref) {\n return ref.host ? `${ref.host}@${ref.target}` : ref.target;\n}\nfunction sameRef(a, b) {\n if (!a || !b) return a === b;\n return (a.host ?? null) === (b.host ?? null) && a.target === b.target;\n}\nfunction hostOrigin(ref, servers, self) {\n if (!ref.host || ref.host === self) return \"\";\n const server = servers.find((s) => s.hostname === ref.host);\n return server?.url.replace(/\\/$/, \"\") ?? null;\n}\nfunction paneUrl(ref, servers, self) {\n const origin = hostOrigin(ref, servers, self);\n if (origin === null) return null;\n return `${origin}/session/${encodeURIComponent(ref.target)}?embed=1`;\n}\nfunction singleUrl(ref, servers, self) {\n const origin = hostOrigin(ref, servers, self);\n if (origin === null) return null;\n return `${origin}/session/${encodeURIComponent(ref.target)}`;\n}\nfunction splitUrl(a, b) {\n return `/session/${encodeURIComponent(formatRef(a))}?with=${encodeURIComponent(formatRef(b))}`;\n}\nconst ratioStore = createPersisted(\"claude-mux-split-ratio\", 0.5);\nfunction navigate(url) {\n if (!url) return;\n if (url.startsWith(\"/\")) void goto();\n else window.location.href = url;\n}\nclass SplitStore {\n a = null;\n b = null;\n focus = \"a\";\n zoom = null;\n ratio = 0.5;\n /** A sidebar row is mid-drag: the panes show their drop targets. */\n dragging = false;\n #active = derived(() => this.a !== null && this.b !== null);\n get active() {\n return this.#active();\n }\n set active($$value) {\n return this.#active($$value);\n }\n constructor() {\n }\n /** Called by the layout whenever the URL changes. */\n setPanes(a, b) {\n if (!sameRef(this.a, a)) this.a = a;\n if (!sameRef(this.b, b)) this.b = b;\n if (!this.active) this.zoom = null;\n }\n pane(side) {\n return side === \"a\" ? this.a : this.b;\n }\n /** Which pane holds this session, if any. */\n sideOf(ref) {\n if (sameRef(this.a, ref)) return \"a\";\n if (sameRef(this.b, ref)) return \"b\";\n return null;\n }\n setFocus(side) {\n this.focus = side;\n }\n other(side) {\n return side === \"a\" ? \"b\" : \"a\";\n }\n /**\n * Open a session in a pane. With no split on, the focused pane is the page\n * itself and the other pane is the right half that does not exist yet:\n * opening there is what starts a split.\n */\n openIn(side, ref, current) {\n const target = side === \"focus\" ? this.focus : side === \"other\" ? this.other(this.focus) : side;\n if (this.active && this.a && this.b) {\n const a = target === \"a\" ? ref : this.a;\n const b = target === \"b\" ? ref : this.b;\n if (sameRef(a, b)) return;\n navigate(splitUrl(a, b));\n this.focus = target;\n return;\n }\n if (target === \"b\" && current && !sameRef(current, ref)) {\n navigate(splitUrl(current, ref));\n this.focus = \"b\";\n return;\n }\n navigate(singleUrl(ref, serverStore.servers, serverStore.self));\n }\n /** Start a split with `ref` beside the session on the page. */\n splitWith(ref, current) {\n if (!current || sameRef(current, ref)) return;\n navigate(splitUrl(current, ref));\n this.focus = \"b\";\n }\n /** Close one pane; the other takes the whole width. */\n close(side) {\n const keep = this.pane(this.other(side));\n if (!keep) return;\n this.zoom = null;\n this.focus = \"a\";\n navigate(singleUrl(keep, serverStore.servers, serverStore.self));\n }\n swap() {\n if (!this.a || !this.b) return;\n this.focus = this.other(this.focus);\n if (this.zoom) this.zoom = this.other(this.zoom);\n navigate(splitUrl(this.b, this.a));\n }\n toggleZoom(side) {\n this.zoom = this.zoom === side ? null : side;\n this.focus = side;\n }\n setRatio(ratio) {\n this.ratio = Math.min(0.8, Math.max(0.2, ratio));\n ratioStore.save(this.ratio);\n }\n /** For the sidebar's A/B tags and titles. */\n label(ref) {\n return formatRef(ref);\n }\n}\nconst splitStore = new SplitStore();\nfunction AllSessionsPanel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n var $$store_subs;\n let folded = {};\n function isFolded(machine) {\n const stored = folded[machine.server.hostname];\n return stored ?? !machine.local;\n }\n let opened = /* @__PURE__ */ new Set();\n const NO_AGENTS = { rows: [], running: 0, folded: 0 };\n function agentsOf(s) {\n return s.subagents?.length ? agentView(s.subagents, clock.now, opened) : NO_AGENTS;\n }\n let { onSessionSelect, compact = false } = $$props;\n let showFolderBrowser = false;\n let alertOpen = false;\n let alertTitle = \"\";\n let alertMessage = \"\";\n let alertOnConfirm = () => {\n };\n let renameId = null;\n let menuOpen = false;\n let searchOpen = false;\n let query = \"\";\n function showConfirm(title, message, onConfirm) {\n alertTitle = title;\n alertMessage = message;\n alertOnConfirm = onConfirm;\n alertOpen = true;\n }\n let agentPicker = null;\n let quietMenu = null;\n function quietKey(machine, card) {\n return `${machine.server.hostname}\\0${card.cwd}`;\n }\n const tmuxPanes = derived(() => tmuxPanesStore.panes);\n const tmuxPanesLoaded = derived(() => tmuxPanesStore.loaded);\n const currentTarget = derived(() => store_get($$store_subs ??= {}, \"$page\", page).url.pathname.startsWith(\"/session/\") ? decodeURIComponent(store_get($$store_subs ??= {}, \"$page\", page).url.pathname.split(\"/session/\")[1]) : null);\n function looksLikeRoot(cwd) {\n const parts = cwd.split(\"/\").filter(Boolean);\n if (parts.length <= 2) return true;\n return /^\\/(?:mnt|media|Volumes)\\/[^/]+$/.test(cwd);\n }\n function under(child, parent) {\n return child === parent || child.startsWith(parent + \"/\");\n }\n function rootsOf(machine) {\n const roots = [...machine.projects];\n const extra = machine.sessions.map((s) => s.cwd).filter((cwd) => !!cwd && !looksLikeRoot(cwd)).sort((a, b) => a.length - b.length);\n for (const cwd of extra) {\n if (roots.some((r) => under(cwd, r))) continue;\n roots.push(cwd);\n }\n return roots;\n }\n function relPath(cwd, root) {\n if (cwd === root) return null;\n return cwd.slice(root.length + 1).replace(/^\\.worktrees?\\//, \"\");\n }\n function rowTitle(row) {\n const s = row.session;\n if (!s.issue && !s.display_name && row.rel && !row.orchestrator) return row.rel;\n return getSessionDisplayName(s);\n }\n function rowWhere(row, agents) {\n if (row.orchestrator) return \"orch\";\n const children = childSummary(row.workers ?? 0, agents);\n if (children) return children;\n return !row.worker && row.session.display_name && row.rel ? row.rel : null;\n }\n function agentHref(machine, target, agentId) {\n return `${apiBase(machine)}/session/${encodeURIComponent(target)}/agent/${encodeURIComponent(agentId)}`;\n }\n function tmuxSessionOf(s) {\n return s.tmux_target?.split(\":\")[0] ?? null;\n }\n function nestWorkers(rows) {\n const workersOf = /* @__PURE__ */ new Map();\n const placed = /* @__PURE__ */ new Set();\n for (const row of rows) {\n if (row.session.maestro_role !== \"worker\") continue;\n const home = tmuxSessionOf(row.session);\n const master = rows.find((r) => r !== row && !r.orchestrator && r.session.maestro_role !== \"worker\" && tmuxSessionOf(r.session) === home);\n if (!master) continue;\n row.worker = true;\n workersOf.set(master, [...workersOf.get(master) ?? [], row]);\n placed.add(row);\n }\n if (placed.size === 0) return rows;\n const out = [];\n for (const row of rows) {\n if (placed.has(row)) continue;\n const workers = workersOf.get(row);\n out.push(workers ? { ...row, workers: workers.length } : row);\n if (workers) {\n workers.sort((a, b) => (a.session.maestro_issue ?? 0) - (b.session.maestro_issue ?? 0));\n out.push(...workers.slice(0, -1), { ...workers.at(-1), trailing: row.session });\n }\n }\n return out;\n }\n function rowsFor(sessions, root) {\n const rows = [];\n for (const item of groupSessions(sessions)) {\n if (item.type === \"pair\") {\n rows.push({\n session: item.main,\n rel: root ? relPath(item.main.cwd, root) : null,\n orchestrator: false\n });\n rows.push({ session: item.orchestrator, rel: null, orchestrator: true });\n } else {\n rows.push({\n session: item.session,\n rel: root ? relPath(item.session.cwd, root) : null,\n orchestrator: false\n });\n }\n }\n return nestWorkers(rows);\n }\n function matches(text) {\n const q = query.trim().toLowerCase();\n return !q || text.toLowerCase().includes(q);\n }\n function viewOf(machine) {\n const roots = rootsOf(machine);\n const claudeTargets = new Set(machine.sessions.map((s) => s.tmux_target));\n const panes = machine.local ? tmuxPanes().filter((p) => !claudeTargets.has(p.target)) : [];\n const byRoot = /* @__PURE__ */ new Map();\n for (const root of roots) byRoot.set(root, { live: [], dead: [], panes: [] });\n const loose = [];\n for (const s of machine.sessions) {\n const root = s.cwd ? findDeepestProject(s.cwd, roots) : null;\n if (!root) {\n loose.push(s);\n continue;\n }\n const bucket = byRoot.get(root);\n (s.pane_alive === false ? bucket.dead : bucket.live).push(s);\n }\n const loosePanes = [];\n for (const pane of panes) {\n const root = pane.cwd ? findDeepestProject(pane.cwd, roots) : null;\n if (root) byRoot.get(root).panes.push(pane);\n else loosePanes.push(pane);\n }\n const cards = [];\n const quiet = [];\n for (const root of roots) {\n const bucket = byRoot.get(root);\n const name = root.split(\"/\").pop() || root;\n const rows = rowsFor(bucket.live, root);\n const card = {\n cwd: root,\n name,\n color: getProjectColor(root),\n wants: bucket.live.some(wantsHuman),\n rows,\n dead: bucket.dead,\n panes: bucket.panes\n };\n if (query.trim()) {\n const hit = matches(name) || rows.some((r) => matches(getSessionDisplayName(r.session)));\n if (!hit) continue;\n }\n if (rows.length === 0 && bucket.panes.length === 0) quiet.push(card);\n else cards.push(card);\n }\n cards.sort((a, b) => a.name.localeCompare(b.name));\n quiet.sort((a, b) => a.name.localeCompare(b.name));\n return {\n machine,\n cards,\n quiet,\n loose: rowsFor(loose.filter((s) => matches(getSessionDisplayName(s))), null),\n loosePanes: query.trim() ? loosePanes.filter((p) => matches(p.target)) : loosePanes\n };\n }\n const views = derived(() => fleetStore.visible.map(viewOf));\n const anything = derived(() => views().some((v) => v.cards.length + v.quiet.length + v.loose.length + v.loosePanes.length > 0));\n function liveCount(machine) {\n return machine.sessions.filter((s) => s.pane_alive !== false).length;\n }\n function machineWants(machine) {\n return machine.sessions.some((s) => s.pane_alive !== false && wantsHuman(s));\n }\n function detectPaneAgent(command) {\n const cmd = command.toLowerCase();\n for (const id of AGENT_IDS) if (cmd.includes(id)) return id;\n return null;\n }\n function apiBase(machine) {\n return machine.local ? \"\" : machine.server.url;\n }\n function refOf(machine, tmuxTarget) {\n return {\n host: machine.local ? null : machine.server.hostname,\n target: tmuxTarget\n };\n }\n function currentRef() {\n if (splitStore.active) return splitStore.pane(splitStore.focus);\n return currentTarget() ? { host: null, target: currentTarget() } : null;\n }\n function openSession(machine, tmuxTarget, other = false) {\n const ref = refOf(machine, tmuxTarget);\n if (splitStore.active) {\n splitStore.openIn(other ? \"other\" : \"focus\", ref, currentRef());\n onSessionSelect?.();\n return;\n }\n if (other && currentTarget()) {\n splitStore.splitWith(ref, currentRef());\n onSessionSelect?.();\n return;\n }\n goToSession(machine, tmuxTarget);\n }\n function goToSession(machine, tmuxTarget, query2 = \"\") {\n const path = `/session/${encodeURIComponent(tmuxTarget)}${query2}`;\n if (machine.local) {\n goto();\n onSessionSelect?.();\n } else {\n window.location.href = `${machine.server.url}${path}`;\n }\n }\n function panelMenu(machine, tmuxTarget) {\n return PANES.map((pane) => ({\n label: `Open ${pane.label.toLowerCase()}`,\n icon: pane.icon,\n run: () => goToSession(machine, tmuxTarget, `?panel=${pane.kind}`)\n }));\n }\n function handleRowClick(e, machine, session) {\n e.preventDefault();\n if (e.detail >= 2 && machine.local) {\n renameId = session.id;\n return;\n }\n if (session.tmux_target) openSession(machine, session.tmux_target, e.altKey);\n }\n function paneTag(machine, tmuxTarget) {\n if (!tmuxTarget || !splitStore.active) return null;\n const side = splitStore.sideOf(refOf(machine, tmuxTarget));\n return side === \"a\" ? \"A\" : side === \"b\" ? \"B\" : null;\n }\n const canDrag = browser;\n function dragStart(e, machine, tmuxTarget) {\n if (!e.dataTransfer) return;\n e.dataTransfer.setData(\"text/claude-mux-session\", formatRef(refOf(machine, tmuxTarget)));\n e.dataTransfer.effectAllowed = \"link\";\n splitStore.dragging = true;\n }\n function dragEnd() {\n splitStore.dragging = false;\n }\n function killSessionReq(machine, s) {\n return fetch(`${apiBase(machine)}/api/sessions/${encodeURIComponent(s.id)}/kill`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ pid: s.pid, tmux_target: s.tmux_target })\n });\n }\n function killSession(machine, s) {\n showConfirm(\"Kill session\", `Kill “${getSessionDisplayName(s)}”?`, () => {\n void killSessionReq(machine, s);\n });\n }\n async function newSessionInProject(machine, cwd, agent = \"claude\", prompt) {\n const res = await fetch(`${apiBase(machine)}/api/projects/new-session`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ cwd, agent, prompt })\n });\n const data = await res.json();\n if (!data.ok) {\n alert(`Failed to create session: ${data.detail || data.error || \"Unknown error\"}`);\n return;\n }\n if (machine.local) {\n sessionStore.saveProject(cwd);\n if (data.record) sessionStore.optimisticAdd(data.record);\n }\n const tmuxTarget = data.tmuxTarget || data.session + \":0.0\";\n openSession(machine, tmuxTarget);\n }\n async function closeChrome() {\n await fetch(\"/api/chrome\", { method: \"DELETE\" });\n }\n const RESET_KEEP_KEYS = /* @__PURE__ */ new Set([STORAGE_KEYS.lastSession]);\n function resetLocalStorage() {\n showConfirm(\"Reset local data\", \"This clears preferences and cached data in this browser. Your projects stay on the server. The page will reload.\", () => {\n for (let i = localStorage.length - 1; i >= 0; i--) {\n const key = localStorage.key(i);\n if (key && key.startsWith(\"claude-mux-\") && !RESET_KEEP_KEYS.has(key)) {\n localStorage.removeItem(key);\n }\n }\n window.location.reload();\n });\n }\n const menuActions = derived(() => [\n {\n label: \"Usage\",\n icon: \"mdi:chart-line\",\n run: () => void goto()\n },\n {\n label: \"Close Chrome\",\n icon: \"mdi:google-chrome\",\n run: () => void closeChrome()\n },\n {\n label: \"Refresh\",\n icon: \"mdi:refresh\",\n run: () => location.reload()\n },\n {\n label: sessionStore.paused ? \"Resume updates\" : \"Pause updates\",\n icon: sessionStore.paused ? \"mdi:play\" : \"mdi:pause\",\n run: () => sessionStore.togglePause(),\n variant: sessionStore.paused ? \"destructive\" : \"secondary\"\n },\n // Only offered when the server says where it stands; an older one does not.\n ...sessionStore.settings ? [\n {\n label: sessionStore.settings.autoRemoteControl ? \"Remote Control on new sessions: on\" : \"Remote Control on new sessions: off\",\n icon: sessionStore.settings.autoRemoteControl ? \"mdi:cellphone-link\" : \"mdi:cellphone-link-off\",\n run: () => sessionStore.setSetting({ autoRemoteControl: !sessionStore.settings?.autoRemoteControl })\n }\n ] : [],\n {\n label: \"Reset data\",\n icon: \"mdi:database-refresh\",\n run: () => resetLocalStorage(),\n danger: true\n }\n ]);\n function sessionRow($$renderer3, machine, row) {\n if (row.worker) {\n $$renderer3.push(`<!--[0--><div class=\"thread worker svelte-183q6rw\">`);\n rowWithAgents($$renderer3, machine, row);\n $$renderer3.push(`<!----></div> `);\n if (row.trailing) {\n $$renderer3.push(\"<!--[0-->\");\n agentThread($$renderer3, machine, row.trailing, agentsOf(row.trailing));\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n rowWithAgents($$renderer3, machine, row);\n }\n $$renderer3.push(`<!--]-->`);\n }\n function agentThread($$renderer3, machine, s, agents) {\n if (agents.rows.length > 0 && s.tmux_target) {\n $$renderer3.push(`<!--[0--><div class=\"thread agents svelte-183q6rw\"><!--[-->`);\n const each_array = ensure_array_like(agents.rows);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let agent = each_array[$$index];\n const href = agentHref(machine, s.tmux_target, agent.id);\n SubagentRow($$renderer3, {\n agent,\n href,\n active: machine.local && store_get($$store_subs ??= {}, \"$page\", page).url.pathname === href\n });\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function rowWithAgents($$renderer3, machine, row) {\n const s = row.session;\n const agents = agentsOf(s);\n const isActive = machine.local && s.tmux_target === currentTarget();\n const draftable = machine.local && !isActive && !!s.tmux_target;\n {\n let meta = function($$renderer4) {\n DiffBadge($$renderer4, { changes: s.changes });\n };\n SessionRow($$renderer3, {\n session: s,\n title: rowTitle(row),\n where: rowWhere(row, agents),\n href: machine.local && s.tmux_target ? `/session/${encodeURIComponent(s.tmux_target)}` : `${machine.server.url}/session/${encodeURIComponent(s.tmux_target ?? \"\")}`,\n hint: machine.local ? \"Double-click or long-press to rename\" : `On ${machine.server.hostname}`,\n active: isActive,\n tag: paneTag(machine, s.tmux_target),\n orchestrator: row.orchestrator,\n worker: row.worker,\n draft: draftable ? draftsStore.preview(s.tmux_target) : \"\",\n staged: draftable ? attachmentsStore.count(s.tmux_target) : 0,\n draggable: canDrag,\n onkill: machine.local && !compact ? () => killSession(machine, s) : null,\n onmarkunread: isActive || paneTag(machine, s.tmux_target) ? null : () => postVisit(apiBase(machine), s.id, true),\n onclick: (e) => handleRowClick(e, machine, s),\n onlongpress: () => {\n if (machine.local) renameId = s.id;\n },\n ondragstart: (e) => s.tmux_target && dragStart(e, machine, s.tmux_target),\n ondragend: dragEnd,\n menu: s.tmux_target && !splitStore.active ? panelMenu(machine, s.tmux_target) : [],\n meta\n });\n }\n $$renderer3.push(`<!----> `);\n if (!row.workers) {\n $$renderer3.push(\"<!--[0-->\");\n agentThread($$renderer3, machine, s, agents);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n function paneRow($$renderer3, machine, pane) {\n const isActive = pane.target === currentTarget();\n const detected = detectPaneAgent(pane.command || \"\");\n const meta = detected ? AGENTS[detected] : null;\n $$renderer3.push(`<a${attr(\"href\", `/session/${stringify(encodeURIComponent(pane.target))}`)}${attr_class(\"row svelte-183q6rw\", void 0, { \"cur\": isActive })}${attr(\"draggable\", \"false\")}><span class=\"st svelte-183q6rw\"><iconify-icon${attr(\"icon\", meta?.icon ?? \"mdi:console-line\")}${attr_style(meta ? `color:${meta.color}` : \"\")} class=\"svelte-183q6rw\"></iconify-icon></span> <span class=\"name mono svelte-183q6rw\">${escape_html(pane.target)}</span> <span class=\"meta svelte-183q6rw\"><span class=\"when svelte-183q6rw\">${escape_html(meta?.label ?? pane.command)}</span></span> <span class=\"ctx none svelte-183q6rw\"></span></a>`);\n }\n function projectCard($$renderer3, machine, card) {\n $$renderer3.push(`<section${attr_class(\"card proj svelte-183q6rw\", void 0, { \"wants\": card.wants })}><div class=\"proj-h svelte-183q6rw\"><span class=\"chip svelte-183q6rw\"${attr_style(`background:${stringify(card.color)}`)}>${escape_html(card.name.slice(0, 1).toLowerCase())}</span> <span class=\"pname svelte-183q6rw\"${attr(\"title\", card.cwd)}>${escape_html(card.name)}</span> <span class=\"pcount svelte-183q6rw\">${escape_html(card.rows.filter((r) => !r.orchestrator).length)}</span> <button type=\"button\" class=\"pbtn svelte-183q6rw\" title=\"New session here (right-click or hold for another agent)\"><iconify-icon icon=\"mdi:plus\"></iconify-icon></button> <button type=\"button\" class=\"pbtn pclose svelte-183q6rw\" title=\"Close project\"><iconify-icon icon=\"mdi:close\"></iconify-icon></button></div> <!--[-->`);\n const each_array_1 = ensure_array_like(card.rows);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let row = each_array_1[$$index_1];\n sessionRow($$renderer3, machine, row);\n }\n $$renderer3.push(`<!--]--> <!--[-->`);\n const each_array_2 = ensure_array_like(card.panes);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let pane = each_array_2[$$index_2];\n paneRow($$renderer3, machine, pane);\n }\n $$renderer3.push(`<!--]--> `);\n if (card.dead.length > 0) {\n $$renderer3.push(`<!--[0--><div class=\"dead svelte-183q6rw\"><span class=\"n svelte-183q6rw\">${escape_html(card.dead.length)}</span> ${escape_html(card.dead.length === 1 ? \"closed session\" : \"closed sessions\")} `);\n if (machine.local) {\n $$renderer3.push(`<!--[0--><button type=\"button\" class=\"sweep svelte-183q6rw\">clear</button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></section>`);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div${attr_class(\"panel svelte-183q6rw\", void 0, { \"compact\": compact })}><header class=\"card head svelte-183q6rw\">`);\n ServerPicker($$renderer3);\n $$renderer3.push(`<!----> <button type=\"button\"${attr_class(\"ghost\", void 0, { \"lit\": searchOpen })} title=\"Find a session\"><iconify-icon icon=\"mdi:magnify\"></iconify-icon></button> `);\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n get open() {\n return menuOpen;\n },\n set open($$value) {\n menuOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, {\n class: \"ghost\",\n title: \"More\",\n children: ($$renderer5) => {\n $$renderer5.push(`<iconify-icon icon=\"mdi:dots-horizontal\"></iconify-icon>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"menu\",\n align: \"end\",\n sideOffset: 6,\n children: ($$renderer5) => {\n $$renderer5.push(`<!--[-->`);\n const each_array_3 = ensure_array_like(menuActions());\n for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n let action = each_array_3[$$index_3];\n $$renderer5.push(`<button type=\"button\"${attr_class(\"mitem svelte-183q6rw\", void 0, { \"danger\": action.danger })}><iconify-icon${attr(\"icon\", action.icon)} class=\"svelte-183q6rw\"></iconify-icon>${escape_html(action.label)}</button>`);\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` <button type=\"button\" class=\"new svelte-183q6rw\" title=\"New project or session\"><iconify-icon icon=\"mdi:plus\" class=\"svelte-183q6rw\"></iconify-icon>New</button></header> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (fleetStore.fleet) {\n $$renderer3.push(`<!--[0--><div class=\"machines svelte-183q6rw\" role=\"tablist\" aria-label=\"Machines\"><button type=\"button\"${attr_class(\"m svelte-183q6rw\", void 0, { \"on\": fleetStore.selected === \"all\" })} role=\"tab\">all</button> <!--[-->`);\n const each_array_4 = ensure_array_like(fleetStore.machines);\n for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n let machine = each_array_4[$$index_4];\n $$renderer3.push(`<button type=\"button\"${attr_class(\"m svelte-183q6rw\", void 0, {\n \"on\": fleetStore.selected === machine.server.hostname,\n \"wants\": machineWants(machine)\n })} role=\"tab\"${attr(\"title\", machine.connected ? machine.server.url : `${machine.server.hostname} is unreachable`)}><span${attr_class(\"dot svelte-183q6rw\", void 0, { \"off\": !machine.connected })}></span> ${escape_html(machine.server.hostname || \"this machine\")} `);\n if (liveCount(machine) > 0) {\n $$renderer3.push(`<!--[0--><span class=\"n svelte-183q6rw\">${escape_html(liveCount(machine))}</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></button>`);\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"list svelte-183q6rw\">`);\n if (!query.trim()) {\n $$renderer3.push(\"<!--[0-->\");\n NeedsYou($$renderer3, {\n machines: fleetStore.visible\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (!anything()) {\n $$renderer3.push(`<!--[0--><div class=\"empty svelte-183q6rw\">`);\n if (query.trim()) {\n $$renderer3.push(`<!--[0-->Nothing matches “${escape_html(query)}”.`);\n } else {\n $$renderer3.push(`<!--[-1-->No sessions yet. <button type=\"button\" class=\"link svelte-183q6rw\">Open a project</button> to start one.`);\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <!--[-->`);\n const each_array_5 = ensure_array_like(views());\n for (let $$index_10 = 0, $$length = each_array_5.length; $$index_10 < $$length; $$index_10++) {\n let view = each_array_5[$$index_10];\n const showLabel = fleetStore.fleet && fleetStore.selected === \"all\";\n const shut = showLabel && isFolded(view.machine);\n if (showLabel) {\n $$renderer3.push(`<!--[0--><button type=\"button\"${attr_class(\"mlabel svelte-183q6rw\", void 0, { \"shut\": shut, \"wants\": shut && machineWants(view.machine) })}${attr(\"aria-expanded\", !shut)}${attr(\"title\", shut ? \"Show this machine\" : \"Fold this machine\")}><iconify-icon${attr(\"icon\", shut ? \"mdi:chevron-right\" : \"mdi:chevron-down\")} class=\"svelte-183q6rw\"></iconify-icon> <span${attr_class(\"dot svelte-183q6rw\", void 0, { \"off\": !view.machine.connected })}></span> <span class=\"mname svelte-183q6rw\">${escape_html(view.machine.server.hostname || \"this machine\")}</span> <span class=\"mline svelte-183q6rw\"></span> `);\n if (shut) {\n $$renderer3.push(`<!--[0--><span class=\"mcount svelte-183q6rw\">`);\n if (machineWants(view.machine)) {\n $$renderer3.push(`<!--[0--><span class=\"pill svelte-183q6rw\">wants you</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> ${escape_html(liveCount(view.machine))} live `);\n if (view.quiet.length > 0) {\n $$renderer3.push(`<!--[0-->· ${escape_html(view.quiet.length)} quiet`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (!shut) {\n $$renderer3.push(`<!--[0--><!--[-->`);\n const each_array_6 = ensure_array_like(view.cards);\n for (let $$index_5 = 0, $$length2 = each_array_6.length; $$index_5 < $$length2; $$index_5++) {\n let card = each_array_6[$$index_5];\n projectCard($$renderer3, view.machine, card);\n }\n $$renderer3.push(`<!--]--> `);\n if (view.quiet.length > 0) {\n $$renderer3.push(\"<!--[0-->\");\n const closed = view.quiet.flatMap((c) => c.dead);\n $$renderer3.push(`<section class=\"card quiet svelte-183q6rw\"><span class=\"lbl svelte-183q6rw\">no session `);\n if (closed.length > 0 && view.machine.local) {\n $$renderer3.push(`<!--[0--><button type=\"button\" class=\"sweep svelte-183q6rw\" title=\"Forget the closed sessions in these projects\">clear ${escape_html(closed.length)} closed</button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></span> <!--[-->`);\n const each_array_7 = ensure_array_like(view.quiet);\n for (let $$index_7 = 0, $$length2 = each_array_7.length; $$index_7 < $$length2; $$index_7++) {\n let card = each_array_7[$$index_7];\n const key = quietKey(view.machine, card);\n if (Popover) {\n $$renderer3.push(\"<!--[-->\");\n Popover($$renderer3, {\n open: quietMenu === key,\n onOpenChange: (o) => quietMenu = o ? key : null,\n children: ($$renderer4) => {\n if (Popover_trigger) {\n $$renderer4.push(\"<!--[-->\");\n Popover_trigger($$renderer4, {\n class: \"q\",\n title: card.cwd,\n children: ($$renderer5) => {\n $$renderer5.push(`<span class=\"chip svelte-183q6rw\"${attr_style(`background:${stringify(card.color)}`)}></span>${escape_html(card.name)} `);\n if (card.dead.length > 0) {\n $$renderer5.push(`<!--[0--><span class=\"qdead svelte-183q6rw\"${attr(\"title\", `${stringify(card.dead.length)} closed session${card.dead.length === 1 ? \"\" : \"s\"}`)}>·${escape_html(card.dead.length)}</span>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n $$renderer4.push(` `);\n if (Popover_content) {\n $$renderer4.push(\"<!--[-->\");\n Popover_content($$renderer4, {\n class: \"menu qmenu\",\n align: \"start\",\n sideOffset: 6,\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"qhead svelte-183q6rw\"><b class=\"svelte-183q6rw\">${escape_html(card.name)}</b> <span class=\"qpath svelte-183q6rw\">${escape_html(card.cwd)}`);\n if (!view.machine.local) {\n $$renderer5.push(`<!--[0-->· ${escape_html(view.machine.server.hostname)}`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--></span></div> <!--[-->`);\n const each_array_8 = ensure_array_like(AGENT_IDS);\n for (let $$index_6 = 0, $$length3 = each_array_8.length; $$index_6 < $$length3; $$index_6++) {\n let id = each_array_8[$$index_6];\n const meta = AGENTS[id];\n $$renderer5.push(`<button type=\"button\" class=\"mitem svelte-183q6rw\"><iconify-icon${attr(\"icon\", meta.icon)}${attr_style(`color: ${stringify(meta.color)};`)} class=\"svelte-183q6rw\"></iconify-icon>New ${escape_html(meta.label)} session</button>`);\n }\n $$renderer5.push(`<!--]--> <span class=\"msep svelte-183q6rw\"></span> `);\n if (card.dead.length > 0 && view.machine.local) {\n $$renderer5.push(`<!--[0--><button type=\"button\" class=\"mitem svelte-183q6rw\"><iconify-icon icon=\"mdi:broom\" class=\"svelte-183q6rw\"></iconify-icon>Clear ${escape_html(card.dead.length)} closed session${escape_html(card.dead.length === 1 ? \"\" : \"s\")}</button>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]--> <button type=\"button\" class=\"mitem svelte-183q6rw\"><iconify-icon icon=\"mdi:content-copy\" class=\"svelte-183q6rw\"></iconify-icon>Copy path</button> <button type=\"button\" class=\"mitem danger svelte-183q6rw\"><iconify-icon icon=\"mdi:close\" class=\"svelte-183q6rw\"></iconify-icon>Remove from list</button>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n $$renderer3.push(`<!--]--></section>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (view.loose.length > 0 || tmuxPanesLoaded() && view.loosePanes.length > 0) {\n $$renderer3.push(`<!--[0--><section class=\"card proj loose svelte-183q6rw\"><div class=\"proj-h svelte-183q6rw\"><span class=\"chip dim svelte-183q6rw\">~</span> <span class=\"pname svelte-183q6rw\">outside any project</span> <span class=\"pcount svelte-183q6rw\">${escape_html(view.loose.filter((r) => !r.orchestrator).length + view.loosePanes.length)}</span></div> <!--[-->`);\n const each_array_9 = ensure_array_like(view.loose);\n for (let $$index_8 = 0, $$length2 = each_array_9.length; $$index_8 < $$length2; $$index_8++) {\n let row = each_array_9[$$index_8];\n sessionRow($$renderer3, view.machine, row);\n }\n $$renderer3.push(`<!--]--> <!--[-->`);\n const each_array_10 = ensure_array_like(view.loosePanes);\n for (let $$index_9 = 0, $$length2 = each_array_10.length; $$index_9 < $$length2; $$index_9++) {\n let pane = each_array_10[$$index_9];\n paneRow($$renderer3, view.machine, pane);\n }\n $$renderer3.push(`<!--]--></section>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]--></div></div> `);\n FolderPicker($$renderer3, {\n onpick: (cwd) => void newSessionInProject(fleetStore.machines[0], cwd),\n get open() {\n return showFolderBrowser;\n },\n set open($$value) {\n showFolderBrowser = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n if (Dialog) {\n $$renderer3.push(\"<!--[-->\");\n Dialog($$renderer3, {\n open: agentPicker !== null,\n onOpenChange: (o) => {\n if (!o) agentPicker = null;\n },\n children: ($$renderer4) => {\n if (Dialog_content) {\n $$renderer4.push(\"<!--[-->\");\n Dialog_content($$renderer4, {\n class: \"max-w-sm\",\n children: ($$renderer5) => {\n if (Dialog_header) {\n $$renderer5.push(\"<!--[-->\");\n Dialog_header($$renderer5, {\n children: ($$renderer6) => {\n if (Dialog_title) {\n $$renderer6.push(\"<!--[-->\");\n Dialog_title($$renderer6, {\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->New session`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n $$renderer6.push(` `);\n if (Dialog_description) {\n $$renderer6.push(\"<!--[-->\");\n Dialog_description($$renderer6, {\n children: ($$renderer7) => {\n if (agentPicker) {\n $$renderer7.push(`<!--[0-->In ${escape_html(agentPicker.cwd)}`);\n if (!agentPicker.machine.local) {\n $$renderer7.push(`<!--[0-->on ${escape_html(agentPicker.machine.server.hostname)}`);\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]-->.`);\n } else {\n $$renderer7.push(\"<!--[-1-->\");\n }\n $$renderer7.push(`<!--]--> Choose which agent to launch.`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` <div class=\"agent-choices svelte-183q6rw\"><!--[-->`);\n const each_array_11 = ensure_array_like(AGENT_IDS);\n for (let $$index_11 = 0, $$length = each_array_11.length; $$index_11 < $$length; $$index_11++) {\n let id = each_array_11[$$index_11];\n const meta = AGENTS[id];\n $$renderer5.push(`<button class=\"agent-choice svelte-183q6rw\"><iconify-icon${attr(\"icon\", meta.icon)}${attr_style(`color: ${stringify(meta.color)};`)} class=\"svelte-183q6rw\"></iconify-icon> <div class=\"agent-choice-text\"><div class=\"agent-choice-name svelte-183q6rw\">${escape_html(meta.label)}</div> <div class=\"agent-choice-cmd svelte-183q6rw\">${escape_html(meta.command)}</div></div></button>`);\n }\n $$renderer5.push(`<!--]--></div> `);\n if (agentPicker?.card) {\n $$renderer5.push(`<!--[0--><button type=\"button\" class=\"agent-remove svelte-183q6rw\"><iconify-icon icon=\"mdi:close\"></iconify-icon> Remove ${escape_html(agentPicker.card.name)} from the list</button>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n $$renderer3.push(` `);\n RenameSessionDialog($$renderer3, { sessionId: renameId, onClose: () => renameId = null });\n $$renderer3.push(`<!----> `);\n if (Alert_dialog) {\n $$renderer3.push(\"<!--[-->\");\n Alert_dialog($$renderer3, {\n get open() {\n return alertOpen;\n },\n set open($$value) {\n alertOpen = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (Alert_dialog_content) {\n $$renderer4.push(\"<!--[-->\");\n Alert_dialog_content($$renderer4, {\n children: ($$renderer5) => {\n if (Alert_dialog_header) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_header($$renderer5, {\n children: ($$renderer6) => {\n if (Alert_dialog_title) {\n $$renderer6.push(\"<!--[-->\");\n Alert_dialog_title($$renderer6, {\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->${escape_html(alertTitle)}`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n $$renderer6.push(` `);\n if (Alert_dialog_description) {\n $$renderer6.push(\"<!--[-->\");\n Alert_dialog_description($$renderer6, {\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->${escape_html(alertMessage)}`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n $$renderer5.push(` `);\n if (Alert_dialog_footer) {\n $$renderer5.push(\"<!--[-->\");\n Alert_dialog_footer($$renderer5, {\n children: ($$renderer6) => {\n if (Alert_dialog_cancel) {\n $$renderer6.push(\"<!--[-->\");\n Alert_dialog_cancel($$renderer6, {\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->Cancel`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n $$renderer6.push(` `);\n if (Alert_dialog_action) {\n $$renderer6.push(\"<!--[-->\");\n Alert_dialog_action($$renderer6, {\n onclick: () => {\n alertOnConfirm();\n alertOpen = false;\n },\n class: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n children: ($$renderer7) => {\n $$renderer7.push(`<!---->Confirm`);\n },\n $$slots: { default: true }\n });\n $$renderer6.push(\"<!--]-->\");\n } else {\n $$renderer6.push(\"<!--[!-->\");\n $$renderer6.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer5.push(\"<!--]-->\");\n } else {\n $$renderer5.push(\"<!--[!-->\");\n $$renderer5.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer4.push(\"<!--]-->\");\n } else {\n $$renderer4.push(\"<!--[!-->\");\n $$renderer4.push(\"<!--]-->\");\n }\n },\n $$slots: { default: true }\n });\n $$renderer3.push(\"<!--]-->\");\n } else {\n $$renderer3.push(\"<!--[!-->\");\n $$renderer3.push(\"<!--]-->\");\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n if ($$store_subs) unsubscribe_stores($$store_subs);\n });\n}\nfunction SidebarAccordion($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n icon,\n title,\n count = null,\n defaultExpanded = false,\n lazy = false,\n children\n } = $$props;\n let expanded = defaultExpanded ?? false;\n let hasBeenExpanded = defaultExpanded ?? false;\n const shouldRender = derived(() => lazy ? hasBeenExpanded : true);\n $$renderer2.push(`<div${attr_class(\"accordion svelte-18mom4e\", void 0, { \"expanded\": expanded })}><button class=\"accordion-header svelte-18mom4e\" type=\"button\"><iconify-icon${attr(\"icon\", icon)} class=\"header-icon svelte-18mom4e\"></iconify-icon> <span class=\"accordion-title svelte-18mom4e\">${escape_html(title)}</span> `);\n if (count != null) {\n $$renderer2.push(`<!--[0--><span class=\"count svelte-18mom4e\">${escape_html(count)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <iconify-icon${attr(\"icon\", expanded ? \"mdi:chevron-down\" : \"mdi:chevron-right\")} class=\"chevron svelte-18mom4e\"></iconify-icon></button> `);\n if (expanded && shouldRender()) {\n $$renderer2.push(`<!--[0--><div class=\"accordion-content svelte-18mom4e\">`);\n children($$renderer2);\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction ScreenshotsPanel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { sessionId, screenshots } = $$props;\n let viewingScreenshot = null;\n let touchStartX = 0;\n let touchCurrentX = 0;\n let isSwiping = false;\n async function dismissScreenshot(path) {\n await fetch(`/api/sessions/${encodeURIComponent(sessionId)}/screenshots?path=${encodeURIComponent(path)}`, { method: \"DELETE\" });\n if (viewingScreenshot === path) {\n viewingScreenshot = null;\n }\n }\n function closeModal() {\n viewingScreenshot = null;\n resetSwipe();\n }\n function getFilename(path) {\n return path.split(\"/\").pop() || path;\n }\n function resetSwipe() {\n isSwiping = false;\n touchStartX = 0;\n touchCurrentX = 0;\n }\n const swipeOffset = derived(() => isSwiping ? Math.min(0, touchCurrentX - touchStartX) : 0);\n SidebarAccordion($$renderer2, {\n icon: \"mdi:image-multiple\",\n title: \"Screenshots\",\n count: screenshots.length,\n children: ($$renderer3) => {\n if (screenshots.length === 0) {\n $$renderer3.push(`<!--[0--><p class=\"empty svelte-i8iwb7\">No screenshots</p>`);\n } else {\n $$renderer3.push(`<!--[-1--><div class=\"screenshots-grid svelte-i8iwb7\"><!--[-->`);\n const each_array = ensure_array_like(screenshots);\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let screenshot = each_array[i];\n $$renderer3.push(`<div class=\"screenshot-item svelte-i8iwb7\"><button class=\"thumbnail svelte-i8iwb7\"${attr(\"title\", getFilename(screenshot.path))}><img${attr(\"src\", `/api/files/image?path=${stringify(encodeURIComponent(screenshot.path))}`)}${attr(\"alt\", getFilename(screenshot.path))} loading=\"lazy\" class=\"svelte-i8iwb7\"/></button> `);\n Button($$renderer3, {\n variant: \"ghost\",\n size: \"icon-sm\",\n class: \"dismiss-btn\",\n onclick: () => dismissScreenshot(screenshot.path),\n title: \"Dismiss screenshot\",\n children: ($$renderer4) => {\n $$renderer4.push(`<iconify-icon icon=\"mdi:close\"></iconify-icon>`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div>`);\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n });\n $$renderer2.push(`<!----> `);\n if (viewingScreenshot) {\n $$renderer2.push(`<!--[0--><div class=\"modal-overlay svelte-i8iwb7\" role=\"dialog\" aria-modal=\"true\" tabindex=\"-1\"><div class=\"modal-content svelte-i8iwb7\"${attr_style(`transform: translateX(${stringify(swipeOffset())}px)`)} role=\"document\"><img${attr(\"src\", `/api/files/image?path=${stringify(encodeURIComponent(viewingScreenshot))}`)}${attr(\"alt\", getFilename(viewingScreenshot))} class=\"modal-image svelte-i8iwb7\"/> <div class=\"modal-actions svelte-i8iwb7\">`);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"sm\",\n onclick: (e) => e.target === e.currentTarget && closeModal(),\n class: \"modal-btn\",\n children: ($$renderer3) => {\n $$renderer3.push(`<iconify-icon icon=\"mdi:close\"></iconify-icon> <span>Close</span>`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"destructive\",\n size: \"sm\",\n onclick: () => dismissScreenshot(viewingScreenshot),\n class: \"modal-btn\",\n children: ($$renderer3) => {\n $$renderer3.push(`<iconify-icon icon=\"mdi:delete\"></iconify-icon> <span>Delete</span>`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div> <div class=\"swipe-hint svelte-i8iwb7\"><iconify-icon icon=\"mdi:gesture-swipe-left\"></iconify-icon> <span>Swipe left to close</span></div></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction pushUnavailable() {\n if (!window.isSecureContext) return \"Push needs HTTPS. Open claude-mux through tailscale serve.\";\n const ios = /iPhone|iPad|iPod/.test(navigator.userAgent);\n const standalone = window.matchMedia(\"(display-mode: standalone)\").matches;\n if (ios && !standalone) return \"On iPhone and iPad, add claude-mux to the Home Screen (Share → Add to Home Screen) and open it from there.\";\n if (!(\"serviceWorker\" in navigator) || !(\"PushManager\" in window) || typeof Notification === \"undefined\") {\n return \"This browser has no Web Push.\";\n }\n return null;\n}\nfunction SidebarMeters($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const SPARK_DAYS = 14;\n const PLAN_UNAVAILABLE = \"Plan limits unavailable — open Usage for the reason.\";\n const dayOf = makeDayFormatter(hostTimeZone());\n const summary = derived(() => usageStore.summary);\n const quota = derived(() => usageStore.quota);\n const today = derived(() => usageStore.today);\n const stats = derived(() => sessionStore.systemStats);\n function shortLabel(label) {\n const text = label.toLowerCase();\n if (text.includes(\"session\")) return \"5h\";\n const model = text.match(/(opus|sonnet|haiku|fable|mythos)/)?.[1];\n if (model) return model.slice(0, 3);\n if (text.includes(\"week\")) return \"wk\";\n return text.replace(/\\s*limit$/, \"\").split(/\\s+/)[0];\n }\n const meters = derived(() => {\n const out = [];\n for (const limit of quota()?.available ? quota().limits : []) {\n out.push({\n key: limit.kind,\n tag: shortLabel(limit.label),\n percent: limit.percent,\n // The server grades plan limits itself, and the sidebar shows that\n // grade — recomputing here is how the two start disagreeing.\n color: SEVERITY[limit.severity].color,\n title: `${limit.label}: ${Math.round(limit.percent)}%`\n });\n }\n const system = [[\"cpu\", \"cpu\", stats().cpu], [\"ram\", \"ram\", stats().ram]];\n if (stats().swapTotal > 0) system.push([\"swap\", \"swp\", stats().swap]);\n for (const [key, tag, percent] of system) {\n out.push({\n key,\n tag,\n percent,\n color: SEVERITY[severityForPercent(percent)].color,\n title: `${tag.toUpperCase()}: ${Math.round(percent)}%`\n });\n }\n return out;\n });\n function dayKey(offset) {\n return dayOf(Date.now() - offset * 864e5);\n }\n const spark = derived(() => {\n if (!summary()) return [];\n const byDate = new Map(summary().days.map((d) => [d.date, d.costUsd]));\n const out = [];\n for (let i = SPARK_DAYS - 1; i >= 0; i--) {\n const date = dayKey(i);\n out.push({ date, cost: byDate.get(date) ?? 0 });\n }\n return out;\n });\n const peak = derived(() => Math.max(1e-9, ...spark().map((d) => d.cost)));\n const MODES = [\n {\n value: \"off\",\n label: \"Off\",\n title: \"No system notifications or sounds\"\n },\n {\n value: \"notifications\",\n label: \"Notify\",\n title: \"System notifications while this window is in the background\"\n },\n {\n value: \"sound\",\n label: \"Sound\",\n title: \"A sound when a session needs you or finishes\"\n },\n {\n value: \"both\",\n label: \"Both\",\n title: \"System notifications and sounds\"\n }\n ];\n let requesting = false;\n const pushBlocked = typeof window === \"undefined\" ? null : pushUnavailable();\n $$renderer2.push(`<div class=\"sidebar-meters svelte-uooa92\"><a class=\"strip svelte-uooa92\" href=\"/usage\"${attr(\"title\", quota() && !quota().available ? PLAN_UNAVAILABLE : void 0)}>`);\n if (meters().length > 0) {\n $$renderer2.push(`<!--[0--><span class=\"group svelte-uooa92\"><!--[-->`);\n const each_array = ensure_array_like(meters());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let meter = each_array[$$index];\n $$renderer2.push(`<span class=\"col svelte-uooa92\"${attr(\"title\", meter.title)}><span class=\"val svelte-uooa92\"${attr_style(`color: ${stringify(meter.color)}`)}>${escape_html(Math.round(meter.percent))}%</span> <span class=\"track svelte-uooa92\" role=\"img\"${attr(\"aria-label\", meter.title)}><span class=\"fill svelte-uooa92\"${attr_style(`height: ${stringify(Math.min(100, Math.max(0, meter.percent)))}%; background: ${stringify(meter.color)}`)}></span></span> <span class=\"tag svelte-uooa92\">${escape_html(meter.tag)}</span></span>`);\n }\n $$renderer2.push(`<!--]--></span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (spark().length > 0) {\n $$renderer2.push(`<!--[0--><span class=\"group spark svelte-uooa92\"><span class=\"line svelte-uooa92\"><span class=\"val spend svelte-uooa92\">${escape_html(today() === null ? \"—\" : money(today(), true))}</span> <span class=\"val spend svelte-uooa92\">${escape_html(summary() === null ? \"—\" : money(summary().costUsd, true))}</span></span> <span class=\"ticks svelte-uooa92\" aria-hidden=\"true\"><!--[-->`);\n const each_array_1 = ensure_array_like(spark());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let day = each_array_1[$$index_1];\n $$renderer2.push(`<span class=\"track svelte-uooa92\"${attr(\"title\", `${stringify(day.date)}: ${stringify(money(day.cost, true))}`)}><span class=\"fill svelte-uooa92\"${attr_style(`height: ${stringify(Math.max(3, day.cost / peak() * 100))}%; background: #3987e5`)}></span></span>`);\n }\n $$renderer2.push(`<!--]--></span> <span class=\"line svelte-uooa92\"><span class=\"tag svelte-uooa92\">today</span> <span class=\"tag svelte-uooa92\">30d</span></span></span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></a> <div class=\"alerts-row svelte-uooa92\"><span class=\"alerts-label\" id=\"alerts-label\">Alerts</span> <div class=\"segmented svelte-uooa92\" role=\"radiogroup\" aria-labelledby=\"alerts-label\"><!--[-->`);\n const each_array_2 = ensure_array_like(MODES);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let m = each_array_2[$$index_2];\n $$renderer2.push(`<button type=\"button\" role=\"radio\"${attr(\"aria-checked\", preferences.notificationMode === m.value)}${attr(\"title\", m.title)}${attr(\"disabled\", requesting, true)}${attr_class(\"svelte-uooa92\", void 0, { \"on\": preferences.notificationMode === m.value })}>${escape_html(m.label)}</button>`);\n }\n $$renderer2.push(`<!--]--></div></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"alerts-row svelte-uooa92\"><span class=\"alerts-label\" id=\"push-label\" title=\"Notifications on this device with claude-mux closed, sent by the server\">Push</span> <div class=\"segmented svelte-uooa92\" role=\"radiogroup\" aria-labelledby=\"push-label\"><!--[-->`);\n const each_array_3 = ensure_array_like([false, true]);\n for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n let on2 = each_array_3[$$index_3];\n $$renderer2.push(`<button type=\"button\" role=\"radio\"${attr(\"aria-checked\", false === on2)}${attr(\"disabled\", !!pushBlocked, true)}${attr_class(\"svelte-uooa92\", void 0, { \"on\": false === on2 })}>${escape_html(on2 ? \"This device\" : \"Off\")}</button>`);\n }\n $$renderer2.push(`<!--]--></div></div> `);\n if (pushBlocked) {\n $$renderer2.push(`<!--[0--><p class=\"alerts-note svelte-uooa92\">${escape_html(pushBlocked)}</p>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"toggles svelte-uooa92\"><label class=\"toggle-row svelte-uooa92\" title=\"A toast in this page when another session needs you or finishes\"><input type=\"checkbox\"${attr(\"checked\", preferences.inAppToasts, true)} class=\"svelte-uooa92\"/> <span>In-page toasts</span></label> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction SplitView($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { a, b } = $$props;\n const urlA = derived(() => paneUrl(a, serverStore.servers, serverStore.self));\n const urlB = derived(() => paneUrl(b, serverStore.servers, serverStore.self));\n const columns = derived(() => {\n if (splitStore.zoom === \"a\") return \"1fr 0 0\";\n if (splitStore.zoom === \"b\") return \"0 0 1fr\";\n const pct = Math.round(splitStore.ratio * 1e3) / 10;\n return `${pct}fr 6px ${100 - pct}fr`;\n });\n let resizing = false;\n function moveResize(e) {\n return;\n }\n function pane($$renderer3, side, ref, url, frame) {\n $$renderer3.push(`<section${attr_class(\"pane svelte-qscfzl\", void 0, {\n \"hidden\": splitStore.zoom !== null && splitStore.zoom !== side\n })}>`);\n if (url) {\n $$renderer3.push(\"<!--[0-->\");\n if (frame === \"a\") {\n $$renderer3.push(`<!--[0--><iframe${attr(\"src\", url)}${attr(\"title\", ref.target)} allow=\"microphone; clipboard-read; clipboard-write\" class=\"svelte-qscfzl\"></iframe>`);\n } else {\n $$renderer3.push(`<!--[-1--><iframe${attr(\"src\", url)}${attr(\"title\", ref.target)} allow=\"microphone; clipboard-read; clipboard-write\" class=\"svelte-qscfzl\"></iframe>`);\n }\n $$renderer3.push(`<!--]-->`);\n } else {\n $$renderer3.push(`<!--[-1--><div class=\"unreachable svelte-qscfzl\"><iconify-icon icon=\"mdi:lan-disconnect\" class=\"svelte-qscfzl\"></iconify-icon> <p><b class=\"svelte-qscfzl\">${escape_html(ref.host)}</b> is not on the tailnet right now.</p> <button type=\"button\" class=\"svelte-qscfzl\">Close this pane</button></div>`);\n }\n $$renderer3.push(`<!--]--> `);\n if (splitStore.dragging) {\n $$renderer3.push(`<!--[0--><div class=\"drop svelte-qscfzl\" role=\"region\" aria-label=\"Drop a session here\">Replace this pane</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (resizing) {\n $$renderer3.push(`<!--[0--><div class=\"shield svelte-qscfzl\"></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></section>`);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div${attr_class(\"split svelte-qscfzl\", void 0, { \"dragging\": splitStore.dragging })}${attr_style(`grid-template-columns: ${stringify(columns())}`)}>`);\n pane($$renderer3, \"a\", a, urlA(), \"a\");\n $$renderer3.push(`<!----> <div${attr_class(\"divider-slot svelte-qscfzl\", void 0, { \"hidden\": splitStore.zoom !== null })}>`);\n ResizeDivider($$renderer3, {\n title: \"Drag to resize · double-click for 50/50\",\n onmove: moveResize,\n onreset: () => splitStore.setRatio(0.5),\n get resizing() {\n return resizing;\n },\n set resizing($$value) {\n resizing = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----></div> `);\n pane($$renderer3, \"b\", b, urlB(), \"b\");\n $$renderer3.push(`<!----></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction NotificationCoordinator($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n });\n}\nfunction Loader_circle($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [[\"path\", { \"d\": \"M21 12a9 9 0 1 1-6.219-8.56\" }]];\n Icon($$renderer2, spread_props([\n { name: \"loader-circle\" },\n /**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Circle_check($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"10\" }],\n [\"path\", { \"d\": \"m9 12 2 2 4-4\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"circle-check\" },\n /**\n * @component @name CircleCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtOSAxMiAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-check\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Octagon_x($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"m15 9-6 6\" }],\n [\n \"path\",\n {\n \"d\": \"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\"\n }\n ],\n [\"path\", { \"d\": \"m9 9 6 6\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"octagon-x\" },\n /**\n * @component @name OctagonX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgOS02IDYiIC8+CiAgPHBhdGggZD0iTTIuNTg2IDE2LjcyNkEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJoNi42MjRhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZ6IiAvPgogIDxwYXRoIGQ9Im05IDkgNiA2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/octagon-x\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Info($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"circle\", { \"cx\": \"12\", \"cy\": \"12\", \"r\": \"10\" }],\n [\"path\", { \"d\": \"M12 16v-4\" }],\n [\"path\", { \"d\": \"M12 8h.01\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"info\" },\n /**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMTZ2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDhoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Triangle_alert($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\"\n }\n ],\n [\"path\", { \"d\": \"M12 9v4\" }],\n [\"path\", { \"d\": \"M12 17h.01\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"triangle-alert\" },\n /**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiIC8+CiAgPHBhdGggZD0iTTEyIDl2NCIgLz4KICA8cGF0aCBkPSJNMTIgMTdoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/triangle-alert\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Sonner_1($$renderer, $$props) {\n let { $$slots, $$events, ...restProps } = $$props;\n {\n let loadingIcon = function($$renderer2) {\n Loader_circle($$renderer2, { class: \"size-4 animate-spin\" });\n }, successIcon = function($$renderer2) {\n Circle_check($$renderer2, { class: \"size-4 text-emerald-400\" });\n }, errorIcon = function($$renderer2) {\n Octagon_x($$renderer2, { class: \"size-4\" });\n }, infoIcon = function($$renderer2) {\n Info($$renderer2, { class: \"size-4\" });\n }, warningIcon = function($$renderer2) {\n Triangle_alert($$renderer2, { class: \"size-4 text-amber-400\" });\n };\n Toaster($$renderer, spread_props([\n {\n theme: \"dark\",\n class: \"toaster group\",\n style: \"--normal-bg: #151516; --normal-text: hsl(var(--foreground)); --normal-border: #2a2a2c; --border-radius: 14px;\"\n },\n restProps,\n {\n loadingIcon,\n successIcon,\n errorIcon,\n infoIcon,\n warningIcon,\n $$slots: {\n loadingIcon: true,\n successIcon: true,\n errorIcon: true,\n infoIcon: true,\n warningIcon: true\n }\n }\n ]));\n }\n}\nfunction _layout($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n var $$store_subs;\n let { children } = $$props;\n const embed = derived(() => store_get($$store_subs ??= {}, \"$page\", page).url.searchParams.has(\"embed\"));\n const splitA = derived(() => store_get($$store_subs ??= {}, \"$page\", page).url.pathname.startsWith(\"/session/\") ? parseRef(decodeURIComponent(store_get($$store_subs ??= {}, \"$page\", page).url.pathname.split(\"/session/\")[1])) : null);\n const splitB = derived(() => {\n const raw = store_get($$store_subs ??= {}, \"$page\", page).url.searchParams.get(\"with\");\n return raw ? parseRef(raw) : null;\n });\n const splitOn = derived(() => !embed() && splitA() !== null && splitB() !== null);\n const drawerOpen = derived(() => drawer.open);\n const DEFAULT_WIDTH = 300;\n let sidebarWidth = DEFAULT_WIDTH;\n let isResizing = false;\n const showSidebar = derived(() => store_get($$store_subs ??= {}, \"$page\", page).url.pathname.startsWith(\"/session/\"));\n const currentTarget = derived(() => store_get($$store_subs ??= {}, \"$page\", page).url.pathname.startsWith(\"/session/\") ? decodeURIComponent(store_get($$store_subs ??= {}, \"$page\", page).url.pathname.split(\"/session/\")[1]) : null);\n const viewing = derived(() => splitOn() ? [splitA(), splitB()].filter((r) => r && !r.host).map((r) => r.target) : currentTarget() ? [currentTarget()] : []);\n const currentSession = derived(() => sessionStore.sessions.find((s) => s.tmux_target === currentTarget() || s.id === currentTarget()));\n onDestroy(() => {\n sessionStore.disconnect();\n });\n function closeDrawer() {\n drawer.close();\n }\n head(\"12qhfyh\", $$renderer2, ($$renderer3) => {\n $$renderer3.push(`<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no, viewport-fit=cover\"/> `);\n $$renderer3.push(`<script src=\"https://code.iconify.design/iconify-icon/2.1.0/iconify-icon.min.js\"><\\/script>`);\n });\n if (!embed()) {\n $$renderer2.push(\"<!--[0-->\");\n NotificationCoordinator($$renderer2, { viewing: viewing() });\n $$renderer2.push(`<!----> `);\n Sonner_1($$renderer2, { position: \"top-right\", closeButton: true });\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (showSidebar() && !embed()) {\n $$renderer2.push(`<!--[0--><div${attr_class(\"app-shell svelte-12qhfyh\", void 0, { \"resizing-any\": isResizing })}><aside${attr_class(\"sidebar svelte-12qhfyh\", void 0, { \"open\": drawerOpen(), \"resizing\": isResizing })}${attr_style(`--sidebar-width: ${stringify(sidebarWidth)}px`)}><div class=\"sidebar-content svelte-12qhfyh\">`);\n AllSessionsPanel($$renderer2, { compact: true, onSessionSelect: closeDrawer });\n $$renderer2.push(`<!----></div> <div class=\"sidebar-foot svelte-12qhfyh\">`);\n if (currentSession()) {\n $$renderer2.push(`<!--[0--><div class=\"sidebar-panel svelte-12qhfyh\">`);\n ScreenshotsPanel($$renderer2, {\n sessionId: currentSession().id,\n screenshots: currentSession().screenshots ?? []\n });\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n SidebarMeters($$renderer2);\n $$renderer2.push(`<!----></div> <div class=\"resize-handle svelte-12qhfyh\" role=\"separator\" aria-orientation=\"vertical\"></div></aside> <main class=\"content svelte-12qhfyh\">`);\n if (splitOn() && splitA() && splitB()) {\n $$renderer2.push(\"<!--[0-->\");\n SplitView($$renderer2, { a: splitA(), b: splitB() });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n children($$renderer2);\n $$renderer2.push(`<!----> `);\n if (splitStore.dragging && splitA()) {\n $$renderer2.push(`<!--[0--><div class=\"split-drop svelte-12qhfyh\" role=\"region\" aria-label=\"Drop to open side by side\"><span>Open side by side</span></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></main> `);\n if (drawerOpen()) {\n $$renderer2.push(`<!--[0--><button class=\"backdrop svelte-12qhfyh\" aria-label=\"Close menu\"></button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else if (embed()) {\n $$renderer2.push(`<!--[1--><div class=\"embed-shell svelte-12qhfyh\">`);\n children($$renderer2);\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n children($$renderer2);\n $$renderer2.push(`<!---->`);\n }\n $$renderer2.push(`<!--]-->`);\n if ($$store_subs) unsubscribe_stores($$store_subs);\n });\n}\nexport {\n _layout as default\n};\n//# sourceMappingURL=_layout.svelte.js.map\n"],"mappings":"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Y,KAAK,WAAW;IAC5B;KACE,IAAI,aAAa,SAAS,aAAa,EAAE,OAAO,mBAAmB;MACjE,aAAa,aAAa;OACxB;OACA;OACA;OACA;OACA,WAAW,gBAAgB;QACzB;SACE,IAAI,WAAW,SAAS,aAAa,EAAE,OAAO,oBAAoB;UAChE,qBAAqB,aAAa;WAChC;WACA;WACA;WACA;WACA;WACA;WACA,WAAW,gBAAgB;YACzB,SAAS,aAAa;aACpB,OAAO,WAAW,WAAW,eAAe,kBAAkB,iBAAiB;cAAE;cAAI,OAAO,EAAE,eAAe,qBAAqB;aAAE,CAAC;aACrI;YACF,CAAC;YACD,YAAY,KAAK,SAAS;WAC5B;UACF,CAAC;SACH;SACA,kBAAkB,aAAa;UAC7B;UACA;UACA;UACA;UACA,cAAc;UACd;UACA;UACA;SACF,CAAC;QACH;OACF;MACF,CAAC;KACH;KACA,YAAY,aAAa;MACvB;MACA;MACA;MACA;MACA;MACA;MACA;KACF,CAAC;IACH;IACA,YAAY,KAAK,SAAS;GAC5B;GACA,eAAe,aAAa;IAC1B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,UAAU,kBAAkB;IAC5B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,EAAE,SAAS,KAAK;GAC3B,CAAC;EACH;CACF,CAAC;AACH;AACA,SAAS,aAAa,YAAY,SAAS;CACzC,IAAI,EACF,QACA,MACA,iBACA,uBACA,8BACA,IACA,eACA,aACA,MACA,YACA,OACA,aACA,cACA,iBACA,mBACA,kBACA,QACA,kBACA,wBACA,UACA,KACA,eACA,WACA,OACA,UACA,mBACA,kBACA,iBACA,gBACA,0BAA0B,SAC1B,MACA,YAAY,MACZ,cAAc,sBAAsB,OACpC,eAAe,MACf,WAAW,OACX,KACA,cACA,SACA,UACA,GAAG,cACD;CACJ,IAAI,cAAc;EAChB,WAAW,KAAK,WAAW;EAC3B,mBAAmB,YAAY,aAAa,CAC1C;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,SAAS;GACT;GACA;GACA;GACA;GACA;GACA;GACA,cAAc;GACd;GACA,YAAY;GACZ;EACF,GACA,SACF,CAAC,CAAC;CACJ,OACE,WAAW,KAAK,YAAY;CAE9B,WAAW,KAAK,UAAU;AAC5B;AACA,SAAS,yBAAyB,YAAY,SAAS;CACrD,IAAI,EACF,QACA,iBACA,uBACA,8BACA,IACA,eACA,aACA,MACA,YACA,OACA,aACA,cACA,iBACA,mBACA,kBACA,QACA,kBACA,wBACA,UACA,KACA,eACA,WACA,OACA,UACA,mBACA,kBACA,iBACA,gBACA,0BAA0B,SAC1B,MACA,YAAY,MACZ,cAAc,sBAAsB,OACpC,eAAe,MACf,WAAW,OACX,SACA,SACA,UACA,GAAG,cACD;CACJ,mBAAmB,YAAY,aAAa;EAC1C;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,cAAc;GACd;EACF;EACA;EACA,EAAE,YAAY,KAAK;CACrB,CAAC,CAAC;AACJ;AACA,SAASG,mBAAiB,OAAO,SAAS;CACxC,MAAM,CAAC,GAAG,KAAK;CACf,IAAI,WAAW;CACf,MAAM,SAAS,QAAQ;CACvB,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,GAAG,IAAI,QAAQ,IAAI,KAAK;EACnD,MAAM,CAAC,IAAI,MAAM,QAAQ,MAAM,CAAC,GAAG,CAAC;EACpC,MAAM,CAAC,IAAI,MAAM,QAAQ,MAAM,CAAC,GAAG,CAAC;EAEpC,IADkB,MAAM,MAAM,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,IAE/E,WAAW,CAAC;CAEhB;CACA,OAAO;AACT;AACA,SAASC,eAAa,OAAO,MAAM;CACjC,OAAO,MAAM,MAAM,KAAK,QAAQ,MAAM,MAAM,KAAK,SAAS,MAAM,MAAM,KAAK,OAA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"}