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