@mkbabb/glass-ui 4.1.0 → 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 (430) hide show
  1. package/dist/{CardAction-8whJrLWt.js → CardAction-DlVP2evz.js} +58 -54
  2. package/dist/{CommandShortcut-D3yxgHNn.js → CommandShortcut-By-VQcLO.js} +3 -3
  3. package/dist/{ConfiguratorRow-CaP7U3ZA.js → ConfiguratorRow-YMXdINHx.js} +3 -3
  4. package/dist/{ContextMenuContent-B3ZsheLV.js → ContextMenuContent-CMWn6huB.js} +1 -1
  5. package/dist/{ContextMenuSubContent-DDRID3qC.js → ContextMenuSubContent-DvwWCUc0.js} +1 -1
  6. package/dist/{DataTable-Bc9kUtu_.js → DataTable-C4tG3eIJ.js} +4 -4
  7. package/dist/DialogContent-D8U9ZfWS.js +121 -0
  8. package/dist/{DialogScrollContent-TTuovQst.js → DialogScrollContent-BMekN7gq.js} +1 -1
  9. package/dist/{FadingScroll-DLRbH5Xr.js → FadingScroll-P8B30rAD.js} +1 -1
  10. package/dist/{HoverCardContent-Bel1gdLZ.js → HoverCardContent-DAmGYglo.js} +1 -1
  11. package/dist/{HoverPopover-BcIxvyqZ.js → HoverPopover-DYpBOzzF.js} +1 -1
  12. package/dist/{IconChip-DhbdGdFQ.js → IconChip-CQa7XZYc.js} +7 -5
  13. package/dist/{IconTooltip-B0zimd2H.js → IconTooltip-_df8M3xm.js} +1 -1
  14. package/dist/{Input-Cg9DF62r.js → Input-CyU4_hIC.js} +2 -2
  15. package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
  16. package/dist/{Notification-CphK7AAm.js → Notification-BlSPJhtZ.js} +1 -1
  17. package/dist/{NumberFieldContent-D8cXeyO4.js → NumberFieldContent-Z3VxGu_6.js} +3 -3
  18. package/dist/PagerDots-CYlqVFd4.js +196 -0
  19. package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
  20. package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
  21. package/dist/{Progress-CnqB7gLm.js → Progress-C9SsdwIZ.js} +1 -1
  22. package/dist/{ScrollingText-CTZbA_cG.js → ScrollingText-DY3W1Jfh.js} +2 -2
  23. package/dist/{SelectScrollDownButton-DAKCBEdW.js → SelectScrollDownButton-3mFHX_R-.js} +15 -12
  24. package/dist/{Switch-B8RscmRu.js → Switch-uf-UKPA2.js} +1 -1
  25. package/dist/{Toaster-D9qIHjBI.js → Toaster-ozrsR4mP.js} +1 -1
  26. package/dist/{ToggleGroupItem-BLtr3TJq.js → ToggleGroupItem-BpzaVzNm.js} +4 -4
  27. package/dist/{TooltipProvider-BJ_Y5EGX.js → TooltipProvider-QQVM_80r.js} +1 -1
  28. package/dist/animated-digit.js +2 -2
  29. package/dist/api/index.d.ts +1 -0
  30. package/dist/api/types-extra.d.ts +3 -1
  31. package/dist/api.js +2 -2
  32. package/dist/aurora.js +163 -131
  33. package/dist/badge-Bt14yURi.js +72 -0
  34. package/dist/badge.js +1 -1
  35. package/dist/border-progress.js +1 -1
  36. package/dist/button-D1W9PrzI.js +130 -0
  37. package/dist/button.js +1 -1
  38. package/dist/canvas.js +1 -1
  39. package/dist/card.js +1 -1
  40. package/dist/carousel.js +227 -98
  41. package/dist/chipVariants-BJQ0I2kB.js +18 -0
  42. package/dist/collapsible.js +1 -1
  43. package/dist/color.js +1 -1
  44. package/dist/command.js +1 -1
  45. package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
  46. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +1 -1
  47. package/dist/components/custom/aurora/constants/presets.d.ts +29 -0
  48. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  49. package/dist/components/custom/aurora/index.d.ts +1 -1
  50. package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
  51. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +8 -3
  52. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +8 -4
  53. package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
  54. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -4
  55. package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
  56. package/dist/components/custom/concentric/constants.d.ts +62 -41
  57. package/dist/components/custom/concentric/index.d.ts +2 -2
  58. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
  59. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
  60. package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
  61. package/dist/components/custom/configurator/index.d.ts +1 -1
  62. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
  63. package/dist/components/custom/dock/DockIconButton.vue.d.ts +10 -0
  64. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
  65. package/dist/components/custom/dock/DockStack.vue.d.ts +35 -22
  66. package/dist/components/custom/dock/GlassDock.vue.d.ts +19 -3
  67. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
  68. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +76 -145
  69. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  70. package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
  71. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
  72. package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
  73. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
  74. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +38 -0
  75. package/dist/components/custom/dock/constants.d.ts +14 -3
  76. package/dist/components/custom/dock/index.d.ts +3 -0
  77. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +21 -0
  78. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
  79. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
  80. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
  81. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
  82. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +28 -2
  83. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -17
  84. package/dist/components/custom/dot-flow-field/constants.d.ts +51 -0
  85. package/dist/components/custom/dot-flow-field/index.d.ts +1 -1
  86. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
  87. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +29 -0
  88. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
  89. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +10 -1
  90. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +7 -0
  91. package/dist/components/custom/dot-matrix/constants.d.ts +14 -0
  92. package/dist/components/custom/dot-matrix/index.d.ts +1 -1
  93. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +2 -2
  94. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -1
  95. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +4 -0
  96. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +9 -0
  97. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +11 -0
  98. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +16 -1
  99. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +22 -1
  100. package/dist/components/custom/fourier-field/constants.d.ts +53 -0
  101. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +1 -1
  102. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -1
  103. package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
  104. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
  105. package/dist/components/custom/goo-blob/constants.d.ts +26 -1
  106. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  107. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
  108. package/dist/components/custom/goo-blob/types.d.ts +50 -1
  109. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +32 -3
  110. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +14 -4
  111. package/dist/components/custom/goo-dot-matrix/constants.d.ts +55 -16
  112. package/dist/components/custom/goo-dot-matrix/index.d.ts +1 -1
  113. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +2 -0
  114. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +1 -0
  115. package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
  116. package/dist/components/custom/goo-filter/index.d.ts +1 -0
  117. package/dist/components/custom/handmark/brush.d.ts +17 -17
  118. package/dist/components/custom/handmark/constants.d.ts +28 -8
  119. package/dist/components/custom/handmark/geometry.d.ts +34 -1
  120. package/dist/components/custom/handmark/index.d.ts +1 -1
  121. package/dist/components/custom/icon-chip/types.d.ts +10 -0
  122. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
  123. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +44 -29
  124. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +2 -0
  125. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +3 -1
  126. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +2 -2
  127. package/dist/components/custom/paper-grid/constants.d.ts +44 -6
  128. package/dist/components/custom/paper-grid/index.d.ts +2 -2
  129. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +1 -1
  130. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -1
  131. package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
  132. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +12 -20
  133. package/dist/components/custom/tabs/constants.d.ts +16 -8
  134. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
  135. package/dist/components/custom/timeline/geometry.d.ts +0 -8
  136. package/dist/components/custom/toggle-chip/index.d.ts +15 -4
  137. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +12 -10
  138. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
  139. package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
  140. package/dist/components/ui/badge/index.d.ts +1 -0
  141. package/dist/components/ui/button/Button.vue.d.ts +1 -0
  142. package/dist/components/ui/card/Card.vue.d.ts +1 -1
  143. package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
  144. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
  145. package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
  146. package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
  147. package/dist/components/ui/drawer/constants.d.ts +8 -6
  148. package/dist/components/ui/drawer/index.d.ts +12 -2
  149. package/dist/components/ui/select/SelectContent.vue.d.ts +9 -0
  150. package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
  151. package/dist/composables/dom/index.d.ts +1 -0
  152. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  153. package/dist/composables/glass/wave/index.d.ts +4 -0
  154. package/dist/composables/glass/wave/waveField.d.ts +115 -0
  155. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  156. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  157. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +95 -2
  158. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  159. package/dist/composables/glass/webgpu/index.d.ts +1 -0
  160. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +37 -0
  161. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +49 -2
  162. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +1 -1
  163. package/dist/composables/motion/core/index.d.ts +4 -0
  164. package/dist/composables/motion/core/useHaptic.d.ts +48 -0
  165. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  166. package/dist/composables/motion/index.d.ts +2 -0
  167. package/dist/composables/motion/springPresets.d.ts +16 -17
  168. package/dist/composables/motion/suite.d.ts +2 -2
  169. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  170. package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
  171. package/dist/composables/motion/useDockCtaReceive.d.ts +10 -28
  172. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  173. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  174. package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
  175. package/dist/composables/motion/useLiquidPress.d.ts +12 -0
  176. package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
  177. package/dist/composables/motion/useMorphField.d.ts +157 -0
  178. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  179. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  180. package/dist/concentric.js +532 -563
  181. package/dist/configurator.js +2 -2
  182. package/dist/confirm-dialog.js +3 -3
  183. package/dist/constellation.js +4 -4
  184. package/dist/context-menu.js +2 -2
  185. package/dist/controls.js +2 -2
  186. package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
  187. package/dist/dark.js +1 -1
  188. package/dist/data-table.js +1 -1
  189. package/dist/deck.js +1 -1
  190. package/dist/dialog.js +3 -3
  191. package/dist/dock.js +1163 -618
  192. package/dist/dockContext-gFVS2gMg.js +18 -0
  193. package/dist/dom.js +7 -6
  194. package/dist/dot-flow-field.js +1114 -523
  195. package/dist/dot-matrix.js +348 -204
  196. package/dist/drawer.js +106 -96
  197. package/dist/{dropdown-menu-aJmV5SqE.js → dropdown-menu-CCfcCQ68.js} +3 -3
  198. package/dist/dropdown-menu.js +1 -1
  199. package/dist/easing.js +3 -3
  200. package/dist/expandable-container.js +2 -2
  201. package/dist/fading-scroll.js +1 -1
  202. package/dist/forms.js +6 -6
  203. package/dist/fourier-field.js +441 -197
  204. package/dist/fourier-math.js +1 -1
  205. package/dist/glass-panel.js +2 -2
  206. package/dist/glass-ui.css +1 -1
  207. package/dist/glass-ui.js +139 -135
  208. package/dist/goo-blob.js +11 -9
  209. package/dist/goo-dot-matrix.js +418 -198
  210. package/dist/handmark.js +137 -94
  211. package/dist/header-ribbon.js +1 -1
  212. package/dist/hover-card.js +1 -1
  213. package/dist/hover-popover.js +1 -1
  214. package/dist/icon-chip.js +1 -1
  215. package/dist/icon-tooltip.js +1 -1
  216. package/dist/index.d.ts +3 -0
  217. package/dist/instrument-chassis.js +1 -1
  218. package/dist/keyboard.js +1 -1
  219. package/dist/label.js +1 -1
  220. package/dist/labeled-field.js +7 -7
  221. package/dist/metric-badge.js +1 -1
  222. package/dist/metric-cell.js +1 -1
  223. package/dist/metric-stack.js +1 -1
  224. package/dist/motion-core.js +42 -39
  225. package/dist/motion-curves.js +20 -14
  226. package/dist/motion.js +226 -26
  227. package/dist/notification.js +1 -1
  228. package/dist/number-field.js +1 -1
  229. package/dist/pager-dots.js +1 -1
  230. package/dist/paper-backdrop.js +1 -1
  231. package/dist/paper-grid.js +315 -342
  232. package/dist/paperGrid-CXCSMbZ1.js +191 -0
  233. package/dist/popover.js +1 -1
  234. package/dist/{presets-CvOUqtdY.js → presets-QvYgnFIZ.js} +13 -12
  235. package/dist/progress.js +1 -1
  236. package/dist/pulse.js +1 -1
  237. package/dist/reactive.js +2 -2
  238. package/dist/{resolveCanvasColor-yPyIpJt9.js → resolveCanvasColor-DsSJk06I.js} +5 -5
  239. package/dist/scrolling-text.js +1 -1
  240. package/dist/search.js +7 -7
  241. package/dist/select.js +3 -3
  242. package/dist/selectable-chip.js +18 -35
  243. package/dist/separator.js +1 -1
  244. package/dist/{sheet-B2flBfLH.js → sheet-DUCIoOe0.js} +3 -3
  245. package/dist/sheet.js +1 -1
  246. package/dist/sidebar.js +1 -1
  247. package/dist/slider-CcICPe3u.js +149 -0
  248. package/dist/slider.js +1 -1
  249. package/dist/sortable-list.js +3 -3
  250. package/dist/{spectrum-walk-BVzA7Biz.js → spectrum-walk-cBNSx_zm.js} +1 -1
  251. package/dist/springPresets-DfoQ6XRY.js +64 -0
  252. package/dist/stacked-icons.js +54 -39
  253. package/dist/styles/cards.css +202 -2
  254. package/dist/styles/components.css +1 -3
  255. package/dist/styles/configurator.css +172 -7
  256. package/dist/styles/critical-partition.mjs +35 -2
  257. package/dist/styles/deferred.css +2 -0
  258. package/dist/styles/dock/adaptive-legibility.css +119 -0
  259. package/dist/styles/dock/density.css +18 -10
  260. package/dist/styles/dock/fission-bridge.css +552 -0
  261. package/dist/styles/dock/layers.css +88 -124
  262. package/dist/styles/dock/morph-bridge.css +15 -2
  263. package/dist/styles/dock/morph.css +45 -114
  264. package/dist/styles/dock/shape.css +137 -11
  265. package/dist/styles/dock/shell.css +1 -3
  266. package/dist/styles/dock/stack-rail.css +95 -7
  267. package/dist/styles/dock-controls/icon-button.css +34 -2
  268. package/dist/styles/dock-controls/triggers.css +23 -1
  269. package/dist/styles/dock-controls.css +18 -0
  270. package/dist/styles/dock.css +16 -1
  271. package/dist/styles/drawer.css +166 -0
  272. package/dist/styles/glass/glass-atom.css +244 -0
  273. package/dist/styles/glass/glass-capsule.css +143 -0
  274. package/dist/styles/glass/glass-chip.css +215 -0
  275. package/dist/styles/glass/liquid-enter.css +252 -0
  276. package/dist/styles/glass/liquid-morph.css +850 -0
  277. package/dist/styles/glass/material.css +70 -1
  278. package/dist/styles/glass/reveal.css +22 -2
  279. package/dist/styles/glass/rim.css +13 -1
  280. package/dist/styles/glass/surfaces.css +18 -8
  281. package/dist/styles/glass.css +11 -0
  282. package/dist/styles/icon-chip.css +45 -0
  283. package/dist/styles/index.css +11 -0
  284. package/dist/styles/jubilance.css +65 -0
  285. package/dist/styles/motion/morph-field.css +229 -0
  286. package/dist/styles/paper.css +230 -14
  287. package/dist/styles/scroll-choreography.css +135 -78
  288. package/dist/styles/segmented-tabs.css +85 -51
  289. package/dist/styles/select.css +151 -0
  290. package/dist/styles/tokens/color-radius.css +1 -1
  291. package/dist/styles/tokens/dark-arm.css +57 -8
  292. package/dist/styles/tokens/glass-deep.css +8 -4
  293. package/dist/styles/tokens/glass-fx.css +80 -2
  294. package/dist/styles/tokens/glass.css +140 -8
  295. package/dist/styles/tokens/light-dark.css +2 -2
  296. package/dist/styles/tokens/property-regs.css +144 -0
  297. package/dist/styles/tokens/scale-paper.css +20 -8
  298. package/dist/styles/tokens/scheme-motion.css +92 -157
  299. package/dist/styles/tokens/scheme-spring.css +239 -0
  300. package/dist/styles/tokens/scroll-tokens.css +15 -15
  301. package/dist/styles/tokens/shadow.css +73 -13
  302. package/dist/styles/tokens.css +9 -2
  303. package/dist/styles/utilities/btn.css +70 -0
  304. package/dist/switch.js +1 -1
  305. package/dist/tabs.js +198 -181
  306. package/dist/timeline.js +241 -206
  307. package/dist/toast.js +1 -1
  308. package/dist/toggle-chip.js +14 -41
  309. package/dist/toggle-group.js +1 -1
  310. package/dist/tooltip.js +1 -1
  311. package/dist/typewriter.js +1 -1
  312. package/dist/{uniformBridgeWGPU-CtAKl45L.js → uniformBridgeWGPU-BCse1SHU.js} +191 -127
  313. package/dist/{useAnimatedNumber-CLrxicG9.js → useAnimatedNumber-BntskVdQ.js} +1 -1
  314. package/dist/{useConfiguratorState-4xblKfwd.js → useConfiguratorState-22BcULzF.js} +37 -35
  315. package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
  316. package/dist/{useDragMorph-BUgAC-zK.js → useDragMorph-DGLSewwB.js} +2 -2
  317. package/dist/useDragVelocity-CjcfX3dA.js +57 -0
  318. package/dist/useGooMorph-Cs13NgYL.js +104 -0
  319. package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
  320. package/dist/{useViewTransition-CUI1nAgn.js → useHaptic-CPz5BT9I.js} +40 -1
  321. package/dist/{useLiquidFlex-UmA6LMZu.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
  322. package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
  323. package/dist/useMorphField-ogBM7ubT.js +141 -0
  324. package/dist/{useScrollChrome-D66AVP7C.js → useScrollChrome-JuImi1DM.js} +2 -2
  325. package/dist/{useSpringMount-BWDnKIwh.js → useSpringMount-DFxtzmkR.js} +1 -1
  326. package/dist/{useSpringPress-B1-Czp-V.js → useSpringPress-VM9RgVq3.js} +1 -1
  327. package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
  328. package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
  329. package/dist/virtual.js +1 -1
  330. package/dist/watercolor-dot.js +16 -26
  331. package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
  332. package/package.json +14 -3
  333. package/src/styles/cards.css +202 -2
  334. package/src/styles/configurator.css +172 -7
  335. package/src/styles/critical-partition.mjs +35 -2
  336. package/src/styles/dock/adaptive-legibility.css +119 -0
  337. package/src/styles/dock/density.css +18 -10
  338. package/src/styles/dock/fission-bridge.css +552 -0
  339. package/src/styles/dock/layers.css +88 -124
  340. package/src/styles/dock/morph-bridge.css +15 -2
  341. package/src/styles/dock/morph.css +45 -114
  342. package/src/styles/dock/shape.css +137 -11
  343. package/src/styles/dock/shell.css +1 -3
  344. package/src/styles/dock/stack-rail.css +95 -7
  345. package/src/styles/dock-controls/icon-button.css +34 -2
  346. package/src/styles/dock-controls/triggers.css +23 -1
  347. package/src/styles/dock-controls.css +18 -0
  348. package/src/styles/dock.css +16 -1
  349. package/src/styles/drawer.css +164 -0
  350. package/src/styles/glass/glass-atom.css +244 -0
  351. package/src/styles/glass/glass-capsule.css +143 -0
  352. package/src/styles/glass/glass-chip.css +215 -0
  353. package/src/styles/glass/liquid-enter.css +252 -0
  354. package/src/styles/glass/liquid-morph.css +850 -0
  355. package/src/styles/glass/material.css +70 -1
  356. package/src/styles/glass/reveal.css +22 -2
  357. package/src/styles/glass/rim.css +13 -1
  358. package/src/styles/glass/surfaces.css +18 -8
  359. package/src/styles/glass.css +11 -0
  360. package/src/styles/icon-chip.css +45 -0
  361. package/src/styles/index.css +11 -0
  362. package/src/styles/jubilance.css +65 -0
  363. package/src/styles/motion/morph-field.css +229 -0
  364. package/src/styles/paper.css +230 -14
  365. package/src/styles/scroll-choreography.css +135 -78
  366. package/src/styles/segmented-tabs.css +85 -47
  367. package/src/styles/select.css +151 -0
  368. package/src/styles/tokens/color-radius.css +1 -1
  369. package/src/styles/tokens/dark-arm.css +57 -8
  370. package/src/styles/tokens/glass-deep.css +8 -4
  371. package/src/styles/tokens/glass-fx.css +80 -2
  372. package/src/styles/tokens/glass.css +140 -8
  373. package/src/styles/tokens/light-dark.css +2 -2
  374. package/src/styles/tokens/property-regs.css +144 -0
  375. package/src/styles/tokens/scale-paper.css +20 -8
  376. package/src/styles/tokens/scheme-motion.css +92 -157
  377. package/src/styles/tokens/scheme-spring.css +239 -0
  378. package/src/styles/tokens/scroll-tokens.css +15 -15
  379. package/src/styles/tokens/shadow.css +73 -13
  380. package/src/styles/tokens.css +9 -2
  381. package/src/styles/utilities/btn.css +70 -0
  382. package/dist/DialogContent-6JtTB5x2.js +0 -106
  383. package/dist/PagerDots-Cjx96la-.js +0 -98
  384. package/dist/PaperBackdrop-CqwjnfLv.js +0 -31
  385. package/dist/badge-D9XWW4GT.js +0 -53
  386. package/dist/button-5dY1Dvhd.js +0 -125
  387. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -85
  388. package/dist/createCanvasLifecycle-Gh45Ce-p.js +0 -93
  389. package/dist/dockContext-BNfyPLe9.js +0 -17
  390. package/dist/slider-2A0rPn79.js +0 -142
  391. package/dist/springPresets-Ce7OYCm9.js +0 -46
  392. package/dist/useDockCtaReceive-DfFkmgL1.js +0 -82
  393. package/dist/useGpuSubstrate-4pTcp6mX.js +0 -294
  394. package/dist/useLiquidPress-BooG97RY.js +0 -39
  395. /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
  396. /package/dist/{DialogFooter-9phqcRIS.js → DialogFooter-DoLy0ewI.js} +0 -0
  397. /package/dist/{InstrumentChassis-CxsHSyMj.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  398. /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
  399. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
  400. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-Dcczq44n.js} +0 -0
  401. /package/dist/{SelectSeparator-C2UGOkXF.js → SelectSeparator-CNRGG7Ew.js} +0 -0
  402. /package/dist/{Separator-DQcwC2TR.js → Separator-Cf9-JFgi.js} +0 -0
  403. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
  404. /package/dist/{color-Cs0-oxYL.js → color-B9jZdhJX.js} +0 -0
  405. /package/dist/{compile-nZ1xVYTp.js → compile-INR_tPk_.js} +0 -0
  406. /package/dist/{constants--C2DkLW8.js → constants-BWj7DkMn.js} +0 -0
  407. /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
  408. /package/dist/{dotMatrixField-D_x9_1qq.js → dotMatrixField-CRO0ZFk4.js} +0 -0
  409. /package/dist/{flow.glsl-B2P7e0MT.js → flow.glsl-DqEGRpl4.js} +0 -0
  410. /package/dist/{math-Eb0w3LqU.js → math-5RcIgCB4.js} +0 -0
  411. /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
  412. /package/dist/{prng-B-d9eYX8.js → prng-B5tIXTtj.js} +0 -0
  413. /package/dist/{procedural-color.wgsl-m7Zgv35j.js → procedural-color.wgsl-C1Y5PkM6.js} +0 -0
  414. /package/dist/{scrollReader-DI1NWxUw.js → scrollReader-rc3Ns_NM.js} +0 -0
  415. /package/dist/{useControlSize-SH1UmJCi.js → useControlSize-DAZ062x7.js} +0 -0
  416. /package/dist/{useFuzzySearch-DIhcYtcw.js → useFuzzySearch-0fTYOhS4.js} +0 -0
  417. /package/dist/{useGlobalDark-CmjB9E32.js → useGlobalDark-B4HO9LXG.js} +0 -0
  418. /package/dist/{useIntersectionPause-Dbozzjgm.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
  419. /package/dist/{useInterval-CNdua40W.js → useInterval-BVUI-sez.js} +0 -0
  420. /package/dist/{useKeyboardShortcuts-BPRp33Im.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
  421. /package/dist/{usePointerVelocityField-QLsy3_kv.js → usePointerVelocityField-BrkqZFhj.js} +0 -0
  422. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
  423. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
  424. /package/dist/{useScrollProgress-c3yxmH6a.js → useScrollProgress-A0M6qRl7.js} +0 -0
  425. /package/dist/{useSortable-BVqlJRBR.js → useSortable-DQV_UNDw.js} +0 -0
  426. /package/dist/{useTextHighlight-NmBM5V_4.js → useTextHighlight-Bma3UlKA.js} +0 -0
  427. /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
  428. /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
  429. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
  430. /package/dist/{vReveal-D9k0jADx.js → vReveal-CT1KtwZA.js} +0 -0
@@ -0,0 +1,347 @@
1
+ import { t as e } from "./createCanvasLifecycle-CuCrGRfq.js";
2
+ var t = 1.5;
3
+ function n(e, t, n) {
4
+ return Math.max(t, Math.min(n, e));
5
+ }
6
+ function r() {
7
+ let e = typeof window < "u" && window.devicePixelRatio || 1;
8
+ return Math.min(e, 2);
9
+ }
10
+ function i() {
11
+ let e = typeof window < "u" && window.devicePixelRatio || 1;
12
+ return Math.min(e, t);
13
+ }
14
+ //#endregion
15
+ //#region src/composables/glass/webgl/useWebGLCanvas.ts
16
+ function a() {
17
+ if (typeof document > "u") return null;
18
+ let e = null;
19
+ try {
20
+ if (e = document.createElement("canvas").getContext("webgl2"), !e) return null;
21
+ let t = e.getExtension("WEBGL_debug_renderer_info");
22
+ return t ? String(e.getParameter(t.UNMASKED_RENDERER_WEBGL) ?? "").toLowerCase() : null;
23
+ } catch {
24
+ return null;
25
+ } finally {
26
+ e?.getExtension("WEBGL_lose_context")?.loseContext();
27
+ }
28
+ }
29
+ function o(e) {
30
+ try {
31
+ return e.getContext("webgl2") != null;
32
+ } catch {
33
+ return !1;
34
+ }
35
+ }
36
+ function s(t, n) {
37
+ let { setup: r, contextAttrs: i } = n, a = null, o = null;
38
+ function s() {
39
+ let e = t.getContext("webgl2", i ?? void 0);
40
+ if (!e) throw Error("[useWebGLCanvas] WebGL2 unavailable");
41
+ return a = e, o = r(a), {
42
+ frame: o.frame,
43
+ shouldContinue: o.shouldContinue,
44
+ time: o.time,
45
+ teardown: () => {
46
+ o?.teardown?.(), a?.getExtension("WEBGL_lose_context")?.loseContext(), a = null, o = null;
47
+ }
48
+ };
49
+ }
50
+ let c = null, l = null;
51
+ function u(e) {
52
+ e.preventDefault(), a = null, o = null, l?.();
53
+ }
54
+ let d = e({
55
+ canvas: t,
56
+ mode: n.mode,
57
+ respectReducedMotion: n.respectReducedMotion,
58
+ dprPolicy: n.dprPolicy,
59
+ composeIntersectionPark: n.composeIntersectionPark,
60
+ intersectionRootMargin: n.intersectionRootMargin,
61
+ revealBloom: n.revealBloom,
62
+ buildContext: s,
63
+ resize: (e) => o?.resize(e),
64
+ bindContextEvents: (e, n) => {
65
+ c = e, l = n, t.addEventListener("webglcontextlost", u, !1), t.addEventListener("webglcontextrestored", c, !1);
66
+ },
67
+ unbindContextEvents: () => {
68
+ t.removeEventListener("webglcontextlost", u, !1), c && t.removeEventListener("webglcontextrestored", c, !1);
69
+ }
70
+ });
71
+ return {
72
+ arm: d.arm,
73
+ presize: d.presize,
74
+ suspend: d.suspend,
75
+ resume: d.resume,
76
+ wake: d.wake,
77
+ renderAt: d.renderAt,
78
+ dispose: d.dispose,
79
+ get gl() {
80
+ return a;
81
+ },
82
+ get reducedMotion() {
83
+ return d.reducedMotion;
84
+ }
85
+ };
86
+ }
87
+ //#endregion
88
+ //#region src/composables/glass/webgpu/webgpuDevice.ts
89
+ var c = class extends Error {
90
+ kind;
91
+ constructor(e, t, n) {
92
+ super(t), this.name = "WebGPUInitError", this.kind = e, n !== void 0 && (this.cause = n);
93
+ }
94
+ };
95
+ function l(e) {
96
+ try {
97
+ let t = e.info;
98
+ if (t?.isFallbackAdapter || e.isFallbackAdapter) return !0;
99
+ if (!t) return !1;
100
+ let n = [
101
+ t.vendor,
102
+ t.architecture,
103
+ t.description
104
+ ].filter((e) => typeof e == "string").join(" ").toLowerCase();
105
+ return n.includes("swiftshader") || n.includes("llvmpipe") || n.includes("software") || n.includes("basic render") || n.includes("microsoft basic");
106
+ } catch {
107
+ return !1;
108
+ }
109
+ }
110
+ //#endregion
111
+ //#region src/composables/glass/webgpu/useWebGPUCanvas.ts
112
+ function u() {
113
+ return typeof navigator < "u" && "gpu" in navigator && navigator.gpu != null;
114
+ }
115
+ var d = 6e3;
116
+ function f(e, t) {
117
+ if (typeof setTimeout > "u") return e;
118
+ let n, r = new Promise((e, r) => {
119
+ n = setTimeout(() => {
120
+ r(new c("acquire-timeout", `[useWebGPUCanvas] ${t}() did not settle within ${d}ms — falling to the WebGL2 net`));
121
+ }, d);
122
+ });
123
+ return Promise.race([e, r]).finally(() => clearTimeout(n));
124
+ }
125
+ var p = null;
126
+ function m(e, t) {
127
+ if (p) return p;
128
+ if (!u()) return Promise.reject(new c("no-navigator-gpu", "[useWebGPUCanvas] navigator.gpu unavailable"));
129
+ let n = (async () => {
130
+ let r = await f(navigator.gpu.requestAdapter(e), "requestAdapter");
131
+ if (!r) throw new c("no-adapter", "[useWebGPUCanvas] no GPU adapter");
132
+ if (l(r)) throw new c("software-adapter", "[useWebGPUCanvas] software WebGPU adapter (SwiftShader/llvmpipe/fallback) — falling to the WebGL2 net");
133
+ let i;
134
+ try {
135
+ i = await f(r.requestDevice(t), "requestDevice");
136
+ } catch (e) {
137
+ throw e instanceof c ? e : new c("device-request", "[useWebGPUCanvas] requestDevice rejected", e);
138
+ }
139
+ return i.lost.then(() => {
140
+ p === n && (p = null);
141
+ }), i;
142
+ })();
143
+ return n.catch(() => {
144
+ p === n && (p = null);
145
+ }), p = n, n;
146
+ }
147
+ function h(t, n) {
148
+ let { setup: r } = n, i = n.alphaMode ?? "premultiplied", a = null, o = null, s = "bgra8unorm", l = null, d = !1, f = null, p = null, h = null, g = null;
149
+ function _() {
150
+ if (!a) throw Error("[useWebGPUCanvas] device not acquired");
151
+ let e = t.getContext("webgpu");
152
+ if (!e) throw Error("[useWebGPUCanvas] WebGPU context unavailable");
153
+ return o = e, s = navigator.gpu.getPreferredCanvasFormat(), e.configure({
154
+ device: a,
155
+ format: s,
156
+ alphaMode: i
157
+ }), a.pushErrorScope("validation"), a.addEventListener("uncapturederror", v), l = r(a, o, s), y(), g = a.popErrorScope(), g.then((e) => {
158
+ e && n.onInitError?.(e);
159
+ }), {
160
+ frame: (e) => l?.frame(e),
161
+ shouldContinue: () => l?.shouldContinue() ?? !1,
162
+ time: (e) => l?.time?.(e) ?? e,
163
+ teardown: () => {
164
+ l?.teardown?.(), a?.removeEventListener("uncapturederror", v), o = null, l = null, g = null;
165
+ }
166
+ };
167
+ }
168
+ function v(e) {
169
+ let t = e.error;
170
+ n.onInitError?.(t);
171
+ }
172
+ function y() {
173
+ try {
174
+ l?.resize(), l?.frame(0);
175
+ } catch {}
176
+ }
177
+ let b = e({
178
+ canvas: t,
179
+ mode: n.mode,
180
+ respectReducedMotion: n.respectReducedMotion,
181
+ dprPolicy: n.dprPolicy,
182
+ composeIntersectionPark: n.composeIntersectionPark,
183
+ intersectionRootMargin: n.intersectionRootMargin,
184
+ revealBloom: n.revealBloom,
185
+ buildContext: _,
186
+ resize: (e) => l?.resize(e),
187
+ bindContextEvents: (e, t) => {
188
+ p = e, h = t;
189
+ },
190
+ unbindContextEvents: () => {
191
+ p = null, h = null;
192
+ }
193
+ });
194
+ async function x() {
195
+ if (!u()) throw new c("no-navigator-gpu", "[useWebGPUCanvas] navigator.gpu unavailable");
196
+ let e = await m(n.adapterOptions, n.deviceDescriptor);
197
+ a = e, S(e);
198
+ }
199
+ function S(e) {
200
+ e.lost.then((e) => {
201
+ d || (h?.(), a = null, e.reason !== "destroyed" && x().then(() => {
202
+ d || p?.();
203
+ }).catch((e) => n.onInitError?.(e)));
204
+ });
205
+ }
206
+ async function C() {
207
+ if (!d) {
208
+ if (f) return f;
209
+ if (a) {
210
+ b.arm();
211
+ return;
212
+ }
213
+ return b.presize(), f = (async () => {
214
+ try {
215
+ if (await x(), d) return;
216
+ if (b.arm(), g) {
217
+ let e = n.mode !== "capture";
218
+ e && b.suspend("manual");
219
+ let t = await g;
220
+ if (d) return;
221
+ if (t) throw new c("pipeline-validation", `[useWebGPUCanvas] pipeline failed validation (${t.message}) — falling to the WebGL2 net`);
222
+ e && b.resume("manual");
223
+ }
224
+ } catch (e) {
225
+ throw e instanceof c || n.onInitError?.(e), e;
226
+ } finally {
227
+ f = null;
228
+ }
229
+ })(), f;
230
+ }
231
+ }
232
+ return {
233
+ armAsync: C,
234
+ arm: () => {
235
+ a && b.arm();
236
+ },
237
+ presize: b.presize,
238
+ suspend: b.suspend,
239
+ resume: b.resume,
240
+ wake: b.wake,
241
+ renderAt: b.renderAt,
242
+ dispose: () => {
243
+ d = !0, b.dispose(), a = null;
244
+ },
245
+ get device() {
246
+ return a;
247
+ },
248
+ get reducedMotion() {
249
+ return b.reducedMotion;
250
+ }
251
+ };
252
+ }
253
+ //#endregion
254
+ //#region src/composables/glass/webgpu/useGpuSubstrate.ts
255
+ function g(e, t) {
256
+ return s(e, {
257
+ mode: t.mode,
258
+ respectReducedMotion: t.respectReducedMotion,
259
+ contextAttrs: t.contextAttrs,
260
+ dprPolicy: t.dprPolicy,
261
+ composeIntersectionPark: t.composeIntersectionPark,
262
+ intersectionRootMargin: t.intersectionRootMargin,
263
+ revealBloom: t.revealBloom,
264
+ setup: t.setupGL
265
+ });
266
+ }
267
+ function _(e) {
268
+ let t = e.parentNode;
269
+ if (!t || typeof document > "u" || o(e)) return e;
270
+ let n = e.cloneNode(!1);
271
+ return t.replaceChild(n, e), n;
272
+ }
273
+ function v(e, t) {
274
+ let n = u() && t.setupWGPU != null, r = null, i = null, a = n ? "webgpu" : "webgl2", o = !1, s = e;
275
+ n ? r = h(e, {
276
+ mode: t.mode,
277
+ respectReducedMotion: t.respectReducedMotion,
278
+ dprPolicy: t.dprPolicy,
279
+ composeIntersectionPark: t.composeIntersectionPark,
280
+ intersectionRootMargin: t.intersectionRootMargin,
281
+ revealBloom: t.revealBloom,
282
+ setup: t.setupWGPU,
283
+ alphaMode: t.alphaMode,
284
+ adapterOptions: t.adapterOptions,
285
+ deviceDescriptor: t.deviceDescriptor,
286
+ onInitError: t.onInitError
287
+ }) : i = g(e, t);
288
+ function c(e) {
289
+ r?.dispose(), r = null, a = "webgl2", s = _(s), t.onBackendFallback?.({
290
+ from: "webgpu",
291
+ to: "webgl2",
292
+ error: e
293
+ });
294
+ try {
295
+ i = g(s, t), i.arm();
296
+ } catch (e) {
297
+ i = null, t.onInitError?.(e);
298
+ }
299
+ }
300
+ async function l() {
301
+ if (!o) {
302
+ if (d(), r) try {
303
+ await r.armAsync();
304
+ return;
305
+ } catch (e) {
306
+ if (o) return;
307
+ c(e);
308
+ return;
309
+ }
310
+ i?.arm();
311
+ }
312
+ }
313
+ function d() {
314
+ o || (r?.presize(), i?.presize());
315
+ }
316
+ function f() {
317
+ o || (d(), r?.arm(), i?.arm());
318
+ }
319
+ return {
320
+ get backend() {
321
+ return a;
322
+ },
323
+ armAsync: l,
324
+ arm: f,
325
+ presize: d,
326
+ suspend: (e) => {
327
+ r?.suspend(e), i?.suspend(e);
328
+ },
329
+ resume: (e) => {
330
+ r?.resume(e), i?.resume(e);
331
+ },
332
+ wake: () => {
333
+ r?.wake(), i?.wake();
334
+ },
335
+ renderAt: (e) => {
336
+ r?.renderAt(e), i?.renderAt(e);
337
+ },
338
+ dispose: () => {
339
+ o = !0, r?.dispose(), i?.dispose(), r = null, i = null;
340
+ },
341
+ get reducedMotion() {
342
+ return (r ?? i)?.reducedMotion ?? !1;
343
+ }
344
+ };
345
+ }
346
+ //#endregion
347
+ export { r as a, i, a as n, n as r, v as t };
@@ -92,4 +92,43 @@ function g() {
92
92
  return f();
93
93
  }
94
94
  //#endregion
95
- export { d as a, o as c, f as i, m as n, s as o, g as r, a as s, h as t };
95
+ //#region src/composables/motion/core/useHaptic.ts
96
+ var _ = {
97
+ tap: [8],
98
+ snap: [12],
99
+ detent: [
100
+ 6,
101
+ 18,
102
+ 6
103
+ ],
104
+ completion: [
105
+ 10,
106
+ 40,
107
+ 18
108
+ ],
109
+ error: [
110
+ 20,
111
+ 30,
112
+ 20
113
+ ]
114
+ };
115
+ function v() {
116
+ return typeof navigator < "u" && typeof navigator.vibrate == "function";
117
+ }
118
+ function y(e) {
119
+ return typeof e == "string" ? [..._[e]] : e;
120
+ }
121
+ function b(e = {}) {
122
+ let t = v(), n = e.enabled ?? !0;
123
+ function i(e) {
124
+ if (r(n) && t) try {
125
+ navigator.vibrate(y(e));
126
+ } catch {}
127
+ }
128
+ return {
129
+ supported: t,
130
+ pulse: i
131
+ };
132
+ }
133
+ //#endregion
134
+ export { f as a, a as c, g as i, o as l, h as n, d as o, m as r, s, b as t };
@@ -1,7 +1,7 @@
1
1
  import { computed as e, ref as t } from "vue";
2
2
  //#region src/composables/motion/useLiquidFlex.ts
3
3
  function n(n) {
4
- let { axis: r } = n, i = n.squishK ?? 1.6, a = n.squishLaw ?? "tanh", o = () => typeof n.maxStretch == "function" ? n.maxStretch() : n.maxStretch ?? 1.08, s = () => typeof n.from == "function" ? n.from() : n.from, c = () => typeof n.to == "function" ? n.to() : n.to, l = t(0), u = t(0);
4
+ let { axis: r } = n, i = n.squishK ?? 1.6, a = n.squishLaw ?? "tanh", o = () => typeof n.maxStretch == "function" ? n.maxStretch() : n.maxStretch ?? 1.14, s = () => typeof n.from == "function" ? n.from() : n.from, c = () => typeof n.to == "function" ? n.to() : n.to, l = t(0), u = t(0);
5
5
  function d(e) {
6
6
  let t = e < 0 ? 0 : e > 1 ? 1 : e;
7
7
  u.value = Math.abs(t - l.value), l.value = t;
@@ -15,13 +15,18 @@ function n(n) {
15
15
  }), m = e(() => {
16
16
  let e = o(), t = a === "linear" ? 1 + u.value * (e - 1) : 1 + Math.tanh(u.value * i) * (e - 1);
17
17
  return t > e ? e : t;
18
+ }), h = e(() => ({ [r]: `${p.value}px` })), g = e(() => ({ "--stretch": String(m.value) })), _ = e(() => {
19
+ let e = a === "linear" ? u.value : Math.tanh(u.value * i);
20
+ return e < 0 ? 0 : e > 1 ? 1 : e;
18
21
  });
19
22
  return {
20
23
  t: l,
21
24
  size: p,
22
25
  stretch: m,
23
- sizeStyle: e(() => ({ [r]: `${p.value}px` })),
24
- stretchStyle: e(() => ({ "--stretch": String(m.value) })),
26
+ sizeStyle: h,
27
+ stretchStyle: g,
28
+ flexVel: _,
29
+ velStyle: e(() => ({ "--flex-vel": _.value.toFixed(4) })),
25
30
  drive: d,
26
31
  squish: f
27
32
  };
@@ -0,0 +1,43 @@
1
+ import { t as e } from "./useSpringPress-VM9RgVq3.js";
2
+ import { t } from "./useLiquidFlex-Cc6PjVJD.js";
3
+ import { n } from "./writeVelocityWeight-Bh83xZfs.js";
4
+ import { computed as r, watch as i } from "vue";
5
+ //#region src/composables/motion/useLiquidPress.ts
6
+ function a(a = {}) {
7
+ let o = a.shrinkDepth ?? .03, s = a.maxStretch ?? 1.04, c = a.pressVar ?? "--press-t", l = a.engageThreshold ?? .001, u = e({
8
+ response: a.response,
9
+ dampingFraction: a.dampingFraction,
10
+ initial: a.initial,
11
+ initialVelocity: a.initialVelocity,
12
+ settleThreshold: a.settleThreshold,
13
+ velocitySettleThreshold: a.velocitySettleThreshold,
14
+ respectReducedMotion: a.respectReducedMotion,
15
+ onValue: a.onValue
16
+ }), d = t({
17
+ from: 0,
18
+ to: 1,
19
+ axis: "width",
20
+ maxStretch: () => n(a.el?.value ?? null, s),
21
+ squishLaw: "linear"
22
+ });
23
+ i(() => u.value.value, (e) => d.squish(e), {
24
+ immediate: !0,
25
+ flush: "sync"
26
+ });
27
+ let f = r(() => {
28
+ let e = u.value.value, t = d.stretch.value, n = 1 - e * o, r = (n * t).toFixed(4), i = (n / t).toFixed(4), a = {
29
+ [c]: e.toFixed(4),
30
+ "--flex-vel": d.flexVel.value.toFixed(4)
31
+ };
32
+ return e > l && (a.scale = `${r} ${i}`), a;
33
+ });
34
+ return {
35
+ value: u.value,
36
+ press: u.press,
37
+ release: u.release,
38
+ handlers: u.handlers,
39
+ pressStyle: f
40
+ };
41
+ }
42
+ //#endregion
43
+ export { a as t };
@@ -0,0 +1,141 @@
1
+ import { t as e } from "./useLiquidFlex-Cc6PjVJD.js";
2
+ import { onScopeDispose as t, ref as n, unref as r } from "vue";
3
+ //#region src/composables/motion/useMorphField.ts
4
+ var i = 1.618033988749895, a = {
5
+ lateralNeck: {
6
+ vector: "lateral",
7
+ kRest: .92,
8
+ kPeak: .34,
9
+ neckHold: .5,
10
+ maxStretch: 1.12
11
+ },
12
+ lateralPeel: {
13
+ vector: "lateral",
14
+ kRest: .88,
15
+ kPeak: .4,
16
+ neckHold: .4,
17
+ maxStretch: 1.08
18
+ },
19
+ radialBurst: {
20
+ vector: "radial",
21
+ kRest: .85,
22
+ kPeak: .3,
23
+ neckHold: .55,
24
+ maxStretch: 1.08
25
+ },
26
+ inwardMerge: {
27
+ vector: "inward",
28
+ kRest: .8,
29
+ kPeak: .28,
30
+ neckHold: .35,
31
+ maxStretch: 1.1
32
+ },
33
+ axialNeck: {
34
+ vector: "axial",
35
+ kRest: .9,
36
+ kPeak: .36,
37
+ neckHold: .5,
38
+ maxStretch: 1.14
39
+ },
40
+ collapse: {
41
+ vector: "axial",
42
+ kRest: 1,
43
+ kPeak: 1,
44
+ neckHold: 0,
45
+ maxStretch: 1.14
46
+ },
47
+ directed: {
48
+ vector: "directed",
49
+ kRest: .9,
50
+ kPeak: .42,
51
+ neckHold: .45,
52
+ maxStretch: 1.1
53
+ }
54
+ }, o = () => typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches, s = typeof window > "u" || typeof CSS > "u" || typeof CSS.supports != "function" || CSS.supports("filter", "url(#x)");
55
+ function c(e, t) {
56
+ return Math.sin(Math.PI * Math.min(1, Math.max(0, e))) ** +t;
57
+ }
58
+ function l(e, t, n) {
59
+ return e + (t - e) * n;
60
+ }
61
+ function u(e, t, n, r) {
62
+ return e === "auto" ? o() || !s || n <= 1 ? "css" : r || n > 3 ? "gpu" : "svg-goo" : e;
63
+ }
64
+ function d() {
65
+ return !1;
66
+ }
67
+ function f(o) {
68
+ let { signature: s, driveVar: f = "--goo-t", hostRef: p, tier: m = "auto" } = o, h = a[s], g = n(0), _ = n(1), v = () => r(o.bodies) ?? [], y = () => !!r(o.vertical), b = v().some((e) => e.silhouette === "capture");
69
+ if (b && !d()) throw Error("useMorphField: silhouette:'capture' needs useElementBloom (the FLIP rect→rect runner), absent in this build. Use a non-capture silhouette, or compose useElementBloom for the arbitrary-rect element→element travel.");
70
+ let x = n(u(m, h, v().length, b)), S = e({
71
+ from: 0,
72
+ to: 0,
73
+ axis: "width",
74
+ squishLaw: "tanh",
75
+ maxStretch: () => h.maxStretch
76
+ });
77
+ function C(e) {
78
+ let t = r(o.weight);
79
+ if (typeof t == "number") return Math.min(1, Math.max(0, t));
80
+ let n = getComputedStyle(e).getPropertyValue("--motion-weight").trim(), i = Number.parseFloat(n);
81
+ return Number.isFinite(i) ? Math.min(1, Math.max(0, i)) : .618;
82
+ }
83
+ function w(e, t, n) {
84
+ let r = e.at0(), i = e.at1();
85
+ return l(n ? r.y + r.height / 2 : r.x + r.width / 2, n ? i.y + i.height / 2 : i.x + i.width / 2, t);
86
+ }
87
+ function T(e) {
88
+ if (e.radius) return Math.max(1, e.radius() * 2);
89
+ let t = e.at0();
90
+ return Math.max(1, Math.min(t.width, t.height) / i);
91
+ }
92
+ function E(e, t, n, r, i) {
93
+ let a = 1 / r;
94
+ i ? e.style.transform = `translateY(${t.toFixed(2)}px) translateX(${n.toFixed(2)}px) translate(-50%, -50%) scaleY(${r.toFixed(4)}) scaleX(${a.toFixed(4)})` : e.style.transform = `translateX(${t.toFixed(2)}px) translateY(${n.toFixed(2)}px) translate(-50%, -50%) scaleX(${r.toFixed(4)}) scaleY(${a.toFixed(4)})`;
95
+ }
96
+ function D(e) {
97
+ let t = p.value, n = v();
98
+ if (!t || n.length === 0) return;
99
+ g.value = e;
100
+ let r = y(), a = C(t);
101
+ if (n.length === 1) {
102
+ let i = n[0], o = w(i, e, r);
103
+ S.drive(e);
104
+ let s = 1 + (S.stretch.value - 1) * a;
105
+ i.el.value && E(i.el.value, o, 0, s, r), t.style.setProperty("--morph-squish", String(s)), _.value = 1;
106
+ return;
107
+ }
108
+ S.drive(e);
109
+ let o = 1 + (S.stretch.value - 1) * a;
110
+ t.style.setProperty("--morph-squish", String(o));
111
+ let s = c(e, 1 + h.neckHold), u = l(h.kRest, h.kPeak, s), d = w(n[0], e, r), f = w(n[n.length - 1], e, r), m = 1 - c(e, 1) * (1 - u), b = (d + f) / 2;
112
+ (f - d) / 2 * m;
113
+ let x = T(n[0]), D = x / (i * i) * c(e, 1) * a;
114
+ n.forEach((t, n) => {
115
+ let i = l(w(t, e, r), b, 1 - m), a = n % 2 == 0 ? -D : D;
116
+ t.el.value && E(t.el.value, i, a, o, r);
117
+ });
118
+ let O = c(e, 1 + h.neckHold), k = Math.abs((f - d) * m), A = x * l(1, u, O);
119
+ _.value = x > 0 ? Math.min(1, A / x) : 1, t.style.setProperty("--morph-neck-girth", O.toFixed(4)), t.style.setProperty("--morph-neck-gap", k.toFixed(2)), t.style.setProperty("--morph-k", u.toFixed(4)), t.style.setProperty("--morph-waist", _.value.toFixed(4));
120
+ let j = (e * 360 + 60 * O) % 360;
121
+ t.style.setProperty("--morph-specular-angle", `${j.toFixed(1)}deg`);
122
+ }
123
+ function O(e) {
124
+ let t = p.value, n = v();
125
+ if (!t) return;
126
+ g.value = e;
127
+ let r = y();
128
+ n.forEach((t) => {
129
+ t.el.value && E(t.el.value, w(t, e, r), 0, 1, r);
130
+ }), t.style.setProperty("--morph-squish", "1"), t.style.setProperty("--morph-neck-girth", "0"), t.style.setProperty("--morph-waist", "1"), _.value = 1;
131
+ }
132
+ return t(() => {}), {
133
+ t: g,
134
+ waist: _,
135
+ tier: x,
136
+ project: D,
137
+ seat: O
138
+ };
139
+ }
140
+ //#endregion
141
+ export { f as n, a as t };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./supportsCssTimeline-BWenxvHU.js";
2
- import { n as t } from "./useIntersectionPause-Dbozzjgm.js";
3
- import { t as n } from "./scrollReader-DI1NWxUw.js";
2
+ import { n as t } from "./useIntersectionPause-DO8Vl4gs.js";
3
+ import { t as n } from "./scrollReader-rc3Ns_NM.js";
4
4
  import { computed as r, getCurrentScope as i, onBeforeUnmount as a, onMounted as o, onScopeDispose as s, readonly as c, ref as l, toValue as u, watch as d } from "vue";
5
5
  //#region src/composables/motion/useYieldToMain.ts
6
6
  function f() {
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./useSpring-C0jyvEJB.js";
2
- import { n as t } from "./springPresets-Ce7OYCm9.js";
2
+ import { n as t } from "./springPresets-DfoQ6XRY.js";
3
3
  import { computed as n, nextTick as r, onMounted as i, onScopeDispose as a, ref as o, watch as s } from "vue";
4
4
  //#region src/composables/motion/useSpringMount.ts
5
5
  var c = Object.fromEntries([
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./useSpring-C0jyvEJB.js";
2
- import { n as t } from "./springPresets-Ce7OYCm9.js";
2
+ import { n as t } from "./springPresets-DfoQ6XRY.js";
3
3
  import { ref as n } from "vue";
4
4
  //#region src/composables/motion/useSpringPress.ts
5
5
  var r = t("press");
@@ -1,7 +1,7 @@
1
1
  //#region src/components/ui/_shared/useSurfaceAxis.ts
2
2
  function e(e = "glass", t = "resting") {
3
3
  let n = `glass-${t}`;
4
- return e === "veil" ? `${n} veil-surface` : e === "opaque" ? `${n} glass-opaque` : n;
4
+ return e === "veil" ? `${n} veil-surface` : e === "opaque" ? `${n} glass-opaque` : e === "clear" ? `${n} glass-clear` : n;
5
5
  }
6
6
  //#endregion
7
7
  export { e as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./useTimer-BHJOKr35.js";
1
+ import { t as e } from "./useTimer-BBLGPXR8.js";
2
2
  import { getCurrentScope as t, onScopeDispose as n, ref as r } from "vue";
3
3
  //#region src/composables/dom/useTouchGate.ts
4
4
  var i = /* @__PURE__ */ new Set(), a = !1;
package/dist/virtual.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as e } from "./useResizeObserver-Bpoi7tRE.js";
1
+ import { t as e } from "./useResizeObserver-DdEn3v2f.js";
2
2
  import { computed as t, onMounted as n, onUnmounted as r, ref as i, shallowRef as a, toValue as o, watch as s } from "vue";
3
3
  //#region src/composables/virtual/virtualSectionLayout.ts
4
4
  function c(e, t) {