@mkbabb/glass-ui 4.0.1 → 4.2.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 (606) hide show
  1. package/dist/{CardAction-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
  2. package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
  3. package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
  4. package/dist/ContextMenuContent-CMWn6huB.js +90 -0
  5. package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
  6. package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
  7. package/dist/DialogContent-D8U9ZfWS.js +121 -0
  8. package/dist/DialogFooter-DoLy0ewI.js +80 -0
  9. package/dist/DialogScrollContent-BMekN7gq.js +93 -0
  10. package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
  11. package/dist/HoverCardContent-DAmGYglo.js +88 -0
  12. package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
  13. package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
  14. package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
  15. package/dist/Input-CyU4_hIC.js +57 -0
  16. package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
  17. package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
  18. package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
  19. package/dist/PagerDots-CYlqVFd4.js +196 -0
  20. package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
  21. package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
  22. package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
  23. package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
  24. package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
  25. package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
  26. package/dist/Separator-Cf9-JFgi.js +44 -0
  27. package/dist/Switch-uf-UKPA2.js +49 -0
  28. package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
  29. package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
  30. package/dist/TooltipProvider-QQVM_80r.js +109 -0
  31. package/dist/animated-digit.js +2 -2
  32. package/dist/api/index.d.ts +16 -32
  33. package/dist/api/types-extra.d.ts +33 -0
  34. package/dist/api.js +2 -2
  35. package/dist/aurora.js +629 -269
  36. package/dist/badge-Bt14yURi.js +72 -0
  37. package/dist/badge.js +1 -1
  38. package/dist/border-progress.js +49 -57
  39. package/dist/button-D1W9PrzI.js +130 -0
  40. package/dist/button.js +1 -1
  41. package/dist/canvas.js +2 -3
  42. package/dist/card.js +1 -1
  43. package/dist/carousel.js +235 -106
  44. package/dist/chipVariants-BJQ0I2kB.js +18 -0
  45. package/dist/collapsible.js +1 -1
  46. package/dist/color-B9jZdhJX.js +116 -0
  47. package/dist/color.js +2 -2
  48. package/dist/command.js +1 -1
  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/color.d.ts +13 -0
  53. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  54. package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
  55. package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
  56. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
  57. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
  58. package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
  59. package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
  60. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  61. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  62. package/dist/components/custom/aurora/index.d.ts +1 -1
  63. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  64. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
  65. package/dist/components/custom/border-progress/index.d.ts +1 -1
  66. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  67. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  68. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  69. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  70. package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
  71. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
  72. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  73. package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
  74. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
  75. package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
  76. package/dist/components/custom/concentric/constants.d.ts +69 -24
  77. package/dist/components/custom/concentric/index.d.ts +2 -2
  78. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
  79. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
  80. package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
  81. package/dist/components/custom/configurator/index.d.ts +1 -1
  82. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  83. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  84. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  85. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  86. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  87. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  88. package/dist/components/custom/constellation/constants.d.ts +33 -0
  89. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  90. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  91. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  92. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  93. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  94. package/dist/components/custom/constellation/index.d.ts +5 -5
  95. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  96. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  97. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  98. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  99. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  100. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  101. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  102. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  103. package/dist/components/custom/deck/constants.d.ts +14 -0
  104. package/dist/components/custom/deck/index.d.ts +8 -0
  105. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
  106. package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
  107. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
  108. package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
  109. package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
  110. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
  111. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
  112. package/dist/components/custom/dock/composables/index.d.ts +3 -0
  113. package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
  114. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
  115. package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
  116. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
  117. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  118. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
  119. package/dist/components/custom/dock/constants.d.ts +32 -17
  120. package/dist/components/custom/dock/index.d.ts +8 -2
  121. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
  122. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
  123. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
  124. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
  125. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
  126. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
  127. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
  128. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
  129. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
  130. package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
  131. package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
  132. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
  133. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
  134. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
  135. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  136. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  137. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +61 -0
  138. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  139. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
  140. package/dist/components/custom/dot-matrix/constants.d.ts +72 -0
  141. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  142. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  143. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  144. package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
  145. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
  146. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  147. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
  148. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  149. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  150. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
  151. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
  152. package/dist/components/custom/fourier-field/constants.d.ts +114 -4
  153. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  154. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  155. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  156. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  157. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
  158. package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
  159. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
  160. package/dist/components/custom/goo-blob/constants.d.ts +26 -1
  161. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  162. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  163. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  164. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  165. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
  166. package/dist/components/custom/goo-blob/types.d.ts +86 -1
  167. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  168. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  169. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +79 -0
  170. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
  171. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  172. package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -0
  173. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  174. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +13 -0
  175. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
  176. package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
  177. package/dist/components/custom/goo-filter/index.d.ts +1 -0
  178. package/dist/components/custom/handmark/brush.d.ts +17 -17
  179. package/dist/components/custom/handmark/constants.d.ts +28 -8
  180. package/dist/components/custom/handmark/geometry.d.ts +34 -1
  181. package/dist/components/custom/handmark/index.d.ts +1 -1
  182. package/dist/components/custom/icon-chip/types.d.ts +10 -0
  183. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  184. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  185. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  186. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  187. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  188. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
  189. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  190. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
  191. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
  192. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -0
  193. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  194. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  195. package/dist/components/custom/paper-grid/constants.d.ts +95 -0
  196. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  197. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  198. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  199. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  200. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  201. package/dist/components/custom/search/index.d.ts +2 -0
  202. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  203. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  204. package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
  205. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  206. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -0
  207. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  208. package/dist/components/custom/split-chars/index.d.ts +1 -0
  209. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
  210. package/dist/components/custom/tabs/constants.d.ts +28 -2
  211. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
  212. package/dist/components/custom/timeline/geometry.d.ts +0 -8
  213. package/dist/components/custom/toggle-chip/index.d.ts +15 -4
  214. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -17
  215. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  216. package/dist/components/ui/_shared/index.d.ts +2 -0
  217. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  218. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
  219. package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
  220. package/dist/components/ui/badge/index.d.ts +1 -0
  221. package/dist/components/ui/button/Button.vue.d.ts +1 -0
  222. package/dist/components/ui/button/index.d.ts +1 -1
  223. package/dist/components/ui/card/Card.vue.d.ts +46 -1
  224. package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
  225. package/dist/components/ui/card/index.d.ts +1 -1
  226. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
  227. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  228. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  229. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  230. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  231. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  232. package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
  233. package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
  234. package/dist/components/ui/drawer/constants.d.ts +8 -6
  235. package/dist/components/ui/drawer/index.d.ts +12 -2
  236. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  237. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  238. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  239. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  240. package/dist/components/ui/select/SelectContent.vue.d.ts +12 -0
  241. package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
  242. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  243. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  244. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  245. package/dist/composables/color/index.d.ts +2 -0
  246. package/dist/composables/color/useAccentTone.d.ts +34 -0
  247. package/dist/composables/dom/index.d.ts +1 -0
  248. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  249. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  250. package/dist/composables/glass/wave/index.d.ts +4 -0
  251. package/dist/composables/glass/wave/waveField.d.ts +115 -0
  252. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  253. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  254. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
  255. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  256. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  257. package/dist/composables/glass/webgpu/index.d.ts +2 -1
  258. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
  259. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
  260. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  261. package/dist/composables/motion/core/index.d.ts +7 -0
  262. package/dist/composables/motion/core/useHaptic.d.ts +48 -0
  263. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  264. package/dist/composables/motion/index.d.ts +2 -0
  265. package/dist/composables/motion/scrollReader.d.ts +25 -0
  266. package/dist/composables/motion/springPresets.d.ts +19 -1
  267. package/dist/composables/motion/suite.d.ts +2 -2
  268. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  269. package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
  270. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  271. package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
  272. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  273. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  274. package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
  275. package/dist/composables/motion/useLiquidPress.d.ts +12 -0
  276. package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
  277. package/dist/composables/motion/useMorphField.d.ts +157 -0
  278. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  279. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  280. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  281. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  282. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  283. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  284. package/dist/composables/sidebar/index.d.ts +4 -1
  285. package/dist/composables/sidebar/types.d.ts +68 -3
  286. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  287. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  288. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  289. package/dist/composables/virtual/index.d.ts +4 -0
  290. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  291. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  292. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  293. package/dist/concentric.js +552 -309
  294. package/dist/configurator.js +2 -2
  295. package/dist/confirm-dialog.js +62 -47
  296. package/dist/constellation.js +635 -235
  297. package/dist/context-menu.js +2 -2
  298. package/dist/controls.js +2 -2
  299. package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
  300. package/dist/dark.js +1 -1
  301. package/dist/data-table.js +1 -1
  302. package/dist/deck.d.ts +1 -0
  303. package/dist/deck.js +105 -0
  304. package/dist/dialog.js +4 -3
  305. package/dist/dock.js +1320 -631
  306. package/dist/dockContext-gFVS2gMg.js +18 -0
  307. package/dist/dom.js +7 -6
  308. package/dist/dot-flow-field.js +1268 -387
  309. package/dist/dot-matrix.d.ts +1 -0
  310. package/dist/dot-matrix.js +774 -0
  311. package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
  312. package/dist/drawer.js +106 -96
  313. package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
  314. package/dist/dropdown-menu.js +1 -1
  315. package/dist/easing.js +188 -176
  316. package/dist/expandable-container.js +43 -21
  317. package/dist/fading-scroll.js +1 -1
  318. package/dist/flow.glsl-DqEGRpl4.js +4 -0
  319. package/dist/forms.js +64 -62
  320. package/dist/fourier-field.js +1069 -178
  321. package/dist/fourier-math.js +1 -1
  322. package/dist/glass-panel.js +2 -2
  323. package/dist/glass-ui.css +1 -1
  324. package/dist/glass-ui.js +164 -119
  325. package/dist/goo-blob.js +175 -1230
  326. package/dist/goo-dot-matrix.d.ts +1 -0
  327. package/dist/goo-dot-matrix.js +811 -0
  328. package/dist/handmark.js +137 -94
  329. package/dist/header-ribbon.js +1 -1
  330. package/dist/hover-card.js +1 -1
  331. package/dist/hover-popover.js +1 -1
  332. package/dist/icon-chip.js +1 -1
  333. package/dist/icon-tooltip.js +1 -1
  334. package/dist/index.d.ts +5 -0
  335. package/dist/instrument-chassis.js +1 -1
  336. package/dist/keyboard.js +1 -1
  337. package/dist/label.js +1 -1
  338. package/dist/labeled-field.js +70 -60
  339. package/dist/metric-badge.js +1 -1
  340. package/dist/metric-cell.js +1 -1
  341. package/dist/metric-stack.js +12 -3
  342. package/dist/motion-core.js +59 -34
  343. package/dist/motion-curves.js +30 -14
  344. package/dist/motion.js +231 -96
  345. package/dist/notification.js +1 -1
  346. package/dist/number-field.js +1 -1
  347. package/dist/pager-dots.js +2 -91
  348. package/dist/paper-backdrop.js +1 -1
  349. package/dist/paper-grid.d.ts +1 -0
  350. package/dist/paper-grid.js +761 -0
  351. package/dist/paperGrid-CXCSMbZ1.js +191 -0
  352. package/dist/popover.js +1 -1
  353. package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
  354. package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
  355. package/dist/progress.js +1 -1
  356. package/dist/pulse.js +2 -2
  357. package/dist/reactive.js +2 -2
  358. package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
  359. package/dist/scrollReader-rc3Ns_NM.js +42 -0
  360. package/dist/scrolling-text.js +1 -1
  361. package/dist/search.js +162 -306
  362. package/dist/select.js +3 -3
  363. package/dist/selectable-chip.d.ts +1 -0
  364. package/dist/selectable-chip.js +48 -0
  365. package/dist/separator.js +1 -1
  366. package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
  367. package/dist/sheet.js +1 -1
  368. package/dist/sidebar.js +216 -114
  369. package/dist/slider-CcICPe3u.js +149 -0
  370. package/dist/slider.js +1 -1
  371. package/dist/sortable-list.js +3 -3
  372. package/dist/spectrum-walk-cBNSx_zm.js +33 -0
  373. package/dist/springPresets-DfoQ6XRY.js +64 -0
  374. package/dist/stacked-icons.js +54 -39
  375. package/dist/styles/animations.css +13 -3
  376. package/dist/styles/cards.css +271 -2
  377. package/dist/styles/completion-seal.css +131 -0
  378. package/dist/styles/components.css +1 -4
  379. package/dist/styles/configurator.css +221 -1
  380. package/dist/styles/critical-partition.mjs +66 -11
  381. package/dist/styles/deferred.css +4 -0
  382. package/dist/styles/dock/adaptive-legibility.css +119 -0
  383. package/dist/styles/dock/cta-seat.css +87 -0
  384. package/dist/styles/dock/density.css +167 -6
  385. package/dist/styles/dock/fission-bridge.css +552 -0
  386. package/dist/styles/dock/layers.css +90 -78
  387. package/dist/styles/dock/morph-bridge.css +67 -18
  388. package/dist/styles/dock/morph.css +57 -118
  389. package/dist/styles/dock/overflow.css +12 -0
  390. package/dist/styles/dock/search.css +68 -0
  391. package/dist/styles/dock/shape.css +250 -0
  392. package/dist/styles/dock/shell.css +24 -8
  393. package/dist/styles/dock/stack-rail.css +352 -0
  394. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  395. package/dist/styles/dock-controls/icon-button.css +46 -0
  396. package/dist/styles/dock-controls/triggers.css +23 -1
  397. package/dist/styles/dock-controls.css +18 -0
  398. package/dist/styles/dock.css +27 -2
  399. package/dist/styles/drawer.css +166 -0
  400. package/dist/styles/glass/accent-tone.css +66 -0
  401. package/dist/styles/glass/control-surfaces.css +167 -0
  402. package/dist/styles/glass/glass-atom.css +244 -0
  403. package/dist/styles/glass/glass-capsule.css +143 -0
  404. package/dist/styles/glass/glass-chip.css +215 -0
  405. package/dist/styles/glass/ladder.css +67 -17
  406. package/dist/styles/glass/liquid-enter.css +252 -0
  407. package/dist/styles/glass/liquid-morph.css +850 -0
  408. package/dist/styles/glass/material.css +70 -1
  409. package/dist/styles/glass/reveal.css +22 -2
  410. package/dist/styles/glass/rim.css +31 -9
  411. package/dist/styles/glass/surfaces.css +81 -150
  412. package/dist/styles/glass.css +21 -0
  413. package/dist/styles/icon-chip.css +45 -0
  414. package/dist/styles/index.css +26 -0
  415. package/dist/styles/jubilance.css +65 -0
  416. package/dist/styles/motion/morph-field.css +229 -0
  417. package/dist/styles/paper.css +230 -14
  418. package/dist/styles/scroll-choreography.css +135 -78
  419. package/dist/styles/scroll-chrome.css +123 -0
  420. package/dist/styles/scroll-driven.css +38 -0
  421. package/dist/styles/segmented-tabs.css +110 -40
  422. package/dist/styles/select.css +151 -0
  423. package/dist/styles/theme/bridges.css +22 -0
  424. package/dist/styles/theme/radius.css +18 -1
  425. package/dist/styles/tokens/color-radius.css +14 -4
  426. package/dist/styles/tokens/dark-arm.css +94 -12
  427. package/dist/styles/tokens/glass-deep.css +33 -4
  428. package/dist/styles/tokens/glass-fx.css +122 -1
  429. package/dist/styles/tokens/glass.css +226 -34
  430. package/dist/styles/tokens/light-dark.css +3 -3
  431. package/dist/styles/tokens/offsets.css +27 -0
  432. package/dist/styles/tokens/property-regs.css +277 -0
  433. package/dist/styles/tokens/scale-paper.css +86 -30
  434. package/dist/styles/tokens/scheme-motion.css +106 -133
  435. package/dist/styles/tokens/scheme-spring.css +239 -0
  436. package/dist/styles/tokens/scroll-tokens.css +15 -15
  437. package/dist/styles/tokens/shadow.css +73 -13
  438. package/dist/styles/tokens/sizing-config.css +110 -0
  439. package/dist/styles/tokens/sizing.css +55 -104
  440. package/dist/styles/tokens.css +14 -2
  441. package/dist/styles/typography/semantic.css +18 -5
  442. package/dist/styles/utilities/a11y-overrides.css +20 -5
  443. package/dist/styles/utilities/base-misc.css +52 -0
  444. package/dist/styles/utilities/btn.css +84 -3
  445. package/dist/styles/utilities/components.css +31 -6
  446. package/dist/styles/utilities/metal.css +26 -0
  447. package/dist/switch.js +1 -1
  448. package/dist/tabs.js +199 -182
  449. package/dist/timeline.js +241 -206
  450. package/dist/toast.js +1 -1
  451. package/dist/toggle-chip.js +14 -41
  452. package/dist/toggle-group.js +1 -1
  453. package/dist/tooltip.js +1 -1
  454. package/dist/typewriter.js +2 -2
  455. package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
  456. package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
  457. package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
  458. package/dist/useControlSize-DAZ062x7.js +9 -0
  459. package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
  460. package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
  461. package/dist/useDragVelocity-CjcfX3dA.js +57 -0
  462. package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
  463. package/dist/useGooMorph-Cs13NgYL.js +104 -0
  464. package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
  465. package/dist/useHaptic-CPz5BT9I.js +134 -0
  466. package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
  467. package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
  468. package/dist/useMorphField-ogBM7ubT.js +141 -0
  469. package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
  470. package/dist/useScrollChrome-JuImi1DM.js +258 -0
  471. package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
  472. package/dist/useSpringPress-VM9RgVq3.js +36 -0
  473. package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
  474. package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
  475. package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
  476. package/dist/virtual.d.ts +1 -0
  477. package/dist/virtual.js +225 -0
  478. package/dist/watercolor-dot.js +107 -74
  479. package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
  480. package/package.json +140 -9
  481. package/src/styles/animations.css +13 -3
  482. package/src/styles/cards.css +271 -2
  483. package/src/styles/completion-seal.css +131 -0
  484. package/src/styles/configurator.css +221 -1
  485. package/src/styles/critical-partition.mjs +66 -11
  486. package/src/styles/dock/adaptive-legibility.css +119 -0
  487. package/src/styles/dock/cta-seat.css +87 -0
  488. package/src/styles/dock/density.css +167 -6
  489. package/src/styles/dock/fission-bridge.css +552 -0
  490. package/src/styles/dock/layers.css +90 -78
  491. package/src/styles/dock/morph-bridge.css +67 -18
  492. package/src/styles/dock/morph.css +57 -118
  493. package/src/styles/dock/overflow.css +12 -0
  494. package/src/styles/dock/search.css +68 -0
  495. package/src/styles/dock/shape.css +250 -0
  496. package/src/styles/dock/shell.css +24 -8
  497. package/src/styles/dock/stack-rail.css +352 -0
  498. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  499. package/src/styles/dock-controls/icon-button.css +46 -0
  500. package/src/styles/dock-controls/triggers.css +23 -1
  501. package/src/styles/dock-controls.css +18 -0
  502. package/src/styles/dock.css +27 -2
  503. package/src/styles/drawer.css +164 -0
  504. package/src/styles/glass/accent-tone.css +66 -0
  505. package/src/styles/glass/control-surfaces.css +167 -0
  506. package/src/styles/glass/glass-atom.css +244 -0
  507. package/src/styles/glass/glass-capsule.css +143 -0
  508. package/src/styles/glass/glass-chip.css +215 -0
  509. package/src/styles/glass/ladder.css +67 -17
  510. package/src/styles/glass/liquid-enter.css +252 -0
  511. package/src/styles/glass/liquid-morph.css +850 -0
  512. package/src/styles/glass/material.css +70 -1
  513. package/src/styles/glass/reveal.css +22 -2
  514. package/src/styles/glass/rim.css +31 -9
  515. package/src/styles/glass/surfaces.css +81 -150
  516. package/src/styles/glass.css +21 -0
  517. package/src/styles/icon-chip.css +45 -0
  518. package/src/styles/index.css +26 -0
  519. package/src/styles/jubilance.css +65 -0
  520. package/src/styles/motion/morph-field.css +229 -0
  521. package/src/styles/paper.css +230 -14
  522. package/src/styles/scroll-choreography.css +135 -78
  523. package/src/styles/scroll-chrome.css +123 -0
  524. package/src/styles/scroll-driven.css +38 -0
  525. package/src/styles/segmented-tabs.css +110 -36
  526. package/src/styles/select.css +151 -0
  527. package/src/styles/theme/bridges.css +22 -0
  528. package/src/styles/theme/radius.css +18 -1
  529. package/src/styles/tokens/color-radius.css +14 -4
  530. package/src/styles/tokens/dark-arm.css +94 -12
  531. package/src/styles/tokens/glass-deep.css +33 -4
  532. package/src/styles/tokens/glass-fx.css +122 -1
  533. package/src/styles/tokens/glass.css +226 -34
  534. package/src/styles/tokens/light-dark.css +3 -3
  535. package/src/styles/tokens/offsets.css +27 -0
  536. package/src/styles/tokens/property-regs.css +277 -0
  537. package/src/styles/tokens/scale-paper.css +86 -30
  538. package/src/styles/tokens/scheme-motion.css +106 -133
  539. package/src/styles/tokens/scheme-spring.css +239 -0
  540. package/src/styles/tokens/scroll-tokens.css +15 -15
  541. package/src/styles/tokens/shadow.css +73 -13
  542. package/src/styles/tokens/sizing-config.css +110 -0
  543. package/src/styles/tokens/sizing.css +55 -104
  544. package/src/styles/tokens.css +14 -2
  545. package/src/styles/typography/semantic.css +18 -5
  546. package/src/styles/utilities/a11y-overrides.css +20 -5
  547. package/src/styles/utilities/base-misc.css +52 -0
  548. package/src/styles/utilities/btn.css +84 -3
  549. package/src/styles/utilities/components.css +31 -6
  550. package/src/styles/utilities/metal.css +26 -0
  551. package/dist/ContextMenuContent-uWnVxDab.js +0 -85
  552. package/dist/DialogContent-DcKK8k9i.js +0 -103
  553. package/dist/DialogFooter-BZNX5aVr.js +0 -165
  554. package/dist/HoverCardContent-b2uaAMRR.js +0 -83
  555. package/dist/Input-h9v5LeXf.js +0 -55
  556. package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
  557. package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
  558. package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
  559. package/dist/Separator-pKF0oA4M.js +0 -37
  560. package/dist/Switch-CwYNf8bo.js +0 -47
  561. package/dist/TooltipProvider-rzvnXz60.js +0 -104
  562. package/dist/badge-D9XWW4GT.js +0 -53
  563. package/dist/button-DYCUa-tH.js +0 -126
  564. package/dist/color-DweYl7pE.js +0 -86
  565. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
  566. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  567. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  568. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  569. package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
  570. package/dist/dockContext-BNfyPLe9.js +0 -17
  571. package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
  572. package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
  573. package/dist/slider-DVb4HXU-.js +0 -142
  574. package/dist/springPresets-CFQGQfdl.js +0 -40
  575. package/dist/styles/dock/rail-extend.css +0 -397
  576. package/dist/useLiquidPress-kfb4KX79.js +0 -39
  577. package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
  578. package/dist/useRAFLoop-UYa4zoiN.js +0 -109
  579. package/dist/useSpringPress-BsqPr7FJ.js +0 -34
  580. package/src/styles/dock/rail-extend.css +0 -397
  581. /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
  582. /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  583. /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
  584. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
  585. /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
  586. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
  587. /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
  588. /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
  589. /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
  590. /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
  591. /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
  592. /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
  593. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
  594. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
  595. /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
  596. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
  597. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
  598. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
  599. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
  600. /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
  601. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
  602. /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
  603. /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
  604. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
  605. /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
  606. /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
package/dist/dock.js CHANGED
@@ -1,32 +1,225 @@
1
1
  import { t as e } from "./cn-DJXf4yaB.js";
2
- import { a as t, b as n, o as r, v as i } from "./vendor-CKmzio-i.js";
3
- import { t as a } from "./useLiquidFlex-mZPMiNXh.js";
4
- import { t as o } from "./vSpecular-CQFmLNzA.js";
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-DI6hQhT9.js";
11
- import { t as x } from "./useIntersectionPause-Bj4sPkMh.js";
12
- import { t as S } from "./useDragMorph-DgxnsVJz.js";
13
- import { t as C } from "./useRAFLoop-UYa4zoiN.js";
14
- import { Fragment as w, computed as T, createBlock as E, createCommentVNode as D, createElementBlock as O, createElementVNode as k, createVNode as A, defineComponent as j, mergeModels as M, mergeProps as N, nextTick as P, normalizeClass as F, normalizeStyle as I, onBeforeUnmount as L, onMounted as R, onScopeDispose as z, onUnmounted as B, openBlock as V, readonly as H, ref as U, renderList as ee, renderSlot as W, resolveDynamicComponent as G, toDisplayString as te, unref as K, useId as ne, useModel as re, useSlots as ie, useTemplateRef as q, watch as J, withCtx as Y, withDirectives as X } from "vue";
15
- import { DropdownMenuTrigger as Z, Primitive as ae, SelectIcon as Q, SelectTrigger as oe, TabsIndicator as se, TabsList as ce, TabsRoot as le, TabsTrigger as ue, useForwardProps as de, useForwardPropsEmits as fe } from "reka-ui";
16
- import { SpringProgress as pe } from "@mkbabb/keyframes.js";
2
+ import { a as t, d as n, o as r, x as i } from "./vendor-B2qOlYY3.js";
3
+ import { n as a } from "./springPresets-DfoQ6XRY.js";
4
+ import { t as o } from "./useLiquidFlex-Cc6PjVJD.js";
5
+ import { t as s } from "./vSpecular-EX7loENl.js";
6
+ import { n as c, r as l } from "./writeVelocityWeight-Bh83xZfs.js";
7
+ import { t as u } from "./_plugin-vue_export-helper-gLzyemvl.js";
8
+ import { t as d } from "./useResizeObserver-DdEn3v2f.js";
9
+ import { t as f } from "./useTouchGate-B1Lf9XqN.js";
10
+ import { n as p } from "./useResolveTokenColor-ChOnCckA.js";
11
+ import { n as m, t as h } from "./createContext-Cd23P9j0.js";
12
+ import { a as g, c as _, i as v, n as y, o as b, r as x, s as S, t as C } from "./dockContext-gFVS2gMg.js";
13
+ import { t as w } from "./FadingScroll-P8B30rAD.js";
14
+ import { t as T } from "./useMorphField-ogBM7ubT.js";
15
+ import { t as E } from "./usePointerVelocityField-BrkqZFhj.js";
16
+ import { t as D } from "./useIntersectionPause-DO8Vl4gs.js";
17
+ import { t as O } from "./useDragMorph-DGLSewwB.js";
18
+ import { t as k } from "./useDockCtaReceive-DX7RDb6_.js";
19
+ import { r as ee, t as A } from "./useScrollChrome-JuImi1DM.js";
20
+ import { t as te } from "./useFuzzySearch-0fTYOhS4.js";
21
+ import { Fragment as j, computed as M, createBlock as N, createCommentVNode as P, createElementBlock as F, createElementVNode as I, createVNode as L, defineComponent as R, mergeModels as ne, mergeProps as z, nextTick as re, normalizeClass as B, normalizeStyle as V, onBeforeUnmount as ie, onMounted as ae, onScopeDispose as oe, onUnmounted as se, openBlock as H, readonly as U, ref as W, renderList as ce, renderSlot as G, resolveDynamicComponent as le, shallowRef as ue, toDisplayString as de, unref as K, useId as fe, useModel as pe, useSlots as me, useTemplateRef as he, watch as q, withCtx as J, withDirectives as ge } from "vue";
22
+ import { DropdownMenuTrigger as _e, PopoverTrigger as ve, Primitive as ye, SelectIcon as be, SelectTrigger as xe, TabsIndicator as Se, TabsList as Ce, TabsRoot as Y, TabsTrigger as we, useForwardProps as Te, useForwardPropsEmits as Ee } from "reka-ui";
23
+ import { SpringProgress as X } from "@mkbabb/keyframes.js";
24
+ import { rawOklabToOklch as De, srgbToOKLab as Oe } from "@mkbabb/value.js";
25
+ //#region src/components/custom/dock/composables/useDockFission.ts
26
+ var ke = {
27
+ beside: {
28
+ dx: 1,
29
+ dy: 0
30
+ },
31
+ above: {
32
+ dx: 0,
33
+ dy: -1
34
+ },
35
+ below: {
36
+ dx: 0,
37
+ dy: 1
38
+ }
39
+ }, Ae = {
40
+ search: {
41
+ context: "search",
42
+ vector: "radial",
43
+ neckHold: T.radialBurst.neckHold,
44
+ staggerRank: (e, t) => {
45
+ let n = (t - 1) / 2;
46
+ return Math.round(Math.abs(e - n));
47
+ },
48
+ squishPeak: "late"
49
+ },
50
+ media: {
51
+ context: "media",
52
+ vector: "lateral",
53
+ neckHold: T.lateralPeel.neckHold,
54
+ staggerRank: (e, t) => {
55
+ let n = (t - 1) / 2;
56
+ return Math.round(n - Math.abs(e - n));
57
+ },
58
+ squishPeak: "long"
59
+ },
60
+ nav: {
61
+ context: "nav",
62
+ vector: "inward-merge",
63
+ neckHold: T.inwardMerge.neckHold,
64
+ staggerRank: (e, t) => {
65
+ let n = (t - 1) / 2;
66
+ return Math.round(n - Math.abs(e - n));
67
+ },
68
+ squishPeak: "coalesce"
69
+ }
70
+ }, Z = .02;
71
+ function je(e) {
72
+ let { rootEl: t, signature: n, placement: r, maxStretch: i, seamTensionCap: a = .12, seamTensionGain: s = .6, staggerStep: c = .08 } = e, l = e.respectReducedMotion !== !1;
73
+ function u() {
74
+ return ke[r?.value ?? "beside"];
75
+ }
76
+ let d = W(0), f = W(!1), p = 0, m = null, h = E({ respectReducedMotion: l }), g = /* @__PURE__ */ new Set(), _ = 0;
77
+ function v() {
78
+ return t.value;
79
+ }
80
+ function y() {
81
+ return l && typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
82
+ }
83
+ function b() {
84
+ m &&= (m.dispose(), null);
85
+ }
86
+ function x(e) {
87
+ let t = n.value, r = g.size, i = Math.min(a, Math.max(0, h.speed.value * s)), o = v();
88
+ if (o) {
89
+ o.style.setProperty("--seam-tension", String(i));
90
+ let t = u();
91
+ o.style.setProperty("--island-t", String(e)), o.style.setProperty("--island-dx", String(t.dx)), o.style.setProperty("--island-dy", String(t.dy));
92
+ }
93
+ for (let n of g) {
94
+ let a = n.el.value;
95
+ if (!a) continue;
96
+ let o = t.staggerRank(n.rank, r) * c, s = Math.max(1e-4, 1 - o), l = Math.min(1, Math.max(0, (e - o) / s));
97
+ n.flex.drive(l);
98
+ let u = n.vectorOf();
99
+ a.style.setProperty("--split-dx", String(u.dx)), a.style.setProperty("--split-dy", String(u.dy)), a.style.setProperty("--i", String(n.rank)), a.style.setProperty("--neck-t", String(l));
100
+ let d = (l * 360 + i * 60) % 360;
101
+ a.style.setProperty("--neck-specular-angle", `${d.toFixed(1)}deg`), a.style.setProperty("--stretch", String(n.flex.stretch.value));
102
+ }
103
+ }
104
+ function C() {
105
+ d.value = p;
106
+ let e = v(), t = u();
107
+ e && (e.style.setProperty("--dock-split-t", String(p)), e.style.setProperty("--island-t", String(p)), e.style.setProperty("--island-dx", String(t.dx)), e.style.setProperty("--island-dy", String(t.dy)), e.style.setProperty("--seam-tension", "0"), p < Z ? (e.removeAttribute("data-fissioning"), e.removeAttribute("data-fissioned")) : (e.setAttribute("data-fissioning", ""), e.setAttribute("data-fissioned", "")), e.removeAttribute("data-merging")), h.tick(0);
108
+ for (let e of g) {
109
+ let t = e.el.value;
110
+ if (!t) continue;
111
+ let n = e.vectorOf();
112
+ e.flex.drive(p), t.style.setProperty("--split-dx", String(n.dx)), t.style.setProperty("--split-dy", String(n.dy)), t.style.setProperty("--i", String(e.rank)), t.style.setProperty("--neck-t", String(p)), t.style.setProperty("--neck-specular-angle", `${(p * 360).toFixed(1)}deg`), t.style.setProperty("--stretch", "1");
113
+ }
114
+ f.value = p >= Z;
115
+ }
116
+ function w() {
117
+ let e = v();
118
+ if (!e) return;
119
+ if (y()) {
120
+ b(), C();
121
+ return;
122
+ }
123
+ let t = m !== null && !m.settled ? m.velocity : 0;
124
+ b(), m = new X({
125
+ response: S.response,
126
+ dampingFraction: S.dampingFraction,
127
+ initial: d.value,
128
+ respectReducedMotion: !0
129
+ });
130
+ let n = m;
131
+ n.reset(d.value, t), n.target = p, e.setAttribute("data-fissioning", ""), p >= Z && e.setAttribute("data-fissioned", ""), p < Z ? e.setAttribute("data-merging", "") : e.removeAttribute("data-merging"), _ = 0, n.play((e) => {
132
+ let t = v();
133
+ if (!t) return;
134
+ d.value = e, t.style.setProperty("--dock-split-t", String(e));
135
+ let r = typeof performance < "u" ? performance.now() : Date.now(), i = _ === 0 ? 16 : r - _;
136
+ _ = r, h.tick(i), x(e), n.settled && (f.value = p >= Z, p < Z && (t.removeAttribute("data-fissioning"), t.removeAttribute("data-fissioned"), t.style.removeProperty("--seam-tension")), t.removeAttribute("data-merging"), b());
137
+ });
138
+ }
139
+ function T() {
140
+ p = 1, w();
141
+ }
142
+ function D() {
143
+ p = 0, w();
144
+ }
145
+ function O() {
146
+ p >= Z ? D() : T();
147
+ }
148
+ function k(e) {
149
+ h.onPointerMove(e);
150
+ }
151
+ function ee(e) {
152
+ let t = typeof e.vector == "function" ? e.vector : () => e.vector, n = o({
153
+ from: 0,
154
+ to: 0,
155
+ axis: "width",
156
+ squishLaw: "tanh",
157
+ maxStretch: i ?? 1.08
158
+ }), r = {
159
+ el: e.el,
160
+ vectorOf: t,
161
+ rank: e.rank,
162
+ flex: n,
163
+ stop: () => {}
164
+ };
165
+ return g.add(r), { release: () => {
166
+ g.delete(r);
167
+ } };
168
+ }
169
+ function A() {
170
+ b(), h.dispose();
171
+ }
172
+ return oe(A), {
173
+ t: d,
174
+ fissioned: f,
175
+ registerPiece: ee,
176
+ split: T,
177
+ merge: D,
178
+ toggle: O,
179
+ onPointerMove: k,
180
+ dispose: A
181
+ };
182
+ }
183
+ //#endregion
17
184
  //#region src/composables/glass/useGlassBackdropLuminance.ts
18
- var me = "(prefers-reduced-motion: reduce)", $ = 32;
19
- function he(e) {
185
+ var Me = "(prefers-reduced-motion: reduce)", Q = 32, $ = 12, Ne = .72, Pe = .06, Fe = .004;
186
+ function Ie() {
187
+ return {
188
+ weight: new Float64Array($),
189
+ sumCos: new Float64Array($),
190
+ sumSin: new Float64Array($),
191
+ totalMass: 0,
192
+ n: 0
193
+ };
194
+ }
195
+ function Le(e, t, n, r, i) {
196
+ e.n++;
197
+ let [a, o, s] = Oe(t, n, r), [, c, l] = De(a, o, s);
198
+ if (!Number.isFinite(c) || !Number.isFinite(l) || c <= 0) return;
199
+ let u = c * i;
200
+ if (u <= 0) return;
201
+ let d = l * Math.PI / 180, f = Math.floor(l / 360 * $) % $;
202
+ f < 0 && (f += $), e.weight[f] += u, e.sumCos[f] += u * Math.cos(d), e.sumSin[f] += u * Math.sin(d), e.totalMass += u;
203
+ }
204
+ function Re(e) {
205
+ if (e.n === 0 || e.totalMass / e.n < Fe) return "transparent";
206
+ let t = 0;
207
+ for (let n = 1; n < $; n++) e.weight[n] > e.weight[t] && (t = n);
208
+ if (e.weight[t] <= 0) return "transparent";
209
+ let n = Math.atan2(e.sumSin[t], e.sumCos[t]) * 180 / Math.PI;
210
+ return n < 0 && (n += 360), `oklch(${Ne} ${Pe} ${n.toFixed(1)})`;
211
+ }
212
+ function ze(e) {
20
213
  return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
21
214
  }
22
- function ge(e) {
215
+ function Be(e) {
23
216
  let t = e / 255;
24
217
  return t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
25
218
  }
26
- function _e(e, t, n) {
27
- return .2126 * ge(e) + .7152 * ge(t) + .0722 * ge(n);
219
+ function Ve(e, t, n) {
220
+ return .2126 * Be(e) + .7152 * Be(t) + .0722 * Be(n);
28
221
  }
29
- function ve(e) {
222
+ function He(e) {
30
223
  let t = e.match(/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:[,\s/]+([\d.]+))?/i);
31
224
  return t ? [
32
225
  Number(t[1]),
@@ -35,36 +228,36 @@ function ve(e) {
35
228
  t[4] === void 0 ? 1 : Number(t[4])
36
229
  ] : null;
37
230
  }
38
- function ye(e) {
231
+ function Ue(e) {
39
232
  if (!e) return null;
40
- if (he(e)) return e;
233
+ if (ze(e)) return e;
41
234
  if (typeof e == "function") {
42
235
  let t = e();
43
- return he(t) ? t : null;
236
+ return ze(t) ? t : null;
44
237
  }
45
238
  if (typeof e == "string" && typeof document < "u") {
46
239
  let t = document.querySelector(e);
47
- return he(t) ? t : null;
240
+ return ze(t) ? t : null;
48
241
  }
49
242
  return null;
50
243
  }
51
- function be(e, t = {}) {
52
- let { lightThreshold: n = .6, minSampleIntervalMs: r = 250, writeBucket: i = !0 } = t, a = Math.max(250, r), o = U(null), c = U(null);
244
+ function We(e, t = {}) {
245
+ let { lightThreshold: n = .6, minSampleIntervalMs: r = 250, writeBucket: i = !0 } = t, a = Math.max(250, r), o = W(null), s = W(null);
53
246
  if (typeof window > "u") return {
54
- luma: H(o),
55
- bucket: H(c),
247
+ luma: U(o),
248
+ bucket: U(s),
56
249
  sampleNow: () => {},
57
250
  dispose: () => {}
58
251
  };
59
- let u = window.matchMedia(me), d = u.matches, f = null, p = null;
252
+ let c = window.matchMedia(Me), l = c.matches, u = null, f = null;
60
253
  function m() {
61
- return f || (f = document.createElement("canvas"), f.width = $, f.height = $), p ||= f.getContext("2d", { willReadFrequently: !0 }), p;
254
+ return u || (u = document.createElement("canvas"), u.width = Q, u.height = Q), f ||= u.getContext("2d", { willReadFrequently: !0 }), f;
62
255
  }
63
256
  function h() {
64
257
  return t.live === void 0 ? e.value?.dataset.glassSample === "live" : t.live;
65
258
  }
66
259
  function g(e) {
67
- let n = ye(t.backgroundCanvas);
260
+ let n = Ue(t.backgroundCanvas);
68
261
  if (!n || n.width === 0 || n.height === 0) return null;
69
262
  let r = m();
70
263
  if (!r) return null;
@@ -73,13 +266,16 @@ function be(e, t = {}) {
73
266
  let o = n.width / a.width, s = n.height / a.height, c = Math.max(0, (i.left - a.left) * o), l = Math.max(0, (i.top - a.top) * s), u = Math.min(n.width - c, Math.max(1, i.width * o)), d = Math.min(n.height - l, Math.max(1, i.height * s));
74
267
  if (u <= 0 || d <= 0) return null;
75
268
  try {
76
- r.clearRect(0, 0, $, $), r.drawImage(n, c, l, u, d, 0, 0, $, $);
77
- let e = r.getImageData(0, 0, $, $).data, t = 0, i = 0;
269
+ r.clearRect(0, 0, Q, Q), r.drawImage(n, c, l, u, d, 0, 0, Q, Q);
270
+ let e = r.getImageData(0, 0, Q, Q).data, t = 0, i = 0, a = Ie();
78
271
  for (let n = 0; n < e.length; n += 4) {
79
- let r = e[n + 3] / 255, a = e[n] * r + 255 * (1 - r), o = e[n + 1] * r + 255 * (1 - r), s = e[n + 2] * r + 255 * (1 - r);
80
- t += _e(a, o, s), i++;
272
+ let r = e[n + 3] / 255, o = e[n] * r + 255 * (1 - r), s = e[n + 1] * r + 255 * (1 - r), c = e[n + 2] * r + 255 * (1 - r);
273
+ t += Ve(o, s, c), Le(a, o, s, c, r), i++;
81
274
  }
82
- return i > 0 ? t / i : null;
275
+ return i > 0 ? {
276
+ luma: t / i,
277
+ ambientHue: Re(a)
278
+ } : null;
83
279
  } catch {
84
280
  return null;
85
281
  }
@@ -88,71 +284,79 @@ function be(e, t = {}) {
88
284
  let t = e.getBoundingClientRect(), n = t.left + t.width / 2, r = t.top + t.height / 2, i = document.elementsFromPoint(n, r);
89
285
  for (let t of i) {
90
286
  if (!(t instanceof HTMLElement) || t === e || e.contains(t)) continue;
91
- let n = getComputedStyle(t).backgroundColor, r = ve(l(n, e));
92
- if (r && !(r[3] < .5)) return _e(r[0], r[1], r[2]);
287
+ let n = getComputedStyle(t).backgroundColor, r = He(p(n, e));
288
+ if (r && !(r[3] < .5)) return v(r);
93
289
  }
94
- let a = ve(l(getComputedStyle(document.body).backgroundColor, e));
95
- return a ? _e(a[0], a[1], a[2]) : null;
96
- }
97
- function v(t) {
98
- o.value = t;
99
- let r = e.value;
100
- if (r && (r.style.setProperty("--glass-backdrop-luma", t.toFixed(3)), i)) {
101
- let e = t >= n ? "light" : "dark";
102
- c.value = e, r.style.setProperty("--glass-backdrop", e);
290
+ let a = He(p(getComputedStyle(document.body).backgroundColor, e));
291
+ return a ? v(a) : null;
292
+ }
293
+ function v(e) {
294
+ let t = Ie();
295
+ return Le(t, e[0], e[1], e[2], e[3]), {
296
+ luma: Ve(e[0], e[1], e[2]),
297
+ ambientHue: Re(t)
298
+ };
299
+ }
300
+ function y(t) {
301
+ let r = t.luma;
302
+ o.value = r;
303
+ let a = e.value;
304
+ if (a && (a.style.setProperty("--glass-backdrop-luma", r.toFixed(3)), a.style.setProperty("--glass-ambient-hue", t.ambientHue), i)) {
305
+ let e = r >= n ? "light" : "dark";
306
+ s.value = e, a.style.setProperty("--glass-backdrop", e);
103
307
  }
104
308
  }
105
- let y = 0;
106
- function b() {
309
+ let b = 0;
310
+ function x() {
107
311
  let t = e.value;
108
312
  if (!t) return;
109
313
  let n = h() ? g(t) ?? _(t) : _(t);
110
- n !== null && v(n), y = typeof performance < "u" ? performance.now() : Date.now();
314
+ n !== null && y(n), b = typeof performance < "u" ? performance.now() : Date.now();
111
315
  }
112
- let S = C(({ now: e }) => {
113
- d || e - y < a || b();
316
+ let S = ee(({ now: e }) => {
317
+ l || e - b < a || x();
114
318
  }, {
115
319
  immediate: !1,
116
320
  pauseWhenHidden: !0,
117
321
  respectReducedMotion: !0
118
- }), w = x(() => e.value, {
322
+ }), C = D(() => e.value, {
119
323
  pause: () => S.pause(),
120
324
  resume: () => {
121
- h() && !d && S.resume();
325
+ h() && !l && S.resume();
122
326
  }
123
- }, { rootMargin: "200px" }), T = s(e, () => b());
124
- function E() {
125
- d = u.matches, d ? (S.stop(), b()) : h() && S.start();
126
- }
127
- let D = () => E();
128
- typeof u.addEventListener == "function" && u.addEventListener("change", D);
129
- let O = J(() => e.value, (e) => {
130
- e && (b(), E());
327
+ }, { rootMargin: "200px" }), w = d(e, () => x());
328
+ function T() {
329
+ l = c.matches, l ? (S.stop(), x()) : h() && S.start();
330
+ }
331
+ let E = () => T();
332
+ typeof c.addEventListener == "function" && c.addEventListener("change", E);
333
+ let O = q(() => e.value, (e) => {
334
+ e && (x(), T());
131
335
  }, {
132
336
  immediate: !0,
133
337
  flush: "post"
134
338
  });
135
339
  function k() {
136
- O(), S.dispose(), w.dispose(), T.stop(), typeof u.removeEventListener == "function" && u.removeEventListener("change", D), f = null, p = null;
340
+ O(), S.dispose(), C.dispose(), w.stop(), typeof c.removeEventListener == "function" && c.removeEventListener("change", E), u = null, f = null;
137
341
  }
138
- return z(k), {
139
- luma: H(o),
140
- bucket: H(c),
141
- sampleNow: b,
342
+ return oe(k), {
343
+ luma: U(o),
344
+ bucket: U(s),
345
+ sampleNow: x,
142
346
  dispose: k
143
347
  };
144
348
  }
145
349
  //#endregion
146
350
  //#region src/components/custom/dock/composables/isTeleportedTarget.ts
147
- function xe(e, t) {
351
+ function Ge(e, t) {
148
352
  if (!(e instanceof Element)) return !1;
149
353
  let n = e.closest("[data-glass-dock-portal]");
150
354
  return n ? t ? n.getAttribute("data-glass-dock-owner") === t : !0 : !1;
151
355
  }
152
356
  //#endregion
153
357
  //#region src/components/custom/dock/composables/useDockState.ts
154
- function Se(e) {
155
- let { collapseDelay: t = 2500, rootEl: n, alwaysExpanded: r = !1, isTransitioning: i, dockId: a, onStateChange: o } = e, s = () => typeof r == "boolean" ? r : r.value, c = s(), l = U(c ? "pinned" : "collapsed"), u = U(c), d = U(c), f = null, p = U(0), m = T(() => p.value > 0), h = null, g = null, _ = !1, v = null;
358
+ function Ke(e) {
359
+ let { collapseDelay: t = 3600, rootEl: n, alwaysExpanded: r = !1, isTransitioning: i, dockId: a, onStateChange: o } = e, s = () => typeof r == "boolean" ? r : r.value, c = s(), l = W(c ? "pinned" : "collapsed"), u = W(c), d = W(c), f = null, p = W(0), m = M(() => p.value > 0), h = null, g = null, _ = !1, v = null;
156
360
  function y() {
157
361
  v &&= (clearTimeout(v), null);
158
362
  }
@@ -173,163 +377,153 @@ function Se(e) {
173
377
  function w() {
174
378
  g !== null && (cancelAnimationFrame(g), g = null);
175
379
  }
176
- function E() {
380
+ function T() {
177
381
  w(), h?.();
178
382
  }
179
- function D() {
383
+ function E() {
180
384
  s() || p.value > 0 || (C(), f = setTimeout(() => {
181
- O(), l.value = "collapsed", S();
385
+ D(), l.value = "collapsed", S();
182
386
  }, t));
183
387
  }
184
- function O() {
388
+ function D() {
185
389
  typeof document > "u" || typeof PointerEvent > "u" || document.body.dispatchEvent(new PointerEvent("pointerdown", {
186
390
  bubbles: !0,
187
391
  composed: !0
188
392
  }));
189
393
  }
190
- function k() {
394
+ function O() {
191
395
  if (s()) {
192
396
  l.value = "pinned", S();
193
397
  return;
194
398
  }
195
- _ ||= (_ = !0, C(), y(), O(), l.value = "collapsed", S(), !1);
399
+ _ ||= (_ = !0, C(), y(), D(), l.value = "collapsed", S(), !1);
196
400
  }
197
- function A() {
401
+ function k() {
198
402
  if (s()) {
199
403
  l.value = "pinned", S();
200
404
  return;
201
405
  }
202
406
  C(), y(), l.value = "hover", S();
203
407
  }
204
- function j() {
408
+ function ee() {
205
409
  s() || (C(), l.value === "collapsed" && (y(), v = setTimeout(() => {
206
410
  v = null, !s() && l.value === "collapsed" && (l.value = "hover", S());
207
411
  }, 60)));
208
412
  }
209
- function M(e) {
413
+ function A(e) {
210
414
  if (!s() && (y(), l.value === "hover")) {
211
415
  if (p.value > 0) return;
212
416
  if (e) {
213
417
  let t = n.value;
214
- if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || xe(e.relatedTarget, a) || b(e)) return;
418
+ if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || Ge(e.relatedTarget, a) || b(e)) return;
215
419
  }
216
- D();
420
+ E();
217
421
  }
218
422
  }
219
- function N() {
423
+ function te() {
220
424
  s() || (C(), l.value === "collapsed" && (l.value = "hover", S()));
221
425
  }
222
- function P(e) {
426
+ function j(e) {
223
427
  if (s() || l.value !== "hover" || p.value > 0) return;
224
428
  let t = e.currentTarget;
225
- e.relatedTarget && t.contains(e.relatedTarget) || xe(e.relatedTarget, a) || D();
429
+ e.relatedTarget && t.contains(e.relatedTarget) || Ge(e.relatedTarget, a) || E();
226
430
  }
227
- function F() {
431
+ function N() {
228
432
  if (s()) {
229
433
  l.value = "pinned", S();
230
434
  return;
231
435
  }
232
436
  C(), y(), l.value = "pinned", S();
233
437
  }
234
- function I() {
438
+ function P() {
235
439
  p.value++, C();
236
440
  }
237
- function L() {
441
+ function F() {
238
442
  p.value = Math.max(0, p.value - 1), p.value === 0 && l.value === "hover" && (C(), f = setTimeout(() => {
239
- p.value === 0 && l.value === "hover" && D();
443
+ p.value === 0 && l.value === "hover" && E();
240
444
  }, Math.min(t, 800)));
241
445
  }
242
- function R(e) {
446
+ function I(e) {
243
447
  if (s() || i?.value) return;
244
448
  let t = n.value;
245
- !t || t.contains(e.target) || xe(e.target, a) || k();
449
+ !t || t.contains(e.target) || Ge(e.target, a) || O();
246
450
  }
247
- return J(u, (e) => {
248
- e ? (E(), g = requestAnimationFrame(() => {
249
- g = null, u.value && (document.addEventListener("pointerdown", R, !0), h = () => {
250
- document.removeEventListener("pointerdown", R, !0), h = null;
451
+ return q(u, (e) => {
452
+ e ? (T(), g = requestAnimationFrame(() => {
453
+ g = null, u.value && (document.addEventListener("pointerdown", I, !0), h = () => {
454
+ document.removeEventListener("pointerdown", I, !0), h = null;
251
455
  });
252
- })) : E();
253
- }), typeof r == "boolean" ? r && (l.value = "pinned", S()) : J(r, (e) => {
456
+ })) : T();
457
+ }), typeof r == "boolean" ? r && (l.value = "pinned", S()) : q(r, (e) => {
254
458
  if (e) {
255
459
  C(), l.value = "pinned", S();
256
460
  return;
257
461
  }
258
462
  l.value = "collapsed", S();
259
- }, { immediate: !0 }), B(() => {
260
- C(), y(), E();
463
+ }, { immediate: !0 }), se(() => {
464
+ C(), y(), T();
261
465
  }), {
262
466
  state: l,
263
467
  expanded: u,
264
468
  isPinned: d,
265
469
  isHeld: m,
266
- onMouseEnter: j,
267
- onMouseLeave: M,
268
- onFocusIn: N,
269
- onFocusOut: P,
270
- onClickCollapsed: F,
271
- keepOpen: I,
272
- release: L,
273
- expand: A,
274
- collapse: k
470
+ onMouseEnter: ee,
471
+ onMouseLeave: A,
472
+ onFocusIn: te,
473
+ onFocusOut: j,
474
+ onClickCollapsed: N,
475
+ keepOpen: P,
476
+ release: F,
477
+ expand: k,
478
+ collapse: O
275
479
  };
276
480
  }
277
481
  //#endregion
278
482
  //#region src/components/custom/dock/composables/dockMorphMeasure.ts
279
- function Ce(e) {
483
+ function qe(e) {
280
484
  return e === "vertical" ? "height" : "width";
281
485
  }
282
- function we(e) {
283
- return Ce(e) === "width" ? "inline-size" : "block-size";
284
- }
285
- function Te(e, t) {
286
- return e.getBoundingClientRect()[Ce(t)];
287
- }
288
- function Ee(e) {
289
- e.style.removeProperty("--dock-morph-from"), e.style.removeProperty("--dock-morph-to");
290
- }
291
- function De(e, t, n) {
292
- let r = [];
293
- for (let i of n) {
294
- if (i === e) continue;
295
- let n = i.containerEl.value;
296
- n && n !== t && t.contains(n) && r.push(i);
297
- }
298
- return r;
299
- }
300
- function Oe(e) {
301
- let t = e.containerEl.value;
302
- if (!t) return () => {};
303
- let n = we(e.axis.value), r = t.style.getPropertyValue(n);
304
- return t.style.setProperty(n, "max-content"), () => {
305
- r ? t.style.setProperty(n, r) : t.style.removeProperty(n);
306
- };
486
+ function Je(e, t) {
487
+ return e.getBoundingClientRect()[qe(t)];
307
488
  }
308
- function ke(e, t, n) {
309
- let r = e.axis.value, i = we(r);
310
- Ee(t);
311
- let a = De(e, t, n).map((e) => Oe(e)), o = t.style.getPropertyValue(i);
312
- t.style.setProperty(i, "max-content");
313
- let s = Te(t, r);
314
- o ? t.style.setProperty(i, o) : t.style.removeProperty(i);
315
- for (let e of a) e();
316
- return s;
489
+ function Ye(e) {
490
+ if (!e || typeof getComputedStyle != "function") return 44;
491
+ let t = getComputedStyle(e).getPropertyValue("--dock-morph-min").trim(), n = Number.parseFloat(t);
492
+ return Number.isFinite(n) && n > 0 ? n : 44;
317
493
  }
318
- function Ae(e, t, n, r, i) {
319
- if (t !== e.txId) return;
320
- let a = e.containerEl.value, o = n;
321
- if (!a || !o) return;
322
- let s = e.axis.value, c = ke(e, a, r);
323
- a.style.setProperty("--dock-morph-from", `${c}px`), a.style.setProperty("--dock-morph-to", `${c}px`), o.style.setProperty("--dock-morph-t", "1"), a.getBoundingClientRect()[Ce(s)], i.settleTarget(e), i.maybeSettleRoot();
494
+ function Xe(e) {
495
+ let { rootEl: t, contentEl: n, axis: r, expanded: i } = e, a = null, o = 0, s = 0;
496
+ function c(e) {
497
+ return e.hasAttribute("data-morphing");
498
+ }
499
+ function l() {
500
+ let e = t.value, a = n.value;
501
+ if (!e || !a) return;
502
+ let l = r.value, u = Ye(e);
503
+ if (s <= 0 && (s = u), !c(e)) {
504
+ let t = Je(e, l);
505
+ t > 0 && (i.value ? o = t : s = t);
506
+ }
507
+ let d = o > 0 ? o : Math.max(Je(a, l), s), f = Math.max(d, s);
508
+ e.style.setProperty("--dock-collapsed-px", `${s}px`), e.style.setProperty("--dock-expanded-px", `${f}px`);
509
+ }
510
+ function u(e) {
511
+ a &&= (a.disconnect(), null), !(!e || typeof ResizeObserver > "u") && (a = new ResizeObserver(() => l()), n.value && a.observe(n.value), a.observe(e), l());
512
+ }
513
+ q(t, (e) => u(e), { immediate: !0 }), q(n, () => u(t.value)), q(i, () => l());
514
+ let d = typeof document < "u" ? document.fonts : void 0;
515
+ d && d.ready.then(() => l()), oe(() => {
516
+ a && a.disconnect(), a = null;
517
+ });
324
518
  }
325
519
  //#endregion
326
520
  //#region src/components/custom/dock/composables/dockMorphContext.ts
327
- var je = d(g), { KEY: Me } = je;
328
- function Ne(e) {
329
- je.provide(e);
521
+ var Ze = h(b), { KEY: Qe } = Ze;
522
+ function $e(e) {
523
+ Ze.provide(e);
330
524
  }
331
- var Pe = je.use;
332
- function Fe(e) {
525
+ var et = Ze.use;
526
+ function tt(e) {
333
527
  let { rootEl: t, outerEl: n, outerActiveLayer: r, outerAxis: i } = e, a = null, o = /* @__PURE__ */ new Set();
334
528
  function s() {
335
529
  return t.value;
@@ -338,177 +532,124 @@ function Fe(e) {
338
532
  a &&= (a.dispose(), null);
339
533
  }
340
534
  function l() {
341
- return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
535
+ let e = s();
536
+ return !!e && e.hasAttribute("data-morphing");
342
537
  }
343
- function u() {
344
- for (let e of o) {
345
- let t = e.containerEl.value;
346
- if (t && t.style.getPropertyValue("--dock-morph-to")) return !0;
347
- }
348
- return !1;
538
+ function u(e) {
539
+ e.leavingLayer.value = null;
349
540
  }
350
- function d(e) {
351
- let t = e.containerEl.value;
352
- t && Ee(t), e.leavingLayer.value = null;
541
+ function d() {
542
+ let e = s();
543
+ e && (e.style.removeProperty("--dock-morph-t"), e.removeAttribute("data-morphing"), e.removeAttribute("data-punching")), c();
353
544
  }
354
545
  function f() {
355
- if (u()) return;
356
546
  let e = s();
357
- e && (e.style.removeProperty("--dock-morph-t"), e.removeAttribute("data-morphing")), c();
358
- }
359
- function p() {
360
- if (!s()) return;
361
- let e = a !== null && !a.settled ? a.velocity : 0;
362
- if (!a || a.settled) {
363
- c(), a = new pe({
364
- response: v.response,
365
- dampingFraction: v.dampingFraction,
366
- initial: 0,
367
- respectReducedMotion: !0
368
- });
369
- let t = a;
370
- t.reset(0, e), t.target = 1, t.play((e) => {
371
- let n = s();
372
- if (n && n.style.setProperty("--dock-morph-t", `${e}`), t.settled) {
373
- for (let e of o) {
374
- let t = e.containerEl.value;
375
- t && t.style.getPropertyValue("--dock-morph-to") && d(e);
376
- }
377
- f();
378
- }
379
- });
380
- } else a.reset(0, e), a.target = 1;
381
- }
382
- function m(e, t, n, r) {
383
- if (t !== e.txId) return;
384
- let i = e.containerEl.value, a = s();
385
- if (!(!i || !a)) {
386
- if (Math.abs(r - n) < .5) {
387
- d(e), f();
388
- return;
547
+ if (!e) return;
548
+ let t = a !== null && !a.settled ? a.velocity : 0;
549
+ c(), a = new X({
550
+ response: S.response,
551
+ dampingFraction: S.dampingFraction,
552
+ initial: 0,
553
+ respectReducedMotion: !0
554
+ });
555
+ let n = a;
556
+ n.reset(0, t), n.target = 1, e.setAttribute("data-morphing", ""), e.setAttribute("data-punching", ""), e.style.setProperty("--dock-morph-t", "0"), n.play((e) => {
557
+ let t = s();
558
+ if (t && (t.style.setProperty("--dock-morph-t", `${e}`), e > .5 && t.hasAttribute("data-punching") && t.removeAttribute("data-punching")), n.settled) {
559
+ let e = s();
560
+ e && e.removeAttribute("data-punching");
561
+ for (let e of o) u(e);
562
+ d();
389
563
  }
390
- i.style.setProperty("--dock-morph-from", `${n}px`), i.style.setProperty("--dock-morph-to", `${r}px`), a.setAttribute("data-morphing", ""), p();
391
- }
564
+ });
392
565
  }
393
- let h = {
394
- settleTarget: d,
395
- maybeSettleRoot: f
396
- };
397
- function g(e, t, n) {
398
- if (t === n) return;
399
- let r = e.containerEl.value, i = s();
400
- if (!r || !i) {
401
- e.currentLayer.value = t, e.leavingLayer.value = null;
402
- return;
403
- }
404
- let a = ++e.txId, c = e.axis.value, u = Te(r, c);
405
- e.leavingLayer.value = n, e.currentLayer.value = t;
406
- for (let t of o) {
407
- if (t === e) continue;
408
- let n = t.containerEl.value;
409
- if (n && n.style.getPropertyValue("--dock-morph-to")) {
410
- let e = Te(n, t.axis.value);
411
- n.style.setProperty("--dock-morph-from", `${e}px`);
566
+ function p(e, t, n) {
567
+ if (t !== n) {
568
+ if (!s()) {
569
+ e.currentLayer.value = t, e.leavingLayer.value = null;
570
+ return;
412
571
  }
572
+ e.leavingLayer.value = n, e.currentLayer.value = t, f();
413
573
  }
414
- if (r.style.setProperty("--dock-morph-from", `${u}px`), r.style.setProperty("--dock-morph-to", `${u}px`), i.style.setProperty("--dock-morph-t", "0"), i.setAttribute("data-morphing", ""), l()) {
415
- P(() => Ae(e, a, s(), o, h));
416
- return;
417
- }
418
- requestAnimationFrame(() => {
419
- if (a !== e.txId) return;
420
- let t = e.containerEl.value, n = s();
421
- if (!t || !n) return;
422
- Ee(t);
423
- let r = we(c), i = De(e, t, o).map((e) => Oe(e));
424
- t.style.setProperty(r, "max-content");
425
- let l = Te(t, c);
426
- t.style.removeProperty(r);
427
- for (let e of i) e();
428
- m(e, a, u, l);
429
- });
430
574
  }
431
- function _(e) {
575
+ function m(e) {
432
576
  let t = {
433
577
  containerEl: e.containerEl,
434
- activeLayer: e.activeLayer,
435
578
  axis: e.axis,
436
- currentLayer: U(e.activeLayer.value),
437
- leavingLayer: U(null),
438
- txId: 0,
579
+ activeLayer: e.activeLayer,
580
+ currentLayer: W(e.activeLayer.value),
581
+ leavingLayer: W(null),
439
582
  stop: () => {}
440
583
  };
441
- return t.stop = J(e.activeLayer, (e, n) => {
442
- g(t, e, n);
584
+ return t.stop = q(e.activeLayer, (e, n) => {
585
+ p(t, e, n);
443
586
  }), o.add(t), t;
444
587
  }
445
- function y(e) {
446
- e.stop(), o.delete(e), f();
588
+ function h(e) {
589
+ e.stop(), o.delete(e), l() || c();
447
590
  }
448
- let b = _({
591
+ let g = m({
449
592
  containerEl: n,
450
593
  activeLayer: r,
451
594
  axis: i
452
- }), x = { registerGroup(e) {
453
- let t = _(e);
595
+ }), _ = { registerGroup(e) {
596
+ let t = m(e);
454
597
  return {
455
- currentLayer: H(t.currentLayer),
456
- leavingLayer: H(t.leavingLayer),
457
- release: () => y(t)
598
+ currentLayer: U(t.currentLayer),
599
+ leavingLayer: U(t.leavingLayer),
600
+ release: () => h(t)
458
601
  };
459
602
  } };
460
- function S(e) {
603
+ function v(e) {
461
604
  let t = n.value;
462
- if (!t || e.target !== t) return;
463
- let r = we(i.value);
464
- e.propertyName !== r && e.propertyName !== Ce(i.value) || a && a.settled && (d(b), f());
605
+ !t || e.target !== t || e.propertyName !== "width" && e.propertyName !== "height" && e.propertyName !== qe(i.value) || a && a.settled && (u(g), d());
465
606
  }
466
- return B(() => {
607
+ return se(() => {
467
608
  for (let e of o) e.stop();
468
609
  o.clear(), c();
469
610
  }), {
470
- context: x,
471
- outerCurrentLayer: H(b.currentLayer),
472
- onOuterTransitionEnd: S
611
+ context: _,
612
+ outerCurrentLayer: U(g.currentLayer),
613
+ onOuterTransitionEnd: v
473
614
  };
474
615
  }
475
616
  //#endregion
476
617
  //#region src/components/custom/dock/composables/useDockShellProps.ts
477
- function Ie(e) {
478
- let t = T(() => {
618
+ function nt(e) {
619
+ let t = M(() => {
479
620
  if (e.containerName) return {
480
621
  "container-type": "inline-size",
481
622
  "container-name": e.containerName
482
623
  };
483
- }), n = T(() => e.collapseDelay ?? 2e3), r = T(() => e.layout ?? "linear"), i = T(() => e.shape ?? "pill"), a = T(() => e.orientation ?? "horizontal"), o = T(() => e.density ?? "comfortable"), s = T(() => e.overflow === "scroll" ? a.value === "vertical" ? "dock-scroll-y" : "dock-scroll-x" : null), c = T(() => e.alwaysExpanded || r.value === "grid");
624
+ }), n = M(() => e.collapseDelay ?? 3600), r = M(() => e.layout ?? "linear"), i = M(() => e.shape ?? "pill"), a = M(() => e.orientation ?? "horizontal"), o = M(() => e.density ?? "comfortable"), s = M(() => e.overflow === "scroll" ? a.value === "vertical" ? "dock-scroll-y" : "dock-scroll-x" : null), c = M(() => e.alwaysExpanded || r.value === "grid");
484
625
  return {
485
626
  containerStyle: t,
486
627
  collapseDelay: n,
487
- startCollapsed: T(() => c.value ? !1 : e.startCollapsed ?? !0),
628
+ startCollapsed: M(() => c.value ? !1 : e.startCollapsed ?? !0),
488
629
  layoutValue: r,
489
630
  shape: i,
490
631
  orientation: a,
491
632
  density: o,
492
633
  scrollClass: s,
493
634
  alwaysExpanded: c,
494
- fitContent: T(() => e.fitContent ?? !1)
635
+ fitContent: M(() => e.fitContent ?? !1)
495
636
  };
496
637
  }
497
638
  //#endregion
498
639
  //#region src/components/custom/dock/composables/useDockMorphWindow.ts
499
- function Le(e) {
640
+ function rt(e) {
500
641
  let t = e.trim();
501
642
  return t ? t.endsWith("ms") ? Number.parseFloat(t) : t.endsWith("s") ? Number.parseFloat(t) * 1e3 : Number.parseFloat(t) || 0 : 0;
502
643
  }
503
- function Re(e) {
504
- let t = getComputedStyle(e), n = t.transitionDuration.split(",").map(Le), r = t.transitionDelay.split(",").map(Le);
644
+ function it(e) {
645
+ let t = getComputedStyle(e), n = t.transitionDuration.split(",").map(rt), r = t.transitionDelay.split(",").map(rt);
505
646
  return Math.max(0, ...n.map((e, t) => e + (r[t] ?? r[0] ?? 0)));
506
647
  }
507
- function ze(e) {
508
- let t = Le(getComputedStyle(e).getPropertyValue("--duration-normal") || "0.3s");
648
+ function at(e) {
649
+ let t = rt(getComputedStyle(e).getPropertyValue("--duration-normal") || "0.3s");
509
650
  return Math.max(t > 0 ? t * 2 : 0, 600);
510
651
  }
511
- function Be(e, t) {
652
+ function ot(e, t) {
512
653
  let n = null, r = 0;
513
654
  function i() {
514
655
  n &&= (clearTimeout(n), null);
@@ -519,12 +660,12 @@ function Be(e, t) {
519
660
  let o = ++r;
520
661
  i(), t.value = !0, n = setTimeout(() => {
521
662
  o === r && (t.value = !1, n = null);
522
- }, Math.max(Re(a), ze(a)) + 50);
663
+ }, Math.max(it(a), at(a)) + 50);
523
664
  }
524
665
  function o(n) {
525
- n.target === e.value && p.has(n.propertyName) && (i(), r++, t.value = !1);
666
+ n.target === e.value && _.has(n.propertyName) && (i(), r++, t.value = !1);
526
667
  }
527
- return L(i), {
668
+ return ie(i), {
528
669
  markTransitioning: a,
529
670
  onDockTransitionDone: o,
530
671
  clearTransitionTimer: i
@@ -532,15 +673,15 @@ function Be(e, t) {
532
673
  }
533
674
  //#endregion
534
675
  //#region src/components/custom/dock/composables/useDockClickIntegrity.ts
535
- function Ve(e) {
676
+ function st(e) {
536
677
  let { rootEl: t, visualExpanded: n } = e, r = null, i = !1, a = 0, o = null;
537
678
  function s() {
538
679
  o !== null && (clearTimeout(o), o = null);
539
680
  }
540
681
  function c() {
541
- a = l() + 320, s(), o = setTimeout(() => {
682
+ a = l() + 840, s(), o = setTimeout(() => {
542
683
  o = null;
543
- }, 320);
684
+ }, 840);
544
685
  }
545
686
  function l() {
546
687
  return typeof performance < "u" && typeof performance.now == "function" ? performance.now() : Date.now();
@@ -576,22 +717,142 @@ function Ve(e) {
576
717
  e.stopPropagation(), e.preventDefault(), r = null;
577
718
  }
578
719
  }
579
- return L(s), {
720
+ return ie(s), {
580
721
  onPointerDownCapture: f,
581
722
  onClickCapture: m,
582
723
  markExpandFlip: c
583
724
  };
584
725
  }
585
726
  //#endregion
727
+ //#region src/components/custom/dock/composables/useDockItemDrag.ts
728
+ function ct() {
729
+ return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
730
+ }
731
+ function lt(e) {
732
+ if (!e) return [];
733
+ let t = e.querySelector(".dock-layer.is-active") ?? e, n = Array.from(t.querySelectorAll("[data-dock-draggable]"));
734
+ return n.length ? n : Array.from(t.querySelectorAll(".dock-icon-button"));
735
+ }
736
+ function ut(e) {
737
+ let t = W(!1), n = null, r = -1, i = -1, s = [], c = 0, l = 0, u = null, d = !1, f = 0, p = 0, m = o({
738
+ from: 0,
739
+ to: 1,
740
+ axis: "width",
741
+ squishLaw: "tanh",
742
+ maxStretch: () => 1.12
743
+ }), { response: h, dampingFraction: g } = a("dock"), _ = null, v = null;
744
+ function y() {
745
+ if (_) return _;
746
+ let e = new X({
747
+ response: h,
748
+ dampingFraction: g,
749
+ respectReducedMotion: !0
750
+ });
751
+ return _ = e, v = e.subscribe((r) => {
752
+ if (n && t.value === !1 && d) {
753
+ let t = (1 - r) * f;
754
+ x(n, t), ct() || m.drive(Math.min(1, r)), e.settled && (d = !1, D());
755
+ }
756
+ }), e.play(() => {}), e;
757
+ }
758
+ function b(e, t) {
759
+ let n = e.getBoundingClientRect();
760
+ return t ? n.left + n.width / 2 : n.top + n.height / 2;
761
+ }
762
+ function x(t, n) {
763
+ let r = e.axis() === "x";
764
+ t.style.transform = r ? `translateX(${n}px)` : `translateY(${n}px)`, t.style.setProperty("--stretch", ct() ? "1" : `${m.stretch.value}`);
765
+ }
766
+ function S(e) {
767
+ e.style.transform = "", e.style.removeProperty("--stretch"), e.classList.remove("glass-drag-lift"), e.style.removeProperty("z-index"), e.style.removeProperty("position");
768
+ }
769
+ function C(i) {
770
+ if (!e.enabled() || t.value || d) return;
771
+ let a = e.rootEl.value;
772
+ if (!a) return;
773
+ let o = i.target?.closest("[data-dock-draggable], .dock-icon-button");
774
+ if (!o || !a.contains(o)) return;
775
+ let f = lt(a), p = f.indexOf(o);
776
+ if (p < 0) return;
777
+ let m = e.axis() === "x";
778
+ s = f.map((e) => b(e, m)), n = o, r = p, l = s[p], c = m ? i.clientX : i.clientY, u = i.pointerId, t.value = !0, o.classList.add("glass-drag-lift"), o.style.position = "relative", o.style.zIndex = "20";
779
+ try {
780
+ o.setPointerCapture(i.pointerId);
781
+ } catch {}
782
+ i.preventDefault();
783
+ }
784
+ function w(r) {
785
+ if (!t.value || !n || u != null && r.pointerId !== u) return;
786
+ let i = (e.axis() === "x" ? r.clientX : r.clientY) - c;
787
+ ct() || m.drive(Math.min(1, Math.abs(i) / 120)), x(n, i);
788
+ }
789
+ function T(e) {
790
+ let t = r, n = Infinity;
791
+ return s.forEach((r, i) => {
792
+ let a = Math.abs(r - e);
793
+ a < n && (n = a, t = i);
794
+ }), t;
795
+ }
796
+ function E(r) {
797
+ if (!t.value || !n || u != null && r.pointerId !== u) return;
798
+ t.value = !1;
799
+ let a = (e.axis() === "x" ? r.clientX : r.clientY) - c, o = l + a, m = T(o);
800
+ if (p = s[m], f = o - p, i = m, ct()) {
801
+ d = !1, n && x(n, 0), D();
802
+ return;
803
+ }
804
+ d = !0;
805
+ let h = y();
806
+ h.reset(0, 0), h.target = 1;
807
+ }
808
+ function D() {
809
+ let t = e.rootEl.value, a = r, o = i, s = n;
810
+ if (s && S(s), t && s && a >= 0 && o >= 0 && a !== o) {
811
+ let n = lt(t)[o];
812
+ if (n && s.parentElement) {
813
+ let t = s.parentElement;
814
+ a < o ? t.insertBefore(s, n.nextSibling) : t.insertBefore(s, n), e.onReorder?.(a, o);
815
+ }
816
+ }
817
+ n = null, r = -1, i = -1;
818
+ }
819
+ function O() {
820
+ typeof window > "u" || (window.addEventListener("pointermove", w), window.addEventListener("pointerup", E), window.addEventListener("pointercancel", E));
821
+ }
822
+ function k() {
823
+ typeof window > "u" || (window.removeEventListener("pointermove", w), window.removeEventListener("pointerup", E), window.removeEventListener("pointercancel", E));
824
+ }
825
+ let ee = q(() => [e.rootEl.value, e.enabled()], ([e, t], n, r) => {
826
+ e && t && (e.addEventListener("pointerdown", C), O(), r(() => {
827
+ e.removeEventListener("pointerdown", C), k();
828
+ }));
829
+ }, { immediate: !0 });
830
+ function A() {
831
+ ee(), k(), v?.(), _ = null;
832
+ }
833
+ return ie(A), {
834
+ dragging: t,
835
+ detach: A
836
+ };
837
+ }
838
+ //#endregion
586
839
  //#region src/components/custom/dock/GlassDock.vue?vue&type=script&setup=true&lang.ts
587
- var He = ["data-has-rail"], Ue = [
840
+ var dt = [
841
+ "data-has-rail",
842
+ "data-splittable",
843
+ "data-fissioned"
844
+ ], ft = [
588
845
  "data-density",
589
846
  "data-held",
847
+ "data-search",
590
848
  "data-container-name"
591
- ], We = {
849
+ ], pt = {
592
850
  key: 0,
593
851
  class: "dock-persistent"
594
- }, Ge = ["inert"], Ke = ["inert"], qe = /* @__PURE__ */ j({
852
+ }, mt = ["inert"], ht = ["inert"], gt = {
853
+ key: 0,
854
+ class: "dock-search-field"
855
+ }, _t = ["aria-hidden"], vt = ["inert"], yt = 36, bt = /* @__PURE__ */ R({
595
856
  inheritAttrs: !1,
596
857
  __name: "GlassDock",
597
858
  props: {
@@ -611,139 +872,260 @@ var He = ["data-has-rail"], Ue = [
611
872
  Function,
612
873
  String,
613
874
  null
614
- ] }
875
+ ] },
876
+ search: { type: Boolean },
877
+ splittable: { type: Boolean },
878
+ splitContext: {},
879
+ splitPlacement: {},
880
+ draggableItems: { type: Boolean }
615
881
  },
616
- setup(e, { expose: t }) {
617
- let n = e, { containerStyle: r, collapseDelay: i, startCollapsed: a, layoutValue: o, shape: l, orientation: u, density: d, scrollClass: f, alwaysExpanded: p, fitContent: m } = Ie(n), g = o, _ = q("dockEl"), v = q("layersEl");
618
- n.autoLuminance !== !1 && be(_, { backgroundCanvas: n.backgroundCanvas ?? null });
619
- let y = U(!1), b = c(i.value), x = `glass-dock-${ne()}`, { expanded: S, isPinned: C, isHeld: w, onMouseEnter: E, onMouseLeave: A, onFocusIn: j, onFocusOut: M, onClickCollapsed: P, keepOpen: I, release: L, expand: z, collapse: B } = Se({
620
- collapseDelay: i.value,
882
+ emits: ["update:order"],
883
+ setup(e, { expose: t, emit: n }) {
884
+ let r = e, i = n, { containerStyle: a, collapseDelay: o, startCollapsed: s, layoutValue: c, shape: l, orientation: u, density: d, scrollClass: p, alwaysExpanded: m, fitContent: h } = nt(r), g = c, _ = he("dockEl"), v = he("layersEl");
885
+ r.autoLuminance !== !1 && We(_, { backgroundCanvas: r.backgroundCanvas ?? null });
886
+ let b = W(!1), x = f(o.value), S = `glass-dock-${fe()}`, { expanded: C, isPinned: w, isHeld: T, onMouseEnter: E, onMouseLeave: D, onFocusIn: O, onFocusOut: k, onClickCollapsed: ee, keepOpen: A, release: te, expand: j, collapse: N } = Ke({
887
+ collapseDelay: o.value,
621
888
  rootEl: _,
622
- alwaysExpanded: p,
623
- isTransitioning: y,
624
- dockId: x
889
+ alwaysExpanded: m,
890
+ isTransitioning: b,
891
+ dockId: S
625
892
  });
626
- h({
627
- id: x,
893
+ y({
894
+ id: S,
628
895
  orientation: u,
629
896
  layout: g,
630
- keepOpen: I,
631
- release: L,
632
- held: w
897
+ keepOpen: A,
898
+ release: te,
899
+ held: T
633
900
  });
634
- let H = T(() => p.value || S.value), ee = ie(), G = T(() => !!ee.rail), te = q("frameEl");
635
- function re() {
636
- let e = te.value;
637
- if (!e || !G.value) return;
638
- let t = _.value?.querySelector("[data-rail-anchor]");
639
- if (!t) {
640
- e.style.removeProperty("--dock-rail-seam-offset");
641
- return;
642
- }
643
- let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), i = u.value === "vertical" ? r.top + r.height / 2 - n.top : r.left + r.width / 2 - n.left;
644
- e.style.setProperty("--dock-rail-seam-offset", `${Math.round(i)}px`);
645
- }
646
- s(_, () => re()), R(() => re()), J([u, G], () => re(), { flush: "post" });
647
- let { context: Y, onOuterTransitionEnd: X } = Fe({
901
+ let L = M(() => m.value || C.value), R = me(), ne = M(() => !!R.rail), V = he("frameEl"), oe = M(() => L.value ? "full" : "summary"), se = M(() => u.value), { context: U, onOuterTransitionEnd: ce } = tt({
648
902
  rootEl: _,
649
903
  outerEl: v,
650
- outerActiveLayer: T(() => H.value ? "full" : "summary"),
651
- outerAxis: T(() => u.value)
904
+ outerActiveLayer: oe,
905
+ outerAxis: se
652
906
  });
653
- Ne(Y);
654
- let Z = T(() => ({ "view-transition-name": x.replace(/[^a-zA-Z0-9_-]/g, "-") })), { markTransitioning: ae, onDockTransitionDone: Q } = Be(_, y), { onPointerDownCapture: oe, onClickCapture: se, markExpandFlip: ce } = Ve({
907
+ $e(U), Xe({
655
908
  rootEl: _,
656
- visualExpanded: H
909
+ contentEl: v,
910
+ axis: se,
911
+ expanded: L
657
912
  });
658
- R(() => {
659
- (n.alwaysExpanded || !a.value) && z();
913
+ let le = M(() => ({ "view-transition-name": S.replace(/[^a-zA-Z0-9_-]/g, "-") })), { markTransitioning: de, onDockTransitionDone: pe } = ot(_, b), { onPointerDownCapture: J, onClickCapture: ge, markExpandFlip: _e } = st({
914
+ rootEl: _,
915
+ visualExpanded: L
660
916
  });
661
- function le() {
662
- return !p.value;
917
+ ae(() => {
918
+ (r.alwaysExpanded || !s.value) && j();
919
+ });
920
+ function ve() {
921
+ return !m.value;
663
922
  }
664
- function ue(e) {
665
- if (!le() || H.value) return;
923
+ function ye(e) {
924
+ if (!ve() || L.value) return;
666
925
  let t = _.value, n = e.touches[0];
667
- !t || !n || b.handleTouchStart(t, n.clientY);
926
+ !t || !n || x.handleTouchStart(t, n.clientY);
668
927
  }
669
- function de(e) {
670
- le() && b.handleScrollCheck(e);
928
+ function be(e) {
929
+ ve() && x.handleScrollCheck(e);
671
930
  }
672
- function fe() {
673
- if (!le()) return;
674
- let e = b.isActive.value;
675
- b.handleTouchEnd(), !e && b.isActive.value && !H.value && z();
931
+ function xe() {
932
+ if (!ve()) return;
933
+ let e = x.isActive.value;
934
+ x.handleTouchEnd(), !e && x.isActive.value && !L.value && j();
676
935
  }
677
- return J(b.isActive, (e) => {
678
- !e && S.value && !C.value && !p.value && B();
679
- }), J(H, (e) => {
680
- ae(), e ? ce() : b.deactivate();
681
- }), t({
682
- expanded: S,
683
- isPinned: C,
684
- isHeld: w,
685
- isTransitioning: y,
686
- expand: z,
687
- collapse: B,
688
- keepOpen: I,
689
- release: L
690
- }), (t, n) => (V(), O("div", {
936
+ q(x.isActive, (e) => {
937
+ !e && C.value && !w.value && !m.value && N();
938
+ }), q(L, (e) => {
939
+ de(), e ? _e() : x.deactivate();
940
+ });
941
+ let Se = ue(Ae[r.splitContext ?? "nav"]);
942
+ q(() => r.splitContext, (e) => {
943
+ Se.value = Ae[e ?? "nav"];
944
+ });
945
+ let Ce = ue(r.splitPlacement ?? "beside");
946
+ q(() => r.splitPlacement, (e) => {
947
+ Ce.value = e ?? "beside";
948
+ });
949
+ let Y = r.splittable ? je({
950
+ rootEl: V,
951
+ signature: Se,
952
+ placement: Ce
953
+ }) : null, we = Y ? Y.fissioned : M(() => !1), Te = [];
954
+ function Ee() {
955
+ let e = _.value;
956
+ if (!e) return {
957
+ x: 0,
958
+ y: 0
959
+ };
960
+ let t = e.getBoundingClientRect();
961
+ return {
962
+ x: t.left + t.width / 2,
963
+ y: t.top + t.height / 2
964
+ };
965
+ }
966
+ function X() {
967
+ let e = _.value;
968
+ if (!e || !Y) return;
969
+ for (let e of Te.splice(0)) e.release();
970
+ let t = Array.from(e.querySelectorAll("[data-dock-splittable]")), n = r.splitContext ?? "nav";
971
+ t.forEach((e, t) => {
972
+ e.classList.add("dock-fission-piece");
973
+ let r = Y.registerPiece({
974
+ el: W(e),
975
+ rank: t,
976
+ vector: () => {
977
+ let t = Ee(), r = e.getBoundingClientRect(), i = r.left + r.width / 2, a = r.top + r.height / 2, o = i - t.x, s = a - t.y, c = Math.hypot(o, s) || 1;
978
+ return o /= c, s /= c, n === "nav" && (o = -o, s = -s), n === "media" && (s *= .25), {
979
+ dx: o,
980
+ dy: s
981
+ };
982
+ }
983
+ });
984
+ Te.push(r);
985
+ });
986
+ }
987
+ Y && (ae(() => {
988
+ re(X);
989
+ }), ie(() => {
990
+ for (let e of Te.splice(0)) e.release();
991
+ }));
992
+ let De = ut({
993
+ rootEl: _,
994
+ enabled: () => r.draggableItems === !0,
995
+ axis: () => u.value === "vertical" ? "y" : "x",
996
+ onReorder: (e, t) => i("update:order", e, t)
997
+ }).dragging;
998
+ function Oe(e) {
999
+ if (Y?.onPointerMove(e), ke) {
1000
+ let t = e.clientX - ke.x, n = e.clientY - ke.y;
1001
+ Math.hypot(t, n) > yt && Y && !Y.fissioned.value && Q();
1002
+ }
1003
+ }
1004
+ let ke = null;
1005
+ function Z(e) {
1006
+ Y && e.target?.closest("[data-dock-splittable]") && (ke = {
1007
+ x: e.clientX,
1008
+ y: e.clientY
1009
+ });
1010
+ }
1011
+ function Me() {
1012
+ ke = null;
1013
+ }
1014
+ function Q() {
1015
+ Y && (X(), Y.split());
1016
+ }
1017
+ function $() {
1018
+ Y?.merge();
1019
+ }
1020
+ function Ne() {
1021
+ Y && (X(), Y.toggle());
1022
+ }
1023
+ return t({
1024
+ expanded: C,
1025
+ isPinned: w,
1026
+ isHeld: T,
1027
+ isTransitioning: b,
1028
+ expand: j,
1029
+ collapse: N,
1030
+ keepOpen: A,
1031
+ release: te,
1032
+ split: Q,
1033
+ merge: $,
1034
+ toggleSplit: Ne,
1035
+ fissioned: Y ? Y.fissioned : M(() => !1)
1036
+ }), (t, n) => (H(), F("div", {
691
1037
  ref_key: "frameEl",
692
- ref: te,
693
- class: F(["glass-dock-frame", K(u)]),
694
- "data-has-rail": G.value || void 0
695
- }, [k("div", N({
696
- ref_key: "dockEl",
697
- ref: _
698
- }, t.$attrs, {
699
- class: ["glass-dock", [
700
- K(u),
701
- `shape-${K(l)}`,
702
- `layout-${K(g)}`,
703
- K(f),
704
- {
705
- expanded: H.value,
706
- collapsed: !H.value,
707
- pinned: K(C),
708
- "fit-content": K(m),
709
- "always-expanded": K(p),
710
- "dock-overflow-wrap": e.overflow === "wrap" && K(u) !== "vertical"
711
- },
712
- e.position === "fixed" ? "fixed bottom-(--dock-pos) left-1/2 -translate-x-1/2" : e.position === "sticky" ? "dock-sticky" : "dock-inline"
713
- ]],
714
- "data-density": K(d),
715
- "data-held": K(w) || void 0,
716
- "data-container-name": e.containerName || void 0,
717
- style: [K(r), Z.value],
718
- onMouseenter: n[2] ||= (...e) => K(E) && K(E)(...e),
719
- onMouseleave: n[3] ||= (e) => K(A)(e),
720
- onFocusin: n[4] ||= (...e) => K(j) && K(j)(...e),
721
- onFocusout: n[5] ||= (...e) => K(M) && K(M)(...e),
722
- onTouchstart: ue,
723
- onTouchmove: de,
724
- onTouchend: fe,
725
- onPointerdownCapture: n[6] ||= (...e) => K(oe) && K(oe)(...e),
726
- onClickCapture: n[7] ||= (...e) => K(se) && K(se)(...e),
727
- onTransitionend: n[8] ||= (...e) => K(Q) && K(Q)(...e),
728
- onTransitioncancel: n[9] ||= (...e) => K(Q) && K(Q)(...e)
729
- }), [t.$slots.persistent ? (V(), O("div", We, [W(t.$slots, "persistent")])) : D("", !0), k("div", {
730
- ref_key: "layersEl",
731
- ref: v,
732
- class: "dock-layers",
733
- onTransitionend: n[1] ||= (...e) => K(X) && K(X)(...e)
734
- }, [k("div", {
735
- class: F(["dock-layer dock-layer--full", { "is-active": H.value }]),
736
- inert: !K(S) || void 0
737
- }, [W(t.$slots, "default")], 10, Ge), k("div", {
738
- class: F(["dock-layer dock-layer--summary", { "is-active": !H.value }]),
739
- inert: K(S) || void 0,
740
- onClick: n[0] ||= (...e) => K(P) && K(P)(...e)
741
- }, [W(t.$slots, "collapsed")], 10, Ke)], 544)], 16, Ue), G.value ? (V(), O("div", {
742
- key: 0,
743
- class: F(["dock-hairline-slot", K(u)])
744
- }, [W(t.$slots, "rail")], 2)) : D("", !0)], 10, He));
1038
+ ref: V,
1039
+ class: B(["glass-dock-frame", K(u)]),
1040
+ "data-has-rail": ne.value || void 0,
1041
+ "data-splittable": e.splittable || void 0,
1042
+ "data-fissioned": K(we) || void 0
1043
+ }, [
1044
+ I("div", z({
1045
+ ref_key: "dockEl",
1046
+ ref: _
1047
+ }, t.$attrs, {
1048
+ class: ["glass-dock", [
1049
+ K(u),
1050
+ `shape-${K(l)}`,
1051
+ `layout-${K(g)}`,
1052
+ K(p),
1053
+ {
1054
+ expanded: L.value,
1055
+ collapsed: !L.value,
1056
+ pinned: K(w),
1057
+ "fit-content": K(h),
1058
+ "always-expanded": K(m),
1059
+ "dock-overflow-wrap": e.overflow === "wrap" && K(u) !== "vertical"
1060
+ },
1061
+ {
1062
+ "glass-drag-grabbable": e.draggableItems && !K(De),
1063
+ "dock-items-draggable": e.draggableItems
1064
+ },
1065
+ e.position === "fixed" ? "fixed bottom-(--dock-pos) left-1/2 -translate-x-1/2" : e.position === "sticky" ? "dock-sticky" : "dock-inline"
1066
+ ]],
1067
+ "data-density": K(d),
1068
+ "data-held": K(T) || void 0,
1069
+ "data-search": e.search || void 0,
1070
+ "data-container-name": e.containerName || void 0,
1071
+ style: [K(a), le.value],
1072
+ onMouseenter: n[2] ||= (...e) => K(E) && K(E)(...e),
1073
+ onMouseleave: n[3] ||= (e) => K(D)(e),
1074
+ onFocusin: n[4] ||= (...e) => K(O) && K(O)(...e),
1075
+ onFocusout: n[5] ||= (...e) => K(k) && K(k)(...e),
1076
+ onTouchstart: ye,
1077
+ onTouchmove: be,
1078
+ onTouchend: xe,
1079
+ onPointerdownCapture: n[6] ||= (...e) => K(J) && K(J)(...e),
1080
+ onClickCapture: n[7] ||= (...e) => K(ge) && K(ge)(...e),
1081
+ onPointermove: n[8] ||= (t) => e.splittable ? Oe(t) : void 0,
1082
+ onPointerdown: n[9] ||= (t) => e.splittable ? Z(t) : void 0,
1083
+ onPointerup: n[10] ||= (t) => e.splittable ? Me() : void 0,
1084
+ onPointercancel: n[11] ||= (t) => e.splittable ? Me() : void 0,
1085
+ onTransitionend: n[12] ||= (...e) => K(pe) && K(pe)(...e),
1086
+ onTransitioncancel: n[13] ||= (...e) => K(pe) && K(pe)(...e)
1087
+ }), [
1088
+ n[14] ||= I("span", {
1089
+ class: "cartoon-cast",
1090
+ "aria-hidden": "true"
1091
+ }, null, -1),
1092
+ t.$slots.persistent ? (H(), F("div", pt, [G(t.$slots, "persistent")])) : P("", !0),
1093
+ I("div", {
1094
+ ref_key: "layersEl",
1095
+ ref: v,
1096
+ class: "dock-layers",
1097
+ onTransitionend: n[1] ||= (...e) => K(ce) && K(ce)(...e)
1098
+ }, [
1099
+ I("div", {
1100
+ class: B(["dock-layer dock-layer--full", { "is-active": L.value }]),
1101
+ inert: !L.value || void 0
1102
+ }, [G(t.$slots, "default")], 10, mt),
1103
+ I("div", {
1104
+ class: B(["dock-layer dock-layer--summary", { "is-active": !L.value }]),
1105
+ inert: L.value || void 0,
1106
+ onClick: n[0] ||= (...e) => K(ee) && K(ee)(...e)
1107
+ }, [G(t.$slots, "collapsed")], 10, ht),
1108
+ e.search ? (H(), F("div", gt, [G(t.$slots, "search")])) : P("", !0)
1109
+ ], 544)
1110
+ ], 16, ft),
1111
+ e.splittable ? (H(), F("div", {
1112
+ key: 0,
1113
+ class: B(["dock-fission-bridge", [K(u), `place-${Ce.value ?? "beside"}`]]),
1114
+ "aria-hidden": !K(we) || void 0
1115
+ }, [n[15] ||= I("div", {
1116
+ class: "dock-fission-neck",
1117
+ "aria-hidden": "true"
1118
+ }, null, -1), I("div", {
1119
+ class: "dock-fission-island",
1120
+ inert: !K(we) || void 0
1121
+ }, [G(t.$slots, "split", { fissioned: K(we) })], 8, vt)], 10, _t)) : P("", !0),
1122
+ ne.value ? (H(), F("div", {
1123
+ key: 1,
1124
+ class: B(["dock-hairline-slot", K(u)])
1125
+ }, [G(t.$slots, "rail")], 2)) : P("", !0)
1126
+ ], 10, dt));
745
1127
  }
746
- }), Je = /* @__PURE__ */ j({
1128
+ }), xt = /* @__PURE__ */ R({
747
1129
  __name: "Tabs",
748
1130
  props: {
749
1131
  defaultValue: {},
@@ -757,13 +1139,13 @@ var He = ["data-has-rail"], Ue = [
757
1139
  },
758
1140
  emits: ["update:modelValue"],
759
1141
  setup(e, { emit: t }) {
760
- let n = fe(e, t);
761
- return (e, t) => (V(), E(K(le), N({ "data-slot": "tabs" }, K(n)), {
762
- default: Y(() => [W(e.$slots, "default")]),
1142
+ let n = Ee(e, t);
1143
+ return (e, t) => (H(), N(K(Y), z({ "data-slot": "tabs" }, K(n)), {
1144
+ default: J(() => [G(e.$slots, "default")]),
763
1145
  _: 3
764
1146
  }, 16));
765
1147
  }
766
- }), Ye = /* @__PURE__ */ j({
1148
+ }), St = /* @__PURE__ */ R({
767
1149
  __name: "TabsTrigger",
768
1150
  props: {
769
1151
  value: {},
@@ -779,16 +1161,16 @@ var He = ["data-has-rail"], Ue = [
779
1161
  ] }
780
1162
  },
781
1163
  setup(t) {
782
- let n = t, r = de(T(() => {
1164
+ let n = t, r = Te(M(() => {
783
1165
  let { class: e, ...t } = n;
784
1166
  return t;
785
1167
  }));
786
- return (t, i) => (V(), E(K(ue), N({ "data-slot": "tabs-trigger" }, K(r), { class: K(e)("tap-squish focus-ring relative z-[1] inline-flex items-center justify-center whitespace-nowrap rounded-control p-1 px-3 text-sm font-medium transition-control disabled:pointer-events-none disabled:opacity-disabled data-[state=active]:text-[var(--active-tab-color,var(--foreground))] hover:text-foreground/70", n.class) }), {
787
- default: Y(() => [W(t.$slots, "default")]),
1168
+ return (t, i) => (H(), N(K(we), z({ "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) }), {
1169
+ default: J(() => [G(t.$slots, "default")]),
788
1170
  _: 3
789
1171
  }, 16, ["class"]));
790
1172
  }
791
- }), Xe = /* @__PURE__ */ j({
1173
+ }), Ct = /* @__PURE__ */ R({
792
1174
  __name: "TabsIndicator",
793
1175
  props: {
794
1176
  asChild: { type: Boolean },
@@ -806,13 +1188,13 @@ var He = ["data-has-rail"], Ue = [
806
1188
  }
807
1189
  },
808
1190
  setup(t) {
809
- let n = t, r = T(() => {
1191
+ let n = t, r = M(() => {
810
1192
  let { class: e, surface: t, ...r } = n;
811
1193
  return r;
812
1194
  });
813
- return (t, i) => (V(), E(K(se), N({ "data-slot": "tabs-indicator" }, r.value, { class: K(e)("pointer-events-none absolute left-0 bottom-1 top-1 z-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) rounded-pill transition-[width,translate] duration-normal ease-spring-snappy", n.surface && "bg-(--glass-bg-quiet) [backdrop-filter:var(--glass-blur-quiet)]", n.class) }), null, 16, ["class"]));
1195
+ return (t, i) => (H(), N(K(Se), z({ "data-slot": "tabs-indicator" }, r.value, { class: K(e)("pointer-events-none absolute left-0 bottom-1 top-1 z-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position) rounded-pill transition-[width,translate] duration-normal ease-spring-snappy", n.surface && "bg-(--glass-bg-quiet) [backdrop-filter:var(--glass-blur-quiet)]", n.class) }), null, 16, ["class"]));
814
1196
  }
815
- }), Ze = /* @__PURE__ */ j({
1197
+ }), wt = /* @__PURE__ */ R({
816
1198
  __name: "TabsList",
817
1199
  props: {
818
1200
  loop: { type: Boolean },
@@ -831,25 +1213,25 @@ var He = ["data-has-rail"], Ue = [
831
1213
  }
832
1214
  },
833
1215
  setup(t) {
834
- let n = t, r = T(() => {
1216
+ let n = t, r = M(() => {
835
1217
  let { class: e, indicator: t, ...r } = n;
836
1218
  return r;
837
1219
  });
838
- return (i, a) => (V(), E(K(ce), N({ "data-slot": "tabs-list" }, r.value, { class: K(e)("relative inline-flex h-(--control-h-md) items-center justify-center rounded-input p-1 text-muted-foreground", n.class) }), {
839
- default: Y(() => [t.indicator ? (V(), E(Xe, { key: 0 })) : D("", !0), W(i.$slots, "default")]),
1220
+ return (i, a) => (H(), N(K(Ce), z({ "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) }), {
1221
+ default: J(() => [t.indicator ? (H(), N(Ct, { key: 0 })) : P("", !0), G(i.$slots, "default")]),
840
1222
  _: 3
841
1223
  }, 16, ["class"]));
842
1224
  }
843
- }), Qe = u(f, "[glass-ui:dock] <DockLayer> must be used inside <DockLayerGroup>"), { KEY: $e } = Qe;
844
- function et(e) {
845
- Qe.provide(e);
1225
+ }), Tt = m(g, "[glass-ui:dock] <DockLayer> must be used inside <DockLayerGroup>"), { KEY: Et } = Tt;
1226
+ function Dt(e) {
1227
+ Tt.provide(e);
846
1228
  }
847
- var tt = Qe.use;
848
- Qe.useOptional;
1229
+ var Ot = Tt.use;
1230
+ Tt.useOptional;
849
1231
  //#endregion
850
1232
  //#region src/components/custom/dock/composables/useLayerTransition.ts
851
- function nt(e) {
852
- let { containerEl: t, activeLayer: n, axis: r } = e, i = T(() => r?.value === "vertical" ? "height" : "width"), a = T(() => i.value === "width" ? "inline-size" : "block-size"), o = (e) => e.getBoundingClientRect()[i.value], s = U(n.value), c = U(null), l = 0, u = U(!1), d = [];
1233
+ function kt(e) {
1234
+ let { containerEl: t, activeLayer: n, axis: r } = e, i = M(() => r?.value === "vertical" ? "height" : "width"), a = M(() => i.value === "width" ? "inline-size" : "block-size"), o = (e) => e.getBoundingClientRect()[i.value], s = W(n.value), c = W(null), l = 0, u = W(!1), d = [];
853
1235
  function f() {
854
1236
  if (d.length === 0) return;
855
1237
  let e = d.splice(0, d.length);
@@ -869,41 +1251,41 @@ function nt(e) {
869
1251
  }
870
1252
  requestAnimationFrame(e);
871
1253
  }
872
- function y(e) {
1254
+ function v(e) {
873
1255
  e.style.removeProperty("--dock-morph-from"), e.style.removeProperty("--dock-morph-to");
874
1256
  }
875
- function b() {
1257
+ function y() {
876
1258
  return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
877
1259
  }
878
- function x(e, t, n) {
1260
+ function b(e, t, n) {
879
1261
  if (n !== l) return;
880
1262
  let r = a.value;
881
- y(e);
1263
+ v(e);
882
1264
  let s = e.style.getPropertyValue(r);
883
1265
  e.style.setProperty(r, "max-content");
884
1266
  let c = o(e);
885
- 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);
1267
+ 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], x(e, t);
886
1268
  }
887
- function S(e, t) {
888
- y(e), t.style.removeProperty("--dock-morph-t"), t.removeAttribute("data-morphing"), c.value = null, h(), u.value = !1, f();
1269
+ function x(e, t) {
1270
+ v(e), t.style.removeProperty("--dock-morph-t"), t.removeAttribute("data-morphing"), c.value = null, h(), u.value = !1, f();
889
1271
  }
890
1272
  function C(e, t, n, r, i, a, o) {
891
1273
  if (Math.abs(i - r) < .5) {
892
- S(e, t);
1274
+ x(e, t);
893
1275
  return;
894
1276
  }
895
- e.style.setProperty("--dock-morph-from", `${r}px`), e.style.setProperty("--dock-morph-to", `${i}px`), t.style.setProperty("--dock-morph-t", "0"), t.setAttribute("data-morphing", ""), u.value = !0, o || (h(), p = new pe({
896
- response: v.response,
897
- dampingFraction: v.dampingFraction,
1277
+ 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 X({
1278
+ response: S.response,
1279
+ dampingFraction: S.dampingFraction,
898
1280
  initial: 0,
899
1281
  respectReducedMotion: !0
900
1282
  }), m = e);
901
1283
  let s = p;
902
1284
  s.reset(0, a), s.target = 1, s.play((r) => {
903
- n === l && (t.style.setProperty("--dock-morph-t", `${r}`), s.settled && S(e, t));
1285
+ n === l && (t.style.setProperty("--dock-morph-t", `${r}`), s.settled && x(e, t));
904
1286
  });
905
1287
  }
906
- J(n, (e, n) => {
1288
+ q(n, (e, n) => {
907
1289
  if (e === n) return;
908
1290
  let r = t.value;
909
1291
  if (!r) {
@@ -911,8 +1293,8 @@ function nt(e) {
911
1293
  return;
912
1294
  }
913
1295
  let i = g(r), d = ++l, f = p !== null && m === r && !p.settled ? p : null, h = f ? f.velocity : 0, _ = o(r);
914
- if (c.value = n, s.value = e, r.style.setProperty("--dock-morph-from", `${_}px`), r.style.setProperty("--dock-morph-to", `${_}px`), i.style.setProperty("--dock-morph-t", "0"), i.setAttribute("data-morphing", ""), u.value = !0, b()) {
915
- P(() => x(r, i, d));
1296
+ 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, y()) {
1297
+ re(() => b(r, i, d));
916
1298
  return;
917
1299
  }
918
1300
  requestAnimationFrame(() => {
@@ -920,16 +1302,16 @@ function nt(e) {
920
1302
  let e = t.value;
921
1303
  if (!e) return;
922
1304
  let n = g(e);
923
- y(e), n.style.removeProperty("--dock-morph-t"), e.style.setProperty(a.value, "max-content");
1305
+ v(e), n.style.removeProperty("--dock-morph-t"), e.style.setProperty(a.value, "max-content");
924
1306
  let r = o(e);
925
1307
  e.style.removeProperty(a.value), C(e, n, d, _, r, h, f);
926
1308
  });
927
1309
  });
928
1310
  function w(e) {
929
1311
  let n = t.value;
930
- n && e.target === n && (e.propertyName !== a.value && e.propertyName !== i.value || p && p.settled && S(n, g(n)));
1312
+ n && e.target === n && (e.propertyName !== a.value && e.propertyName !== i.value || p && p.settled && x(n, g(n)));
931
1313
  }
932
- return B(() => {
1314
+ return se(() => {
933
1315
  h(), d.length = 0;
934
1316
  }), {
935
1317
  onTransitionEnd: w,
@@ -941,9 +1323,9 @@ function nt(e) {
941
1323
  }
942
1324
  //#endregion
943
1325
  //#region src/components/custom/dock/DockLayerGroup.vue?vue&type=script&setup=true&lang.ts
944
- var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1326
+ var At = { key: 1 }, jt = { key: 2 }, Mt = /* @__PURE__ */ R({
945
1327
  __name: "DockLayerGroup",
946
- props: /* @__PURE__ */ M({
1328
+ props: /* @__PURE__ */ ne({
947
1329
  orientation: {},
948
1330
  showRail: {
949
1331
  type: Boolean,
@@ -960,15 +1342,15 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
960
1342
  }),
961
1343
  emits: ["update:active"],
962
1344
  setup(e) {
963
- let t = e, n = re(e, "active"), r = m(), i = U([]), a = q("containerEl"), o = q("groupEl");
964
- function c(e) {
965
- i.value.find((t) => t.id === e.id) || i.value.push(e), d();
1345
+ let t = e, n = pe(e, "active"), r = v(), i = W([]), a = he("containerEl"), o = he("groupEl");
1346
+ function s(e) {
1347
+ i.value.find((t) => t.id === e.id) || i.value.push(e), u();
966
1348
  }
967
- function l(e) {
968
- i.value = i.value.filter((t) => t.id !== e), d();
1349
+ function c(e) {
1350
+ i.value = i.value.filter((t) => t.id !== e), u();
969
1351
  }
970
- let u = U(0);
971
- function d() {
1352
+ let l = W(0);
1353
+ function u() {
972
1354
  let e = a.value, t = o.value;
973
1355
  if (!e || !t) return;
974
1356
  let n = 0, r = e.querySelectorAll(".dock-layer-item-host");
@@ -976,21 +1358,21 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
976
1358
  let t = e.scrollHeight;
977
1359
  t > n && (n = t);
978
1360
  }
979
- n > u.value && (u.value = n);
1361
+ n > l.value && (l.value = n);
980
1362
  }
981
- let f = T(() => u.value > 0 ? {
982
- "min-block-size": `${u.value}px`,
983
- "--dock-layer-peak-block-size": `${u.value}px`
1363
+ let f = M(() => l.value > 0 ? {
1364
+ "min-block-size": `${l.value}px`,
1365
+ "--dock-layer-peak-block-size": `${l.value}px`
984
1366
  } : void 0);
985
- s(a, () => d()), J(() => i.value.length, () => d());
986
- let p = T(() => t.orientation ?? r?.orientation.value ?? "horizontal"), h = T(() => p.value === "vertical" ? "horizontal" : "vertical"), g = q("railListEl"), _ = U(null);
987
- function v() {
988
- let e = g.value;
989
- _.value = e ? e.$el ?? e : null;
1367
+ d(a, () => u()), q(() => i.value.length, () => u());
1368
+ let p = M(() => t.orientation ?? r?.orientation.value ?? "horizontal"), m = M(() => p.value === "vertical" ? "horizontal" : "vertical"), h = he("railListEl"), g = W(null);
1369
+ function _() {
1370
+ let e = h.value;
1371
+ g.value = e ? e.$el ?? e : null;
990
1372
  }
991
- let y = T(() => h.value === "vertical" ? "y" : "x");
1373
+ let y = M(() => m.value === "vertical" ? "y" : "x");
992
1374
  function b() {
993
- let e = _.value;
1375
+ let e = g.value;
994
1376
  if (!e) return [];
995
1377
  let t = Array.from(e.querySelectorAll(".dock-layer-tab"));
996
1378
  return i.value.map((e, n) => {
@@ -1001,33 +1383,33 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1001
1383
  };
1002
1384
  });
1003
1385
  }
1004
- let x = S({
1005
- el: _,
1386
+ let x = O({
1387
+ el: g,
1006
1388
  axis: () => y.value,
1007
1389
  snapTargets: b,
1008
1390
  onSnap: (e) => {
1009
1391
  t.draggable && n.value !== e && (n.value = e);
1010
1392
  }
1011
1393
  });
1012
- J(() => [
1394
+ q(() => [
1013
1395
  i.value.length,
1014
- h.value,
1396
+ m.value,
1015
1397
  t.draggable
1016
1398
  ], () => {
1017
- v(), t.draggable && P(() => x.refresh());
1018
- }), R(() => {
1019
- v(), t.draggable && P(() => x.refresh());
1399
+ _(), t.draggable && re(() => x.refresh());
1400
+ }), ae(() => {
1401
+ _(), t.draggable && re(() => x.refresh());
1020
1402
  });
1021
- let C = Pe(), j, M, N;
1022
- if (C) {
1023
- let e = C.registerGroup({
1403
+ let S = et(), C, w, T;
1404
+ if (S) {
1405
+ let e = S.registerGroup({
1024
1406
  containerEl: a,
1025
1407
  activeLayer: n,
1026
1408
  axis: p
1027
1409
  });
1028
- j = e.currentLayer, M = e.leavingLayer, N = () => {}, L(() => e.release());
1410
+ C = e.currentLayer, w = e.leavingLayer, T = () => {}, ie(() => e.release());
1029
1411
  } else {
1030
- let e = nt({
1412
+ let e = kt({
1031
1413
  containerEl: a,
1032
1414
  activeLayer: n,
1033
1415
  axis: p,
@@ -1036,90 +1418,90 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1036
1418
  return [i.value.findIndex((e) => e.id === t) < n ? "layer-back" : "layer-forward"];
1037
1419
  }
1038
1420
  });
1039
- j = H(e.currentLayer), M = H(e.leavingLayer), N = e.onTransitionEnd;
1421
+ C = U(e.currentLayer), w = U(e.leavingLayer), T = e.onTransitionEnd;
1040
1422
  }
1041
- let z = typeof document < "u" && "startViewTransition" in document, B = ne(), ie = T(() => z ? {
1042
- "view-transition-name": `gl-dock-stack-${B.replace(/[^a-zA-Z0-9_-]/g, "-")}`,
1423
+ let E = typeof document < "u" && "startViewTransition" in document, D = fe(), k = M(() => E ? {
1424
+ "view-transition-name": `gl-dock-stack-${D.replace(/[^a-zA-Z0-9_-]/g, "-")}`,
1043
1425
  "view-transition-class": "gl-dock-layer"
1044
1426
  } : void 0);
1045
- et({
1046
- register: c,
1047
- unregister: l,
1048
- currentLayerId: j,
1049
- leavingLayerId: M
1427
+ Dt({
1428
+ register: s,
1429
+ unregister: c,
1430
+ currentLayerId: C,
1431
+ leavingLayerId: w
1050
1432
  });
1051
- function X(e) {
1433
+ function ee(e) {
1052
1434
  return typeof e == "object" && !!e || typeof e == "function";
1053
1435
  }
1054
- let Z = U(!1);
1055
- function ae() {
1056
- Z.value || (Z.value = !0, r?.keepOpen());
1436
+ let A = W(!1);
1437
+ function te() {
1438
+ A.value || (A.value = !0, r?.keepOpen());
1057
1439
  }
1058
- function Q(e) {
1440
+ function R(e) {
1059
1441
  let t = e.relatedTarget, n = e.currentTarget;
1060
- t && n?.contains(t) || Z.value && (Z.value = !1, r?.release());
1442
+ t && n?.contains(t) || A.value && (A.value = !1, r?.release());
1061
1443
  }
1062
- return (r, s) => (V(), O("div", {
1444
+ return (r, s) => (H(), F("div", {
1063
1445
  ref_key: "groupEl",
1064
1446
  ref: o,
1065
- class: F(["dock-layer-group", [p.value, `rail-${e.railPosition}`]]),
1066
- style: I(f.value)
1067
- }, [e.showRail && i.value.length > 1 ? (V(), E(K(Je), {
1447
+ class: B(["dock-layer-group", [p.value, `rail-${e.railPosition}`]]),
1448
+ style: V(f.value)
1449
+ }, [e.showRail && i.value.length > 1 ? (H(), N(K(xt), {
1068
1450
  key: 0,
1069
1451
  modelValue: n.value,
1070
1452
  "onUpdate:modelValue": s[0] ||= (e) => n.value = e,
1071
- orientation: h.value,
1453
+ orientation: m.value,
1072
1454
  "as-child": !0
1073
1455
  }, {
1074
- default: Y(() => [A(K(Ze), {
1456
+ default: J(() => [L(K(wt), {
1075
1457
  ref_key: "railListEl",
1076
- ref: g,
1077
- class: F(["dock-layer-rail", [
1458
+ ref: h,
1459
+ class: B(["dock-layer-rail", [
1078
1460
  e.railPosition,
1079
1461
  t.draggable && "glass-drag-grabbable",
1080
1462
  t.draggable && K(x).dragging.value && "glass-drag-lift"
1081
1463
  ]]),
1082
- style: I(t.draggable ? K(x).dragStyle.value : void 0),
1464
+ style: V(t.draggable ? K(x).dragStyle.value : void 0),
1083
1465
  indicator: !1,
1084
- onFocusin: ae,
1085
- onFocusout: Q
1466
+ onFocusin: te,
1467
+ onFocusout: R
1086
1468
  }, {
1087
- default: Y(() => [(V(!0), O(w, null, ee(i.value, (e) => (V(), E(K(Ye), {
1469
+ default: J(() => [(H(!0), F(j, null, ce(i.value, (e) => (H(), N(K(St), {
1088
1470
  key: e.id,
1089
1471
  value: e.id,
1090
1472
  class: "dock-layer-tab",
1091
1473
  title: e.label,
1092
1474
  "aria-label": e.label ?? e.id
1093
1475
  }, {
1094
- default: Y(() => [X(e.icon) ? (V(), E(G(e.icon), {
1476
+ default: J(() => [ee(e.icon) ? (H(), N(le(e.icon), {
1095
1477
  key: 0,
1096
1478
  class: "size-4"
1097
- })) : typeof e.icon == "string" ? (V(), O("span", rt, te(e.icon), 1)) : (V(), O("span", it, te((e.label ?? e.id).charAt(0)), 1))]),
1479
+ })) : typeof e.icon == "string" ? (H(), F("span", At, de(e.icon), 1)) : (H(), F("span", jt, de((e.label ?? e.id).charAt(0)), 1))]),
1098
1480
  _: 2
1099
1481
  }, 1032, [
1100
1482
  "value",
1101
1483
  "title",
1102
1484
  "aria-label"
1103
- ]))), 128)), A(K(Xe), {
1485
+ ]))), 128)), L(K(Ct), {
1104
1486
  class: "dock-layer-tab-indicator",
1105
1487
  surface: !1
1106
1488
  })]),
1107
1489
  _: 1
1108
1490
  }, 8, ["class", "style"])]),
1109
1491
  _: 1
1110
- }, 8, ["modelValue", "orientation"])) : D("", !0), k("div", {
1492
+ }, 8, ["modelValue", "orientation"])) : P("", !0), I("div", {
1111
1493
  ref_key: "containerEl",
1112
1494
  ref: a,
1113
1495
  class: "dock-layer-stack",
1114
- style: I(ie.value),
1115
- onTransitionend: s[1] ||= (...e) => K(N) && K(N)(...e)
1116
- }, [W(r.$slots, "default")], 36)], 6));
1496
+ style: V(k.value),
1497
+ onTransitionend: s[1] ||= (...e) => K(T) && K(T)(...e)
1498
+ }, [G(r.$slots, "default")], 36)], 6));
1117
1499
  }
1118
- }), ot = [
1500
+ }), Nt = [
1119
1501
  "inert",
1120
1502
  "aria-hidden",
1121
1503
  "tabindex"
1122
- ], st = /* @__PURE__ */ j({
1504
+ ], Pt = /* @__PURE__ */ R({
1123
1505
  __name: "DockLayer",
1124
1506
  props: {
1125
1507
  id: {},
@@ -1127,42 +1509,50 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1127
1509
  icon: {}
1128
1510
  },
1129
1511
  setup(e) {
1130
- let t = e, n = tt();
1131
- R(() => {
1512
+ let t = e, n = Ot();
1513
+ ae(() => {
1132
1514
  n.register({
1133
1515
  id: t.id,
1134
1516
  label: t.label,
1135
1517
  icon: t.icon
1136
1518
  });
1137
- }), L(() => {
1519
+ }), ie(() => {
1138
1520
  n.unregister(t.id);
1139
1521
  });
1140
- let r = T(() => n.currentLayerId.value === t.id), i = T(() => n.leavingLayerId.value === t.id), a = q("hostEl");
1141
- return J(r, async (e, t) => {
1522
+ let r = M(() => n.currentLayerId.value === t.id), i = M(() => n.leavingLayerId.value === t.id), a = he("hostEl");
1523
+ return q(r, async (e, t) => {
1142
1524
  !e || t || typeof document < "u" && (() => {
1143
1525
  let e = document.activeElement;
1144
1526
  return !e || e === document.body ? !0 : !!e.closest("[inert]");
1145
- })() && (await P(), a.value?.focus());
1146
- }), (e, t) => (V(), O("div", {
1527
+ })() && (await re(), a.value?.focus());
1528
+ }), (e, t) => (H(), F("div", {
1147
1529
  ref_key: "hostEl",
1148
1530
  ref: a,
1149
- class: F(["dock-layer-item-host", {
1531
+ class: B(["dock-layer-item-host", {
1150
1532
  "is-active": r.value,
1151
1533
  "is-leaving": i.value
1152
1534
  }]),
1153
1535
  inert: r.value ? void 0 : !0,
1154
1536
  "aria-hidden": r.value ? void 0 : !0,
1155
1537
  tabindex: r.value ? -1 : void 0
1156
- }, [W(e.$slots, "default")], 10, ot));
1538
+ }, [G(e.$slots, "default")], 10, Nt));
1157
1539
  }
1158
- }), ct = /* @__PURE__ */ j({
1540
+ }), Ft = /* @__PURE__ */ R({
1159
1541
  __name: "DockIconButton",
1160
1542
  props: {
1161
1543
  compact: {
1162
1544
  type: Boolean,
1163
1545
  default: !1
1164
1546
  },
1547
+ active: {
1548
+ type: Boolean,
1549
+ default: !1
1550
+ },
1165
1551
  type: { default: "button" },
1552
+ disabled: {
1553
+ type: Boolean,
1554
+ default: !1
1555
+ },
1166
1556
  as: { default: "button" },
1167
1557
  asChild: {
1168
1558
  type: Boolean,
@@ -1177,20 +1567,32 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1177
1567
  ] }
1178
1568
  },
1179
1569
  setup(t) {
1180
- let n = t, r = T(() => e("dock-icon-button glass-specular-track", { "dock-icon-button--compact": n.compact }, n.class)), i = T(() => !n.asChild && n.as === "button" ? { type: n.type } : {});
1181
- return (e, n) => X((V(), E(K(ae), N({
1570
+ let n = t, r = M(() => e("dock-icon-button glass-specular-track glass-capsule-hover", { "glass-capsule": n.active }, { "dock-icon-button--compact": n.compact }, n.class)), i = M(() => ({
1571
+ ...n.active ? {
1572
+ "aria-pressed": "true",
1573
+ "data-active": ""
1574
+ } : {},
1575
+ ...n.disabled ? {
1576
+ ...n.as === "button" && !n.asChild ? { disabled: !0 } : {},
1577
+ "aria-disabled": "true"
1578
+ } : {}
1579
+ })), a = M(() => !n.asChild && n.as === "button" ? { type: n.type } : {});
1580
+ return (e, n) => ge((H(), N(K(ye), z({
1182
1581
  as: t.as,
1183
1582
  "as-child": t.asChild
1184
- }, i.value, { class: r.value }), {
1185
- default: Y(() => [W(e.$slots, "default")]),
1583
+ }, {
1584
+ ...a.value,
1585
+ ...i.value
1586
+ }, { class: r.value }), {
1587
+ default: J(() => [G(e.$slots, "default")]),
1186
1588
  _: 3
1187
1589
  }, 16, [
1188
1590
  "as",
1189
1591
  "as-child",
1190
1592
  "class"
1191
- ])), [[K(o)]]);
1593
+ ])), [[K(s)]]);
1192
1594
  }
1193
- }), lt = /* @__PURE__ */ j({
1595
+ }), It = /* @__PURE__ */ R({
1194
1596
  __name: "DockBackgroundToggle",
1195
1597
  props: {
1196
1598
  paused: {
@@ -1202,22 +1604,22 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1202
1604
  },
1203
1605
  emits: ["update:paused"],
1204
1606
  setup(e, { emit: n }) {
1205
- let i = e, a = n, o = T(() => i.paused ? i.playLabel : i.pauseLabel);
1607
+ let i = e, a = n, o = M(() => i.paused ? i.playLabel : i.pauseLabel);
1206
1608
  function s() {
1207
1609
  a("update:paused", !i.paused);
1208
1610
  }
1209
- return (n, i) => (V(), E(ct, {
1611
+ return (n, i) => (H(), N(Ft, {
1210
1612
  type: "button",
1211
1613
  "aria-pressed": e.paused,
1212
1614
  "aria-label": o.value,
1213
1615
  title: o.value,
1214
1616
  onClick: s
1215
1617
  }, {
1216
- default: Y(() => [e.paused ? (V(), E(K(t), {
1618
+ default: J(() => [e.paused ? (H(), N(K(t), {
1217
1619
  key: 0,
1218
1620
  size: 18,
1219
1621
  "aria-hidden": "true"
1220
- })) : (V(), E(K(r), {
1622
+ })) : (H(), N(K(r), {
1221
1623
  key: 1,
1222
1624
  size: 18,
1223
1625
  "aria-hidden": "true"
@@ -1229,7 +1631,7 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1229
1631
  "title"
1230
1632
  ]));
1231
1633
  }
1232
- }), ut = /* @__PURE__ */ j({
1634
+ }), Lt = /* @__PURE__ */ R({
1233
1635
  __name: "DockTabButton",
1234
1636
  props: {
1235
1637
  as: { default: "button" },
@@ -1246,21 +1648,21 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1246
1648
  ] }
1247
1649
  },
1248
1650
  setup(t) {
1249
- let n = t, r = T(() => e("dock-tab-button", n.class));
1250
- return (e, n) => X((V(), E(K(ae), {
1651
+ let n = t, r = M(() => e("dock-tab-button", n.class));
1652
+ return (e, n) => ge((H(), N(K(ye), {
1251
1653
  as: t.as,
1252
1654
  "as-child": t.asChild,
1253
- class: F(r.value)
1655
+ class: B(r.value)
1254
1656
  }, {
1255
- default: Y(() => [W(e.$slots, "default")]),
1657
+ default: J(() => [G(e.$slots, "default")]),
1256
1658
  _: 3
1257
1659
  }, 8, [
1258
1660
  "as",
1259
1661
  "as-child",
1260
1662
  "class"
1261
- ])), [[K(o)]]);
1663
+ ])), [[K(s)]]);
1262
1664
  }
1263
- }), dt = /* @__PURE__ */ j({
1665
+ }), Rt = /* @__PURE__ */ R({
1264
1666
  __name: "DockSelectTrigger",
1265
1667
  props: {
1266
1668
  disabled: { type: Boolean },
@@ -1276,19 +1678,19 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1276
1678
  ] }
1277
1679
  },
1278
1680
  setup(t) {
1279
- let r = t, i = de(T(() => {
1280
- let { class: e, ...t } = r;
1681
+ let n = t, r = Te(M(() => {
1682
+ let { class: e, ...t } = n;
1281
1683
  return t;
1282
1684
  }));
1283
- return (t, a) => X((V(), E(K(oe), N(K(i), { class: K(e)("dock-select-trigger", r.class) }), {
1284
- default: Y(() => [W(t.$slots, "default"), A(K(Q), { "as-child": "" }, {
1285
- default: Y(() => [W(t.$slots, "icon", {}, () => [A(K(n), { class: "dock-select-trigger__chevron" })])]),
1685
+ return (t, a) => ge((H(), N(K(xe), z(K(r), { class: K(e)("dock-trigger dock-select-trigger", n.class) }), {
1686
+ default: J(() => [G(t.$slots, "default"), L(K(be), { "as-child": "" }, {
1687
+ default: J(() => [G(t.$slots, "icon", {}, () => [L(K(i), { class: "dock-select-trigger__chevron" })])]),
1286
1688
  _: 3
1287
1689
  })]),
1288
1690
  _: 3
1289
- }, 16, ["class"])), [[K(o)]]);
1691
+ }, 16, ["class"])), [[K(s)]]);
1290
1692
  }
1291
- }), ft = /* @__PURE__ */ j({
1693
+ }), zt = /* @__PURE__ */ R({
1292
1694
  __name: "DockDropdownTrigger",
1293
1695
  props: {
1294
1696
  disabled: { type: Boolean },
@@ -1304,97 +1706,241 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1304
1706
  ] }
1305
1707
  },
1306
1708
  setup(t) {
1307
- let n = t, r = de(T(() => {
1709
+ let n = t, r = Te(M(() => {
1308
1710
  let { class: e, ...t } = n;
1309
1711
  return t;
1310
1712
  }));
1311
- return (t, i) => X((V(), E(K(Z), N(K(r), { class: K(e)("dock-dropdown-trigger", n.class) }), {
1312
- default: Y(() => [W(t.$slots, "default")]),
1713
+ return (t, i) => ge((H(), N(K(_e), z(K(r), { class: K(e)("dock-trigger dock-dropdown-trigger", n.class) }), {
1714
+ default: J(() => [G(t.$slots, "default")]),
1313
1715
  _: 3
1314
- }, 16, ["class"])), [[K(o)]]);
1716
+ }, 16, ["class"])), [[K(s)]]);
1315
1717
  }
1316
- }), pt = [
1718
+ }), Bt = /* @__PURE__ */ R({
1719
+ __name: "DockPopoverTrigger",
1720
+ props: {
1721
+ asChild: { type: Boolean },
1722
+ as: {},
1723
+ type: {},
1724
+ class: { type: [
1725
+ Boolean,
1726
+ null,
1727
+ String,
1728
+ Object,
1729
+ Array
1730
+ ] }
1731
+ },
1732
+ setup(t) {
1733
+ let n = t, r = Te(M(() => {
1734
+ let { class: e, ...t } = n;
1735
+ return t;
1736
+ }));
1737
+ return (t, i) => ge((H(), N(K(ve), z(K(r), { class: K(e)("dock-trigger dock-dropdown-trigger", n.class) }), {
1738
+ default: J(() => [G(t.$slots, "default")]),
1739
+ _: 3
1740
+ }, 16, ["class"])), [[K(s)]]);
1741
+ }
1742
+ }), Vt = [
1317
1743
  "data-orientation",
1318
1744
  "data-rail-anchor",
1319
1745
  "aria-orientation"
1320
- ], mt = /* @__PURE__ */ j({
1746
+ ], Ht = /* @__PURE__ */ R({
1321
1747
  __name: "DockSeparator",
1322
1748
  props: { anchor: {
1323
1749
  type: Boolean,
1324
1750
  default: !1
1325
1751
  } },
1326
1752
  setup(e) {
1327
- let t = m(), n = T(() => t?.orientation.value ?? "horizontal"), r = T(() => n.value), i = T(() => n.value === "vertical" ? "horizontal" : "vertical");
1328
- return (t, n) => (V(), O("div", {
1329
- class: F(["dock-separator", { "dock-separator--anchor": e.anchor }]),
1753
+ let t = v(), n = M(() => t?.orientation.value ?? "horizontal"), r = M(() => n.value), i = M(() => n.value === "vertical" ? "horizontal" : "vertical");
1754
+ return (t, n) => (H(), F("div", {
1755
+ class: B(["dock-separator", { "dock-separator--anchor": e.anchor }]),
1330
1756
  role: "separator",
1331
1757
  "data-orientation": r.value,
1332
1758
  "data-rail-anchor": e.anchor || void 0,
1333
1759
  "aria-orientation": i.value
1334
- }, null, 10, pt));
1760
+ }, null, 10, Vt));
1335
1761
  }
1336
- }), ht = ["data-orientation", "aria-label"], gt = ["aria-label"], _t = { class: "dock-hairline-extend-chip-label" }, vt = /* @__PURE__ */ j({
1337
- __name: "DockRail",
1338
- props: /* @__PURE__ */ M({
1339
- extent: { default: "beyond" },
1340
- position: { default: "end" },
1762
+ });
1763
+ //#endregion
1764
+ //#region src/components/custom/dock/composables/railProjection.ts
1765
+ function Ut(e, t) {
1766
+ return t <= 0 ? 0 : ((e + t / 2) % t + t) % t - t / 2;
1767
+ }
1768
+ function Wt(e, t, n) {
1769
+ let r = 0, i = t, a = Math.floor(e);
1770
+ for (let e = 0; e < a; e++) r += i, i /= n;
1771
+ return r += (e - a) * i, r;
1772
+ }
1773
+ var Gt = {
1774
+ slotSpacing: 44,
1775
+ tierRatio: 1.618,
1776
+ fadeStart: .5,
1777
+ fadeRange: 2.5,
1778
+ fadeMinAlpha: 0,
1779
+ scaleStep: .06,
1780
+ scaleClampSlots: 4
1781
+ };
1782
+ function Kt(e, t, n, r = {}) {
1783
+ let i = Math.max(0, Math.floor(e));
1784
+ if (i === 0) return [];
1785
+ let a = {
1786
+ ...Gt,
1787
+ ...r
1788
+ }, o = Math.ceil(a.fadeRange + 1), s = /* @__PURE__ */ new Set(), c = [];
1789
+ for (let e = -o; e <= o; e++) {
1790
+ let r = ((Math.round(t) + e) % i + i) % i;
1791
+ if (s.has(r)) continue;
1792
+ s.add(r);
1793
+ let o = Ut(r - t, i), l = Math.abs(o), u = Wt(l, a.slotSpacing, a.tierRatio), d = Math.sign(o) * u * n, f = 1 - (l - a.fadeStart) / Math.max(1e-6, a.fadeRange), p = Math.min(1, Math.max(a.fadeMinAlpha, f)), m = l === 0 ? 1 : p * n, h = 1 - Math.min(l, a.scaleClampSlots) * a.scaleStep;
1794
+ c.push({
1795
+ index: r,
1796
+ offset: o,
1797
+ translate: d,
1798
+ opacity: m,
1799
+ scale: h,
1800
+ active: l === 0
1801
+ });
1802
+ }
1803
+ return c.sort((e, t) => e.index - t.index), c;
1804
+ }
1805
+ //#endregion
1806
+ //#region src/components/custom/dock/DockStack.vue?vue&type=script&setup=true&lang.ts
1807
+ var qt = ["data-orientation", "data-mode"], Jt = /* @__PURE__ */ R({
1808
+ __name: "DockStack",
1809
+ props: /* @__PURE__ */ ne({
1341
1810
  items: {},
1342
- icon: {},
1343
- iconLabel: { default: "Switch dock context" }
1811
+ mode: { default: "stack" },
1812
+ core: {},
1813
+ coreLabel: { default: "Open stack" },
1814
+ visibleCount: { default: 3 },
1815
+ position: { default: "end" }
1344
1816
  }, {
1345
- context: {},
1346
- contextModifiers: {}
1817
+ selected: {},
1818
+ selectedModifiers: {},
1819
+ expanded: {
1820
+ type: Boolean,
1821
+ default: !1
1822
+ },
1823
+ expandedModifiers: {}
1347
1824
  }),
1348
- emits: /* @__PURE__ */ M(["advance"], ["update:context"]),
1825
+ emits: /* @__PURE__ */ ne(["select"], ["update:selected", "update:expanded"]),
1349
1826
  setup(e, { emit: t }) {
1350
- let n = e, r = re(e, "context"), a = t, o = m(), s = T(() => o?.orientation.value ?? "horizontal"), c = T(() => n.icon ?? i), l = T(() => n.items && n.items.length > 0 ? [...n.items] : []);
1351
- function u(e) {
1352
- r.value = e, a("advance", e);
1827
+ let r = e, i = t, a = pe(e, "selected"), o = pe(e, "expanded"), s = v(), c = M(() => s?.orientation.value ?? "vertical"), l = M(() => r.core ?? n), u = M(() => [...r.items]), d = M(() => u.value.length > r.visibleCount), f = M(() => Math.min(u.value.length, r.visibleCount)), p = M(() => r.mode === "facets"), m = M(() => Math.max(0, u.value.findIndex((e) => e.id === a.value))), h = M(() => p.value ? Kt(u.value.length, m.value, 1) : []);
1828
+ function g(e) {
1829
+ let t = h.value.find((t) => t.index === e);
1830
+ return t ? {
1831
+ scale: t.scale,
1832
+ opacity: t.opacity
1833
+ } : {
1834
+ scale: 1,
1835
+ opacity: 1
1836
+ };
1837
+ }
1838
+ let _ = null;
1839
+ function y() {
1840
+ _ != null && (clearTimeout(_), _ = null);
1841
+ }
1842
+ function b() {
1843
+ y(), _ = setTimeout(() => {
1844
+ o.value = !0, _ = null;
1845
+ }, 60);
1846
+ }
1847
+ function x() {
1848
+ y(), o.value = !1;
1849
+ }
1850
+ function S() {
1851
+ y(), o.value = !0;
1852
+ }
1853
+ function C(e) {
1854
+ let t = e.relatedTarget, n = e.currentTarget;
1855
+ n && t && n.contains(t) || (o.value = !1);
1353
1856
  }
1354
- return (t, n) => (V(), O("div", {
1355
- class: F(["dock-hairline-extend", [
1356
- s.value,
1357
- `extent-${e.extent}`,
1358
- `at-${e.position}`
1857
+ ie(y);
1858
+ function T(e) {
1859
+ a.value = e.id, e.onSelect?.(), i("select", e.id);
1860
+ }
1861
+ return (t, n) => (H(), F("div", {
1862
+ class: B(["dock-stack", [
1863
+ c.value,
1864
+ `at-${e.position}`,
1865
+ `mode-${e.mode}`,
1866
+ { "is-expanded": o.value }
1359
1867
  ]]),
1360
- "data-orientation": s.value,
1361
- role: "group",
1362
- "aria-label": e.iconLabel
1363
- }, [A(b, {
1364
- axis: "x",
1365
- class: "dock-hairline-fade"
1868
+ "data-orientation": c.value,
1869
+ "data-mode": e.mode,
1870
+ onPointerenter: b,
1871
+ onPointerleave: x,
1872
+ onFocusin: S,
1873
+ onFocusout: C
1874
+ }, [L(Ft, {
1875
+ type: "button",
1876
+ class: "dock-stack-core",
1877
+ "aria-label": e.coreLabel,
1878
+ "aria-expanded": o.value,
1879
+ title: e.coreLabel
1366
1880
  }, {
1367
- default: Y(() => [k("div", {
1368
- class: "dock-hairline-strip",
1369
- role: "tablist",
1370
- "aria-label": e.iconLabel
1371
- }, [(V(!0), O(w, null, ee(l.value, (e) => (V(), E(ct, {
1881
+ default: J(() => [(H(), N(le(l.value), {
1882
+ class: "size-4",
1883
+ "aria-hidden": "true"
1884
+ }))]),
1885
+ _: 1
1886
+ }, 8, [
1887
+ "aria-label",
1888
+ "aria-expanded",
1889
+ "title"
1890
+ ]), L(w, {
1891
+ axis: c.value === "vertical" ? "x" : "y",
1892
+ class: "dock-stack-fan",
1893
+ style: V({ "--dock-stack-visible": f.value }),
1894
+ "data-scrolls": d.value || void 0
1895
+ }, {
1896
+ default: J(() => [(H(!0), F(j, null, ce(u.value, (e, t) => (H(), N(Ft, {
1372
1897
  key: e.id,
1373
1898
  type: "button",
1374
- class: F(["dock-hairline-extend-chip", { "is-active": r.value === e.id }]),
1375
- role: "tab",
1376
- "aria-selected": r.value === e.id,
1899
+ class: B(["dock-stack-member", {
1900
+ "is-active": a.value === e.id,
1901
+ "dock-facet-chip": p.value
1902
+ }]),
1903
+ style: V({
1904
+ "--i": t,
1905
+ ...p.value && e.accent ? {
1906
+ "--glass-accent": e.accent,
1907
+ "--glass-accent-strength": "var(--dock-facet-accent-strength)"
1908
+ } : {},
1909
+ ...p.value ? {
1910
+ "--dock-facet-tier-scale": `${g(t).scale}`,
1911
+ "--dock-facet-tier-opacity": `${g(t).opacity}`
1912
+ } : {}
1913
+ }),
1377
1914
  "aria-label": e.label,
1915
+ "aria-pressed": a.value === e.id,
1378
1916
  title: e.label,
1379
- onClick: (t) => u(e.id)
1917
+ onClick: (t) => T(e)
1380
1918
  }, {
1381
- default: Y(() => [(V(), E(G(e.icon ?? c.value), { class: "size-4" })), k("span", _t, te(e.label), 1)]),
1919
+ default: J(() => [(H(), N(le(e.icon ?? l.value), {
1920
+ class: "size-4",
1921
+ "aria-hidden": "true"
1922
+ }))]),
1382
1923
  _: 2
1383
1924
  }, 1032, [
1384
1925
  "class",
1385
- "aria-selected",
1926
+ "style",
1386
1927
  "aria-label",
1928
+ "aria-pressed",
1387
1929
  "title",
1388
1930
  "onClick"
1389
- ]))), 128))], 8, gt)]),
1931
+ ]))), 128))]),
1390
1932
  _: 1
1391
- })], 10, ht));
1933
+ }, 8, [
1934
+ "axis",
1935
+ "style",
1936
+ "data-scrolls"
1937
+ ])], 42, qt));
1392
1938
  }
1393
- }), yt = ["aria-label"], bt = [
1939
+ }), Yt = ["aria-label"], Xt = [
1394
1940
  "data-kind",
1395
1941
  "data-section-id",
1396
1942
  "aria-label"
1397
- ], xt = /* @__PURE__ */ j({
1943
+ ], Zt = /* @__PURE__ */ R({
1398
1944
  __name: "DockSection",
1399
1945
  props: {
1400
1946
  sections: {},
@@ -1402,7 +1948,7 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1402
1948
  ariaLabel: { default: "Dock sections" }
1403
1949
  },
1404
1950
  setup(e) {
1405
- let t = e, n = T(() => {
1951
+ let t = e, n = M(() => {
1406
1952
  if (t.anchorId) return t.anchorId;
1407
1953
  let e = t.sections.find((e) => e.kind === "nav");
1408
1954
  return e ? e.id : t.sections.find((e) => e.kind !== "rail-core")?.id;
@@ -1416,106 +1962,249 @@ var rt = { key: 1 }, it = { key: 2 }, at = /* @__PURE__ */ j({
1416
1962
  function a(e) {
1417
1963
  return `dock-section-zone--${e === "rail-core" ? "core" : e}`;
1418
1964
  }
1419
- return (t, n) => (V(), O("div", {
1965
+ return (t, n) => (H(), F("div", {
1420
1966
  class: "dock-section",
1421
1967
  role: "group",
1422
1968
  "aria-label": e.ariaLabel
1423
- }, [(V(!0), O(w, null, ee(e.sections, (e, n) => (V(), O(w, { key: e.id }, [r(n) ? (V(), E(mt, {
1969
+ }, [(H(!0), F(j, null, ce(e.sections, (e, n) => (H(), F(j, { key: e.id }, [r(n) ? (H(), N(Ht, {
1424
1970
  key: 0,
1425
1971
  anchor: i(e)
1426
- }, null, 8, ["anchor"])) : D("", !0), k("div", {
1427
- class: F(["dock-section-zone", a(e.kind)]),
1972
+ }, null, 8, ["anchor"])) : P("", !0), I("div", {
1973
+ class: B(["dock-section-zone", a(e.kind)]),
1428
1974
  "data-kind": e.kind,
1429
1975
  "data-section-id": e.id,
1430
1976
  "aria-label": e.label || void 0
1431
- }, [W(t.$slots, e.id, {
1977
+ }, [G(t.$slots, e.id, {
1432
1978
  section: e,
1433
1979
  kind: e.kind
1434
- })], 10, bt)], 64))), 128))], 8, yt));
1980
+ })], 10, Xt)], 64))), 128))], 8, Yt));
1435
1981
  }
1436
1982
  });
1437
1983
  //#endregion
1984
+ //#region src/components/custom/dock/composables/useDockSearch.ts
1985
+ function Qt(e) {
1986
+ let { dockState: t } = e, n = e.debounceMs ?? 120, r = e.maxResults ?? 30, i = W([]), a = null, o = e.items ? e.items : () => i.value;
1987
+ function s(t) {
1988
+ let n = t.item.id;
1989
+ e.ensureTargetWindow?.(n), e.scrollTo?.(n), e.onResultSelect?.(t);
1990
+ }
1991
+ let c = te({
1992
+ items: o,
1993
+ debounceMs: n,
1994
+ maxResults: r,
1995
+ onSelect: s
1996
+ });
1997
+ if (e.onSearch) {
1998
+ let t = e.onSearch;
1999
+ q(() => c.query.value, (e) => {
2000
+ if (a?.abort(), !e) {
2001
+ i.value = [];
2002
+ return;
2003
+ }
2004
+ let n = new AbortController();
2005
+ a = n, t(e, n.signal).then((e) => {
2006
+ n.signal.aborted || (i.value = e);
2007
+ }).catch((e) => {
2008
+ n.signal.aborted || e?.name !== "AbortError" && (i.value = []);
2009
+ });
2010
+ });
2011
+ }
2012
+ let l = M(() => {
2013
+ let e = c.query.value;
2014
+ if (!e) return "";
2015
+ let t = c.results.value[0];
2016
+ if (!t) return "";
2017
+ let n = t.item.label;
2018
+ return n.toLowerCase().startsWith(e.toLowerCase()) && n.length > e.length ? n.slice(e.length) : "";
2019
+ });
2020
+ function u() {
2021
+ let e = l.value;
2022
+ e && (c.query.value = c.query.value + e);
2023
+ }
2024
+ let d = W(!1);
2025
+ function f() {
2026
+ d.value || (d.value = !0, t.onClickCollapsed(), t.keepOpen(), c.open());
2027
+ }
2028
+ function p() {
2029
+ d.value && (d.value = !1, c.close(), t.release());
2030
+ }
2031
+ let m = null;
2032
+ return e.collapseOnScroll && e.scrollContainer && (m = A(e.scrollContainer, {
2033
+ collapseOnScroll: !0,
2034
+ chromeRef: e.chromeRef
2035
+ })), oe(() => {
2036
+ a?.abort(), a = null;
2037
+ }), {
2038
+ fuzzy: c,
2039
+ autocompleteText: l,
2040
+ scrollChrome: m,
2041
+ armSearch: f,
2042
+ disarmSearch: p,
2043
+ acceptAutocomplete: u,
2044
+ isSearchArmed: d
2045
+ };
2046
+ }
2047
+ //#endregion
1438
2048
  //#region src/components/custom/dock/composables/useDockOrientationMorph.ts
1439
- function St(e) {
1440
- let { rootEl: t } = e, n = U("vertical"), r = U(0), i = U(!1), o = a({
2049
+ function $t(e) {
2050
+ let { rootEl: t } = e, n = W("vertical"), r = W(0), i = W(!1), a = () => {
2051
+ let e = t.value;
2052
+ if (!e) return 1.14;
2053
+ let n = getComputedStyle(e).getPropertyValue("--dock-morph-max-stretch").trim(), r = n ? Number.parseFloat(n) : NaN;
2054
+ return c(e, Number.isFinite(r) && r >= 1 ? r : 1.14);
2055
+ }, s = o({
1441
2056
  from: e.verticalSize,
1442
2057
  to: 0,
1443
- axis: "height"
1444
- }), s = a({
2058
+ axis: "height",
2059
+ maxStretch: a
2060
+ }), u = o({
1445
2061
  from: 0,
1446
2062
  to: e.horizontalSize,
1447
- axis: "width"
1448
- }), c = null;
1449
- function l(e) {
1450
- r.value = e, o.drive(e), s.drive(e);
2063
+ axis: "width",
2064
+ maxStretch: a
2065
+ }), d = null;
2066
+ function f(e) {
2067
+ r.value = e, s.drive(e), u.drive(e);
1451
2068
  let n = t.value;
1452
- n && n.style.setProperty("--dock-morph-t", `${e}`);
2069
+ n && (n.style.setProperty("--dock-morph-t", `${e}`), n.style.setProperty("--stretch", `${Math.max(s.stretch.value, u.stretch.value)}`), l(n, Math.max(s.flexVel.value, u.flexVel.value)));
1453
2070
  }
1454
- function u() {
1455
- c &&= (c.dispose(), null);
2071
+ function p() {
2072
+ d &&= (d.dispose(), null);
1456
2073
  }
1457
- function d() {
2074
+ function m() {
1458
2075
  return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
1459
2076
  }
1460
- function f(e) {
1461
- if (d()) {
1462
- h(e);
2077
+ function h(e) {
2078
+ if (m()) {
2079
+ v(e);
1463
2080
  return;
1464
2081
  }
1465
- let n = t.value, a = c !== null && !c.settled ? c.velocity : 0;
1466
- if (!c || c.settled) {
1467
- u(), c = new pe({
1468
- response: v.response,
1469
- dampingFraction: v.dampingFraction,
2082
+ let n = t.value, a = d !== null && !d.settled ? d.velocity : 0;
2083
+ if (!d || d.settled) {
2084
+ p(), d = new X({
2085
+ response: S.response,
2086
+ dampingFraction: S.dampingFraction,
1470
2087
  initial: r.value,
1471
2088
  respectReducedMotion: !0
1472
2089
  });
1473
- let o = c;
2090
+ let o = d;
1474
2091
  o.reset(r.value, a), o.target = e, i.value = !0, n && n.setAttribute("data-morphing", ""), o.play((e) => {
1475
- if (l(e), o.settled) {
2092
+ if (f(e), o.settled) {
1476
2093
  i.value = !1;
1477
2094
  let e = t.value;
1478
2095
  e && e.removeAttribute("data-morphing");
1479
2096
  }
1480
2097
  });
1481
- } else c.reset(r.value, a), c.target = e;
2098
+ } else d.reset(r.value, a), d.target = e;
1482
2099
  }
1483
- function p(e) {
1484
- e === n.value && !i.value || (n.value = e, f(+(e === "horizontal")));
2100
+ function g(e) {
2101
+ e === n.value && !i.value || (n.value = e, h(+(e === "horizontal")));
1485
2102
  }
1486
- function m() {
1487
- p(n.value === "vertical" ? "horizontal" : "vertical");
2103
+ function _() {
2104
+ g(n.value === "vertical" ? "horizontal" : "vertical");
1488
2105
  }
1489
- function h(e) {
2106
+ function v(e) {
1490
2107
  let r = e < 0 ? 0 : e > 1 ? 1 : e;
1491
- u(), i.value = !1, n.value = r >= .5 ? "horizontal" : "vertical", l(r), l(r);
2108
+ p(), i.value = !1, n.value = r >= .5 ? "horizontal" : "vertical", f(r), f(r);
1492
2109
  let a = t.value;
1493
2110
  a && a.removeAttribute("data-morphing");
1494
2111
  }
1495
- function g(e) {
2112
+ function y(e) {
1496
2113
  let t = Math.min(Math.max(e / .5, 0), 1);
1497
2114
  return 1 - t * t * (3 - 2 * t);
1498
2115
  }
1499
- function _(e) {
2116
+ function b(e) {
1500
2117
  let t = Math.min(Math.max((e - .5) / .5, 0), 1);
1501
2118
  return t * t * (3 - 2 * t);
1502
2119
  }
1503
- let y = T(() => o.sizeStyle.value), b = T(() => s.sizeStyle.value), x = T(() => ({ opacity: String(g(r.value)) })), S = T(() => ({ opacity: String(_(r.value)) })), C = T(() => Math.max(o.stretch.value, s.stretch.value));
1504
- return J(t, (e) => {
2120
+ let x = M(() => s.sizeStyle.value), C = M(() => u.sizeStyle.value), w = M(() => ({ opacity: String(y(r.value)) })), T = M(() => ({ opacity: String(b(r.value)) })), E = M(() => Math.max(s.stretch.value, u.stretch.value));
2121
+ return q(t, (e) => {
1505
2122
  e && e.style.setProperty("--dock-morph-t", `${r.value}`);
1506
- }, { immediate: !0 }), z(u), {
2123
+ }, { immediate: !0 }), oe(p), {
1507
2124
  orientation: n,
1508
2125
  t: r,
1509
2126
  morphing: i,
1510
- verticalStyle: y,
1511
- horizontalStyle: b,
1512
- verticalOpacity: x,
1513
- horizontalOpacity: S,
1514
- stretch: C,
1515
- morphTo: p,
1516
- toggle: m,
1517
- pin: h
2127
+ verticalStyle: x,
2128
+ horizontalStyle: C,
2129
+ verticalOpacity: w,
2130
+ horizontalOpacity: T,
2131
+ stretch: E,
2132
+ morphTo: g,
2133
+ toggle: _,
2134
+ pin: v
1518
2135
  };
1519
2136
  }
1520
2137
  //#endregion
1521
- export { y as DOCK_CONTEXT_KEY, lt as DockBackgroundToggle, ft as DockDropdownTrigger, ct as DockIconButton, st as DockLayer, at as DockLayerGroup, vt as DockRail, xt as DockSection, dt as DockSelectTrigger, mt as DockSeparator, ut as DockTabButton, qe as GlassDock, h as provideDockContext, _ as useDockContext, St as useDockOrientationMorph, nt as useLayerTransition, m as useOptionalDockContext };
2138
+ //#region src/components/custom/goo-filter/GooFilter.vue?vue&type=script&setup=true&lang.ts
2139
+ var en = {
2140
+ class: "goo-filter-host",
2141
+ "aria-hidden": "true",
2142
+ focusable: "false",
2143
+ width: "1",
2144
+ height: "1"
2145
+ }, tn = ["id"], nn = ["stdDeviation"], rn = ["values"], an = /* @__PURE__ */ u(/* @__PURE__ */ R({
2146
+ __name: "GooFilter",
2147
+ props: { extra: { default: () => [] } },
2148
+ setup(e) {
2149
+ let t = [
2150
+ {
2151
+ id: "glass-goo",
2152
+ blur: 10,
2153
+ slope: 15,
2154
+ offset: -7
2155
+ },
2156
+ {
2157
+ id: "dock-fission-goo",
2158
+ blur: 7,
2159
+ slope: 20,
2160
+ offset: -9
2161
+ },
2162
+ {
2163
+ id: "pager-goo",
2164
+ blur: 8,
2165
+ slope: 18,
2166
+ offset: -7
2167
+ },
2168
+ {
2169
+ id: "dock-morph-goo",
2170
+ blur: 16,
2171
+ slope: 14,
2172
+ offset: -7
2173
+ },
2174
+ {
2175
+ id: "morph-goo",
2176
+ blur: 10,
2177
+ slope: 18,
2178
+ offset: -7
2179
+ }
2180
+ ], n = e, r = [...t, ...n.extra];
2181
+ return (e, t) => (H(), F("svg", en, [I("defs", null, [(H(), F(j, null, ce(r, (e) => I("filter", {
2182
+ key: e.id,
2183
+ id: e.id,
2184
+ "color-interpolation-filters": "sRGB",
2185
+ x: "-50%",
2186
+ y: "-50%",
2187
+ width: "200%",
2188
+ height: "200%"
2189
+ }, [
2190
+ I("feGaussianBlur", {
2191
+ in: "SourceGraphic",
2192
+ stdDeviation: e.blur,
2193
+ result: "blur"
2194
+ }, null, 8, nn),
2195
+ I("feColorMatrix", {
2196
+ in: "blur",
2197
+ mode: "matrix",
2198
+ values: `1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ${e.slope} ${e.offset}`,
2199
+ result: "goo"
2200
+ }, null, 8, rn),
2201
+ t[0] ||= I("feComposite", {
2202
+ in: "SourceGraphic",
2203
+ in2: "goo",
2204
+ operator: "atop"
2205
+ }, null, -1)
2206
+ ], 8, tn)), 64))])]));
2207
+ }
2208
+ }), [["__scopeId", "data-v-25de26c8"]]);
2209
+ //#endregion
2210
+ export { C as DOCK_CONTEXT_KEY, Ae as DOCK_SPLIT_SIGNATURES, It as DockBackgroundToggle, zt as DockDropdownTrigger, Ft as DockIconButton, Pt as DockLayer, Mt as DockLayerGroup, Bt as DockPopoverTrigger, Zt as DockSection, Rt as DockSelectTrigger, Ht as DockSeparator, Jt as DockStack, Lt as DockTabButton, bt as GlassDock, an as GooFilter, y as provideDockContext, x as useDockContext, k as useDockCtaReceive, je as useDockFission, $t as useDockOrientationMorph, Qt as useDockSearch, kt as useLayerTransition, v as useOptionalDockContext };