@mkbabb/glass-ui 4.0.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/dist/{CardAction-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
  2. package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
  3. package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
  4. package/dist/ContextMenuContent-CMWn6huB.js +90 -0
  5. package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
  6. package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
  7. package/dist/DialogContent-D8U9ZfWS.js +121 -0
  8. package/dist/DialogFooter-DoLy0ewI.js +80 -0
  9. package/dist/DialogScrollContent-BMekN7gq.js +93 -0
  10. package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
  11. package/dist/HoverCardContent-DAmGYglo.js +88 -0
  12. package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
  13. package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
  14. package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
  15. package/dist/Input-CyU4_hIC.js +57 -0
  16. package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
  17. package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
  18. package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
  19. package/dist/PagerDots-CYlqVFd4.js +196 -0
  20. package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
  21. package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
  22. package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
  23. package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
  24. package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
  25. package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
  26. package/dist/Separator-Cf9-JFgi.js +44 -0
  27. package/dist/Switch-uf-UKPA2.js +49 -0
  28. package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
  29. package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
  30. package/dist/TooltipProvider-QQVM_80r.js +109 -0
  31. package/dist/animated-digit.js +2 -2
  32. package/dist/api/index.d.ts +16 -32
  33. package/dist/api/types-extra.d.ts +33 -0
  34. package/dist/api.js +2 -2
  35. package/dist/aurora.js +629 -269
  36. package/dist/badge-Bt14yURi.js +72 -0
  37. package/dist/badge.js +1 -1
  38. package/dist/border-progress.js +49 -57
  39. package/dist/button-D1W9PrzI.js +130 -0
  40. package/dist/button.js +1 -1
  41. package/dist/canvas.js +2 -3
  42. package/dist/card.js +1 -1
  43. package/dist/carousel.js +235 -106
  44. package/dist/chipVariants-BJQ0I2kB.js +18 -0
  45. package/dist/collapsible.js +1 -1
  46. package/dist/color-B9jZdhJX.js +116 -0
  47. package/dist/color.js +2 -2
  48. package/dist/command.js +1 -1
  49. package/dist/completion-seal.d.ts +1 -0
  50. package/dist/completion-seal.js +89 -0
  51. package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
  52. package/dist/components/custom/aurora/composables/color.d.ts +13 -0
  53. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  54. package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
  55. package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
  56. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
  57. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
  58. package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
  59. package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
  60. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  61. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  62. package/dist/components/custom/aurora/index.d.ts +1 -1
  63. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  64. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
  65. package/dist/components/custom/border-progress/index.d.ts +1 -1
  66. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  67. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  68. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  69. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  70. package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
  71. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
  72. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  73. package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
  74. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
  75. package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
  76. package/dist/components/custom/concentric/constants.d.ts +69 -24
  77. package/dist/components/custom/concentric/index.d.ts +2 -2
  78. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
  79. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
  80. package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
  81. package/dist/components/custom/configurator/index.d.ts +1 -1
  82. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  83. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  84. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  85. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  86. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  87. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  88. package/dist/components/custom/constellation/constants.d.ts +33 -0
  89. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  90. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  91. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  92. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  93. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  94. package/dist/components/custom/constellation/index.d.ts +5 -5
  95. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  96. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  97. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  98. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  99. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  100. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  101. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  102. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  103. package/dist/components/custom/deck/constants.d.ts +14 -0
  104. package/dist/components/custom/deck/index.d.ts +8 -0
  105. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
  106. package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
  107. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
  108. package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
  109. package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
  110. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
  111. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
  112. package/dist/components/custom/dock/composables/index.d.ts +3 -0
  113. package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
  114. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
  115. package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
  116. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
  117. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  118. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
  119. package/dist/components/custom/dock/constants.d.ts +32 -17
  120. package/dist/components/custom/dock/index.d.ts +8 -2
  121. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
  122. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
  123. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
  124. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
  125. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
  126. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
  127. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
  128. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
  129. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
  130. package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
  131. package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
  132. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
  133. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
  134. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
  135. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  136. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  137. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +61 -0
  138. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  139. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
  140. package/dist/components/custom/dot-matrix/constants.d.ts +72 -0
  141. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  142. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  143. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  144. package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
  145. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
  146. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  147. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
  148. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  149. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  150. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
  151. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
  152. package/dist/components/custom/fourier-field/constants.d.ts +114 -4
  153. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  154. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  155. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  156. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  157. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
  158. package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
  159. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
  160. package/dist/components/custom/goo-blob/constants.d.ts +26 -1
  161. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  162. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  163. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  164. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  165. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
  166. package/dist/components/custom/goo-blob/types.d.ts +86 -1
  167. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  168. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  169. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +79 -0
  170. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
  171. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  172. package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -0
  173. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  174. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +13 -0
  175. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
  176. package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
  177. package/dist/components/custom/goo-filter/index.d.ts +1 -0
  178. package/dist/components/custom/handmark/brush.d.ts +17 -17
  179. package/dist/components/custom/handmark/constants.d.ts +28 -8
  180. package/dist/components/custom/handmark/geometry.d.ts +34 -1
  181. package/dist/components/custom/handmark/index.d.ts +1 -1
  182. package/dist/components/custom/icon-chip/types.d.ts +10 -0
  183. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  184. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  185. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  186. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  187. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  188. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
  189. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  190. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
  191. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
  192. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -0
  193. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  194. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  195. package/dist/components/custom/paper-grid/constants.d.ts +95 -0
  196. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  197. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  198. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  199. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  200. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  201. package/dist/components/custom/search/index.d.ts +2 -0
  202. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  203. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  204. package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
  205. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  206. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -0
  207. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  208. package/dist/components/custom/split-chars/index.d.ts +1 -0
  209. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
  210. package/dist/components/custom/tabs/constants.d.ts +28 -2
  211. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
  212. package/dist/components/custom/timeline/geometry.d.ts +0 -8
  213. package/dist/components/custom/toggle-chip/index.d.ts +15 -4
  214. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -17
  215. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  216. package/dist/components/ui/_shared/index.d.ts +2 -0
  217. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  218. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
  219. package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
  220. package/dist/components/ui/badge/index.d.ts +1 -0
  221. package/dist/components/ui/button/Button.vue.d.ts +1 -0
  222. package/dist/components/ui/button/index.d.ts +1 -1
  223. package/dist/components/ui/card/Card.vue.d.ts +46 -1
  224. package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
  225. package/dist/components/ui/card/index.d.ts +1 -1
  226. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
  227. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  228. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  229. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  230. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  231. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  232. package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
  233. package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
  234. package/dist/components/ui/drawer/constants.d.ts +8 -6
  235. package/dist/components/ui/drawer/index.d.ts +12 -2
  236. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  237. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  238. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  239. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  240. package/dist/components/ui/select/SelectContent.vue.d.ts +12 -0
  241. package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
  242. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  243. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  244. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  245. package/dist/composables/color/index.d.ts +2 -0
  246. package/dist/composables/color/useAccentTone.d.ts +34 -0
  247. package/dist/composables/dom/index.d.ts +1 -0
  248. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  249. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  250. package/dist/composables/glass/wave/index.d.ts +4 -0
  251. package/dist/composables/glass/wave/waveField.d.ts +115 -0
  252. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  253. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  254. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
  255. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  256. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  257. package/dist/composables/glass/webgpu/index.d.ts +2 -1
  258. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
  259. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
  260. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  261. package/dist/composables/motion/core/index.d.ts +7 -0
  262. package/dist/composables/motion/core/useHaptic.d.ts +48 -0
  263. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  264. package/dist/composables/motion/index.d.ts +2 -0
  265. package/dist/composables/motion/scrollReader.d.ts +25 -0
  266. package/dist/composables/motion/springPresets.d.ts +19 -1
  267. package/dist/composables/motion/suite.d.ts +2 -2
  268. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  269. package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
  270. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  271. package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
  272. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  273. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  274. package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
  275. package/dist/composables/motion/useLiquidPress.d.ts +12 -0
  276. package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
  277. package/dist/composables/motion/useMorphField.d.ts +157 -0
  278. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  279. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  280. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  281. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  282. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  283. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  284. package/dist/composables/sidebar/index.d.ts +4 -1
  285. package/dist/composables/sidebar/types.d.ts +68 -3
  286. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  287. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  288. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  289. package/dist/composables/virtual/index.d.ts +4 -0
  290. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  291. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  292. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  293. package/dist/concentric.js +552 -309
  294. package/dist/configurator.js +2 -2
  295. package/dist/confirm-dialog.js +62 -47
  296. package/dist/constellation.js +635 -235
  297. package/dist/context-menu.js +2 -2
  298. package/dist/controls.js +2 -2
  299. package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
  300. package/dist/dark.js +1 -1
  301. package/dist/data-table.js +1 -1
  302. package/dist/deck.d.ts +1 -0
  303. package/dist/deck.js +105 -0
  304. package/dist/dialog.js +4 -3
  305. package/dist/dock.js +1320 -631
  306. package/dist/dockContext-gFVS2gMg.js +18 -0
  307. package/dist/dom.js +7 -6
  308. package/dist/dot-flow-field.js +1268 -387
  309. package/dist/dot-matrix.d.ts +1 -0
  310. package/dist/dot-matrix.js +774 -0
  311. package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
  312. package/dist/drawer.js +106 -96
  313. package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
  314. package/dist/dropdown-menu.js +1 -1
  315. package/dist/easing.js +188 -176
  316. package/dist/expandable-container.js +43 -21
  317. package/dist/fading-scroll.js +1 -1
  318. package/dist/flow.glsl-DqEGRpl4.js +4 -0
  319. package/dist/forms.js +64 -62
  320. package/dist/fourier-field.js +1069 -178
  321. package/dist/fourier-math.js +1 -1
  322. package/dist/glass-panel.js +2 -2
  323. package/dist/glass-ui.css +1 -1
  324. package/dist/glass-ui.js +164 -119
  325. package/dist/goo-blob.js +175 -1230
  326. package/dist/goo-dot-matrix.d.ts +1 -0
  327. package/dist/goo-dot-matrix.js +811 -0
  328. package/dist/handmark.js +137 -94
  329. package/dist/header-ribbon.js +1 -1
  330. package/dist/hover-card.js +1 -1
  331. package/dist/hover-popover.js +1 -1
  332. package/dist/icon-chip.js +1 -1
  333. package/dist/icon-tooltip.js +1 -1
  334. package/dist/index.d.ts +5 -0
  335. package/dist/instrument-chassis.js +1 -1
  336. package/dist/keyboard.js +1 -1
  337. package/dist/label.js +1 -1
  338. package/dist/labeled-field.js +70 -60
  339. package/dist/metric-badge.js +1 -1
  340. package/dist/metric-cell.js +1 -1
  341. package/dist/metric-stack.js +12 -3
  342. package/dist/motion-core.js +59 -34
  343. package/dist/motion-curves.js +30 -14
  344. package/dist/motion.js +231 -96
  345. package/dist/notification.js +1 -1
  346. package/dist/number-field.js +1 -1
  347. package/dist/pager-dots.js +2 -91
  348. package/dist/paper-backdrop.js +1 -1
  349. package/dist/paper-grid.d.ts +1 -0
  350. package/dist/paper-grid.js +761 -0
  351. package/dist/paperGrid-CXCSMbZ1.js +191 -0
  352. package/dist/popover.js +1 -1
  353. package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
  354. package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
  355. package/dist/progress.js +1 -1
  356. package/dist/pulse.js +2 -2
  357. package/dist/reactive.js +2 -2
  358. package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
  359. package/dist/scrollReader-rc3Ns_NM.js +42 -0
  360. package/dist/scrolling-text.js +1 -1
  361. package/dist/search.js +162 -306
  362. package/dist/select.js +3 -3
  363. package/dist/selectable-chip.d.ts +1 -0
  364. package/dist/selectable-chip.js +48 -0
  365. package/dist/separator.js +1 -1
  366. package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
  367. package/dist/sheet.js +1 -1
  368. package/dist/sidebar.js +216 -114
  369. package/dist/slider-CcICPe3u.js +149 -0
  370. package/dist/slider.js +1 -1
  371. package/dist/sortable-list.js +3 -3
  372. package/dist/spectrum-walk-cBNSx_zm.js +33 -0
  373. package/dist/springPresets-DfoQ6XRY.js +64 -0
  374. package/dist/stacked-icons.js +54 -39
  375. package/dist/styles/animations.css +13 -3
  376. package/dist/styles/cards.css +271 -2
  377. package/dist/styles/completion-seal.css +131 -0
  378. package/dist/styles/components.css +1 -4
  379. package/dist/styles/configurator.css +221 -1
  380. package/dist/styles/critical-partition.mjs +66 -11
  381. package/dist/styles/deferred.css +4 -0
  382. package/dist/styles/dock/adaptive-legibility.css +119 -0
  383. package/dist/styles/dock/cta-seat.css +87 -0
  384. package/dist/styles/dock/density.css +167 -6
  385. package/dist/styles/dock/fission-bridge.css +552 -0
  386. package/dist/styles/dock/layers.css +90 -78
  387. package/dist/styles/dock/morph-bridge.css +67 -18
  388. package/dist/styles/dock/morph.css +57 -118
  389. package/dist/styles/dock/overflow.css +12 -0
  390. package/dist/styles/dock/search.css +68 -0
  391. package/dist/styles/dock/shape.css +250 -0
  392. package/dist/styles/dock/shell.css +24 -8
  393. package/dist/styles/dock/stack-rail.css +352 -0
  394. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  395. package/dist/styles/dock-controls/icon-button.css +46 -0
  396. package/dist/styles/dock-controls/triggers.css +23 -1
  397. package/dist/styles/dock-controls.css +18 -0
  398. package/dist/styles/dock.css +27 -2
  399. package/dist/styles/drawer.css +166 -0
  400. package/dist/styles/glass/accent-tone.css +66 -0
  401. package/dist/styles/glass/control-surfaces.css +167 -0
  402. package/dist/styles/glass/glass-atom.css +244 -0
  403. package/dist/styles/glass/glass-capsule.css +143 -0
  404. package/dist/styles/glass/glass-chip.css +215 -0
  405. package/dist/styles/glass/ladder.css +67 -17
  406. package/dist/styles/glass/liquid-enter.css +252 -0
  407. package/dist/styles/glass/liquid-morph.css +850 -0
  408. package/dist/styles/glass/material.css +70 -1
  409. package/dist/styles/glass/reveal.css +22 -2
  410. package/dist/styles/glass/rim.css +31 -9
  411. package/dist/styles/glass/surfaces.css +81 -150
  412. package/dist/styles/glass.css +21 -0
  413. package/dist/styles/icon-chip.css +45 -0
  414. package/dist/styles/index.css +26 -0
  415. package/dist/styles/jubilance.css +65 -0
  416. package/dist/styles/motion/morph-field.css +229 -0
  417. package/dist/styles/paper.css +230 -14
  418. package/dist/styles/scroll-choreography.css +135 -78
  419. package/dist/styles/scroll-chrome.css +123 -0
  420. package/dist/styles/scroll-driven.css +38 -0
  421. package/dist/styles/segmented-tabs.css +110 -40
  422. package/dist/styles/select.css +151 -0
  423. package/dist/styles/theme/bridges.css +22 -0
  424. package/dist/styles/theme/radius.css +18 -1
  425. package/dist/styles/tokens/color-radius.css +14 -4
  426. package/dist/styles/tokens/dark-arm.css +94 -12
  427. package/dist/styles/tokens/glass-deep.css +33 -4
  428. package/dist/styles/tokens/glass-fx.css +122 -1
  429. package/dist/styles/tokens/glass.css +226 -34
  430. package/dist/styles/tokens/light-dark.css +3 -3
  431. package/dist/styles/tokens/offsets.css +27 -0
  432. package/dist/styles/tokens/property-regs.css +277 -0
  433. package/dist/styles/tokens/scale-paper.css +86 -30
  434. package/dist/styles/tokens/scheme-motion.css +106 -133
  435. package/dist/styles/tokens/scheme-spring.css +239 -0
  436. package/dist/styles/tokens/scroll-tokens.css +15 -15
  437. package/dist/styles/tokens/shadow.css +73 -13
  438. package/dist/styles/tokens/sizing-config.css +110 -0
  439. package/dist/styles/tokens/sizing.css +55 -104
  440. package/dist/styles/tokens.css +14 -2
  441. package/dist/styles/typography/semantic.css +18 -5
  442. package/dist/styles/utilities/a11y-overrides.css +20 -5
  443. package/dist/styles/utilities/base-misc.css +52 -0
  444. package/dist/styles/utilities/btn.css +84 -3
  445. package/dist/styles/utilities/components.css +31 -6
  446. package/dist/styles/utilities/metal.css +26 -0
  447. package/dist/switch.js +1 -1
  448. package/dist/tabs.js +199 -182
  449. package/dist/timeline.js +241 -206
  450. package/dist/toast.js +1 -1
  451. package/dist/toggle-chip.js +14 -41
  452. package/dist/toggle-group.js +1 -1
  453. package/dist/tooltip.js +1 -1
  454. package/dist/typewriter.js +2 -2
  455. package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
  456. package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
  457. package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
  458. package/dist/useControlSize-DAZ062x7.js +9 -0
  459. package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
  460. package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
  461. package/dist/useDragVelocity-CjcfX3dA.js +57 -0
  462. package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
  463. package/dist/useGooMorph-Cs13NgYL.js +104 -0
  464. package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
  465. package/dist/useHaptic-CPz5BT9I.js +134 -0
  466. package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
  467. package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
  468. package/dist/useMorphField-ogBM7ubT.js +141 -0
  469. package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
  470. package/dist/useScrollChrome-JuImi1DM.js +258 -0
  471. package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
  472. package/dist/useSpringPress-VM9RgVq3.js +36 -0
  473. package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
  474. package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
  475. package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
  476. package/dist/virtual.d.ts +1 -0
  477. package/dist/virtual.js +225 -0
  478. package/dist/watercolor-dot.js +107 -74
  479. package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
  480. package/package.json +140 -9
  481. package/src/styles/animations.css +13 -3
  482. package/src/styles/cards.css +271 -2
  483. package/src/styles/completion-seal.css +131 -0
  484. package/src/styles/configurator.css +221 -1
  485. package/src/styles/critical-partition.mjs +66 -11
  486. package/src/styles/dock/adaptive-legibility.css +119 -0
  487. package/src/styles/dock/cta-seat.css +87 -0
  488. package/src/styles/dock/density.css +167 -6
  489. package/src/styles/dock/fission-bridge.css +552 -0
  490. package/src/styles/dock/layers.css +90 -78
  491. package/src/styles/dock/morph-bridge.css +67 -18
  492. package/src/styles/dock/morph.css +57 -118
  493. package/src/styles/dock/overflow.css +12 -0
  494. package/src/styles/dock/search.css +68 -0
  495. package/src/styles/dock/shape.css +250 -0
  496. package/src/styles/dock/shell.css +24 -8
  497. package/src/styles/dock/stack-rail.css +352 -0
  498. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  499. package/src/styles/dock-controls/icon-button.css +46 -0
  500. package/src/styles/dock-controls/triggers.css +23 -1
  501. package/src/styles/dock-controls.css +18 -0
  502. package/src/styles/dock.css +27 -2
  503. package/src/styles/drawer.css +164 -0
  504. package/src/styles/glass/accent-tone.css +66 -0
  505. package/src/styles/glass/control-surfaces.css +167 -0
  506. package/src/styles/glass/glass-atom.css +244 -0
  507. package/src/styles/glass/glass-capsule.css +143 -0
  508. package/src/styles/glass/glass-chip.css +215 -0
  509. package/src/styles/glass/ladder.css +67 -17
  510. package/src/styles/glass/liquid-enter.css +252 -0
  511. package/src/styles/glass/liquid-morph.css +850 -0
  512. package/src/styles/glass/material.css +70 -1
  513. package/src/styles/glass/reveal.css +22 -2
  514. package/src/styles/glass/rim.css +31 -9
  515. package/src/styles/glass/surfaces.css +81 -150
  516. package/src/styles/glass.css +21 -0
  517. package/src/styles/icon-chip.css +45 -0
  518. package/src/styles/index.css +26 -0
  519. package/src/styles/jubilance.css +65 -0
  520. package/src/styles/motion/morph-field.css +229 -0
  521. package/src/styles/paper.css +230 -14
  522. package/src/styles/scroll-choreography.css +135 -78
  523. package/src/styles/scroll-chrome.css +123 -0
  524. package/src/styles/scroll-driven.css +38 -0
  525. package/src/styles/segmented-tabs.css +110 -36
  526. package/src/styles/select.css +151 -0
  527. package/src/styles/theme/bridges.css +22 -0
  528. package/src/styles/theme/radius.css +18 -1
  529. package/src/styles/tokens/color-radius.css +14 -4
  530. package/src/styles/tokens/dark-arm.css +94 -12
  531. package/src/styles/tokens/glass-deep.css +33 -4
  532. package/src/styles/tokens/glass-fx.css +122 -1
  533. package/src/styles/tokens/glass.css +226 -34
  534. package/src/styles/tokens/light-dark.css +3 -3
  535. package/src/styles/tokens/offsets.css +27 -0
  536. package/src/styles/tokens/property-regs.css +277 -0
  537. package/src/styles/tokens/scale-paper.css +86 -30
  538. package/src/styles/tokens/scheme-motion.css +106 -133
  539. package/src/styles/tokens/scheme-spring.css +239 -0
  540. package/src/styles/tokens/scroll-tokens.css +15 -15
  541. package/src/styles/tokens/shadow.css +73 -13
  542. package/src/styles/tokens/sizing-config.css +110 -0
  543. package/src/styles/tokens/sizing.css +55 -104
  544. package/src/styles/tokens.css +14 -2
  545. package/src/styles/typography/semantic.css +18 -5
  546. package/src/styles/utilities/a11y-overrides.css +20 -5
  547. package/src/styles/utilities/base-misc.css +52 -0
  548. package/src/styles/utilities/btn.css +84 -3
  549. package/src/styles/utilities/components.css +31 -6
  550. package/src/styles/utilities/metal.css +26 -0
  551. package/dist/ContextMenuContent-uWnVxDab.js +0 -85
  552. package/dist/DialogContent-DcKK8k9i.js +0 -103
  553. package/dist/DialogFooter-BZNX5aVr.js +0 -165
  554. package/dist/HoverCardContent-b2uaAMRR.js +0 -83
  555. package/dist/Input-h9v5LeXf.js +0 -55
  556. package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
  557. package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
  558. package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
  559. package/dist/Separator-pKF0oA4M.js +0 -37
  560. package/dist/Switch-CwYNf8bo.js +0 -47
  561. package/dist/TooltipProvider-rzvnXz60.js +0 -104
  562. package/dist/badge-D9XWW4GT.js +0 -53
  563. package/dist/button-DYCUa-tH.js +0 -126
  564. package/dist/color-DweYl7pE.js +0 -86
  565. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
  566. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  567. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  568. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  569. package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
  570. package/dist/dockContext-BNfyPLe9.js +0 -17
  571. package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
  572. package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
  573. package/dist/slider-DVb4HXU-.js +0 -142
  574. package/dist/springPresets-CFQGQfdl.js +0 -40
  575. package/dist/styles/dock/rail-extend.css +0 -397
  576. package/dist/useLiquidPress-kfb4KX79.js +0 -39
  577. package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
  578. package/dist/useRAFLoop-UYa4zoiN.js +0 -109
  579. package/dist/useSpringPress-BsqPr7FJ.js +0 -34
  580. package/src/styles/dock/rail-extend.css +0 -397
  581. /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
  582. /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  583. /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
  584. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
  585. /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
  586. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
  587. /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
  588. /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
  589. /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
  590. /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
  591. /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
  592. /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
  593. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
  594. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
  595. /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
  596. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
  597. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
  598. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
  599. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
  600. /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
  601. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
  602. /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
  603. /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
  604. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
  605. /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
  606. /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
@@ -0,0 +1,97 @@
1
+ import { type Ref } from "vue";
2
+ import { type SpringPresetName } from "./springPresets";
3
+ /** The bloom spring register — `snappy` (the quick shared-element default) or `bouncy`
4
+ * (the emphatic large-surface bloom). A subset of the named `SPRING_PRESETS` rows,
5
+ * matching `useLiquidReveal`/`useDockCtaReceive` so the bloom family reads as ONE. */
6
+ export type BloomUpPreset = Extract<SpringPresetName, "snappy" | "bouncy">;
7
+ export interface UseBloomUpOptions {
8
+ /** The spring register (default `snappy`). */
9
+ preset?: BloomUpPreset;
10
+ /** The starting filter-blur radius in px on the destination (the decongest start). Default 4. */
11
+ blur?: number;
12
+ /**
13
+ * The dominant source hue the FIELD warms toward — a complete `<color>` (an
14
+ * `oklch()`/`#hex`/named). When omitted, the leaf reads `--glass-ambient-hue` off
15
+ * the SOURCE element's computed style (the BE.W-AMBIENT-TINT convergence — the
16
+ * album card carries its own dominant hue). A `transparent`/empty read is the
17
+ * neutral no-op (the field tints nothing — a gray source warms nothing).
18
+ */
19
+ fieldHue?: string;
20
+ /**
21
+ * The FIELD CONTAINER the 4th color channel writes onto — the destination's
22
+ * ancestor field (the DockStage / now-playing field). When omitted, the leaf walks
23
+ * up from `destRef` to the nearest ancestor carrying `[data-glass-field]` (the
24
+ * field-marker contract), falling back to `destRef.parentElement`. The hue + the
25
+ * ramped strength are written HERE, never on the blooming surface (the
26
+ * compositor-only floor de-risk).
27
+ */
28
+ field?: Ref<HTMLElement | null>;
29
+ /**
30
+ * The bounded ambient-strength target the field ramps to (a percentage, `0..8`).
31
+ * Default 8 (the AMBIENT-TINT ceiling — the loudest sub-perceptual warm). Clamped
32
+ * to `[0, 8]` so a consumer can never flood the field past the warm-cream identity.
33
+ */
34
+ fieldStrength?: number;
35
+ /** Honor `prefers-reduced-motion: reduce` (snap surface to settled, land hue instantly). Default true. */
36
+ respectReducedMotion?: boolean;
37
+ /**
38
+ * Auto-prime the destination the moment it mounts — seat it at the collapsed/hidden
39
+ * initial state (opacity 0 + the source-FLIP transform) BEFORE the browser paints,
40
+ * so a freshly-`v-if`-mounted dest never flashes its full-size frame before `bloom()`
41
+ * fires. A `watch(dest, …, { flush: "pre" })` runs in the SAME tick the element
42
+ * mounts. Default `true` — the no-flash floor; pass `false` to opt a consumer that
43
+ * owns its own initial-state seating out. `prime()` is the explicit imperative twin.
44
+ */
45
+ autoPrime?: boolean;
46
+ /**
47
+ * Fired ONCE when the bloom has settled (the hand-off — the consumer marks the
48
+ * bloom complete: hides the source, owns the destination). Fires on the animation
49
+ * settle AND on the PRM/no-rAF snap (the bloom always completes).
50
+ */
51
+ onBloomed?: () => void;
52
+ }
53
+ export interface UseBloomUpReturn {
54
+ /**
55
+ * Bloom the destination up from the source's rect. Idempotent per call — measures
56
+ * the source + destination rects fresh, drives the FLIP inversion spring 1→0 on the
57
+ * surface AND ramps the field hue 0→target. A no-op if the destination element is
58
+ * not yet mounted (no `onBloomed`).
59
+ */
60
+ bloom: () => void;
61
+ /**
62
+ * Clear the bloom transform (restore the destination to its settled identity,
63
+ * opacity 1) AND release the field hue (strength → 0). The abort/reset seam —
64
+ * cancels any in-flight bloom; does NOT fire `onBloomed`.
65
+ */
66
+ reset: () => void;
67
+ /**
68
+ * Seat the destination at its collapsed/hidden initial state (opacity 0 + the
69
+ * source-FLIP transform) WITHOUT animating — so a freshly-mounted dest shows
70
+ * NOTHING until `bloom()` fires (the no-mount-flash seam). Idempotent; a no-op if
71
+ * the dest is not yet mounted. The auto-prime (`autoPrime`, default on) calls this
72
+ * for the consumer; `prime()` is the explicit imperative twin.
73
+ */
74
+ prime: () => void;
75
+ /** The reactive bloom state — `true` while a bloom is in flight, `false` at rest. */
76
+ blooming: Readonly<Ref<boolean>>;
77
+ }
78
+ /**
79
+ * The iOS-27 shared-element bloom with the 4th color channel. Composes the kf
80
+ * `ElementMorph` + `springTimingFunction` into the three-channel geometry bloom on the
81
+ * DESTINATION surface (scale+fade+blur-decongest from the SOURCE's origin) PLUS a 4th
82
+ * color channel on the destination FIELD (the field warms to the source's hue on the
83
+ * SAME spring curve). Compositor-only on the surface + Safari-safe + PRM-snap. See the
84
+ * module header for the REUSE + the FLIP inversion + the channel split.
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * const { bloom, reset, blooming } = useBloomUp(albumCardRef, fullscreenRef, {
89
+ * preset: "bouncy",
90
+ * fieldHue: albumDominantHue, // or omit to read --glass-ambient-hue off the card
91
+ * field: nowPlayingFieldRef,
92
+ * onBloomed: () => (fullscreenOpen.value = true),
93
+ * })
94
+ * function onTapAlbum() { bloom() }
95
+ * ```
96
+ */
97
+ export declare function useBloomUp(source: Ref<HTMLElement | null>, dest: Ref<HTMLElement | null>, options?: UseBloomUpOptions): UseBloomUpReturn;
@@ -0,0 +1,50 @@
1
+ import { type Ref } from "vue";
2
+ import { type SpringPresetName } from "./springPresets";
3
+ /** The burst spring register — `bouncy` (the emphatic playful default) or `snappy`. */
4
+ export type CelebrationBurstPreset = Extract<SpringPresetName, "bouncy" | "snappy">;
5
+ export interface UseCelebrationBurstOptions {
6
+ /** The number of glass petals to bloom. Default 12. */
7
+ count?: number;
8
+ /** The spring register (default `bouncy` — the playful overshoot). */
9
+ preset?: CelebrationBurstPreset;
10
+ /** The base outward radius in px (each petal lands at `radius × 0.7..1.0` seeded). Default 64. */
11
+ radius?: number;
12
+ /**
13
+ * An OPT-IN destination element whose `[data-reveal]` children get the chip-bloom-in
14
+ * settle cascade (the burst sets `--d` per child so the EXISTING `icon-chip-reveal`
15
+ * cascade plays). Omitted → no settle cascade (a pure radial burst).
16
+ */
17
+ destination?: Ref<HTMLElement | null>;
18
+ /**
19
+ * An OPT-IN `:tone` axis — when set, the petals tint toward this hue (a complete CSS
20
+ * `<color>` written to `--glass-accent`, the W-GLASS-ACCENT rim-tint seam, for a
21
+ * hue-keyed burst — a download-complete petal blooms `--viz-download`). Omitted → the
22
+ * warm-cream identity (the default).
23
+ */
24
+ tone?: string;
25
+ /** Honor `prefers-reduced-motion: reduce` (snap — terminal cascade only). Default true. */
26
+ respectReducedMotion?: boolean;
27
+ /** A fired-once callback when the burst settles (the overlay removed). */
28
+ onSettled?: () => void;
29
+ }
30
+ export interface UseCelebrationBurstReturn {
31
+ /**
32
+ * Fire the one-shot earned-moment petal bloom from the origin's center. Idempotent per
33
+ * call — a re-fire mid-bloom cancels the prior overlay + starts fresh. A no-op if the
34
+ * origin element is not mounted.
35
+ */
36
+ burst: () => void;
37
+ }
38
+ /**
39
+ * The library's ONE EARNED-moment celebration primitive — a one-shot radial bloom of N
40
+ * warm-cream glass petals (scale + fade + decongest from the origin on the bouncy spring),
41
+ * then a coupled chip-bloom-in cascade settles the destination. Compositor-only + PRM-static.
42
+ * See the module header for the REUSE + burst-mechanism + the channel writes.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const { burst } = useCelebrationBurst(metricCardRef, { preset: "bouncy", destination })
47
+ * onPersonalBest(() => burst())
48
+ * ```
49
+ */
50
+ export declare function useCelebrationBurst(origin: Ref<HTMLElement | null>, options?: UseCelebrationBurstOptions): UseCelebrationBurstReturn;
@@ -0,0 +1,44 @@
1
+ import type { MaybeRefOrGetter, Ref } from "vue";
2
+ /** The per-step delay floor matches the shipped `.char-stagger` recipe — the
3
+ * glyph spans are mounted via `requestAnimationFrame`-free DOM writes; the CSS
4
+ * owns the timing. No magic timing lives here. */
5
+ export interface UseCharStaggerOptions {
6
+ /**
7
+ * Split unit. `"char"` (default) splits per UTF-16 code-unit-safe scalar;
8
+ * `"word"` splits on whitespace and keeps each word as ONE `.char` unit;
9
+ * `"grapheme"` uses `Intl.Segmenter` so emoji / combining-mark / ZWJ
10
+ * sequences (a 👨‍👩‍👧 family) are ONE glyph, never split into pieces.
11
+ */
12
+ by?: "char" | "word" | "grapheme";
13
+ /**
14
+ * Preserve whitespace as non-animating spacer spans so the word spacing
15
+ * survives the `inline-block` split. Default `true`.
16
+ */
17
+ preserveWhitespace?: boolean;
18
+ /**
19
+ * Write `--char-total` (the glyph count) on the wrapper, for a length-
20
+ * proportional / center-out / reverse stagger. Default `true`.
21
+ */
22
+ writeTotal?: boolean;
23
+ }
24
+ export interface UseCharStaggerReturn {
25
+ /** Re-run the split (after a `textContent` change). Idempotent — it restores
26
+ * the original text from the cached label and re-mints, so spans never
27
+ * accrete across re-splits. */
28
+ split: () => void;
29
+ /** The resolved glyph (`.char` unit) count. */
30
+ count: Ref<number>;
31
+ }
32
+ /**
33
+ * Split a target element's text into per-glyph `.char` spans + the
34
+ * `--char-index`/`--char-total` customs the shipped `.char-stagger` CSS reads —
35
+ * accessible by construction (the wrapper keeps the full text as its
36
+ * `aria-label`, every glyph span is `aria-hidden`).
37
+ *
38
+ * @example
39
+ * const el = ref<HTMLElement | null>(null);
40
+ * const { count } = useCharStagger(el, { by: "grapheme" });
41
+ * // <span ref="el" class="char-stagger" aria-label="Fourier" style="--char-total:7">
42
+ * // <span class="char" style="--char-index:0" aria-hidden>F</span> …
43
+ */
44
+ export declare function useCharStagger(target: MaybeRefOrGetter<HTMLElement | null>, opts?: UseCharStaggerOptions): UseCharStaggerReturn;
@@ -1,4 +1,4 @@
1
- import { type Ref } from "vue";
1
+ import { type ComponentPublicInstance, type Ref } from "vue";
2
2
  import { type SpringPresetName } from "./springPresets";
3
3
  /** The receive spring register — `snappy` (the crisp absorb default) or `bouncy`
4
4
  * (the emphatic land-with-overshoot). A subset of the named `SPRING_PRESETS` rows,
@@ -10,7 +10,14 @@ export interface UseDockCtaReceiveOptions {
10
10
  * `<DockIconButton>`/dock control element). When null at receive time, the morph
11
11
  * is a no-op snap (no destination to fly to) and `onReceived` fires immediately.
12
12
  */
13
- dockControl: Ref<HTMLElement | null>;
13
+ /**
14
+ * The dock control the CTA flies onto — a templateRef to the control ELEMENT or to
15
+ * a component (e.g. `<DockIconButton>`), whose root element is resolved via `.$el`.
16
+ * Resolving both keeps the seam forgiving: a `useTemplateRef<HTMLElement>` annotation
17
+ * on a component ref (whose value is the component public instance) no longer throws
18
+ * `setAttribute is not a function` at runtime — the stale element-vs-component class.
19
+ */
20
+ dockControl: Ref<HTMLElement | ComponentPublicInstance | null>;
14
21
  /** The spring register (default `snappy`). */
15
22
  preset?: DockCtaReceivePreset;
16
23
  /** The ending congest blur radius in px (the CTA dissolves into the glass). Default 4. */
@@ -36,24 +43,24 @@ export interface UseDockCtaReceiveReturn {
36
43
  * abort/reset seam. Cancels any in-flight morph; does NOT fire `onReceived`.
37
44
  */
38
45
  reset: () => void;
46
+ /**
47
+ * ARM the landing SEAT (BC.W-AX-DOCK-CTA-SEAT). Writes `data-cta-pending` on the
48
+ * `dockControl` element so the seat partial (`src/styles/dock/cta-seat.css`) paints
49
+ * a dim ghost AND reserves the resting control footprint (a STATIC `min-inline-size`
50
+ * /`min-block-size` off `--dock-control-size`/`--dock-layer-height`) — the dock box
51
+ * is already at the seated width, so it does NOT jump when the CTA lands. Idempotent.
52
+ * A no-op when the `dockControl` is not yet mounted. Sets `pending.value = true`.
53
+ */
54
+ setPending: () => void;
55
+ /**
56
+ * CLEAR the seat. Removes `data-cta-pending` from the `dockControl`, so the seat
57
+ * reveals its real content with the FLIP `transition: opacity` (the partial owns the
58
+ * paint — a calm content fade, NOT the dock morph-stagger). Idempotent. The default
59
+ * `onReceived` flow calls this on hand-off (the seat reveals as the CTA lands) unless
60
+ * the consumer drives it manually. Sets `pending.value = false`.
61
+ */
62
+ clearPending: () => void;
63
+ /** The reactive seat state — the consumer binds `:class`/`v-if` off it. */
64
+ pending: Readonly<Ref<boolean>>;
39
65
  }
40
- /**
41
- * The external-CTA-into-dock-control morph. Composes the SAME kf `ElementMorph` +
42
- * `springTimingFunction` substrate `useLiquidReveal` activates, driven FORWARD (the
43
- * reveal's inverse): the CTA flies + reshapes from its own rect onto the dock
44
- * control's rect, fades + congests into the glass on the spring clock, then hands off.
45
- * Compositor-only + PRM-seats. See the module header for the REUSE + the FORWARD-play
46
- * mechanism + the channel split.
47
- *
48
- * @example
49
- * ```ts
50
- * const { receive, reset } = useDockCtaReceive(ctaRef, {
51
- * dockControl: dockTargetRef,
52
- * preset: "snappy",
53
- * onReceived: () => (ctaConsumed.value = true),
54
- * })
55
- * // on the CTA click: morph it into the dock.
56
- * function onCta() { receive() }
57
- * ```
58
- */
59
- export declare function useDockCtaReceive(cta: Ref<HTMLElement | null>, options: UseDockCtaReceiveOptions): UseDockCtaReceiveReturn;
66
+ export declare function useDockCtaReceive(cta: Ref<HTMLElement | ComponentPublicInstance | null>, options: UseDockCtaReceiveOptions): UseDockCtaReceiveReturn;
@@ -0,0 +1,72 @@
1
+ import { type Ref } from "vue";
2
+ /**
3
+ * The three barbell silhouette elements the engine projects per frame. NOT
4
+ * `morph.children[i]` index-reaching (the fragile KISS-violating path) — three EXPLICIT
5
+ * refs the consumer renders + binds.
6
+ */
7
+ export interface GooBarbellRefs {
8
+ /** The trailing round body (the OUTGOING droplet). */
9
+ bodyARef: Ref<HTMLElement | null>;
10
+ /** The leading round body (the INCOMING droplet). */
11
+ bodyBRef: Ref<HTMLElement | null>;
12
+ /** The welling concave-throat neck between the two bodies. */
13
+ neckRef: Ref<HTMLElement | null>;
14
+ }
15
+ export interface UseGooMorphParams {
16
+ /**
17
+ * The barbell silhouette refs — two round bodies + a welling concave neck. The engine
18
+ * writes their three transforms each frame (the merge needs ≥2 masses; the neck is the
19
+ * bridge). NO single-element `morphRef` — the barbell IS the morph.
20
+ */
21
+ barbellRefs: GooBarbellRefs;
22
+ /** The geometry origin + the `--goo-t` transition host (the rail/track root). */
23
+ hostRef: Ref<HTMLElement | null>;
24
+ /** Travel axis. `false` → horizontal (translateX), `true` → vertical (translateY). */
25
+ vertical: Ref<boolean>;
26
+ /**
27
+ * Live center reader: the on-axis center (px, relative to the host content box)
28
+ * of slot `i`, on the travel axis. MEASURED off the live DOM (windowFit-correct,
29
+ * both axes) — never a hardcoded pitch.
30
+ */
31
+ centerOf: (i: number) => number | null;
32
+ /**
33
+ * The resting slot pitch (px) on the travel axis. The barbell body diameter is the
34
+ * golden-minor `D = restSize()/φ` (a BLOB, not a plate) — so the consumer passes the
35
+ * slot STEP, not a pre-shrunk body size.
36
+ */
37
+ restSize: () => number;
38
+ /**
39
+ * The token prefix for the flow/duration/max-stretch reads. Default `"pager-worm"`
40
+ * (the dot-pip register). The carousel passes `"carousel-goo"`; the deck `"deck-goo"`
41
+ * — each reads its OWN `--{prefix}-flow`/`-duration`/`-max-stretch` so a card-scale
42
+ * barbell dwells/swells at its own scale, the dot at its own. ONE engine, per-consumer
43
+ * tokens (the no-new-spring fence — they all resolve `--spring-*`-derived `linear()`).
44
+ */
45
+ tokenPrefix?: string;
46
+ /**
47
+ * The neck-gap fraction — how near the two bodies draw at the midpoint (sep's floor:
48
+ * 1 at the slots → `neckGap` at mid). Lower = the bodies near closer → a tighter,
49
+ * gooier waist. Default 0.78 (carousel). Pager 0.7, deck 0.85. (= `--{prefix}-neck-gap`
50
+ * if the consumer prefers a token; the param is the engine default.)
51
+ */
52
+ neckGap?: number;
53
+ }
54
+ export interface UseGooMorphReturn {
55
+ /**
56
+ * Travel the barbell from `from` to `to` (slot indices). Sets the `--goo-t`
57
+ * transition target (the spring glides it) and runs a short rAF that projects the
58
+ * interpolated scalar onto the three-element barbell each frame. PRM → instant snap to
59
+ * ONE resting body, no squish.
60
+ */
61
+ travel(from: number, to: number): void;
62
+ /** Snap the barbell to ONE resting body on `index` immediately (first paint / resize / PRM). */
63
+ snap(index: number): void;
64
+ /**
65
+ * Drag-driven continuous drive: set `--goo-t` DIRECTLY to a fractional slot position
66
+ * (the live drag scrollProgress, e.g. embla's `scrollProgress()*lastIndex`) with NO
67
+ * transition, and project the barbell for it. The neck wells with the live drag; call
68
+ * `travel()` on the snap to glide the release. PRM → snap.
69
+ */
70
+ drive(fractionalIndex: number): void;
71
+ }
72
+ export declare function useGooMorph(params: UseGooMorphParams): UseGooMorphReturn;
@@ -71,6 +71,24 @@ export interface UseLiquidFlexReturn {
71
71
  * The SFC's CSS pairs `--stretch` reciprocally along the travel axis.
72
72
  */
73
73
  stretchStyle: ComputedRef<Record<string, string>>;
74
+ /**
75
+ * BD.W-MOTION-WEIGHT — the SATURATING velocity term `tanh(|ṫ|·k) ∈ [0,1]` (the
76
+ * SAME term the squish already computes), exposed so a consumer can fold it into
77
+ * the universal `--motion-weight` velocity boost (§2c). 0 at rest; rises toward 1
78
+ * on a fast travel; self-extinguishes as the travel stills. In `"linear"` law it
79
+ * is the travel FRACTION (clamped to [0,1]); in `"tanh"` law it is `tanh(travel·k)`.
80
+ * The PRIMITIVE STAYS ELEMENT-LESS — it merely projects the term; the consumer
81
+ * writes it onto the driving element via the `writeVelocityWeight` helper.
82
+ */
83
+ flexVel: ComputedRef<number>;
84
+ /**
85
+ * The velocity term as a CSS custom-property style object
86
+ * (`{ "--flex-vel": "0.42" }`). The consumer binds it on the driving element (the
87
+ * one extra style object — the term it ALREADY computes); the local
88
+ * `--motion-weight: calc(0.618 + 0.382 * var(--flex-vel))` boost rides it. The
89
+ * primitive stays element-less; this is a pure projection.
90
+ */
91
+ velStyle: ComputedRef<Record<string, string>>;
74
92
  /**
75
93
  * Advance the morph: set the normalized progress to `next` (0→1). The squish
76
94
  * travel velocity is the |Δt| since the prior `drive`, so calling `drive` on a
@@ -0,0 +1,108 @@
1
+ import { type MaybeRefOrGetter, type Ref } from "vue";
2
+ import { type SpringPresetName } from "./springPresets";
3
+ import { type LiquidRevealPreset } from "./useLiquidReveal";
4
+ /** The morph MODES the one scalar drives. */
5
+ export type LiquidMorphMode = "split" | "union" | "expand";
6
+ /**
7
+ * How a piece's travel ANGLE is resolved:
8
+ * • `radial` — the unit vector host-center -> piece-center (the n-ary fan).
9
+ * • `lateral` — the host's cross-axis (a single side bud).
10
+ * • `inward` — the negated radial (a union pull toward the host).
11
+ * • `directed` — the caller's explicit `piece.angle` (radians) — the
12
+ * configurable-angle case the playground's slider drives.
13
+ */
14
+ export type LiquidMorphVector = "radial" | "lateral" | "inward" | "directed";
15
+ /** The named morphology signature — the goo neck/squish character per mode. */
16
+ export interface LiquidMorphSignature {
17
+ /** How each piece's travel angle is resolved (default `radial`). */
18
+ vector: LiquidMorphVector;
19
+ /** Where the goo neck snaps in the 0..1 travel (0.4 tense -> 0.7 long-tail). */
20
+ neckHold: number;
21
+ /** The LOW squish cap the bud-off swell can reach (>1; default 1.08). */
22
+ maxStretch: number;
23
+ }
24
+ /** The default radial-fan signature (the macOS goo-split read). */
25
+ export declare const RADIAL_SPLIT: LiquidMorphSignature;
26
+ /** The directed-beam signature (the configurable-angle / single-direction case). */
27
+ export declare const DIRECTED_SPLIT: LiquidMorphSignature;
28
+ export interface UseLiquidMorphOptions {
29
+ /** The host element carrying the `--liquid-morph-t` scalar (a card OR a dock). */
30
+ rootEl: Ref<HTMLElement | null>;
31
+ /**
32
+ * The ORIGIN element the split BUDS FROM (the dock pill). The pieces fan out of
33
+ * this element's center (a connecting goo neck back to the dock), NOT the host
34
+ * stage center — the WAVE-1 "bud from the dock" fix. Its center is measured
35
+ * relative to `rootEl` each episode and written as `--liquid-morph-origin-x/y`
36
+ * (px-from-the-host-top-left) which the goo group (liquid-morph.css) anchors at.
37
+ * When unset the goo group falls back to the host center (the standalone case).
38
+ */
39
+ originEl?: Ref<HTMLElement | null>;
40
+ /** The morphology signature (default `RADIAL_SPLIT`). */
41
+ signature?: LiquidMorphSignature;
42
+ /**
43
+ * The spring register the scalar rides — a `SPRING_PRESETS` row name, or a
44
+ * ref/getter resolved PER-DRIVE so a host can vary the clock by gesture (a smooth
45
+ * card bloom vs a livelier split). Default `"dock"`. NO new family is minted.
46
+ */
47
+ spring?: MaybeRefOrGetter<SpringPresetName>;
48
+ /** The bloom preset for `expand()` (default `"bouncy"`). */
49
+ revealPreset?: LiquidRevealPreset;
50
+ /** Honor `prefers-reduced-motion: reduce` (seat synchronously). Default true. */
51
+ respectReducedMotion?: boolean;
52
+ }
53
+ /** A registered split piece — its element + its vector descriptor. */
54
+ export interface LiquidMorphPiece {
55
+ /** The piece element (a free-floating glass shard). */
56
+ el: Ref<HTMLElement | null>;
57
+ /**
58
+ * The explicit travel angle in RADIANS for the `directed` vector. Ignored for
59
+ * `radial`/`lateral`/`inward` (those derive the angle from geometry).
60
+ */
61
+ angle?: number;
62
+ /** The piece's fan rank (the stagger index; 0-based). */
63
+ rank?: number;
64
+ /** The travel distance in px (how far the piece flies). Default 96. */
65
+ distance?: number;
66
+ }
67
+ export interface RegisteredPiece extends LiquidMorphPiece {
68
+ /** Detach this piece from the morph (clears its inline customs). */
69
+ release(): void;
70
+ }
71
+ export interface UseLiquidMorphReturn {
72
+ /** Register a split piece; returns the live handle. */
73
+ registerPiece(p: LiquidMorphPiece): RegisteredPiece;
74
+ /** SPLIT — drive the scalar 0 -> 1 (the pieces bud off through the goo neck). */
75
+ split(): void;
76
+ /** UNION — drive the scalar 1 -> 0 (the SAME loop, reversed; bidirectional). */
77
+ union(): void;
78
+ /** SEEK — scrub the scalar to an arbitrary 0..1 value (the timeline scrubber). */
79
+ seek(value: number): void;
80
+ /** EXPAND — bloom a card FROM a trigger pill (the dock->card materialize). */
81
+ expand(opts: {
82
+ card: Ref<HTMLElement | null>;
83
+ trigger: Ref<HTMLElement | null>;
84
+ }): void;
85
+ /** COLLAPSE — conceal the expanded card back to the pill (the bloom's close). */
86
+ collapse(): void;
87
+ /** The live normalized scalar (0..1) — what `--liquid-morph-t` reads. */
88
+ readonly t: Readonly<Ref<number>>;
89
+ /** Whether a morph is in flight (the host carries `[data-liquid-morphing]`). */
90
+ readonly morphing: Readonly<Ref<boolean>>;
91
+ }
92
+ /**
93
+ * The generalized liquid-morph driver. See the module header for the REUSE (the
94
+ * cloned dock loop shape + the composed reveal/flex leaves), the arbitrary-angle goo
95
+ * mechanism, and the compositor-only + PRM fences.
96
+ *
97
+ * @example
98
+ * ```ts
99
+ * const root = ref<HTMLElement | null>(null)
100
+ * const morph = useLiquidMorph({ rootEl: root, signature: DIRECTED_SPLIT })
101
+ * for (const el of shardRefs) morph.registerPiece({ el, angle: theta.value })
102
+ * // n-ary split at an arbitrary angle:
103
+ * morph.split()
104
+ * // the dock -> card bloom:
105
+ * morph.expand({ card: cardRef, trigger: pillRef })
106
+ * ```
107
+ */
108
+ export declare function useLiquidMorph(options: UseLiquidMorphOptions): UseLiquidMorphReturn;
@@ -30,6 +30,18 @@ export interface UseLiquidPressOptions extends UseSpringPressOptions {
30
30
  * then yields back to the cascade as it settles). Default 0.001.
31
31
  */
32
32
  engageThreshold?: number;
33
+ /**
34
+ * BD.W-MOTION-WEIGHT — the pressed element (the host the consumer binds
35
+ * `pressStyle` on), so the press cap is derived SITE-LOCALLY off the live
36
+ * `--motion-weight` read at THAT element (the spike-corrected mechanism): the
37
+ * shipped `maxStretch` cap at rest weight 0.618 (byte-identical feel), 1.0 at
38
+ * weight 0 (the observer/PRM fence). When omitted, the cap is the static
39
+ * `maxStretch` (the no-element fallback — still correct at rest weight, the
40
+ * universal coupling is just not weight-scaled for that surface). The press is
41
+ * the GENTLE register — a button has no size span, so the weight-coupled cap is a
42
+ * lively settle, never a taffy-pull.
43
+ */
44
+ el?: Ref<HTMLElement | null>;
33
45
  }
34
46
  export interface UseLiquidPressReturn {
35
47
  /** The live spring press value (0 released → 1 pressed, with the spring overshoot). */
@@ -1,4 +1,4 @@
1
- import { type Ref } from "vue";
1
+ import { type ComponentPublicInstance, type Ref } from "vue";
2
2
  import { type SpringPresetName } from "./springPresets";
3
3
  /** The reveal spring register — `snappy` (the quick app-open default) or `bouncy`
4
4
  * (the emphatic large-dialog bloom). A subset of the named `SPRING_PRESETS` rows. */
@@ -6,11 +6,14 @@ export type LiquidRevealPreset = Extract<SpringPresetName, "snappy" | "bouncy">;
6
6
  export interface UseLiquidRevealOptions {
7
7
  /**
8
8
  * The trigger element the surface blooms FROM — the source rect (the button, the
9
- * collapsed dock pill). When null at reveal time, the bloom degrades to a
9
+ * collapsed dock pill). A templateRef to the trigger ELEMENT or to a COMPONENT (e.g.
10
+ * `<Button>`), whose root element is resolved via `.$el` — the binding-verification
11
+ * cure: a `ref` on a component is the public instance (no `getBoundingClientRect`),
12
+ * which silently no-oped the bloom. When null at reveal time, the bloom degrades to a
10
13
  * center-anchored scale-from-self (the no-trigger fallback — still spring-clocked,
11
14
  * never the flat bezier zoom).
12
15
  */
13
- trigger?: Ref<HTMLElement | null>;
16
+ trigger?: Ref<HTMLElement | ComponentPublicInstance | null>;
14
17
  /** The spring register (default `snappy`). */
15
18
  preset?: LiquidRevealPreset;
16
19
  /** The starting backdrop-blur radius in px (the decongest start). Default 4. */
@@ -48,4 +51,4 @@ export interface UseLiquidRevealReturn {
48
51
  * watch(open, (o) => (o ? reveal() : conceal()))
49
52
  * ```
50
53
  */
51
- export declare function useLiquidReveal(surface: Ref<HTMLElement | null>, options?: UseLiquidRevealOptions): UseLiquidRevealReturn;
54
+ export declare function useLiquidReveal(surface: Ref<HTMLElement | ComponentPublicInstance | null>, options?: UseLiquidRevealOptions): UseLiquidRevealReturn;