@mkbabb/glass-ui 4.0.1 → 4.1.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 (459) hide show
  1. package/dist/{CardAction-CW7a0m8M.js → CardAction-8whJrLWt.js} +23 -8
  2. package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-D3yxgHNn.js} +23 -12
  3. package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-CaP7U3ZA.js} +11 -11
  4. package/dist/ContextMenuContent-B3ZsheLV.js +90 -0
  5. package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DDRID3qC.js} +15 -15
  6. package/dist/{DataTable-CuKwF7wr.js → DataTable-Bc9kUtu_.js} +2 -2
  7. package/dist/{DialogContent-DcKK8k9i.js → DialogContent-6JtTB5x2.js} +8 -5
  8. package/dist/DialogFooter-9phqcRIS.js +80 -0
  9. package/dist/DialogScrollContent-TTuovQst.js +93 -0
  10. package/dist/HoverCardContent-Bel1gdLZ.js +88 -0
  11. package/dist/{IconChip-BTD-nay5.js → IconChip-DhbdGdFQ.js} +1 -1
  12. package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-B0zimd2H.js} +1 -1
  13. package/dist/Input-Cg9DF62r.js +57 -0
  14. package/dist/{Notification-VUwexFUf.js → Notification-CphK7AAm.js} +3 -3
  15. package/dist/NumberFieldContent-D8cXeyO4.js +140 -0
  16. package/dist/PagerDots-Cjx96la-.js +98 -0
  17. package/dist/{SelectScrollDownButton-CrA8F0iV.js → SelectScrollDownButton-DAKCBEdW.js} +62 -57
  18. package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-C2UGOkXF.js} +1 -1
  19. package/dist/Separator-DQcwC2TR.js +44 -0
  20. package/dist/Switch-B8RscmRu.js +49 -0
  21. package/dist/{Toaster-Bw4xR8xV.js → Toaster-D9qIHjBI.js} +1 -1
  22. package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BLtr3TJq.js} +2 -2
  23. package/dist/TooltipProvider-BJ_Y5EGX.js +109 -0
  24. package/dist/animated-digit.js +1 -1
  25. package/dist/api/index.d.ts +15 -32
  26. package/dist/api/types-extra.d.ts +31 -0
  27. package/dist/api.js +1 -1
  28. package/dist/aurora.js +579 -251
  29. package/dist/border-progress.js +49 -57
  30. package/dist/{button-DYCUa-tH.js → button-5dY1Dvhd.js} +13 -14
  31. package/dist/button.js +1 -1
  32. package/dist/canvas.js +2 -3
  33. package/dist/card.js +1 -1
  34. package/dist/carousel.js +20 -20
  35. package/dist/color-Cs0-oxYL.js +116 -0
  36. package/dist/color.js +2 -2
  37. package/dist/command.js +1 -1
  38. package/dist/completion-seal.d.ts +1 -0
  39. package/dist/completion-seal.js +89 -0
  40. package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
  41. package/dist/components/custom/aurora/composables/color.d.ts +13 -0
  42. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  43. package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
  44. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +11 -2
  45. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
  46. package/dist/components/custom/aurora/constants/presets.d.ts +18 -0
  47. package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
  48. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  49. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  50. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  51. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
  52. package/dist/components/custom/border-progress/index.d.ts +1 -1
  53. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  54. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  55. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  56. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  57. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +7 -0
  58. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +9 -0
  59. package/dist/components/custom/concentric/composables/ringField.d.ts +57 -16
  60. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +2 -1
  61. package/dist/components/custom/concentric/composables/useConcentric.d.ts +4 -4
  62. package/dist/components/custom/concentric/constants.d.ts +30 -6
  63. package/dist/components/custom/concentric/index.d.ts +2 -2
  64. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
  65. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
  66. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  67. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  68. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  69. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  70. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  71. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  72. package/dist/components/custom/constellation/constants.d.ts +33 -0
  73. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  74. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  75. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  76. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  77. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  78. package/dist/components/custom/constellation/index.d.ts +5 -5
  79. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  80. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  81. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  82. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  83. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  84. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  85. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  86. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  87. package/dist/components/custom/deck/constants.d.ts +14 -0
  88. package/dist/components/custom/deck/index.d.ts +8 -0
  89. package/dist/components/custom/dock/DockIconButton.vue.d.ts +12 -0
  90. package/dist/components/custom/dock/DockStack.vue.d.ts +65 -0
  91. package/dist/components/custom/dock/GlassDock.vue.d.ts +4 -2
  92. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +80 -0
  93. package/dist/components/custom/dock/composables/index.d.ts +2 -0
  94. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  95. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +11 -0
  96. package/dist/components/custom/dock/constants.d.ts +18 -14
  97. package/dist/components/custom/dock/index.d.ts +5 -2
  98. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
  99. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +48 -6
  100. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +23 -8
  101. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
  102. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -5
  103. package/dist/components/custom/dot-flow-field/constants.d.ts +42 -21
  104. package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
  105. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
  106. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +4 -20
  107. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -1
  108. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  109. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  110. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +52 -0
  111. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  112. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +27 -0
  113. package/dist/components/custom/dot-matrix/constants.d.ts +58 -0
  114. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  115. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  116. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  117. package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
  118. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
  119. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  120. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +40 -47
  121. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +15 -0
  122. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +20 -0
  123. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
  124. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +40 -37
  125. package/dist/components/custom/fourier-field/constants.d.ts +61 -4
  126. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  127. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  128. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  129. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  130. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
  131. package/dist/components/custom/goo-blob/constants.d.ts +1 -1
  132. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  133. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  134. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  135. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  136. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
  137. package/dist/components/custom/goo-blob/types.d.ts +36 -0
  138. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  139. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  140. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +50 -0
  141. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +35 -0
  142. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  143. package/dist/components/custom/goo-dot-matrix/constants.d.ts +76 -0
  144. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  145. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +11 -0
  146. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +3 -0
  147. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  148. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  149. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  150. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  151. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  152. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  153. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +90 -0
  154. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +16 -0
  155. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +19 -0
  156. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  157. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  158. package/dist/components/custom/paper-grid/constants.d.ts +57 -0
  159. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  160. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  161. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  162. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  163. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  164. package/dist/components/custom/search/index.d.ts +2 -0
  165. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  166. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  167. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  168. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +23 -0
  169. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  170. package/dist/components/custom/split-chars/index.d.ts +1 -0
  171. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
  172. package/dist/components/custom/tabs/constants.d.ts +20 -2
  173. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +29 -16
  174. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  175. package/dist/components/ui/_shared/index.d.ts +2 -0
  176. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  177. package/dist/components/ui/button/index.d.ts +1 -1
  178. package/dist/components/ui/card/Card.vue.d.ts +45 -0
  179. package/dist/components/ui/card/index.d.ts +1 -1
  180. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  181. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  182. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  183. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  184. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  185. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  186. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  187. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  188. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  189. package/dist/components/ui/select/SelectContent.vue.d.ts +3 -0
  190. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  191. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  192. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  193. package/dist/composables/color/index.d.ts +2 -0
  194. package/dist/composables/color/useAccentTone.d.ts +34 -0
  195. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  196. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +10 -0
  197. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  198. package/dist/composables/glass/webgpu/index.d.ts +1 -1
  199. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +28 -7
  200. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +1 -0
  201. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  202. package/dist/composables/motion/core/index.d.ts +3 -0
  203. package/dist/composables/motion/scrollReader.d.ts +25 -0
  204. package/dist/composables/motion/springPresets.d.ts +20 -1
  205. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  206. package/dist/composables/motion/useDockCtaReceive.d.ts +31 -6
  207. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  208. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  209. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  210. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  211. package/dist/composables/sidebar/index.d.ts +4 -1
  212. package/dist/composables/sidebar/types.d.ts +68 -3
  213. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  214. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  215. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  216. package/dist/composables/virtual/index.d.ts +4 -0
  217. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  218. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  219. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  220. package/dist/concentric.js +495 -221
  221. package/dist/configurator.js +2 -2
  222. package/dist/confirm-dialog.js +62 -47
  223. package/dist/constellation.js +635 -235
  224. package/dist/context-menu.js +2 -2
  225. package/dist/controls.js +1 -1
  226. package/dist/createCanvasLifecycle-Gh45Ce-p.js +93 -0
  227. package/dist/dark.js +1 -1
  228. package/dist/data-table.js +1 -1
  229. package/dist/deck.d.ts +1 -0
  230. package/dist/deck.js +105 -0
  231. package/dist/dialog.js +4 -3
  232. package/dist/dock.js +602 -458
  233. package/dist/dot-flow-field.js +580 -290
  234. package/dist/dot-matrix.d.ts +1 -0
  235. package/dist/dot-matrix.js +630 -0
  236. package/dist/dotMatrixField-D_x9_1qq.js +48 -0
  237. package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-aJmV5SqE.js} +83 -79
  238. package/dist/dropdown-menu.js +1 -1
  239. package/dist/easing.js +188 -176
  240. package/dist/expandable-container.js +42 -20
  241. package/dist/fading-scroll.js +1 -1
  242. package/dist/flow.glsl-B2P7e0MT.js +4 -0
  243. package/dist/forms.js +62 -60
  244. package/dist/fourier-field.js +825 -178
  245. package/dist/fourier-math.js +1 -1
  246. package/dist/glass-ui.css +1 -1
  247. package/dist/glass-ui.js +145 -104
  248. package/dist/goo-blob.js +171 -1228
  249. package/dist/goo-dot-matrix.d.ts +1 -0
  250. package/dist/goo-dot-matrix.js +591 -0
  251. package/dist/handmark.js +1 -1
  252. package/dist/hover-card.js +1 -1
  253. package/dist/hover-popover.js +1 -1
  254. package/dist/icon-chip.js +1 -1
  255. package/dist/icon-tooltip.js +1 -1
  256. package/dist/index.d.ts +2 -0
  257. package/dist/instrument-chassis.js +1 -1
  258. package/dist/keyboard.js +1 -1
  259. package/dist/labeled-field.js +70 -60
  260. package/dist/metric-cell.js +1 -1
  261. package/dist/metric-stack.js +11 -2
  262. package/dist/motion-core.js +54 -32
  263. package/dist/motion-curves.js +11 -1
  264. package/dist/motion.js +46 -111
  265. package/dist/notification.js +1 -1
  266. package/dist/number-field.js +1 -1
  267. package/dist/pager-dots.js +2 -91
  268. package/dist/paper-backdrop.js +1 -1
  269. package/dist/paper-grid.d.ts +1 -0
  270. package/dist/paper-grid.js +788 -0
  271. package/dist/{presets-BW2b-fr1.js → presets-CvOUqtdY.js} +3 -3
  272. package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-m7Zgv35j.js} +2 -2
  273. package/dist/progress.js +1 -1
  274. package/dist/pulse.js +1 -1
  275. package/dist/reactive.js +1 -1
  276. package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-yPyIpJt9.js} +12 -2
  277. package/dist/scrollReader-DI1NWxUw.js +42 -0
  278. package/dist/scrolling-text.js +1 -1
  279. package/dist/search.js +160 -304
  280. package/dist/select.js +3 -3
  281. package/dist/selectable-chip.d.ts +1 -0
  282. package/dist/selectable-chip.js +65 -0
  283. package/dist/separator.js +1 -1
  284. package/dist/{sheet-tZMg0E0w.js → sheet-B2flBfLH.js} +2 -2
  285. package/dist/sheet.js +1 -1
  286. package/dist/sidebar.js +216 -114
  287. package/dist/slider.js +1 -1
  288. package/dist/sortable-list.js +1 -1
  289. package/dist/spectrum-walk-BVzA7Biz.js +33 -0
  290. package/dist/{springPresets-CFQGQfdl.js → springPresets-Ce7OYCm9.js} +12 -6
  291. package/dist/styles/animations.css +13 -3
  292. package/dist/styles/cards.css +69 -0
  293. package/dist/styles/completion-seal.css +131 -0
  294. package/dist/styles/components.css +2 -3
  295. package/dist/styles/configurator.css +55 -0
  296. package/dist/styles/critical-partition.mjs +33 -11
  297. package/dist/styles/deferred.css +2 -0
  298. package/dist/styles/dock/cta-seat.css +87 -0
  299. package/dist/styles/dock/density.css +153 -0
  300. package/dist/styles/dock/layers.css +55 -7
  301. package/dist/styles/dock/morph-bridge.css +54 -18
  302. package/dist/styles/dock/morph.css +41 -33
  303. package/dist/styles/dock/overflow.css +12 -0
  304. package/dist/styles/dock/search.css +68 -0
  305. package/dist/styles/dock/shape.css +124 -0
  306. package/dist/styles/dock/shell.css +23 -5
  307. package/dist/styles/dock/stack-rail.css +264 -0
  308. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  309. package/dist/styles/dock-controls/icon-button.css +14 -0
  310. package/dist/styles/dock.css +11 -1
  311. package/dist/styles/glass/accent-tone.css +66 -0
  312. package/dist/styles/glass/control-surfaces.css +167 -0
  313. package/dist/styles/glass/ladder.css +67 -17
  314. package/dist/styles/glass/rim.css +19 -9
  315. package/dist/styles/glass/surfaces.css +69 -148
  316. package/dist/styles/glass.css +10 -0
  317. package/dist/styles/index.css +15 -0
  318. package/dist/styles/scroll-chrome.css +123 -0
  319. package/dist/styles/scroll-driven.css +38 -0
  320. package/dist/styles/segmented-tabs.css +50 -14
  321. package/dist/styles/theme/bridges.css +22 -0
  322. package/dist/styles/theme/radius.css +18 -1
  323. package/dist/styles/tokens/color-radius.css +13 -3
  324. package/dist/styles/tokens/dark-arm.css +39 -6
  325. package/dist/styles/tokens/glass-deep.css +28 -3
  326. package/dist/styles/tokens/glass-fx.css +44 -1
  327. package/dist/styles/tokens/glass.css +91 -31
  328. package/dist/styles/tokens/light-dark.css +1 -1
  329. package/dist/styles/tokens/offsets.css +27 -0
  330. package/dist/styles/tokens/property-regs.css +133 -0
  331. package/dist/styles/tokens/scale-paper.css +73 -29
  332. package/dist/styles/tokens/scheme-motion.css +44 -6
  333. package/dist/styles/tokens/sizing-config.css +110 -0
  334. package/dist/styles/tokens/sizing.css +55 -104
  335. package/dist/styles/tokens.css +5 -0
  336. package/dist/styles/typography/semantic.css +18 -5
  337. package/dist/styles/utilities/a11y-overrides.css +20 -5
  338. package/dist/styles/utilities/base-misc.css +52 -0
  339. package/dist/styles/utilities/btn.css +14 -3
  340. package/dist/styles/utilities/components.css +31 -6
  341. package/dist/styles/utilities/metal.css +26 -0
  342. package/dist/switch.js +1 -1
  343. package/dist/tabs.js +8 -8
  344. package/dist/timeline.js +1 -1
  345. package/dist/toast.js +1 -1
  346. package/dist/toggle-chip.js +10 -10
  347. package/dist/toggle-group.js +1 -1
  348. package/dist/tooltip.js +1 -1
  349. package/dist/typewriter.js +1 -1
  350. package/dist/uniformBridgeWGPU-CtAKl45L.js +1204 -0
  351. package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-CLrxicG9.js} +1 -1
  352. package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-4xblKfwd.js} +25 -24
  353. package/dist/useControlSize-SH1UmJCi.js +9 -0
  354. package/dist/useDockCtaReceive-DfFkmgL1.js +82 -0
  355. package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-BUgAC-zK.js} +4 -4
  356. package/dist/useFuzzySearch-DIhcYtcw.js +177 -0
  357. package/dist/useGpuSubstrate-4pTcp6mX.js +294 -0
  358. package/dist/{useLiquidPress-kfb4KX79.js → useLiquidPress-BooG97RY.js} +2 -2
  359. package/dist/usePointerVelocityField-QLsy3_kv.js +91 -0
  360. package/dist/useScrollChrome-D66AVP7C.js +258 -0
  361. package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-BWDnKIwh.js} +1 -1
  362. package/dist/useSpringPress-B1-Czp-V.js +36 -0
  363. package/dist/useViewTransition-CUI1nAgn.js +95 -0
  364. package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
  365. package/dist/virtual.d.ts +1 -0
  366. package/dist/virtual.js +225 -0
  367. package/dist/watercolor-dot.js +116 -73
  368. package/package.json +127 -7
  369. package/src/styles/animations.css +13 -3
  370. package/src/styles/cards.css +69 -0
  371. package/src/styles/completion-seal.css +131 -0
  372. package/src/styles/configurator.css +55 -0
  373. package/src/styles/critical-partition.mjs +33 -11
  374. package/src/styles/dock/cta-seat.css +87 -0
  375. package/src/styles/dock/density.css +153 -0
  376. package/src/styles/dock/layers.css +55 -7
  377. package/src/styles/dock/morph-bridge.css +54 -18
  378. package/src/styles/dock/morph.css +41 -33
  379. package/src/styles/dock/overflow.css +12 -0
  380. package/src/styles/dock/search.css +68 -0
  381. package/src/styles/dock/shape.css +124 -0
  382. package/src/styles/dock/shell.css +23 -5
  383. package/src/styles/dock/stack-rail.css +264 -0
  384. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  385. package/src/styles/dock-controls/icon-button.css +14 -0
  386. package/src/styles/dock.css +11 -1
  387. package/src/styles/glass/accent-tone.css +66 -0
  388. package/src/styles/glass/control-surfaces.css +167 -0
  389. package/src/styles/glass/ladder.css +67 -17
  390. package/src/styles/glass/rim.css +19 -9
  391. package/src/styles/glass/surfaces.css +69 -148
  392. package/src/styles/glass.css +10 -0
  393. package/src/styles/index.css +15 -0
  394. package/src/styles/scroll-chrome.css +123 -0
  395. package/src/styles/scroll-driven.css +38 -0
  396. package/src/styles/segmented-tabs.css +50 -14
  397. package/src/styles/theme/bridges.css +22 -0
  398. package/src/styles/theme/radius.css +18 -1
  399. package/src/styles/tokens/color-radius.css +13 -3
  400. package/src/styles/tokens/dark-arm.css +39 -6
  401. package/src/styles/tokens/glass-deep.css +28 -3
  402. package/src/styles/tokens/glass-fx.css +44 -1
  403. package/src/styles/tokens/glass.css +91 -31
  404. package/src/styles/tokens/light-dark.css +1 -1
  405. package/src/styles/tokens/offsets.css +27 -0
  406. package/src/styles/tokens/property-regs.css +133 -0
  407. package/src/styles/tokens/scale-paper.css +73 -29
  408. package/src/styles/tokens/scheme-motion.css +44 -6
  409. package/src/styles/tokens/sizing-config.css +110 -0
  410. package/src/styles/tokens/sizing.css +55 -104
  411. package/src/styles/tokens.css +5 -0
  412. package/src/styles/typography/semantic.css +18 -5
  413. package/src/styles/utilities/a11y-overrides.css +20 -5
  414. package/src/styles/utilities/base-misc.css +52 -0
  415. package/src/styles/utilities/btn.css +14 -3
  416. package/src/styles/utilities/components.css +31 -6
  417. package/src/styles/utilities/metal.css +26 -0
  418. package/dist/ContextMenuContent-uWnVxDab.js +0 -85
  419. package/dist/DialogFooter-BZNX5aVr.js +0 -165
  420. package/dist/HoverCardContent-b2uaAMRR.js +0 -83
  421. package/dist/Input-h9v5LeXf.js +0 -55
  422. package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
  423. package/dist/Separator-pKF0oA4M.js +0 -37
  424. package/dist/Switch-CwYNf8bo.js +0 -47
  425. package/dist/TooltipProvider-rzvnXz60.js +0 -104
  426. package/dist/color-DweYl7pE.js +0 -86
  427. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  428. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  429. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  430. package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
  431. package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
  432. package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
  433. package/dist/styles/dock/rail-extend.css +0 -397
  434. package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
  435. package/dist/useRAFLoop-UYa4zoiN.js +0 -109
  436. package/dist/useSpringPress-BsqPr7FJ.js +0 -34
  437. package/src/styles/dock/rail-extend.css +0 -397
  438. /package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-DLRbH5Xr.js} +0 -0
  439. /package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-BcIxvyqZ.js} +0 -0
  440. /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-CxsHSyMj.js} +0 -0
  441. /package/dist/{PaperBackdrop-Vf3tlpvd.js → PaperBackdrop-CqwjnfLv.js} +0 -0
  442. /package/dist/{Progress-DctG61iZ.js → Progress-CnqB7gLm.js} +0 -0
  443. /package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-CTZbA_cG.js} +0 -0
  444. /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-BFiod7X2.js} +0 -0
  445. /package/dist/{compile-CQEFRTmx.js → compile-nZ1xVYTp.js} +0 -0
  446. /package/dist/{constants-BPOqYJAm.js → constants--C2DkLW8.js} +0 -0
  447. /package/dist/{math-BINYmg5z.js → math-Eb0w3LqU.js} +0 -0
  448. /package/dist/{prng-Za0Rmgag.js → prng-B-d9eYX8.js} +0 -0
  449. /package/dist/{slider-DVb4HXU-.js → slider-2A0rPn79.js} +0 -0
  450. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-CmjB9E32.js} +0 -0
  451. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-Dbozzjgm.js} +0 -0
  452. /package/dist/{useInterval-CvK1mL92.js → useInterval-CNdua40W.js} +0 -0
  453. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BPRp33Im.js} +0 -0
  454. /package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-UmA6LMZu.js} +0 -0
  455. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-c3yxmH6a.js} +0 -0
  456. /package/dist/{useSortable-DHjtZSEd.js → useSortable-BVqlJRBR.js} +0 -0
  457. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-NmBM5V_4.js} +0 -0
  458. /package/dist/{vReveal-Czsb7zQC.js → vReveal-D9k0jADx.js} +0 -0
  459. /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
package/dist/dock.js CHANGED
@@ -1,32 +1,34 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { a as t, b as n, o as r, v as i } from "./vendor-CKmzio-i.js";
3
- import { t as a } from "./useLiquidFlex-mZPMiNXh.js";
4
- import { t as o } from "./vSpecular-CQFmLNzA.js";
2
+ import { a as t, d as n, o as r, x as i } from "./vendor-B2qOlYY3.js";
3
+ import { t as a } from "./useLiquidFlex-UmA6LMZu.js";
4
+ import { t as o } from "./vSpecular-EX7loENl.js";
5
5
  import { t as s } from "./useResizeObserver-Bpoi7tRE.js";
6
6
  import { t as c } from "./useTouchGate-CBZTD4SD.js";
7
7
  import { n as l } from "./useResolveTokenColor-vAylyR0x.js";
8
8
  import { n as u, t as d } from "./createContext-CpBNTRMI.js";
9
9
  import { a as f, c as p, i as m, n as h, o as g, r as _, s as v, t as y } from "./dockContext-BNfyPLe9.js";
10
- import { t as b } from "./FadingScroll-DI6hQhT9.js";
11
- import { t as x } from "./useIntersectionPause-Bj4sPkMh.js";
12
- import { t as S } from "./useDragMorph-DgxnsVJz.js";
13
- import { t as C } from "./useRAFLoop-UYa4zoiN.js";
14
- import { Fragment as w, computed as T, createBlock as E, createCommentVNode as D, createElementBlock as O, createElementVNode as k, createVNode as A, defineComponent as j, mergeModels as M, mergeProps as N, nextTick as P, normalizeClass as F, normalizeStyle as I, onBeforeUnmount as L, onMounted as R, onScopeDispose as z, onUnmounted as B, openBlock as V, readonly as H, ref as U, renderList as ee, renderSlot as W, resolveDynamicComponent as G, toDisplayString as te, unref as K, useId as ne, useModel as re, useSlots as ie, useTemplateRef as q, watch as J, withCtx as Y, withDirectives as X } from "vue";
15
- import { DropdownMenuTrigger as Z, Primitive as ae, SelectIcon as Q, SelectTrigger as oe, TabsIndicator as se, TabsList as ce, TabsRoot as le, TabsTrigger as ue, useForwardProps as de, useForwardPropsEmits as fe } from "reka-ui";
16
- import { SpringProgress as pe } from "@mkbabb/keyframes.js";
10
+ import { t as b } from "./FadingScroll-DLRbH5Xr.js";
11
+ import { t as x } from "./useIntersectionPause-Dbozzjgm.js";
12
+ import { t as S } from "./useDragMorph-BUgAC-zK.js";
13
+ import { t as C } from "./useDockCtaReceive-DfFkmgL1.js";
14
+ import { r as w, t as T } from "./useScrollChrome-D66AVP7C.js";
15
+ import { t as E } from "./useFuzzySearch-DIhcYtcw.js";
16
+ 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 ne, renderSlot as G, resolveDynamicComponent as re, toDisplayString as ie, unref as K, useId as ae, useModel as q, useSlots as oe, useTemplateRef as J, watch as Y, withCtx as X, withDirectives as Z } from "vue";
17
+ import { DropdownMenuTrigger as se, Primitive as ce, SelectIcon as le, SelectTrigger as ue, TabsIndicator as de, TabsList as fe, TabsRoot as pe, TabsTrigger as me, useForwardProps as he, useForwardPropsEmits as ge } from "reka-ui";
18
+ import { SpringProgress as _e } from "@mkbabb/keyframes.js";
17
19
  //#region src/composables/glass/useGlassBackdropLuminance.ts
18
- var me = "(prefers-reduced-motion: reduce)", $ = 32;
19
- function he(e) {
20
+ var ve = "(prefers-reduced-motion: reduce)", Q = 32;
21
+ function ye(e) {
20
22
  return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
21
23
  }
22
- function ge(e) {
24
+ function be(e) {
23
25
  let t = e / 255;
24
26
  return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
25
27
  }
26
- function _e(e, t, n) {
27
- return .2126 * ge(e) + .7152 * ge(t) + .0722 * ge(n);
28
+ function xe(e, t, n) {
29
+ return .2126 * be(e) + .7152 * be(t) + .0722 * be(n);
28
30
  }
29
- function ve(e) {
31
+ function Se(e) {
30
32
  let t = e.match(/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:[,\s/]+([\d.]+))?/i);
31
33
  return t ? [
32
34
  Number(t[1]),
@@ -35,36 +37,36 @@ function ve(e) {
35
37
  t[4] === void 0 ? 1 : Number(t[4])
36
38
  ] : null;
37
39
  }
38
- function ye(e) {
40
+ function Ce(e) {
39
41
  if (!e) return null;
40
- if (he(e)) return e;
42
+ if (ye(e)) return e;
41
43
  if (typeof e == "function") {
42
44
  let t = e();
43
- return he(t) ? t : null;
45
+ return ye(t) ? t : null;
44
46
  }
45
47
  if (typeof e == "string" && typeof document < "u") {
46
48
  let t = document.querySelector(e);
47
- return he(t) ? t : null;
49
+ return ye(t) ? t : null;
48
50
  }
49
51
  return null;
50
52
  }
51
- function be(e, t = {}) {
52
- let { lightThreshold: n = .6, minSampleIntervalMs: r = 250, writeBucket: i = !0 } = t, a = Math.max(250, r), o = U(null), c = U(null);
53
+ function we(e, t = {}) {
54
+ let { lightThreshold: n = .6, minSampleIntervalMs: r = 250, writeBucket: i = !0 } = t, a = Math.max(250, r), o = W(null), c = W(null);
53
55
  if (typeof window > "u") return {
54
- luma: H(o),
55
- bucket: H(c),
56
+ luma: U(o),
57
+ bucket: U(c),
56
58
  sampleNow: () => {},
57
59
  dispose: () => {}
58
60
  };
59
- let u = window.matchMedia(me), d = u.matches, f = null, p = null;
61
+ let u = window.matchMedia(ve), d = u.matches, f = null, p = null;
60
62
  function m() {
61
- return f || (f = document.createElement("canvas"), f.width = $, f.height = $), p ||= f.getContext("2d", { willReadFrequently: !0 }), p;
63
+ return f || (f = document.createElement("canvas"), f.width = Q, f.height = Q), p ||= f.getContext("2d", { willReadFrequently: !0 }), p;
62
64
  }
63
65
  function h() {
64
66
  return t.live === void 0 ? e.value?.dataset.glassSample === "live" : t.live;
65
67
  }
66
68
  function g(e) {
67
- let n = ye(t.backgroundCanvas);
69
+ let n = Ce(t.backgroundCanvas);
68
70
  if (!n || n.width === 0 || n.height === 0) return null;
69
71
  let r = m();
70
72
  if (!r) return null;
@@ -73,11 +75,11 @@ function be(e, t = {}) {
73
75
  let o = n.width / a.width, s = n.height / a.height, c = Math.max(0, (i.left - a.left) * o), l = Math.max(0, (i.top - a.top) * s), u = Math.min(n.width - c, Math.max(1, i.width * o)), d = Math.min(n.height - l, Math.max(1, i.height * s));
74
76
  if (u <= 0 || d <= 0) return null;
75
77
  try {
76
- r.clearRect(0, 0, $, $), r.drawImage(n, c, l, u, d, 0, 0, $, $);
77
- let e = r.getImageData(0, 0, $, $).data, t = 0, i = 0;
78
+ r.clearRect(0, 0, Q, Q), r.drawImage(n, c, l, u, d, 0, 0, Q, Q);
79
+ let e = r.getImageData(0, 0, Q, Q).data, t = 0, i = 0;
78
80
  for (let n = 0; n < e.length; n += 4) {
79
81
  let r = e[n + 3] / 255, a = e[n] * r + 255 * (1 - r), o = e[n + 1] * r + 255 * (1 - r), s = e[n + 2] * r + 255 * (1 - r);
80
- t += _e(a, o, s), i++;
82
+ t += xe(a, o, s), i++;
81
83
  }
82
84
  return i > 0 ? t / i : null;
83
85
  } catch {
@@ -88,11 +90,11 @@ function be(e, t = {}) {
88
90
  let t = e.getBoundingClientRect(), n = t.left + t.width / 2, r = t.top + t.height / 2, i = document.elementsFromPoint(n, r);
89
91
  for (let t of i) {
90
92
  if (!(t instanceof HTMLElement) || t === e || e.contains(t)) continue;
91
- let n = getComputedStyle(t).backgroundColor, r = ve(l(n, e));
92
- if (r && !(r[3] < .5)) return _e(r[0], r[1], r[2]);
93
+ let n = getComputedStyle(t).backgroundColor, r = Se(l(n, e));
94
+ if (r && !(r[3] < .5)) return xe(r[0], r[1], r[2]);
93
95
  }
94
- let a = ve(l(getComputedStyle(document.body).backgroundColor, e));
95
- return a ? _e(a[0], a[1], a[2]) : null;
96
+ let a = Se(l(getComputedStyle(document.body).backgroundColor, e));
97
+ return a ? xe(a[0], a[1], a[2]) : null;
96
98
  }
97
99
  function v(t) {
98
100
  o.value = t;
@@ -109,13 +111,13 @@ function be(e, t = {}) {
109
111
  let n = h() ? g(t) ?? _(t) : _(t);
110
112
  n !== null && v(n), y = typeof performance < "u" ? performance.now() : Date.now();
111
113
  }
112
- let S = C(({ now: e }) => {
114
+ let S = w(({ now: e }) => {
113
115
  d || e - y < a || b();
114
116
  }, {
115
117
  immediate: !1,
116
118
  pauseWhenHidden: !0,
117
119
  respectReducedMotion: !0
118
- }), w = x(() => e.value, {
120
+ }), C = x(() => e.value, {
119
121
  pause: () => S.pause(),
120
122
  resume: () => {
121
123
  h() && !d && S.resume();
@@ -126,33 +128,33 @@ function be(e, t = {}) {
126
128
  }
127
129
  let D = () => E();
128
130
  typeof u.addEventListener == "function" && u.addEventListener("change", D);
129
- let O = J(() => e.value, (e) => {
131
+ let O = Y(() => e.value, (e) => {
130
132
  e && (b(), E());
131
133
  }, {
132
134
  immediate: !0,
133
135
  flush: "post"
134
136
  });
135
137
  function k() {
136
- O(), S.dispose(), w.dispose(), T.stop(), typeof u.removeEventListener == "function" && u.removeEventListener("change", D), f = null, p = null;
138
+ O(), S.dispose(), C.dispose(), T.stop(), typeof u.removeEventListener == "function" && u.removeEventListener("change", D), f = null, p = null;
137
139
  }
138
- return z(k), {
139
- luma: H(o),
140
- bucket: H(c),
140
+ return B(k), {
141
+ luma: U(o),
142
+ bucket: U(c),
141
143
  sampleNow: b,
142
144
  dispose: k
143
145
  };
144
146
  }
145
147
  //#endregion
146
148
  //#region src/components/custom/dock/composables/isTeleportedTarget.ts
147
- function xe(e, t) {
149
+ function Te(e, t) {
148
150
  if (!(e instanceof Element)) return !1;
149
151
  let n = e.closest("[data-glass-dock-portal]");
150
152
  return n ? t ? n.getAttribute("data-glass-dock-owner") === t : !0 : !1;
151
153
  }
152
154
  //#endregion
153
155
  //#region src/components/custom/dock/composables/useDockState.ts
154
- function Se(e) {
155
- let { collapseDelay: t = 2500, rootEl: n, alwaysExpanded: r = !1, isTransitioning: i, dockId: a, onStateChange: o } = e, s = () => typeof r == "boolean" ? r : r.value, c = s(), l = U(c ? "pinned" : "collapsed"), u = U(c), d = U(c), f = null, p = U(0), m = T(() => p.value > 0), h = null, g = null, _ = !1, v = null;
156
+ function Ee(e) {
157
+ let { collapseDelay: t = 2500, 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;
156
158
  function y() {
157
159
  v &&= (clearTimeout(v), null);
158
160
  }
@@ -173,15 +175,15 @@ function Se(e) {
173
175
  function w() {
174
176
  g !== null && (cancelAnimationFrame(g), g = null);
175
177
  }
176
- function E() {
178
+ function T() {
177
179
  w(), h?.();
178
180
  }
179
- function D() {
181
+ function E() {
180
182
  s() || p.value > 0 || (C(), f = setTimeout(() => {
181
- O(), l.value = "collapsed", S();
183
+ D(), l.value = "collapsed", S();
182
184
  }, t));
183
185
  }
184
- function O() {
186
+ function D() {
185
187
  typeof document > "u" || typeof PointerEvent > "u" || document.body.dispatchEvent(new PointerEvent("pointerdown", {
186
188
  bubbles: !0,
187
189
  composed: !0
@@ -192,7 +194,7 @@ function Se(e) {
192
194
  l.value = "pinned", S();
193
195
  return;
194
196
  }
195
- _ ||= (_ = !0, C(), y(), O(), l.value = "collapsed", S(), !1);
197
+ _ ||= (_ = !0, C(), y(), D(), l.value = "collapsed", S(), !1);
196
198
  }
197
199
  function A() {
198
200
  if (s()) {
@@ -211,9 +213,9 @@ function Se(e) {
211
213
  if (p.value > 0) return;
212
214
  if (e) {
213
215
  let t = n.value;
214
- if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || xe(e.relatedTarget, a) || b(e)) return;
216
+ if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || Te(e.relatedTarget, a) || b(e)) return;
215
217
  }
216
- D();
218
+ E();
217
219
  }
218
220
  }
219
221
  function N() {
@@ -222,7 +224,7 @@ function Se(e) {
222
224
  function P(e) {
223
225
  if (s() || l.value !== "hover" || p.value > 0) return;
224
226
  let t = e.currentTarget;
225
- e.relatedTarget && t.contains(e.relatedTarget) || xe(e.relatedTarget, a) || D();
227
+ e.relatedTarget && t.contains(e.relatedTarget) || Te(e.relatedTarget, a) || E();
226
228
  }
227
229
  function F() {
228
230
  if (s()) {
@@ -236,28 +238,28 @@ function Se(e) {
236
238
  }
237
239
  function L() {
238
240
  p.value = Math.max(0, p.value - 1), p.value === 0 && l.value === "hover" && (C(), f = setTimeout(() => {
239
- p.value === 0 && l.value === "hover" && D();
241
+ p.value === 0 && l.value === "hover" && E();
240
242
  }, Math.min(t, 800)));
241
243
  }
242
244
  function R(e) {
243
245
  if (s() || i?.value) return;
244
246
  let t = n.value;
245
- !t || t.contains(e.target) || xe(e.target, a) || k();
247
+ !t || t.contains(e.target) || Te(e.target, a) || k();
246
248
  }
247
- return J(u, (e) => {
248
- e ? (E(), g = requestAnimationFrame(() => {
249
+ return Y(u, (e) => {
250
+ e ? (T(), g = requestAnimationFrame(() => {
249
251
  g = null, u.value && (document.addEventListener("pointerdown", R, !0), h = () => {
250
252
  document.removeEventListener("pointerdown", R, !0), h = null;
251
253
  });
252
- })) : E();
253
- }), typeof r == "boolean" ? r && (l.value = "pinned", S()) : J(r, (e) => {
254
+ })) : T();
255
+ }), typeof r == "boolean" ? r && (l.value = "pinned", S()) : Y(r, (e) => {
254
256
  if (e) {
255
257
  C(), l.value = "pinned", S();
256
258
  return;
257
259
  }
258
260
  l.value = "collapsed", S();
259
- }, { immediate: !0 }), B(() => {
260
- C(), y(), E();
261
+ }, { immediate: !0 }), V(() => {
262
+ C(), y(), T();
261
263
  }), {
262
264
  state: l,
263
265
  expanded: u,
@@ -276,19 +278,26 @@ function Se(e) {
276
278
  }
277
279
  //#endregion
278
280
  //#region src/components/custom/dock/composables/dockMorphMeasure.ts
279
- function Ce(e) {
281
+ function De(e) {
280
282
  return e === "vertical" ? "height" : "width";
281
283
  }
282
- function we(e) {
283
- return Ce(e) === "width" ? "inline-size" : "block-size";
284
+ function Oe(e) {
285
+ return De(e) === "width" ? "inline-size" : "block-size";
284
286
  }
285
- function Te(e, t) {
286
- return e.getBoundingClientRect()[Ce(t)];
287
+ function $(e, t) {
288
+ return e.getBoundingClientRect()[De(t)];
287
289
  }
288
- function Ee(e) {
290
+ function ke(e) {
289
291
  e.style.removeProperty("--dock-morph-from"), e.style.removeProperty("--dock-morph-to");
290
292
  }
291
- function De(e, t, n) {
293
+ function Ae(e) {
294
+ if (!e || typeof getComputedStyle != "function") return 44;
295
+ let t = getComputedStyle(e).getPropertyValue("--dock-morph-min").trim();
296
+ if (!t) return 44;
297
+ let n = Number.parseFloat(t);
298
+ return Number.isFinite(n) && n > 0 ? n : 44;
299
+ }
300
+ function je(e, t, n) {
292
301
  let r = [];
293
302
  for (let i of n) {
294
303
  if (i === e) continue;
@@ -297,39 +306,69 @@ function De(e, t, n) {
297
306
  }
298
307
  return r;
299
308
  }
300
- function Oe(e) {
309
+ function Me(e) {
301
310
  let t = e.containerEl.value;
302
311
  if (!t) return () => {};
303
- let n = we(e.axis.value), r = t.style.getPropertyValue(n);
312
+ let n = Oe(e.axis.value), r = t.style.getPropertyValue(n);
304
313
  return t.style.setProperty(n, "max-content"), () => {
305
314
  r ? t.style.setProperty(n, r) : t.style.removeProperty(n);
306
315
  };
307
316
  }
308
- function ke(e, t, n) {
309
- let r = e.axis.value, i = we(r);
310
- Ee(t);
311
- let a = De(e, t, n).map((e) => Oe(e)), o = t.style.getPropertyValue(i);
317
+ function Ne(e, t, n) {
318
+ let r = e.axis.value, i = Oe(r);
319
+ ke(t);
320
+ let a = je(e, t, n).map((e) => Me(e)), o = t.style.getPropertyValue(i);
312
321
  t.style.setProperty(i, "max-content");
313
- let s = Te(t, r);
322
+ let s = $(t, r);
314
323
  o ? t.style.setProperty(i, o) : t.style.removeProperty(i);
315
324
  for (let e of a) e();
316
325
  return s;
317
326
  }
318
- function Ae(e, t, n, r, i) {
327
+ function Pe(e, t, n, r, i) {
319
328
  if (t !== e.txId) return;
320
329
  let a = e.containerEl.value, o = n;
321
330
  if (!a || !o) return;
322
- let s = e.axis.value, c = ke(e, a, r);
323
- a.style.setProperty("--dock-morph-from", `${c}px`), a.style.setProperty("--dock-morph-to", `${c}px`), o.style.setProperty("--dock-morph-t", "1"), a.getBoundingClientRect()[Ce(s)], i.settleTarget(e), i.maybeSettleRoot();
331
+ let s = e.axis.value, c = Ne(e, a, r);
332
+ a.style.setProperty("--dock-morph-from", `${c}px`), a.style.setProperty("--dock-morph-to", `${c}px`), o.style.setProperty("--dock-morph-t", "1"), a.getBoundingClientRect()[De(s)], i.settleTarget(e), i.maybeSettleRoot();
333
+ }
334
+ function Fe(e, t) {
335
+ for (let n of t) {
336
+ if (n === e) continue;
337
+ let t = n.containerEl.value;
338
+ if (t && t.style.getPropertyValue("--dock-morph-to")) {
339
+ let e = $(t, n.axis.value);
340
+ t.style.setProperty("--dock-morph-from", `${e}px`);
341
+ }
342
+ }
343
+ }
344
+ function Ie(e) {
345
+ e && (e.style.removeProperty("--dock-root-morph-from"), e.style.removeProperty("--dock-root-morph-to"));
346
+ }
347
+ function Le(e, t, n) {
348
+ e && (e.style.setProperty("--dock-root-morph-from", `${t}px`), e.style.setProperty("--dock-root-morph-to", `${n}px`));
349
+ }
350
+ function Re(e, t, n, r, i, a, o, s, c) {
351
+ if (t !== e.txId) return;
352
+ let l = e.containerEl.value, u = o;
353
+ if (!l || !u) return;
354
+ ke(l);
355
+ let d = Oe(n), f = je(e, l, s).map((e) => Me(e)), p = a, m = p ? u.style.getPropertyValue("--dock-root-morph-from") : "", h = p ? u.style.getPropertyValue("--dock-root-morph-to") : "";
356
+ p && Ie(u), l.style.setProperty(d, "max-content");
357
+ let g = $(l, n), _ = p ? $(u, n) : 0;
358
+ l.style.removeProperty(d);
359
+ let v = Ae(l), y = g > 0 ? g : v, b = !p || _ > 0 ? _ : Ae(u);
360
+ p && (m && u.style.setProperty("--dock-root-morph-from", m), h && u.style.setProperty("--dock-root-morph-to", h));
361
+ for (let e of f) e();
362
+ c.armTarget(e, t, r, y), a && (Math.abs(b - i) < .5 ? Ie(u) : Le(u, i, b));
324
363
  }
325
364
  //#endregion
326
365
  //#region src/components/custom/dock/composables/dockMorphContext.ts
327
- var je = d(g), { KEY: Me } = je;
328
- function Ne(e) {
329
- je.provide(e);
366
+ var ze = d(g), { KEY: Be } = ze;
367
+ function Ve(e) {
368
+ ze.provide(e);
330
369
  }
331
- var Pe = je.use;
332
- function Fe(e) {
370
+ var He = ze.use;
371
+ function Ue(e) {
333
372
  let { rootEl: t, outerEl: n, outerActiveLayer: r, outerAxis: i } = e, a = null, o = /* @__PURE__ */ new Set();
334
373
  function s() {
335
374
  return t.value;
@@ -349,7 +388,7 @@ function Fe(e) {
349
388
  }
350
389
  function d(e) {
351
390
  let t = e.containerEl.value;
352
- t && Ee(t), e.leavingLayer.value = null;
391
+ t && ke(t), e === b && Ie(s()), e.leavingLayer.value = null;
353
392
  }
354
393
  function f() {
355
394
  if (u()) return;
@@ -357,27 +396,26 @@ function Fe(e) {
357
396
  e && (e.style.removeProperty("--dock-morph-t"), e.removeAttribute("data-morphing")), c();
358
397
  }
359
398
  function p() {
360
- if (!s()) return;
361
- let e = a !== null && !a.settled ? a.velocity : 0;
362
- if (!a || a.settled) {
363
- c(), a = new pe({
364
- response: v.response,
365
- dampingFraction: v.dampingFraction,
366
- initial: 0,
367
- respectReducedMotion: !0
368
- });
369
- let t = a;
370
- t.reset(0, e), t.target = 1, t.play((e) => {
371
- let n = s();
372
- if (n && n.style.setProperty("--dock-morph-t", `${e}`), t.settled) {
373
- for (let e of o) {
374
- let t = e.containerEl.value;
375
- t && t.style.getPropertyValue("--dock-morph-to") && d(e);
376
- }
377
- f();
399
+ let e = s();
400
+ if (!e) return;
401
+ let t = a !== null && !a.settled ? a.velocity : 0;
402
+ c(), a = new _e({
403
+ response: v.response,
404
+ dampingFraction: v.dampingFraction,
405
+ initial: 0,
406
+ respectReducedMotion: !0
407
+ });
408
+ let n = a;
409
+ n.reset(0, t), n.target = 1, e.style.setProperty("--dock-morph-t", "0"), n.play((e) => {
410
+ let t = s();
411
+ if (t && t.style.setProperty("--dock-morph-t", `${e}`), n.settled) {
412
+ for (let e of o) {
413
+ let t = e.containerEl.value;
414
+ t && t.style.getPropertyValue("--dock-morph-to") && d(e);
378
415
  }
379
- });
380
- } else a.reset(0, e), a.target = 1;
416
+ f();
417
+ }
418
+ });
381
419
  }
382
420
  function m(e, t, n, r) {
383
421
  if (t !== e.txId) return;
@@ -401,44 +439,24 @@ function Fe(e) {
401
439
  e.currentLayer.value = t, e.leavingLayer.value = null;
402
440
  return;
403
441
  }
404
- let a = ++e.txId, c = e.axis.value, u = Te(r, c);
405
- e.leavingLayer.value = n, e.currentLayer.value = t;
406
- for (let t of o) {
407
- if (t === e) continue;
408
- let n = t.containerEl.value;
409
- if (n && n.style.getPropertyValue("--dock-morph-to")) {
410
- let e = Te(n, t.axis.value);
411
- n.style.setProperty("--dock-morph-from", `${e}px`);
412
- }
413
- }
414
- if (r.style.setProperty("--dock-morph-from", `${u}px`), r.style.setProperty("--dock-morph-to", `${u}px`), i.style.setProperty("--dock-morph-t", "0"), i.setAttribute("data-morphing", ""), l()) {
415
- P(() => Ae(e, a, s(), o, h));
442
+ let a = ++e.txId, c = e.axis.value, u = $(r, c), d = e === b ? $(i, c) : 0;
443
+ if (e.leavingLayer.value = n, e.currentLayer.value = t, Fe(e, o), r.style.setProperty("--dock-morph-from", `${u}px`), r.style.setProperty("--dock-morph-to", `${u}px`), i.style.setProperty("--dock-morph-t", "0"), i.setAttribute("data-morphing", ""), e === b && Le(s(), d, d), l()) {
444
+ L(() => Pe(e, a, s(), o, h));
416
445
  return;
417
446
  }
418
- requestAnimationFrame(() => {
419
- if (a !== e.txId) return;
420
- let t = e.containerEl.value, n = s();
421
- if (!t || !n) return;
422
- Ee(t);
423
- let r = we(c), i = De(e, t, o).map((e) => Oe(e));
424
- t.style.setProperty(r, "max-content");
425
- let l = Te(t, c);
426
- t.style.removeProperty(r);
427
- for (let e of i) e();
428
- m(e, a, u, l);
429
- });
447
+ L(() => requestAnimationFrame(() => Re(e, a, c, u, d, e === b, s(), o, { armTarget: m })));
430
448
  }
431
449
  function _(e) {
432
450
  let t = {
433
451
  containerEl: e.containerEl,
434
452
  activeLayer: e.activeLayer,
435
453
  axis: e.axis,
436
- currentLayer: U(e.activeLayer.value),
437
- leavingLayer: U(null),
454
+ currentLayer: W(e.activeLayer.value),
455
+ leavingLayer: W(null),
438
456
  txId: 0,
439
457
  stop: () => {}
440
458
  };
441
- return t.stop = J(e.activeLayer, (e, n) => {
459
+ return t.stop = Y(e.activeLayer, (e, n) => {
442
460
  g(t, e, n);
443
461
  }), o.add(t), t;
444
462
  }
@@ -452,63 +470,63 @@ function Fe(e) {
452
470
  }), x = { registerGroup(e) {
453
471
  let t = _(e);
454
472
  return {
455
- currentLayer: H(t.currentLayer),
456
- leavingLayer: H(t.leavingLayer),
473
+ currentLayer: U(t.currentLayer),
474
+ leavingLayer: U(t.leavingLayer),
457
475
  release: () => y(t)
458
476
  };
459
477
  } };
460
478
  function S(e) {
461
479
  let t = n.value;
462
480
  if (!t || e.target !== t) return;
463
- let r = we(i.value);
464
- e.propertyName !== r && e.propertyName !== Ce(i.value) || a && a.settled && (d(b), f());
481
+ let r = Oe(i.value);
482
+ e.propertyName !== r && e.propertyName !== De(i.value) || a && a.settled && (d(b), f());
465
483
  }
466
- return B(() => {
484
+ return V(() => {
467
485
  for (let e of o) e.stop();
468
486
  o.clear(), c();
469
487
  }), {
470
488
  context: x,
471
- outerCurrentLayer: H(b.currentLayer),
489
+ outerCurrentLayer: U(b.currentLayer),
472
490
  onOuterTransitionEnd: S
473
491
  };
474
492
  }
475
493
  //#endregion
476
494
  //#region src/components/custom/dock/composables/useDockShellProps.ts
477
- function Ie(e) {
478
- let t = T(() => {
495
+ function We(e) {
496
+ let t = O(() => {
479
497
  if (e.containerName) return {
480
498
  "container-type": "inline-size",
481
499
  "container-name": e.containerName
482
500
  };
483
- }), n = T(() => e.collapseDelay ?? 2e3), r = T(() => e.layout ?? "linear"), i = T(() => e.shape ?? "pill"), a = T(() => e.orientation ?? "horizontal"), o = T(() => e.density ?? "comfortable"), s = T(() => e.overflow === "scroll" ? a.value === "vertical" ? "dock-scroll-y" : "dock-scroll-x" : null), c = T(() => e.alwaysExpanded || r.value === "grid");
501
+ }), n = O(() => e.collapseDelay ?? 2e3), r = O(() => e.layout ?? "linear"), i = O(() => e.shape ?? "pill"), a = O(() => e.orientation ?? "horizontal"), o = O(() => e.density ?? "comfortable"), s = O(() => e.overflow === "scroll" ? a.value === "vertical" ? "dock-scroll-y" : "dock-scroll-x" : null), c = O(() => e.alwaysExpanded || r.value === "grid");
484
502
  return {
485
503
  containerStyle: t,
486
504
  collapseDelay: n,
487
- startCollapsed: T(() => c.value ? !1 : e.startCollapsed ?? !0),
505
+ startCollapsed: O(() => c.value ? !1 : e.startCollapsed ?? !0),
488
506
  layoutValue: r,
489
507
  shape: i,
490
508
  orientation: a,
491
509
  density: o,
492
510
  scrollClass: s,
493
511
  alwaysExpanded: c,
494
- fitContent: T(() => e.fitContent ?? !1)
512
+ fitContent: O(() => e.fitContent ?? !1)
495
513
  };
496
514
  }
497
515
  //#endregion
498
516
  //#region src/components/custom/dock/composables/useDockMorphWindow.ts
499
- function Le(e) {
517
+ function Ge(e) {
500
518
  let t = e.trim();
501
519
  return t ? t.endsWith("ms") ? Number.parseFloat(t) : t.endsWith("s") ? Number.parseFloat(t) * 1e3 : Number.parseFloat(t) || 0 : 0;
502
520
  }
503
- function Re(e) {
504
- let t = getComputedStyle(e), n = t.transitionDuration.split(",").map(Le), r = t.transitionDelay.split(",").map(Le);
521
+ function Ke(e) {
522
+ let t = getComputedStyle(e), n = t.transitionDuration.split(",").map(Ge), r = t.transitionDelay.split(",").map(Ge);
505
523
  return Math.max(0, ...n.map((e, t) => e + (r[t] ?? r[0] ?? 0)));
506
524
  }
507
- function ze(e) {
508
- let t = Le(getComputedStyle(e).getPropertyValue("--duration-normal") || "0.3s");
525
+ function qe(e) {
526
+ let t = Ge(getComputedStyle(e).getPropertyValue("--duration-normal") || "0.3s");
509
527
  return Math.max(t > 0 ? t * 2 : 0, 600);
510
528
  }
511
- function Be(e, t) {
529
+ function Je(e, t) {
512
530
  let n = null, r = 0;
513
531
  function i() {
514
532
  n &&= (clearTimeout(n), null);
@@ -519,12 +537,12 @@ function Be(e, t) {
519
537
  let o = ++r;
520
538
  i(), t.value = !0, n = setTimeout(() => {
521
539
  o === r && (t.value = !1, n = null);
522
- }, Math.max(Re(a), ze(a)) + 50);
540
+ }, Math.max(Ke(a), qe(a)) + 50);
523
541
  }
524
542
  function o(n) {
525
543
  n.target === e.value && p.has(n.propertyName) && (i(), r++, t.value = !1);
526
544
  }
527
- return L(i), {
545
+ return ee(i), {
528
546
  markTransitioning: a,
529
547
  onDockTransitionDone: o,
530
548
  clearTransitionTimer: i
@@ -532,7 +550,7 @@ function Be(e, t) {
532
550
  }
533
551
  //#endregion
534
552
  //#region src/components/custom/dock/composables/useDockClickIntegrity.ts
535
- function Ve(e) {
553
+ function Ye(e) {
536
554
  let { rootEl: t, visualExpanded: n } = e, r = null, i = !1, a = 0, o = null;
537
555
  function s() {
538
556
  o !== null && (clearTimeout(o), o = null);
@@ -576,7 +594,7 @@ function Ve(e) {
576
594
  e.stopPropagation(), e.preventDefault(), r = null;
577
595
  }
578
596
  }
579
- return L(s), {
597
+ return ee(s), {
580
598
  onPointerDownCapture: f,
581
599
  onClickCapture: m,
582
600
  markExpandFlip: c
@@ -584,14 +602,18 @@ function Ve(e) {
584
602
  }
585
603
  //#endregion
586
604
  //#region src/components/custom/dock/GlassDock.vue?vue&type=script&setup=true&lang.ts
587
- var He = ["data-has-rail"], Ue = [
605
+ var Xe = ["data-has-rail"], Ze = [
588
606
  "data-density",
589
607
  "data-held",
608
+ "data-search",
590
609
  "data-container-name"
591
- ], We = {
610
+ ], Qe = {
592
611
  key: 0,
593
612
  class: "dock-persistent"
594
- }, Ge = ["inert"], Ke = ["inert"], qe = /* @__PURE__ */ j({
613
+ }, $e = ["inert"], et = ["inert"], tt = {
614
+ key: 0,
615
+ class: "dock-search-field"
616
+ }, nt = /* @__PURE__ */ P({
595
617
  inheritAttrs: !1,
596
618
  __name: "GlassDock",
597
619
  props: {
@@ -611,139 +633,132 @@ var He = ["data-has-rail"], Ue = [
611
633
  Function,
612
634
  String,
613
635
  null
614
- ] }
636
+ ] },
637
+ search: { type: Boolean }
615
638
  },
616
639
  setup(e, { expose: t }) {
617
- let n = e, { containerStyle: r, collapseDelay: i, startCollapsed: a, layoutValue: o, shape: l, orientation: u, density: d, scrollClass: f, alwaysExpanded: p, fitContent: m } = Ie(n), g = o, _ = q("dockEl"), v = q("layersEl");
618
- n.autoLuminance !== !1 && be(_, { backgroundCanvas: n.backgroundCanvas ?? null });
619
- let y = U(!1), b = c(i.value), x = `glass-dock-${ne()}`, { expanded: S, isPinned: C, isHeld: w, onMouseEnter: E, onMouseLeave: A, onFocusIn: j, onFocusOut: M, onClickCollapsed: P, keepOpen: I, release: L, expand: z, collapse: B } = Se({
640
+ let n = e, { containerStyle: r, collapseDelay: i, startCollapsed: a, layoutValue: o, shape: s, orientation: l, density: u, scrollClass: d, alwaysExpanded: f, fitContent: p } = We(n), m = o, g = J("dockEl"), _ = J("layersEl");
641
+ n.autoLuminance !== !1 && we(g, { backgroundCanvas: n.backgroundCanvas ?? null });
642
+ let v = W(!1), y = c(i.value), b = `glass-dock-${ae()}`, { expanded: x, isPinned: S, isHeld: C, onMouseEnter: w, onMouseLeave: T, onFocusIn: E, onFocusOut: D, onClickCollapsed: k, keepOpen: N, release: P, expand: F, collapse: L } = Ee({
620
643
  collapseDelay: i.value,
621
- rootEl: _,
622
- alwaysExpanded: p,
623
- isTransitioning: y,
624
- dockId: x
644
+ rootEl: g,
645
+ alwaysExpanded: f,
646
+ isTransitioning: v,
647
+ dockId: b
625
648
  });
626
649
  h({
627
- id: x,
628
- orientation: u,
629
- layout: g,
630
- keepOpen: I,
631
- release: L,
632
- held: w
650
+ id: b,
651
+ orientation: l,
652
+ layout: m,
653
+ keepOpen: N,
654
+ release: P,
655
+ held: C
633
656
  });
634
- let H = T(() => p.value || S.value), ee = ie(), G = T(() => !!ee.rail), te = q("frameEl");
635
- function re() {
636
- let e = te.value;
637
- if (!e || !G.value) return;
638
- let t = _.value?.querySelector("[data-rail-anchor]");
639
- if (!t) {
640
- e.style.removeProperty("--dock-rail-seam-offset");
641
- return;
642
- }
643
- let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), i = u.value === "vertical" ? r.top + r.height / 2 - n.top : r.left + r.width / 2 - n.left;
644
- e.style.setProperty("--dock-rail-seam-offset", `${Math.round(i)}px`);
645
- }
646
- s(_, () => re()), R(() => re()), J([u, G], () => re(), { flush: "post" });
647
- let { context: Y, onOuterTransitionEnd: X } = Fe({
648
- rootEl: _,
649
- outerEl: v,
650
- outerActiveLayer: T(() => H.value ? "full" : "summary"),
651
- outerAxis: T(() => u.value)
657
+ let z = O(() => f.value || x.value), ee = oe(), B = O(() => !!ee.rail), V = J("frameEl"), { context: U, onOuterTransitionEnd: ne } = Ue({
658
+ rootEl: g,
659
+ outerEl: _,
660
+ outerActiveLayer: O(() => z.value ? "full" : "summary"),
661
+ outerAxis: O(() => l.value)
652
662
  });
653
- Ne(Y);
654
- let Z = T(() => ({ "view-transition-name": x.replace(/[^a-zA-Z0-9_-]/g, "-") })), { markTransitioning: ae, onDockTransitionDone: Q } = Be(_, y), { onPointerDownCapture: oe, onClickCapture: se, markExpandFlip: ce } = Ve({
655
- rootEl: _,
656
- visualExpanded: H
663
+ Ve(U);
664
+ let re = O(() => ({ "view-transition-name": b.replace(/[^a-zA-Z0-9_-]/g, "-") })), { markTransitioning: ie, onDockTransitionDone: q } = Je(g, v), { onPointerDownCapture: X, onClickCapture: Z, markExpandFlip: se } = Ye({
665
+ rootEl: g,
666
+ visualExpanded: z
657
667
  });
658
- R(() => {
659
- (n.alwaysExpanded || !a.value) && z();
668
+ te(() => {
669
+ (n.alwaysExpanded || !a.value) && F();
660
670
  });
661
- function le() {
662
- return !p.value;
671
+ function ce() {
672
+ return !f.value;
663
673
  }
664
- function ue(e) {
665
- if (!le() || H.value) return;
666
- let t = _.value, n = e.touches[0];
667
- !t || !n || b.handleTouchStart(t, n.clientY);
674
+ function le(e) {
675
+ if (!ce() || z.value) return;
676
+ let t = g.value, n = e.touches[0];
677
+ !t || !n || y.handleTouchStart(t, n.clientY);
668
678
  }
669
- function de(e) {
670
- le() && b.handleScrollCheck(e);
679
+ function ue(e) {
680
+ ce() && y.handleScrollCheck(e);
671
681
  }
672
- function fe() {
673
- if (!le()) return;
674
- let e = b.isActive.value;
675
- b.handleTouchEnd(), !e && b.isActive.value && !H.value && z();
682
+ function de() {
683
+ if (!ce()) return;
684
+ let e = y.isActive.value;
685
+ y.handleTouchEnd(), !e && y.isActive.value && !z.value && F();
676
686
  }
677
- return J(b.isActive, (e) => {
678
- !e && S.value && !C.value && !p.value && B();
679
- }), J(H, (e) => {
680
- ae(), e ? ce() : b.deactivate();
687
+ return Y(y.isActive, (e) => {
688
+ !e && x.value && !S.value && !f.value && L();
689
+ }), Y(z, (e) => {
690
+ ie(), e ? se() : y.deactivate();
681
691
  }), t({
682
- expanded: S,
683
- isPinned: C,
684
- isHeld: w,
685
- isTransitioning: y,
686
- expand: z,
687
- collapse: B,
688
- keepOpen: I,
689
- release: L
690
- }), (t, n) => (V(), O("div", {
692
+ expanded: x,
693
+ isPinned: S,
694
+ isHeld: C,
695
+ isTransitioning: v,
696
+ expand: F,
697
+ collapse: L,
698
+ keepOpen: N,
699
+ release: P
700
+ }), (t, n) => (H(), j("div", {
691
701
  ref_key: "frameEl",
692
- ref: te,
693
- class: F(["glass-dock-frame", K(u)]),
694
- "data-has-rail": G.value || void 0
695
- }, [k("div", N({
702
+ ref: V,
703
+ class: R(["glass-dock-frame", K(l)]),
704
+ "data-has-rail": B.value || void 0
705
+ }, [M("div", I({
696
706
  ref_key: "dockEl",
697
- ref: _
707
+ ref: g
698
708
  }, t.$attrs, {
699
709
  class: ["glass-dock", [
700
- K(u),
701
- `shape-${K(l)}`,
702
- `layout-${K(g)}`,
703
- K(f),
710
+ K(l),
711
+ `shape-${K(s)}`,
712
+ `layout-${K(m)}`,
713
+ K(d),
704
714
  {
705
- expanded: H.value,
706
- collapsed: !H.value,
707
- pinned: K(C),
708
- "fit-content": K(m),
709
- "always-expanded": K(p),
710
- "dock-overflow-wrap": e.overflow === "wrap" && K(u) !== "vertical"
715
+ expanded: z.value,
716
+ collapsed: !z.value,
717
+ pinned: K(S),
718
+ "fit-content": K(p),
719
+ "always-expanded": K(f),
720
+ "dock-overflow-wrap": e.overflow === "wrap" && K(l) !== "vertical"
711
721
  },
712
722
  e.position === "fixed" ? "fixed bottom-(--dock-pos) left-1/2 -translate-x-1/2" : e.position === "sticky" ? "dock-sticky" : "dock-inline"
713
723
  ]],
714
- "data-density": K(d),
715
- "data-held": K(w) || void 0,
724
+ "data-density": K(u),
725
+ "data-held": K(C) || void 0,
726
+ "data-search": e.search || void 0,
716
727
  "data-container-name": e.containerName || void 0,
717
- style: [K(r), Z.value],
718
- onMouseenter: n[2] ||= (...e) => K(E) && K(E)(...e),
719
- onMouseleave: n[3] ||= (e) => K(A)(e),
720
- onFocusin: n[4] ||= (...e) => K(j) && K(j)(...e),
721
- onFocusout: n[5] ||= (...e) => K(M) && K(M)(...e),
722
- onTouchstart: ue,
723
- onTouchmove: de,
724
- onTouchend: fe,
725
- onPointerdownCapture: n[6] ||= (...e) => K(oe) && K(oe)(...e),
726
- onClickCapture: n[7] ||= (...e) => K(se) && K(se)(...e),
727
- onTransitionend: n[8] ||= (...e) => K(Q) && K(Q)(...e),
728
- onTransitioncancel: n[9] ||= (...e) => K(Q) && K(Q)(...e)
729
- }), [t.$slots.persistent ? (V(), O("div", We, [W(t.$slots, "persistent")])) : D("", !0), k("div", {
728
+ style: [K(r), re.value],
729
+ onMouseenter: n[2] ||= (...e) => K(w) && K(w)(...e),
730
+ onMouseleave: n[3] ||= (e) => K(T)(e),
731
+ onFocusin: n[4] ||= (...e) => K(E) && K(E)(...e),
732
+ onFocusout: n[5] ||= (...e) => K(D) && K(D)(...e),
733
+ onTouchstart: le,
734
+ onTouchmove: ue,
735
+ onTouchend: de,
736
+ onPointerdownCapture: n[6] ||= (...e) => K(X) && K(X)(...e),
737
+ onClickCapture: n[7] ||= (...e) => K(Z) && K(Z)(...e),
738
+ onTransitionend: n[8] ||= (...e) => K(q) && K(q)(...e),
739
+ onTransitioncancel: n[9] ||= (...e) => K(q) && K(q)(...e)
740
+ }), [t.$slots.persistent ? (H(), j("div", Qe, [G(t.$slots, "persistent")])) : A("", !0), M("div", {
730
741
  ref_key: "layersEl",
731
- ref: v,
742
+ ref: _,
732
743
  class: "dock-layers",
733
- onTransitionend: n[1] ||= (...e) => K(X) && K(X)(...e)
734
- }, [k("div", {
735
- class: F(["dock-layer dock-layer--full", { "is-active": H.value }]),
736
- inert: !K(S) || void 0
737
- }, [W(t.$slots, "default")], 10, Ge), k("div", {
738
- class: F(["dock-layer dock-layer--summary", { "is-active": !H.value }]),
739
- inert: K(S) || void 0,
740
- onClick: n[0] ||= (...e) => K(P) && K(P)(...e)
741
- }, [W(t.$slots, "collapsed")], 10, Ke)], 544)], 16, Ue), G.value ? (V(), O("div", {
744
+ onTransitionend: n[1] ||= (...e) => K(ne) && K(ne)(...e)
745
+ }, [
746
+ M("div", {
747
+ class: R(["dock-layer dock-layer--full", { "is-active": z.value }]),
748
+ inert: !z.value || void 0
749
+ }, [G(t.$slots, "default")], 10, $e),
750
+ M("div", {
751
+ class: R(["dock-layer dock-layer--summary", { "is-active": !z.value }]),
752
+ inert: z.value || void 0,
753
+ onClick: n[0] ||= (...e) => K(k) && K(k)(...e)
754
+ }, [G(t.$slots, "collapsed")], 10, et),
755
+ e.search ? (H(), j("div", tt, [G(t.$slots, "search")])) : A("", !0)
756
+ ], 544)], 16, Ze), B.value ? (H(), j("div", {
742
757
  key: 0,
743
- class: F(["dock-hairline-slot", K(u)])
744
- }, [W(t.$slots, "rail")], 2)) : D("", !0)], 10, He));
758
+ class: R(["dock-hairline-slot", K(l)])
759
+ }, [G(t.$slots, "rail")], 2)) : A("", !0)], 10, Xe));
745
760
  }
746
- }), Je = /* @__PURE__ */ j({
761
+ }), rt = /* @__PURE__ */ P({
747
762
  __name: "Tabs",
748
763
  props: {
749
764
  defaultValue: {},
@@ -757,13 +772,13 @@ var He = ["data-has-rail"], Ue = [
757
772
  },
758
773
  emits: ["update:modelValue"],
759
774
  setup(e, { emit: t }) {
760
- let n = fe(e, t);
761
- return (e, t) => (V(), E(K(le), N({ "data-slot": "tabs" }, K(n)), {
762
- default: Y(() => [W(e.$slots, "default")]),
775
+ let n = ge(e, t);
776
+ return (e, t) => (H(), k(K(pe), I({ "data-slot": "tabs" }, K(n)), {
777
+ default: X(() => [G(e.$slots, "default")]),
763
778
  _: 3
764
779
  }, 16));
765
780
  }
766
- }), Ye = /* @__PURE__ */ j({
781
+ }), it = /* @__PURE__ */ P({
767
782
  __name: "TabsTrigger",
768
783
  props: {
769
784
  value: {},
@@ -779,16 +794,16 @@ var He = ["data-has-rail"], Ue = [
779
794
  ] }
780
795
  },
781
796
  setup(t) {
782
- let n = t, r = de(T(() => {
797
+ let n = t, r = he(O(() => {
783
798
  let { class: e, ...t } = n;
784
799
  return t;
785
800
  }));
786
- return (t, i) => (V(), E(K(ue), N({ "data-slot": "tabs-trigger" }, K(r), { class: K(e)("tap-squish focus-ring relative z-[1] inline-flex items-center justify-center whitespace-nowrap rounded-control p-1 px-3 text-sm font-medium transition-control disabled:pointer-events-none disabled:opacity-disabled data-[state=active]:text-[var(--active-tab-color,var(--foreground))] hover:text-foreground/70", n.class) }), {
787
- default: Y(() => [W(t.$slots, "default")]),
801
+ return (t, i) => (H(), k(K(me), I({ "data-slot": "tabs-trigger" }, K(r), { class: K(e)("tap-squish focus-ring relative z-[1] inline-flex items-center justify-center whitespace-nowrap rounded-control p-1 px-3 text-sm font-medium transition-control disabled:pointer-events-none disabled:opacity-disabled data-[state=active]:text-[var(--active-tab-color,var(--foreground))] hover:text-foreground/70", n.class) }), {
802
+ default: X(() => [G(t.$slots, "default")]),
788
803
  _: 3
789
804
  }, 16, ["class"]));
790
805
  }
791
- }), Xe = /* @__PURE__ */ j({
806
+ }), at = /* @__PURE__ */ P({
792
807
  __name: "TabsIndicator",
793
808
  props: {
794
809
  asChild: { type: Boolean },
@@ -806,13 +821,13 @@ var He = ["data-has-rail"], Ue = [
806
821
  }
807
822
  },
808
823
  setup(t) {
809
- let n = t, r = T(() => {
824
+ let n = t, r = O(() => {
810
825
  let { class: e, surface: t, ...r } = n;
811
826
  return r;
812
827
  });
813
- return (t, i) => (V(), E(K(se), N({ "data-slot": "tabs-indicator" }, r.value, { class: K(e)("pointer-events-none absolute left-0 bottom-1 top-1 z-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) rounded-pill transition-[width,translate] duration-normal ease-spring-snappy", n.surface && "bg-(--glass-bg-quiet) [backdrop-filter:var(--glass-blur-quiet)]", n.class) }), null, 16, ["class"]));
828
+ return (t, i) => (H(), k(K(de), I({ "data-slot": "tabs-indicator" }, r.value, { class: K(e)("pointer-events-none absolute left-0 bottom-1 top-1 z-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) rounded-pill transition-[width,translate] duration-normal ease-spring-snappy", n.surface && "bg-(--glass-bg-quiet) [backdrop-filter:var(--glass-blur-quiet)]", n.class) }), null, 16, ["class"]));
814
829
  }
815
- }), Ze = /* @__PURE__ */ j({
830
+ }), ot = /* @__PURE__ */ P({
816
831
  __name: "TabsList",
817
832
  props: {
818
833
  loop: { type: Boolean },
@@ -831,25 +846,25 @@ var He = ["data-has-rail"], Ue = [
831
846
  }
832
847
  },
833
848
  setup(t) {
834
- let n = t, r = T(() => {
849
+ let n = t, r = O(() => {
835
850
  let { class: e, indicator: t, ...r } = n;
836
851
  return r;
837
852
  });
838
- return (i, a) => (V(), E(K(ce), N({ "data-slot": "tabs-list" }, r.value, { class: K(e)("relative inline-flex h-(--control-h-md) items-center justify-center rounded-input p-1 text-muted-foreground", n.class) }), {
839
- default: Y(() => [t.indicator ? (V(), E(Xe, { key: 0 })) : D("", !0), W(i.$slots, "default")]),
853
+ return (i, a) => (H(), k(K(fe), I({ "data-slot": "tabs-list" }, r.value, { class: K(e)("relative inline-flex h-(--control-h-md) items-center justify-center rounded-input p-1 text-muted-foreground", n.class) }), {
854
+ default: X(() => [t.indicator ? (H(), k(at, { key: 0 })) : A("", !0), G(i.$slots, "default")]),
840
855
  _: 3
841
856
  }, 16, ["class"]));
842
857
  }
843
- }), Qe = u(f, "[glass-ui:dock] <DockLayer> must be used inside <DockLayerGroup>"), { KEY: $e } = Qe;
844
- function et(e) {
845
- Qe.provide(e);
858
+ }), st = u(f, "[glass-ui:dock] <DockLayer> must be used inside <DockLayerGroup>"), { KEY: ct } = st;
859
+ function lt(e) {
860
+ st.provide(e);
846
861
  }
847
- var tt = Qe.use;
848
- Qe.useOptional;
862
+ var ut = st.use;
863
+ st.useOptional;
849
864
  //#endregion
850
865
  //#region src/components/custom/dock/composables/useLayerTransition.ts
851
- function nt(e) {
852
- let { containerEl: t, activeLayer: n, axis: r } = e, i = T(() => r?.value === "vertical" ? "height" : "width"), a = T(() => i.value === "width" ? "inline-size" : "block-size"), o = (e) => e.getBoundingClientRect()[i.value], s = U(n.value), c = U(null), l = 0, u = U(!1), d = [];
866
+ function dt(e) {
867
+ let { containerEl: t, activeLayer: n, axis: r } = e, i = O(() => r?.value === "vertical" ? "height" : "width"), a = O(() => i.value === "width" ? "inline-size" : "block-size"), o = (e) => e.getBoundingClientRect()[i.value], s = W(n.value), c = W(null), l = 0, u = W(!1), d = [];
853
868
  function f() {
854
869
  if (d.length === 0) return;
855
870
  let e = d.splice(0, d.length);
@@ -892,7 +907,7 @@ function nt(e) {
892
907
  S(e, t);
893
908
  return;
894
909
  }
895
- e.style.setProperty("--dock-morph-from", `${r}px`), e.style.setProperty("--dock-morph-to", `${i}px`), t.style.setProperty("--dock-morph-t", "0"), t.setAttribute("data-morphing", ""), u.value = !0, o || (h(), p = new pe({
910
+ e.style.setProperty("--dock-morph-from", `${r}px`), e.style.setProperty("--dock-morph-to", `${i}px`), t.style.setProperty("--dock-morph-t", "0"), t.setAttribute("data-morphing", ""), u.value = !0, o || (h(), p = new _e({
896
911
  response: v.response,
897
912
  dampingFraction: v.dampingFraction,
898
913
  initial: 0,
@@ -903,7 +918,7 @@ function nt(e) {
903
918
  n === l && (t.style.setProperty("--dock-morph-t", `${r}`), s.settled && S(e, t));
904
919
  });
905
920
  }
906
- J(n, (e, n) => {
921
+ Y(n, (e, n) => {
907
922
  if (e === n) return;
908
923
  let r = t.value;
909
924
  if (!r) {
@@ -912,7 +927,7 @@ function nt(e) {
912
927
  }
913
928
  let i = g(r), d = ++l, f = p !== null && m === r && !p.settled ? p : null, h = f ? f.velocity : 0, _ = o(r);
914
929
  if (c.value = n, s.value = e, r.style.setProperty("--dock-morph-from", `${_}px`), r.style.setProperty("--dock-morph-to", `${_}px`), i.style.setProperty("--dock-morph-t", "0"), i.setAttribute("data-morphing", ""), u.value = !0, b()) {
915
- P(() => x(r, i, d));
930
+ L(() => x(r, i, d));
916
931
  return;
917
932
  }
918
933
  requestAnimationFrame(() => {
@@ -929,7 +944,7 @@ function nt(e) {
929
944
  let n = t.value;
930
945
  n && e.target === n && (e.propertyName !== a.value && e.propertyName !== i.value || p && p.settled && S(n, g(n)));
931
946
  }
932
- return B(() => {
947
+ return V(() => {
933
948
  h(), d.length = 0;
934
949
  }), {
935
950
  onTransitionEnd: w,
@@ -941,9 +956,9 @@ function nt(e) {
941
956
  }
942
957
  //#endregion
943
958
  //#region src/components/custom/dock/DockLayerGroup.vue?vue&type=script&setup=true&lang.ts
944
- var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
959
+ var ft = { key: 1 }, pt = { key: 2 }, mt = /* @__PURE__ */ P({
945
960
  __name: "DockLayerGroup",
946
- props: /* @__PURE__ */ M({
961
+ props: /* @__PURE__ */ F({
947
962
  orientation: {},
948
963
  showRail: {
949
964
  type: Boolean,
@@ -960,14 +975,14 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
960
975
  }),
961
976
  emits: ["update:active"],
962
977
  setup(e) {
963
- let t = e, n = re(e, "active"), r = m(), i = U([]), a = q("containerEl"), o = q("groupEl");
978
+ let t = e, n = q(e, "active"), r = m(), i = W([]), a = J("containerEl"), o = J("groupEl");
964
979
  function c(e) {
965
980
  i.value.find((t) => t.id === e.id) || i.value.push(e), d();
966
981
  }
967
982
  function l(e) {
968
983
  i.value = i.value.filter((t) => t.id !== e), d();
969
984
  }
970
- let u = U(0);
985
+ let u = W(0);
971
986
  function d() {
972
987
  let e = a.value, t = o.value;
973
988
  if (!e || !t) return;
@@ -978,17 +993,17 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
978
993
  }
979
994
  n > u.value && (u.value = n);
980
995
  }
981
- let f = T(() => u.value > 0 ? {
996
+ let f = O(() => u.value > 0 ? {
982
997
  "min-block-size": `${u.value}px`,
983
998
  "--dock-layer-peak-block-size": `${u.value}px`
984
999
  } : void 0);
985
- s(a, () => d()), J(() => i.value.length, () => d());
986
- let p = T(() => t.orientation ?? r?.orientation.value ?? "horizontal"), h = T(() => p.value === "vertical" ? "horizontal" : "vertical"), g = q("railListEl"), _ = U(null);
1000
+ s(a, () => d()), Y(() => i.value.length, () => d());
1001
+ let p = O(() => t.orientation ?? r?.orientation.value ?? "horizontal"), h = O(() => p.value === "vertical" ? "horizontal" : "vertical"), g = J("railListEl"), _ = W(null);
987
1002
  function v() {
988
1003
  let e = g.value;
989
1004
  _.value = e ? e.$el ?? e : null;
990
1005
  }
991
- let y = T(() => h.value === "vertical" ? "y" : "x");
1006
+ let y = O(() => h.value === "vertical" ? "y" : "x");
992
1007
  function b() {
993
1008
  let e = _.value;
994
1009
  if (!e) return [];
@@ -1009,25 +1024,25 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1009
1024
  t.draggable && n.value !== e && (n.value = e);
1010
1025
  }
1011
1026
  });
1012
- J(() => [
1027
+ Y(() => [
1013
1028
  i.value.length,
1014
1029
  h.value,
1015
1030
  t.draggable
1016
1031
  ], () => {
1017
- v(), t.draggable && P(() => x.refresh());
1018
- }), R(() => {
1019
- v(), t.draggable && P(() => x.refresh());
1032
+ v(), t.draggable && L(() => x.refresh());
1033
+ }), te(() => {
1034
+ v(), t.draggable && L(() => x.refresh());
1020
1035
  });
1021
- let C = Pe(), j, M, N;
1036
+ let C = He(), w, T, E;
1022
1037
  if (C) {
1023
1038
  let e = C.registerGroup({
1024
1039
  containerEl: a,
1025
1040
  activeLayer: n,
1026
1041
  axis: p
1027
1042
  });
1028
- j = e.currentLayer, M = e.leavingLayer, N = () => {}, L(() => e.release());
1043
+ w = e.currentLayer, T = e.leavingLayer, E = () => {}, ee(() => e.release());
1029
1044
  } else {
1030
- let e = nt({
1045
+ let e = dt({
1031
1046
  containerEl: a,
1032
1047
  activeLayer: n,
1033
1048
  axis: p,
@@ -1036,90 +1051,90 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1036
1051
  return [i.value.findIndex((e) => e.id === t) < n ? "layer-back" : "layer-forward"];
1037
1052
  }
1038
1053
  });
1039
- j = H(e.currentLayer), M = H(e.leavingLayer), N = e.onTransitionEnd;
1054
+ w = U(e.currentLayer), T = U(e.leavingLayer), E = e.onTransitionEnd;
1040
1055
  }
1041
- let z = typeof document < "u" && "startViewTransition" in document, B = ne(), ie = T(() => z ? {
1042
- "view-transition-name": `gl-dock-stack-${B.replace(/[^a-zA-Z0-9_-]/g, "-")}`,
1056
+ let P = typeof document < "u" && "startViewTransition" in document, F = ae(), I = O(() => P ? {
1057
+ "view-transition-name": `gl-dock-stack-${F.replace(/[^a-zA-Z0-9_-]/g, "-")}`,
1043
1058
  "view-transition-class": "gl-dock-layer"
1044
1059
  } : void 0);
1045
- et({
1060
+ lt({
1046
1061
  register: c,
1047
1062
  unregister: l,
1048
- currentLayerId: j,
1049
- leavingLayerId: M
1063
+ currentLayerId: w,
1064
+ leavingLayerId: T
1050
1065
  });
1051
- function X(e) {
1066
+ function B(e) {
1052
1067
  return typeof e == "object" && !!e || typeof e == "function";
1053
1068
  }
1054
- let Z = U(!1);
1055
- function ae() {
1056
- Z.value || (Z.value = !0, r?.keepOpen());
1069
+ let V = W(!1);
1070
+ function oe() {
1071
+ V.value || (V.value = !0, r?.keepOpen());
1057
1072
  }
1058
- function Q(e) {
1073
+ function Z(e) {
1059
1074
  let t = e.relatedTarget, n = e.currentTarget;
1060
- t && n?.contains(t) || Z.value && (Z.value = !1, r?.release());
1075
+ t && n?.contains(t) || V.value && (V.value = !1, r?.release());
1061
1076
  }
1062
- return (r, s) => (V(), O("div", {
1077
+ return (r, s) => (H(), j("div", {
1063
1078
  ref_key: "groupEl",
1064
1079
  ref: o,
1065
- class: F(["dock-layer-group", [p.value, `rail-${e.railPosition}`]]),
1066
- style: I(f.value)
1067
- }, [e.showRail && i.value.length > 1 ? (V(), E(K(Je), {
1080
+ class: R(["dock-layer-group", [p.value, `rail-${e.railPosition}`]]),
1081
+ style: z(f.value)
1082
+ }, [e.showRail && i.value.length > 1 ? (H(), k(K(rt), {
1068
1083
  key: 0,
1069
1084
  modelValue: n.value,
1070
1085
  "onUpdate:modelValue": s[0] ||= (e) => n.value = e,
1071
1086
  orientation: h.value,
1072
1087
  "as-child": !0
1073
1088
  }, {
1074
- default: Y(() => [A(K(Ze), {
1089
+ default: X(() => [N(K(ot), {
1075
1090
  ref_key: "railListEl",
1076
1091
  ref: g,
1077
- class: F(["dock-layer-rail", [
1092
+ class: R(["dock-layer-rail", [
1078
1093
  e.railPosition,
1079
1094
  t.draggable && "glass-drag-grabbable",
1080
1095
  t.draggable && K(x).dragging.value && "glass-drag-lift"
1081
1096
  ]]),
1082
- style: I(t.draggable ? K(x).dragStyle.value : void 0),
1097
+ style: z(t.draggable ? K(x).dragStyle.value : void 0),
1083
1098
  indicator: !1,
1084
- onFocusin: ae,
1085
- onFocusout: Q
1099
+ onFocusin: oe,
1100
+ onFocusout: Z
1086
1101
  }, {
1087
- default: Y(() => [(V(!0), O(w, null, ee(i.value, (e) => (V(), E(K(Ye), {
1102
+ default: X(() => [(H(!0), j(D, null, ne(i.value, (e) => (H(), k(K(it), {
1088
1103
  key: e.id,
1089
1104
  value: e.id,
1090
1105
  class: "dock-layer-tab",
1091
1106
  title: e.label,
1092
1107
  "aria-label": e.label ?? e.id
1093
1108
  }, {
1094
- default: Y(() => [X(e.icon) ? (V(), E(G(e.icon), {
1109
+ default: X(() => [B(e.icon) ? (H(), k(re(e.icon), {
1095
1110
  key: 0,
1096
1111
  class: "size-4"
1097
- })) : typeof e.icon == "string" ? (V(), O("span", rt, te(e.icon), 1)) : (V(), O("span", it, te((e.label ?? e.id).charAt(0)), 1))]),
1112
+ })) : typeof e.icon == "string" ? (H(), j("span", ft, ie(e.icon), 1)) : (H(), j("span", pt, ie((e.label ?? e.id).charAt(0)), 1))]),
1098
1113
  _: 2
1099
1114
  }, 1032, [
1100
1115
  "value",
1101
1116
  "title",
1102
1117
  "aria-label"
1103
- ]))), 128)), A(K(Xe), {
1118
+ ]))), 128)), N(K(at), {
1104
1119
  class: "dock-layer-tab-indicator",
1105
1120
  surface: !1
1106
1121
  })]),
1107
1122
  _: 1
1108
1123
  }, 8, ["class", "style"])]),
1109
1124
  _: 1
1110
- }, 8, ["modelValue", "orientation"])) : D("", !0), k("div", {
1125
+ }, 8, ["modelValue", "orientation"])) : A("", !0), M("div", {
1111
1126
  ref_key: "containerEl",
1112
1127
  ref: a,
1113
1128
  class: "dock-layer-stack",
1114
- style: I(ie.value),
1115
- onTransitionend: s[1] ||= (...e) => K(N) && K(N)(...e)
1116
- }, [W(r.$slots, "default")], 36)], 6));
1129
+ style: z(I.value),
1130
+ onTransitionend: s[1] ||= (...e) => K(E) && K(E)(...e)
1131
+ }, [G(r.$slots, "default")], 36)], 6));
1117
1132
  }
1118
- }), ot = [
1133
+ }), ht = [
1119
1134
  "inert",
1120
1135
  "aria-hidden",
1121
1136
  "tabindex"
1122
- ], st = /* @__PURE__ */ j({
1137
+ ], gt = /* @__PURE__ */ P({
1123
1138
  __name: "DockLayer",
1124
1139
  props: {
1125
1140
  id: {},
@@ -1127,41 +1142,45 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1127
1142
  icon: {}
1128
1143
  },
1129
1144
  setup(e) {
1130
- let t = e, n = tt();
1131
- R(() => {
1145
+ let t = e, n = ut();
1146
+ te(() => {
1132
1147
  n.register({
1133
1148
  id: t.id,
1134
1149
  label: t.label,
1135
1150
  icon: t.icon
1136
1151
  });
1137
- }), L(() => {
1152
+ }), ee(() => {
1138
1153
  n.unregister(t.id);
1139
1154
  });
1140
- let r = T(() => n.currentLayerId.value === t.id), i = T(() => n.leavingLayerId.value === t.id), a = q("hostEl");
1141
- return J(r, async (e, t) => {
1155
+ let r = O(() => n.currentLayerId.value === t.id), i = O(() => n.leavingLayerId.value === t.id), a = J("hostEl");
1156
+ return Y(r, async (e, t) => {
1142
1157
  !e || t || typeof document < "u" && (() => {
1143
1158
  let e = document.activeElement;
1144
1159
  return !e || e === document.body ? !0 : !!e.closest("[inert]");
1145
- })() && (await P(), a.value?.focus());
1146
- }), (e, t) => (V(), O("div", {
1160
+ })() && (await L(), a.value?.focus());
1161
+ }), (e, t) => (H(), j("div", {
1147
1162
  ref_key: "hostEl",
1148
1163
  ref: a,
1149
- class: F(["dock-layer-item-host", {
1164
+ class: R(["dock-layer-item-host", {
1150
1165
  "is-active": r.value,
1151
1166
  "is-leaving": i.value
1152
1167
  }]),
1153
1168
  inert: r.value ? void 0 : !0,
1154
1169
  "aria-hidden": r.value ? void 0 : !0,
1155
1170
  tabindex: r.value ? -1 : void 0
1156
- }, [W(e.$slots, "default")], 10, ot));
1171
+ }, [G(e.$slots, "default")], 10, ht));
1157
1172
  }
1158
- }), ct = /* @__PURE__ */ j({
1173
+ }), _t = /* @__PURE__ */ P({
1159
1174
  __name: "DockIconButton",
1160
1175
  props: {
1161
1176
  compact: {
1162
1177
  type: Boolean,
1163
1178
  default: !1
1164
1179
  },
1180
+ active: {
1181
+ type: Boolean,
1182
+ default: !1
1183
+ },
1165
1184
  type: { default: "button" },
1166
1185
  as: { default: "button" },
1167
1186
  asChild: {
@@ -1177,12 +1196,18 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1177
1196
  ] }
1178
1197
  },
1179
1198
  setup(t) {
1180
- let n = t, r = T(() => e("dock-icon-button glass-specular-track", { "dock-icon-button--compact": n.compact }, n.class)), i = T(() => !n.asChild && n.as === "button" ? { type: n.type } : {});
1181
- return (e, n) => X((V(), E(K(ae), N({
1199
+ let n = t, r = O(() => e("dock-icon-button glass-specular-track", { "dock-icon-button--compact": n.compact }, n.class)), i = O(() => n.active ? {
1200
+ "aria-pressed": "true",
1201
+ "data-active": ""
1202
+ } : {}), a = O(() => !n.asChild && n.as === "button" ? { type: n.type } : {});
1203
+ return (e, n) => Z((H(), k(K(ce), I({
1182
1204
  as: t.as,
1183
1205
  "as-child": t.asChild
1184
- }, i.value, { class: r.value }), {
1185
- default: Y(() => [W(e.$slots, "default")]),
1206
+ }, {
1207
+ ...a.value,
1208
+ ...i.value
1209
+ }, { class: r.value }), {
1210
+ default: X(() => [G(e.$slots, "default")]),
1186
1211
  _: 3
1187
1212
  }, 16, [
1188
1213
  "as",
@@ -1190,7 +1215,7 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1190
1215
  "class"
1191
1216
  ])), [[K(o)]]);
1192
1217
  }
1193
- }), lt = /* @__PURE__ */ j({
1218
+ }), vt = /* @__PURE__ */ P({
1194
1219
  __name: "DockBackgroundToggle",
1195
1220
  props: {
1196
1221
  paused: {
@@ -1202,22 +1227,22 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1202
1227
  },
1203
1228
  emits: ["update:paused"],
1204
1229
  setup(e, { emit: n }) {
1205
- let i = e, a = n, o = T(() => i.paused ? i.playLabel : i.pauseLabel);
1230
+ let i = e, a = n, o = O(() => i.paused ? i.playLabel : i.pauseLabel);
1206
1231
  function s() {
1207
1232
  a("update:paused", !i.paused);
1208
1233
  }
1209
- return (n, i) => (V(), E(ct, {
1234
+ return (n, i) => (H(), k(_t, {
1210
1235
  type: "button",
1211
1236
  "aria-pressed": e.paused,
1212
1237
  "aria-label": o.value,
1213
1238
  title: o.value,
1214
1239
  onClick: s
1215
1240
  }, {
1216
- default: Y(() => [e.paused ? (V(), E(K(t), {
1241
+ default: X(() => [e.paused ? (H(), k(K(t), {
1217
1242
  key: 0,
1218
1243
  size: 18,
1219
1244
  "aria-hidden": "true"
1220
- })) : (V(), E(K(r), {
1245
+ })) : (H(), k(K(r), {
1221
1246
  key: 1,
1222
1247
  size: 18,
1223
1248
  "aria-hidden": "true"
@@ -1229,7 +1254,7 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1229
1254
  "title"
1230
1255
  ]));
1231
1256
  }
1232
- }), ut = /* @__PURE__ */ j({
1257
+ }), yt = /* @__PURE__ */ P({
1233
1258
  __name: "DockTabButton",
1234
1259
  props: {
1235
1260
  as: { default: "button" },
@@ -1246,13 +1271,13 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1246
1271
  ] }
1247
1272
  },
1248
1273
  setup(t) {
1249
- let n = t, r = T(() => e("dock-tab-button", n.class));
1250
- return (e, n) => X((V(), E(K(ae), {
1274
+ let n = t, r = O(() => e("dock-tab-button", n.class));
1275
+ return (e, n) => Z((H(), k(K(ce), {
1251
1276
  as: t.as,
1252
1277
  "as-child": t.asChild,
1253
- class: F(r.value)
1278
+ class: R(r.value)
1254
1279
  }, {
1255
- default: Y(() => [W(e.$slots, "default")]),
1280
+ default: X(() => [G(e.$slots, "default")]),
1256
1281
  _: 3
1257
1282
  }, 8, [
1258
1283
  "as",
@@ -1260,7 +1285,7 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1260
1285
  "class"
1261
1286
  ])), [[K(o)]]);
1262
1287
  }
1263
- }), dt = /* @__PURE__ */ j({
1288
+ }), bt = /* @__PURE__ */ P({
1264
1289
  __name: "DockSelectTrigger",
1265
1290
  props: {
1266
1291
  disabled: { type: Boolean },
@@ -1276,19 +1301,19 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1276
1301
  ] }
1277
1302
  },
1278
1303
  setup(t) {
1279
- let r = t, i = de(T(() => {
1280
- let { class: e, ...t } = r;
1304
+ let n = t, r = he(O(() => {
1305
+ let { class: e, ...t } = n;
1281
1306
  return t;
1282
1307
  }));
1283
- return (t, a) => X((V(), E(K(oe), N(K(i), { class: K(e)("dock-select-trigger", r.class) }), {
1284
- default: Y(() => [W(t.$slots, "default"), A(K(Q), { "as-child": "" }, {
1285
- default: Y(() => [W(t.$slots, "icon", {}, () => [A(K(n), { class: "dock-select-trigger__chevron" })])]),
1308
+ return (t, a) => Z((H(), k(K(ue), I(K(r), { class: K(e)("dock-select-trigger", n.class) }), {
1309
+ default: X(() => [G(t.$slots, "default"), N(K(le), { "as-child": "" }, {
1310
+ default: X(() => [G(t.$slots, "icon", {}, () => [N(K(i), { class: "dock-select-trigger__chevron" })])]),
1286
1311
  _: 3
1287
1312
  })]),
1288
1313
  _: 3
1289
1314
  }, 16, ["class"])), [[K(o)]]);
1290
1315
  }
1291
- }), ft = /* @__PURE__ */ j({
1316
+ }), xt = /* @__PURE__ */ P({
1292
1317
  __name: "DockDropdownTrigger",
1293
1318
  props: {
1294
1319
  disabled: { type: Boolean },
@@ -1304,97 +1329,145 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1304
1329
  ] }
1305
1330
  },
1306
1331
  setup(t) {
1307
- let n = t, r = de(T(() => {
1332
+ let n = t, r = he(O(() => {
1308
1333
  let { class: e, ...t } = n;
1309
1334
  return t;
1310
1335
  }));
1311
- return (t, i) => X((V(), E(K(Z), N(K(r), { class: K(e)("dock-dropdown-trigger", n.class) }), {
1312
- default: Y(() => [W(t.$slots, "default")]),
1336
+ return (t, i) => Z((H(), k(K(se), I(K(r), { class: K(e)("dock-dropdown-trigger", n.class) }), {
1337
+ default: X(() => [G(t.$slots, "default")]),
1313
1338
  _: 3
1314
1339
  }, 16, ["class"])), [[K(o)]]);
1315
1340
  }
1316
- }), pt = [
1341
+ }), St = [
1317
1342
  "data-orientation",
1318
1343
  "data-rail-anchor",
1319
1344
  "aria-orientation"
1320
- ], mt = /* @__PURE__ */ j({
1345
+ ], Ct = /* @__PURE__ */ P({
1321
1346
  __name: "DockSeparator",
1322
1347
  props: { anchor: {
1323
1348
  type: Boolean,
1324
1349
  default: !1
1325
1350
  } },
1326
1351
  setup(e) {
1327
- let t = m(), n = T(() => t?.orientation.value ?? "horizontal"), r = T(() => n.value), i = T(() => n.value === "vertical" ? "horizontal" : "vertical");
1328
- return (t, n) => (V(), O("div", {
1329
- class: F(["dock-separator", { "dock-separator--anchor": e.anchor }]),
1352
+ let t = m(), n = O(() => t?.orientation.value ?? "horizontal"), r = O(() => n.value), i = O(() => n.value === "vertical" ? "horizontal" : "vertical");
1353
+ return (t, n) => (H(), j("div", {
1354
+ class: R(["dock-separator", { "dock-separator--anchor": e.anchor }]),
1330
1355
  role: "separator",
1331
1356
  "data-orientation": r.value,
1332
1357
  "data-rail-anchor": e.anchor || void 0,
1333
1358
  "aria-orientation": i.value
1334
- }, null, 10, pt));
1359
+ }, null, 10, St));
1335
1360
  }
1336
- }), ht = ["data-orientation", "aria-label"], gt = ["aria-label"], _t = { class: "dock-hairline-extend-chip-label" }, vt = /* @__PURE__ */ j({
1337
- __name: "DockRail",
1338
- props: /* @__PURE__ */ M({
1339
- extent: { default: "beyond" },
1340
- position: { default: "end" },
1361
+ }), wt = ["data-orientation"], Tt = /* @__PURE__ */ P({
1362
+ __name: "DockStack",
1363
+ props: /* @__PURE__ */ F({
1341
1364
  items: {},
1342
- icon: {},
1343
- iconLabel: { default: "Switch dock context" }
1365
+ core: {},
1366
+ coreLabel: { default: "Open stack" },
1367
+ visibleCount: { default: 3 },
1368
+ position: { default: "end" }
1344
1369
  }, {
1345
- context: {},
1346
- contextModifiers: {}
1370
+ selected: {},
1371
+ selectedModifiers: {},
1372
+ expanded: {
1373
+ type: Boolean,
1374
+ default: !1
1375
+ },
1376
+ expandedModifiers: {}
1347
1377
  }),
1348
- emits: /* @__PURE__ */ M(["advance"], ["update:context"]),
1378
+ emits: /* @__PURE__ */ F(["select"], ["update:selected", "update:expanded"]),
1349
1379
  setup(e, { emit: t }) {
1350
- let n = e, r = re(e, "context"), a = t, o = m(), s = T(() => o?.orientation.value ?? "horizontal"), c = T(() => n.icon ?? i), l = T(() => n.items && n.items.length > 0 ? [...n.items] : []);
1351
- function u(e) {
1352
- r.value = e, a("advance", e);
1380
+ let r = e, i = t, a = q(e, "selected"), o = q(e, "expanded"), s = m(), c = O(() => s?.orientation.value ?? "vertical"), l = O(() => r.core ?? n), u = O(() => [...r.items]), d = O(() => u.value.length > r.visibleCount), f = O(() => Math.min(u.value.length, r.visibleCount)), p = null;
1381
+ function h() {
1382
+ p != null && (clearTimeout(p), p = null);
1383
+ }
1384
+ function g() {
1385
+ h(), p = setTimeout(() => {
1386
+ o.value = !0, p = null;
1387
+ }, 60);
1353
1388
  }
1354
- return (t, n) => (V(), O("div", {
1355
- class: F(["dock-hairline-extend", [
1356
- s.value,
1357
- `extent-${e.extent}`,
1358
- `at-${e.position}`
1389
+ function _() {
1390
+ h(), o.value = !1;
1391
+ }
1392
+ function v() {
1393
+ h(), o.value = !0;
1394
+ }
1395
+ function y(e) {
1396
+ let t = e.relatedTarget, n = e.currentTarget;
1397
+ n && t && n.contains(t) || (o.value = !1);
1398
+ }
1399
+ ee(h);
1400
+ function x(e) {
1401
+ a.value = e.id, e.onSelect?.(), i("select", e.id);
1402
+ }
1403
+ return (t, n) => (H(), j("div", {
1404
+ class: R(["dock-stack", [
1405
+ c.value,
1406
+ `at-${e.position}`,
1407
+ { "is-expanded": o.value }
1359
1408
  ]]),
1360
- "data-orientation": s.value,
1361
- role: "group",
1362
- "aria-label": e.iconLabel
1363
- }, [A(b, {
1364
- axis: "x",
1365
- class: "dock-hairline-fade"
1409
+ "data-orientation": c.value,
1410
+ onPointerenter: g,
1411
+ onPointerleave: _,
1412
+ onFocusin: v,
1413
+ onFocusout: y
1414
+ }, [N(_t, {
1415
+ type: "button",
1416
+ class: "dock-stack-core",
1417
+ "aria-label": e.coreLabel,
1418
+ "aria-expanded": o.value,
1419
+ title: e.coreLabel
1420
+ }, {
1421
+ default: X(() => [(H(), k(re(l.value), {
1422
+ class: "size-4",
1423
+ "aria-hidden": "true"
1424
+ }))]),
1425
+ _: 1
1426
+ }, 8, [
1427
+ "aria-label",
1428
+ "aria-expanded",
1429
+ "title"
1430
+ ]), N(b, {
1431
+ axis: c.value === "vertical" ? "x" : "y",
1432
+ class: "dock-stack-fan",
1433
+ style: z({ "--dock-stack-visible": f.value }),
1434
+ "data-scrolls": d.value || void 0
1366
1435
  }, {
1367
- default: Y(() => [k("div", {
1368
- class: "dock-hairline-strip",
1369
- role: "tablist",
1370
- "aria-label": e.iconLabel
1371
- }, [(V(!0), O(w, null, ee(l.value, (e) => (V(), E(ct, {
1436
+ default: X(() => [(H(!0), j(D, null, ne(u.value, (e, t) => (H(), k(_t, {
1372
1437
  key: e.id,
1373
1438
  type: "button",
1374
- class: F(["dock-hairline-extend-chip", { "is-active": r.value === e.id }]),
1375
- role: "tab",
1376
- "aria-selected": r.value === e.id,
1439
+ class: R(["dock-stack-member", { "is-active": a.value === e.id }]),
1440
+ style: z({ "--i": t }),
1377
1441
  "aria-label": e.label,
1442
+ "aria-pressed": a.value === e.id,
1378
1443
  title: e.label,
1379
- onClick: (t) => u(e.id)
1444
+ onClick: (t) => x(e)
1380
1445
  }, {
1381
- default: Y(() => [(V(), E(G(e.icon ?? c.value), { class: "size-4" })), k("span", _t, te(e.label), 1)]),
1446
+ default: X(() => [(H(), k(re(e.icon ?? l.value), {
1447
+ class: "size-4",
1448
+ "aria-hidden": "true"
1449
+ }))]),
1382
1450
  _: 2
1383
1451
  }, 1032, [
1384
1452
  "class",
1385
- "aria-selected",
1453
+ "style",
1386
1454
  "aria-label",
1455
+ "aria-pressed",
1387
1456
  "title",
1388
1457
  "onClick"
1389
- ]))), 128))], 8, gt)]),
1458
+ ]))), 128))]),
1390
1459
  _: 1
1391
- })], 10, ht));
1460
+ }, 8, [
1461
+ "axis",
1462
+ "style",
1463
+ "data-scrolls"
1464
+ ])], 42, wt));
1392
1465
  }
1393
- }), yt = ["aria-label"], bt = [
1466
+ }), Et = ["aria-label"], Dt = [
1394
1467
  "data-kind",
1395
1468
  "data-section-id",
1396
1469
  "aria-label"
1397
- ], xt = /* @__PURE__ */ j({
1470
+ ], Ot = /* @__PURE__ */ P({
1398
1471
  __name: "DockSection",
1399
1472
  props: {
1400
1473
  sections: {},
@@ -1402,7 +1475,7 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1402
1475
  ariaLabel: { default: "Dock sections" }
1403
1476
  },
1404
1477
  setup(e) {
1405
- let t = e, n = T(() => {
1478
+ let t = e, n = O(() => {
1406
1479
  if (t.anchorId) return t.anchorId;
1407
1480
  let e = t.sections.find((e) => e.kind === "nav");
1408
1481
  return e ? e.id : t.sections.find((e) => e.kind !== "rail-core")?.id;
@@ -1416,106 +1489,177 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1416
1489
  function a(e) {
1417
1490
  return `dock-section-zone--${e === "rail-core" ? "core" : e}`;
1418
1491
  }
1419
- return (t, n) => (V(), O("div", {
1492
+ return (t, n) => (H(), j("div", {
1420
1493
  class: "dock-section",
1421
1494
  role: "group",
1422
1495
  "aria-label": e.ariaLabel
1423
- }, [(V(!0), O(w, null, ee(e.sections, (e, n) => (V(), O(w, { key: e.id }, [r(n) ? (V(), E(mt, {
1496
+ }, [(H(!0), j(D, null, ne(e.sections, (e, n) => (H(), j(D, { key: e.id }, [r(n) ? (H(), k(Ct, {
1424
1497
  key: 0,
1425
1498
  anchor: i(e)
1426
- }, null, 8, ["anchor"])) : D("", !0), k("div", {
1427
- class: F(["dock-section-zone", a(e.kind)]),
1499
+ }, null, 8, ["anchor"])) : A("", !0), M("div", {
1500
+ class: R(["dock-section-zone", a(e.kind)]),
1428
1501
  "data-kind": e.kind,
1429
1502
  "data-section-id": e.id,
1430
1503
  "aria-label": e.label || void 0
1431
- }, [W(t.$slots, e.id, {
1504
+ }, [G(t.$slots, e.id, {
1432
1505
  section: e,
1433
1506
  kind: e.kind
1434
- })], 10, bt)], 64))), 128))], 8, yt));
1507
+ })], 10, Dt)], 64))), 128))], 8, Et));
1435
1508
  }
1436
1509
  });
1437
1510
  //#endregion
1511
+ //#region src/components/custom/dock/composables/useDockSearch.ts
1512
+ function kt(e) {
1513
+ let { dockState: t } = e, n = e.debounceMs ?? 120, r = e.maxResults ?? 30, i = W([]), a = null, o = e.items ? e.items : () => i.value;
1514
+ function s(t) {
1515
+ let n = t.item.id;
1516
+ e.ensureTargetWindow?.(n), e.scrollTo?.(n), e.onResultSelect?.(t);
1517
+ }
1518
+ let c = E({
1519
+ items: o,
1520
+ debounceMs: n,
1521
+ maxResults: r,
1522
+ onSelect: s
1523
+ });
1524
+ if (e.onSearch) {
1525
+ let t = e.onSearch;
1526
+ Y(() => c.query.value, (e) => {
1527
+ if (a?.abort(), !e) {
1528
+ i.value = [];
1529
+ return;
1530
+ }
1531
+ let n = new AbortController();
1532
+ a = n, t(e, n.signal).then((e) => {
1533
+ n.signal.aborted || (i.value = e);
1534
+ }).catch((e) => {
1535
+ n.signal.aborted || e?.name !== "AbortError" && (i.value = []);
1536
+ });
1537
+ });
1538
+ }
1539
+ let l = O(() => {
1540
+ let e = c.query.value;
1541
+ if (!e) return "";
1542
+ let t = c.results.value[0];
1543
+ if (!t) return "";
1544
+ let n = t.item.label;
1545
+ return n.toLowerCase().startsWith(e.toLowerCase()) && n.length > e.length ? n.slice(e.length) : "";
1546
+ });
1547
+ function u() {
1548
+ let e = l.value;
1549
+ e && (c.query.value = c.query.value + e);
1550
+ }
1551
+ let d = W(!1);
1552
+ function f() {
1553
+ d.value || (d.value = !0, t.onClickCollapsed(), t.keepOpen(), c.open());
1554
+ }
1555
+ function p() {
1556
+ d.value && (d.value = !1, c.close(), t.release());
1557
+ }
1558
+ let m = null;
1559
+ return e.collapseOnScroll && e.scrollContainer && (m = T(e.scrollContainer, {
1560
+ collapseOnScroll: !0,
1561
+ chromeRef: e.chromeRef
1562
+ })), B(() => {
1563
+ a?.abort(), a = null;
1564
+ }), {
1565
+ fuzzy: c,
1566
+ autocompleteText: l,
1567
+ scrollChrome: m,
1568
+ armSearch: f,
1569
+ disarmSearch: p,
1570
+ acceptAutocomplete: u,
1571
+ isSearchArmed: d
1572
+ };
1573
+ }
1574
+ //#endregion
1438
1575
  //#region src/components/custom/dock/composables/useDockOrientationMorph.ts
1439
- function St(e) {
1440
- let { rootEl: t } = e, n = U("vertical"), r = U(0), i = U(!1), o = a({
1576
+ function At(e) {
1577
+ let { rootEl: t } = e, n = W("vertical"), r = W(0), i = W(!1), o = () => {
1578
+ let e = t.value;
1579
+ if (!e) return 1.08;
1580
+ let n = getComputedStyle(e).getPropertyValue("--dock-morph-max-stretch").trim(), r = n ? Number.parseFloat(n) : NaN;
1581
+ return Number.isFinite(r) && r >= 1 ? r : 1.08;
1582
+ }, s = a({
1441
1583
  from: e.verticalSize,
1442
1584
  to: 0,
1443
- axis: "height"
1444
- }), s = a({
1585
+ axis: "height",
1586
+ maxStretch: o
1587
+ }), c = a({
1445
1588
  from: 0,
1446
1589
  to: e.horizontalSize,
1447
- axis: "width"
1448
- }), c = null;
1449
- function l(e) {
1450
- r.value = e, o.drive(e), s.drive(e);
1590
+ axis: "width",
1591
+ maxStretch: o
1592
+ }), l = null;
1593
+ function u(e) {
1594
+ r.value = e, s.drive(e), c.drive(e);
1451
1595
  let n = t.value;
1452
- n && n.style.setProperty("--dock-morph-t", `${e}`);
1453
- }
1454
- function u() {
1455
- c &&= (c.dispose(), null);
1596
+ n && (n.style.setProperty("--dock-morph-t", `${e}`), n.style.setProperty("--stretch", `${Math.max(s.stretch.value, c.stretch.value)}`));
1456
1597
  }
1457
1598
  function d() {
1599
+ l &&= (l.dispose(), null);
1600
+ }
1601
+ function f() {
1458
1602
  return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
1459
1603
  }
1460
- function f(e) {
1461
- if (d()) {
1462
- h(e);
1604
+ function p(e) {
1605
+ if (f()) {
1606
+ g(e);
1463
1607
  return;
1464
1608
  }
1465
- let n = t.value, a = c !== null && !c.settled ? c.velocity : 0;
1466
- if (!c || c.settled) {
1467
- u(), c = new pe({
1609
+ let n = t.value, a = l !== null && !l.settled ? l.velocity : 0;
1610
+ if (!l || l.settled) {
1611
+ d(), l = new _e({
1468
1612
  response: v.response,
1469
1613
  dampingFraction: v.dampingFraction,
1470
1614
  initial: r.value,
1471
1615
  respectReducedMotion: !0
1472
1616
  });
1473
- let o = c;
1617
+ let o = l;
1474
1618
  o.reset(r.value, a), o.target = e, i.value = !0, n && n.setAttribute("data-morphing", ""), o.play((e) => {
1475
- if (l(e), o.settled) {
1619
+ if (u(e), o.settled) {
1476
1620
  i.value = !1;
1477
1621
  let e = t.value;
1478
1622
  e && e.removeAttribute("data-morphing");
1479
1623
  }
1480
1624
  });
1481
- } else c.reset(r.value, a), c.target = e;
1625
+ } else l.reset(r.value, a), l.target = e;
1482
1626
  }
1483
- function p(e) {
1484
- e === n.value && !i.value || (n.value = e, f(+(e === "horizontal")));
1627
+ function m(e) {
1628
+ e === n.value && !i.value || (n.value = e, p(+(e === "horizontal")));
1485
1629
  }
1486
- function m() {
1487
- p(n.value === "vertical" ? "horizontal" : "vertical");
1630
+ function h() {
1631
+ m(n.value === "vertical" ? "horizontal" : "vertical");
1488
1632
  }
1489
- function h(e) {
1633
+ function g(e) {
1490
1634
  let r = e < 0 ? 0 : e > 1 ? 1 : e;
1491
- u(), i.value = !1, n.value = r >= .5 ? "horizontal" : "vertical", l(r), l(r);
1635
+ d(), i.value = !1, n.value = r >= .5 ? "horizontal" : "vertical", u(r), u(r);
1492
1636
  let a = t.value;
1493
1637
  a && a.removeAttribute("data-morphing");
1494
1638
  }
1495
- function g(e) {
1639
+ function _(e) {
1496
1640
  let t = Math.min(Math.max(e / .5, 0), 1);
1497
1641
  return 1 - t * t * (3 - 2 * t);
1498
1642
  }
1499
- function _(e) {
1643
+ function y(e) {
1500
1644
  let t = Math.min(Math.max((e - .5) / .5, 0), 1);
1501
1645
  return t * t * (3 - 2 * t);
1502
1646
  }
1503
- let y = T(() => o.sizeStyle.value), b = T(() => s.sizeStyle.value), x = T(() => ({ opacity: String(g(r.value)) })), S = T(() => ({ opacity: String(_(r.value)) })), C = T(() => Math.max(o.stretch.value, s.stretch.value));
1504
- return J(t, (e) => {
1647
+ let b = O(() => s.sizeStyle.value), x = O(() => c.sizeStyle.value), S = O(() => ({ opacity: String(_(r.value)) })), C = O(() => ({ opacity: String(y(r.value)) })), w = O(() => Math.max(s.stretch.value, c.stretch.value));
1648
+ return Y(t, (e) => {
1505
1649
  e && e.style.setProperty("--dock-morph-t", `${r.value}`);
1506
- }, { immediate: !0 }), z(u), {
1650
+ }, { immediate: !0 }), B(d), {
1507
1651
  orientation: n,
1508
1652
  t: r,
1509
1653
  morphing: i,
1510
- verticalStyle: y,
1511
- horizontalStyle: b,
1512
- verticalOpacity: x,
1513
- horizontalOpacity: S,
1514
- stretch: C,
1515
- morphTo: p,
1516
- toggle: m,
1517
- pin: h
1654
+ verticalStyle: b,
1655
+ horizontalStyle: x,
1656
+ verticalOpacity: S,
1657
+ horizontalOpacity: C,
1658
+ stretch: w,
1659
+ morphTo: m,
1660
+ toggle: h,
1661
+ pin: g
1518
1662
  };
1519
1663
  }
1520
1664
  //#endregion
1521
- export { y as DOCK_CONTEXT_KEY, lt as DockBackgroundToggle, ft as DockDropdownTrigger, ct as DockIconButton, st as DockLayer, at as DockLayerGroup, vt as DockRail, xt as DockSection, dt as DockSelectTrigger, mt as DockSeparator, ut as DockTabButton, qe as GlassDock, h as provideDockContext, _ as useDockContext, St as useDockOrientationMorph, nt as useLayerTransition, m as useOptionalDockContext };
1665
+ export { y as DOCK_CONTEXT_KEY, vt as DockBackgroundToggle, xt as DockDropdownTrigger, _t as DockIconButton, gt as DockLayer, mt as DockLayerGroup, Ot as DockSection, bt as DockSelectTrigger, Ct as DockSeparator, Tt as DockStack, yt as DockTabButton, nt as GlassDock, h as provideDockContext, _ as useDockContext, C as useDockCtaReceive, At as useDockOrientationMorph, kt as useDockSearch, dt as useLayerTransition, m as useOptionalDockContext };