@mkbabb/glass-ui 7.0.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (918) hide show
  1. package/README.md +4 -3
  2. package/dist/DialogContent-4hzLiaCQ.js +152 -0
  3. package/dist/DotRing-Blh4Mc3Q.js +27 -0
  4. package/dist/{DropdownMenuTrigger-ClIq8RJE.js → DropdownMenuTrigger-8UZsBtZ8.js} +5 -5
  5. package/dist/Surface-i1tWC-Ga.js +48 -0
  6. package/dist/aurora.d.ts +1 -1
  7. package/dist/aurora.js +321 -289
  8. package/dist/axes.d.ts +1 -1
  9. package/dist/axes.js +1 -22
  10. package/dist/badge-owUOaaba.js +63 -0
  11. package/dist/badge.d.ts +1 -1
  12. package/dist/badge.js +2 -2
  13. package/dist/blob-config.d.ts +1 -1
  14. package/dist/blob.d.ts +1 -1
  15. package/dist/blob.js +43 -43
  16. package/dist/button-yvGPb0Bx.js +110 -0
  17. package/dist/button.d.ts +1 -1
  18. package/dist/button.js +1 -1
  19. package/dist/{card-Bk96VI2R.js → card-3HFFpC7_.js} +51 -95
  20. package/dist/card.d.ts +1 -1
  21. package/dist/card.js +2 -2
  22. package/dist/carousel.d.ts +1 -1
  23. package/dist/carousel.js +187 -175
  24. package/dist/checkbox-B1qn65se.js +64 -0
  25. package/dist/checkbox.d.ts +1 -0
  26. package/dist/checkbox.js +2 -0
  27. package/dist/chip.d.ts +1 -1
  28. package/dist/chip.js +129 -2
  29. package/dist/{class-names-Cpy5eaBk.js → class-names-q-UGOkHH.js} +15 -1
  30. package/dist/{collapsible-BAP95XTt.js → collapsible-B7O6m-Ch.js} +2 -2
  31. package/dist/collapsible.d.ts +1 -1
  32. package/dist/collapsible.js +1 -1
  33. package/dist/color.d.ts +1 -1
  34. package/dist/color.glsl-DTJhdekG.js +34 -0
  35. package/dist/color.js +18 -18
  36. package/dist/color.wgsl-BTszLY39.js +398 -0
  37. package/dist/command-tEzAaVY_.js +340 -0
  38. package/dist/command.d.ts +1 -1
  39. package/dist/command.js +1 -1
  40. package/dist/component-styles.css +4 -0
  41. package/dist/components/_shared/axes.d.ts +4 -1
  42. package/dist/components/_shared/class-names.d.ts +1 -1
  43. package/dist/components/_shared/control.d.ts +10 -0
  44. package/dist/components/_shared/feedback/DotRing.vue.d.ts +3 -0
  45. package/dist/components/_shared/feedback/dot-ring.css +1 -0
  46. package/dist/components/_shared/feedback/feedback-tone.css +1 -0
  47. package/dist/components/_shared/{fieldControl.d.ts → field/control.d.ts} +1 -1
  48. package/dist/components/_shared/focus.d.ts +11 -0
  49. package/dist/components/_shared/index.d.ts +1 -2
  50. package/dist/components/_shared/interaction.d.ts +1 -1
  51. package/dist/components/_shared/menu/menu.css +1 -0
  52. package/dist/components/_shared/menu/rowClass.d.ts +2 -0
  53. package/dist/components/_shared/overlay/content.d.ts +40 -0
  54. package/dist/components/_shared/overlay/index.d.ts +12 -0
  55. package/dist/components/{dock/composables → _shared/overlay}/isTeleportedTarget.d.ts +5 -0
  56. package/dist/components/_shared/overlay/participation.d.ts +66 -0
  57. package/dist/components/_shared/overlay/placement.d.ts +22 -0
  58. package/dist/components/_shared/selection.d.ts +39 -0
  59. package/dist/components/_shared/surface/resolve.d.ts +17 -0
  60. package/dist/components/_shared/useMotionAxis.d.ts +1 -7
  61. package/dist/components/accordion/Accordion.vue.d.ts +1 -1
  62. package/dist/components/accordion/index.d.ts +4 -4
  63. package/dist/components/alert/Alert.vue.d.ts +1 -1
  64. package/dist/components/alert/AlertDescription.vue.d.ts +2 -2
  65. package/dist/components/alert/AlertTitle.vue.d.ts +2 -2
  66. package/dist/components/alert/index.d.ts +9 -9
  67. package/dist/components/aurora/Aurora.vue.d.ts +5 -4
  68. package/dist/components/aurora/composables/atoms-fields.d.ts +1 -1
  69. package/dist/components/aurora/composables/atoms.d.ts +3 -3
  70. package/dist/components/aurora/composables/auroraFallbackGround.d.ts +1 -1
  71. package/dist/components/aurora/composables/auroraImageSource.d.ts +2 -2
  72. package/dist/components/aurora/composables/color.d.ts +3 -4
  73. package/dist/components/aurora/composables/frameLoop.d.ts +9 -8
  74. package/dist/components/aurora/composables/glSetup.d.ts +5 -10
  75. package/dist/components/aurora/composables/runtime.d.ts +28 -3
  76. package/dist/{composables/glass → components/aurora/composables}/textureUpload.d.ts +0 -13
  77. package/dist/components/aurora/composables/uniformBridge.d.ts +3 -20
  78. package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +2 -2
  79. package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +2 -2
  80. package/dist/components/aurora/composables/useAurora.d.ts +32 -4
  81. package/dist/components/aurora/composables/useCursorInteraction.d.ts +2 -2
  82. package/dist/components/aurora/composables/wgpuSetup.d.ts +5 -5
  83. package/dist/components/aurora/constants/budget.d.ts +0 -36
  84. package/dist/components/aurora/constants/presets.d.ts +46 -7
  85. package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +0 -2
  86. package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +0 -2
  87. package/dist/components/aurora/index.d.ts +15 -14
  88. package/dist/components/avatar/AvatarImage.vue.d.ts +1 -6
  89. package/dist/components/avatar/index.d.ts +3 -3
  90. package/dist/components/badge/Badge.vue.d.ts +2 -9
  91. package/dist/components/badge/index.d.ts +12 -11
  92. package/dist/components/blob/Blob.vue.d.ts +4 -4
  93. package/dist/components/blob/composables/blobSimulation.d.ts +5 -5
  94. package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
  95. package/dist/components/blob/composables/resolveBlobSurface.d.ts +1 -1
  96. package/dist/components/blob/composables/satelliteKinematics.d.ts +1 -1
  97. package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +4 -4
  98. package/dist/components/blob/composables/uploadBlobUniforms.d.ts +5 -5
  99. package/dist/components/blob/composables/useBlobMood.d.ts +1 -1
  100. package/dist/components/blob/composables/useBlobPointer.d.ts +0 -3
  101. package/dist/components/blob/composables/useBlobSatellites.d.ts +1 -1
  102. package/dist/components/blob/composables/useMetaballRenderer.d.ts +6 -6
  103. package/dist/components/blob/composables/wgpuSetup.d.ts +5 -5
  104. package/dist/components/blob/config.d.ts +3 -3
  105. package/dist/components/blob/constants.d.ts +1 -3
  106. package/dist/components/blob/index.d.ts +8 -8
  107. package/dist/components/blob/presets.d.ts +1 -1
  108. package/dist/components/button/Button.vue.d.ts +15 -9
  109. package/dist/components/button/index.d.ts +1 -1
  110. package/dist/components/button/styles.css +1 -1
  111. package/dist/components/card/Card.vue.d.ts +20 -23
  112. package/dist/components/card/CardHeader.vue.d.ts +8 -1
  113. package/dist/components/card/index.d.ts +6 -7
  114. package/dist/components/card/scroll.css +1 -0
  115. package/dist/components/card/styles.css +1 -1
  116. package/dist/components/carousel/Carousel.vue.d.ts +14 -19
  117. package/dist/components/carousel/CarouselContent.vue.d.ts +2 -12
  118. package/dist/components/carousel/CarouselItem.vue.d.ts +14 -3
  119. package/dist/components/carousel/CarouselPager.vue.d.ts +2 -2
  120. package/dist/components/carousel/index.d.ts +7 -6
  121. package/dist/components/carousel/projection.d.ts +23 -0
  122. package/dist/components/carousel/styles.css +1 -0
  123. package/dist/components/carousel/types.d.ts +47 -0
  124. package/dist/components/carousel/useCarousel.d.ts +4 -21
  125. package/dist/components/checkbox/Checkbox.vue.d.ts +6 -6
  126. package/dist/components/checkbox/index.d.ts +1 -1
  127. package/dist/components/chip/Chip.vue.d.ts +2 -2
  128. package/dist/components/chip/accent-tone.css +1 -0
  129. package/dist/components/chip/chipVariants.d.ts +1 -1
  130. package/dist/components/chip/index.d.ts +3 -3
  131. package/dist/components/chip/types.d.ts +2 -2
  132. package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +1 -1
  133. package/dist/components/collapsible/index.d.ts +3 -3
  134. package/dist/components/command/Command.vue.d.ts +5 -3
  135. package/dist/components/command/CommandDialog.vue.d.ts +9 -5
  136. package/dist/components/command/CommandEmpty.vue.d.ts +1 -1
  137. package/dist/components/command/CommandGroup.vue.d.ts +1 -1
  138. package/dist/components/command/CommandInput.vue.d.ts +1 -1
  139. package/dist/components/command/CommandItem.vue.d.ts +3 -3
  140. package/dist/components/command/CommandList.vue.d.ts +8 -8
  141. package/dist/components/command/CommandSeparator.vue.d.ts +1 -1
  142. package/dist/components/command/index.d.ts +11 -10
  143. package/dist/components/command/types.d.ts +8 -3
  144. package/dist/components/configurator/Configurator.vue.d.ts +26 -3
  145. package/dist/components/configurator/ConfiguratorRow.vue.d.ts +5 -3
  146. package/dist/components/configurator/index.d.ts +6 -6
  147. package/dist/components/configurator/styles.css +1 -1
  148. package/dist/components/configurator/useConfiguratorState.d.ts +1 -1
  149. package/dist/components/constellation/Constellation.vue.d.ts +3 -5
  150. package/dist/components/constellation/composables/createConstellationField.d.ts +1 -1
  151. package/dist/components/constellation/composables/useConstellation.d.ts +2 -2
  152. package/dist/components/constellation/constants.d.ts +1 -1
  153. package/dist/components/constellation/constellationField.d.ts +3 -4
  154. package/dist/components/constellation/constellationInteraction.d.ts +1 -5
  155. package/dist/components/constellation/constellationRender.d.ts +1 -3
  156. package/dist/components/constellation/constellationTypes.d.ts +0 -11
  157. package/dist/components/constellation/constellationWell.d.ts +1 -1
  158. package/dist/components/constellation/index.d.ts +8 -6
  159. package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -1
  160. package/dist/components/dark-mode-toggle/index.d.ts +2 -2
  161. package/dist/components/data-table/DataTable.vue.d.ts +1 -1
  162. package/dist/components/data-table/composables/useDataTableResponsive.d.ts +1 -1
  163. package/dist/components/data-table/index.d.ts +2 -2
  164. package/dist/components/{number-field/NumberFieldContent.vue.d.ts → deck/DeckSlide.vue.d.ts} +12 -1
  165. package/dist/components/deck/DeckStage.vue.d.ts +36 -0
  166. package/dist/components/deck/composables/useDeck.d.ts +35 -10
  167. package/dist/components/deck/composables/useDeckCapture.d.ts +26 -0
  168. package/dist/components/deck/composables/useDeckHashSync.d.ts +8 -0
  169. package/dist/components/deck/composables/useDeckKeyboard.d.ts +16 -8
  170. package/dist/components/deck/composables/useDeckSnap.d.ts +20 -0
  171. package/dist/components/deck/composables/useDeckSwipe.d.ts +13 -0
  172. package/dist/components/deck/composables/useEdgeZones.d.ts +14 -0
  173. package/dist/components/deck/constants.d.ts +0 -3
  174. package/dist/components/deck/index.d.ts +22 -6
  175. package/dist/components/deck/slideContext.d.ts +21 -0
  176. package/dist/components/deck/styles/capture.css +1 -0
  177. package/dist/components/deck/styles/index.css +1 -0
  178. package/dist/components/deck/styles/reveal.css +1 -0
  179. package/dist/components/deck/styles/stage.css +1 -0
  180. package/dist/components/deck/styles/turn.css +1 -0
  181. package/dist/components/deck/types.d.ts +26 -0
  182. package/dist/components/deck/window.d.ts +27 -0
  183. package/dist/components/dialog/Dialog.vue.d.ts +13 -0
  184. package/dist/components/dialog/DialogContent.vue.d.ts +23 -27
  185. package/dist/components/dialog/DialogFooter.vue.d.ts +2 -2
  186. package/dist/components/dialog/DialogHeader.vue.d.ts +2 -2
  187. package/dist/components/dialog/ModalOverlay.vue.d.ts +44 -23
  188. package/dist/components/dialog/index.d.ts +7 -8
  189. package/dist/components/dialog/styles.css +1 -0
  190. package/dist/components/dock/DockControl.vue.d.ts +8 -4
  191. package/dist/components/dock/DockCrossfade.vue.d.ts +3 -3
  192. package/dist/components/dock/DockLayer.vue.d.ts +1 -1
  193. package/dist/components/dock/DockLayerGroup.vue.d.ts +13 -13
  194. package/dist/components/dock/DockSeparator.vue.d.ts +24 -20
  195. package/dist/components/dock/GlassDock.vue.d.ts +5 -4
  196. package/dist/components/dock/composables/dockContext.d.ts +28 -11
  197. package/dist/components/dock/composables/dockCrossfadeContext.d.ts +5 -5
  198. package/dist/components/dock/composables/dockMorphMeasure.d.ts +0 -1
  199. package/dist/components/dock/composables/dockSwitcherContext.d.ts +29 -0
  200. package/dist/components/dock/composables/index.d.ts +10 -10
  201. package/dist/components/dock/composables/useDockHold.d.ts +21 -6
  202. package/dist/components/dock/composables/useDockRun.d.ts +20 -0
  203. package/dist/components/dock/composables/useDockSearch.d.ts +5 -5
  204. package/dist/components/dock/composables/useDockShellProps.d.ts +21 -128
  205. package/dist/components/dock/composables/useDockState.d.ts +18 -12
  206. package/dist/components/dock/constants.d.ts +32 -3
  207. package/dist/components/dock/index.d.ts +15 -15
  208. package/dist/components/dock/styles/adaptive-legibility.css +1 -1
  209. package/dist/components/dock/styles/controls/icon-button.css +1 -1
  210. package/dist/components/dock/styles/controls/tab-button.css +1 -1
  211. package/dist/components/dock/styles/controls/touch-floor.css +1 -1
  212. package/dist/components/dock/styles/controls/triggers.css +1 -1
  213. package/dist/components/dock/styles/controls.css +1 -1
  214. package/dist/components/dock/styles/crossfade.css +1 -1
  215. package/dist/components/dock/styles/cta-seat.css +1 -1
  216. package/dist/components/dock/styles/density.css +1 -1
  217. package/dist/components/dock/styles/dock.css +1 -1
  218. package/dist/components/dock/styles/index.css +1 -1
  219. package/dist/components/dock/styles/layer-group.css +1 -1
  220. package/dist/components/dock/styles/layers.css +1 -1
  221. package/dist/components/dock/styles/morph.css +1 -1
  222. package/dist/components/dock/styles/run.css +1 -0
  223. package/dist/components/dock/styles/search.css +1 -1
  224. package/dist/components/dock/styles/shape.css +1 -1
  225. package/dist/components/dock/styles/shell-regions.css +1 -1
  226. package/dist/components/dock/styles/shell.css +1 -1
  227. package/dist/components/easing/EasingCurve.vue.d.ts +51 -0
  228. package/dist/components/easing/EasingPicker.vue.d.ts +16 -32
  229. package/dist/components/easing/constants.d.ts +15 -13
  230. package/dist/components/easing/index.d.ts +5 -3
  231. package/dist/components/easing/{composables/useEasingPicker.d.ts → usePicker.d.ts} +27 -23
  232. package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -1
  233. package/dist/components/expandable-container/index.d.ts +1 -1
  234. package/dist/components/fading-scroll/constants.d.ts +2 -9
  235. package/dist/components/fading-scroll/index.d.ts +2 -2
  236. package/dist/components/fourier-field/FourierField.vue.d.ts +31 -30
  237. package/dist/components/fourier-field/clock.d.ts +35 -0
  238. package/dist/components/fourier-field/constants.d.ts +79 -104
  239. package/dist/components/fourier-field/index.d.ts +4 -31
  240. package/dist/components/fourier-field/math.d.ts +69 -77
  241. package/dist/components/fourier-field/renderer/mint.d.ts +50 -0
  242. package/dist/components/fourier-field/renderer/uniforms.d.ts +84 -0
  243. package/dist/components/fourier-field/renderer/wgpu.d.ts +28 -0
  244. package/dist/components/fourier-field/shaders/compute.wgsl.d.ts +1 -0
  245. package/dist/components/fourier-field/shaders/render.wgsl.d.ts +1 -0
  246. package/dist/components/fourier-field/useFourierField.d.ts +49 -0
  247. package/dist/components/handmark/HandMark.vue.d.ts +18 -14
  248. package/dist/components/handmark/index.d.ts +5 -22
  249. package/dist/components/handmark/stroke.d.ts +92 -0
  250. package/dist/components/index.d.ts +30 -32
  251. package/dist/components/infinite-scroll/InfiniteScroll.vue.d.ts +3 -3
  252. package/dist/components/infinite-scroll/composables/index.d.ts +2 -2
  253. package/dist/components/infinite-scroll/composables/useInfiniteScroll.d.ts +1 -1
  254. package/dist/components/infinite-scroll/index.d.ts +2 -2
  255. package/dist/components/input/Input.vue.d.ts +10 -5
  256. package/dist/components/input/index.d.ts +3 -2
  257. package/dist/components/input/types.d.ts +49 -9
  258. package/dist/components/label/index.d.ts +1 -1
  259. package/dist/components/labeled-field/LabeledField.vue.d.ts +4 -4
  260. package/dist/components/labeled-field/LabeledInput.vue.d.ts +1 -1
  261. package/dist/components/labeled-field/LabeledSlider.vue.d.ts +1 -1
  262. package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +1 -1
  263. package/dist/components/labeled-field/index.d.ts +5 -6
  264. package/dist/components/labeled-field/types.d.ts +5 -14
  265. package/dist/components/{dropdown-menu → menu}/DropdownMenu.vue.d.ts +2 -2
  266. package/dist/components/{dropdown-menu → menu}/DropdownMenuCheckboxItem.vue.d.ts +2 -2
  267. package/dist/components/{dropdown-menu → menu}/DropdownMenuContent.vue.d.ts +4 -7
  268. package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioGroup.vue.d.ts +1 -1
  269. package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioItem.vue.d.ts +1 -1
  270. package/dist/components/{dropdown-menu → menu}/DropdownMenuSubContent.vue.d.ts +7 -7
  271. package/dist/components/{dropdown-menu → menu}/DropdownMenuTrigger.vue.d.ts +1 -1
  272. package/dist/components/{dropdown-menu → menu}/index.d.ts +15 -15
  273. package/dist/components/metric/Metric.vue.d.ts +7 -5
  274. package/dist/components/metric/MetricRow.vue.d.ts +4 -12
  275. package/dist/components/metric/MetricStack.vue.d.ts +2 -2
  276. package/dist/components/metric/coalesce-metric.d.ts +30 -2
  277. package/dist/components/metric/index.d.ts +6 -5
  278. package/dist/components/metric/styles.css +1 -1
  279. package/dist/components/metric/types.d.ts +25 -13
  280. package/dist/components/music-staff/MusicStaff.vue.d.ts +22 -0
  281. package/dist/components/music-staff/glyphs.d.ts +74 -0
  282. package/dist/components/music-staff/index.d.ts +4 -0
  283. package/dist/components/music-staff/midiAdapter.d.ts +22 -0
  284. package/dist/components/music-staff/staffGeometry.d.ts +216 -0
  285. package/dist/components/music-staff/styles.css +1 -0
  286. package/dist/components/number-field/NumberField.vue.d.ts +7 -2
  287. package/dist/components/number-field/NumberFieldStep.vue.d.ts +31 -0
  288. package/dist/components/number-field/context.d.ts +4 -0
  289. package/dist/components/number-field/index.d.ts +3 -5
  290. package/dist/components/pager-dots/PagerDots.vue.d.ts +22 -10
  291. package/dist/components/pager-dots/index.d.ts +3 -2
  292. package/dist/components/pager-dots/worm.d.ts +42 -0
  293. package/dist/components/popover/Popover.vue.d.ts +23 -1
  294. package/dist/components/popover/PopoverContent.vue.d.ts +17 -14
  295. package/dist/components/popover/PopoverTrigger.vue.d.ts +1 -1
  296. package/dist/components/popover/index.d.ts +3 -3
  297. package/dist/components/popover/popoverContext.d.ts +10 -0
  298. package/dist/components/progress/Progress.vue.d.ts +5 -5
  299. package/dist/components/progress/index.d.ts +2 -2
  300. package/dist/components/progress/types.d.ts +16 -6
  301. package/dist/components/radio-group/RadioGroup.vue.d.ts +5 -7
  302. package/dist/components/radio-group/RadioGroupItem.vue.d.ts +3 -2
  303. package/dist/components/radio-group/index.d.ts +4 -4
  304. package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +2 -14
  305. package/dist/components/scroll-progress-rim/index.d.ts +2 -3
  306. package/dist/components/scroll-progress-rim/styles.css +1 -1
  307. package/dist/components/scroll-progress-rim/types.d.ts +20 -2
  308. package/dist/components/select/Select.vue.d.ts +2 -2
  309. package/dist/components/select/SelectContent.vue.d.ts +4 -9
  310. package/dist/components/select/SelectItem.vue.d.ts +1 -1
  311. package/dist/components/select/SelectScrollButton.vue.d.ts +18 -0
  312. package/dist/components/select/SelectTrigger.vue.d.ts +1 -8
  313. package/dist/components/select/SelectValue.vue.d.ts +4 -6
  314. package/dist/components/select/index.d.ts +18 -16
  315. package/dist/components/separator/Separator.vue.d.ts +1 -1
  316. package/dist/components/separator/index.d.ts +1 -1
  317. package/dist/components/sheet/SheetContent.vue.d.ts +60 -0
  318. package/dist/components/sheet/detents/projection.d.ts +42 -0
  319. package/dist/components/sheet/detents/use.d.ts +27 -0
  320. package/dist/components/sheet/index.d.ts +4 -0
  321. package/dist/components/sheet/motion.d.ts +29 -0
  322. package/dist/components/sheet/styles.css +1 -0
  323. package/dist/components/skeleton/index.d.ts +1 -1
  324. package/dist/components/slider/Slider.vue.d.ts +2 -3
  325. package/dist/components/slider/index.d.ts +2 -2
  326. package/dist/components/slider/styles.css +1 -0
  327. package/dist/components/slider/types.d.ts +13 -4
  328. package/dist/components/sortable-list/SortableItem.vue.d.ts +1 -1
  329. package/dist/components/sortable-list/SortableList.vue.d.ts +1 -2
  330. package/dist/components/sortable-list/context.d.ts +1 -1
  331. package/dist/components/sortable-list/drag.d.ts +52 -0
  332. package/dist/components/sortable-list/ghost.d.ts +40 -0
  333. package/dist/components/sortable-list/index.d.ts +4 -4
  334. package/dist/components/sortable-list/motion.d.ts +75 -0
  335. package/dist/components/sortable-list/resolve.d.ts +56 -0
  336. package/dist/components/sortable-list/{composables/types.d.ts → types.d.ts} +14 -7
  337. package/dist/components/sortable-list/{composables/useSortable.d.ts → useSortable.d.ts} +2 -4
  338. package/dist/components/status-dot/StatusDot.vue.d.ts +10 -3
  339. package/dist/components/status-dot/index.d.ts +3 -2
  340. package/dist/components/status-dot/states.d.ts +4 -0
  341. package/dist/components/surface/Surface.vue.d.ts +31 -14
  342. package/dist/components/surface/index.d.ts +2 -2
  343. package/dist/components/switch/Switch.vue.d.ts +7 -12
  344. package/dist/components/switch/index.d.ts +2 -2
  345. package/dist/components/table/index.d.ts +8 -8
  346. package/dist/components/tabs/SegmentedTabs.vue.d.ts +9 -13
  347. package/dist/components/tabs/composables/useTabDragMorph.d.ts +2 -2
  348. package/dist/components/tabs/composables/useTabResponsive.d.ts +1 -1
  349. package/dist/components/tabs/composables/useTabRovingFocus.d.ts +15 -7
  350. package/dist/components/tabs/index.d.ts +2 -2
  351. package/dist/components/tabs/styles/drag.css +1 -1
  352. package/dist/components/tabs/styles/segmented.css +1 -1
  353. package/dist/components/textarea/Textarea.vue.d.ts +10 -5
  354. package/dist/components/textarea/index.d.ts +2 -2
  355. package/dist/components/textarea/types.d.ts +34 -11
  356. package/dist/components/timeline/Timeline.vue.d.ts +41 -0
  357. package/dist/components/timeline/geometry.d.ts +53 -78
  358. package/dist/components/timeline/index.d.ts +2 -2
  359. package/dist/components/timeline/types.d.ts +42 -42
  360. package/dist/components/toast/Toast.vue.d.ts +3 -3
  361. package/dist/components/toast/index.d.ts +8 -8
  362. package/dist/components/toast/use-toast.d.ts +9 -2
  363. package/dist/components/toggle-group/ToggleGroup.vue.d.ts +29 -40
  364. package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +7 -7
  365. package/dist/components/toggle-group/context.d.ts +28 -0
  366. package/dist/components/toggle-group/index.d.ts +2 -3
  367. package/dist/components/tooltip/TooltipContent.vue.d.ts +3 -8
  368. package/dist/components/tooltip/TooltipTrigger.vue.d.ts +1 -1
  369. package/dist/components/tooltip/index.d.ts +4 -4
  370. package/dist/components/typewriter/TypewriterText.vue.d.ts +12 -32
  371. package/dist/components/typewriter/composables/useTypewriter.d.ts +1 -1
  372. package/dist/components/typewriter/index.d.ts +7 -7
  373. package/dist/components/typewriter/types.d.ts +1 -1
  374. package/dist/components/typewriter/utils/timing.d.ts +1 -1
  375. package/dist/components/typewriter/utils/typoStateMachine.d.ts +1 -1
  376. package/dist/composables/color/accent-tone-solve.d.ts +1 -1
  377. package/dist/composables/color/index.d.ts +7 -7
  378. package/dist/composables/context/index.d.ts +1 -1
  379. package/dist/composables/dark/darkModeSyncScript.d.ts +19 -0
  380. package/dist/composables/dark/index.d.ts +5 -5
  381. package/dist/composables/dom/index.d.ts +10 -10
  382. package/dist/composables/dom/useDragVelocity.d.ts +7 -0
  383. package/dist/composables/glass/backdropLuminanceSample.d.ts +20 -22
  384. package/dist/composables/glass/backdropSampleMath.d.ts +10 -0
  385. package/dist/composables/glass/canvas2d/index.d.ts +3 -3
  386. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +2 -10
  387. package/dist/composables/glass/index.d.ts +5 -7
  388. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +3 -4
  389. package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
  390. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +13 -22
  391. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +10 -13
  392. package/dist/composables/glass/webgl/visibility.d.ts +1 -1
  393. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +10 -13
  394. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +3 -4
  395. package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +9 -11
  396. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +0 -17
  397. package/dist/composables/keyboard/index.d.ts +1 -1
  398. package/dist/composables/motion/core/constants.d.ts +7 -0
  399. package/dist/composables/motion/core/index.d.ts +21 -21
  400. package/dist/composables/motion/core/motionTempo.d.ts +0 -2
  401. package/dist/composables/motion/dissolve/dissolveGrammar.d.ts +88 -0
  402. package/dist/composables/motion/engage/engageEnvelopes.d.ts +45 -0
  403. package/dist/composables/motion/engage/engageLadder.d.ts +86 -0
  404. package/dist/composables/motion/index.d.ts +14 -14
  405. package/dist/composables/motion/morph/eyeglass.d.ts +141 -0
  406. package/dist/composables/motion/morph/useDockCtaReceive.d.ts +6 -6
  407. package/dist/composables/motion/morph/useElementMorph.d.ts +4 -4
  408. package/dist/composables/motion/morph/useLeadTrail.d.ts +30 -28
  409. package/dist/composables/motion/morph/useSelectionGroup.d.ts +61 -23
  410. package/dist/composables/motion/morph/useSelectionIndicator.d.ts +52 -22
  411. package/dist/composables/motion/number/useAnimatedNumberMap.d.ts +1 -1
  412. package/dist/composables/motion/pointer/pointerFieldMappings.d.ts +1 -42
  413. package/dist/composables/motion/pointer/useRoutePointer.d.ts +1 -1
  414. package/dist/composables/motion/reveal/useLiquidReveal.d.ts +7 -6
  415. package/dist/composables/motion/route/routeGrammar.d.ts +60 -0
  416. package/dist/composables/motion/route/useRouteTransition.d.ts +45 -0
  417. package/dist/composables/motion/scroll/useScrollProgress.d.ts +7 -14
  418. package/dist/composables/motion/scroll/useScrollScene.d.ts +5 -4
  419. package/dist/composables/motion/spring/springPresets.d.ts +13 -27
  420. package/dist/composables/motion/spring/springProjection.d.ts +3 -4
  421. package/dist/composables/motion/spring/useLiquidPress.d.ts +2 -2
  422. package/dist/composables/motion/spring/useSpring.d.ts +3 -3
  423. package/dist/composables/motion/spring/useSpringMount.d.ts +6 -3
  424. package/dist/composables/motion/spring/useSpringPress.d.ts +6 -6
  425. package/dist/composables/reactive/index.d.ts +2 -2
  426. package/dist/composables/search/index.d.ts +5 -0
  427. package/dist/{components/search/composables/fuzzySearchIndex.d.ts → composables/search/match.d.ts} +9 -4
  428. package/dist/{components/search/composables → composables/search}/useFuzzySearch.d.ts +1 -1
  429. package/dist/composables/sidebar/index.d.ts +10 -10
  430. package/dist/composables/sidebar/useClickDelegate.d.ts +1 -1
  431. package/dist/composables/sidebar/useLazyLoader.d.ts +1 -1
  432. package/dist/composables/sidebar/useScrollTo.d.ts +1 -1
  433. package/dist/composables/sidebar/useScrollTracker.d.ts +1 -1
  434. package/dist/composables/sidebar/useSidebarState.d.ts +1 -1
  435. package/dist/composables/sidebar/useTreeIndex.d.ts +1 -1
  436. package/dist/configurator-BHJymdrF.js +339 -0
  437. package/dist/configurator.d.ts +1 -1
  438. package/dist/configurator.js +1 -1
  439. package/dist/{constants-nBz23tJE.js → constants-Dk96HZHu.js} +2 -2
  440. package/dist/constellation.d.ts +1 -1
  441. package/dist/constellation.js +137 -136
  442. package/dist/content-CWO-XL7o.js +18 -0
  443. package/dist/control-DJp15L4U.js +7 -0
  444. package/dist/{field-control.css_vue_type_style_index_0_src_true_lang-CeLay9Tk.js → control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js} +1 -1
  445. package/dist/{createCanvasLifecycle-DbXRwjU_.js → createCanvasLifecycle-hJHobVTn.js} +2 -5
  446. package/dist/{dark-z_P5QwqI.js → dark-CLlmo7dD.js} +2 -2
  447. package/dist/dark-mode-toggle.d.ts +1 -1
  448. package/dist/dark-mode-toggle.js +3 -3
  449. package/dist/dark.d.ts +1 -1
  450. package/dist/dark.js +1 -1
  451. package/dist/data-table-_RrOEdiw.js +493 -0
  452. package/dist/data-table.d.ts +1 -1
  453. package/dist/data-table.js +1 -1
  454. package/dist/deck-Ci6YjB5e.js +453 -0
  455. package/dist/deck.d.ts +1 -1
  456. package/dist/deck.js +2 -94
  457. package/dist/dialog-CbRnTRtg.js +78 -0
  458. package/dist/dialog.d.ts +1 -1
  459. package/dist/dialog.js +3 -2
  460. package/dist/dock.d.ts +1 -1
  461. package/dist/dock.js +873 -620
  462. package/dist/dom.d.ts +1 -1
  463. package/dist/dom.js +141 -37
  464. package/dist/easing.d.ts +1 -1
  465. package/dist/easing.js +686 -515
  466. package/dist/expandable-container-BY1hQXi4.js +142 -0
  467. package/dist/expandable-container.d.ts +1 -1
  468. package/dist/expandable-container.js +2 -140
  469. package/dist/{fading-scroll-DhxXIhm2.js → fading-scroll-CTeW3KNS.js} +30 -30
  470. package/dist/fading-scroll.d.ts +1 -1
  471. package/dist/fading-scroll.js +1 -1
  472. package/dist/focus-Duf7EpUu.js +13 -0
  473. package/dist/fourier-field.d.ts +1 -1
  474. package/dist/fourier-field.js +641 -855
  475. package/dist/fourier-math.d.ts +1 -1
  476. package/dist/fourier-math.js +6 -6
  477. package/dist/glass-ui.css +1 -1
  478. package/dist/glass-ui.js +133 -469
  479. package/dist/handmark.d.ts +1 -1
  480. package/dist/handmark.js +330 -718
  481. package/dist/index.d.ts +41 -42
  482. package/dist/infinite-scroll.d.ts +1 -1
  483. package/dist/infinite-scroll.js +56 -43
  484. package/dist/input-Bls2A4Tt.js +54 -0
  485. package/dist/input.d.ts +1 -0
  486. package/dist/input.js +2 -0
  487. package/dist/keyboard.d.ts +1 -1
  488. package/dist/label-BQEZhnK_.js +53 -0
  489. package/dist/label.d.ts +1 -1
  490. package/dist/label.js +1 -1
  491. package/dist/labeled-field.d.ts +1 -1
  492. package/dist/labeled-field.js +64 -148
  493. package/dist/menu-TDMNtZjG.js +501 -0
  494. package/dist/menu.d.ts +1 -0
  495. package/dist/{dropdown-menu.js → menu.js} +2 -2
  496. package/dist/metric.d.ts +1 -1
  497. package/dist/metric.js +79 -132
  498. package/dist/motion-D4uYE0UM.js +61 -0
  499. package/dist/motion-core.d.ts +1 -1
  500. package/dist/motion-core.js +185 -52
  501. package/dist/motion.d.ts +1 -1
  502. package/dist/motion.js +160 -178
  503. package/dist/music-staff.d.ts +1 -0
  504. package/dist/music-staff.js +915 -0
  505. package/dist/number-field-NFAwQ0HK.js +111 -0
  506. package/dist/number-field.d.ts +1 -1
  507. package/dist/number-field.js +2 -2
  508. package/dist/pager-dots.d.ts +1 -1
  509. package/dist/pager-dots.js +362 -2
  510. package/dist/participation-Di4UHbzk.js +42 -0
  511. package/dist/{pointerFieldMappings-DP5tla5z.js → pointerFieldMappings-DXwlU5uj.js} +7 -23
  512. package/dist/popover-C04Rrdcz.js +181 -0
  513. package/dist/popover.d.ts +1 -1
  514. package/dist/popover.js +1 -1
  515. package/dist/progress-DF8dWZIX.js +74 -0
  516. package/dist/progress.d.ts +1 -1
  517. package/dist/progress.js +1 -1
  518. package/dist/radio-group-BNV7PN1O.js +85 -0
  519. package/dist/radio-group.d.ts +1 -0
  520. package/dist/radio-group.js +2 -0
  521. package/dist/reactive.d.ts +1 -1
  522. package/dist/resolve-DdrNvBby.js +6 -0
  523. package/dist/rowClass-DYOXwxhO.js +10 -0
  524. package/dist/scroll-progress-rim.d.ts +1 -1
  525. package/dist/scroll-progress-rim.js +48 -42
  526. package/dist/select-COox45Kv.js +290 -0
  527. package/dist/select.d.ts +1 -1
  528. package/dist/select.js +2 -2
  529. package/dist/separator-CN11t406.js +73 -0
  530. package/dist/separator.d.ts +1 -1
  531. package/dist/separator.js +1 -1
  532. package/dist/sheet-BEFvnO_u.js +340 -0
  533. package/dist/sheet.d.ts +1 -0
  534. package/dist/sheet.js +3 -0
  535. package/dist/sidebar.d.ts +1 -1
  536. package/dist/slider-5ChjjWSR.js +227 -0
  537. package/dist/slider.d.ts +1 -1
  538. package/dist/slider.js +1 -1
  539. package/dist/sortable-list.d.ts +1 -1
  540. package/dist/sortable-list.js +411 -286
  541. package/dist/springPresets-Cbe0Voqg.js +52 -0
  542. package/dist/status-dot-BpnqOP5N.js +56 -0
  543. package/dist/status-dot.d.ts +1 -1
  544. package/dist/status-dot.js +2 -42
  545. package/dist/styles/accessibility.css +1 -1
  546. package/dist/styles/animations.css +1 -1
  547. package/dist/styles/components.css +1 -1
  548. package/dist/styles/fonts.css +1 -1
  549. package/dist/styles/glass/a11y-fallback.css +1 -1
  550. package/dist/styles/glass/control-bit.css +1 -0
  551. package/dist/styles/glass/control-edge.css +1 -0
  552. package/dist/styles/glass/control-surfaces.css +1 -1
  553. package/dist/styles/glass/deep.css +1 -1
  554. package/dist/styles/glass/defined.css +1 -1
  555. package/dist/styles/glass/dissolve.css +1 -0
  556. package/dist/styles/glass/focus-veil.css +1 -0
  557. package/dist/styles/glass/glass-atom.css +1 -1
  558. package/dist/styles/glass/glass-capsule.css +1 -1
  559. package/dist/styles/glass/glass-chip.css +1 -1
  560. package/dist/styles/glass/grasp.css +1 -0
  561. package/dist/styles/glass/ladder-undershadow.css +1 -1
  562. package/dist/styles/glass/ladder.css +1 -1
  563. package/dist/styles/glass/liquid-enter.css +1 -1
  564. package/dist/styles/glass/liquid-fill.css +1 -1
  565. package/dist/styles/glass/mark.css +1 -0
  566. package/dist/styles/glass/material.css +1 -1
  567. package/dist/styles/glass/overlay-plate.css +1 -0
  568. package/dist/styles/glass/reveal.css +1 -1
  569. package/dist/styles/glass/rim.css +1 -1
  570. package/dist/styles/glass/squircle.css +1 -1
  571. package/dist/styles/glass/surface-axis.css +1 -1
  572. package/dist/styles/glass/surfaces-pager.css +1 -1
  573. package/dist/styles/glass/surfaces.css +1 -1
  574. package/dist/styles/glass/track-flow.css +1 -0
  575. package/dist/styles/glass/value-marks.css +1 -0
  576. package/dist/styles/glass/veil.css +1 -0
  577. package/dist/styles/glass-specular-track.css +1 -1
  578. package/dist/styles/glass.css +1 -1
  579. package/dist/styles/index.css +1 -1
  580. package/dist/styles/paper.css +1 -1
  581. package/dist/styles/scroll-choreography.css +1 -1
  582. package/dist/styles/scroll-chrome.css +1 -1
  583. package/dist/styles/scroll-driven.css +1 -1
  584. package/dist/styles/theme/bridges.css +1 -1
  585. package/dist/styles/theme/dark.css +1 -1
  586. package/dist/styles/theme/literals.css +1 -1
  587. package/dist/styles/theme/radius.css +1 -1
  588. package/dist/styles/theme.css +1 -1
  589. package/dist/styles/tokens/color-radius.css +1 -1
  590. package/dist/styles/tokens/dark-arm-glass.css +1 -1
  591. package/dist/styles/tokens/dark-arm.css +1 -1
  592. package/dist/styles/tokens/glass-deep.css +1 -1
  593. package/dist/styles/tokens/glass-fx.css +1 -1
  594. package/dist/styles/tokens/glass.css +1 -1
  595. package/dist/styles/tokens/light-dark.css +1 -1
  596. package/dist/styles/tokens/manifest.d.ts +4 -4
  597. package/dist/styles/tokens/motion-registers.css +1 -1
  598. package/dist/styles/tokens/offsets.css +1 -1
  599. package/dist/styles/tokens/on-glass-fg.css +1 -1
  600. package/dist/styles/tokens/property-regs-specular.css +1 -1
  601. package/dist/styles/tokens/property-regs.css +1 -1
  602. package/dist/styles/tokens/scale-paper.css +1 -1
  603. package/dist/styles/tokens/scheme-motion.css +1 -1
  604. package/dist/styles/tokens/scheme-spring.css +1 -1
  605. package/dist/styles/tokens/scroll-tokens.css +1 -1
  606. package/dist/styles/tokens/shadow.css +1 -1
  607. package/dist/styles/tokens/sizing-config.css +1 -1
  608. package/dist/styles/tokens/sizing.css +1 -1
  609. package/dist/styles/tokens.css +1 -1
  610. package/dist/styles/tokens.d.ts +2 -2
  611. package/dist/styles/track-well.css +1 -0
  612. package/dist/styles/transitions.css +1 -1
  613. package/dist/styles/typography/scale.css +1 -1
  614. package/dist/styles/typography/semantic.css +1 -1
  615. package/dist/styles/typography/utilities.css +1 -1
  616. package/dist/styles/typography.css +1 -1
  617. package/dist/styles/utilities/a11y-overrides.css +1 -1
  618. package/dist/styles/utilities/base-misc.css +1 -1
  619. package/dist/styles/utilities/base.css +1 -1
  620. package/dist/styles/utilities/btn.css +1 -1
  621. package/dist/styles/utilities/components.css +1 -1
  622. package/dist/styles/utilities/metal.css +1 -1
  623. package/dist/styles/utilities/responsive.css +1 -1
  624. package/dist/styles/utilities.css +1 -1
  625. package/dist/styles/view-transition.css +1 -1
  626. package/dist/styles/viz-reveal.css +1 -1
  627. package/dist/{supportsCssTimeline-C2zyWpl8.js → supportsCssTimeline-Di9gzleG.js} +5 -4
  628. package/dist/surface.d.ts +1 -1
  629. package/dist/surface.js +1 -1
  630. package/dist/switch-lLkbREB-.js +49 -0
  631. package/dist/switch.d.ts +1 -1
  632. package/dist/switch.js +1 -1
  633. package/dist/tabs-DSJMd1Et.js +268 -0
  634. package/dist/tabs.d.ts +1 -1
  635. package/dist/tabs.js +2 -311
  636. package/dist/textarea.d.ts +1 -0
  637. package/dist/textarea.js +58 -0
  638. package/dist/timeline.d.ts +1 -1
  639. package/dist/timeline.js +238 -528
  640. package/dist/{toast-CH5mnsYT.js → toast-9c6Kp58L.js} +52 -50
  641. package/dist/toast.d.ts +1 -1
  642. package/dist/toast.js +1 -1
  643. package/dist/toggle-group-DUcmKnDw.js +125 -0
  644. package/dist/toggle-group.d.ts +1 -1
  645. package/dist/toggle-group.js +1 -1
  646. package/dist/tokens.d.ts +1 -1
  647. package/dist/tokens.js +12 -10
  648. package/dist/tooltip-BKk2qVDn.js +142 -0
  649. package/dist/tooltip.d.ts +1 -1
  650. package/dist/tooltip.js +1 -1
  651. package/dist/typewriter.d.ts +1 -1
  652. package/dist/typewriter.js +10 -32
  653. package/dist/useAccentTone-DFAh1osB.js +47 -0
  654. package/dist/{resolveCanvasColor-DS_6DBxA.js → useCanvas2D-CQRElMyE.js} +2 -13
  655. package/dist/{useDockCtaReceive-DkrOTM0q.js → useDockCtaReceive-BSSgD6mu.js} +2 -2
  656. package/dist/{useDragMorph-BogSV_nv.js → useDragMorph-B363RUbF.js} +59 -59
  657. package/dist/{useDragVelocity-6ONX0sr0.js → useDragVelocity-C5BkKiNf.js} +28 -24
  658. package/dist/useIntersectionPause-CzKR3EyP.js +57 -0
  659. package/dist/useLeadTrail-DQWdpFN1.js +83 -0
  660. package/dist/{useLiquidPress-BOxuDkKa.js → useLiquidPress-h1scrPtP.js} +1 -1
  661. package/dist/useScrollChrome-BJbWV32F.js +162 -0
  662. package/dist/useScrollProgress-Bq-KPaKM.js +41 -0
  663. package/dist/{useScrollTrigger-BDdqptlc.js → useScrollTrigger-Abe5dEeO.js} +25 -26
  664. package/dist/useSelectionGroup-zsEwitF6.js +291 -0
  665. package/dist/{useSpringMount-uQ8QL9Ff.js → useSpringMount-OA-0mTNv.js} +5 -6
  666. package/dist/vReveal-B5WYGofz.js +44 -0
  667. package/dist/{valueDomain-SbVzoHMH.js → valueDomain-DXRzfc8l.js} +1 -1
  668. package/package.json +52 -109
  669. package/dist/FeedbackMark-DZq5001h.js +0 -23
  670. package/dist/Input-9BlLluik.js +0 -77
  671. package/dist/PagerDots-BEq0MgtH.js +0 -311
  672. package/dist/Surface-kFQeYrYv.js +0 -82
  673. package/dist/animated-digit.d.ts +0 -1
  674. package/dist/animated-digit.js +0 -44
  675. package/dist/badge-u65NClWn.js +0 -62
  676. package/dist/button-Bu9F4uU6.js +0 -98
  677. package/dist/canvas.d.ts +0 -1
  678. package/dist/canvas.js +0 -2
  679. package/dist/chip-DFZQr6rV.js +0 -129
  680. package/dist/color.wgsl-Ct5o9dpf.js +0 -411
  681. package/dist/command-SFqDQ65h.js +0 -320
  682. package/dist/compile-D7VYG3gi.js +0 -19
  683. package/dist/completion-seal.d.ts +0 -1
  684. package/dist/completion-seal.js +0 -132
  685. package/dist/components/_shared/FeedbackMark.vue.d.ts +0 -11
  686. package/dist/components/_shared/control-size.d.ts +0 -2
  687. package/dist/components/_shared/disclosure.css +0 -1
  688. package/dist/components/_shared/feedback-tone.css +0 -1
  689. package/dist/components/_shared/feedback.d.ts +0 -7
  690. package/dist/components/_shared/field-control.css +0 -1
  691. package/dist/components/_shared/field-surfaces.css +0 -1
  692. package/dist/components/_shared/floating.d.ts +0 -14
  693. package/dist/components/_shared/menu.css +0 -1
  694. package/dist/components/_shared/menuRowClass.d.ts +0 -2
  695. package/dist/components/_shared/resolveSurfaceClass.d.ts +0 -3
  696. package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +0 -55
  697. package/dist/components/animated-digit/index.d.ts +0 -2
  698. package/dist/components/avatar/styles.css +0 -1
  699. package/dist/components/card/CardAction.vue.d.ts +0 -17
  700. package/dist/components/card/card-scroll.css +0 -1
  701. package/dist/components/carousel/interface.d.ts +0 -22
  702. package/dist/components/checkbox/styles.css +0 -1
  703. package/dist/components/combobox/Combobox.vue.d.ts +0 -22
  704. package/dist/components/combobox/ComboboxAnchor.vue.d.ts +0 -14
  705. package/dist/components/combobox/ComboboxEmpty.vue.d.ts +0 -14
  706. package/dist/components/combobox/ComboboxGroup.vue.d.ts +0 -14
  707. package/dist/components/combobox/ComboboxInput.vue.d.ts +0 -18
  708. package/dist/components/combobox/ComboboxItem.vue.d.ts +0 -18
  709. package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +0 -14
  710. package/dist/components/combobox/ComboboxList.vue.d.ts +0 -29
  711. package/dist/components/combobox/ComboboxTrigger.vue.d.ts +0 -16
  712. package/dist/components/combobox/index.d.ts +0 -10
  713. package/dist/components/combobox/types.d.ts +0 -87
  714. package/dist/components/command/dialogContext.d.ts +0 -6
  715. package/dist/components/command/styles.css +0 -1
  716. package/dist/components/completion-seal/CompletionSeal.vue.d.ts +0 -28
  717. package/dist/components/completion-seal/composables/useCompletionSeal.d.ts +0 -37
  718. package/dist/components/completion-seal/constants.d.ts +0 -66
  719. package/dist/components/completion-seal/index.d.ts +0 -4
  720. package/dist/components/completion-seal/styles.css +0 -1
  721. package/dist/components/data-table/styles.css +0 -1
  722. package/dist/components/deck/DeckPager.vue.d.ts +0 -29
  723. package/dist/components/dialog/DialogClose.vue.d.ts +0 -16
  724. package/dist/components/dialog/DialogTrigger.vue.d.ts +0 -16
  725. package/dist/components/dialog/dialogStageContext.d.ts +0 -7
  726. package/dist/components/dialog/placement.css +0 -1
  727. package/dist/components/dialog/sheet-motion.d.ts +0 -17
  728. package/dist/components/dock/composables/useDockOverflowFit.d.ts +0 -20
  729. package/dist/components/dock/composables/useDockTouchGate.d.ts +0 -42
  730. package/dist/components/dock/styles/overflow.css +0 -1
  731. package/dist/components/drawer/Drawer.vue.d.ts +0 -82
  732. package/dist/components/drawer/DrawerContent.vue.d.ts +0 -39
  733. package/dist/components/drawer/DrawerDescription.vue.d.ts +0 -17
  734. package/dist/components/drawer/DrawerFooter.vue.d.ts +0 -17
  735. package/dist/components/drawer/DrawerHeader.vue.d.ts +0 -17
  736. package/dist/components/drawer/DrawerOverlay.vue.d.ts +0 -8
  737. package/dist/components/drawer/DrawerTitle.vue.d.ts +0 -17
  738. package/dist/components/drawer/composables/drawerSnapContext.d.ts +0 -34
  739. package/dist/components/drawer/composables/useDrawerSnap.d.ts +0 -26
  740. package/dist/components/drawer/constants.d.ts +0 -32
  741. package/dist/components/drawer/index.d.ts +0 -33
  742. package/dist/components/drawer/styles.css +0 -1
  743. package/dist/components/dropdown-menu/styles.css +0 -1
  744. package/dist/components/easing/EasingConfigurator.vue.d.ts +0 -33
  745. package/dist/components/expandable-container/styles.css +0 -1
  746. package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +0 -24
  747. package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +0 -31
  748. package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +0 -41
  749. package/dist/components/fourier-field/composables/useFourierField.d.ts +0 -56
  750. package/dist/components/fourier-field/presets.d.ts +0 -54
  751. package/dist/components/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +0 -1
  752. package/dist/components/fourier-field/shaders/fourier-field.glsl.d.ts +0 -4
  753. package/dist/components/fourier-field/shaders/fourier-field.render.wgsl.d.ts +0 -1
  754. package/dist/components/fourier-field/shaders/fourier-field.ribbon.d.ts +0 -51
  755. package/dist/components/handmark/brush.d.ts +0 -269
  756. package/dist/components/handmark/composables/useHandMark.d.ts +0 -99
  757. package/dist/components/handmark/constants.d.ts +0 -69
  758. package/dist/components/handmark/freehand.d.ts +0 -69
  759. package/dist/components/handmark/geometry.d.ts +0 -65
  760. package/dist/components/handmark/ink.d.ts +0 -11
  761. package/dist/components/handmark/noise.d.ts +0 -30
  762. package/dist/components/handmark/texture.d.ts +0 -39
  763. package/dist/components/handmark/types.d.ts +0 -70
  764. package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +0 -13
  765. package/dist/components/header-ribbon/index.d.ts +0 -2
  766. package/dist/components/header-ribbon/styles.css +0 -1
  767. package/dist/components/header-ribbon/types.d.ts +0 -10
  768. package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +0 -23
  769. package/dist/components/instrument-chassis/index.d.ts +0 -2
  770. package/dist/components/instrument-chassis/styles.css +0 -1
  771. package/dist/components/instrument-chassis/types.d.ts +0 -13
  772. package/dist/components/labeled-field/LabeledSelect.vue.d.ts +0 -20
  773. package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +0 -46
  774. package/dist/components/liquid-grid/composables/liquidGrid.d.ts +0 -113
  775. package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +0 -18
  776. package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +0 -21
  777. package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +0 -16
  778. package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +0 -32
  779. package/dist/components/liquid-grid/constants.d.ts +0 -92
  780. package/dist/components/liquid-grid/index.d.ts +0 -5
  781. package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +0 -4
  782. package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +0 -1
  783. package/dist/components/metric/MetricCell.vue.d.ts +0 -26
  784. package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +0 -18
  785. package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +0 -18
  786. package/dist/components/number-field/styles.css +0 -1
  787. package/dist/components/pager-dots/composables/usePagerWorm.d.ts +0 -26
  788. package/dist/components/pager-dots/constants.d.ts +0 -14
  789. package/dist/components/pager-dots/pagerWindow.d.ts +0 -9
  790. package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +0 -8
  791. package/dist/components/paper-backdrop/index.d.ts +0 -2
  792. package/dist/components/pulse/Pulse.vue.d.ts +0 -14
  793. package/dist/components/pulse/index.d.ts +0 -2
  794. package/dist/components/radio-group/styles.css +0 -1
  795. package/dist/components/search/FuzzySearch.vue.d.ts +0 -24
  796. package/dist/components/search/SearchBar.vue.d.ts +0 -38
  797. package/dist/components/search/composables/index.d.ts +0 -5
  798. package/dist/components/search/index.d.ts +0 -9
  799. package/dist/components/search/searchVariants.d.ts +0 -17
  800. package/dist/components/select/SelectScrollDownButton.vue.d.ts +0 -17
  801. package/dist/components/select/SelectScrollUpButton.vue.d.ts +0 -17
  802. package/dist/components/sortable-list/composables/dragController.d.ts +0 -29
  803. package/dist/components/sortable-list/composables/dropResolver.d.ts +0 -34
  804. package/dist/components/sortable-list/composables/ghostRenderer.d.ts +0 -44
  805. package/dist/components/sortable-list/composables/index.d.ts +0 -1
  806. package/dist/components/sortable-list/composables/touchGate.d.ts +0 -26
  807. package/dist/components/sortable-list/composables/transitionTiming.d.ts +0 -50
  808. package/dist/components/switch/styles.css +0 -1
  809. package/dist/components/tabs/constants.d.ts +0 -1
  810. package/dist/components/tags-input/TagsInput.vue.d.ts +0 -41
  811. package/dist/components/tags-input/TagsInputInput.vue.d.ts +0 -10
  812. package/dist/components/tags-input/TagsInputItem.vue.d.ts +0 -19
  813. package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +0 -17
  814. package/dist/components/tags-input/TagsInputItemText.vue.d.ts +0 -7
  815. package/dist/components/tags-input/context.d.ts +0 -5
  816. package/dist/components/tags-input/index.d.ts +0 -5
  817. package/dist/components/tags-input/styles.css +0 -1
  818. package/dist/components/timeline/ContinuousMarkers.vue.d.ts +0 -47
  819. package/dist/components/timeline/ContinuousRail.vue.d.ts +0 -23
  820. package/dist/components/timeline/ContinuousTimeline.vue.d.ts +0 -117
  821. package/dist/components/timeline/GlassTimeline.vue.d.ts +0 -113
  822. package/dist/components/timeline/ScrubberTimeline.vue.d.ts +0 -45
  823. package/dist/components/timeline/SegmentedTimeline.vue.d.ts +0 -45
  824. package/dist/components/toggle-group/styles.css +0 -1
  825. package/dist/components/toggle-group/toggleGroupContext.d.ts +0 -9
  826. package/dist/components/typewriter/composables/index.d.ts +0 -1
  827. package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +0 -61
  828. package/dist/components/watercolor-dot/index.d.ts +0 -3
  829. package/dist/components/watercolor-dot/prng.d.ts +0 -5
  830. package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +0 -28
  831. package/dist/composables/glass/ambientHueHistogram.d.ts +0 -27
  832. package/dist/composables/glass/useSpecularPointer.d.ts +0 -52
  833. package/dist/composables/glass/wave/index.d.ts +0 -4
  834. package/dist/composables/glass/wave/waveField.d.ts +0 -136
  835. package/dist/composables/glass/wave/waveField.glsl.d.ts +0 -1
  836. package/dist/composables/glass/wave/waveField.wgsl.d.ts +0 -1
  837. package/dist/composables/glass/webgpu/index.d.ts +0 -3
  838. package/dist/composables/index.d.ts +0 -9
  839. package/dist/composables/motion/number/useCountup.d.ts +0 -30
  840. package/dist/composables/motion/number/useNumericTransition.d.ts +0 -56
  841. package/dist/composables/motion/reveal/bloomUpField.d.ts +0 -29
  842. package/dist/composables/motion/reveal/useBloomUp.d.ts +0 -33
  843. package/dist/composables/motion/reveal/useStaggerReveal.d.ts +0 -28
  844. package/dist/composables/motion/reveal/useTextHighlight.d.ts +0 -41
  845. package/dist/composables/motion/scroll/useScrollPin.d.ts +0 -49
  846. package/dist/configurator-M5OaIlJd.js +0 -311
  847. package/dist/data-table-BygKg6ZA.js +0 -491
  848. package/dist/dialog-TNRDkcE4.js +0 -385
  849. package/dist/dockContext-BUTlGRNJ.js +0 -13
  850. package/dist/drawer.d.ts +0 -1
  851. package/dist/drawer.js +0 -496
  852. package/dist/dropdown-menu-BlbnvMaZ.js +0 -507
  853. package/dist/dropdown-menu.d.ts +0 -1
  854. package/dist/floating-dB5TD88k.js +0 -7
  855. package/dist/flow.wgsl-Cd2GUkPx.js +0 -4
  856. package/dist/fonts/README.md +0 -120
  857. package/dist/fonts/fira-code/OFL.txt +0 -93
  858. package/dist/fonts/plus-jakarta-sans/OFL.txt +0 -93
  859. package/dist/forms.d.ts +0 -5
  860. package/dist/forms.js +0 -403
  861. package/dist/header-ribbon.d.ts +0 -1
  862. package/dist/header-ribbon.js +0 -43
  863. package/dist/instrument-chassis.d.ts +0 -1
  864. package/dist/instrument-chassis.js +0 -54
  865. package/dist/label-DnMqH7jr.js +0 -55
  866. package/dist/liquid-grid.d.ts +0 -1
  867. package/dist/liquid-grid.js +0 -1065
  868. package/dist/menuRowClass-Nh7CtMON.js +0 -12
  869. package/dist/number-field-Boe09SvX.js +0 -154
  870. package/dist/paper-backdrop.d.ts +0 -1
  871. package/dist/paper-backdrop.js +0 -23
  872. package/dist/popover-BQGYXZyO.js +0 -244
  873. package/dist/progress-DClbhRAT.js +0 -88
  874. package/dist/pulse.d.ts +0 -1
  875. package/dist/pulse.js +0 -42
  876. package/dist/resolveSurfaceClass-DCZ4PZcy.js +0 -6
  877. package/dist/search.d.ts +0 -1
  878. package/dist/search.js +0 -352
  879. package/dist/select-BcBAyLXA.js +0 -336
  880. package/dist/separator-CgZInrX-.js +0 -75
  881. package/dist/slider-DzqeQmMu.js +0 -162
  882. package/dist/springPresets-rCii5KqX.js +0 -52
  883. package/dist/styles/draw-in.css +0 -1
  884. package/dist/styles/glass/accent-tone.css +0 -1
  885. package/dist/styles/glass/grain-overlay.css +0 -1
  886. package/dist/styles/glass/material-roles.css +0 -1
  887. package/dist/styles/glass-refract.css +0 -1
  888. package/dist/styles/tokens/manifest.ts +0 -56
  889. package/dist/styles/tokens.ts +0 -54
  890. package/dist/switch-DZjQuFLa.js +0 -54
  891. package/dist/toggle-group-O6jBo7AE.js +0 -150
  892. package/dist/tooltip-Drx5qnw_.js +0 -148
  893. package/dist/useAccentTone-DyInfHXE.js +0 -23
  894. package/dist/useAnimatedNumber-WPtMz0AN.js +0 -40
  895. package/dist/useDocumentVisibility-Dh_TGXsU.js +0 -21
  896. package/dist/useFuzzySearch-CUnZknpm.js +0 -177
  897. package/dist/useIntersectionPause-B5mAU6XY.js +0 -39
  898. package/dist/useLeadTrail-AW1-zZcd.js +0 -74
  899. package/dist/useRAFLoop-B3YlWK4M.js +0 -98
  900. package/dist/useScrollProgress-CSFYXIZT.js +0 -43
  901. package/dist/useSelectionGroup-B5XplBbo.js +0 -132
  902. package/dist/useTabRovingFocus-YnWh-Ytr.js +0 -169
  903. package/dist/useTextHighlight-mfwNIC1f.js +0 -112
  904. package/dist/useTouchGate-B4mzQcHJ.js +0 -84
  905. package/dist/useUserInvalidAria-0GNrddMX.js +0 -25
  906. package/dist/watercolor-dot.d.ts +0 -1
  907. package/dist/watercolor-dot.js +0 -149
  908. /package/dist/components/_shared/{disclosure-context.d.ts → disclosure/disclosure-context.d.ts} +0 -0
  909. /package/dist/components/_shared/{valueDomain.d.ts → field/valueDomain.d.ts} +0 -0
  910. /package/dist/components/{dropdown-menu → menu}/DropdownMenuGroup.vue.d.ts +0 -0
  911. /package/dist/components/{dropdown-menu → menu}/DropdownMenuItem.vue.d.ts +0 -0
  912. /package/dist/components/{dropdown-menu → menu}/DropdownMenuLabel.vue.d.ts +0 -0
  913. /package/dist/components/{dropdown-menu → menu}/DropdownMenuSeparator.vue.d.ts +0 -0
  914. /package/dist/components/{dropdown-menu → menu}/DropdownMenuShortcut.vue.d.ts +0 -0
  915. /package/dist/components/{dropdown-menu → menu}/DropdownMenuSub.vue.d.ts +0 -0
  916. /package/dist/components/{dropdown-menu → menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
  917. /package/dist/components/{dropdown-menu/useMenuTrigger.d.ts → menu/context.d.ts} +0 -0
  918. /package/dist/{components/search/composables → composables/search}/types.d.ts +0 -0
package/dist/dock.js CHANGED
@@ -1,29 +1,33 @@
1
- import { t as e } from "./class-names-Cpy5eaBk.js";
1
+ import { t as e } from "./class-names-q-UGOkHH.js";
2
2
  import { n as t } from "./useReducedMotion-vCXA_vyM.js";
3
3
  import { t as n } from "./vSpecular-DMJo8pfD.js";
4
4
  import { t as r } from "./motionTempo-tscp92Nm.js";
5
- import { n as i } from "./springPresets-rCii5KqX.js";
6
- import { t as a } from "./useLiquidPress-BOxuDkKa.js";
7
- import { n as o } from "./createContext-BhkE9mLH.js";
8
- import { t as s } from "./useMotionAxis-D-rtIhca.js";
9
- import { t as c } from "./useResizeObserver-CdUlm2QZ.js";
10
- import { t as l } from "./useTouchGate-B4mzQcHJ.js";
11
- import { n as u } from "./useResolveTokenColor-B2FfJnd9.js";
12
- import { t as d } from "./DropdownMenuTrigger-ClIq8RJE.js";
13
- import { a as f, i as p, n as m, o as h, r as g, t as _ } from "./dockContext-BUTlGRNJ.js";
14
- import { t as v } from "./useDragMorph-BogSV_nv.js";
15
- import { n as y } from "./useDockCtaReceive-DkrOTM0q.js";
16
- import { t as b } from "./useRAFLoop-B3YlWK4M.js";
17
- import { t as x } from "./useIntersectionPause-B5mAU6XY.js";
18
- import { n as S, t as C } from "./useSelectionGroup-B5XplBbo.js";
19
- import { n as w, t as T } from "./value-DMhh2R94.js";
20
- import { t as E } from "./useFuzzySearch-CUnZknpm.js";
21
- import { Fragment as D, computed as O, createBlock as k, createCommentVNode as A, createElementBlock as j, createElementVNode as M, createVNode as N, defineComponent as P, mergeModels as ee, mergeProps as F, nextTick as I, normalizeClass as L, normalizeStyle as R, onBeforeUnmount as z, onMounted as B, onScopeDispose as V, onUnmounted as H, openBlock as U, readonly as W, ref as G, renderList as te, renderSlot as K, resolveDynamicComponent as ne, toDisplayString as q, unref as J, useId as re, useModel as ie, useTemplateRef as Y, watch as X, withCtx as Z, withDirectives as Q } from "vue";
22
- import { PopoverTrigger as ae, Primitive as oe, SelectIcon as se, SelectTrigger as ce } from "reka-ui";
23
- import { ChevronDown as le, Pause as ue, Play as de } from "@lucide/vue";
24
- import { SpringProgress as fe } from "@mkbabb/keyframes.js";
25
- import { useMediaQuery as pe } from "@vueuse/core";
26
- import { convertColor as me, rgb as he } from "@mkbabb/value.js/color";
5
+ import { n as i } from "./springPresets-Cbe0Voqg.js";
6
+ import { t as a } from "./useLiquidPress-h1scrPtP.js";
7
+ import { t as o } from "./useMotionAxis-D-rtIhca.js";
8
+ import { n as s, t as c } from "./createContext-BhkE9mLH.js";
9
+ import { a as l, c as u, i as d, l as f, n as p, o as m, r as h, s as g, u as _ } from "./participation-Di4UHbzk.js";
10
+ import { t as v } from "./useResizeObserver-CdUlm2QZ.js";
11
+ import { n as y } from "./useResolveTokenColor-B2FfJnd9.js";
12
+ import { t as b } from "./focus-Duf7EpUu.js";
13
+ import { t as x } from "./DropdownMenuTrigger-8UZsBtZ8.js";
14
+ import { t as S } from "./useSelectionGroup-zsEwitF6.js";
15
+ import { t as C } from "./useDragMorph-B363RUbF.js";
16
+ import { n as w } from "./useDockCtaReceive-BSSgD6mu.js";
17
+ import { n as T, t as E } from "./useScrollChrome-BJbWV32F.js";
18
+ import { t as D } from "./useIntersectionPause-CzKR3EyP.js";
19
+ import { Fragment as O, computed as k, createBlock as A, createCommentVNode as j, createElementBlock as M, createElementVNode as N, createVNode as P, defineComponent as F, mergeModels as I, mergeProps as L, nextTick as R, normalizeClass as z, normalizeStyle as B, onBeforeUnmount as V, onMounted as H, onScopeDispose as U, onUnmounted as W, openBlock as G, readonly as K, ref as q, renderList as ee, renderSlot as J, resolveDynamicComponent as te, toDisplayString as ne, unref as Y, useId as re, useModel as ie, useTemplateRef as X, watch as Z, withCtx as Q, withDirectives as $, withModifiers as ae } from "vue";
20
+ import { PopoverTrigger as oe, Primitive as se, SelectIcon as ce, SelectTrigger as le } from "reka-ui";
21
+ import { ChevronDown as ue, Pause as de, Play as fe } from "@lucide/vue";
22
+ import { SpringProgress as pe } from "@mkbabb/keyframes.js";
23
+ import { useMediaQuery as me } from "@vueuse/core";
24
+ //#region src/components/_shared/overlay/isTeleportedTarget.ts
25
+ function he(e, t) {
26
+ if (!(e instanceof Element)) return !1;
27
+ let n = e.closest("[data-glass-dock-portal]");
28
+ return n ? !t || n.getAttribute("data-glass-dock-owner") === t : !1;
29
+ }
30
+ //#endregion
27
31
  //#region src/composables/glass/backdropSampleMath.ts
28
32
  function ge(e) {
29
33
  let t = e / 255;
@@ -32,7 +36,14 @@ function ge(e) {
32
36
  function _e(e, t, n) {
33
37
  return .2126 * ge(e) + .7152 * ge(t) + .0722 * ge(n);
34
38
  }
35
- function ve(e) {
39
+ function ve(e, t, n, r, i) {
40
+ return [
41
+ e * r + i[0] * (1 - r),
42
+ t * r + i[1] * (1 - r),
43
+ n * r + i[2] * (1 - r)
44
+ ];
45
+ }
46
+ function ye(e) {
36
47
  let t = e.match(/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:[,\s/]+([\d.]+))?/i);
37
48
  return t ? [
38
49
  Number(t[1]),
@@ -41,60 +52,31 @@ function ve(e) {
41
52
  t[4] === void 0 ? 1 : Number(t[4])
42
53
  ] : null;
43
54
  }
44
- function ye(e) {
55
+ function be(e) {
45
56
  return typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement;
46
57
  }
47
- //#endregion
48
- //#region src/composables/glass/ambientHueHistogram.ts
49
- var $ = 12, be = .72, xe = .06, Se = .004;
50
- function Ce() {
51
- return {
52
- weight: new Float64Array($),
53
- sumCos: new Float64Array($),
54
- sumSin: new Float64Array($),
55
- totalMass: 0,
56
- n: 0
57
- };
58
- }
59
- function we(e, t, n, r, i) {
60
- e.n++;
61
- let [, a, o] = T("accumulateHuePixel:oklch", me(T("accumulateHuePixel:rgb", he(t, n, r)), "oklch")).channels, s = w(a, "accumulateHuePixel"), c = w(o, "accumulateHuePixel");
62
- if (!Number.isFinite(s) || !Number.isFinite(c) || s <= 0) return;
63
- let l = s * i;
64
- if (l <= 0) return;
65
- let u = c * Math.PI / 180, d = Math.floor(c / 360 * $) % $;
66
- d < 0 && (d += $), e.weight[d] += l, e.sumCos[d] += l * Math.cos(u), e.sumSin[d] += l * Math.sin(u), e.totalMass += l;
67
- }
68
- function Te(e) {
69
- if (e.n === 0 || e.totalMass / e.n < Se) return "transparent";
70
- let t = 0;
71
- for (let n = 1; n < $; n++) e.weight[n] > e.weight[t] && (t = n);
72
- if (e.weight[t] <= 0) return "transparent";
73
- let n = Math.atan2(e.sumSin[t], e.sumCos[t]) * 180 / Math.PI;
74
- return n < 0 && (n += 360), `oklch(${be} ${xe} ${n.toFixed(1)})`;
75
- }
76
- var Ee = "[data-glass-field-canvas] canvas, canvas[data-glass-field-canvas]";
77
- function De(e) {
58
+ var xe = "[data-glass-field-canvas] canvas, canvas[data-glass-field-canvas]";
59
+ function Se(e) {
78
60
  if (!e) {
79
61
  if (typeof document < "u") {
80
- let e = document.querySelector(Ee);
81
- if (ye(e)) return e;
62
+ let e = document.querySelector(xe);
63
+ if (be(e)) return e;
82
64
  }
83
65
  return null;
84
66
  }
85
- if (ye(e)) return e;
67
+ if (be(e)) return e;
86
68
  if (typeof e == "function") {
87
69
  let t = e();
88
- return ye(t) ? t : null;
70
+ return be(t) ? t : null;
89
71
  }
90
72
  if (typeof e == "string" && typeof document < "u") {
91
73
  let t = document.querySelector(e);
92
- return ye(t) ? t : null;
74
+ return be(t) ? t : null;
93
75
  }
94
76
  return null;
95
77
  }
96
- function Oe(e, t) {
97
- let n = ve(e);
78
+ function Ce(e, t) {
79
+ let n = ye(e);
98
80
  if (n) return n;
99
81
  if (!t) return null;
100
82
  try {
@@ -110,72 +92,81 @@ function Oe(e, t) {
110
92
  return null;
111
93
  }
112
94
  }
113
- function ke(e, t, n) {
95
+ function we(e, t, n, r) {
114
96
  if (!t || t.width === 0 || t.height === 0 || !n) return null;
115
- let r = e.getBoundingClientRect(), i = t.getBoundingClientRect();
116
- if (i.width === 0 || i.height === 0) return null;
117
- let a = t.width / i.width, o = t.height / i.height, s = Math.max(0, (r.left - i.left) * a), c = Math.max(0, (r.top - i.top) * o), l = Math.min(t.width - s, Math.max(1, r.width * a)), u = Math.min(t.height - c, Math.max(1, r.height * o));
118
- if (l <= 0 || u <= 0) return null;
97
+ let i = e.getBoundingClientRect(), a = t.getBoundingClientRect();
98
+ if (a.width === 0 || a.height === 0) return null;
99
+ let o = t.width / a.width, s = t.height / a.height, c = Math.max(0, (i.left - a.left) * o), l = Math.max(0, (i.top - a.top) * s), u = Math.min(t.width - c, Math.max(1, i.width * o)), d = Math.min(t.height - l, Math.max(1, i.height * s));
100
+ if (u <= 0 || d <= 0) return null;
119
101
  try {
120
- n.clearRect(0, 0, 32, 32), n.drawImage(t, s, c, l, u, 0, 0, 32, 32);
121
- let e = n.getImageData(0, 0, 32, 32).data, r = 0, i = 0, a = 0, o = Ce();
102
+ n.clearRect(0, 0, 32, 32), n.drawImage(t, c, l, u, d, 0, 0, 32, 32);
103
+ let e = n.getImageData(0, 0, 32, 32).data, i = 0, a = 0, o = 0;
122
104
  for (let t = 0; t < e.length; t += 4) {
123
- let n = e[t + 3] / 255, s = e[t] * n + 255 * (1 - n), c = e[t + 1] * n + 255 * (1 - n), l = e[t + 2] * n + 255 * (1 - n);
124
- r += _e(s, c, l), i += n, we(o, s, c, l, n), a++;
105
+ let n = e[t + 3] / 255, [s, c, l] = ve(e[t], e[t + 1], e[t + 2], n, r);
106
+ i += _e(s, c, l), a += n, o++;
125
107
  }
126
- return a === 0 || i / a < .02 ? null : {
127
- luma: r / a,
128
- ambientHue: Te(o)
129
- };
108
+ return o === 0 || a / o < .02 ? null : { luma: i / o };
130
109
  } catch {
131
110
  return null;
132
111
  }
133
112
  }
134
- function Ae(e, t) {
113
+ function Te(e, t) {
135
114
  let n = e.getBoundingClientRect(), r = n.left + n.width / 2, i = n.top + n.height / 2, a = document.elementsFromPoint(r, i);
136
115
  for (let n of a) {
137
116
  if (!(n instanceof HTMLElement) || n === e || e.contains(n)) continue;
138
- let r = getComputedStyle(n).backgroundColor, i = Oe(u(r, e), t);
139
- if (i && !(i[3] < .5)) return je(i);
117
+ let r = getComputedStyle(n).backgroundColor, i = Ce(y(r, e), t);
118
+ if (i && !(i[3] < .5)) return i;
140
119
  }
141
- let o = Oe(u(getComputedStyle(document.body).backgroundColor, e), t);
142
- return o ? je(o) : null;
120
+ return Ce(y(getComputedStyle(document.body).backgroundColor, e), t);
143
121
  }
144
- function je(e) {
145
- let t = Ce();
146
- return we(t, e[0], e[1], e[2], e[3]), {
147
- luma: _e(e[0], e[1], e[2]),
148
- ambientHue: Te(t)
149
- };
122
+ var Ee = [
123
+ 255,
124
+ 255,
125
+ 255
126
+ ];
127
+ function De(e, t) {
128
+ let n = Te(e, t);
129
+ return n && n[3] >= .5 ? [
130
+ n[0],
131
+ n[1],
132
+ n[2]
133
+ ] : [...Ee];
134
+ }
135
+ function Oe(e, t) {
136
+ let n = Te(e, t);
137
+ return n ? ke(n) : null;
138
+ }
139
+ function ke(e) {
140
+ return { luma: _e(e[0], e[1], e[2]) };
150
141
  }
151
142
  //#endregion
152
143
  //#region src/composables/glass/useGlassBackdropLuminance.ts
153
- var Me = "data-glass-backdrop-shared", Ne = "8%";
154
- function Pe(e, n = {}) {
144
+ var Ae = "data-glass-backdrop-shared";
145
+ function je(e, n = {}) {
155
146
  let { lightThreshold: r = .6, minSampleIntervalMs: i = 250, writeBucket: a = !0 } = n, o = Math.max(250, i), s = n.shared === !0;
156
- function l(e) {
157
- return !s && e.closest(`[${Me}]`) !== null;
147
+ function c(e) {
148
+ return !s && e.closest(`[${Ae}]`) !== null;
158
149
  }
159
- let u = G(null), d = G(null), f = G({
150
+ let l = q(null), u = q(null), d = q({
160
151
  state: "pending",
161
152
  mode: n.live === !0 ? "live" : "static",
162
153
  source: n.live === !0 ? "canvas" : "elements"
163
154
  });
164
155
  if (typeof window > "u") return {
165
- luma: W(u),
166
- bucket: W(d),
167
- sample: W(f),
156
+ luma: K(l),
157
+ bucket: K(u),
158
+ sample: K(d),
168
159
  sampleNow: () => {},
169
160
  dispose: () => {}
170
161
  };
171
- let p = t(), m = null, h = null;
172
- function g() {
173
- return m || (m = document.createElement("canvas"), m.width = 32, m.height = 32), h ||= m.getContext("2d", { willReadFrequently: !0 }), h;
162
+ let f = t(), p = null, m = null;
163
+ function h() {
164
+ return p || (p = document.createElement("canvas"), p.width = 32, p.height = 32), m ||= p.getContext("2d", { willReadFrequently: !0 }), m;
174
165
  }
175
- function _() {
176
- return n.live === void 0 ? e.value?.dataset.glassSample === "live" || n.backgroundCanvas != null || De(void 0) !== null : n.live;
166
+ function g() {
167
+ return n.live === void 0 ? e.value?.dataset.glassSample === "live" || n.backgroundCanvas != null || Se(void 0) !== null : n.live;
177
168
  }
178
- function v(e) {
169
+ function _(e) {
179
170
  let t = e.getBoundingClientRect();
180
171
  return {
181
172
  x: t.x,
@@ -186,200 +177,191 @@ function Pe(e, n = {}) {
186
177
  }
187
178
  function y(e, t, n, i) {
188
179
  let o = e.luma;
189
- u.value = o;
180
+ l.value = o;
190
181
  let s = o >= r ? "light" : "dark";
191
- d.value = s, f.value = {
182
+ u.value = s, d.value = {
192
183
  state: "sampled",
193
184
  mode: n,
194
185
  source: n === "live" ? "canvas" : "elements",
195
186
  luma: o,
196
- ambientHue: e.ambientHue,
197
187
  sampledAt: i,
198
- targetRect: v(t)
199
- }, t.style.setProperty("--glass-backdrop-luma", o.toFixed(3)), t.style.setProperty("--glass-ambient-hue", e.ambientHue), t.style.setProperty("--glass-ambient-strength", e.ambientHue === "transparent" ? "0%" : Ne), t.setAttribute("data-backdrop-sampled", ""), t.setAttribute("data-backdrop-sample-state", "sampled"), t.setAttribute("data-backdrop-sample-source", n === "live" ? "canvas" : "elements"), t.removeAttribute("data-backdrop-sample-reason"), t.style.setProperty("--glass-backdrop-sampled", "1"), a && t.style.setProperty("--glass-backdrop", s);
188
+ targetRect: _(t)
189
+ }, t.style.setProperty("--glass-backdrop-luma", o.toFixed(3)), t.setAttribute("data-backdrop-sampled", ""), t.setAttribute("data-backdrop-sample-state", "sampled"), t.setAttribute("data-backdrop-sample-source", n === "live" ? "canvas" : "elements"), t.removeAttribute("data-backdrop-sample-reason"), t.style.setProperty("--glass-backdrop-sampled", "1"), a && t.style.setProperty("--glass-backdrop", s);
200
190
  }
201
- function S(e, t, n, r) {
202
- u.value = null, d.value = null, f.value = {
191
+ function b(e, t, n, r) {
192
+ l.value = null, u.value = null, d.value = {
203
193
  state: "unavailable",
204
194
  mode: t,
205
195
  source: t === "live" ? "canvas" : "elements",
206
196
  reason: n,
207
197
  sampledAt: r,
208
- targetRect: v(e)
209
- }, e.style.removeProperty("--glass-backdrop-luma"), e.style.removeProperty("--glass-ambient-hue"), e.style.removeProperty("--glass-ambient-strength"), e.style.removeProperty("--glass-backdrop-sampled"), a && e.style.removeProperty("--glass-backdrop"), e.removeAttribute("data-backdrop-sampled"), e.setAttribute("data-backdrop-sample-state", "unavailable"), e.setAttribute("data-backdrop-sample-source", t === "live" ? "canvas" : "elements"), e.setAttribute("data-backdrop-sample-reason", n);
198
+ targetRect: _(e)
199
+ }, e.style.removeProperty("--glass-backdrop-luma"), e.style.removeProperty("--glass-backdrop-sampled"), a && e.style.removeProperty("--glass-backdrop"), e.removeAttribute("data-backdrop-sampled"), e.setAttribute("data-backdrop-sample-state", "unavailable"), e.setAttribute("data-backdrop-sample-source", t === "live" ? "canvas" : "elements"), e.setAttribute("data-backdrop-sample-reason", n);
210
200
  }
211
- let C = 0;
212
- function w() {
201
+ let x = 0;
202
+ function S() {
213
203
  let t = e.value;
214
- if (!t || l(t)) return;
215
- let r = g(), i = _() ? "live" : "static", a = i === "live" ? De(n.backgroundCanvas) : null, o = i === "live" ? ke(t, a, r) : Ae(t, r), s = Date.now();
216
- o ? y(o, t, i, s) : S(t, i, i === "live" && !a ? "source-unavailable" : "sample-unavailable", s), C = typeof performance < "u" ? performance.now() : s;
204
+ if (!t || c(t)) return;
205
+ let r = h(), i = g() ? "live" : "static", a = i === "live" ? Se(n.backgroundCanvas) : null, o = i === "live" ? we(t, a, r, De(t, r)) : Oe(t, r), s = Date.now();
206
+ o ? y(o, t, i, s) : b(t, i, i === "live" && !a ? "source-unavailable" : "sample-unavailable", s), x = typeof performance < "u" ? performance.now() : s;
217
207
  }
218
- let T = b(({ now: e }) => {
219
- p.value || e - C < o || w();
208
+ let C = T(({ now: e }) => {
209
+ f.value || e - x < o || S();
220
210
  }, {
221
211
  immediate: !1,
222
212
  pauseWhenHidden: !0,
223
213
  respectReducedMotion: !0
224
- }), E = x(() => e.value, {
225
- pause: () => T.pause(),
214
+ }), w = D(() => e.value, {
215
+ pause: () => C.pause(),
226
216
  resume: () => {
227
217
  let t = e.value;
228
- t && l(t) || _() && !p.value && T.resume();
218
+ t && c(t) || g() && !f.value && C.resume();
229
219
  }
230
- }, { rootMargin: "200px" }), D = c(e, () => w());
220
+ }, { rootMargin: "200px" }), E = v(e, () => S());
231
221
  function O() {
232
222
  let t = e.value;
233
- if (t && l(t)) {
234
- T.stop();
223
+ if (t && c(t)) {
224
+ C.stop();
235
225
  return;
236
226
  }
237
- p.value ? (T.stop(), w()) : _() && T.start();
227
+ f.value ? (C.stop(), S()) : g() && C.start();
238
228
  }
239
- let k = X(p, O, { flush: "sync" }), A = X(() => e.value, (e) => {
229
+ let k = Z(f, O, { flush: "sync" }), A = Z(() => e.value, (e) => {
240
230
  if (e) {
241
- if (s) e.setAttribute(Me, "");
242
- else if (l(e)) return;
243
- w(), O();
231
+ if (s) e.setAttribute(Ae, "");
232
+ else if (c(e)) return;
233
+ S(), O();
244
234
  }
245
235
  }, {
246
236
  immediate: !0,
247
237
  flush: "post"
248
238
  });
249
239
  function j() {
250
- A(), k(), T.dispose(), E.dispose(), D.stop(), m = null, h = null;
240
+ A(), k(), C.dispose(), w.dispose(), E.stop(), p = null, m = null;
251
241
  }
252
- return V(j), {
253
- luma: W(u),
254
- bucket: W(d),
255
- sample: W(f),
256
- sampleNow: w,
242
+ return U(j), {
243
+ luma: K(l),
244
+ bucket: K(u),
245
+ sample: K(d),
246
+ sampleNow: S,
257
247
  dispose: j
258
248
  };
259
249
  }
260
250
  //#endregion
261
- //#region src/components/dock/composables/isTeleportedTarget.ts
262
- function Fe(e, t) {
263
- if (!(e instanceof Element)) return !1;
264
- let n = e.closest("[data-glass-dock-portal]");
265
- return n ? !t || n.getAttribute("data-glass-dock-owner") === t : !1;
266
- }
267
- //#endregion
268
251
  //#region src/components/dock/composables/useDockState.ts
269
- function Ie(e) {
270
- let { collapseDelay: t = 3600, rootEl: n, alwaysExpanded: r = !1, interaction: i = "auto", initialExpanded: a = !1, isTransitioning: o, dockId: s, onStateChange: c } = e, l = () => typeof r == "boolean" ? r : r.value, u = () => typeof i == "string" ? i : i.value, d = () => l() || u() === "manual", f = G(l() ? "pinned" : a ? "hover" : "collapsed"), p = O(() => f.value !== "collapsed"), m = O(() => f.value === "pinned"), h = null, g = G(0), _ = O(() => g.value > 0), v = null, y = null, b = !1, x = null;
271
- function S() {
272
- x &&= (clearTimeout(x), null);
273
- }
274
- let C = f.value;
275
- function w() {
276
- l() && (f.value = "pinned"), c && C !== f.value && c(f.value, C), C = f.value;
252
+ function Me(e) {
253
+ let { collapseDelay: t = g, rootEl: n, alwaysExpanded: r = !1, initialExpanded: i = !1, isTransitioning: a, dockId: o, onStateChange: s } = e, c = () => typeof r == "boolean" ? r : r.value, l = () => c(), u = q(c() ? "pinned" : i ? "hover" : "collapsed"), d = k(() => u.value !== "collapsed"), f = k(() => u.value === "pinned"), p = null, m = q(0), h = q(0), _ = k(() => m.value > 0), v = k(() => h.value > 0), y = null, b = null, x = !1, S = null;
254
+ function C() {
255
+ S &&= (clearTimeout(S), null);
277
256
  }
257
+ let w = u.value;
278
258
  function T() {
279
- h &&= (clearTimeout(h), null);
259
+ c() && (u.value = "pinned"), s && w !== u.value && s(u.value, w), w = u.value;
280
260
  }
281
261
  function E() {
282
- y !== null && (cancelAnimationFrame(y), y = null);
262
+ p &&= (clearTimeout(p), null);
283
263
  }
284
264
  function D() {
285
- E(), v?.();
265
+ b !== null && (cancelAnimationFrame(b), b = null);
286
266
  }
287
- function k() {
288
- d() || g.value > 0 || (T(), h = setTimeout(() => {
289
- f.value = "collapsed", w();
290
- }, t));
267
+ function O() {
268
+ D(), y?.();
291
269
  }
292
270
  function A() {
293
- if (l()) {
294
- f.value = "pinned", w();
295
- return;
296
- }
297
- b ||= (b = !0, T(), S(), f.value = "collapsed", w(), !1);
271
+ l() || m.value > 0 || (E(), p = setTimeout(() => {
272
+ u.value = "collapsed", T();
273
+ }, t));
298
274
  }
299
275
  function j() {
300
- if (l()) {
301
- f.value = "pinned", w();
276
+ if (c()) {
277
+ u.value = "pinned", T();
302
278
  return;
303
279
  }
304
- T(), S(), f.value = "hover", w();
280
+ x ||= (x = !0, E(), C(), u.value = "collapsed", T(), !1);
305
281
  }
306
282
  function M() {
307
- d() || (T(), f.value === "collapsed" && (S(), x = setTimeout(() => {
308
- x = null, !d() && f.value === "collapsed" && (f.value = "hover", w());
283
+ if (c()) {
284
+ u.value = "pinned", T();
285
+ return;
286
+ }
287
+ E(), C(), u.value = "hover", T();
288
+ }
289
+ function N() {
290
+ l() || (E(), u.value === "collapsed" && (C(), S = setTimeout(() => {
291
+ S = null, !l() && u.value === "collapsed" && (u.value = "hover", T());
309
292
  }, 60)));
310
293
  }
311
- function N(e) {
312
- if (!d() && (S(), f.value === "hover")) {
313
- if (g.value > 0) return;
294
+ function P(e) {
295
+ if (!l() && (C(), u.value === "hover")) {
296
+ if (m.value > 0) return;
314
297
  if (e) {
315
298
  let t = n.value;
316
- if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || Fe(e.relatedTarget, s)) return;
299
+ if (t && e.relatedTarget instanceof Node && t.contains(e.relatedTarget) || he(e.relatedTarget, o)) return;
317
300
  }
318
- k();
301
+ A();
319
302
  }
320
303
  }
321
- function P() {
322
- d() || (T(), f.value === "collapsed" && (f.value = "hover", w()));
304
+ function F() {
305
+ l() || (E(), u.value === "collapsed" && (u.value = "hover", T()));
323
306
  }
324
- function ee(e) {
325
- if (d() || f.value !== "hover" || g.value > 0) return;
307
+ function I(e) {
308
+ if (l() || u.value !== "hover" || m.value > 0) return;
326
309
  let t = e.currentTarget;
327
- e.relatedTarget && t.contains(e.relatedTarget) || Fe(e.relatedTarget, s) || k();
310
+ e.relatedTarget && t.contains(e.relatedTarget) || he(e.relatedTarget, o) || A();
328
311
  }
329
- function F() {
330
- d() || (T(), S(), f.value = "pinned", w());
312
+ function L() {
313
+ l() || (E(), C(), u.value = "pinned", T());
331
314
  }
332
- function I() {
333
- g.value++, T();
315
+ function R(e = "morph") {
316
+ m.value++, e === "grasp" && h.value++, E();
334
317
  }
335
- function L() {
336
- g.value = Math.max(0, g.value - 1), g.value === 0 && f.value === "hover" && (T(), h = setTimeout(() => {
337
- g.value === 0 && f.value === "hover" && k();
318
+ function z(e = "morph") {
319
+ e === "grasp" && (h.value = Math.max(0, h.value - 1)), m.value = Math.max(0, m.value - 1), m.value === 0 && u.value === "hover" && (E(), p = setTimeout(() => {
320
+ m.value === 0 && u.value === "hover" && A();
338
321
  }, Math.min(t, 800)));
339
322
  }
340
- function R(e) {
341
- if (d() || g.value > 0 || o?.value) return;
323
+ function B(e) {
324
+ if (l() || m.value > 0 || a?.value) return;
342
325
  let t = n.value;
343
- !t || t.contains(e.target) || Fe(e.target, s) || A();
326
+ !t || t.contains(e.target) || he(e.target, o) || j();
344
327
  }
345
- return X(p, (e) => {
328
+ return Z(d, (e) => {
346
329
  if (e) {
347
330
  if (typeof document > "u") return;
348
- D(), y = requestAnimationFrame(() => {
349
- y = null, p.value && (document.addEventListener("pointerdown", R, !0), v = () => {
350
- document.removeEventListener("pointerdown", R, !0), v = null;
331
+ O(), b = requestAnimationFrame(() => {
332
+ b = null, d.value && (document.addEventListener("pointerdown", B, !0), y = () => {
333
+ document.removeEventListener("pointerdown", B, !0), y = null;
351
334
  });
352
335
  });
353
- } else D();
354
- }, { immediate: !0 }), typeof r == "boolean" ? r && (f.value = "pinned", w()) : X(r, (e) => {
336
+ } else O();
337
+ }, { immediate: !0 }), typeof r == "boolean" ? r && (u.value = "pinned", T()) : Z(r, (e) => {
355
338
  if (e) {
356
- T(), f.value = "pinned", w();
339
+ E(), u.value = "pinned", T();
357
340
  return;
358
341
  }
359
- f.value = "collapsed", w();
360
- }), typeof i != "string" && X(i, (e) => {
361
- e === "manual" && (T(), S());
362
- }), H(() => {
363
- T(), S(), D();
342
+ u.value = "collapsed", T();
343
+ }), W(() => {
344
+ E(), C(), O();
364
345
  }), {
365
- state: f,
366
- expanded: p,
367
- isPinned: m,
346
+ state: u,
347
+ expanded: d,
348
+ isPinned: f,
368
349
  isHeld: _,
369
- onMouseEnter: M,
370
- onMouseLeave: N,
371
- onFocusIn: P,
372
- onFocusOut: ee,
373
- onClickCollapsed: F,
374
- keepOpen: I,
375
- release: L,
376
- expand: j,
377
- collapse: A
350
+ graspHeld: v,
351
+ onMouseEnter: N,
352
+ onMouseLeave: P,
353
+ onFocusIn: F,
354
+ onFocusOut: I,
355
+ onClickCollapsed: L,
356
+ keepOpen: R,
357
+ release: z,
358
+ expand: M,
359
+ collapse: j
378
360
  };
379
361
  }
380
362
  //#endregion
381
363
  //#region src/components/dock/composables/useDockSpring.ts
382
- function Le(e) {
364
+ function Ne(e) {
383
365
  let t = null, n = () => t !== null && !t.settled;
384
366
  function i() {
385
367
  t &&= (t.dispose(), null);
@@ -387,7 +369,7 @@ function Le(e) {
387
369
  function a(a, o, s) {
388
370
  let c = n() ? t.velocity * (s.inheritVelocityScale ?? 1) : 0;
389
371
  i();
390
- let l = new fe({
372
+ let l = new pe({
391
373
  response: e.response * r(),
392
374
  dampingFraction: e.dampingFraction,
393
375
  initial: a,
@@ -414,11 +396,11 @@ function Le(e) {
414
396
  }
415
397
  //#endregion
416
398
  //#region src/components/dock/composables/useDockMorph.ts
417
- function Re(e) {
418
- let { rootEl: t, outerActiveLayer: n } = e, r = G(n.value), i = G(null), a = Le({
419
- response: h.response,
420
- dampingFraction: h.dampingFraction
421
- }), o = pe("(prefers-reduced-motion: reduce)");
399
+ function Pe(e) {
400
+ let { rootEl: t, outerActiveLayer: n } = e, r = q(n.value), i = q(null), a = Ne({
401
+ response: f.response,
402
+ dampingFraction: f.dampingFraction
403
+ }), o = me("(prefers-reduced-motion: reduce)");
422
404
  function s() {
423
405
  return t.value;
424
406
  }
@@ -427,7 +409,7 @@ function Re(e) {
427
409
  let t = s();
428
410
  t && (t.removeAttribute("data-morphing"), t.style.removeProperty("--dock-morph-t")), e.onMorphActiveChange?.(!1), a.dispose();
429
411
  }
430
- X(o, (e) => {
412
+ Z(o, (e) => {
431
413
  e && s()?.hasAttribute("data-morphing") && c();
432
414
  });
433
415
  function l() {
@@ -443,7 +425,7 @@ function Re(e) {
443
425
  onSettle: c
444
426
  });
445
427
  }
446
- let u = X(n, (e, t) => {
428
+ let u = Z(n, (e, t) => {
447
429
  if (e === t) return;
448
430
  let n = s();
449
431
  if (r.value = e, !n) {
@@ -452,35 +434,35 @@ function Re(e) {
452
434
  }
453
435
  i.value = t, l();
454
436
  });
455
- return H(() => {
437
+ return W(() => {
456
438
  u(), a.dispose();
457
439
  }), {
458
- outerCurrentLayer: W(r),
459
- outerLeavingLayer: W(i)
440
+ outerCurrentLayer: K(r),
441
+ outerLeavingLayer: K(i)
460
442
  };
461
443
  }
462
444
  //#endregion
463
445
  //#region src/components/dock/composables/dockMorphMeasure.ts
464
- function ze(e, t) {
446
+ function Fe(e, t) {
465
447
  return t === "vertical" ? e.offsetHeight : e.offsetWidth;
466
448
  }
467
- function Be(e) {
449
+ function Ie(e) {
468
450
  let { rootEl: t, contentEl: n, expandedEl: r, collapsedEl: i, axis: a, expanded: o } = e, s = null, c = 0, l = 0, u = !1;
469
- function d() {
470
- let e = t.value, s = n.value, u = r.value, d = i.value;
471
- if (!e || !s || !u || !d || e.hasAttribute("data-morphing")) return;
472
- let f = a.value, p = ze(e, f), m = ze(u, f), h = ze(d, f);
473
- if (p <= 0 || m < 0 || h < 0) return;
474
- o.value ? c = p : l = p;
475
- let g = o.value ? m : h, _ = Math.max(0, p - g), v = c || _ + m, y = l || _ + h;
476
- v <= 0 || y <= 0 || (e.style.setProperty("--dock-collapsed-px", `${y}px`), e.style.setProperty("--dock-expanded-px", `${Math.max(v, y)}px`));
451
+ function d(e = "layout") {
452
+ let s = t.value, u = n.value, d = r.value, f = i.value;
453
+ if (!s || !u || !d || !f || s.hasAttribute("data-morphing")) return;
454
+ let p = a.value, m = Fe(s, p), h = Fe(d, p), g = Fe(f, p);
455
+ if (m <= 0 || h < 0 || g < 0) return;
456
+ e === "layout" && (o.value ? c = m : l = m);
457
+ let _ = o.value ? h : g, v = Math.max(0, m - _), y = c || v + h, b = l || v + g;
458
+ y <= 0 || b <= 0 || (s.style.setProperty("--dock-collapsed-px", `${b}px`), s.style.setProperty("--dock-expanded-px", `${Math.max(y, b)}px`));
477
459
  }
478
460
  function f() {
479
461
  s?.disconnect(), s = null;
480
462
  let e = t.value;
481
463
  if (e) {
482
464
  if (typeof ResizeObserver < "u") {
483
- s = new ResizeObserver(d);
465
+ s = new ResizeObserver(() => d("layout"));
484
466
  for (let t of [
485
467
  e,
486
468
  n.value,
@@ -491,45 +473,34 @@ function Be(e) {
491
473
  d();
492
474
  }
493
475
  }
494
- X([
476
+ Z([
495
477
  t,
496
478
  n,
497
479
  r,
498
480
  i,
499
481
  a
500
- ], f, { immediate: !0 }), X(o, d);
482
+ ], f, { immediate: !0 }), Z(o, () => d("flip"));
501
483
  let p = typeof document < "u" ? document.fonts : void 0;
502
- p && p.ready.then(() => !u && d()), V(() => {
484
+ p && p.ready.then(() => !u && d("layout")), U(() => {
503
485
  u = !0, s?.disconnect(), s = null;
504
486
  });
505
487
  }
506
488
  //#endregion
507
489
  //#region src/components/dock/composables/useDockShellProps.ts
508
- function Ve(e) {
509
- let t = O(() => {
510
- if (e.containerName) return {
511
- "container-type": "inline-size",
512
- "container-name": e.containerName
513
- };
514
- }), n = O(() => e.collapseDelay ?? 3600), r = O(() => e.layout ?? "linear"), i = O(() => e.shape ?? "pill"), a = O(() => e.orientation ?? "horizontal"), o = O(() => e.size ?? "md"), s = O(() => a.value === "vertical" || e.overflow === "wrap" ? null : "dock-scroll-x"), c = O(() => e.alwaysExpanded || r.value === "grid");
490
+ function Le(e) {
491
+ let t = k(() => e.shape ?? "pill"), n = k(() => e.orientation ?? "horizontal"), r = k(() => e.collapse === !1);
515
492
  return {
516
- containerStyle: t,
517
- collapseDelay: n,
518
- startCollapsed: O(() => c.value ? !1 : e.startCollapsed ?? !0),
519
- interaction: O(() => c.value ? "auto" : e.interaction ?? "auto"),
520
- layoutValue: r,
521
- shape: i,
522
- orientation: a,
523
- size: o,
524
- scrollClass: s,
525
- alwaysExpanded: c,
526
- fitContent: O(() => e.fitContent ?? !1)
493
+ startCollapsed: k(() => !r.value && (e.collapse ?? "closed") === "closed"),
494
+ shape: t,
495
+ orientation: n,
496
+ alwaysExpanded: r,
497
+ fitContent: k(() => e.fitContent ?? !1)
527
498
  };
528
499
  }
529
500
  //#endregion
530
501
  //#region src/components/dock/composables/useDockClickIntegrity.ts
531
- function He(e) {
532
- let { rootEl: t, visualExpanded: n } = e, r = null, i = !1, a = 0, o = null, s = G(null), c = null, l = [];
502
+ function Re(e) {
503
+ let { rootEl: t, visualExpanded: n } = e, r = null, i = !1, a = 0, o = null, s = q(null), c = null, l = [];
533
504
  function u() {
534
505
  c?.removeAttribute("data-dock-press-origin"), c = null;
535
506
  for (let { element: e, wasInert: t } of l.splice(0)) e.toggleAttribute("inert", t);
@@ -570,9 +541,9 @@ function He(e) {
570
541
  return !!e && e.hasAttribute("data-morphing");
571
542
  }
572
543
  function _(e) {
573
- u(), r = e.target, n.value, i = g();
544
+ u(), r = e.target, i = g();
574
545
  }
575
- X(n, (e, t) => {
546
+ Z(n, (e, t) => {
576
547
  t && !e && r && d(r);
577
548
  });
578
549
  function v() {
@@ -599,267 +570,365 @@ function He(e) {
599
570
  e.stopPropagation(), e.preventDefault(), r = null;
600
571
  }
601
572
  }
602
- return z(() => {
573
+ return V(() => {
603
574
  f(), u();
604
575
  }), {
605
576
  onPointerDownCapture: _,
606
577
  onPointerCancelCapture: v,
607
578
  onClickCapture: b,
608
579
  markExpandFlip: p,
609
- pressKeepaliveLayer: W(s)
580
+ pressKeepaliveLayer: K(s)
610
581
  };
611
582
  }
612
583
  //#endregion
613
- //#region src/components/dock/composables/useDockTouchGate.ts
584
+ //#region src/components/dock/composables/useDockRun.ts
585
+ function ze(e, t) {
586
+ let n = getComputedStyle(e).getPropertyValue(t).trim(), r = Number.parseFloat(n);
587
+ return Number.isFinite(r) ? r : 0;
588
+ }
589
+ function Be(e) {
590
+ return Array.from(e.children).filter((e) => e instanceof HTMLElement);
591
+ }
592
+ function Ve(e) {
593
+ return e.findIndex((e) => {
594
+ let t = (e.matches("[aria-current]") ? e : e.querySelector("[aria-current]"))?.getAttribute("aria-current");
595
+ return t != null && t !== "false";
596
+ });
597
+ }
598
+ function He(e) {
599
+ return e.matches(b) ? e : e.querySelector(b);
600
+ }
614
601
  function Ue(e) {
615
- let { collapseDelay: t, rootEl: n, quiet: r, visualExpanded: i, expanded: a, isPinned: o, expand: s, collapse: c } = e, u = l(t);
616
- function d() {
617
- return !r.value;
602
+ let { runEl: t, statusEl: n, orientation: r } = e, i = Ne({
603
+ response: f.response,
604
+ dampingFraction: f.dampingFraction
605
+ });
606
+ function a() {
607
+ return r.value === "vertical";
608
+ }
609
+ function o(e) {
610
+ return a() ? e.scrollTop : e.scrollLeft;
611
+ }
612
+ function s(e, t) {
613
+ a() ? e.scrollTop = t : e.scrollLeft = t;
614
+ }
615
+ function c(e) {
616
+ return a() ? e.scrollHeight - e.clientHeight : e.scrollWidth - e.clientWidth;
618
617
  }
619
- function f(e) {
620
- if (!d() || i.value) return;
621
- let t = n.value, r = e.touches[0];
622
- !t || !r || u.handleTouchStart(t, r.clientY);
618
+ function l(e, t) {
619
+ let n = Be(e), r = n.indexOf(t);
620
+ if (r < 0) return o(e);
621
+ let i = ze(e, "--dock-pitch");
622
+ if (i <= 0) return o(e);
623
+ let a = Math.max(1, ze(e, "--dock-open-pitches")), s = Ve(n), l = s >= 0 && s < r ? (a - 1) * i : 0, u = r * i + l - i / 2;
624
+ return Math.min(Math.max(u, 0), c(e));
625
+ }
626
+ function u(e, t) {
627
+ let n = e.getBoundingClientRect(), r = t.getBoundingClientRect();
628
+ return a() ? r.top < n.top - 1 || r.bottom > n.bottom + 1 : r.left < n.left - 1 || r.right > n.right + 1;
629
+ }
630
+ function d(e) {
631
+ let t = n.value;
632
+ if (!t) return;
633
+ let r = He(e) ?? e, i = r.getAttribute("aria-label") ?? r.getAttribute("title") ?? r.textContent?.trim();
634
+ i && (t.textContent = i);
623
635
  }
624
636
  function p(e) {
625
- d() && u.handleScrollCheck(e);
637
+ let n = t.value;
638
+ if (!n || (d(e), !u(n, e))) return;
639
+ let r = o(n), a = l(n, e);
640
+ Math.abs(a - r) < 1 || i.playTo(0, 1, { onFrame: (e) => {
641
+ let n = t.value;
642
+ n && s(n, r + (a - r) * e);
643
+ } });
626
644
  }
627
645
  function m() {
628
- if (!d()) return;
629
- let e = u.isActive.value;
630
- u.handleTouchEnd(), !e && u.isActive.value && !i.value && s();
631
- }
632
- return X(u.isActive, (e) => {
633
- !e && a.value && !o.value && !r.value && c();
634
- }), {
635
- onTouchStart: f,
636
- onTouchMove: p,
637
- onTouchEnd: m,
638
- deactivate: () => u.deactivate()
639
- };
640
- }
641
- //#endregion
642
- //#region src/components/dock/composables/useDockOverflowFit.ts
643
- function We(e) {
644
- let t = null, n = null, r = 0;
645
- function i() {
646
- return e.value?.querySelector(".dock-layer--full") ?? null;
646
+ let e = t.value;
647
+ if (!e) return;
648
+ let n = Be(e);
649
+ if (n.length === 0) return;
650
+ let r = Ve(n), i = n.findIndex((e) => e.contains(document.activeElement)), a = i >= 0 ? i : r >= 0 ? r : 0;
651
+ n.forEach((e, t) => {
652
+ let n = He(e);
653
+ n && (n.tabIndex = t === a ? 0 : -1);
654
+ });
647
655
  }
648
- function a() {
649
- let t = e.value, n = i();
650
- if (!t || !n) return;
651
- let r = t.classList.contains("vertical"), a = r ? t : n, o = r ? a.scrollHeight - a.clientHeight > 1 : a.scrollWidth - a.clientWidth > 1;
652
- t.toggleAttribute("data-dock-overflow", o);
656
+ function h(e, t) {
657
+ let n = e[t];
658
+ if (!n) return;
659
+ let r = He(n);
660
+ r && (p(n), r.tabIndex = 0, r.focus({ preventScroll: !0 }), m());
661
+ }
662
+ function g(e) {
663
+ let n = t.value;
664
+ if (!n) return;
665
+ let r = Be(n);
666
+ if (r.length === 0) return;
667
+ let i = r.findIndex((t) => t.contains(e.target));
668
+ if (i < 0) return;
669
+ let [o, s] = a() ? ["ArrowUp", "ArrowDown"] : ["ArrowLeft", "ArrowRight"], c;
670
+ switch (e.key) {
671
+ case o:
672
+ c = i - 1;
673
+ break;
674
+ case s:
675
+ c = i + 1;
676
+ break;
677
+ case "Home":
678
+ c = 0;
679
+ break;
680
+ case "End":
681
+ c = r.length - 1;
682
+ break;
683
+ default: return;
684
+ }
685
+ c < 0 || c >= r.length || (e.preventDefault(), h(r, c));
653
686
  }
654
- function o() {
655
- cancelAnimationFrame(r), r = requestAnimationFrame(a);
687
+ function _(e) {
688
+ let n = t.value;
689
+ if (!n) return;
690
+ let r = Be(n).find((t) => t.contains(e.target));
691
+ r && p(r);
656
692
  }
657
- return B(() => {
658
- let r = e.value, a = i();
659
- o(), r && (t = new ResizeObserver(o), t.observe(r), a && t.observe(a)), r && (n = new MutationObserver(o), n.observe(r, {
693
+ let v = null;
694
+ return H(() => {
695
+ let e = t.value;
696
+ e && (e.addEventListener("keydown", g), e.addEventListener("click", _, { capture: !0 }), e.addEventListener("focusin", _, { capture: !0 }), m(), v = new MutationObserver(() => m()), v.observe(e, {
660
697
  childList: !0,
661
698
  subtree: !0,
662
- characterData: !0,
663
699
  attributes: !0,
664
- attributeFilter: ["class", "hidden"]
700
+ attributeFilter: ["aria-current"]
665
701
  }));
666
- }), X(() => e.value, () => o()), H(() => {
667
- t?.disconnect(), n?.disconnect(), cancelAnimationFrame(r);
668
- }), { measure: a };
702
+ }), W(() => {
703
+ let e = t.value;
704
+ e?.removeEventListener("keydown", g), e?.removeEventListener("click", _, { capture: !0 }), e?.removeEventListener("focusin", _, { capture: !0 }), v?.disconnect(), i.dispose();
705
+ }), Z(r, () => m()), {
706
+ reach: p,
707
+ syncRoving: m
708
+ };
669
709
  }
670
710
  //#endregion
671
711
  //#region src/components/dock/GlassDock.vue?vue&type=script&setup=true&lang.ts
672
- var Ge = [
673
- "data-size",
674
- "data-backdrop-mode",
675
- "data-interaction",
676
- "data-held",
677
- "data-search",
678
- "data-container-name"
679
- ], Ke = { class: "dock-controls" }, qe = {
712
+ var We = ["data-backdrop-mode", "data-held"], Ge = ["data-held"], Ke = { class: "dock-controls" }, qe = {
680
713
  key: 0,
681
714
  class: "dock-persistent"
682
- }, Je = ["inert"], Ye = ["inert"], Xe = {
715
+ }, Je = [
716
+ "id",
717
+ "aria-orientation",
718
+ "inert"
719
+ ], Ye = [
720
+ "id",
721
+ "inert",
722
+ "role",
723
+ "tabindex",
724
+ "aria-label",
725
+ "aria-expanded",
726
+ "aria-controls"
727
+ ], Xe = {
683
728
  key: 0,
684
729
  class: "dock-search-field"
685
730
  }, Ze = {
686
731
  key: 1,
687
732
  class: "dock-persistent dock-persistent-end"
688
- }, Qe = /* @__PURE__ */ P({
733
+ }, Qe = /* @__PURE__ */ F({
689
734
  inheritAttrs: !1,
690
735
  __name: "GlassDock",
691
736
  props: {
692
737
  fitContent: { type: Boolean },
693
- position: {},
694
738
  backdropMode: { default: "live" },
695
- alwaysExpanded: { type: Boolean },
696
739
  shape: {},
697
740
  orientation: {},
698
- size: {},
699
- overflow: {},
700
- containerName: {},
701
- viewTransitionName: {},
702
- collapseDelay: {},
703
- startCollapsed: { type: Boolean },
704
- interaction: {},
705
- layout: {},
706
- autoLuminance: {
707
- type: Boolean,
708
- default: !0
741
+ collapse: {
742
+ type: [Boolean, String],
743
+ default: "closed"
709
744
  },
710
- backgroundCanvas: {},
711
- search: { type: Boolean }
745
+ backgroundCanvas: {}
712
746
  },
713
747
  setup(e, { expose: t }) {
714
- let n = e, { containerStyle: r, collapseDelay: i, startCollapsed: a, interaction: o, layoutValue: s, shape: c, orientation: l, size: u, scrollClass: d, alwaysExpanded: f, fitContent: p } = Ve(n), h = s, g = Y("dockEl"), _ = Y("layersEl"), v = Y("fullEl"), y = Y("summaryEl");
715
- We(g), n.backdropMode === "live" && n.autoLuminance !== !1 && Pe(g, { backgroundCanvas: () => {
748
+ let n = e, { startCollapsed: r, shape: i, orientation: a, alwaysExpanded: o, fitContent: s } = Le(n), c = X("dockEl"), l = X("layersEl"), u = X("fullEl"), f = X("summaryEl"), p = X("statusEl");
749
+ Ue({
750
+ runEl: u,
751
+ statusEl: p,
752
+ orientation: a
753
+ }), n.backdropMode === "live" && je(c, { backgroundCanvas: () => {
716
754
  let e = n.backgroundCanvas;
717
755
  return typeof e == "function" ? e() : e instanceof HTMLCanvasElement ? e : null;
718
756
  } });
719
- let b = G(!1), x = `glass-dock-${re()}`, { expanded: S, isPinned: C, isHeld: w, onMouseEnter: T, onMouseLeave: E, onFocusIn: D, onFocusOut: k, onClickCollapsed: N, keepOpen: P, release: ee, expand: I, collapse: R } = Ie({
720
- collapseDelay: i.value,
721
- rootEl: g,
722
- alwaysExpanded: f,
723
- interaction: o,
724
- initialExpanded: !a.value,
725
- isTransitioning: b,
726
- dockId: x
727
- }), z = O(() => f.value || o.value === "manual");
728
- m({
729
- id: x,
730
- orientation: l,
731
- layout: h,
732
- keepOpen: P,
733
- release: ee,
734
- held: w
757
+ let m = q(!1), h = `glass-dock-${re()}`, { expanded: g, isPinned: v, isHeld: y, graspHeld: x, onMouseEnter: S, onMouseLeave: C, onFocusIn: w, onFocusOut: T, onClickCollapsed: E, keepOpen: D, release: A, expand: P, collapse: F } = Me({
758
+ rootEl: c,
759
+ alwaysExpanded: o,
760
+ initialExpanded: !r.value,
761
+ isTransitioning: m,
762
+ dockId: h
763
+ });
764
+ d({
765
+ id: h,
766
+ orientation: a,
767
+ keepOpen: D,
768
+ release: A,
769
+ held: x
770
+ });
771
+ let I = k(() => o.value || g.value);
772
+ Ie({
773
+ rootEl: c,
774
+ contentEl: l,
775
+ expandedEl: u,
776
+ collapsedEl: f,
777
+ axis: a,
778
+ expanded: I
735
779
  });
736
- let B = O(() => f.value || S.value), V = O(() => B.value ? "full" : "summary"), H = O(() => l.value), { outerCurrentLayer: W, outerLeavingLayer: te } = Re({
737
- rootEl: g,
738
- outerActiveLayer: V,
780
+ let { outerCurrentLayer: B, outerLeavingLayer: V } = Pe({
781
+ rootEl: c,
782
+ outerActiveLayer: k(() => I.value ? "full" : "summary"),
739
783
  onMorphActiveChange: (e) => {
740
- b.value = e;
784
+ m.value = e;
741
785
  }
786
+ }), H = k(() => B.value === "summary");
787
+ async function U(e) {
788
+ !H.value || !["Enter", " "].includes(e.key) || (e.preventDefault(), E(), await R(), (u.value?.querySelector(b) ?? u.value)?.focus({ preventScroll: !0 }));
789
+ }
790
+ async function W(e) {
791
+ if (e.key !== "Escape") return;
792
+ let t = e.target?.closest?.(_);
793
+ if (t && u.value?.contains(t)) return;
794
+ F(), await R();
795
+ let n = f.value;
796
+ n && !n.hasAttribute("inert") && n.focus({ preventScroll: !0 });
797
+ }
798
+ let { onPointerDownCapture: K, onPointerCancelCapture: ee, onClickCapture: te, markExpandFlip: ne, pressKeepaliveLayer: ie } = Re({
799
+ rootEl: c,
800
+ visualExpanded: I
742
801
  });
743
- Be({
744
- rootEl: g,
745
- contentEl: _,
746
- expandedEl: v,
747
- collapsedEl: y,
748
- axis: H,
749
- expanded: B
802
+ Z(I, (e) => {
803
+ e && ne();
750
804
  });
751
- let ne = O(() => n.viewTransitionName ? { "view-transition-name": n.viewTransitionName } : void 0), { onPointerDownCapture: q, onPointerCancelCapture: ie, onClickCapture: Z, markExpandFlip: Q, pressKeepaliveLayer: ae } = He({
752
- rootEl: g,
753
- visualExpanded: B
754
- }), { onTouchStart: oe, onTouchMove: se, onTouchEnd: ce, deactivate: le } = Ue({
755
- collapseDelay: i.value,
756
- rootEl: g,
757
- quiet: z,
758
- visualExpanded: B,
759
- expanded: S,
760
- isPinned: C,
761
- expand: I,
762
- collapse: R
805
+ let Q = q(!1);
806
+ Z(x, (e) => {
807
+ e && (Q.value = !0);
763
808
  });
764
- return X(B, (e) => {
765
- e ? Q() : le();
766
- }), t({
767
- expanded: S,
768
- isPinned: C,
769
- isHeld: w,
770
- isTransitioning: b,
771
- expand: I,
772
- collapse: R,
773
- keepOpen: P,
774
- release: ee
775
- }), (t, i) => (U(), j("div", F({
809
+ function $(e) {
810
+ e.propertyName === "opacity" && !x.value && (Q.value = !1);
811
+ }
812
+ return t({
813
+ expanded: g,
814
+ isPinned: v,
815
+ isHeld: y,
816
+ graspHeld: x,
817
+ isTransitioning: m,
818
+ expand: P,
819
+ collapse: F,
820
+ keepOpen: D,
821
+ release: A
822
+ }), (e, t) => (G(), M("div", L({
776
823
  ref_key: "dockEl",
777
- ref: g
778
- }, t.$attrs, {
824
+ ref: c
825
+ }, e.$attrs, {
779
826
  class: ["glass-dock", [
780
- J(l),
781
- `shape-${J(c)}`,
782
- `layout-${J(h)}`,
783
- J(d),
827
+ Y(a),
828
+ `shape-${Y(i)}`,
784
829
  {
785
- expanded: B.value,
786
- collapsed: !B.value,
787
- pinned: J(C),
788
- "fit-content": J(p),
789
- "always-expanded": J(f),
790
- "dock-overflow-wrap": e.overflow === "wrap" && J(l) !== "vertical"
791
- },
792
- e.position === "fixed" ? "fixed bottom-(--dock-pos) inset-x-0 mx-auto w-max" : e.position === "sticky" ? "dock-sticky" : "dock-inline"
830
+ expanded: I.value,
831
+ collapsed: !I.value,
832
+ pinned: Y(v),
833
+ "fit-content": Y(s),
834
+ "always-expanded": Y(o)
835
+ }
793
836
  ]],
794
- "data-material": "functional",
795
- "data-size": J(u),
796
837
  "data-backdrop-mode": n.backdropMode,
797
- "data-interaction": J(o) === "manual" ? "manual" : void 0,
798
- "data-held": J(w) || void 0,
799
- "data-search": e.search || void 0,
800
- "data-container-name": e.containerName || void 0,
801
- style: [J(r), ne.value],
802
- onMouseenter: i[1] ||= (...e) => J(T) && J(T)(...e),
803
- onMouseleave: i[2] ||= (e) => J(E)(e),
804
- onFocusin: i[3] ||= (...e) => J(D) && J(D)(...e),
805
- onFocusout: i[4] ||= (...e) => J(k) && J(k)(...e),
806
- onTouchstart: i[5] ||= (...e) => J(oe) && J(oe)(...e),
807
- onTouchmove: i[6] ||= (...e) => J(se) && J(se)(...e),
808
- onTouchend: i[7] ||= (...e) => J(ce) && J(ce)(...e),
809
- onPointerdownCapture: i[8] ||= (...e) => J(q) && J(q)(...e),
810
- onPointercancelCapture: i[9] ||= (...e) => J(ie) && J(ie)(...e),
811
- onClickCapture: i[10] ||= (...e) => J(Z) && J(Z)(...e)
812
- }), [i[11] ||= M("div", {
813
- class: "dock-plate",
814
- "aria-hidden": "true"
815
- }, null, -1), M("div", Ke, [
816
- t.$slots.persistent ? (U(), j("div", qe, [K(t.$slots, "persistent")])) : A("", !0),
817
- M("div", {
818
- ref_key: "layersEl",
819
- ref: _,
820
- class: "dock-layers"
821
- }, [
822
- M("div", {
823
- ref_key: "fullEl",
824
- ref: v,
825
- class: L(["dock-layer dock-layer--full", {
826
- "is-active": J(W) === "full",
827
- "is-leaving": J(te) === "full" || J(ae) === "full" && J(W) !== "full",
828
- "is-press-keepalive": J(ae) === "full"
829
- }]),
830
- inert: J(W) !== "full" && J(ae) !== "full" || void 0
831
- }, [K(t.$slots, "default")], 10, Je),
832
- M("div", {
833
- ref_key: "summaryEl",
834
- ref: y,
835
- class: L(["dock-layer dock-layer--summary", {
836
- "is-active": J(W) === "summary",
837
- "is-leaving": J(te) === "summary"
838
- }]),
839
- inert: J(W) !== "summary" || void 0,
840
- onClick: i[0] ||= (...e) => J(N) && J(N)(...e)
841
- }, [K(t.$slots, "collapsed")], 10, Ye),
842
- e.search ? (U(), j("div", Xe, [K(t.$slots, "search")])) : A("", !0)
843
- ], 512),
844
- t.$slots["persistent-end"] ? (U(), j("div", Ze, [K(t.$slots, "persistent-end")])) : A("", !0)
845
- ])], 16, Ge));
846
- }
847
- }), $e = o(f, "[glass-ui:dock] <DockLayer> must be used inside <DockCrossfade> (or <DockLayerGroup>)"), { KEY: et } = $e;
838
+ "data-held": Y(x) || void 0,
839
+ onMouseenter: t[2] ||= (...e) => Y(S) && Y(S)(...e),
840
+ onMouseleave: t[3] ||= (e) => Y(C)(e),
841
+ onFocusin: t[4] ||= (...e) => Y(w) && Y(w)(...e),
842
+ onFocusout: t[5] ||= (...e) => Y(T) && Y(T)(...e),
843
+ onPointerdownCapture: t[6] ||= (...e) => Y(K) && Y(K)(...e),
844
+ onPointercancelCapture: t[7] ||= (...e) => Y(ee) && Y(ee)(...e),
845
+ onClickCapture: t[8] ||= (...e) => Y(te) && Y(te)(...e)
846
+ }), [
847
+ N("div", {
848
+ class: "dock-plate",
849
+ "aria-hidden": "true",
850
+ "data-held": Y(x) || void 0
851
+ }, [Q.value ? (G(), M(O, { key: 0 }, [t[9] ||= N("span", {
852
+ class: "glass-grasp-carrier",
853
+ "data-grasp": "rest"
854
+ }, null, -1), N("span", {
855
+ class: "glass-grasp-carrier",
856
+ "data-grasp": "grasp",
857
+ onTransitionend: $
858
+ }, null, 32)], 64)) : j("", !0)], 8, Ge),
859
+ N("div", Ke, [
860
+ e.$slots.persistent ? (G(), M("div", qe, [J(e.$slots, "persistent")])) : j("", !0),
861
+ N("div", {
862
+ ref_key: "layersEl",
863
+ ref: l,
864
+ class: "dock-layers"
865
+ }, [
866
+ N("div", {
867
+ ref_key: "fullEl",
868
+ ref: u,
869
+ id: `${h}-full`,
870
+ role: "toolbar",
871
+ "aria-orientation": Y(a),
872
+ class: z(["dock-layer dock-layer--full dock-run", {
873
+ "is-active": Y(B) === "full",
874
+ "is-leaving": Y(V) === "full" || Y(ie) === "full" && Y(B) !== "full",
875
+ "is-press-keepalive": Y(ie) === "full"
876
+ }]),
877
+ inert: Y(B) !== "full" && Y(ie) !== "full" || void 0,
878
+ tabindex: "-1",
879
+ onKeydown: W
880
+ }, [J(e.$slots, "default")], 42, Je),
881
+ N("div", {
882
+ ref_key: "summaryEl",
883
+ ref: f,
884
+ id: `${h}-summary`,
885
+ class: z(["dock-layer dock-layer--summary", {
886
+ "is-active": Y(B) === "summary",
887
+ "is-leaving": Y(V) === "summary"
888
+ }]),
889
+ inert: Y(B) !== "summary" || void 0,
890
+ role: H.value ? "button" : void 0,
891
+ tabindex: H.value ? 0 : void 0,
892
+ "aria-label": H.value ? "Expand dock" : void 0,
893
+ "aria-expanded": H.value ? "false" : void 0,
894
+ "aria-controls": H.value ? `${h}-full` : void 0,
895
+ onFocusin: t[0] ||= ae(() => {}, ["stop"]),
896
+ onKeydown: U,
897
+ onClick: t[1] ||= (...e) => Y(E) && Y(E)(...e)
898
+ }, [J(e.$slots, "collapsed")], 42, Ye),
899
+ e.$slots.search ? (G(), M("div", Xe, [J(e.$slots, "search")])) : j("", !0)
900
+ ], 512),
901
+ e.$slots["persistent-end"] ? (G(), M("div", Ze, [J(e.$slots, "persistent-end")])) : j("", !0)
902
+ ]),
903
+ N("div", {
904
+ ref_key: "statusEl",
905
+ ref: p,
906
+ class: "dock-run-status",
907
+ role: "status",
908
+ "aria-live": "polite"
909
+ }, null, 512)
910
+ ], 16, We));
911
+ }
912
+ }), $e = c("glass-ui:dock-switcher-tablist"), { KEY: et } = $e;
848
913
  function tt(e) {
849
914
  $e.provide(e);
850
915
  }
851
- var nt = $e.use;
852
- $e.useOptional;
916
+ var nt = $e.use, rt = s(u, "[glass-ui:dock] <DockLayer> must be used inside <DockCrossfade> (or <DockLayerGroup>)"), { KEY: it } = rt;
917
+ function at(e) {
918
+ rt.provide(e);
919
+ }
920
+ var ot = rt.use;
921
+ rt.useOptional;
853
922
  //#endregion
854
923
  //#region src/components/dock/DockCrossfade.vue
855
- var rt = /* @__PURE__ */ P({
924
+ var st = /* @__PURE__ */ F({
856
925
  __name: "DockCrossfade",
857
926
  props: {
858
927
  active: {},
859
928
  reserve: { default: "block" }
860
929
  },
861
930
  setup(e, { expose: t }) {
862
- let n = e, r = G(null), i = G(/* @__PURE__ */ new Map()), a = O(() => [...i.value.values()].map(({ id: e, label: t, icon: n }) => ({
931
+ let n = e, r = q(null), i = q(/* @__PURE__ */ new Map()), a = k(() => [...i.value.values()].map(({ id: e, label: t, icon: n }) => ({
863
932
  id: e,
864
933
  label: t,
865
934
  icon: n
@@ -873,101 +942,102 @@ var rt = /* @__PURE__ */ P({
873
942
  let t = new Map(i.value);
874
943
  t.delete(e), i.value = t, p();
875
944
  }
876
- let l = O(() => n.active), u = G(null);
877
- tt({
945
+ let c = k(() => n.active), l = q(null);
946
+ at({
878
947
  register: o,
879
948
  unregister: s,
880
- activeId: l,
881
- leavingId: u,
949
+ activeId: c,
950
+ leavingId: l,
882
951
  faces: a
883
952
  });
884
- let d = G(0), f = O(() => n.reserve === "inline" ? "min-inline-size" : "min-block-size");
953
+ let u = q(0), d = k(() => n.reserve === "inline" ? "min-inline-size" : "min-block-size");
885
954
  function p() {
886
955
  let e = 0;
887
956
  for (let { el: t } of i.value.values()) {
888
957
  let r = n.reserve === "inline" ? t.scrollWidth : t.scrollHeight;
889
958
  r > e && (e = r);
890
959
  }
891
- e > d.value && (d.value = e);
960
+ e > u.value && (u.value = e);
892
961
  }
893
- let m = O(() => d.value > 0 ? {
894
- [f.value]: `${d.value}px`,
895
- "--dock-crossfade-peak": `${d.value}px`
962
+ let m = k(() => u.value > 0 ? {
963
+ [d.value]: `${u.value}px`,
964
+ "--dock-crossfade-peak": `${u.value}px`
896
965
  } : void 0);
897
- c(r, () => p());
898
- let g = Le({
899
- response: h.response,
900
- dampingFraction: h.dampingFraction
966
+ v(r, () => p());
967
+ let h = Ne({
968
+ response: f.response,
969
+ dampingFraction: f.dampingFraction
901
970
  });
902
- function _(e) {
971
+ function g(e) {
903
972
  return e ? i.value.get(e)?.el : void 0;
904
973
  }
905
- function v(e, t) {
906
- _(e)?.style.setProperty("--dock-t", `${t}`);
974
+ function _(e, t) {
975
+ g(e)?.style.setProperty("--dock-t", `${t}`);
907
976
  }
908
977
  function y(e) {
909
- _(e)?.style.removeProperty("--dock-t");
978
+ g(e)?.style.removeProperty("--dock-t");
910
979
  }
911
980
  function b(e) {
912
981
  return e < 0 ? 0 : e > 1 ? 1 : e;
913
982
  }
914
- let x = pe("(prefers-reduced-motion: reduce)"), S = null, C = 1;
915
- X(x, (e) => {
916
- e && (g.dispose(), S?.());
983
+ let x = me("(prefers-reduced-motion: reduce)"), S = null, C = 1;
984
+ Z(x, (e) => {
985
+ e && (h.dispose(), S?.());
917
986
  });
918
987
  async function w(e, t) {
919
988
  if (typeof document > "u") return;
920
- let n = _(e), r = document.activeElement;
921
- !n || !r || !n.contains(r) || (await I(), (_(t) ?? document.body).focus?.());
989
+ let n = g(e), r = document.activeElement;
990
+ !n || !r || !n.contains(r) || (await R(), (g(t) ?? document.body).focus?.());
922
991
  }
923
- return X(l, (e, t) => {
992
+ return Z(c, (e, t) => {
924
993
  if (e === t) return;
925
994
  p();
926
- let n = _(e), i = _(t);
995
+ let n = g(e), i = g(t);
927
996
  if (!n || !i) {
928
- u.value = null, y(e), C = 1;
997
+ l.value = null, y(e), C = 1;
929
998
  return;
930
999
  }
931
- let a = u.value, o = Number.parseFloat(n.style.getPropertyValue("--dock-t")), s = Number.parseFloat(i.style.getPropertyValue("--dock-t")), c = a === e && Number.isFinite(o) ? 1 - b(o) : 0, l = Number.isFinite(s) ? b(s) : 1;
932
- a && a !== e && a !== t && y(a), u.value = t, v(e, c), v(t, 1 - l), w(t, e), r.value?.setAttribute("data-crossfading", "");
1000
+ let a = l.value, o = Number.parseFloat(n.style.getPropertyValue("--dock-t")), s = Number.parseFloat(i.style.getPropertyValue("--dock-t")), c = a === e && Number.isFinite(o) ? 1 - b(o) : 0, u = Number.isFinite(s) ? b(s) : 1;
1001
+ a && a !== e && a !== t && y(a), l.value = t, _(e, c), _(t, 1 - u), w(t, e), r.value?.setAttribute("data-crossfading", "");
933
1002
  let d = () => {
934
- y(e), y(t), r.value?.removeAttribute("data-crossfading"), u.value = null, C = 1, S === d && (S = null);
1003
+ y(e), y(t), r.value?.removeAttribute("data-crossfading"), l.value = null, C = 1, S === d && (S = null);
935
1004
  };
936
1005
  if (S = d, x.value) {
937
1006
  d();
938
1007
  return;
939
1008
  }
940
- let f = l > .001 ? -C / l : 0;
941
- C = 1 - c, g.playTo(0, 1, {
1009
+ let f = u > .001 ? -C / u : 0;
1010
+ C = 1 - c, h.playTo(0, 1, {
942
1011
  inheritVelocityScale: f,
943
1012
  onFrame: (n) => {
944
- v(e, b(c + (1 - c) * n)), v(t, b(1 - l * (1 - n)));
1013
+ _(e, b(c + (1 - c) * n)), _(t, b(1 - u * (1 - n)));
945
1014
  },
946
1015
  onSettle: d
947
1016
  });
948
- }), z(() => {
949
- g.dispose(), S = null;
950
- }), t({ faces: a }), (e, t) => (U(), j("div", {
1017
+ }), V(() => {
1018
+ h.dispose(), S = null;
1019
+ }), t({ faces: a }), (e, t) => (G(), M("div", {
951
1020
  ref_key: "rootEl",
952
1021
  ref: r,
953
1022
  class: "dock-crossfade",
954
- style: R(m.value)
955
- }, [K(e.$slots, "default")], 4));
1023
+ style: B(m.value)
1024
+ }, [J(e.$slots, "default")], 4));
956
1025
  }
957
- }), it = ["data-motion"], at = ["aria-orientation"], ot = [
1026
+ }), ct = ["data-motion"], lt = ["aria-orientation"], ut = [
1027
+ "id",
958
1028
  "tabindex",
959
- "title",
1029
+ "aria-controls",
960
1030
  "aria-label",
961
1031
  "onClick"
962
- ], st = { key: 1 }, ct = { key: 2 }, lt = /* @__PURE__ */ P({
1032
+ ], dt = { key: 1 }, ft = { key: 2 }, pt = /* @__PURE__ */ F({
963
1033
  __name: "DockLayerGroup",
964
- props: /*@__PURE__*/ ee({
1034
+ props: /*@__PURE__*/ I({
965
1035
  orientation: {},
966
- showRail: {
1036
+ showSwitcher: {
967
1037
  type: Boolean,
968
1038
  default: !0
969
1039
  },
970
- railPosition: { default: "start" },
1040
+ switcherPosition: { default: "start" },
971
1041
  motion: {}
972
1042
  }, {
973
1043
  active: { required: !0 },
@@ -975,109 +1045,117 @@ var rt = /* @__PURE__ */ P({
975
1045
  }),
976
1046
  emits: ["update:active"],
977
1047
  setup(e) {
978
- let t = e, n = s(() => t.motion), r = ie(e, "active"), i = p(), a = O(() => t.orientation ?? i?.orientation.value ?? "horizontal"), o = Y("crossfade"), c = O(() => o.value?.faces ?? []), l = O(() => a.value === "vertical" ? "horizontal" : "vertical"), u = O(() => l.value === "vertical"), d = G(null), f = G(null), m = G([]), h = C({
979
- options: O(() => c.value.map((e) => ({ value: e.id }))),
1048
+ let t = e, n = o(() => t.motion), r = ie(e, "active"), i = m(), a = k(() => t.orientation ?? i?.orientation.value ?? "horizontal"), s = X("crossfade"), c = k(() => s.value?.faces ?? []), l = k(() => a.value === "vertical" ? "horizontal" : "vertical"), u = k(() => l.value === "vertical"), d = q(null), f = q(null), h = q([]), g = S({
1049
+ options: k(() => c.value.map((e) => ({ value: e.id }))),
980
1050
  model: r,
981
1051
  mode: "single",
982
1052
  role: "tablist",
983
1053
  vertical: u,
984
1054
  containerRef: d,
985
1055
  indicatorRef: f,
986
- buttonRefs: m
987
- }), g = O(() => u.value ? "y" : "x");
988
- function _() {
1056
+ buttonRefs: h
1057
+ }), _ = k(() => t.showSwitcher && c.value.length > 1), v = re(), y = (e) => e.replace(/[^a-zA-Z0-9_-]/g, ""), b = (e) => `dock-tab-${v}-${y(e)}`, x = (e) => `dock-panel-${v}-${y(e)}`;
1058
+ tt({
1059
+ isTablist: _,
1060
+ tabId: b,
1061
+ panelId: x
1062
+ });
1063
+ let w = k(() => u.value ? "y" : "x");
1064
+ function T() {
989
1065
  let e = d.value;
990
1066
  if (!e) return [];
991
1067
  let t = Array.from(e.querySelectorAll(".dock-layer-tab"));
992
1068
  return c.value.map((e, n) => {
993
- let r = t[n]?.getBoundingClientRect(), i = r ? g.value === "y" ? r.top + r.height / 2 : r.left + r.width / 2 : 0;
1069
+ let r = t[n]?.getBoundingClientRect(), i = r ? w.value === "y" ? r.top + r.height / 2 : r.left + r.width / 2 : 0;
994
1070
  return {
995
1071
  value: e.id,
996
1072
  center: i
997
1073
  };
998
1074
  });
999
1075
  }
1000
- let y = v({
1076
+ let E = C({
1001
1077
  handle: d,
1002
1078
  surface: f,
1003
- axis: () => g.value,
1004
- snapTargets: _,
1079
+ axis: () => w.value,
1080
+ snapTargets: T,
1005
1081
  onSnap: (e) => {
1006
1082
  n.armed.value && r.value !== e && (r.value = e);
1007
1083
  }
1008
1084
  });
1009
- X(() => [
1085
+ Z(() => [
1010
1086
  c.value.length,
1011
1087
  l.value,
1012
1088
  n.armed.value
1013
1089
  ], () => {
1014
- n.armed.value && I(() => y.refresh());
1015
- }), B(() => {
1016
- n.armed.value && I(() => y.refresh());
1090
+ n.armed.value && R(() => E.refresh());
1091
+ }), H(() => {
1092
+ n.armed.value && R(() => E.refresh());
1017
1093
  });
1018
- function b(e) {
1094
+ function D(e) {
1019
1095
  return typeof e == "object" && !!e || typeof e == "function";
1020
1096
  }
1021
- let x = G(!1);
1022
- function S() {
1023
- x.value || (x.value = !0, i?.keepOpen());
1097
+ let F = p(() => i);
1098
+ function I() {
1099
+ F.acquire();
1024
1100
  }
1025
- function w(e) {
1101
+ function V(e) {
1026
1102
  let t = e.relatedTarget, n = e.currentTarget;
1027
- t && n?.contains(t) || x.value && (x.value = !1, i?.release());
1103
+ t && n?.contains(t) || F.release();
1028
1104
  }
1029
- return z(() => {
1030
- x.value && i?.release();
1031
- }), (t, i) => (U(), j("div", {
1032
- class: L(["dock-layer-group", [a.value, `rail-${e.railPosition}`]]),
1033
- "data-motion": J(n).dataMotion.value,
1034
- style: R(J(n).hostStyle.value)
1035
- }, [e.showRail && c.value.length > 1 ? (U(), j("div", {
1105
+ return (t, i) => (G(), M("div", {
1106
+ class: z(["dock-layer-group", [a.value, `switcher-${e.switcherPosition}`]]),
1107
+ "data-motion": Y(n).dataMotion.value,
1108
+ style: B(Y(n).hostStyle.value)
1109
+ }, [_.value ? (G(), M("div", {
1036
1110
  key: 0,
1037
- ref_key: "railListEl",
1111
+ ref_key: "switcherListEl",
1038
1112
  ref: d,
1039
1113
  role: "tablist",
1040
- class: L(["dock-layer-rail", [e.railPosition, J(n).armed.value && "glass-drag-grabbable"]]),
1114
+ class: z(["dock-layer-switcher", [e.switcherPosition, Y(n).armed.value && "glass-drag-grabbable"]]),
1041
1115
  "aria-orientation": l.value,
1042
- onKeydown: i[0] ||= (...e) => J(h).onKeydown && J(h).onKeydown(...e),
1043
- onFocusin: S,
1044
- onFocusout: w
1045
- }, [(U(!0), j(D, null, te(c.value, (e, t) => (U(), j("button", F({
1116
+ onKeydown: i[0] ||= (...e) => Y(g).onKeydown && Y(g).onKeydown(...e),
1117
+ onFocusin: I,
1118
+ onFocusout: V
1119
+ }, [(G(!0), M(O, null, ee(c.value, (e, t) => (G(), M("button", L({
1046
1120
  key: e.id,
1047
1121
  ref_for: !0,
1048
1122
  ref: (e) => {
1049
- e && (m.value[t] = e);
1123
+ e && (h.value[t] = e);
1050
1124
  },
1051
1125
  type: "button",
1052
1126
  class: "dock-layer-tab",
1053
- tabindex: J(h).rovingTabindex(t)
1054
- }, { ref_for: !0 }, J(h).itemAttrs(e.id), {
1055
- title: e.label,
1127
+ id: b(e.id),
1128
+ tabindex: Y(g).rovingTabindex(t)
1129
+ }, { ref_for: !0 }, Y(g).itemAttrs(e.id), {
1130
+ "aria-controls": x(e.id),
1056
1131
  "aria-label": e.label ?? e.id,
1057
- onClick: (n) => J(h).select(e.id, t)
1058
- }), [b(e.icon) ? (U(), k(ne(e.icon), {
1132
+ onClick: (n) => Y(g).select(e.id, t)
1133
+ }), [D(e.icon) ? (G(), A(te(e.icon), {
1059
1134
  key: 0,
1060
1135
  class: "size-4"
1061
- })) : typeof e.icon == "string" ? (U(), j("span", st, q(e.icon), 1)) : (U(), j("span", ct, q((e.label ?? e.id).charAt(0)), 1))], 16, ot))), 128)), M("div", {
1062
- ref_key: "railIndicatorEl",
1136
+ })) : typeof e.icon == "string" ? (G(), M("span", dt, ne(e.icon), 1)) : (G(), M("span", ft, ne((e.label ?? e.id).charAt(0)), 1))], 16, ut))), 128)), N("div", {
1137
+ ref_key: "switcherIndicatorEl",
1063
1138
  ref: f,
1064
- class: L(["dock-layer-tab-indicator", J(n).armed.value && J(y).dragging.value && "glass-drag-lift"]),
1065
- style: R(J(h).singleSliderStyle.value),
1139
+ class: z(["dock-layer-tab-indicator", Y(n).armed.value && Y(E).dragging.value && "glass-drag-lift"]),
1140
+ style: B(Y(g).singleSliderStyle.value),
1066
1141
  "aria-hidden": "true"
1067
- }, null, 6)], 42, at)) : A("", !0), N(rt, {
1142
+ }, null, 6)], 42, lt)) : j("", !0), P(st, {
1068
1143
  ref_key: "crossfade",
1069
- ref: o,
1144
+ ref: s,
1070
1145
  active: r.value
1071
1146
  }, {
1072
- default: Z(() => [K(t.$slots, "default")]),
1147
+ default: Q(() => [J(t.$slots, "default")]),
1073
1148
  _: 3
1074
- }, 8, ["active"])], 14, it));
1149
+ }, 8, ["active"])], 14, ct));
1075
1150
  }
1076
- }), ut = [
1151
+ }), mt = [
1152
+ "role",
1153
+ "id",
1154
+ "aria-labelledby",
1077
1155
  "inert",
1078
1156
  "aria-hidden",
1079
1157
  "tabindex"
1080
- ], dt = { class: "dock-face-content" }, ft = /* @__PURE__ */ P({
1158
+ ], ht = { class: "dock-face-content" }, gt = /* @__PURE__ */ F({
1081
1159
  __name: "DockLayer",
1082
1160
  props: {
1083
1161
  id: {},
@@ -1085,15 +1163,15 @@ var rt = /* @__PURE__ */ P({
1085
1163
  icon: {}
1086
1164
  },
1087
1165
  setup(e) {
1088
- let t = e, n = nt(), r = Y("hostEl");
1089
- B(() => {
1166
+ let t = e, n = ot(), r = X("hostEl");
1167
+ H(() => {
1090
1168
  r.value && n.register({
1091
1169
  id: t.id,
1092
1170
  label: t.label,
1093
1171
  icon: t.icon,
1094
1172
  el: r.value
1095
1173
  });
1096
- }), X(() => [
1174
+ }), Z(() => [
1097
1175
  t.id,
1098
1176
  t.label,
1099
1177
  t.icon
@@ -1104,21 +1182,24 @@ var rt = /* @__PURE__ */ P({
1104
1182
  icon: t.icon,
1105
1183
  el: r.value
1106
1184
  });
1107
- }), z(() => n.unregister(t.id));
1108
- let i = O(() => n.activeId.value === t.id), a = O(() => n.leavingId.value === t.id);
1109
- return (e, t) => (U(), j("div", {
1185
+ }), V(() => n.unregister(t.id));
1186
+ let i = k(() => n.activeId.value === t.id), a = k(() => n.leavingId.value === t.id), o = nt(), s = k(() => o?.isTablist.value ?? !1), c = k(() => s.value ? o.panelId(t.id) : void 0), l = k(() => s.value ? o.tabId(t.id) : void 0);
1187
+ return (e, t) => (G(), M("div", {
1110
1188
  ref_key: "hostEl",
1111
1189
  ref: r,
1112
- class: L(["dock-face", {
1190
+ class: z(["dock-face", {
1113
1191
  "is-active": i.value,
1114
1192
  "is-leaving": a.value
1115
1193
  }]),
1194
+ role: s.value ? "tabpanel" : void 0,
1195
+ id: c.value,
1196
+ "aria-labelledby": l.value,
1116
1197
  inert: !i.value || void 0,
1117
1198
  "aria-hidden": !i.value || void 0,
1118
1199
  tabindex: i.value ? -1 : void 0
1119
- }, [M("div", dt, [K(e.$slots, "default")])], 10, ut));
1200
+ }, [N("div", ht, [J(e.$slots, "default")])], 10, mt));
1120
1201
  }
1121
- }), pt = /* @__PURE__ */ P({
1202
+ }), _t = /* @__PURE__ */ F({
1122
1203
  __name: "DockControl",
1123
1204
  props: {
1124
1205
  shape: { default: "icon" },
@@ -1128,7 +1209,7 @@ var rt = /* @__PURE__ */ P({
1128
1209
  },
1129
1210
  active: {
1130
1211
  type: Boolean,
1131
- default: !1
1212
+ default: void 0
1132
1213
  },
1133
1214
  type: { default: "button" },
1134
1215
  disabled: {
@@ -1149,16 +1230,13 @@ var rt = /* @__PURE__ */ P({
1149
1230
  ] }
1150
1231
  },
1151
1232
  setup(t) {
1152
- let r = t, o = O(() => r.shape === "tab"), s = O(() => o.value ? e("dock-tab-button glass-specular-track", r.class) : e("dock-icon-button glass-specular-track glass-capsule-hover", { "glass-capsule": r.active }, { "dock-icon-button--compact": r.compact }, r.class)), c = O(() => ({
1153
- ...r.active ? {
1154
- "aria-pressed": "true",
1155
- "data-active": ""
1156
- } : {},
1157
- ...r.disabled ? {
1158
- ...r.as === "button" && !r.asChild ? { disabled: !0 } : {},
1159
- "aria-disabled": "true"
1160
- } : {}
1161
- })), l = O(() => !r.asChild && r.as === "button" ? { type: r.type } : {}), u = i("press"), d = a({
1233
+ let r = t, o = k(() => r.shape === "tab"), s = k(() => o.value ? e("dock-tab-button glass-specular-track", r.class) : e("dock-icon-button glass-specular-track glass-capsule-hover", { "glass-capsule": r.active }, { "dock-icon-button--compact": r.compact }, r.class)), c = k(() => ({
1234
+ ...r.active === void 0 ? {} : {
1235
+ "aria-pressed": String(r.active),
1236
+ ...r.active ? { "data-active": "" } : {}
1237
+ },
1238
+ ...r.disabled ? { "aria-disabled": "true" } : {}
1239
+ })), l = k(() => !r.asChild && r.as === "button" ? { type: r.type } : {}), u = i("press"), d = a({
1162
1240
  disabled: () => r.disabled || o.value,
1163
1241
  squish: !0,
1164
1242
  response: u.response,
@@ -1166,11 +1244,11 @@ var rt = /* @__PURE__ */ P({
1166
1244
  pressVar: "--dock-press-t",
1167
1245
  shrinkDepth: .04,
1168
1246
  maxStretch: 1.03
1169
- }), f = O(() => o.value ? {} : { ...d.pressStyle.value });
1247
+ }), f = k(() => o.value ? {} : { ...d.pressStyle.value });
1170
1248
  function p(e) {
1171
1249
  r.disabled && (e.preventDefault(), e.stopImmediatePropagation());
1172
1250
  }
1173
- return (e, r) => Q((U(), k(J(oe), F({
1251
+ return (e, r) => $((G(), A(Y(se), L({
1174
1252
  as: t.as,
1175
1253
  "as-child": t.asChild
1176
1254
  }, {
@@ -1179,18 +1257,18 @@ var rt = /* @__PURE__ */ P({
1179
1257
  }, {
1180
1258
  class: s.value,
1181
1259
  style: f.value,
1182
- "data-press-armed": !o.value && J(d).armed ? "" : void 0,
1183
- onPointerdown: J(d).handlers.onPointerdown,
1184
- onPointerup: J(d).handlers.onPointerup,
1185
- onPointercancel: J(d).handlers.onPointercancel,
1186
- onPointerleave: J(d).handlers.onPointerleave,
1187
- onPointerenter: J(d).handlers.onPointerenter,
1188
- onKeydown: J(d).handlers.onKeydown,
1189
- onKeyup: J(d).handlers.onKeyup,
1190
- onBlur: J(d).handlers.onBlur,
1260
+ "data-press-armed": !o.value && Y(d).armed ? "" : void 0,
1261
+ onPointerdown: Y(d).handlers.onPointerdown,
1262
+ onPointerup: Y(d).handlers.onPointerup,
1263
+ onPointercancel: Y(d).handlers.onPointercancel,
1264
+ onPointerleave: Y(d).handlers.onPointerleave,
1265
+ onPointerenter: Y(d).handlers.onPointerenter,
1266
+ onKeydown: Y(d).handlers.onKeydown,
1267
+ onKeyup: Y(d).handlers.onKeyup,
1268
+ onBlur: Y(d).handlers.onBlur,
1191
1269
  onClickCapture: p
1192
1270
  }), {
1193
- default: Z(() => [K(e.$slots, "default")]),
1271
+ default: Q(() => [J(e.$slots, "default")]),
1194
1272
  _: 3
1195
1273
  }, 16, [
1196
1274
  "as",
@@ -1206,9 +1284,9 @@ var rt = /* @__PURE__ */ P({
1206
1284
  "onKeydown",
1207
1285
  "onKeyup",
1208
1286
  "onBlur"
1209
- ])), [[J(n)]]);
1287
+ ])), [[Y(n)]]);
1210
1288
  }
1211
- }), mt = /* @__PURE__ */ P({
1289
+ }), vt = /* @__PURE__ */ F({
1212
1290
  inheritAttrs: !1,
1213
1291
  __name: "DockTrigger",
1214
1292
  props: {
@@ -1222,28 +1300,28 @@ var rt = /* @__PURE__ */ P({
1222
1300
  ] }
1223
1301
  },
1224
1302
  setup(t) {
1225
- let r = t, i = O(() => e("dock-trigger", r.for === "select" && "dock-select-trigger", r.for !== "select" && "dock-dropdown-trigger", r.class));
1226
- return (e, t) => r.for === "select" ? Q((U(), k(J(ce), F({ key: 0 }, e.$attrs, { class: i.value }), {
1227
- default: Z(() => [K(e.$slots, "default"), N(J(se), { "as-child": "" }, {
1228
- default: Z(() => [K(e.$slots, "icon", {}, () => [N(J(le), {
1303
+ let r = t, i = k(() => e("dock-trigger", r.for === "select" && "dock-select-trigger", r.for !== "select" && "dock-dropdown-trigger", r.class));
1304
+ return (e, t) => r.for === "select" ? $((G(), A(Y(le), L({ key: 0 }, e.$attrs, { class: i.value }), {
1305
+ default: Q(() => [J(e.$slots, "default"), P(Y(ce), { "as-child": "" }, {
1306
+ default: Q(() => [J(e.$slots, "icon", {}, () => [P(Y(ue), {
1229
1307
  class: "dock-select-trigger__chevron",
1230
1308
  "aria-hidden": "true"
1231
1309
  })])]),
1232
1310
  _: 3
1233
1311
  })]),
1234
1312
  _: 3
1235
- }, 16, ["class"])), [[J(n)]]) : r.for === "dropdown" ? Q((U(), k(d, F({ key: 1 }, e.$attrs, {
1313
+ }, 16, ["class"])), [[Y(n)]]) : r.for === "dropdown" ? $((G(), A(x, L({ key: 1 }, e.$attrs, {
1236
1314
  action: "pointerdown",
1237
1315
  class: i.value
1238
1316
  }), {
1239
- default: Z(() => [K(e.$slots, "default")]),
1317
+ default: Q(() => [J(e.$slots, "default")]),
1240
1318
  _: 3
1241
- }, 16, ["class"])), [[J(n)]]) : Q((U(), k(J(ae), F({ key: 2 }, e.$attrs, { class: i.value }), {
1242
- default: Z(() => [K(e.$slots, "default")]),
1319
+ }, 16, ["class"])), [[Y(n)]]) : $((G(), A(Y(oe), L({ key: 2 }, e.$attrs, { class: i.value }), {
1320
+ default: Q(() => [J(e.$slots, "default")]),
1243
1321
  _: 3
1244
- }, 16, ["class"])), [[J(n)]]);
1322
+ }, 16, ["class"])), [[Y(n)]]);
1245
1323
  }
1246
- }), ht = /* @__PURE__ */ P({
1324
+ }), yt = /* @__PURE__ */ F({
1247
1325
  __name: "DockBackgroundToggle",
1248
1326
  props: {
1249
1327
  paused: {
@@ -1255,23 +1333,22 @@ var rt = /* @__PURE__ */ P({
1255
1333
  },
1256
1334
  emits: ["update:paused"],
1257
1335
  setup(e, { emit: t }) {
1258
- let n = e, r = t, i = O(() => n.paused ? n.playLabel : n.pauseLabel);
1336
+ let n = e, r = t, i = k(() => n.paused ? n.playLabel : n.pauseLabel);
1259
1337
  function a() {
1260
1338
  r("update:paused", !n.paused);
1261
1339
  }
1262
- return (t, n) => (U(), k(pt, {
1340
+ return (t, n) => (G(), A(_t, {
1263
1341
  type: "button",
1264
1342
  active: e.paused,
1265
1343
  "aria-pressed": e.paused,
1266
1344
  "aria-label": i.value,
1267
- title: i.value,
1268
1345
  onClick: a
1269
1346
  }, {
1270
- default: Z(() => [e.paused ? (U(), k(J(de), {
1347
+ default: Q(() => [e.paused ? (G(), A(Y(fe), {
1271
1348
  key: 0,
1272
1349
  size: 18,
1273
1350
  "aria-hidden": "true"
1274
- })) : (U(), k(J(ue), {
1351
+ })) : (G(), A(Y(de), {
1275
1352
  key: 1,
1276
1353
  size: 18,
1277
1354
  "aria-hidden": "true"
@@ -1280,40 +1357,216 @@ var rt = /* @__PURE__ */ P({
1280
1357
  }, 8, [
1281
1358
  "active",
1282
1359
  "aria-pressed",
1283
- "aria-label",
1284
- "title"
1360
+ "aria-label"
1285
1361
  ]));
1286
1362
  }
1287
- }), gt = [
1363
+ }), bt = [
1288
1364
  "data-orientation",
1289
- "data-rail-anchor",
1365
+ "data-dock-hairline",
1290
1366
  "aria-orientation"
1291
- ], _t = /* @__PURE__ */ P({
1367
+ ], xt = /* @__PURE__ */ F({
1292
1368
  __name: "DockSeparator",
1293
1369
  props: { anchor: {
1294
1370
  type: Boolean,
1295
1371
  default: !1
1296
1372
  } },
1297
1373
  setup(e) {
1298
- let t = p(), n = O(() => t?.orientation.value ?? "horizontal"), r = O(() => n.value), i = O(() => n.value === "vertical" ? "horizontal" : "vertical");
1299
- return (t, n) => (U(), j("div", {
1300
- class: L(["dock-separator", { "dock-separator--anchor": e.anchor }]),
1374
+ let t = m(), n = k(() => t?.orientation.value ?? "horizontal"), r = k(() => n.value), i = k(() => n.value === "vertical" ? "horizontal" : "vertical");
1375
+ return (t, n) => (G(), M("div", {
1376
+ class: z(["dock-separator", { "dock-hairline": e.anchor }]),
1301
1377
  role: "separator",
1302
1378
  "data-orientation": r.value,
1303
- "data-rail-anchor": e.anchor || void 0,
1379
+ "data-dock-hairline": e.anchor || void 0,
1304
1380
  "aria-orientation": i.value
1305
- }, null, 10, gt));
1381
+ }, null, 10, bt));
1306
1382
  }
1307
1383
  });
1308
1384
  //#endregion
1385
+ //#region src/composables/search/match.ts
1386
+ function St(e, t) {
1387
+ let n = e.length, r = t.length;
1388
+ if (n === 0) return {
1389
+ score: 0,
1390
+ matches: []
1391
+ };
1392
+ if (n > r) return null;
1393
+ let i = [], a = 0, o = 0, s = -2;
1394
+ for (let c = 0; c < r && a < n; c++) {
1395
+ if (e[a] !== t[c]) continue;
1396
+ i.push(c);
1397
+ let n = 1;
1398
+ if (s === c - 1 && (n += 5), c === 0) n += 8;
1399
+ else {
1400
+ let e = t[c - 1];
1401
+ " -_./\\:()".includes(e) ? n += 7 : t[c] >= "A" && t[c] <= "Z" && e >= "a" && e <= "z" && (n += 6);
1402
+ }
1403
+ a === c && (n += 3), o += n, s = c, a++;
1404
+ }
1405
+ return a < n ? null : (o -= Math.max(0, (r - n) * .1), {
1406
+ score: o,
1407
+ matches: i
1408
+ });
1409
+ }
1410
+ function Ct(e, t) {
1411
+ if (!t) return null;
1412
+ let n = 0, r = [];
1413
+ for (let i of e) {
1414
+ let e = St(i, t);
1415
+ if (!e) return null;
1416
+ n += e.score;
1417
+ for (let t of e.matches) r.push(t);
1418
+ }
1419
+ return {
1420
+ score: n,
1421
+ matches: r
1422
+ };
1423
+ }
1424
+ function wt(e, t) {
1425
+ let n = null, r = [], i = [
1426
+ [t._lc.label, 12],
1427
+ [t._lc.type, 10],
1428
+ [t._lc.text, 3]
1429
+ ];
1430
+ for (let [a, o] of i) {
1431
+ if (!a) continue;
1432
+ let i = Ct(e, a);
1433
+ if (!i) continue;
1434
+ let s = i.score * o;
1435
+ (n === null || s > n) && (n = s, r = a === t._lc.label ? i.matches : []);
1436
+ }
1437
+ return n === null ? null : {
1438
+ score: n,
1439
+ matches: r
1440
+ };
1441
+ }
1442
+ function Tt(e) {
1443
+ return e.map((e) => ({
1444
+ item: e,
1445
+ _lc: {
1446
+ label: e.label.toLowerCase(),
1447
+ text: e.text.toLowerCase(),
1448
+ type: e.type?.toLowerCase() ?? ""
1449
+ }
1450
+ }));
1451
+ }
1452
+ var Et = /* @__PURE__ */ new WeakMap();
1453
+ function Dt(e) {
1454
+ let t = Et.get(e);
1455
+ return t || (t = /* @__PURE__ */ new Map(), Et.set(e, t)), t;
1456
+ }
1457
+ function Ot(e, t, n = 30) {
1458
+ let r = t.toLowerCase().trim();
1459
+ if (!r) return [];
1460
+ let i = Dt(e), a = i.get(r);
1461
+ if (a) return a.slice(0, n);
1462
+ i.size > 200 && i.clear();
1463
+ let o = r.split(/\s+/).filter(Boolean);
1464
+ if (o.length === 0) return [];
1465
+ let s = e;
1466
+ if (r.length > 1) {
1467
+ let e = r.slice(0, -1), t = i.get(e);
1468
+ t && (s = t.map((e) => ({
1469
+ item: e.item,
1470
+ _lc: {
1471
+ label: e.item.label.toLowerCase(),
1472
+ text: e.item.text.toLowerCase(),
1473
+ type: e.item.type?.toLowerCase() ?? ""
1474
+ }
1475
+ })));
1476
+ }
1477
+ let c = [];
1478
+ for (let e of s) {
1479
+ let t = wt(o, e);
1480
+ t && c.push({
1481
+ item: e.item,
1482
+ score: t.score,
1483
+ matchIndices: t.matches
1484
+ });
1485
+ }
1486
+ return c.sort((e, t) => t.score - e.score), i.set(r, c), c.slice(0, n);
1487
+ }
1488
+ function kt(e) {
1489
+ if (e) {
1490
+ Et.delete(e);
1491
+ return;
1492
+ }
1493
+ Et = /* @__PURE__ */ new WeakMap();
1494
+ }
1495
+ //#endregion
1496
+ //#region src/composables/search/useFuzzySearch.ts
1497
+ function At(e) {
1498
+ let t = typeof e.items == "function" ? e.items : () => e.items, n = e.debounceMs ?? 120, r = e.maxResults ?? 30, i = q(""), a = q(!1), o = q(!1), s = q(0), c = q(""), l = k(() => t()), u = k(() => Tt(l.value)), d;
1499
+ function f(e = d) {
1500
+ e !== void 0 && (clearTimeout(e), d === e && (d = void 0));
1501
+ }
1502
+ Z(i, (e, t, r) => {
1503
+ if (f(), !e || n <= 0) {
1504
+ c.value = e;
1505
+ return;
1506
+ }
1507
+ let i = setTimeout(() => {
1508
+ d === i && (c.value = e, d = void 0);
1509
+ }, n);
1510
+ d = i, r(() => f(i));
1511
+ }), Z(l, () => {
1512
+ f(), c.value = i.value, s.value = 0;
1513
+ }, { deep: !0 });
1514
+ let p = k(() => Ot(u.value, c.value, r));
1515
+ Z(p, () => {
1516
+ s.value = 0;
1517
+ });
1518
+ function m(t) {
1519
+ e.onSelect?.(t), h();
1520
+ }
1521
+ function h() {
1522
+ a.value = !1, o.value = !1, f(), i.value = "", c.value = "", s.value = 0, kt(u.value);
1523
+ }
1524
+ function g() {
1525
+ a.value = !0;
1526
+ }
1527
+ function _() {
1528
+ o.value = !o.value;
1529
+ }
1530
+ function v(e) {
1531
+ switch (e.key) {
1532
+ case "ArrowDown":
1533
+ e.preventDefault(), s.value < p.value.length - 1 && s.value++;
1534
+ break;
1535
+ case "ArrowUp":
1536
+ e.preventDefault(), s.value > 0 && s.value--;
1537
+ break;
1538
+ case "Enter":
1539
+ e.preventDefault(), p.value[s.value] && m(p.value[s.value]);
1540
+ break;
1541
+ case "Escape":
1542
+ e.preventDefault(), o.value ? o.value = !1 : h();
1543
+ break;
1544
+ }
1545
+ }
1546
+ return U(() => {
1547
+ f(), kt(u.value);
1548
+ }, !0), {
1549
+ query: i,
1550
+ results: p,
1551
+ isOpen: a,
1552
+ isExpanded: o,
1553
+ selectedIndex: s,
1554
+ selectResult: m,
1555
+ close: h,
1556
+ open: g,
1557
+ toggleExpanded: _,
1558
+ onKeydown: v
1559
+ };
1560
+ }
1561
+ //#endregion
1309
1562
  //#region src/components/dock/composables/useDockSearch.ts
1310
- function vt(e) {
1311
- let { dockState: t } = e, n = e.debounceMs ?? 120, r = e.maxResults ?? 30, i = G([]), a = null, o = e.items ? e.items : () => i.value;
1563
+ function jt(e) {
1564
+ let { dockState: t } = e, n = e.debounceMs ?? 120, r = e.maxResults ?? 30, i = q([]), a = null, o = e.items ? e.items : () => i.value;
1312
1565
  function s(t) {
1313
1566
  let n = t.item.id;
1314
1567
  e.ensureTargetWindow?.(n), e.scrollTo?.(n), e.onResultSelect?.(t);
1315
1568
  }
1316
- let c = E({
1569
+ let c = At({
1317
1570
  items: o,
1318
1571
  debounceMs: n,
1319
1572
  maxResults: r,
@@ -1321,7 +1574,7 @@ function vt(e) {
1321
1574
  });
1322
1575
  if (e.onSearch) {
1323
1576
  let t = e.onSearch;
1324
- X(() => c.query.value, (e) => {
1577
+ Z(() => c.query.value, (e) => {
1325
1578
  if (a?.abort(), !e) {
1326
1579
  i.value = [];
1327
1580
  return;
@@ -1334,7 +1587,7 @@ function vt(e) {
1334
1587
  });
1335
1588
  });
1336
1589
  }
1337
- let l = O(() => {
1590
+ let l = k(() => {
1338
1591
  let e = c.query.value;
1339
1592
  if (!e) return "";
1340
1593
  let t = c.results.value[0];
@@ -1346,28 +1599,28 @@ function vt(e) {
1346
1599
  let e = l.value;
1347
1600
  e && (c.query.value = c.query.value + e);
1348
1601
  }
1349
- let d = G(!1);
1350
- function f() {
1351
- d.value || (d.value = !0, t.expand(), t.keepOpen(), c.open());
1602
+ let d = p(() => t), f = d.isHeld;
1603
+ function m() {
1604
+ f.value || (t.expand(), d.acquire(), c.open());
1352
1605
  }
1353
- function p() {
1354
- d.value && (d.value = !1, c.close(), t.release());
1606
+ function h() {
1607
+ f.value && (c.close(), d.release());
1355
1608
  }
1356
- let m = null;
1357
- return e.collapseOnScroll && e.scrollContainer && (m = S(e.scrollContainer, {
1609
+ let g = null;
1610
+ return e.collapseOnScroll && e.scrollContainer && (g = E(e.scrollContainer, {
1358
1611
  collapseOnScroll: !0,
1359
1612
  chromeRef: e.chromeRef
1360
- })), V(() => {
1361
- d.value && t.release(), a?.abort(), a = null;
1613
+ })), U(() => {
1614
+ a?.abort(), a = null;
1362
1615
  }), {
1363
1616
  fuzzy: c,
1364
1617
  autocompleteText: l,
1365
- scrollChrome: m,
1366
- armSearch: f,
1367
- disarmSearch: p,
1618
+ scrollChrome: g,
1619
+ armSearch: m,
1620
+ disarmSearch: h,
1368
1621
  acceptAutocomplete: u,
1369
- isSearchArmed: d
1622
+ isSearchArmed: f
1370
1623
  };
1371
1624
  }
1372
1625
  //#endregion
1373
- export { _ as DOCK_CONTEXT_KEY, ht as DockBackgroundToggle, pt as DockControl, rt as DockCrossfade, ft as DockLayer, lt as DockLayerGroup, _t as DockSeparator, mt as DockTrigger, Qe as GlassDock, m as provideDockContext, g as useDockContext, y as useDockCtaReceive, vt as useDockSearch, p as useOptionalDockContext };
1626
+ export { h as DOCK_CONTEXT_KEY, yt as DockBackgroundToggle, _t as DockControl, st as DockCrossfade, gt as DockLayer, pt as DockLayerGroup, xt as DockSeparator, vt as DockTrigger, Qe as GlassDock, d as provideDockContext, l as useDockContext, w as useDockCtaReceive, jt as useDockSearch, m as useOptionalDockContext };