@mkbabb/glass-ui 5.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/README.md +30 -27
  2. package/dist/DropdownMenuTrigger-BzQtd9lt.js +65 -0
  3. package/dist/{FadingScroll-BSRLqQCx.js → FadingScroll-C1ZWEjmG.js} +32 -25
  4. package/dist/{Input-DKf-XwUM.js → Input-B4WQ_CMc.js} +1 -1
  5. package/dist/{PagerDots-BP6jh7z4.js → PagerDots-BoTQ7g5l.js} +123 -95
  6. package/dist/{accent-tone-solve-CBw3L0cy.js → accent-tone-solve-Dii9ePhK.js} +1 -1
  7. package/dist/animated-digit.js +1 -1
  8. package/dist/aurora.js +324 -314
  9. package/dist/blob-config.d.ts +0 -4
  10. package/dist/blob-config.js +1 -1
  11. package/dist/blob.js +280 -261
  12. package/dist/{button-BXzhydVB.js → button-32mg6xA8.js} +63 -56
  13. package/dist/button.js +1 -1
  14. package/dist/canvas.js +1 -1
  15. package/dist/{CardAction-2uUvjMQK.js → card-16xmzIr3.js} +29 -11
  16. package/dist/card.js +1 -1
  17. package/dist/carousel.d.ts +1 -2
  18. package/dist/carousel.js +26 -95
  19. package/dist/chip.d.ts +0 -9
  20. package/dist/chip.js +1 -1
  21. package/dist/collapsible.js +1 -1
  22. package/dist/color-swatch.js +1 -0
  23. package/dist/color.js +87 -3
  24. package/dist/{CommandShortcut-fmdbsEJL.js → command-BjPjUU9z.js} +56 -51
  25. package/dist/command.js +1 -1
  26. package/dist/completion-seal.js +64 -55
  27. package/dist/components/_shared/ModalOverlay.vue.d.ts +5 -52
  28. package/dist/components/_shared/field-surfaces.css +1 -0
  29. package/dist/components/_shared/menuItemVariants.d.ts +2 -2
  30. package/dist/components/_shared/useMotionAxis.d.ts +2 -2
  31. package/dist/components/_shared/valueDomain.d.ts +6 -0
  32. package/dist/components/alert/index.d.ts +1 -1
  33. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +1 -1
  34. package/dist/components/aurora/Aurora.vue.d.ts +7 -1
  35. package/dist/components/aurora/composables/runtime.d.ts +5 -3
  36. package/dist/components/aurora/composables/useAurora.d.ts +4 -2
  37. package/dist/components/avatar/AvatarImage.vue.d.ts +3 -1
  38. package/dist/components/badge/index.d.ts +2 -2
  39. package/dist/components/blob/Blob.vue.d.ts +11 -0
  40. package/dist/components/blob/composables/useMetaballRenderer.d.ts +2 -0
  41. package/dist/components/button/Button.vue.d.ts +4 -2
  42. package/dist/components/button/index.d.ts +2 -2
  43. package/dist/components/card/Card.vue.d.ts +4 -4
  44. package/dist/components/card/ScrollCard.vue.d.ts +1 -1
  45. package/dist/components/card/styles.css +1 -0
  46. package/dist/components/carousel/Carousel.vue.d.ts +2 -2
  47. package/dist/components/carousel/CarouselNext.vue.d.ts +1 -1
  48. package/dist/components/carousel/CarouselPrevious.vue.d.ts +1 -1
  49. package/dist/components/carousel/index.d.ts +0 -1
  50. package/dist/components/carousel/useCarousel.d.ts +2 -2
  51. package/dist/components/combobox/ComboboxList.vue.d.ts +1 -1
  52. package/dist/components/combobox/index.d.ts +1 -3
  53. package/dist/components/command/Command.vue.d.ts +1 -1
  54. package/dist/components/command/CommandDialog.vue.d.ts +9 -6
  55. package/dist/components/completion-seal/styles.css +1 -0
  56. package/dist/components/constellation/Constellation.vue.d.ts +6 -1
  57. package/dist/components/constellation/composables/useConstellation.d.ts +3 -16
  58. package/dist/components/constellation/constants.d.ts +6 -16
  59. package/dist/components/constellation/constellationField.d.ts +3 -5
  60. package/dist/components/constellation/constellationInteraction.d.ts +1 -1
  61. package/dist/components/constellation/constellationRender.d.ts +11 -21
  62. package/dist/components/constellation/constellationTypes.d.ts +12 -9
  63. package/dist/components/constellation/index.d.ts +1 -1
  64. package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -2
  65. package/dist/components/data-table/DataTable.vue.d.ts +14 -2
  66. package/dist/components/data-table/index.d.ts +1 -2
  67. package/dist/components/data-table/types.d.ts +26 -1
  68. package/dist/components/deck/constants.d.ts +0 -10
  69. package/dist/components/deck/index.d.ts +0 -1
  70. package/dist/components/dialog/DialogContent.vue.d.ts +7 -1
  71. package/dist/components/dialog/index.d.ts +0 -1
  72. package/dist/components/dock/DockControl.vue.d.ts +4 -4
  73. package/dist/components/dock/DockStack.vue.d.ts +2 -2
  74. package/dist/components/dock/GlassDock.vue.d.ts +1 -0
  75. package/dist/components/dock/composables/dockMorphContext.d.ts +2 -0
  76. package/dist/components/dock/composables/dockMorphMeasure.d.ts +11 -1
  77. package/dist/components/dock/composables/useDockClickIntegrity.d.ts +4 -0
  78. package/dist/components/dock/composables/useDockOverflowFit.d.ts +3 -3
  79. package/dist/components/dock/composables/useDockPopover.d.ts +2 -0
  80. package/dist/components/dock/composables/useDockShellProps.d.ts +7 -0
  81. package/dist/components/dock/composables/useDockState.d.ts +2 -2
  82. package/dist/components/dock/constants.d.ts +0 -12
  83. package/dist/components/dock/index.d.ts +1 -0
  84. package/dist/components/dock/styles/adaptive-legibility.css +1 -0
  85. package/dist/components/dock/styles/controls/icon-button.css +1 -0
  86. package/dist/{styles/dock-controls → components/dock/styles/controls}/touch-floor.css +1 -1
  87. package/dist/components/dock/styles/controls.css +1 -0
  88. package/dist/{styles/dock → components/dock/styles}/density.css +1 -1
  89. package/dist/components/dock/styles/dock.css +1 -0
  90. package/dist/components/dock/styles/index.css +1 -0
  91. package/dist/components/dock/styles/layer-group.css +1 -0
  92. package/dist/components/dock/styles/layers.css +1 -0
  93. package/dist/components/dock/styles/overflow.css +1 -0
  94. package/dist/components/dock/styles/popover.css +1 -0
  95. package/dist/components/dock/styles/shape.css +1 -0
  96. package/dist/components/dock/styles/shell.css +1 -0
  97. package/dist/components/drawer/Drawer.vue.d.ts +3 -3
  98. package/dist/components/drawer/composables/drawerSnapContext.d.ts +3 -1
  99. package/dist/components/drawer/constants.d.ts +6 -6
  100. package/dist/components/drawer/index.d.ts +4 -6
  101. package/dist/components/drawer/styles.css +1 -0
  102. package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +1 -1
  103. package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +9 -3
  104. package/dist/components/dropdown-menu/index.d.ts +0 -1
  105. package/dist/components/easing/EasingConfigurator.vue.d.ts +1 -1
  106. package/dist/components/easing/EasingPicker.vue.d.ts +2 -2
  107. package/dist/components/easing/composables/useEasingPicker.d.ts +4 -0
  108. package/dist/components/easing/constants.d.ts +2 -0
  109. package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +3 -3
  110. package/dist/components/fourier-field/FourierField.vue.d.ts +7 -1
  111. package/dist/components/fourier-field/composables/useFourierField.d.ts +2 -1
  112. package/dist/components/handmark/HandMark.vue.d.ts +1 -1
  113. package/dist/components/handmark/geometry.d.ts +1 -1
  114. package/dist/components/handmark/index.d.ts +4 -6
  115. package/dist/components/icon-chip/styles.css +1 -0
  116. package/dist/components/index.d.ts +0 -1
  117. package/dist/components/infinite-scroll/index.d.ts +1 -0
  118. package/dist/components/instrument-chassis/styles.css +1 -0
  119. package/dist/components/labeled-field/LabeledField.vue.d.ts +12 -2
  120. package/dist/components/labeled-field/LabeledInput.vue.d.ts +10 -3
  121. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +4 -0
  122. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +2 -1
  123. package/dist/components/metric-stack/MetricStack.vue.d.ts +1 -1
  124. package/dist/components/pager-dots/PagerDots.vue.d.ts +1 -1
  125. package/dist/components/popover/PopoverContent.vue.d.ts +1 -1
  126. package/dist/components/progress/Progress.vue.d.ts +5 -40
  127. package/dist/components/progress/ProgressDefault.vue.d.ts +1 -17
  128. package/dist/components/progress/ProgressGradient.vue.d.ts +1 -0
  129. package/dist/components/progress/ProgressLiquid.vue.d.ts +1 -0
  130. package/dist/components/progress/index.d.ts +0 -5
  131. package/dist/components/progress/valueMarks.css +1 -0
  132. package/dist/components/pulse/Pulse.vue.d.ts +2 -2
  133. package/dist/components/scroll-progress-rim/styles.css +1 -0
  134. package/dist/components/search/FuzzySearch.vue.d.ts +4 -2
  135. package/dist/components/search/SearchBar.vue.d.ts +2 -2
  136. package/dist/components/search/searchVariants.d.ts +1 -1
  137. package/dist/components/select/SelectContent.vue.d.ts +1 -1
  138. package/dist/components/select/index.d.ts +0 -2
  139. package/dist/components/skeleton/Skeleton.vue.d.ts +1 -1
  140. package/dist/components/slider/Slider.vue.d.ts +2 -0
  141. package/dist/components/split-chars/SplitChars.vue.d.ts +1 -1
  142. package/dist/components/surface/Surface.vue.d.ts +1 -1
  143. package/dist/components/table/Table.vue.d.ts +4 -0
  144. package/dist/components/tabs/SegmentedTabs.vue.d.ts +10 -0
  145. package/dist/components/tabs/index.d.ts +1 -1
  146. package/dist/components/tabs/styles/drag.css +1 -0
  147. package/dist/components/tags-input/TagsInput.vue.d.ts +2 -2
  148. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +1 -1
  149. package/dist/components/timeline/GlassTimeline.vue.d.ts +4 -4
  150. package/dist/components/toast/Toast.vue.d.ts +3 -3
  151. package/dist/components/toast/use-toast.d.ts +4 -4
  152. package/dist/components/typewriter/TypewriterText.vue.d.ts +1 -4
  153. package/dist/components/typewriter/composables/useTypewriter.d.ts +0 -1
  154. package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
  155. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +2 -2
  156. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +31 -0
  157. package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
  158. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +3 -0
  159. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +2 -0
  160. package/dist/composables/motion/springProjection.d.ts +16 -0
  161. package/dist/composables/motion/useAnimatedNumber.d.ts +1 -6
  162. package/dist/composables/motion/useCountup.d.ts +1 -6
  163. package/dist/composables/motion/useDockCtaReceive.d.ts +55 -0
  164. package/dist/composables/motion/useElementMorph.d.ts +8 -0
  165. package/dist/composables/motion/useLiquidPress.d.ts +12 -4
  166. package/dist/composables/motion/useNumericTransition.d.ts +2 -0
  167. package/dist/composables/motion/useTextHighlight.d.ts +2 -1
  168. package/dist/configurator-CSENXXSy.js +311 -0
  169. package/dist/configurator.js +2 -3
  170. package/dist/constellation.js +235 -571
  171. package/dist/controls.js +55 -63
  172. package/dist/{createCanvasLifecycle-DlrcvWbb.js → createCanvasLifecycle-hsFkQVdl.js} +32 -32
  173. package/dist/dark-DIH-blY1.js +70 -0
  174. package/dist/dark.d.ts +1 -2
  175. package/dist/dark.js +2 -20
  176. package/dist/{DataTable-Bxya8nBn.js → data-table-DveMdgBM.js} +231 -120
  177. package/dist/data-table.js +2 -2
  178. package/dist/deck.js +10 -21
  179. package/dist/dialog-BzQxKrUr.js +281 -0
  180. package/dist/dialog.js +2 -3
  181. package/dist/dock.js +561 -428
  182. package/dist/{dockContext-d-WpJN2Z.js → dockContext-4S9qP0Z4.js} +1 -1
  183. package/dist/dom.js +196 -7
  184. package/dist/drawer.js +111 -66
  185. package/dist/dropdown-menu-DORIA52F.js +378 -0
  186. package/dist/dropdown-menu.js +3 -2
  187. package/dist/easing.d.ts +0 -9
  188. package/dist/easing.js +334 -187
  189. package/dist/expandable-container.js +12 -4
  190. package/dist/fading-scroll.js +1 -1
  191. package/dist/focus-scope.js +1 -1
  192. package/dist/forms.js +37 -78
  193. package/dist/fourier-field.js +273 -263
  194. package/dist/fourier-math.d.ts +0 -6
  195. package/dist/fourier-math.js +112 -2
  196. package/dist/glass-ui.css +1 -1
  197. package/dist/glass-ui.js +131 -195
  198. package/dist/handmark.d.ts +0 -2
  199. package/dist/handmark.js +82 -82
  200. package/dist/header-ribbon.js +41 -30
  201. package/dist/{IconChip-CwLmBJ_K.js → icon-chip-BWuxz1-u.js} +1 -1
  202. package/dist/icon-chip.js +1 -1
  203. package/dist/{IconTooltip-D9sbK-Mk.js → icon-tooltip-CO6rw0dZ.js} +1 -1
  204. package/dist/icon-tooltip.js +1 -1
  205. package/dist/index.d.ts +0 -1
  206. package/dist/infinite-scroll.d.ts +0 -1
  207. package/dist/infinite-scroll.js +17 -15
  208. package/dist/instrument-chassis.js +1 -1
  209. package/dist/keyboard.js +104 -2
  210. package/dist/label.js +1 -1
  211. package/dist/labeled-field.js +95 -69
  212. package/dist/liquid-grid.js +173 -162
  213. package/dist/metric-badge.js +3 -3
  214. package/dist/metric-cell.js +2 -2
  215. package/dist/metric-stack.js +1 -1
  216. package/dist/motion-core.js +15 -16
  217. package/dist/motion-curves.d.ts +0 -20
  218. package/dist/motion.js +59 -58
  219. package/dist/{Notification-DQv2cOh9.js → notification-DVs7ODMg.js} +17 -8
  220. package/dist/notification.js +1 -1
  221. package/dist/{NumberFieldContent-BkE7xPS9.js → number-field-PvkGedHk.js} +2 -2
  222. package/dist/number-field.js +1 -1
  223. package/dist/pager-dots.js +1 -1
  224. package/dist/paper-backdrop.js +31 -2
  225. package/dist/{PopoverContent-DOtszFWK.js → popover-WMgyRSyN.js} +7 -2
  226. package/dist/popover.js +1 -1
  227. package/dist/procedural-color.wgsl-B9mLK7v0.js +377 -0
  228. package/dist/progress-C-HHuFZy.js +192 -0
  229. package/dist/progress.js +2 -2
  230. package/dist/pulse.js +3 -1
  231. package/dist/reactive.js +19 -3
  232. package/dist/rendererStatus-C2-zC2Q-.js +40 -0
  233. package/dist/{resolveCanvasColor-B3L-akX0.js → resolveCanvasColor-yarP5bdk.js} +1 -1
  234. package/dist/scroll-progress-rim.js +1 -1
  235. package/dist/search.js +187 -146
  236. package/dist/{SelectScrollDownButton-CDtwaWkZ.js → select-BIv4R3Ir.js} +109 -44
  237. package/dist/select.js +2 -4
  238. package/dist/separator-CBU94kTM.js +62 -0
  239. package/dist/separator.js +1 -1
  240. package/dist/sidebar.js +1 -1
  241. package/dist/slider-Cc_qw6GA.js +166 -0
  242. package/dist/slider.js +1 -1
  243. package/dist/sortable-list.js +43 -43
  244. package/dist/styles/accessibility.css +1 -0
  245. package/dist/styles/components.css +1 -1
  246. package/dist/styles/glass/control-surfaces.css +1 -1
  247. package/dist/styles/glass/glass-capsule.css +1 -1
  248. package/dist/styles/glass/ladder.css +1 -1
  249. package/dist/styles/glass/liquid-fill.css +1 -1
  250. package/dist/styles/glass/material-roles.css +1 -0
  251. package/dist/styles/glass/material.css +1 -1
  252. package/dist/styles/glass/surface-axis.css +1 -1
  253. package/dist/styles/glass/surfaces-pager.css +1 -1
  254. package/dist/styles/glass/surfaces.css +1 -1
  255. package/dist/styles/glass.css +1 -1
  256. package/dist/styles/index.css +1 -1
  257. package/dist/styles/theme/bridges.css +1 -1
  258. package/dist/styles/tokens/glass-fx.css +1 -1
  259. package/dist/styles/tokens/glass.css +1 -1
  260. package/dist/styles/tokens/offsets.css +1 -1
  261. package/dist/styles/tokens/scale-paper.css +1 -1
  262. package/dist/styles/tokens/scheme-spring.css +1 -1
  263. package/dist/styles/tokens/shadow.css +1 -1
  264. package/dist/styles/tokens.d.ts +53 -0
  265. package/dist/styles/tokens.ts +58 -0
  266. package/dist/styles/typography/scale.css +1 -1
  267. package/dist/styles/typography/semantic.css +1 -1
  268. package/dist/styles/typography/utilities.css +1 -1
  269. package/dist/styles/utilities/base.css +1 -1
  270. package/dist/styles/utilities/btn.css +1 -1
  271. package/dist/styles/utilities/components.css +1 -1
  272. package/dist/styles/utilities.css +1 -1
  273. package/dist/{Switch-BPBfhMU3.js → switch-Boj4Ucn5.js} +1 -1
  274. package/dist/switch.js +1 -1
  275. package/dist/tabs.js +51 -45
  276. package/dist/timeline.js +2 -2
  277. package/dist/toast.js +1 -1
  278. package/dist/{ToggleGroupItem-DNWx2aSW.js → toggle-group-BPchFsns.js} +10 -7
  279. package/dist/toggle-group.js +1 -1
  280. package/dist/tokens.d.ts +1 -53
  281. package/dist/tokens.js +1 -1
  282. package/dist/{TooltipProvider-GtfYdSVf.js → tooltip-BmOQJzh0.js} +1 -0
  283. package/dist/tooltip.js +1 -1
  284. package/dist/typewriter.js +151 -166
  285. package/dist/{useAccentTone-D25DxviG.js → useAccentTone-C-p6WdPe.js} +1 -1
  286. package/dist/{useAnimatedNumber-2XC4aRB6.js → useAnimatedNumber-BRVVaFFc.js} +1 -1
  287. package/dist/useDockCtaReceive-CK-RLASa.js +257 -0
  288. package/dist/{useGooMorph-CU1pwuC6.js → useGooMorph-D1F6QJlH.js} +140 -59
  289. package/dist/{useIntersectionPause-Cmt5Tnv9.js → useIntersectionPause-B-dbxl9w.js} +1 -1
  290. package/dist/useLiquidPress-BYcwwGQV.js +68 -0
  291. package/dist/{useRAFLoop-CvOo_kgb.js → useRAFLoop-BtwQ9DyY.js} +1 -1
  292. package/dist/{useScrollProgress-C-yImzhU.js → useScrollProgress-DZI4nf4v.js} +1 -1
  293. package/dist/{useSelectionGroup-Btpf24aY.js → useSelectionGroup-LDzBdR1Y.js} +3 -3
  294. package/dist/{useTabRovingFocus-CG1H1k1J.js → useTabRovingFocus-DkLYwo4L.js} +1 -1
  295. package/dist/{useTouchGate-BlegwvwL.js → useTouchGate-Cj5fOkTv.js} +1 -1
  296. package/dist/valueDomain-B8L04u3U.js +13 -0
  297. package/dist/watercolor-dot.js +5 -3
  298. package/package.json +5 -12
  299. package/src/styles/accessibility.css +48 -0
  300. package/src/styles/glass/glass-capsule.css +2 -2
  301. package/src/styles/glass/ladder.css +1 -1
  302. package/src/styles/glass/material-roles.css +18 -0
  303. package/src/styles/glass/material.css +18 -12
  304. package/src/styles/glass.css +5 -5
  305. package/src/styles/index.css +38 -30
  306. package/src/styles/theme/bridges.css +0 -6
  307. package/src/styles/tokens/glass-fx.css +1 -5
  308. package/src/styles/tokens/glass.css +1 -2
  309. package/src/styles/tokens/offsets.css +0 -1
  310. package/src/styles/tokens/property-regs.css +11 -10
  311. package/src/styles/tokens/scale-paper.css +0 -1
  312. package/src/styles/tokens/scheme-motion.css +3 -0
  313. package/src/styles/tokens/scheme-spring.css +0 -10
  314. package/src/styles/tokens/shadow.css +3 -29
  315. package/src/styles/tokens.ts +58 -0
  316. package/src/styles/typography/scale.css +5 -2
  317. package/src/styles/typography/semantic.css +5 -5
  318. package/src/styles/typography/utilities.css +5 -5
  319. package/src/styles/utilities/base.css +5 -5
  320. package/src/styles/utilities/btn.css +6 -27
  321. package/src/styles/utilities.css +4 -6
  322. package/dist/ConfiguratorRow-BV6zPjTM.js +0 -151
  323. package/dist/DialogContent-Bl4v10AC.js +0 -192
  324. package/dist/DialogFooter-C0v4Hz2F.js +0 -168
  325. package/dist/PaperBackdrop-BYwE8_kg.js +0 -31
  326. package/dist/Progress-uWLyXE7J.js +0 -308
  327. package/dist/SelectGroup-BuEptUsa.js +0 -31
  328. package/dist/SelectSeparator-4QGephvr.js +0 -49
  329. package/dist/Separator-DqJ6PfOd.js +0 -44
  330. package/dist/color-Bp5jmv4Z.js +0 -86
  331. package/dist/components/carousel/GlassCarouselPager.vue.d.ts +0 -50
  332. package/dist/components/combobox/ComboboxSeparator.vue.d.ts +0 -18
  333. package/dist/components/combobox/ComboboxViewport.vue.d.ts +0 -18
  334. package/dist/components/constellation/composables/constellationGLSetup.d.ts +0 -10
  335. package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +0 -19
  336. package/dist/components/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
  337. package/dist/components/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
  338. package/dist/components/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
  339. package/dist/components/constellation/shaders/constellation-points.glsl.d.ts +0 -2
  340. package/dist/components/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
  341. package/dist/components/deck/composables/useDeckSpring.d.ts +0 -22
  342. package/dist/components/dialog/DialogScrollContent.vue.d.ts +0 -33
  343. package/dist/components/progress/ProgressSectioned.vue.d.ts +0 -47
  344. package/dist/components/progress/useProgressGeometry.d.ts +0 -60
  345. package/dist/components/section/Section.vue.d.ts +0 -73
  346. package/dist/components/section/index.d.ts +0 -1
  347. package/dist/components/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
  348. package/dist/components/stacked-icons/index.d.ts +0 -2
  349. package/dist/components/stacked-icons/types.d.ts +0 -19
  350. package/dist/dropdown-menu-DaGlVdp9.js +0 -421
  351. package/dist/math-CIEcwsYi.js +0 -112
  352. package/dist/procedural-color.wgsl-ByduxnzV.js +0 -4
  353. package/dist/slider-Cxuj_W_H.js +0 -151
  354. package/dist/stacked-icons.d.ts +0 -1
  355. package/dist/stacked-icons.js +0 -98
  356. package/dist/styles/cards.css +0 -1
  357. package/dist/styles/completion-seal.css +0 -1
  358. package/dist/styles/dock/adaptive-legibility.css +0 -1
  359. package/dist/styles/dock/dock.css +0 -1
  360. package/dist/styles/dock/layer-group.css +0 -1
  361. package/dist/styles/dock/layers.css +0 -1
  362. package/dist/styles/dock/overflow.css +0 -1
  363. package/dist/styles/dock/popover.css +0 -1
  364. package/dist/styles/dock/shape.css +0 -1
  365. package/dist/styles/dock/shell.css +0 -1
  366. package/dist/styles/dock-controls/icon-button.css +0 -1
  367. package/dist/styles/dock-controls.css +0 -1
  368. package/dist/styles/dock.css +0 -1
  369. package/dist/styles/drawer.css +0 -1
  370. package/dist/styles/icon-chip.css +0 -1
  371. package/dist/styles/instrument-chassis.css +0 -1
  372. package/dist/styles/scroll-progress-rim.css +0 -1
  373. package/dist/styles/select.css +0 -1
  374. package/dist/styles/tabs/segmented-tabs-drag.css +0 -1
  375. package/dist/styles/utilities/animate.css +0 -0
  376. package/dist/useConfiguratorState-Dq35N_7t.js +0 -167
  377. package/dist/useDockCtaReceive-BgMmeINo.js +0 -161
  378. package/dist/useGlobalDark-DjKMEQE2.js +0 -53
  379. package/dist/useGpuSubstrate-DcY584kE.js +0 -347
  380. package/dist/useInterval-ZATRi-1T.js +0 -18
  381. package/dist/useKeyboardShortcuts-ynVmNFo3.js +0 -104
  382. package/dist/useLiquidPress-BXNHydZh.js +0 -40
  383. package/dist/useTextHighlight-C46Le9u_.js +0 -72
  384. package/dist/useViewportReady-c0isoKL8.js +0 -191
  385. package/src/styles/card-scroll.css +0 -189
  386. package/src/styles/cards.css +0 -485
  387. package/src/styles/completion-seal.css +0 -205
  388. package/src/styles/configurator.css +0 -359
  389. package/src/styles/dialog-placement.css +0 -68
  390. package/src/styles/dock/adaptive-legibility.css +0 -119
  391. package/src/styles/dock/crossfade.css +0 -139
  392. package/src/styles/dock/cta-seat.css +0 -87
  393. package/src/styles/dock/density.css +0 -458
  394. package/src/styles/dock/dock.css +0 -199
  395. package/src/styles/dock/fisheye.css +0 -81
  396. package/src/styles/dock/layer-group.css +0 -329
  397. package/src/styles/dock/layers.css +0 -438
  398. package/src/styles/dock/morph.css +0 -455
  399. package/src/styles/dock/overflow.css +0 -332
  400. package/src/styles/dock/popover.css +0 -249
  401. package/src/styles/dock/search.css +0 -68
  402. package/src/styles/dock/section.css +0 -59
  403. package/src/styles/dock/shape.css +0 -188
  404. package/src/styles/dock/shell-regions.css +0 -73
  405. package/src/styles/dock/shell.css +0 -500
  406. package/src/styles/dock-controls/dark-mode-toggle.css +0 -123
  407. package/src/styles/dock-controls/icon-button.css +0 -221
  408. package/src/styles/dock-controls/tab-button.css +0 -143
  409. package/src/styles/dock-controls/touch-floor.css +0 -119
  410. package/src/styles/dock-controls/triggers.css +0 -157
  411. package/src/styles/dock-controls.css +0 -92
  412. package/src/styles/dock.css +0 -219
  413. package/src/styles/drawer.css +0 -434
  414. package/src/styles/feedback-tone.css +0 -104
  415. package/src/styles/icon-chip.css +0 -256
  416. package/src/styles/instrument-chassis.css +0 -449
  417. package/src/styles/menu.css +0 -187
  418. package/src/styles/scroll-progress-rim.css +0 -87
  419. package/src/styles/segmented-tabs.css +0 -424
  420. package/src/styles/select.css +0 -201
  421. package/src/styles/tabs/segmented-tabs-drag.css +0 -200
  422. package/src/styles/utilities/animate.css +0 -29
  423. /package/dist/{coalesce-metric-B8o7zT9u.js → coalesce-metric-znAcLzkB.js} +0 -0
  424. /package/dist/{CollapsibleContent-DiHcB_HH.js → collapsible-bPzS1aQk.js} +0 -0
  425. /package/dist/{compile-C55K3P9g.js → compile-DK3Fri1B.js} +0 -0
  426. /package/dist/{styles → components/_shared}/feedback-tone.css +0 -0
  427. /package/dist/{styles → components/_shared}/menu.css +0 -0
  428. /package/dist/{styles → components/card}/card-scroll.css +0 -0
  429. /package/dist/{styles/configurator.css → components/configurator/styles.css} +0 -0
  430. /package/dist/{styles/dock-controls → components/controls}/dark-mode-toggle.css +0 -0
  431. /package/dist/{styles/dialog-placement.css → components/dialog/placement.css} +0 -0
  432. /package/dist/{styles/dock-controls → components/dock/styles/controls}/tab-button.css +0 -0
  433. /package/dist/{styles/dock-controls → components/dock/styles/controls}/triggers.css +0 -0
  434. /package/dist/{styles/dock → components/dock/styles}/crossfade.css +0 -0
  435. /package/dist/{styles/dock → components/dock/styles}/cta-seat.css +0 -0
  436. /package/dist/{styles/dock → components/dock/styles}/fisheye.css +0 -0
  437. /package/dist/{styles/dock → components/dock/styles}/morph.css +0 -0
  438. /package/dist/{styles/dock → components/dock/styles}/search.css +0 -0
  439. /package/dist/{styles/dock → components/dock/styles}/section.css +0 -0
  440. /package/dist/{styles/dock → components/dock/styles}/shell-regions.css +0 -0
  441. /package/dist/{styles/segmented-tabs.css → components/tabs/styles/segmented.css} +0 -0
  442. /package/dist/{constants-D8lSMkOz.js → constants-DRZmNIY-.js} +0 -0
  443. /package/dist/{createContext-BQ1Gy_LB.js → createContext-FU0n5MGK.js} +0 -0
  444. /package/dist/{flow.glsl-CVqPSj8_.js → flow.glsl-DEGFGE11.js} +0 -0
  445. /package/dist/{FocusScope-BzKwhsBn.js → focus-scope-DUTKveod.js} +0 -0
  446. /package/dist/{InstrumentChassis-Dss5Tjcm.js → instrument-chassis-Cvstg4_U.js} +0 -0
  447. /package/dist/{Label-C84TaQiw.js → label-Cj38tJKG.js} +0 -0
  448. /package/dist/{menuItemVariants-DbO-Fr74.js → menuItemVariants-D6AOzzND.js} +0 -0
  449. /package/dist/{pointerFieldMappings-4VtmkOWv.js → pointerFieldMappings-CZojkgKj.js} +0 -0
  450. /package/dist/{presets-B07HzyKd.js → presets-CxeNvxuO.js} +0 -0
  451. /package/dist/{prng-B0PLRmR6.js → prng-Dz2_9RJu.js} +0 -0
  452. /package/dist/{scrollReader-DzYqPQ6V.js → scrollReader-C2oK9Hb8.js} +0 -0
  453. /package/dist/{supportsCssTimeline-Ie4xJFbD.js → supportsCssTimeline-Dz-GVxXM.js} +0 -0
  454. /package/dist/{Toaster-C_-WeU9W.js → toast-kAbchIN2.js} +0 -0
  455. /package/dist/{useControlSize-DJwe-7ZQ.js → useControlSize-CFfOk8I-.js} +0 -0
  456. /package/dist/{useDocumentVisibility-CpJGUgcJ.js → useDocumentVisibility-YeBDGqtI.js} +0 -0
  457. /package/dist/{useDragMorph-65ihHePq.js → useDragMorph-7ygF9O0m.js} +0 -0
  458. /package/dist/{useDragVelocity-BWcNMCux.js → useDragVelocity-CbMZEBaC.js} +0 -0
  459. /package/dist/{useFuzzySearch-KslRxiJY.js → useFuzzySearch-BOgep7RE.js} +0 -0
  460. /package/dist/{useLeadTrail-DOH4XkL1.js → useLeadTrail-BYu8dq4G.js} +0 -0
  461. /package/dist/{usePointerVelocityField-CwXyeW0Z.js → usePointerVelocityField-BdvnO0py.js} +0 -0
  462. /package/dist/{useResizeObserver-DDuoBeBo.js → useResizeObserver-BcUTquV7.js} +0 -0
  463. /package/dist/{useResolveTokenColor-DVT5kwv6.js → useResolveTokenColor-C07e-qaT.js} +0 -0
  464. /package/dist/{useRoutePointer-DL7I0gY4.js → useRoutePointer-BDNMFN73.js} +0 -0
  465. /package/dist/{useSpringMount-CNvvgGiC.js → useSpringMount-C6-DBx4e.js} +0 -0
  466. /package/dist/{useTimer-CkDV8SC2.js → useTimer-D8koDvJS.js} +0 -0
  467. /package/dist/{useUserInvalidAria-Bkruei7M.js → useUserInvalidAria-Cr4nR3tu.js} +0 -0
  468. /package/dist/{vReveal-DUmiEkX_.js → vReveal-DZfWl9XI.js} +0 -0
  469. /package/dist/{vSpecular-DlYN0UZy.js → vSpecular-CQFmLNzA.js} +0 -0
  470. /package/dist/{writeVelocityWeight-D1rvdxJu.js → writeVelocityWeight-D_AcvTsE.js} +0 -0
package/dist/dock.js CHANGED
@@ -1,36 +1,38 @@
1
1
  import { t as e } from "./class-names-5jotTFzp.js";
2
2
  import { t } from "./motionTempo-CMS5b0Vu.js";
3
3
  import { n } from "./springPresets-h5VKJQqG.js";
4
- import { t as r } from "./vSpecular-DlYN0UZy.js";
5
- import { t as i } from "./useLiquidPress-BXNHydZh.js";
4
+ import { t as r } from "./useLiquidPress-BYcwwGQV.js";
5
+ import { t as i } from "./vSpecular-CQFmLNzA.js";
6
6
  import { t as a } from "./useMotionAxis-DCCXMC-i.js";
7
7
  import { t as o } from "./_plugin-vue_export-helper-C1je1s0u.js";
8
- import { t as s } from "./useResizeObserver-DDuoBeBo.js";
9
- import { t as c } from "./useTouchGate-BlegwvwL.js";
10
- import { n as l } from "./useResolveTokenColor-DVT5kwv6.js";
11
- import { n as u, t as d } from "./createContext-BQ1Gy_LB.js";
12
- import { a as f, i as p, n as m, o as h, r as g, s as _, t as v } from "./dockContext-d-WpJN2Z.js";
13
- import { t as y } from "./FadingScroll-BSRLqQCx.js";
14
- import { t as b } from "./useDragMorph-65ihHePq.js";
15
- import { t as x } from "./useDockCtaReceive-BgMmeINo.js";
16
- import { t as S } from "./useRAFLoop-CvOo_kgb.js";
17
- import { t as C } from "./useIntersectionPause-Cmt5Tnv9.js";
18
- import { n as w, t as T } from "./useSelectionGroup-Btpf24aY.js";
19
- import { t as E } from "./useFuzzySearch-KslRxiJY.js";
20
- import { Fragment as D, computed as O, createBlock as k, createCommentVNode as A, createElementBlock as j, createElementVNode as M, createVNode as N, defineComponent as P, mergeModels as F, mergeProps as I, nextTick as L, normalizeClass as R, normalizeStyle as z, onBeforeUnmount as ee, onMounted as te, onScopeDispose as B, onUnmounted as V, openBlock as H, readonly as U, ref as W, renderList as G, renderSlot as K, resolveDynamicComponent as q, toDisplayString as ne, toValue as re, unref as J, useId as ie, useModel as ae, useTemplateRef as Y, watch as X, withCtx as Z, withDirectives as Q, withKeys as oe } from "vue";
21
- import { DropdownMenuTrigger as se, PopoverTrigger as ce, Primitive as le, SelectIcon as ue, SelectTrigger as de } from "reka-ui";
8
+ import { t as s } from "./useResizeObserver-BcUTquV7.js";
9
+ import { t as c } from "./useTouchGate-Cj5fOkTv.js";
10
+ import { n as l } from "./useResolveTokenColor-C07e-qaT.js";
11
+ import { t as u } from "./DropdownMenuTrigger-BzQtd9lt.js";
12
+ import { n as d, t as f } from "./createContext-FU0n5MGK.js";
13
+ import { a as p, i as m, n as h, o as g, r as _, s as v, t as y } from "./dockContext-4S9qP0Z4.js";
14
+ import { t as b } from "./FadingScroll-C1ZWEjmG.js";
15
+ import { t as x } from "./useDragMorph-7ygF9O0m.js";
16
+ import { n as S } from "./useDockCtaReceive-CK-RLASa.js";
17
+ import { t as C } from "./useRAFLoop-BtwQ9DyY.js";
18
+ import { t as w } from "./useIntersectionPause-B-dbxl9w.js";
19
+ import { n as T, t as E } from "./useSelectionGroup-LDzBdR1Y.js";
20
+ import { t as D } from "./useFuzzySearch-BOgep7RE.js";
21
+ import { Fragment as O, computed as k, createBlock as A, createCommentVNode as j, createElementBlock as M, createElementVNode as N, createVNode as P, defineComponent as F, mergeModels as I, mergeProps as L, nextTick as ee, normalizeClass as R, normalizeStyle as z, onBeforeUnmount as B, onMounted as te, onScopeDispose as V, onUnmounted as ne, openBlock as H, readonly as U, ref as W, renderList as G, renderSlot as K, resolveDynamicComponent as q, toDisplayString as re, toValue as ie, unref as J, useId as ae, useModel as oe, useTemplateRef as Y, watch as X, withCtx as Z, withDirectives as Q, withKeys as se } from "vue";
22
+ import { PopoverTrigger as ce, Primitive as le, SelectIcon as ue, SelectTrigger as de } from "reka-ui";
22
23
  import { ChevronDown as fe, Layers as pe, Pause as me, Play as he } from "@lucide/vue";
23
24
  import { SpringProgress as ge } from "@mkbabb/keyframes.js";
24
- import { rawOklabToOklch as _e, srgbToOKLab as ve } from "@mkbabb/value.js";
25
+ import { useMediaQuery as _e } from "@vueuse/core";
26
+ import { rawOklabToOklch as ve, srgbToOKLab as ye } from "@mkbabb/value.js";
25
27
  //#region src/composables/glass/backdropSampleMath.ts
26
- function ye(e) {
28
+ function be(e) {
27
29
  let t = e / 255;
28
30
  return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
29
31
  }
30
- function be(e, t, n) {
31
- return .2126 * ye(e) + .7152 * ye(t) + .0722 * ye(n);
32
+ function xe(e, t, n) {
33
+ return .2126 * be(e) + .7152 * be(t) + .0722 * be(n);
32
34
  }
33
- function xe(e) {
35
+ function Se(e) {
34
36
  let t = e.match(/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:[,\s/]+([\d.]+))?/i);
35
37
  return t ? [
36
38
  Number(t[1]),
@@ -39,13 +41,13 @@ function xe(e) {
39
41
  t[4] === void 0 ? 1 : Number(t[4])
40
42
  ] : null;
41
43
  }
42
- function Se(e) {
44
+ function Ce(e) {
43
45
  return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
44
46
  }
45
47
  //#endregion
46
48
  //#region src/composables/glass/ambientHueHistogram.ts
47
- var $ = 12, Ce = .72, we = .06, Te = .004;
48
- function Ee() {
49
+ var $ = 12, we = .72, Te = .06, Ee = .004;
50
+ function De() {
49
51
  return {
50
52
  weight: new Float64Array($),
51
53
  sumCos: new Float64Array($),
@@ -54,45 +56,45 @@ function Ee() {
54
56
  n: 0
55
57
  };
56
58
  }
57
- function De(e, t, n, r, i) {
59
+ function Oe(e, t, n, r, i) {
58
60
  e.n++;
59
- let [a, o, s] = ve(t, n, r), [, c, l] = _e(a, o, s);
61
+ let [a, o, s] = ye(t, n, r), [, c, l] = ve(a, o, s);
60
62
  if (!Number.isFinite(c) || !Number.isFinite(l) || c <= 0) return;
61
63
  let u = c * i;
62
64
  if (u <= 0) return;
63
65
  let d = l * Math.PI / 180, f = Math.floor(l / 360 * $) % $;
64
66
  f < 0 && (f += $), e.weight[f] += u, e.sumCos[f] += u * Math.cos(d), e.sumSin[f] += u * Math.sin(d), e.totalMass += u;
65
67
  }
66
- function Oe(e) {
67
- if (e.n === 0 || e.totalMass / e.n < Te) return "transparent";
68
+ function ke(e) {
69
+ if (e.n === 0 || e.totalMass / e.n < Ee) return "transparent";
68
70
  let t = 0;
69
71
  for (let n = 1; n < $; n++) e.weight[n] > e.weight[t] && (t = n);
70
72
  if (e.weight[t] <= 0) return "transparent";
71
73
  let n = Math.atan2(e.sumSin[t], e.sumCos[t]) * 180 / Math.PI;
72
- return n < 0 && (n += 360), `oklch(${Ce} ${we} ${n.toFixed(1)})`;
74
+ return n < 0 && (n += 360), `oklch(${we} ${Te} ${n.toFixed(1)})`;
73
75
  }
74
- var ke = "[data-glass-field-canvas] canvas, canvas[data-glass-field-canvas]";
75
- function Ae(e) {
76
+ var Ae = "[data-glass-field-canvas] canvas, canvas[data-glass-field-canvas]";
77
+ function je(e) {
76
78
  if (!e) {
77
79
  if (typeof document < "u") {
78
- let e = document.querySelector(ke);
79
- if (Se(e)) return e;
80
+ let e = document.querySelector(Ae);
81
+ if (Ce(e)) return e;
80
82
  }
81
83
  return null;
82
84
  }
83
- if (Se(e)) return e;
85
+ if (Ce(e)) return e;
84
86
  if (typeof e == "function") {
85
87
  let t = e();
86
- return Se(t) ? t : null;
88
+ return Ce(t) ? t : null;
87
89
  }
88
90
  if (typeof e == "string" && typeof document < "u") {
89
91
  let t = document.querySelector(e);
90
- return Se(t) ? t : null;
92
+ return Ce(t) ? t : null;
91
93
  }
92
94
  return null;
93
95
  }
94
- function je(e, t) {
95
- let n = xe(e);
96
+ function Me(e, t) {
97
+ let n = Se(e);
96
98
  if (n) return n;
97
99
  if (!t) return null;
98
100
  try {
@@ -108,7 +110,7 @@ function je(e, t) {
108
110
  return null;
109
111
  }
110
112
  }
111
- function Me(e, t, n) {
113
+ function Ne(e, t, n) {
112
114
  if (!t || t.width === 0 || t.height === 0 || !n) return null;
113
115
  let r = e.getBoundingClientRect(), i = t.getBoundingClientRect();
114
116
  if (i.width === 0 || i.height === 0) return null;
@@ -116,132 +118,159 @@ function Me(e, t, n) {
116
118
  if (l <= 0 || u <= 0) return null;
117
119
  try {
118
120
  n.clearRect(0, 0, 32, 32), n.drawImage(t, s, c, l, u, 0, 0, 32, 32);
119
- let e = n.getImageData(0, 0, 32, 32).data, r = 0, i = 0, a = 0, o = Ee();
121
+ let e = n.getImageData(0, 0, 32, 32).data, r = 0, i = 0, a = 0, o = De();
120
122
  for (let t = 0; t < e.length; t += 4) {
121
123
  let n = e[t + 3] / 255, s = e[t] * n + 255 * (1 - n), c = e[t + 1] * n + 255 * (1 - n), l = e[t + 2] * n + 255 * (1 - n);
122
- r += be(s, c, l), i += n, De(o, s, c, l, n), a++;
124
+ r += xe(s, c, l), i += n, Oe(o, s, c, l, n), a++;
123
125
  }
124
126
  return a === 0 || i / a < .02 ? null : {
125
127
  luma: r / a,
126
- ambientHue: Oe(o)
128
+ ambientHue: ke(o)
127
129
  };
128
130
  } catch {
129
131
  return null;
130
132
  }
131
133
  }
132
- function Ne(e, t) {
134
+ function Pe(e, t) {
133
135
  let n = e.getBoundingClientRect(), r = n.left + n.width / 2, i = n.top + n.height / 2, a = document.elementsFromPoint(r, i);
134
136
  for (let n of a) {
135
137
  if (!(n instanceof HTMLElement) || n === e || e.contains(n)) continue;
136
- let r = getComputedStyle(n).backgroundColor, i = je(l(r, e), t);
137
- if (i && !(i[3] < .5)) return Pe(i);
138
+ let r = getComputedStyle(n).backgroundColor, i = Me(l(r, e), t);
139
+ if (i && !(i[3] < .5)) return Fe(i);
138
140
  }
139
- let o = je(l(getComputedStyle(document.body).backgroundColor, e), t);
140
- return o ? Pe(o) : null;
141
+ let o = Me(l(getComputedStyle(document.body).backgroundColor, e), t);
142
+ return o ? Fe(o) : null;
141
143
  }
142
- function Pe(e) {
143
- let t = Ee();
144
- return De(t, e[0], e[1], e[2], e[3]), {
145
- luma: be(e[0], e[1], e[2]),
146
- ambientHue: Oe(t)
144
+ function Fe(e) {
145
+ let t = De();
146
+ return Oe(t, e[0], e[1], e[2], e[3]), {
147
+ luma: xe(e[0], e[1], e[2]),
148
+ ambientHue: ke(t)
147
149
  };
148
150
  }
149
151
  //#endregion
150
152
  //#region src/composables/glass/useGlassBackdropLuminance.ts
151
- var Fe = "(prefers-reduced-motion: reduce)", Ie = "data-glass-backdrop-shared", Le = "8%";
152
- function Re(e, t = {}) {
153
+ var Ie = "(prefers-reduced-motion: reduce)", Le = "data-glass-backdrop-shared", Re = "8%";
154
+ function ze(e, t = {}) {
153
155
  let { lightThreshold: n = .6, minSampleIntervalMs: r = 250, writeBucket: i = !0 } = t, a = Math.max(250, r), o = t.shared === !0;
154
156
  function c(e) {
155
- return o ? !1 : e.closest(`[${Ie}]`) !== null;
157
+ return o ? !1 : e.closest(`[${Le}]`) !== null;
156
158
  }
157
- let l = W(null), u = W(null);
159
+ let l = W(null), u = W(null), d = W({
160
+ state: "pending",
161
+ mode: t.live === !0 ? "live" : "static",
162
+ source: t.live === !0 ? "canvas" : "elements"
163
+ });
158
164
  if (typeof window > "u") return {
159
165
  luma: U(l),
160
166
  bucket: U(u),
167
+ sample: U(d),
161
168
  sampleNow: () => {},
162
169
  dispose: () => {}
163
170
  };
164
- let d = window.matchMedia(Fe), f = d.matches, p = null, m = null;
165
- function h() {
166
- return p || (p = document.createElement("canvas"), p.width = 32, p.height = 32), m ||= p.getContext("2d", { willReadFrequently: !0 }), m;
167
- }
171
+ let f = window.matchMedia(Ie), p = f.matches, m = null, h = null;
168
172
  function g() {
169
- return t.live === void 0 ? e.value?.dataset.glassSample === "live" ? !0 : Ae(t.backgroundCanvas) !== null : t.live;
173
+ return m || (m = document.createElement("canvas"), m.width = 32, m.height = 32), h ||= m.getContext("2d", { willReadFrequently: !0 }), h;
170
174
  }
171
175
  function _() {
172
- return t.live === void 0 ? e.value?.dataset.glassSample === "live" || t.backgroundCanvas != null ? !0 : Ae(void 0) !== null : t.live;
173
- }
174
- function v(t) {
175
- let r = t.luma;
176
- l.value = r;
177
- let a = e.value;
178
- if (a && (a.style.setProperty("--glass-backdrop-luma", r.toFixed(3)), a.style.setProperty("--glass-ambient-hue", t.ambientHue), a.style.setProperty("--glass-ambient-strength", t.ambientHue === "transparent" ? "0%" : Le), a.setAttribute("data-backdrop-sampled", ""), a.style.setProperty("--glass-backdrop-sampled", "1"), i)) {
179
- let e = r >= n ? "light" : "dark";
180
- u.value = e, a.style.setProperty("--glass-backdrop", e);
181
- }
176
+ return t.live === void 0 ? e.value?.dataset.glassSample === "live" || t.backgroundCanvas != null ? !0 : je(void 0) !== null : t.live;
177
+ }
178
+ function v(e) {
179
+ let t = e.getBoundingClientRect();
180
+ return {
181
+ x: t.x,
182
+ y: t.y,
183
+ width: t.width,
184
+ height: t.height
185
+ };
182
186
  }
183
- let y = 0;
184
- function b() {
187
+ function y(e, t, r, a) {
188
+ let o = e.luma;
189
+ l.value = o;
190
+ let s = o >= n ? "light" : "dark";
191
+ u.value = s, d.value = {
192
+ state: "sampled",
193
+ mode: r,
194
+ source: r === "live" ? "canvas" : "elements",
195
+ luma: o,
196
+ ambientHue: e.ambientHue,
197
+ sampledAt: a,
198
+ targetRect: v(t)
199
+ }, t.style.setProperty("--glass-backdrop-luma", o.toFixed(3)), t.style.setProperty("--glass-ambient-hue", e.ambientHue), t.style.setProperty("--glass-ambient-strength", e.ambientHue === "transparent" ? "0%" : Re), t.setAttribute("data-backdrop-sampled", ""), t.setAttribute("data-backdrop-sample-state", "sampled"), t.setAttribute("data-backdrop-sample-source", r === "live" ? "canvas" : "elements"), t.removeAttribute("data-backdrop-sample-reason"), t.style.setProperty("--glass-backdrop-sampled", "1"), i && t.style.setProperty("--glass-backdrop", s);
200
+ }
201
+ function b(e, t, n, r) {
202
+ l.value = null, u.value = null, d.value = {
203
+ state: "unavailable",
204
+ mode: t,
205
+ source: t === "live" ? "canvas" : "elements",
206
+ reason: n,
207
+ sampledAt: r,
208
+ targetRect: v(e)
209
+ }, e.style.removeProperty("--glass-backdrop-luma"), e.style.removeProperty("--glass-ambient-hue"), e.style.removeProperty("--glass-ambient-strength"), e.style.removeProperty("--glass-backdrop-sampled"), i && e.style.removeProperty("--glass-backdrop"), e.removeAttribute("data-backdrop-sampled"), e.setAttribute("data-backdrop-sample-state", "unavailable"), e.setAttribute("data-backdrop-sample-source", t === "live" ? "canvas" : "elements"), e.setAttribute("data-backdrop-sample-reason", n);
210
+ }
211
+ let x = 0;
212
+ function S() {
185
213
  let n = e.value;
186
214
  if (!n || c(n)) return;
187
- let r = h(), i = g() ? Me(n, Ae(t.backgroundCanvas), r) ?? Ne(n, r) : Ne(n, r);
188
- i !== null && v(i), y = typeof performance < "u" ? performance.now() : Date.now();
215
+ let r = g(), i = _() ? "live" : "static", a = i === "live" ? je(t.backgroundCanvas) : null, o = i === "live" ? Ne(n, a, r) : Pe(n, r), s = Date.now();
216
+ o ? y(o, n, i, s) : b(n, i, i === "live" && !a ? "source-unavailable" : "sample-unavailable", s), x = typeof performance < "u" ? performance.now() : s;
189
217
  }
190
- let x = S(({ now: e }) => {
191
- f || e - y < a || b();
218
+ let T = C(({ now: e }) => {
219
+ p || e - x < a || S();
192
220
  }, {
193
221
  immediate: !1,
194
222
  pauseWhenHidden: !0,
195
223
  respectReducedMotion: !0
196
- }), w = C(() => e.value, {
197
- pause: () => x.pause(),
224
+ }), E = w(() => e.value, {
225
+ pause: () => T.pause(),
198
226
  resume: () => {
199
227
  let t = e.value;
200
- t && c(t) || _() && !f && x.resume();
228
+ t && c(t) || _() && !p && T.resume();
201
229
  }
202
- }, { rootMargin: "200px" }), T = s(e, () => b());
203
- function E() {
204
- f = d.matches;
230
+ }, { rootMargin: "200px" }), D = s(e, () => S());
231
+ function O() {
232
+ p = f.matches;
205
233
  let t = e.value;
206
234
  if (t && c(t)) {
207
- x.stop();
235
+ T.stop();
208
236
  return;
209
237
  }
210
- f ? (x.stop(), b()) : _() && x.start();
238
+ p ? (T.stop(), S()) : _() && T.start();
211
239
  }
212
- let D = () => E();
213
- typeof d.addEventListener == "function" && d.addEventListener("change", D);
214
- let O = X(() => e.value, (e) => {
240
+ let k = () => O();
241
+ typeof f.addEventListener == "function" && f.addEventListener("change", k);
242
+ let A = X(() => e.value, (e) => {
215
243
  if (e) {
216
- if (o) e.setAttribute(Ie, "");
244
+ if (o) e.setAttribute(Le, "");
217
245
  else if (c(e)) return;
218
- b(), E();
246
+ S(), O();
219
247
  }
220
248
  }, {
221
249
  immediate: !0,
222
250
  flush: "post"
223
251
  });
224
- function k() {
225
- O(), x.dispose(), w.dispose(), T.stop(), typeof d.removeEventListener == "function" && d.removeEventListener("change", D), p = null, m = null;
252
+ function j() {
253
+ A(), T.dispose(), E.dispose(), D.stop(), typeof f.removeEventListener == "function" && f.removeEventListener("change", k), m = null, h = null;
226
254
  }
227
- return B(k), {
255
+ return V(j), {
228
256
  luma: U(l),
229
257
  bucket: U(u),
230
- sampleNow: b,
231
- dispose: k
258
+ sample: U(d),
259
+ sampleNow: S,
260
+ dispose: j
232
261
  };
233
262
  }
234
263
  //#endregion
235
264
  //#region src/components/dock/composables/isTeleportedTarget.ts
236
- function ze(e, t) {
265
+ function Be(e, t) {
237
266
  if (!(e instanceof Element)) return !1;
238
267
  let n = e.closest("[data-glass-dock-portal]");
239
268
  return n ? t ? n.getAttribute("data-glass-dock-owner") === t : !0 : !1;
240
269
  }
241
270
  //#endregion
242
271
  //#region src/components/dock/composables/useDockState.ts
243
- function Be(e) {
244
- let { collapseDelay: t = 3600, rootEl: n, alwaysExpanded: r = !1, isTransitioning: i, dockId: a, onStateChange: o } = e, s = () => typeof r == "boolean" ? r : r.value, c = s(), l = W(c ? "pinned" : "collapsed"), u = W(c), d = W(c), f = null, p = W(0), m = O(() => p.value > 0), h = null, g = null, _ = !1, v = null;
272
+ function Ve(e) {
273
+ let { collapseDelay: t = 3600, rootEl: n, alwaysExpanded: r = !1, isTransitioning: i, dockId: a, onStateChange: o } = e, s = () => typeof r == "boolean" ? r : r.value, c = s(), l = W(c ? "pinned" : "collapsed"), u = W(c), d = W(c), f = null, p = W(0), m = k(() => p.value > 0), h = null, g = null, _ = !1, v = null;
245
274
  function y() {
246
275
  v &&= (clearTimeout(v), null);
247
276
  }
@@ -277,7 +306,7 @@ function Be(e) {
277
306
  }
278
307
  S(), y(), l.value = "hover", x();
279
308
  }
280
- function k() {
309
+ function O() {
281
310
  s() || (S(), l.value === "collapsed" && (y(), v = setTimeout(() => {
282
311
  v = null, !s() && l.value === "collapsed" && (l.value = "hover", x());
283
312
  }, 60)));
@@ -287,7 +316,7 @@ function Be(e) {
287
316
  if (p.value > 0) return;
288
317
  if (e) {
289
318
  let t = n.value;
290
- if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || ze(e.relatedTarget, a)) return;
319
+ if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || Be(e.relatedTarget, a)) return;
291
320
  }
292
321
  T();
293
322
  }
@@ -298,7 +327,7 @@ function Be(e) {
298
327
  function M(e) {
299
328
  if (s() || l.value !== "hover" || p.value > 0) return;
300
329
  let t = e.currentTarget;
301
- e.relatedTarget && t.contains(e.relatedTarget) || ze(e.relatedTarget, a) || T();
330
+ e.relatedTarget && t.contains(e.relatedTarget) || Be(e.relatedTarget, a) || T();
302
331
  }
303
332
  function N() {
304
333
  if (s()) {
@@ -316,9 +345,9 @@ function Be(e) {
316
345
  }, Math.min(t, 800)));
317
346
  }
318
347
  function I(e) {
319
- if (s() || i?.value) return;
348
+ if (s() || p.value > 0 || i?.value) return;
320
349
  let t = n.value;
321
- !t || t.contains(e.target) || ze(e.target, a) || E();
350
+ !t || t.contains(e.target) || Be(e.target, a) || E();
322
351
  }
323
352
  return X(u, (e) => {
324
353
  e ? (w(), g = requestAnimationFrame(() => {
@@ -332,14 +361,14 @@ function Be(e) {
332
361
  return;
333
362
  }
334
363
  l.value = "collapsed", x();
335
- }, { immediate: !0 }), V(() => {
364
+ }, { immediate: !0 }), ne(() => {
336
365
  S(), y(), w();
337
366
  }), {
338
367
  state: l,
339
368
  expanded: u,
340
369
  isPinned: d,
341
370
  isHeld: m,
342
- onMouseEnter: k,
371
+ onMouseEnter: O,
343
372
  onMouseLeave: A,
344
373
  onFocusIn: j,
345
374
  onFocusOut: M,
@@ -352,7 +381,7 @@ function Be(e) {
352
381
  }
353
382
  //#endregion
354
383
  //#region src/components/dock/composables/useDockSpring.ts
355
- function Ve(e) {
384
+ function He(e) {
356
385
  let n = null, r = () => n !== null && !n.settled;
357
386
  function i() {
358
387
  n &&= (n.dispose(), null);
@@ -387,56 +416,59 @@ function Ve(e) {
387
416
  }
388
417
  //#endregion
389
418
  //#region src/components/dock/composables/dockMorphContext.ts
390
- var He = d(h), { KEY: Ue } = He;
391
- function We(e) {
392
- He.provide(e);
393
- }
394
- He.use;
419
+ var Ue = f(g), { KEY: We } = Ue;
395
420
  function Ge(e) {
396
- let { rootEl: t, outerEl: n, outerActiveLayer: r, outerAxis: i } = e, a = Ve({
397
- response: _.response,
398
- dampingFraction: _.dampingFraction
399
- }), o = /* @__PURE__ */ new Set();
400
- function s() {
421
+ Ue.provide(e);
422
+ }
423
+ Ue.use;
424
+ function Ke(e) {
425
+ let { rootEl: t, outerEl: n, outerActiveLayer: r, outerAxis: i } = e, a = He({
426
+ response: v.response,
427
+ dampingFraction: v.dampingFraction
428
+ }), o = _e("(prefers-reduced-motion: reduce)"), s = /* @__PURE__ */ new Set();
429
+ function c() {
401
430
  return t.value;
402
431
  }
403
- function c() {
404
- let e = s();
432
+ function l() {
433
+ let e = c();
405
434
  return !!e && e.hasAttribute("data-morphing");
406
435
  }
407
- function l(e) {
436
+ function u(e) {
408
437
  e.leavingLayer.value = null;
409
438
  }
410
- function u() {
411
- let t = s();
439
+ function d() {
440
+ let t = c();
412
441
  t && (t.removeAttribute("data-morphing"), t.removeAttribute("data-pane-swap"), t.style.removeProperty("--dock-morph-t")), e.onMorphActiveChange?.(!1), a.dispose();
413
442
  }
414
- function d() {
415
- for (let e of o) l(e);
416
- u();
443
+ function f() {
444
+ for (let e of s) u(e);
445
+ d();
417
446
  }
418
- function f(t = !1) {
419
- let n = s();
447
+ X(o, (e) => {
448
+ e && l() && f();
449
+ });
450
+ function p(t = !1) {
451
+ let n = c();
420
452
  n && (e.onMorphActiveChange?.(!0), n.setAttribute("data-morphing", ""), t ? n.setAttribute("data-pane-swap", "") : n.removeAttribute("data-pane-swap"), n.style.setProperty("--dock-morph-t", "0"), a.playTo(0, 1, {
421
453
  onFrame: (e) => {
422
- let t = s();
454
+ let t = c();
423
455
  t && t.style.setProperty("--dock-morph-t", `${e}`);
424
456
  },
425
457
  onSettle: () => {
426
- d();
458
+ f();
427
459
  }
428
460
  }));
429
461
  }
430
- function p(e, t, n) {
462
+ function m(e, t, n) {
431
463
  if (t !== n) {
432
- if (!s()) {
464
+ if (!c()) {
433
465
  e.currentLayer.value = t, e.leavingLayer.value = null;
434
466
  return;
435
467
  }
436
- e.leavingLayer.value = n, e.currentLayer.value = t, f(!e.isOuter);
468
+ e.leavingLayer.value = n, e.currentLayer.value = t, p(!e.isOuter);
437
469
  }
438
470
  }
439
- function m(e, t = !1) {
471
+ function h(e, t = !1) {
440
472
  let n = {
441
473
  containerEl: e.containerEl,
442
474
  axis: e.axis,
@@ -447,147 +479,188 @@ function Ge(e) {
447
479
  stop: () => {}
448
480
  };
449
481
  return n.stop = X(e.activeLayer, (e, t) => {
450
- p(n, e, t);
451
- }), o.add(n), n;
482
+ m(n, e, t);
483
+ }), s.add(n), n;
452
484
  }
453
- function h(e) {
454
- e.stop(), o.delete(e), c() || a.dispose();
485
+ function g(e) {
486
+ e.stop(), s.delete(e), l() || a.dispose();
455
487
  }
456
- let g = m({
488
+ let _ = h({
457
489
  containerEl: n,
458
490
  activeLayer: r,
459
491
  axis: i
460
492
  }, !0);
461
- return V(() => {
462
- for (let e of o) e.stop();
463
- o.clear(), a.dispose();
493
+ return ne(() => {
494
+ for (let e of s) e.stop();
495
+ s.clear(), a.dispose();
464
496
  }), {
465
497
  context: { registerGroup(e) {
466
- let t = m(e);
498
+ let t = h(e);
467
499
  return {
468
500
  currentLayer: U(t.currentLayer),
469
501
  leavingLayer: U(t.leavingLayer),
470
- release: () => h(t)
502
+ release: () => g(t)
471
503
  };
472
504
  } },
473
- outerCurrentLayer: U(g.currentLayer)
505
+ outerCurrentLayer: U(_.currentLayer),
506
+ outerLeavingLayer: U(_.leavingLayer)
474
507
  };
475
508
  }
476
509
  //#endregion
477
510
  //#region src/components/dock/composables/dockMorphMeasure.ts
478
- function Ke(e) {
511
+ function qe(e) {
479
512
  return e === "vertical" ? "height" : "width";
480
513
  }
481
- function qe(e, t) {
482
- return e.getBoundingClientRect()[Ke(t)];
483
- }
484
- function Je(e) {
485
- if (!e || typeof getComputedStyle != "function") return 44;
486
- let t = getComputedStyle(e).getPropertyValue("--dock-morph-min").trim(), n = Number.parseFloat(t);
487
- return Number.isFinite(n) && n > 0 ? n : 44;
514
+ function Je(e, t) {
515
+ return e.getBoundingClientRect()[qe(t)];
488
516
  }
489
517
  function Ye(e) {
490
- let { rootEl: t, contentEl: n, axis: r, expanded: i } = e, a = null, o = 0, s = 0;
491
- function c(e) {
518
+ let t = e.ownerDocument.createElement("i");
519
+ t.style.cssText = "position:absolute;visibility:hidden;pointer-events:none;contain:strict;inline-size:var(--dock-morph-min);block-size:0", e.append(t);
520
+ let n = Number.parseFloat(e.ownerDocument.defaultView?.getComputedStyle(t).inlineSize ?? "");
521
+ return t.remove(), Number.isFinite(n) && n > 0 ? n : null;
522
+ }
523
+ function Xe(e) {
524
+ let { rootEl: t, contentEl: n, axis: r, expanded: i } = e, a = W(null), o = null, s = 0, c = 0, l = !1;
525
+ function u(e) {
492
526
  return e.hasAttribute("data-morphing");
493
527
  }
494
- function l() {
495
- let e = t.value, a = n.value;
496
- if (!e || !a) return;
497
- let l = r.value, u = Je(e);
498
- if (s <= 0 && (s = u), !c(e)) {
499
- let t = qe(e, l);
500
- t > 0 && (i.value ? o = t : s = t);
528
+ function d() {
529
+ let e = t.value, o = n.value;
530
+ if (!e || !o) return;
531
+ let d = r.value, f = Ye(e);
532
+ if (f === null) {
533
+ let t = e.ownerDocument.defaultView?.getComputedStyle(e).getPropertyValue("--dock-morph-min").trim() ?? "";
534
+ a.value?.token !== t && (a.value = {
535
+ code: "invalid-morph-min",
536
+ token: t
537
+ }), e.style.removeProperty("--dock-collapsed-px"), e.style.removeProperty("--dock-expanded-px");
538
+ return;
501
539
  }
502
- let d = o > 0 ? o : Math.max(qe(a, l), s), f = Math.max(d, s);
503
- e.style.setProperty("--dock-collapsed-px", `${s}px`), e.style.setProperty("--dock-expanded-px", `${f}px`);
540
+ if (a.value = null, l || (c = f), !u(e)) {
541
+ let t = Je(e, d);
542
+ t > 0 && (i.value ? s = t : (c = t, l = !0));
543
+ }
544
+ let p = s > 0 ? s : Math.max(Je(o, d), c), m = Math.max(p, c);
545
+ e.style.setProperty("--dock-collapsed-px", `${c}px`), e.style.setProperty("--dock-expanded-px", `${m}px`);
504
546
  }
505
- function u(e) {
506
- a &&= (a.disconnect(), null), !(!e || typeof ResizeObserver > "u") && (a = new ResizeObserver(() => l()), n.value && a.observe(n.value), a.observe(e), l());
547
+ function f(e) {
548
+ o &&= (o.disconnect(), null), !(!e || typeof ResizeObserver > "u") && (o = new ResizeObserver(() => d()), n.value && o.observe(n.value), o.observe(e), d());
507
549
  }
508
- X(t, (e) => u(e), { immediate: !0 }), X(n, () => u(t.value)), X(i, () => l());
509
- let d = typeof document < "u" ? document.fonts : void 0;
510
- d && d.ready.then(() => l()), B(() => {
511
- a && a.disconnect(), a = null;
512
- });
550
+ X(t, (e) => f(e), { immediate: !0 }), X(n, () => f(t.value)), X(i, () => d());
551
+ let p = typeof document < "u" ? document.fonts : void 0;
552
+ return p && p.ready.then(() => d()), V(() => {
553
+ o && o.disconnect(), o = null;
554
+ }), { failure: U(a) };
513
555
  }
514
556
  //#endregion
515
557
  //#region src/components/dock/composables/useDockShellProps.ts
516
- function Xe(e) {
517
- let t = O(() => {
558
+ function Ze(e) {
559
+ let t = k(() => {
518
560
  if (e.containerName) return {
519
561
  "container-type": "inline-size",
520
562
  "container-name": e.containerName
521
563
  };
522
- }), n = O(() => e.collapseDelay ?? 3600), r = O(() => e.layout ?? "linear"), i = O(() => e.shape ?? "pill"), a = O(() => e.orientation ?? "horizontal"), o = O(() => e.size ?? "md"), s = O(() => a.value === "vertical" || e.overflow === "wrap" ? null : "dock-scroll-x"), c = O(() => e.alwaysExpanded || r.value === "grid");
564
+ }), n = k(() => e.collapseDelay ?? 3600), r = k(() => e.layout ?? "linear"), i = k(() => e.shape ?? "pill"), a = k(() => e.orientation ?? "horizontal"), o = k(() => e.size ?? "md"), s = k(() => a.value === "vertical" || e.overflow === "wrap" ? null : "dock-scroll-x"), c = k(() => e.alwaysExpanded || r.value === "grid");
523
565
  return {
524
566
  containerStyle: t,
525
567
  collapseDelay: n,
526
- startCollapsed: O(() => c.value ? !1 : e.startCollapsed ?? !0),
568
+ startCollapsed: k(() => c.value ? !1 : e.startCollapsed ?? !0),
527
569
  layoutValue: r,
528
570
  shape: i,
529
571
  orientation: a,
530
572
  size: o,
531
573
  scrollClass: s,
532
574
  alwaysExpanded: c,
533
- fitContent: O(() => e.fitContent ?? !1)
575
+ fitContent: k(() => e.fitContent ?? !1)
534
576
  };
535
577
  }
536
578
  //#endregion
537
579
  //#region src/components/dock/composables/useDockClickIntegrity.ts
538
- function Ze(e) {
539
- let { rootEl: t, visualExpanded: n } = e, r = null, i = !1, a = 0, o = null;
540
- function s() {
580
+ function Qe(e) {
581
+ let { rootEl: t, visualExpanded: n } = e, r = null, i = !1, a = 0, o = null, s = W(null), c = null, l = [];
582
+ function u() {
583
+ c?.removeAttribute("data-dock-press-origin"), c = null;
584
+ for (let { element: e, wasInert: t } of l.splice(0)) e.toggleAttribute("inert", t);
585
+ s.value = null;
586
+ }
587
+ function d(e) {
588
+ let n = (e instanceof Element ? e : null)?.closest("button, a[href], input, select, textarea, [role='button'], [tabindex]"), r = n?.closest(".dock-layer--full");
589
+ if (!(!n || !r || !t.value?.contains(r))) {
590
+ c = n, n.setAttribute("data-dock-press-origin", ""), s.value = "full";
591
+ for (let e = n; e !== r;) {
592
+ let t = e.parentElement;
593
+ if (!t) break;
594
+ for (let n of t.children) n === e || !(n instanceof HTMLElement) || (l.push({
595
+ element: n,
596
+ wasInert: n.inert
597
+ }), n.inert = !0);
598
+ e = t;
599
+ }
600
+ }
601
+ }
602
+ function f() {
541
603
  o !== null && (clearTimeout(o), o = null);
542
604
  }
543
- function c() {
544
- a = l() + 840, s(), o = setTimeout(() => {
605
+ function p() {
606
+ a = m() + 840, f(), o = setTimeout(() => {
545
607
  o = null;
546
608
  }, 840);
547
609
  }
548
- function l() {
610
+ function m() {
549
611
  return typeof performance < "u" && typeof performance.now == "function" ? performance.now() : Date.now();
550
612
  }
551
- function u() {
613
+ function h() {
552
614
  let e = t.value;
553
- return e && e.hasAttribute("data-morphing") ? !0 : l() < a;
615
+ return e && e.hasAttribute("data-morphing") ? !0 : m() < a;
554
616
  }
555
- function d() {
617
+ function g() {
556
618
  let e = t.value;
557
619
  return !!e && e.hasAttribute("data-morphing");
558
620
  }
559
- function f(e) {
560
- r = e.target, n.value, i = d();
621
+ function _(e) {
622
+ u(), r = e.target, n.value, i = g();
561
623
  }
562
- function p(e) {
624
+ X(n, (e, t) => {
625
+ t && !e && r && d(r);
626
+ });
627
+ function v() {
628
+ u(), r = null, i = !1;
629
+ }
630
+ function y(e) {
563
631
  if (!r || !e) return !1;
564
632
  if (e === r) return !0;
565
633
  let t = r instanceof Node ? r : null, n = e instanceof Node ? e : null;
566
634
  return !t || !n ? !1 : t.contains(n) || n.contains(t);
567
635
  }
568
- function m(e) {
636
+ function b(e) {
637
+ u();
569
638
  let t = i;
570
- if (i = !1, !u()) {
639
+ if (i = !1, !h()) {
571
640
  r = null;
572
641
  return;
573
642
  }
574
643
  if (!(!r && !t)) {
575
- if (!t && p(e.target)) {
644
+ if (!t && y(e.target)) {
576
645
  r = null;
577
646
  return;
578
647
  }
579
648
  e.stopPropagation(), e.preventDefault(), r = null;
580
649
  }
581
650
  }
582
- return ee(s), {
583
- onPointerDownCapture: f,
584
- onClickCapture: m,
585
- markExpandFlip: c
651
+ return B(() => {
652
+ f(), u();
653
+ }), {
654
+ onPointerDownCapture: _,
655
+ onPointerCancelCapture: v,
656
+ onClickCapture: b,
657
+ markExpandFlip: p,
658
+ pressKeepaliveLayer: U(s)
586
659
  };
587
660
  }
588
661
  //#endregion
589
662
  //#region src/components/dock/composables/useDockTouchGate.ts
590
- function Qe(e) {
663
+ function $e(e) {
591
664
  let { collapseDelay: t, rootEl: n, alwaysExpanded: r, visualExpanded: i, expanded: a, isPinned: o, expand: s, collapse: l } = e, u = c(t);
592
665
  function d() {
593
666
  return !r.value;
@@ -616,7 +689,7 @@ function Qe(e) {
616
689
  }
617
690
  //#endregion
618
691
  //#region src/components/dock/composables/useDockOverflowFit.ts
619
- function $e(e) {
692
+ function et(e) {
620
693
  let t = null, n = null, r = 0;
621
694
  function i() {
622
695
  return e.value?.querySelector(".dock-layer--full") ?? null;
@@ -624,45 +697,49 @@ function $e(e) {
624
697
  function a() {
625
698
  let t = e.value, n = i();
626
699
  if (!t || !n) return;
627
- let r = n.scrollWidth - n.clientWidth > 1;
628
- t.toggleAttribute("data-dock-overflow", r);
700
+ let r = t.classList.contains("vertical"), a = r ? t : n, o = r ? a.scrollHeight - a.clientHeight > 1 : a.scrollWidth - a.clientWidth > 1;
701
+ t.toggleAttribute("data-dock-overflow", o);
629
702
  }
630
703
  function o() {
631
704
  cancelAnimationFrame(r), r = requestAnimationFrame(a);
632
705
  }
633
706
  return te(() => {
634
707
  let r = e.value, a = i();
635
- o(), r && (t = new ResizeObserver(o), t.observe(r), a && t.observe(a)), a && (n = new MutationObserver(o), n.observe(a, {
708
+ o(), r && (t = new ResizeObserver(o), t.observe(r), a && t.observe(a)), r && (n = new MutationObserver(o), n.observe(r, {
636
709
  childList: !0,
637
710
  subtree: !0,
638
- characterData: !0
711
+ characterData: !0,
712
+ attributes: !0,
713
+ attributeFilter: ["class", "hidden"]
639
714
  }));
640
- }), X(() => e.value, () => o()), V(() => {
715
+ }), X(() => e.value, () => o()), ne(() => {
641
716
  t?.disconnect(), n?.disconnect(), cancelAnimationFrame(r);
642
717
  }), { measure: a };
643
718
  }
644
719
  //#endregion
645
720
  //#region src/components/dock/GlassDock.vue?vue&type=script&setup=true&lang.ts
646
- var et = [
721
+ var tt = [
647
722
  "data-size",
723
+ "data-backdrop-mode",
648
724
  "data-held",
649
725
  "data-search",
650
726
  "data-container-name"
651
- ], tt = { class: "dock-controls" }, nt = {
727
+ ], nt = { class: "dock-controls" }, rt = {
652
728
  key: 0,
653
729
  class: "dock-persistent"
654
- }, rt = ["inert"], it = ["inert"], at = {
730
+ }, it = ["inert"], at = ["inert"], ot = {
655
731
  key: 0,
656
732
  class: "dock-search-field"
657
- }, ot = {
733
+ }, st = {
658
734
  key: 1,
659
735
  class: "dock-persistent dock-persistent-end"
660
- }, st = /* @__PURE__ */ P({
736
+ }, ct = /* @__PURE__ */ F({
661
737
  inheritAttrs: !1,
662
738
  __name: "GlassDock",
663
739
  props: {
664
740
  fitContent: { type: Boolean },
665
741
  position: {},
742
+ backdropMode: { default: "live" },
666
743
  alwaysExpanded: { type: Boolean },
667
744
  shape: {},
668
745
  orientation: {},
@@ -680,72 +757,72 @@ var et = [
680
757
  search: { type: Boolean }
681
758
  },
682
759
  setup(e, { expose: t }) {
683
- let n = e, { containerStyle: r, collapseDelay: i, startCollapsed: a, layoutValue: o, shape: s, orientation: c, size: l, scrollClass: u, alwaysExpanded: d, fitContent: f } = Xe(n), p = o, h = Y("dockEl"), g = Y("layersEl");
684
- $e(h), n.autoLuminance !== !1 && Re(h, { backgroundCanvas: () => {
760
+ let n = e, { containerStyle: r, collapseDelay: i, startCollapsed: a, layoutValue: o, shape: s, orientation: c, size: l, scrollClass: u, alwaysExpanded: d, fitContent: f } = Ze(n), p = o, m = Y("dockEl"), g = Y("layersEl");
761
+ et(m), n.backdropMode === "live" && n.autoLuminance !== !1 && ze(m, { backgroundCanvas: () => {
685
762
  let e = n.backgroundCanvas;
686
763
  return typeof e == "function" ? e() : e instanceof HTMLCanvasElement ? e : null;
687
764
  } });
688
- let _ = W(!1), v = `glass-dock-${ie()}`, { expanded: y, isPinned: b, isHeld: x, onMouseEnter: S, onMouseLeave: C, onFocusIn: w, onFocusOut: T, onClickCollapsed: E, keepOpen: D, release: k, expand: N, collapse: P } = Be({
765
+ let _ = W(!1), v = `glass-dock-${ae()}`, { expanded: y, isPinned: b, isHeld: x, onMouseEnter: S, onMouseLeave: C, onFocusIn: w, onFocusOut: T, onClickCollapsed: E, keepOpen: D, release: O, expand: A, collapse: P } = Ve({
689
766
  collapseDelay: i.value,
690
- rootEl: h,
767
+ rootEl: m,
691
768
  alwaysExpanded: d,
692
769
  isTransitioning: _,
693
770
  dockId: v
694
771
  });
695
- m({
772
+ h({
696
773
  id: v,
697
774
  orientation: c,
698
775
  layout: p,
699
776
  keepOpen: D,
700
- release: k,
777
+ release: O,
701
778
  held: x
702
779
  });
703
- let F = O(() => d.value || y.value), L = O(() => F.value ? "full" : "summary"), z = O(() => c.value), { context: ee } = Ge({
704
- rootEl: h,
780
+ let F = k(() => d.value || y.value), I = k(() => F.value ? "full" : "summary"), ee = k(() => c.value), { context: z, outerCurrentLayer: B, outerLeavingLayer: V } = Ke({
781
+ rootEl: m,
705
782
  outerEl: g,
706
- outerActiveLayer: L,
707
- outerAxis: z,
783
+ outerActiveLayer: I,
784
+ outerAxis: ee,
708
785
  onMorphActiveChange: (e) => {
709
786
  _.value = e;
710
787
  }
711
788
  });
712
- We(ee), Ye({
713
- rootEl: h,
789
+ Ge(z), Xe({
790
+ rootEl: m,
714
791
  contentEl: g,
715
- axis: z,
792
+ axis: ee,
716
793
  expanded: F
717
794
  });
718
- let B = O(() => ({ "view-transition-name": v.replace(/[^a-zA-Z0-9_-]/g, "-") })), { onPointerDownCapture: V, onClickCapture: U, markExpandFlip: G } = Ze({
719
- rootEl: h,
795
+ let ne = k(() => ({ "view-transition-name": v.replace(/[^a-zA-Z0-9_-]/g, "-") })), { onPointerDownCapture: U, onPointerCancelCapture: G, onClickCapture: q, markExpandFlip: re, pressKeepaliveLayer: ie } = Qe({
796
+ rootEl: m,
720
797
  visualExpanded: F
721
798
  });
722
799
  te(() => {
723
- (n.alwaysExpanded || !a.value) && N();
800
+ (n.alwaysExpanded || !a.value) && A();
724
801
  });
725
- let { onTouchStart: q, onTouchMove: ne, onTouchEnd: re, deactivate: ae } = Qe({
802
+ let { onTouchStart: oe, onTouchMove: Z, onTouchEnd: Q, deactivate: se } = $e({
726
803
  collapseDelay: i.value,
727
- rootEl: h,
804
+ rootEl: m,
728
805
  alwaysExpanded: d,
729
806
  visualExpanded: F,
730
807
  expanded: y,
731
808
  isPinned: b,
732
- expand: N,
809
+ expand: A,
733
810
  collapse: P
734
811
  });
735
812
  return X(F, (e) => {
736
- e ? G() : ae();
813
+ e ? re() : se();
737
814
  }), t({
738
815
  expanded: y,
739
816
  isPinned: b,
740
817
  isHeld: x,
741
818
  isTransitioning: _,
742
- expand: N,
819
+ expand: A,
743
820
  collapse: P,
744
821
  keepOpen: D,
745
- release: k
746
- }), (t, n) => (H(), j("div", I({
822
+ release: O
823
+ }), (t, i) => (H(), M("div", L({
747
824
  ref_key: "dockEl",
748
- ref: h
825
+ ref: m
749
826
  }, t.$attrs, {
750
827
  class: ["glass-dock", [
751
828
  J(c),
@@ -762,60 +839,70 @@ var et = [
762
839
  },
763
840
  e.position === "fixed" ? "fixed bottom-(--dock-pos) inset-x-0 mx-auto w-max" : e.position === "sticky" ? "dock-sticky" : "dock-inline"
764
841
  ]],
842
+ "data-material": "functional-glass",
765
843
  "data-size": J(l),
844
+ "data-backdrop-mode": n.backdropMode,
766
845
  "data-held": J(x) || void 0,
767
846
  "data-search": e.search || void 0,
768
847
  "data-container-name": e.containerName || void 0,
769
- style: [J(r), B.value],
770
- onMouseenter: n[1] ||= (...e) => J(S) && J(S)(...e),
771
- onMouseleave: n[2] ||= (e) => J(C)(e),
772
- onFocusin: n[3] ||= (...e) => J(w) && J(w)(...e),
773
- onFocusout: n[4] ||= (...e) => J(T) && J(T)(...e),
774
- onTouchstart: n[5] ||= (...e) => J(q) && J(q)(...e),
775
- onTouchmove: n[6] ||= (...e) => J(ne) && J(ne)(...e),
776
- onTouchend: n[7] ||= (...e) => J(re) && J(re)(...e),
777
- onPointerdownCapture: n[8] ||= (...e) => J(V) && J(V)(...e),
778
- onClickCapture: n[9] ||= (...e) => J(U) && J(U)(...e)
779
- }), [n[10] ||= M("div", {
848
+ style: [J(r), ne.value],
849
+ onMouseenter: i[1] ||= (...e) => J(S) && J(S)(...e),
850
+ onMouseleave: i[2] ||= (e) => J(C)(e),
851
+ onFocusin: i[3] ||= (...e) => J(w) && J(w)(...e),
852
+ onFocusout: i[4] ||= (...e) => J(T) && J(T)(...e),
853
+ onTouchstart: i[5] ||= (...e) => J(oe) && J(oe)(...e),
854
+ onTouchmove: i[6] ||= (...e) => J(Z) && J(Z)(...e),
855
+ onTouchend: i[7] ||= (...e) => J(Q) && J(Q)(...e),
856
+ onPointerdownCapture: i[8] ||= (...e) => J(U) && J(U)(...e),
857
+ onPointercancelCapture: i[9] ||= (...e) => J(G) && J(G)(...e),
858
+ onClickCapture: i[10] ||= (...e) => J(q) && J(q)(...e)
859
+ }), [i[11] ||= N("div", {
780
860
  class: "dock-plate",
781
861
  "aria-hidden": "true"
782
- }, null, -1), M("div", tt, [
783
- t.$slots.persistent ? (H(), j("div", nt, [K(t.$slots, "persistent")])) : A("", !0),
784
- M("div", {
862
+ }, null, -1), N("div", nt, [
863
+ t.$slots.persistent ? (H(), M("div", rt, [K(t.$slots, "persistent")])) : j("", !0),
864
+ N("div", {
785
865
  ref_key: "layersEl",
786
866
  ref: g,
787
867
  class: "dock-layers"
788
868
  }, [
789
- M("div", {
790
- class: R(["dock-layer dock-layer--full", { "is-active": F.value }]),
791
- inert: !F.value || void 0
792
- }, [K(t.$slots, "default")], 10, rt),
793
- M("div", {
794
- class: R(["dock-layer dock-layer--summary", { "is-active": !F.value }]),
795
- inert: F.value || void 0,
796
- onClick: n[0] ||= (...e) => J(E) && J(E)(...e)
797
- }, [K(t.$slots, "collapsed")], 10, it),
798
- e.search ? (H(), j("div", at, [K(t.$slots, "search")])) : A("", !0)
869
+ N("div", {
870
+ class: R(["dock-layer dock-layer--full", {
871
+ "is-active": J(B) === "full",
872
+ "is-leaving": J(V) === "full" || J(ie) === "full" && J(B) !== "full",
873
+ "is-press-keepalive": J(ie) === "full"
874
+ }]),
875
+ inert: J(B) !== "full" && J(ie) !== "full" || void 0
876
+ }, [K(t.$slots, "default")], 10, it),
877
+ N("div", {
878
+ class: R(["dock-layer dock-layer--summary", {
879
+ "is-active": J(B) === "summary",
880
+ "is-leaving": J(V) === "summary"
881
+ }]),
882
+ inert: J(B) !== "summary" || void 0,
883
+ onClick: i[0] ||= (...e) => J(E) && J(E)(...e)
884
+ }, [K(t.$slots, "collapsed")], 10, at),
885
+ e.search ? (H(), M("div", ot, [K(t.$slots, "search")])) : j("", !0)
799
886
  ], 512),
800
- t.$slots["persistent-end"] ? (H(), j("div", ot, [K(t.$slots, "persistent-end")])) : A("", !0)
801
- ])], 16, et));
887
+ t.$slots["persistent-end"] ? (H(), M("div", st, [K(t.$slots, "persistent-end")])) : j("", !0)
888
+ ])], 16, tt));
802
889
  }
803
- }), ct = u(f, "[glass-ui:dock] <DockLayer> must be used inside <DockCrossfade> (or <DockLayerGroup>)"), { KEY: lt } = ct;
804
- function ut(e) {
805
- ct.provide(e);
890
+ }), lt = d(p, "[glass-ui:dock] <DockLayer> must be used inside <DockCrossfade> (or <DockLayerGroup>)"), { KEY: ut } = lt;
891
+ function dt(e) {
892
+ lt.provide(e);
806
893
  }
807
- var dt = ct.use;
808
- ct.useOptional;
894
+ var ft = lt.use;
895
+ lt.useOptional;
809
896
  //#endregion
810
897
  //#region src/components/dock/DockCrossfade.vue
811
- var ft = /* @__PURE__ */ P({
898
+ var pt = /* @__PURE__ */ F({
812
899
  __name: "DockCrossfade",
813
900
  props: {
814
901
  active: {},
815
902
  reserve: { default: "block" }
816
903
  },
817
904
  setup(e, { expose: t }) {
818
- let n = e, r = W(null), i = W(/* @__PURE__ */ new Map()), a = O(() => [...i.value.values()].map(({ id: e, label: t, icon: n }) => ({
905
+ let n = e, r = W(null), i = W(/* @__PURE__ */ new Map()), a = k(() => [...i.value.values()].map(({ id: e, label: t, icon: n }) => ({
819
906
  id: e,
820
907
  label: t,
821
908
  icon: n
@@ -829,15 +916,15 @@ var ft = /* @__PURE__ */ P({
829
916
  let t = new Map(i.value);
830
917
  t.delete(e), i.value = t, p();
831
918
  }
832
- let l = O(() => n.active), u = W(null);
833
- ut({
919
+ let l = k(() => n.active), u = W(null);
920
+ dt({
834
921
  register: o,
835
922
  unregister: c,
836
923
  activeId: l,
837
924
  leavingId: u,
838
925
  faces: a
839
926
  });
840
- let d = W(0), f = O(() => n.reserve === "inline" ? "min-inline-size" : "min-block-size");
927
+ let d = W(0), f = k(() => n.reserve === "inline" ? "min-inline-size" : "min-block-size");
841
928
  function p() {
842
929
  let e = 0;
843
930
  for (let { el: t } of i.value.values()) {
@@ -846,19 +933,19 @@ var ft = /* @__PURE__ */ P({
846
933
  }
847
934
  e > d.value && (d.value = e);
848
935
  }
849
- let m = O(() => d.value > 0 ? {
936
+ let m = k(() => d.value > 0 ? {
850
937
  [f.value]: `${d.value}px`,
851
938
  "--dock-crossfade-peak": `${d.value}px`
852
939
  } : void 0);
853
940
  s(r, () => p());
854
- let h = Ve({
855
- response: _.response,
856
- dampingFraction: _.dampingFraction
941
+ let h = He({
942
+ response: v.response,
943
+ dampingFraction: v.dampingFraction
857
944
  });
858
945
  function g(e) {
859
946
  return e ? i.value.get(e)?.el : void 0;
860
947
  }
861
- function v(e, t) {
948
+ function _(e, t) {
862
949
  g(e)?.style.setProperty("--dock-t", `${t}`);
863
950
  }
864
951
  function y(e) {
@@ -867,13 +954,14 @@ var ft = /* @__PURE__ */ P({
867
954
  function b(e) {
868
955
  return e < 0 ? 0 : e > 1 ? 1 : e;
869
956
  }
870
- function x() {
871
- return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
872
- }
873
- async function S(e, t) {
957
+ let x = _e("(prefers-reduced-motion: reduce)"), S = null;
958
+ X(x, (e) => {
959
+ e && (h.dispose(), S?.());
960
+ });
961
+ async function C(e, t) {
874
962
  if (typeof document > "u") return;
875
963
  let n = g(e), r = document.activeElement;
876
- !n || !r || !n.contains(r) || (await L(), (g(t) ?? document.body).focus?.());
964
+ !n || !r || !n.contains(r) || (await ee(), (g(t) ?? document.body).focus?.());
877
965
  }
878
966
  return X(l, (e, t) => {
879
967
  if (e === t) return;
@@ -886,36 +974,38 @@ var ft = /* @__PURE__ */ P({
886
974
  let a = u.value;
887
975
  a && a !== e && a !== t && y(a), u.value = t;
888
976
  let o = typeof getComputedStyle == "function" ? b(parseFloat(getComputedStyle(n).opacity) || 0) : 0;
889
- v(e, o), v(t, o), S(t, e), r.value?.setAttribute("data-crossfading", "");
977
+ _(e, o), _(t, o), C(t, e), r.value?.setAttribute("data-crossfading", "");
890
978
  let s = () => {
891
- y(e), y(t), r.value?.removeAttribute("data-crossfading"), u.value = null;
979
+ y(e), y(t), r.value?.removeAttribute("data-crossfading"), u.value = null, S === s && (S = null);
892
980
  };
893
- if (x()) {
981
+ if (S = s, x.value) {
894
982
  s();
895
983
  return;
896
984
  }
897
985
  h.playTo(o, 1, {
898
986
  onFrame: (n) => {
899
987
  let r = b(n);
900
- v(e, r), v(t, r);
988
+ _(e, r), _(t, r);
901
989
  },
902
990
  onSettle: s
903
991
  });
904
- }), ee(() => h.dispose()), t({ faces: a }), (e, t) => (H(), j("div", {
992
+ }), B(() => {
993
+ h.dispose(), S = null;
994
+ }), t({ faces: a }), (e, t) => (H(), M("div", {
905
995
  ref_key: "rootEl",
906
996
  ref: r,
907
997
  class: "dock-crossfade",
908
998
  style: z(m.value)
909
999
  }, [K(e.$slots, "default")], 4));
910
1000
  }
911
- }), pt = ["data-motion"], mt = ["aria-orientation"], ht = [
1001
+ }), mt = ["data-motion"], ht = ["aria-orientation"], gt = [
912
1002
  "tabindex",
913
1003
  "title",
914
1004
  "aria-label",
915
1005
  "onClick"
916
- ], gt = { key: 1 }, _t = { key: 2 }, vt = /* @__PURE__ */ P({
1006
+ ], _t = { key: 1 }, vt = { key: 2 }, yt = /* @__PURE__ */ F({
917
1007
  __name: "DockLayerGroup",
918
- props: /* @__PURE__ */ F({
1008
+ props: /* @__PURE__ */ I({
919
1009
  orientation: {},
920
1010
  showRail: {
921
1011
  type: Boolean,
@@ -929,16 +1019,16 @@ var ft = /* @__PURE__ */ P({
929
1019
  }),
930
1020
  emits: ["update:active"],
931
1021
  setup(e) {
932
- let t = e, n = a(() => t.motion), r = ae(e, "active"), i = p(), o = O(() => t.orientation ?? i?.orientation.value ?? "horizontal"), s = Y("crossfade"), c = O(() => s.value?.faces ?? []), l = O(() => o.value === "vertical" ? "horizontal" : "vertical"), u = O(() => l.value === "vertical"), d = W(null), f = W(null), m = W([]), h = T({
933
- options: O(() => c.value.map((e) => ({ value: e.id }))),
1022
+ let t = e, n = a(() => t.motion), r = oe(e, "active"), i = m(), o = k(() => t.orientation ?? i?.orientation.value ?? "horizontal"), s = Y("crossfade"), c = k(() => s.value?.faces ?? []), l = k(() => o.value === "vertical" ? "horizontal" : "vertical"), u = k(() => l.value === "vertical"), d = W(null), f = W(null), p = W([]), h = E({
1023
+ options: k(() => c.value.map((e) => ({ value: e.id }))),
934
1024
  model: r,
935
1025
  mode: "single",
936
1026
  role: "tablist",
937
1027
  vertical: u,
938
1028
  containerRef: d,
939
1029
  indicatorRef: f,
940
- buttonRefs: m
941
- }), g = O(() => u.value ? "y" : "x");
1030
+ buttonRefs: p
1031
+ }), g = k(() => u.value ? "y" : "x");
942
1032
  function _() {
943
1033
  let e = d.value;
944
1034
  if (!e) return [];
@@ -951,7 +1041,7 @@ var ft = /* @__PURE__ */ P({
951
1041
  };
952
1042
  });
953
1043
  }
954
- let v = b({
1044
+ let v = x({
955
1045
  el: d,
956
1046
  axis: () => g.value,
957
1047
  snapTargets: _,
@@ -964,26 +1054,28 @@ var ft = /* @__PURE__ */ P({
964
1054
  l.value,
965
1055
  n.armed.value
966
1056
  ], () => {
967
- n.armed.value && L(() => v.refresh());
1057
+ n.armed.value && ee(() => v.refresh());
968
1058
  }), te(() => {
969
- n.armed.value && L(() => v.refresh());
1059
+ n.armed.value && ee(() => v.refresh());
970
1060
  });
971
1061
  function y(e) {
972
1062
  return typeof e == "object" && !!e || typeof e == "function";
973
1063
  }
974
- let x = W(!1);
1064
+ let b = W(!1);
975
1065
  function S() {
976
- x.value || (x.value = !0, i?.keepOpen());
1066
+ b.value || (b.value = !0, i?.keepOpen());
977
1067
  }
978
1068
  function C(e) {
979
1069
  let t = e.relatedTarget, n = e.currentTarget;
980
- t && n?.contains(t) || x.value && (x.value = !1, i?.release());
1070
+ t && n?.contains(t) || b.value && (b.value = !1, i?.release());
981
1071
  }
982
- return (t, i) => (H(), j("div", {
1072
+ return B(() => {
1073
+ b.value && i?.release();
1074
+ }), (t, i) => (H(), M("div", {
983
1075
  class: R(["dock-layer-group", [o.value, `rail-${e.railPosition}`]]),
984
1076
  "data-motion": J(n).dataMotion.value,
985
1077
  style: z(J(n).hostStyle.value)
986
- }, [e.showRail && c.value.length > 1 ? (H(), j("div", {
1078
+ }, [e.showRail && c.value.length > 1 ? (H(), M("div", {
987
1079
  key: 0,
988
1080
  ref_key: "railListEl",
989
1081
  ref: d,
@@ -998,11 +1090,11 @@ var ft = /* @__PURE__ */ P({
998
1090
  onKeydown: i[0] ||= (...e) => J(h).onKeydown && J(h).onKeydown(...e),
999
1091
  onFocusin: S,
1000
1092
  onFocusout: C
1001
- }, [(H(!0), j(D, null, G(c.value, (e, t) => (H(), j("button", I({
1093
+ }, [(H(!0), M(O, null, G(c.value, (e, t) => (H(), M("button", L({
1002
1094
  key: e.id,
1003
1095
  ref_for: !0,
1004
1096
  ref: (e) => {
1005
- e && (m.value[t] = e);
1097
+ e && (p.value[t] = e);
1006
1098
  },
1007
1099
  type: "button",
1008
1100
  class: "dock-layer-tab",
@@ -1011,16 +1103,16 @@ var ft = /* @__PURE__ */ P({
1011
1103
  title: e.label,
1012
1104
  "aria-label": e.label ?? e.id,
1013
1105
  onClick: (n) => J(h).select(e.id, t)
1014
- }), [y(e.icon) ? (H(), k(q(e.icon), {
1106
+ }), [y(e.icon) ? (H(), A(q(e.icon), {
1015
1107
  key: 0,
1016
1108
  class: "size-4"
1017
- })) : typeof e.icon == "string" ? (H(), j("span", gt, ne(e.icon), 1)) : (H(), j("span", _t, ne((e.label ?? e.id).charAt(0)), 1))], 16, ht))), 128)), M("div", {
1109
+ })) : typeof e.icon == "string" ? (H(), M("span", _t, re(e.icon), 1)) : (H(), M("span", vt, re((e.label ?? e.id).charAt(0)), 1))], 16, gt))), 128)), N("div", {
1018
1110
  ref_key: "railIndicatorEl",
1019
1111
  ref: f,
1020
1112
  class: "dock-layer-tab-indicator",
1021
1113
  style: z(J(h).singleSliderStyle.value),
1022
1114
  "aria-hidden": "true"
1023
- }, null, 4)], 46, mt)) : A("", !0), N(ft, {
1115
+ }, null, 4)], 46, ht)) : j("", !0), P(pt, {
1024
1116
  ref_key: "crossfade",
1025
1117
  ref: s,
1026
1118
  active: r.value,
@@ -1028,13 +1120,13 @@ var ft = /* @__PURE__ */ P({
1028
1120
  }, {
1029
1121
  default: Z(() => [K(t.$slots, "default")]),
1030
1122
  _: 3
1031
- }, 8, ["active"])], 14, pt));
1123
+ }, 8, ["active"])], 14, mt));
1032
1124
  }
1033
- }), yt = [
1125
+ }), bt = [
1034
1126
  "inert",
1035
1127
  "aria-hidden",
1036
1128
  "tabindex"
1037
- ], bt = { class: "dock-face-content" }, xt = /* @__PURE__ */ P({
1129
+ ], xt = { class: "dock-face-content" }, St = /* @__PURE__ */ F({
1038
1130
  __name: "DockLayer",
1039
1131
  props: {
1040
1132
  id: {},
@@ -1042,7 +1134,7 @@ var ft = /* @__PURE__ */ P({
1042
1134
  icon: {}
1043
1135
  },
1044
1136
  setup(e) {
1045
- let t = e, n = dt(), r = Y("hostEl");
1137
+ let t = e, n = ft(), r = Y("hostEl");
1046
1138
  te(() => {
1047
1139
  r.value && n.register({
1048
1140
  id: t.id,
@@ -1061,9 +1153,9 @@ var ft = /* @__PURE__ */ P({
1061
1153
  icon: t.icon,
1062
1154
  el: r.value
1063
1155
  });
1064
- }), ee(() => n.unregister(t.id));
1065
- let i = O(() => n.activeId.value === t.id), a = O(() => n.leavingId.value === t.id);
1066
- return (e, t) => (H(), j("div", {
1156
+ }), B(() => n.unregister(t.id));
1157
+ let i = k(() => n.activeId.value === t.id), a = k(() => n.leavingId.value === t.id);
1158
+ return (e, t) => (H(), M("div", {
1067
1159
  ref_key: "hostEl",
1068
1160
  ref: r,
1069
1161
  class: R(["dock-face", {
@@ -1073,9 +1165,9 @@ var ft = /* @__PURE__ */ P({
1073
1165
  inert: i.value ? void 0 : !0,
1074
1166
  "aria-hidden": i.value ? void 0 : !0,
1075
1167
  tabindex: i.value ? -1 : void 0
1076
- }, [M("div", bt, [K(e.$slots, "default")])], 10, yt));
1168
+ }, [N("div", xt, [K(e.$slots, "default")])], 10, bt));
1077
1169
  }
1078
- }), St = /* @__PURE__ */ P({
1170
+ }), Ct = /* @__PURE__ */ F({
1079
1171
  __name: "DockControl",
1080
1172
  props: {
1081
1173
  shape: { default: "icon" },
@@ -1106,7 +1198,7 @@ var ft = /* @__PURE__ */ P({
1106
1198
  ] }
1107
1199
  },
1108
1200
  setup(t) {
1109
- let a = t, o = O(() => a.shape === "tab"), s = O(() => o.value ? e("dock-tab-button glass-specular-track", a.class) : e("dock-icon-button glass-specular-track glass-capsule-hover", { "glass-capsule": a.active }, { "dock-icon-button--compact": a.compact }, a.class)), c = O(() => ({
1201
+ let a = t, o = k(() => a.shape === "tab"), s = k(() => o.value ? e("dock-tab-button glass-specular-track", a.class) : e("dock-icon-button glass-specular-track glass-capsule-hover", { "glass-capsule": a.active }, { "dock-icon-button--compact": a.compact }, a.class)), c = k(() => ({
1110
1202
  ...a.active ? {
1111
1203
  "aria-pressed": "true",
1112
1204
  "data-active": ""
@@ -1115,15 +1207,19 @@ var ft = /* @__PURE__ */ P({
1115
1207
  ...a.as === "button" && !a.asChild ? { disabled: !0 } : {},
1116
1208
  "aria-disabled": "true"
1117
1209
  } : {}
1118
- })), l = O(() => !a.asChild && a.as === "button" ? { type: a.type } : {}), u = n("press"), d = i({
1210
+ })), l = k(() => !a.asChild && a.as === "button" ? { type: a.type } : {}), u = n("press"), d = r({
1211
+ disabled: () => a.disabled || o.value,
1119
1212
  squish: !0,
1120
1213
  response: u.response,
1121
1214
  dampingFraction: u.dampingFraction,
1122
1215
  pressVar: "--dock-press-t",
1123
1216
  shrinkDepth: .04,
1124
1217
  maxStretch: 1.03
1125
- }), f = O(() => o.value ? {} : { ...d.pressStyle.value });
1126
- return (e, n) => Q((H(), k(J(le), I({
1218
+ }), f = k(() => o.value ? {} : { ...d.pressStyle.value });
1219
+ function p(e) {
1220
+ a.disabled && (e.preventDefault(), e.stopImmediatePropagation());
1221
+ }
1222
+ return (e, n) => Q((H(), A(J(le), L({
1127
1223
  as: t.as,
1128
1224
  "as-child": t.asChild
1129
1225
  }, {
@@ -1132,10 +1228,16 @@ var ft = /* @__PURE__ */ P({
1132
1228
  }, {
1133
1229
  class: s.value,
1134
1230
  style: f.value,
1135
- onPointerdown: n[0] ||= (e) => !o.value && J(d).press(),
1136
- onPointerup: n[1] ||= (e) => !o.value && J(d).release(),
1137
- onPointercancel: n[2] ||= (e) => !o.value && J(d).release(),
1138
- onPointerleave: n[3] ||= (e) => !o.value && J(d).release()
1231
+ "data-press-armed": !o.value && J(d).armed ? "" : void 0,
1232
+ onPointerdown: J(d).handlers.onPointerdown,
1233
+ onPointerup: J(d).handlers.onPointerup,
1234
+ onPointercancel: J(d).handlers.onPointercancel,
1235
+ onPointerleave: J(d).handlers.onPointerleave,
1236
+ onPointerenter: J(d).handlers.onPointerenter,
1237
+ onKeydown: J(d).handlers.onKeydown,
1238
+ onKeyup: J(d).handlers.onKeyup,
1239
+ onBlur: J(d).handlers.onBlur,
1240
+ onClickCapture: p
1139
1241
  }), {
1140
1242
  default: Z(() => [K(e.$slots, "default")]),
1141
1243
  _: 3
@@ -1143,10 +1245,19 @@ var ft = /* @__PURE__ */ P({
1143
1245
  "as",
1144
1246
  "as-child",
1145
1247
  "class",
1146
- "style"
1147
- ])), [[J(r)]]);
1248
+ "style",
1249
+ "data-press-armed",
1250
+ "onPointerdown",
1251
+ "onPointerup",
1252
+ "onPointercancel",
1253
+ "onPointerleave",
1254
+ "onPointerenter",
1255
+ "onKeydown",
1256
+ "onKeyup",
1257
+ "onBlur"
1258
+ ])), [[J(i)]]);
1148
1259
  }
1149
- }), Ct = /* @__PURE__ */ P({
1260
+ }), wt = /* @__PURE__ */ F({
1150
1261
  inheritAttrs: !1,
1151
1262
  __name: "DockTrigger",
1152
1263
  props: {
@@ -1160,22 +1271,28 @@ var ft = /* @__PURE__ */ P({
1160
1271
  ] }
1161
1272
  },
1162
1273
  setup(t) {
1163
- let n = t, i = O(() => e("dock-trigger", n.for === "select" && "dock-select-trigger", n.for !== "select" && "dock-dropdown-trigger", n.class));
1164
- return (e, t) => n.for === "select" ? Q((H(), k(J(de), I({ key: 0 }, e.$attrs, { class: i.value }), {
1165
- default: Z(() => [K(e.$slots, "default"), N(J(ue), { "as-child": "" }, {
1166
- default: Z(() => [K(e.$slots, "icon", {}, () => [N(J(fe), { class: "dock-select-trigger__chevron" })])]),
1274
+ let n = t, r = k(() => e("dock-trigger", n.for === "select" && "dock-select-trigger", n.for !== "select" && "dock-dropdown-trigger", n.class));
1275
+ return (e, t) => n.for === "select" ? Q((H(), A(J(de), L({ key: 0 }, e.$attrs, { class: r.value }), {
1276
+ default: Z(() => [K(e.$slots, "default"), P(J(ue), { "as-child": "" }, {
1277
+ default: Z(() => [K(e.$slots, "icon", {}, () => [P(J(fe), {
1278
+ class: "dock-select-trigger__chevron",
1279
+ "aria-hidden": "true"
1280
+ })])]),
1167
1281
  _: 3
1168
1282
  })]),
1169
1283
  _: 3
1170
- }, 16, ["class"])), [[J(r)]]) : n.for === "dropdown" ? Q((H(), k(J(se), I({ key: 1 }, e.$attrs, { class: i.value }), {
1284
+ }, 16, ["class"])), [[J(i)]]) : n.for === "dropdown" ? Q((H(), A(u, L({ key: 1 }, e.$attrs, {
1285
+ action: "pointerdown",
1286
+ class: r.value
1287
+ }), {
1171
1288
  default: Z(() => [K(e.$slots, "default")]),
1172
1289
  _: 3
1173
- }, 16, ["class"])), [[J(r)]]) : Q((H(), k(J(ce), I({ key: 2 }, e.$attrs, { class: i.value }), {
1290
+ }, 16, ["class"])), [[J(i)]]) : Q((H(), A(J(ce), L({ key: 2 }, e.$attrs, { class: r.value }), {
1174
1291
  default: Z(() => [K(e.$slots, "default")]),
1175
1292
  _: 3
1176
- }, 16, ["class"])), [[J(r)]]);
1293
+ }, 16, ["class"])), [[J(i)]]);
1177
1294
  }
1178
- }), wt = /* @__PURE__ */ P({
1295
+ }), Tt = /* @__PURE__ */ F({
1179
1296
  __name: "DockBackgroundToggle",
1180
1297
  props: {
1181
1298
  paused: {
@@ -1187,68 +1304,70 @@ var ft = /* @__PURE__ */ P({
1187
1304
  },
1188
1305
  emits: ["update:paused"],
1189
1306
  setup(e, { emit: t }) {
1190
- let n = e, r = t, i = O(() => n.paused ? n.playLabel : n.pauseLabel);
1307
+ let n = e, r = t, i = k(() => n.paused ? n.playLabel : n.pauseLabel);
1191
1308
  function a() {
1192
1309
  r("update:paused", !n.paused);
1193
1310
  }
1194
- return (t, n) => (H(), k(St, {
1311
+ return (t, n) => (H(), A(Ct, {
1195
1312
  type: "button",
1313
+ active: e.paused,
1196
1314
  "aria-pressed": e.paused,
1197
1315
  "aria-label": i.value,
1198
1316
  title: i.value,
1199
1317
  onClick: a
1200
1318
  }, {
1201
- default: Z(() => [e.paused ? (H(), k(J(he), {
1319
+ default: Z(() => [e.paused ? (H(), A(J(he), {
1202
1320
  key: 0,
1203
1321
  size: 18,
1204
1322
  "aria-hidden": "true"
1205
- })) : (H(), k(J(me), {
1323
+ })) : (H(), A(J(me), {
1206
1324
  key: 1,
1207
1325
  size: 18,
1208
1326
  "aria-hidden": "true"
1209
1327
  }))]),
1210
1328
  _: 1
1211
1329
  }, 8, [
1330
+ "active",
1212
1331
  "aria-pressed",
1213
1332
  "aria-label",
1214
1333
  "title"
1215
1334
  ]));
1216
1335
  }
1217
- }), Tt = [
1336
+ }), Et = [
1218
1337
  "data-orientation",
1219
1338
  "data-rail-anchor",
1220
1339
  "aria-orientation"
1221
- ], Et = /* @__PURE__ */ P({
1340
+ ], Dt = /* @__PURE__ */ F({
1222
1341
  __name: "DockSeparator",
1223
1342
  props: { anchor: {
1224
1343
  type: Boolean,
1225
1344
  default: !1
1226
1345
  } },
1227
1346
  setup(e) {
1228
- let t = p(), n = O(() => t?.orientation.value ?? "horizontal"), r = O(() => n.value), i = O(() => n.value === "vertical" ? "horizontal" : "vertical");
1229
- return (t, n) => (H(), j("div", {
1347
+ let t = m(), n = k(() => t?.orientation.value ?? "horizontal"), r = k(() => n.value), i = k(() => n.value === "vertical" ? "horizontal" : "vertical");
1348
+ return (t, n) => (H(), M("div", {
1230
1349
  class: R(["dock-separator", { "dock-separator--anchor": e.anchor }]),
1231
1350
  role: "separator",
1232
1351
  "data-orientation": r.value,
1233
1352
  "data-rail-anchor": e.anchor || void 0,
1234
1353
  "aria-orientation": i.value
1235
- }, null, 10, Tt));
1354
+ }, null, 10, Et));
1236
1355
  }
1237
1356
  });
1238
1357
  //#endregion
1239
1358
  //#region src/components/dock/composables/useDockPopover.ts
1240
- function Dt(e) {
1241
- let t = W(!1), n = e.gap ?? 8, r = e.viewportMargin ?? 8, i = e.hoverIntentMs ?? 60, a = e.hoverGraceMs ?? 120, o = null, s = null, c = !1;
1242
- function l() {
1359
+ function Ot(e) {
1360
+ let t = W(!1), n = e.gap ?? 8, r = e.viewportMargin ?? 8, i = e.hoverIntentMs ?? 60, a = e.hoverGraceMs ?? 120, o = null, s = null, c = !1, l = !1;
1361
+ function u() {
1243
1362
  o != null && (clearTimeout(o), o = null);
1244
1363
  }
1245
- function u() {
1364
+ function d() {
1246
1365
  s != null && (clearTimeout(s), s = null);
1247
1366
  }
1248
- function d() {
1367
+ function f() {
1249
1368
  let t = e.anchor(), i = e.popover.value;
1250
1369
  if (!t || !i) return;
1251
- let a = t.getBoundingClientRect(), o = i.offsetWidth, s = i.offsetHeight, c = re(e.side) ?? "top", l = re(e.align) ?? "center", u = (e, t, n) => l === "start" ? e : l === "end" ? e + t - n : e + t / 2 - n / 2, d = 0, f = 0;
1370
+ let a = t.getBoundingClientRect(), o = i.offsetWidth, s = i.offsetHeight, c = ie(e.side) ?? "top", l = ie(e.align) ?? "center", u = (e, t, n) => l === "start" ? e : l === "end" ? e + t - n : e + t / 2 - n / 2, d = 0, f = 0;
1252
1371
  switch (c) {
1253
1372
  case "bottom":
1254
1373
  d = a.bottom + n, f = u(a.left, a.width, o);
@@ -1266,93 +1385,106 @@ function Dt(e) {
1266
1385
  let p = Math.max(r, window.innerWidth - o - r), m = Math.max(r, window.innerHeight - s - r);
1267
1386
  f = Math.min(Math.max(f, r), p), d = Math.min(Math.max(d, r), m), i.style.position = "fixed", i.style.margin = "0", i.style.inset = "auto", i.style.top = `${Math.round(d)}px`, i.style.left = `${Math.round(f)}px`;
1268
1387
  }
1269
- function f() {
1270
- d();
1388
+ function p() {
1389
+ f();
1271
1390
  }
1272
- function p(t) {
1391
+ function m(t) {
1273
1392
  let n = t.target, r = e.popover.value, i = e.anchor();
1274
- n && (r && r.contains(n) || i && i.contains(n)) || _();
1275
- }
1276
- function m() {
1277
- c || (c = !0, window.addEventListener("resize", f), window.addEventListener("scroll", f, !0), document.addEventListener("pointerdown", p, !0));
1393
+ n && (r && r.contains(n) || i && i.contains(n)) || v();
1278
1394
  }
1279
1395
  function h() {
1280
- c && (c = !1, window.removeEventListener("resize", f), window.removeEventListener("scroll", f, !0), document.removeEventListener("pointerdown", p, !0));
1396
+ c || (c = !0, window.addEventListener("resize", p), window.addEventListener("scroll", p, !0), document.addEventListener("pointerdown", m, !0));
1281
1397
  }
1282
1398
  function g() {
1283
- l(), u();
1399
+ c && (c = !1, window.removeEventListener("resize", p), window.removeEventListener("scroll", p, !0), document.removeEventListener("pointerdown", m, !0));
1400
+ }
1401
+ function _() {
1402
+ u(), d();
1284
1403
  let n = e.popover.value;
1285
1404
  if (!(!n || t.value)) {
1286
1405
  try {
1287
1406
  n.showPopover();
1288
- } catch {}
1289
- t.value = !0, d(), m();
1407
+ } catch {
1408
+ return;
1409
+ }
1410
+ t.value = !0, f(), h();
1290
1411
  }
1291
1412
  }
1292
- function _() {
1293
- l(), u();
1413
+ function v() {
1414
+ u(), d();
1294
1415
  let n = e.popover.value;
1295
1416
  if (!n || !t.value) return;
1296
1417
  let r = n.contains(document.activeElement);
1297
1418
  try {
1298
1419
  n.hidePopover();
1299
1420
  } catch {}
1300
- t.value = !1, h(), r && e.anchor()?.focus();
1301
- }
1302
- function v() {
1303
- t.value ? _() : g();
1421
+ if (t.value = !1, g(), r) {
1422
+ l = !0;
1423
+ try {
1424
+ e.anchor()?.focus();
1425
+ } finally {
1426
+ l = !1;
1427
+ }
1428
+ }
1304
1429
  }
1305
1430
  function y() {
1306
- u(), !t.value && (l(), o = setTimeout(() => {
1307
- o = null, g();
1308
- }, i));
1431
+ t.value ? v() : _();
1309
1432
  }
1310
1433
  function b() {
1311
- l(), T();
1434
+ d(), !t.value && (u(), o = setTimeout(() => {
1435
+ o = null, _();
1436
+ }, i));
1312
1437
  }
1313
1438
  function x() {
1314
- l(), u();
1439
+ u(), D();
1315
1440
  }
1316
1441
  function S() {
1317
- T();
1442
+ u(), d();
1318
1443
  }
1319
1444
  function C() {
1320
- l(), u(), g();
1445
+ D();
1321
1446
  }
1322
- function w(t) {
1447
+ function w() {
1448
+ l || (u(), d(), _());
1449
+ }
1450
+ function T(t) {
1323
1451
  let n = t.relatedTarget, r = e.popover.value, i = e.anchor();
1324
- n && (r && r.contains(n) || i && i.contains(n)) || _();
1452
+ n && (r && r.contains(n) || i && i.contains(n)) || v();
1325
1453
  }
1326
- function T() {
1327
- u(), s = setTimeout(() => {
1328
- s = null, _();
1454
+ function E(e) {
1455
+ t.value && (e.preventDefault(), e.stopPropagation(), v());
1456
+ }
1457
+ function D() {
1458
+ d(), s = setTimeout(() => {
1459
+ s = null, v();
1329
1460
  }, a);
1330
1461
  }
1331
- return B(() => {
1332
- l(), u(), h();
1462
+ return V(() => {
1463
+ u(), d(), g();
1333
1464
  let n = e.popover.value;
1334
1465
  if (n && t.value) try {
1335
1466
  n.hidePopover();
1336
1467
  } catch {}
1337
1468
  }), {
1338
1469
  open: t,
1339
- show: g,
1340
- hide: _,
1341
- toggle: v,
1342
- place: d,
1343
- onAnchorEnter: y,
1344
- onAnchorLeave: b,
1345
- onPopoverEnter: x,
1346
- onPopoverLeave: S,
1347
- onFocusIn: C,
1348
- onFocusOut: w
1470
+ show: _,
1471
+ hide: v,
1472
+ toggle: y,
1473
+ place: f,
1474
+ onAnchorEnter: b,
1475
+ onAnchorLeave: x,
1476
+ onPopoverEnter: S,
1477
+ onPopoverLeave: C,
1478
+ onFocusIn: w,
1479
+ onFocusOut: T,
1480
+ onEscape: E
1349
1481
  };
1350
1482
  }
1351
1483
  //#endregion
1352
1484
  //#region src/components/dock/DockStack.vue?vue&type=script&setup=true&lang.ts
1353
- var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"], At = /* @__PURE__ */ P({
1485
+ var kt = ["data-orientation", "data-mode"], At = ["data-scrolls", "data-wrap"], jt = /* @__PURE__ */ F({
1354
1486
  __name: "DockStack",
1355
- props: /* @__PURE__ */ F({
1487
+ props: /* @__PURE__ */ I({
1356
1488
  items: {},
1357
1489
  mode: { default: "stack" },
1358
1490
  core: {},
@@ -1367,18 +1499,18 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1367
1499
  selected: {},
1368
1500
  selectedModifiers: {}
1369
1501
  }),
1370
- emits: /* @__PURE__ */ F(["select"], ["update:selected"]),
1502
+ emits: /* @__PURE__ */ I(["select"], ["update:selected"]),
1371
1503
  setup(e, { emit: t }) {
1372
- let n = e, r = t, i = ae(e, "selected"), a = p(), o = O(() => a?.orientation.value ?? "vertical"), s = O(() => n.core ?? pe), c = O(() => [...n.items]), l = O(() => n.mode === "facets"), u = O(() => c.value.length > n.visibleCount), d = `dock-stack-fan-${ie()}`, f = Y("stackRoot"), m = Y("fanEl"), h = Dt({
1504
+ let n = e, r = t, i = oe(e, "selected"), a = m(), o = k(() => a?.orientation.value ?? "vertical"), s = k(() => n.core ?? pe), c = k(() => [...n.items]), l = k(() => n.mode === "facets"), u = k(() => c.value.length > n.visibleCount), d = `dock-stack-fan-${ae()}`, f = Y("stackRoot"), p = Y("fanEl"), h = Ot({
1373
1505
  anchor: () => f.value?.querySelector(".dock-stack-core") ?? null,
1374
- popover: m,
1506
+ popover: p,
1375
1507
  side: () => o.value === "vertical" ? "right" : "top",
1376
- align: O(() => n.position === "start" ? "start" : "end")
1508
+ align: k(() => n.position === "start" ? "start" : "end")
1377
1509
  });
1378
1510
  function g(e) {
1379
1511
  i.value = e.id, e.onSelect?.(), r("select", e.id), h.hide();
1380
1512
  }
1381
- return (t, n) => (H(), j("div", {
1513
+ return (t, n) => (H(), M("div", {
1382
1514
  ref_key: "stackRoot",
1383
1515
  ref: f,
1384
1516
  class: R(["dock-stack", [
@@ -1388,9 +1520,10 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1388
1520
  ]]),
1389
1521
  "data-orientation": o.value,
1390
1522
  "data-mode": e.mode,
1391
- onFocusin: n[3] ||= (...e) => J(h).onFocusIn && J(h).onFocusIn(...e),
1392
- onFocusout: n[4] ||= (e) => J(h).onFocusOut(e)
1393
- }, [N(St, {
1523
+ onFocusin: n[2] ||= (...e) => J(h).onFocusIn && J(h).onFocusIn(...e),
1524
+ onFocusout: n[3] ||= (e) => J(h).onFocusOut(e),
1525
+ onKeydown: n[4] ||= se((...e) => J(h).onEscape && J(h).onEscape(...e), ["escape"])
1526
+ }, [P(Ct, {
1394
1527
  type: "button",
1395
1528
  class: "dock-stack-core",
1396
1529
  "aria-label": e.coreLabel,
@@ -1401,7 +1534,7 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1401
1534
  onPointerleave: J(h).onAnchorLeave,
1402
1535
  onClick: J(h).toggle
1403
1536
  }, {
1404
- default: Z(() => [(H(), k(q(s.value), {
1537
+ default: Z(() => [(H(), A(q(s.value), {
1405
1538
  class: "size-4",
1406
1539
  "aria-hidden": "true"
1407
1540
  }))]),
@@ -1413,10 +1546,10 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1413
1546
  "onPointerenter",
1414
1547
  "onPointerleave",
1415
1548
  "onClick"
1416
- ]), M("div", {
1549
+ ]), N("div", {
1417
1550
  id: d,
1418
1551
  ref_key: "fanEl",
1419
- ref: m,
1552
+ ref: p,
1420
1553
  popover: "manual",
1421
1554
  class: R(["dock-stack-fan", [
1422
1555
  o.value,
@@ -1426,15 +1559,14 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1426
1559
  "data-scrolls": u.value && !e.wrap || void 0,
1427
1560
  "data-wrap": e.wrap || void 0,
1428
1561
  onPointerenter: n[0] ||= (...e) => J(h).onPopoverEnter && J(h).onPopoverEnter(...e),
1429
- onPointerleave: n[1] ||= (...e) => J(h).onPopoverLeave && J(h).onPopoverLeave(...e),
1430
- onKeydown: n[2] ||= oe((...e) => J(h).hide && J(h).hide(...e), ["escape"])
1431
- }, [N(y, {
1562
+ onPointerleave: n[1] ||= (...e) => J(h).onPopoverLeave && J(h).onPopoverLeave(...e)
1563
+ }, [P(b, {
1432
1564
  axis: o.value === "vertical" ? "x" : "y",
1433
1565
  class: "dock-stack-fan-scroll",
1434
1566
  "data-scrolls": u.value && !e.wrap || void 0,
1435
1567
  "data-wrap": e.wrap || void 0
1436
1568
  }, {
1437
- default: Z(() => [(H(!0), j(D, null, G(c.value, (e, t) => (H(), k(St, {
1569
+ default: Z(() => [(H(!0), M(O, null, G(c.value, (e, t) => (H(), A(Ct, {
1438
1570
  key: e.id,
1439
1571
  type: "button",
1440
1572
  class: R(["dock-stack-member", {
@@ -1453,7 +1585,7 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1453
1585
  title: e.label,
1454
1586
  onClick: (t) => g(e)
1455
1587
  }, {
1456
- default: Z(() => [(H(), k(q(e.icon ?? s.value), {
1588
+ default: Z(() => [(H(), A(q(e.icon ?? s.value), {
1457
1589
  class: "size-4",
1458
1590
  "aria-hidden": "true"
1459
1591
  }))]),
@@ -1471,13 +1603,13 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1471
1603
  "axis",
1472
1604
  "data-scrolls",
1473
1605
  "data-wrap"
1474
- ])], 42, kt)], 42, Ot));
1606
+ ])], 42, At)], 42, kt));
1475
1607
  }
1476
- }), jt = ["aria-label"], Mt = [
1608
+ }), Mt = ["aria-label"], Nt = [
1477
1609
  "data-kind",
1478
1610
  "data-section-id",
1479
1611
  "aria-label"
1480
- ], Nt = /* @__PURE__ */ P({
1612
+ ], Pt = /* @__PURE__ */ F({
1481
1613
  __name: "DockSection",
1482
1614
  props: {
1483
1615
  sections: {},
@@ -1485,7 +1617,7 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1485
1617
  ariaLabel: { default: "Dock sections" }
1486
1618
  },
1487
1619
  setup(e) {
1488
- let t = e, n = O(() => {
1620
+ let t = e, n = k(() => {
1489
1621
  if (t.anchorId) return t.anchorId;
1490
1622
  let e = t.sections.find((e) => e.kind === "nav");
1491
1623
  return e ? e.id : t.sections.find((e) => e.kind !== "rail-core")?.id;
@@ -1499,33 +1631,34 @@ var Ot = ["data-orientation", "data-mode"], kt = ["data-scrolls", "data-wrap"],
1499
1631
  function a(e) {
1500
1632
  return `dock-section-zone--${e === "rail-core" ? "core" : e}`;
1501
1633
  }
1502
- return (t, n) => (H(), j("div", {
1634
+ return (t, n) => (H(), M("div", {
1503
1635
  class: "dock-section",
1504
1636
  role: "group",
1505
1637
  "aria-label": e.ariaLabel
1506
- }, [(H(!0), j(D, null, G(e.sections, (e, n) => (H(), j(D, { key: e.id }, [r(n) ? (H(), k(Et, {
1638
+ }, [(H(!0), M(O, null, G(e.sections, (e, n) => (H(), M(O, { key: e.id }, [r(n) ? (H(), A(Dt, {
1507
1639
  key: 0,
1508
1640
  anchor: i(e)
1509
- }, null, 8, ["anchor"])) : A("", !0), M("div", {
1641
+ }, null, 8, ["anchor"])) : j("", !0), N("div", {
1510
1642
  class: R(["dock-section-zone", a(e.kind)]),
1511
1643
  "data-kind": e.kind,
1512
1644
  "data-section-id": e.id,
1645
+ role: "group",
1513
1646
  "aria-label": e.label || void 0
1514
1647
  }, [K(t.$slots, e.id, {
1515
1648
  section: e,
1516
1649
  kind: e.kind
1517
- })], 10, Mt)], 64))), 128))], 8, jt));
1650
+ })], 10, Nt)], 64))), 128))], 8, Mt));
1518
1651
  }
1519
1652
  });
1520
1653
  //#endregion
1521
1654
  //#region src/components/dock/composables/useDockSearch.ts
1522
- function Pt(e) {
1655
+ function Ft(e) {
1523
1656
  let { dockState: t } = e, n = e.debounceMs ?? 120, r = e.maxResults ?? 30, i = W([]), a = null, o = e.items ? e.items : () => i.value;
1524
1657
  function s(t) {
1525
1658
  let n = t.item.id;
1526
1659
  e.ensureTargetWindow?.(n), e.scrollTo?.(n), e.onResultSelect?.(t);
1527
1660
  }
1528
- let c = E({
1661
+ let c = D({
1529
1662
  items: o,
1530
1663
  debounceMs: n,
1531
1664
  maxResults: r,
@@ -1546,7 +1679,7 @@ function Pt(e) {
1546
1679
  });
1547
1680
  });
1548
1681
  }
1549
- let l = O(() => {
1682
+ let l = k(() => {
1550
1683
  let e = c.query.value;
1551
1684
  if (!e) return "";
1552
1685
  let t = c.results.value[0];
@@ -1566,11 +1699,11 @@ function Pt(e) {
1566
1699
  d.value && (d.value = !1, c.close(), t.release());
1567
1700
  }
1568
1701
  let m = null;
1569
- return e.collapseOnScroll && e.scrollContainer && (m = w(e.scrollContainer, {
1702
+ return e.collapseOnScroll && e.scrollContainer && (m = T(e.scrollContainer, {
1570
1703
  collapseOnScroll: !0,
1571
1704
  chromeRef: e.chromeRef
1572
- })), B(() => {
1573
- a?.abort(), a = null;
1705
+ })), V(() => {
1706
+ d.value && t.release(), a?.abort(), a = null;
1574
1707
  }), {
1575
1708
  fuzzy: c,
1576
1709
  autocompleteText: l,
@@ -1583,13 +1716,13 @@ function Pt(e) {
1583
1716
  }
1584
1717
  //#endregion
1585
1718
  //#region src/components/goo-filter/GooFilter.vue?vue&type=script&setup=true&lang.ts
1586
- var Ft = {
1719
+ var It = {
1587
1720
  class: "goo-filter-host",
1588
1721
  "aria-hidden": "true",
1589
1722
  focusable: "false",
1590
1723
  width: "1",
1591
1724
  height: "1"
1592
- }, It = ["id"], Lt = ["stdDeviation"], Rt = ["values"], zt = /* @__PURE__ */ o(/* @__PURE__ */ P({
1725
+ }, Lt = ["id"], Rt = ["stdDeviation"], zt = ["values"], Bt = /* @__PURE__ */ o(/* @__PURE__ */ F({
1593
1726
  __name: "GooFilter",
1594
1727
  props: { extra: { default: () => [] } },
1595
1728
  setup(e) {
@@ -1624,8 +1757,8 @@ var Ft = {
1624
1757
  slope: 18,
1625
1758
  offset: -7
1626
1759
  }
1627
- ], n = e, r = [...t, ...n.extra];
1628
- return (e, t) => (H(), j("svg", Ft, [M("defs", null, [(H(), j(D, null, G(r, (e) => M("filter", {
1760
+ ], n = e, r = k(() => [...t, ...n.extra]);
1761
+ return (e, t) => (H(), M("svg", It, [N("defs", null, [(H(!0), M(O, null, G(r.value, (e) => (H(), M("filter", {
1629
1762
  key: e.id,
1630
1763
  id: e.id,
1631
1764
  "color-interpolation-filters": "sRGB",
@@ -1634,24 +1767,24 @@ var Ft = {
1634
1767
  width: "200%",
1635
1768
  height: "200%"
1636
1769
  }, [
1637
- M("feGaussianBlur", {
1770
+ N("feGaussianBlur", {
1638
1771
  in: "SourceGraphic",
1639
1772
  stdDeviation: e.blur,
1640
1773
  result: "blur"
1641
- }, null, 8, Lt),
1642
- M("feColorMatrix", {
1774
+ }, null, 8, Rt),
1775
+ N("feColorMatrix", {
1643
1776
  in: "blur",
1644
1777
  mode: "matrix",
1645
1778
  values: `1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ${e.slope} ${e.offset}`,
1646
1779
  result: "goo"
1647
- }, null, 8, Rt),
1648
- t[0] ||= M("feComposite", {
1780
+ }, null, 8, zt),
1781
+ t[0] ||= N("feComposite", {
1649
1782
  in: "SourceGraphic",
1650
1783
  in2: "goo",
1651
1784
  operator: "atop"
1652
1785
  }, null, -1)
1653
- ], 8, It)), 64))])]));
1786
+ ], 8, Lt))), 128))])]));
1654
1787
  }
1655
- }), [["__scopeId", "data-v-f8d28853"]]);
1788
+ }), [["__scopeId", "data-v-0a04b2a9"]]);
1656
1789
  //#endregion
1657
- export { v as DOCK_CONTEXT_KEY, wt as DockBackgroundToggle, St as DockControl, ft as DockCrossfade, xt as DockLayer, vt as DockLayerGroup, Nt as DockSection, Et as DockSeparator, At as DockStack, Ct as DockTrigger, st as GlassDock, zt as GooFilter, m as provideDockContext, g as useDockContext, x as useDockCtaReceive, Pt as useDockSearch, p as useOptionalDockContext };
1790
+ export { y as DOCK_CONTEXT_KEY, Tt as DockBackgroundToggle, Ct as DockControl, pt as DockCrossfade, St as DockLayer, yt as DockLayerGroup, Pt as DockSection, Dt as DockSeparator, jt as DockStack, wt as DockTrigger, ct as GlassDock, Bt as GooFilter, h as provideDockContext, _ as useDockContext, S as useDockCtaReceive, Ft as useDockSearch, m as useOptionalDockContext };