@mkbabb/glass-ui 3.12.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/dist/CardAction-XH4YBVEK.js +158 -0
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-DdtWXxOK.js} +58 -53
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-B0Vs6atR.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-C464Zbqd.js} +99 -97
  5. package/dist/DialogContent-DDE6pQBU.js +103 -0
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-8eZbdmPc.js} +2 -2
  7. package/dist/FadingScroll-DwNnvKMs.js +76 -0
  8. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-Dpzwvc4t.js} +1 -1
  9. package/dist/IconChip-BDw1j5mu.js +54 -0
  10. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DSjasZIt.js} +1 -1
  11. package/dist/MetricBadge-BpC0R_Ec.js +79 -0
  12. package/dist/{Notification-DLMhblXR.js → Notification-DKjKsQq8.js} +10 -10
  13. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-1VtwDSgf.js} +3 -3
  14. package/dist/PopoverContent-BTorlp--.js +127 -0
  15. package/dist/{Progress-iEuD9pxG.js → Progress-hAT4gqGH.js} +97 -77
  16. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-CUVFTWk2.js} +2 -2
  17. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-C1jb3b3K.js} +24 -8
  18. package/dist/{Switch-Ch-k3Rv-.js → Switch-Dr--uLGH.js} +2 -2
  19. package/dist/{Toaster-1rYWrmAm.js → Toaster-Bm_HQSpc.js} +55 -52
  20. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-Dzk9hWsF.js} +18 -22
  21. package/dist/animated-digit.js +3 -3
  22. package/dist/api/index.d.ts +10 -4
  23. package/dist/api.js +1 -1
  24. package/dist/aurora.js +113 -98
  25. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  26. package/dist/badge.js +1 -1
  27. package/dist/{button-DN39cGqL.js → button-BNDWhAZb.js} +12 -12
  28. package/dist/button.js +1 -1
  29. package/dist/card.js +1 -1
  30. package/dist/carousel.d.ts +1 -1
  31. package/dist/carousel.js +101 -145
  32. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  33. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  34. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  35. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  36. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  37. package/dist/collapsible.js +1 -1
  38. package/dist/{color-C5ls_QF7.js → color-DweYl7pE.js} +9 -7
  39. package/dist/color-swatch.d.ts +1 -0
  40. package/dist/color-swatch.js +47 -0
  41. package/dist/color.js +1 -1
  42. package/dist/command.js +1 -1
  43. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  44. package/dist/components/custom/aurora/constants/presets.d.ts +16 -45
  45. package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
  46. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  47. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  48. package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
  49. package/dist/components/custom/color-swatch/index.d.ts +1 -0
  50. package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
  51. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  52. package/dist/components/custom/constellation/Constellation.vue.d.ts +23 -143
  53. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  54. package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
  55. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  56. package/dist/components/custom/constellation/constants.d.ts +61 -0
  57. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  58. package/dist/components/custom/constellation/constellationField.d.ts +3 -403
  59. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  60. package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
  61. package/dist/components/custom/constellation/index.d.ts +5 -2
  62. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  63. package/dist/components/custom/dock/DockRail.vue.d.ts +89 -0
  64. package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
  65. package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
  66. package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -6
  67. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  68. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  69. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  70. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  71. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  72. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  73. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  74. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  75. package/dist/components/custom/dock/constants.d.ts +83 -0
  76. package/dist/components/custom/dock/index.d.ts +5 -0
  77. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +15 -37
  78. package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
  79. package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
  80. package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
  81. package/dist/components/custom/fading-scroll/index.d.ts +2 -0
  82. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +7 -0
  83. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  84. package/dist/components/custom/fourier-field/math.d.ts +34 -0
  85. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  86. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -0
  87. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  88. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  89. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  90. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +21 -8
  91. package/dist/components/custom/goo-blob/constants.d.ts +57 -0
  92. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  93. package/dist/components/custom/handmark/brush.d.ts +33 -6
  94. package/dist/components/custom/handmark/{useHandMark.d.ts → composables/useHandMark.d.ts} +6 -4
  95. package/dist/components/custom/handmark/constants.d.ts +39 -0
  96. package/dist/components/custom/handmark/geometry.d.ts +14 -12
  97. package/dist/components/custom/handmark/index.d.ts +8 -2
  98. package/dist/components/custom/handmark/types.d.ts +9 -0
  99. package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
  100. package/dist/components/custom/icon-chip/index.d.ts +2 -0
  101. package/dist/components/custom/icon-chip/types.d.ts +72 -0
  102. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -4
  103. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  104. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  105. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  106. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  107. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  108. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  109. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  110. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  111. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
  112. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  113. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +20 -25
  114. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
  115. package/dist/components/custom/tabs/constants.d.ts +18 -0
  116. package/dist/components/custom/tabs/index.d.ts +1 -1
  117. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +14 -0
  118. package/dist/components/ui/_shared/index.d.ts +2 -0
  119. package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
  120. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
  121. package/dist/components/ui/card/Card.vue.d.ts +16 -4
  122. package/dist/components/ui/carousel/index.d.ts +0 -1
  123. package/dist/components/ui/command/Command.vue.d.ts +3 -0
  124. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
  125. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  126. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
  127. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  128. package/dist/components/ui/index.d.ts +0 -1
  129. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  130. package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
  131. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
  132. package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
  133. package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
  134. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
  135. package/dist/components/ui/slider/index.d.ts +22 -19
  136. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  137. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  138. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  139. package/dist/components/ui/toggle/index.d.ts +1 -1
  140. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  141. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  142. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  143. package/dist/composables/color/index.d.ts +12 -0
  144. package/dist/composables/dark/useGlobalDark.d.ts +14 -12
  145. package/dist/composables/glass/index.d.ts +0 -1
  146. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  147. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  148. package/dist/composables/motion/core/index.d.ts +1 -1
  149. package/dist/composables/motion/curves.d.ts +48 -0
  150. package/dist/composables/motion/index.d.ts +2 -0
  151. package/dist/composables/motion/springPresets.d.ts +33 -0
  152. package/dist/composables/motion/suite.d.ts +2 -0
  153. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  154. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  155. package/dist/composables/motion/useViewTransition.d.ts +36 -1
  156. package/dist/configurator.js +1 -1
  157. package/dist/confirm-dialog.js +3 -3
  158. package/dist/constellation.js +373 -261
  159. package/dist/context-menu.js +2 -2
  160. package/dist/controls.js +48 -14
  161. package/dist/dark.js +1 -1
  162. package/dist/data-table.js +1 -1
  163. package/dist/dialog.js +2 -2
  164. package/dist/dock.js +901 -372
  165. package/dist/dockContext-Bu1Avy-a.js +17 -0
  166. package/dist/dom.js +5 -5
  167. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-BJ7E9js_.js} +11 -8
  168. package/dist/dropdown-menu.js +1 -1
  169. package/dist/expandable-container.js +44 -81
  170. package/dist/fading-scroll.d.ts +1 -0
  171. package/dist/fading-scroll.js +2 -0
  172. package/dist/forms.js +5 -5
  173. package/dist/fourier-field.js +140 -104
  174. package/dist/fourier-math.js +2 -2
  175. package/dist/glass-panel.js +90 -21
  176. package/dist/glass-ui.css +1 -1
  177. package/dist/glass-ui.js +230 -236
  178. package/dist/goo-blob.js +264 -228
  179. package/dist/handmark.js +203 -159
  180. package/dist/header-ribbon.js +1 -1
  181. package/dist/hover-card.js +1 -1
  182. package/dist/hover-popover.js +1 -1
  183. package/dist/icon-chip.d.ts +1 -0
  184. package/dist/icon-chip.js +2 -0
  185. package/dist/icon-tooltip.js +1 -1
  186. package/dist/index.d.ts +3 -5
  187. package/dist/instrument-chassis.js +1 -1
  188. package/dist/keyboard.js +1 -1
  189. package/dist/label.js +1 -1
  190. package/dist/labeled-field.js +28 -18
  191. package/dist/{math-DTpRVC0e.js → math-DeuJwLFx.js} +26 -2
  192. package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DWRQXBxJ.js} +10 -4
  193. package/dist/metric-badge.js +1 -1
  194. package/dist/metric-cell.js +29 -22
  195. package/dist/metric-stack.js +35 -34
  196. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  197. package/dist/motion-core.js +32 -136
  198. package/dist/motion-curves.d.ts +1 -0
  199. package/dist/motion-curves.js +130 -0
  200. package/dist/motion.js +38 -37
  201. package/dist/notification.js +1 -1
  202. package/dist/number-field.js +1 -1
  203. package/dist/pager-dots.d.ts +1 -0
  204. package/dist/pager-dots.js +91 -0
  205. package/dist/paper-backdrop.js +1 -1
  206. package/dist/popover.js +1 -1
  207. package/dist/progress.js +1 -1
  208. package/dist/pulse.js +1 -1
  209. package/dist/reactive.js +2 -2
  210. package/dist/scrolling-text.js +1 -1
  211. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  212. package/dist/search.js +10 -10
  213. package/dist/select.js +3 -3
  214. package/dist/separator.js +1 -1
  215. package/dist/sheet-CquRYOAw.js +218 -0
  216. package/dist/sheet.js +1 -1
  217. package/dist/{slider-ClgpP7EB.js → slider-DQ95MET2.js} +8 -8
  218. package/dist/slider.js +1 -1
  219. package/dist/sortable-list.js +3 -3
  220. package/dist/springPresets-WXaLbu8u.js +40 -0
  221. package/dist/stacked-icons.js +6 -6
  222. package/dist/styles/animations.css +25 -125
  223. package/dist/styles/cards.css +55 -0
  224. package/dist/styles/components.css +4 -1
  225. package/dist/styles/configurator.css +77 -0
  226. package/dist/styles/dock/density.css +19 -0
  227. package/dist/styles/dock/layer-group.css +83 -25
  228. package/dist/styles/dock/layers.css +23 -1
  229. package/dist/styles/dock/morph-bridge.css +123 -0
  230. package/dist/styles/dock/morph.css +175 -45
  231. package/dist/styles/dock/overflow.css +66 -1
  232. package/dist/styles/dock/rail-extend.css +397 -0
  233. package/dist/styles/dock/section.css +59 -0
  234. package/dist/styles/dock/shell.css +97 -110
  235. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  236. package/dist/styles/dock-controls/icon-button.css +143 -0
  237. package/dist/styles/dock-controls/tab-button.css +143 -0
  238. package/dist/styles/dock-controls/touch-floor.css +94 -0
  239. package/dist/styles/dock-controls/triggers.css +135 -0
  240. package/dist/styles/dock-controls.css +30 -595
  241. package/dist/styles/dock.css +8 -3
  242. package/dist/styles/drawer.css +48 -0
  243. package/dist/styles/feedback-tone.css +104 -0
  244. package/dist/styles/floating-panel.css +17 -0
  245. package/dist/styles/glass/a11y-fallback.css +245 -0
  246. package/dist/styles/glass/ladder.css +383 -0
  247. package/dist/styles/glass/material.css +238 -0
  248. package/dist/styles/glass/progress-rail.css +78 -0
  249. package/dist/styles/glass/squircle.css +66 -0
  250. package/dist/styles/glass/surface-axis.css +113 -0
  251. package/dist/styles/glass/surfaces.css +382 -0
  252. package/dist/styles/glass-refract.css +2 -0
  253. package/dist/styles/glass.css +34 -1188
  254. package/dist/styles/hover-popover.css +2 -0
  255. package/dist/styles/icon-chip.css +149 -0
  256. package/dist/styles/index.css +94 -18
  257. package/dist/styles/instrument-chassis.css +46 -0
  258. package/dist/styles/menu.css +127 -0
  259. package/dist/styles/paper.css +2 -68
  260. package/dist/styles/segmented-tabs.css +346 -0
  261. package/dist/styles/select.css +50 -0
  262. package/dist/styles/theme/bridges.css +347 -0
  263. package/dist/styles/theme/dark.css +7 -0
  264. package/dist/styles/theme/literals.css +94 -0
  265. package/dist/styles/theme/radius.css +95 -0
  266. package/dist/styles/theme.css +26 -529
  267. package/dist/styles/tokens/color-radius.css +287 -0
  268. package/dist/styles/tokens/dark-arm.css +308 -0
  269. package/dist/styles/tokens/glass.css +500 -0
  270. package/dist/styles/tokens/light-dark.css +187 -0
  271. package/dist/styles/tokens/offsets-sizing.css +562 -0
  272. package/dist/styles/tokens/property-regs.css +162 -0
  273. package/dist/styles/tokens/scale-paper.css +409 -0
  274. package/dist/styles/tokens/scheme-motion.css +352 -0
  275. package/dist/styles/tokens/shadow.css +166 -0
  276. package/dist/styles/tokens.css +22 -2360
  277. package/dist/styles/transitions.css +7 -7
  278. package/dist/styles/typography/scale.css +153 -0
  279. package/dist/styles/typography/semantic.css +220 -0
  280. package/dist/styles/typography/utilities.css +159 -0
  281. package/dist/styles/typography.css +23 -453
  282. package/dist/styles/utilities/a11y-overrides.css +169 -0
  283. package/dist/styles/utilities/animate.css +26 -0
  284. package/dist/styles/utilities/base.css +541 -0
  285. package/dist/styles/utilities/btn.css +218 -0
  286. package/dist/styles/utilities/components.css +317 -0
  287. package/dist/styles/utilities.css +19 -1318
  288. package/dist/styles/view-transition.css +4 -52
  289. package/dist/switch.js +1 -1
  290. package/dist/tabs.js +161 -181
  291. package/dist/timeline.js +2 -2
  292. package/dist/toast.js +1 -1
  293. package/dist/toggle-chip.js +3 -1
  294. package/dist/toggle-group.js +1 -1
  295. package/dist/tooltip.js +1 -1
  296. package/dist/typewriter.js +1 -1
  297. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
  298. package/dist/useConfiguratorState-kiIlun8I.js +303 -0
  299. package/dist/useLiquidFlex-C12hXwOZ.js +30 -0
  300. package/dist/useRAFLoop-CdwJ7284.js +109 -0
  301. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-D7bYU2RK.js} +1 -1
  302. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  303. package/dist/useSpringMount-CvopqiFr.js +108 -0
  304. package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
  305. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-28Tk2-t2.js} +1 -1
  306. package/dist/useViewTransition-COsPjQVZ.js +47 -0
  307. package/dist/utils/coalesceMetric.d.ts +29 -0
  308. package/dist/utils/index.d.ts +1 -0
  309. package/dist/vReveal-D9k0jADx.js +10 -0
  310. package/dist/watercolor-dot.js +22 -13
  311. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  312. package/package.json +134 -50
  313. package/src/styles/animations.css +25 -125
  314. package/src/styles/cards.css +53 -0
  315. package/src/styles/configurator.css +77 -0
  316. package/src/styles/dock/density.css +19 -0
  317. package/src/styles/dock/layer-group.css +83 -25
  318. package/src/styles/dock/layers.css +23 -1
  319. package/src/styles/dock/morph-bridge.css +123 -0
  320. package/src/styles/dock/morph.css +175 -45
  321. package/src/styles/dock/overflow.css +66 -1
  322. package/src/styles/dock/rail-extend.css +397 -0
  323. package/src/styles/dock/section.css +59 -0
  324. package/src/styles/dock/shell.css +97 -110
  325. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  326. package/src/styles/dock-controls/icon-button.css +143 -0
  327. package/src/styles/dock-controls/tab-button.css +143 -0
  328. package/src/styles/dock-controls/touch-floor.css +94 -0
  329. package/src/styles/dock-controls/triggers.css +135 -0
  330. package/src/styles/dock-controls.css +30 -595
  331. package/src/styles/dock.css +8 -3
  332. package/src/styles/drawer.css +42 -0
  333. package/src/styles/feedback-tone.css +104 -0
  334. package/src/styles/floating-panel.css +15 -0
  335. package/src/styles/glass/a11y-fallback.css +245 -0
  336. package/src/styles/glass/ladder.css +383 -0
  337. package/src/styles/glass/material.css +238 -0
  338. package/src/styles/glass/progress-rail.css +78 -0
  339. package/src/styles/glass/squircle.css +66 -0
  340. package/src/styles/glass/surface-axis.css +113 -0
  341. package/src/styles/glass/surfaces.css +382 -0
  342. package/src/styles/glass.css +34 -1188
  343. package/src/styles/icon-chip.css +149 -0
  344. package/src/styles/index.css +93 -17
  345. package/src/styles/instrument-chassis.css +42 -0
  346. package/src/styles/menu.css +127 -0
  347. package/src/styles/paper.css +2 -68
  348. package/src/styles/segmented-tabs.css +340 -0
  349. package/src/styles/select.css +50 -0
  350. package/src/styles/theme/bridges.css +347 -0
  351. package/src/styles/theme/dark.css +7 -0
  352. package/src/styles/theme/literals.css +94 -0
  353. package/src/styles/theme/radius.css +95 -0
  354. package/src/styles/theme.css +26 -529
  355. package/src/styles/tokens/color-radius.css +287 -0
  356. package/src/styles/tokens/dark-arm.css +308 -0
  357. package/src/styles/tokens/glass.css +500 -0
  358. package/src/styles/tokens/light-dark.css +187 -0
  359. package/src/styles/tokens/offsets-sizing.css +562 -0
  360. package/src/styles/tokens/property-regs.css +162 -0
  361. package/src/styles/tokens/scale-paper.css +409 -0
  362. package/src/styles/tokens/scheme-motion.css +352 -0
  363. package/src/styles/tokens/shadow.css +166 -0
  364. package/src/styles/tokens.css +22 -2360
  365. package/src/styles/transitions.css +7 -7
  366. package/src/styles/typography/scale.css +153 -0
  367. package/src/styles/typography/semantic.css +220 -0
  368. package/src/styles/typography/utilities.css +159 -0
  369. package/src/styles/typography.css +23 -453
  370. package/src/styles/utilities/a11y-overrides.css +169 -0
  371. package/src/styles/utilities/animate.css +26 -0
  372. package/src/styles/utilities/base.css +541 -0
  373. package/src/styles/utilities/btn.css +218 -0
  374. package/src/styles/utilities/components.css +317 -0
  375. package/src/styles/utilities.css +19 -1318
  376. package/src/styles/view-transition.css +4 -52
  377. package/dist/CardAction-DuArVky-.js +0 -157
  378. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  379. package/dist/DialogContent-BRkT1cjP.js +0 -100
  380. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  381. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  382. package/dist/PopoverContent-BId6ggf_.js +0 -121
  383. package/dist/TabsList-B8CVOQPC.js +0 -101
  384. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  385. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  386. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  387. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  388. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  389. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  390. package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
  391. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  392. package/dist/deck-progress.d.ts +0 -1
  393. package/dist/deck-progress.js +0 -2
  394. package/dist/dockContext-BKeIMmNk.js +0 -9
  395. package/dist/instrument-rail.d.ts +0 -1
  396. package/dist/instrument-rail.js +0 -2
  397. package/dist/sheet-VZEtNFvO.js +0 -214
  398. package/dist/styles/instrument-rail.css +0 -127
  399. package/dist/useConfiguratorState-DxAqksK6.js +0 -287
  400. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  401. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  402. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  403. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  404. package/dist/vReveal-zUIQk-rJ.js +0 -53
  405. package/src/styles/instrument-rail.css +0 -127
  406. /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
  407. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-ON3x7cuk.js} +0 -0
  408. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-DkMaQzH5.js} +0 -0
  409. /package/dist/{Input-xuDwALQR.js → Input-DVG_J0ne.js} +0 -0
  410. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  411. /package/dist/{Label-zRfbQdCn.js → Label-Ck9SWEKM.js} +0 -0
  412. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-CkPRRgl_.js} +0 -0
  413. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-nBKe0vkB.js} +0 -0
  414. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-Dcczq44n.js} +0 -0
  415. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-DK2y1Bun.js} +0 -0
  416. /package/dist/{Separator-D7sD7RKj.js → Separator-BArl4OaB.js} +0 -0
  417. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  418. /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
  419. /package/dist/{compile-BOXjLUxu.js → compile-EXXzEr1q.js} +0 -0
  420. /package/dist/{constants-yKeKnE84.js → constants-BPOqYJAm.js} +0 -0
  421. /package/dist/{createContext-B44Sah_H.js → createContext-B2RaZ-b8.js} +0 -0
  422. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  423. /package/dist/{presets-BP_ALM0m.js → presets-BW2b-fr1.js} +0 -0
  424. /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
  425. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  426. /package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-C28t0VWJ.js} +0 -0
  427. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
  428. /package/dist/{useInterval-Dsmqwi03.js → useInterval-CNdua40W.js} +0 -0
  429. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
  430. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-V6nq5gJb.js} +0 -0
  431. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
  432. /package/dist/{useSortable-C8ReQ50P.js → useSortable-BVqlJRBR.js} +0 -0
  433. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-NmBM5V_4.js} +0 -0
  434. /package/dist/{useTimer-3xqf_54b.js → useTimer-B_PAasDL.js} +0 -0
  435. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-CDfJuakL.js} +0 -0
  436. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-CvBcCYDf.js} +0 -0
@@ -20,7 +20,7 @@ export { default as Toggle } from './Toggle.vue';
20
20
  * than re-declaring the surface at the consumer.
21
21
  */
22
22
  export declare const toggleVariants: (props?: ({
23
- variant?: "default" | "outline" | "glass" | "card" | null | undefined;
23
+ variant?: "default" | "outline" | "card" | null | undefined;
24
24
  size?: "default" | "sm" | "lg" | null | undefined;
25
25
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
26
26
  export type ToggleVariants = VariantProps<typeof toggleVariants>;
@@ -1,16 +1,10 @@
1
1
  import { type HTMLAttributes } from 'vue';
2
2
  import { type ToggleGroupRootProps } from 'reka-ui';
3
- import { type ToggleGroupRegister, type ToggleGroupVariants } from './toggleGroupContext';
3
+ import { type ToggleGroupVariants } from './toggleGroupContext';
4
4
  type __VLS_Props = ToggleGroupRootProps & {
5
5
  class?: HTMLAttributes['class'];
6
6
  variant?: ToggleGroupVariants['variant'];
7
7
  size?: ToggleGroupVariants['size'];
8
- /**
9
- * The MATERIAL register (E21/E23 — d-glassui M2). `register="glass"` moves
10
- * every item onto the control-glass chip tier (wash-rest, quiet-on-select)
11
- * without each call-site naming `variant="glass"`. An explicit `variant` wins.
12
- */
13
- register?: ToggleGroupRegister;
14
8
  };
15
9
  declare var __VLS_8: {};
16
10
  type __VLS_Slots = {} & {
@@ -1,12 +1,10 @@
1
1
  import { type HTMLAttributes } from 'vue';
2
2
  import { type ToggleGroupItemProps } from 'reka-ui';
3
- import { type ToggleGroupRegister, type ToggleGroupVariants } from './toggleGroupContext';
3
+ import { type ToggleGroupVariants } from './toggleGroupContext';
4
4
  type __VLS_Props = ToggleGroupItemProps & {
5
5
  class?: HTMLAttributes['class'];
6
6
  variant?: ToggleGroupVariants['variant'];
7
7
  size?: ToggleGroupVariants['size'];
8
- /** Per-item material register override (E21/E23). Group `register` propagates by default. */
9
- register?: ToggleGroupRegister;
10
8
  };
11
9
  declare var __VLS_8: {};
12
10
  type __VLS_Slots = {} & {
@@ -10,22 +10,9 @@ import type { toggleVariants } from "../toggle";
10
10
  * `inject<ToggleGroupVariants>("toggleGroup")` pair.
11
11
  */
12
12
  export type ToggleGroupVariants = VariantProps<typeof toggleVariants>;
13
- /**
14
- * The MATERIAL register a toggle group wears (E21/E23 — d-glassui M2). `"glass"`
15
- * moves every item onto the control-glass chip tier (wash-rest, quiet-on-select,
16
- * one rung quieter than the host hull) WITHOUT each call-site opting into the
17
- * heavyweight `card` variant. It is the semantic chrome-tier alias for
18
- * `variant: "glass"`: a group-level register, not a per-item style override.
19
- * Omitted ⇒ the flat default register (back-compat). An EXPLICIT item/group
20
- * `variant` still wins over the register (the register only supplies the variant
21
- * when none is named).
22
- */
23
- export type ToggleGroupRegister = "glass";
24
13
  export interface ToggleGroupContext {
25
14
  variant: ToggleGroupVariants["variant"];
26
15
  size: ToggleGroupVariants["size"];
27
- /** The material register (E21/E23). Resolves to `variant: "glass"` when set. */
28
- register?: ToggleGroupRegister;
29
16
  }
30
17
  export declare const TOGGLE_GROUP_KEY: import("vue").InjectionKey<ToggleGroupContext>;
31
18
  export declare function provideToggleGroupContext(context: ToggleGroupContext): void;
@@ -109,6 +109,18 @@ export interface DeriveBlobPaletteOptions {
109
109
  hueSpread?: number;
110
110
  /** Midpoint chroma-bump (keeps a vivid pair off the grey midpoint). Default ~0.03. */
111
111
  chromaBump?: number;
112
+ /**
113
+ * AY.W-COHERE E1 — the OKLCh-chroma CEILING on every derived stop (OKLCh C
114
+ * units). When set, each stop's chroma is clamped to AT MOST this value AFTER
115
+ * the midpoint bump and BEFORE the gamut-map — so the seed→palette derivation
116
+ * can never amplify a vivid seed into the neon register the shader's
117
+ * SSS/iridescence then over-drives. This is a CHROMA CAP, not a hue re-map: a
118
+ * blue seed stays blue, just bounded to the non-neon chroma. `undefined` (the
119
+ * default) leaves the derivation byte-identical to HEAD. The blob substrate
120
+ * caps the MOOD/seed path into the warm-register band the FourierField comet +
121
+ * the constellation focal share (the set-cohesion accent identity).
122
+ */
123
+ chromaCeiling?: number;
112
124
  }
113
125
  /**
114
126
  * Seed ONE color into a harmonious, gamut-safe 2-4-stop OKLCh palette for the blob
@@ -9,7 +9,7 @@ export type DarkFlipSettledCallback = (isDark: boolean) => void;
9
9
  * The `useGlobalDark` return shape (AW.W15 — named `Use<Name>Return`). The
10
10
  * single shared dark-mode instance: the reactive `isDark` flag, a `toggleDark`
11
11
  * that optionally suppresses transitions, the transition-suppression switch, and
12
- * the post-flip settle hook (E9b).
12
+ * the post-flip settle hook (BA.W-ATLAS-RECONCILE A-1 — d6 9467bd16 adopt).
13
13
  */
14
14
  export interface UseGlobalDarkReturn {
15
15
  /** Reactive dark-mode flag (vueuse `useDark` ref — writable). */
@@ -21,17 +21,19 @@ export interface UseGlobalDarkReturn {
21
21
  /** Configure transition suppression during the dark-mode toggle. */
22
22
  setDisableTransitions: (value: boolean) => void;
23
23
  /**
24
- * E9b — the post-flip SETTLE hook. Register a callback that runs in ONE
25
- * coalesced task AFTER each dark↔light flip's instant chrome paint, so
26
- * consumers BATCH N expensive re-theme operations (e.g. an atlas's N-chart
27
- * `merge-setOption` palette tween) into a single beat instead of N watchers
28
- * firing in N sequential storms on the critical frame. The class toggle is
29
- * synchronous (chrome flips instantly); the batch drains one frame later via a
30
- * single `requestAnimationFrame` (an SSR/no-rAF env falls back to a macrotask).
31
- * EVERY registered callback shares that ONE task — no per-subscriber scheduling.
32
- * No View Transition is involved anywhere in this path (PRM-safe by
33
- * construction). Returns an unsubscribe function. Idempotent re-registration
34
- * of the same callback is a no-op.
24
+ * BA.W-ATLAS-RECONCILE A-1 — the post-flip SETTLE hook. Register a callback
25
+ * that runs in ONE coalesced task AFTER each dark↔light flip's instant chrome
26
+ * paint, so consumers BATCH N expensive re-theme operations (e.g. the atlas's
27
+ * palette memo + N-chart `merge-setOption` palette tween + aurora
28
+ * re-derivation) into a single beat instead of N watchers firing in N
29
+ * sequential storms on the critical frame. The class toggle is synchronous
30
+ * (chrome flips instantly); the batch drains one frame later via a single
31
+ * `requestAnimationFrame` (an SSR/no-rAF env falls back to a macrotask).
32
+ * EVERY registered callback shares that ONE task — no per-subscriber
33
+ * scheduling. No View Transition is involved anywhere in this path (PRM-safe
34
+ * by construction — a flip is a CSS-class swap, not a DOM mutation to
35
+ * snapshot). Returns an unsubscribe function. Idempotent re-registration of
36
+ * the same callback is a no-op.
35
37
  */
36
38
  onFlipSettled: (callback: DarkFlipSettledCallback) => () => void;
37
39
  }
@@ -1,4 +1,3 @@
1
- export { useGlassRenderer, createGlassFilter, destroyGlassFilter, type GlassTier, type GlassFilterState, type UseGlassRendererReturn, } from "./useGlassRenderer";
2
1
  export { useSpecularTracking } from "./useSpecularTracking";
3
2
  export type { UseSpecularTracking } from "./useSpecularTracking";
4
3
  export { useCanvas2D, useCanvasLifecycle, resolveCanvasColor } from "./canvas2d";
@@ -0,0 +1,59 @@
1
+ import { type Ref } from "vue";
2
+ /** The discrete bucket the observer derives + writes (re-engages the W55 machinery). */
3
+ export type GlassBackdropBucket = "light" | "dark";
4
+ export interface UseGlassBackdropLuminanceOptions {
5
+ /**
6
+ * The KNOWN background-layer source for the ANIMATED case — an HTMLCanvasElement
7
+ * (or a getter / a CSS selector resolved against the document). When present, the
8
+ * observer downsamples this canvas under the surface's bounding box each settle
9
+ * instead of the static `elementsFromPoint` stack-walk. The aurora/blob `<canvas>`
10
+ * the surface floats over.
11
+ */
12
+ backgroundCanvas?: HTMLCanvasElement | (() => HTMLCanvasElement | null) | string | null;
13
+ /**
14
+ * Force the LIVE periodic re-sample loop on (mirrors the `data-glass-sample="live"`
15
+ * attribute on the target). Default: read from the target's
16
+ * `data-glass-sample === "live"` attribute. The static page case samples once on
17
+ * mount + resize-settle; the live case re-samples on the throttled loop.
18
+ */
19
+ live?: boolean;
20
+ /**
21
+ * The luminance threshold above which the backdrop is `light` (engages the darken).
22
+ * Default 0.6 — a near-white page surface (luma ≈ 0.9) is light; a dark substrate
23
+ * (luma ≈ 0.1) is dark; a mid aurora bleed crosses here.
24
+ */
25
+ lightThreshold?: number;
26
+ /**
27
+ * Minimum milliseconds between samples on the live loop (the ≤ 4 Hz throttle floor).
28
+ * Default 250 (4 Hz). Bounded ≥ 250 (the budget floor — a faster sample is the
29
+ * C5-9 frame-budget risk the H3 arm-(a) default-on profile must hold).
30
+ */
31
+ minSampleIntervalMs?: number;
32
+ /**
33
+ * Write the discrete `--glass-backdrop` bucket too (re-engages the @container +
34
+ * self-engage machinery). Default true. When false, only the numeric
35
+ * `--glass-backdrop-luma` is written (a continuous-strength consumer).
36
+ */
37
+ writeBucket?: boolean;
38
+ }
39
+ export interface UseGlassBackdropLuminanceControls {
40
+ /** The last sampled backdrop relative luminance (0..1), or null before the first sample. */
41
+ readonly luma: Readonly<Ref<number | null>>;
42
+ /** The last derived bucket, or null before the first sample. */
43
+ readonly bucket: Readonly<Ref<GlassBackdropBucket | null>>;
44
+ /** Force one sample now (bypasses the throttle — used on mount + resize-settle). */
45
+ sampleNow: () => void;
46
+ /** Stop the loop + detach every observer/listener. */
47
+ dispose: () => void;
48
+ }
49
+ /**
50
+ * The sampled-luminance observer. Wire it on a glass surface (the dock root, a
51
+ * content-glass panel) to write a DYNAMIC backdrop-luminance signal that refines the
52
+ * W55 declarative bucket. Default-on for the dock (H3 arm a); a dark-substrate consumer
53
+ * opts out by setting `--glass-tint-strength: 0%` on the surface (the declarative floor
54
+ * stays the guarantee — the observer only refines).
55
+ *
56
+ * @param target the glass surface element ref to sample under + write the tokens on
57
+ * @param options sampling source, throttle, threshold (see the interface)
58
+ */
59
+ export declare function useGlassBackdropLuminance(target: Ref<HTMLElement | null>, options?: UseGlassBackdropLuminanceOptions): UseGlassBackdropLuminanceControls;
@@ -21,13 +21,22 @@ import { ref, type CSSProperties } from "vue";
21
21
  *
22
22
  * PRM-aware: under `prefers-reduced-motion: reduce` the seam DOES NOT write the
23
23
  * position (the CSS half pins the catch-light static at the centred `50%`
24
- * fallback). The write is style-only — no reflow, no re-render — and inert until
25
- * the user actually moves the pointer over a wired host.
24
+ * fallback). The PRM signal is read from a SINGLE cached `matchMedia` listener
25
+ * minted once at composable setup (NOT a fresh `matchMedia` per pointer event) —
26
+ * the AV.W7 `useWebGLCanvas` substrate pattern.
27
+ *
28
+ * AY.W-A11Y-PERF O-3 — the pointer write is rAF-COALESCED: `onPointerMove` only
29
+ * stashes the raw event + schedules ONE `requestAnimationFrame`; the rAF callback
30
+ * does the single `getBoundingClientRect()` + style write, so a 120–1000 Hz pointer
31
+ * collapses to ONE batched layout read + ONE style write per animation frame (under
32
+ * W54 maximal-glass every blurred-surface repaint is amortized to the frame, not the
33
+ * event). The composable cancels the pending rAF + removes the matchMedia listener on
34
+ * scope dispose (cleanup discipline).
26
35
  */
27
36
  export interface UseSpecularTracking {
28
37
  /** Bind to the host element's `:style`. Carries the `--mouse-x/--mouse-y` write. */
29
38
  specularStyle: ReturnType<typeof ref<CSSProperties>>;
30
- /** Bind to the host's `@pointermove`. Writes the cursor position (PRM-gated). */
39
+ /** Bind to the host's `@pointermove`. Schedules the rAF-coalesced position write (PRM-gated). */
31
40
  onPointerMove: (event: PointerEvent) => void;
32
41
  }
33
42
  export declare function useSpecularTracking(): UseSpecularTracking;
@@ -7,6 +7,6 @@ export * from "../useIntersectionPause";
7
7
  export * from "../useYieldToMain";
8
8
  export * from "../usePrioritizedTask";
9
9
  export * from "../useViewTransition";
10
- export * from "../useRouteTransition";
11
10
  export * from "../vReveal";
12
11
  export * from "../useTextHighlight";
12
+ export * from "../useLiquidFlex";
@@ -0,0 +1,48 @@
1
+ import { type easeInQuad } from "@mkbabb/value.js";
2
+ import { type Easing, type TimingFunction } from "@mkbabb/keyframes.js";
3
+ /** A value.js easing callable `(t: number) => number` (the family's shape). */
4
+ export type CurveFn = typeof easeInQuad;
5
+ /** The kind of a `MOTION_CURVES` row — a spring `linear()` or a cubic-bezier. */
6
+ export type MotionCurveKind = "spring" | "bezier";
7
+ /**
8
+ * One row of the CSS↔JS curve table. CANONICAL rows carry their own JS twin;
9
+ * ALIAS rows resolve through a `canonical` target (no duplicated twin).
10
+ */
11
+ export interface MotionCurve {
12
+ /** The CSS token name, including the leading `--`. */
13
+ readonly token: `--${string}`;
14
+ /** `spring` (a solved `linear()` token) or `bezier` (a cubic-bezier token). */
15
+ readonly kind: MotionCurveKind;
16
+ /**
17
+ * The JS twin — a callable `Easing` (springs, via `springTimingFunction`) or a
18
+ * `TimingFunction` (`(t) => number`, beziers via `CSSCubicBezier`). For ALIAS
19
+ * rows this is the canonical row's twin (resolve-through, not a copy).
20
+ */
21
+ readonly js: Easing | TimingFunction;
22
+ /**
23
+ * For an ALIAS row: the canonical `--token` this resolves through. `undefined`
24
+ * on a canonical row.
25
+ */
26
+ readonly canonical?: `--${string}`;
27
+ /** The register doc (springs lift it from the shared preset table). */
28
+ readonly note: string;
29
+ }
30
+ /**
31
+ * The CSS↔JS curve table, keyed by CSS token name. Covers EVERY `--ease-*` /
32
+ * `--spring-*` token declared in `tokens.css §2` + `theme.css` (CURVE-TABLE-BOUND
33
+ * gate §3.2). Spring rows carry a keyframes.js `Easing`; bezier rows a value.js
34
+ * `TimingFunction`; alias rows resolve through their `canonical` target.
35
+ *
36
+ * @example
37
+ * import { MOTION_CURVES } from "@mkbabb/glass-ui/motion";
38
+ * const easing = MOTION_CURVES["--spring-snappy"].js; // the iOS-control twin
39
+ * new NumericAnimation(frames, { timingFunction: easing });
40
+ */
41
+ export declare const MOTION_CURVES: Readonly<Record<string, MotionCurve>>;
42
+ /** The canonical (non-alias) curve rows, in declaration order. */
43
+ export declare const MOTION_CURVES_CANONICAL: readonly MotionCurve[];
44
+ /** Look up a curve's JS twin by CSS token name (throws on an unknown token). */
45
+ export declare function motionCurve(token: string): MotionCurve;
46
+ export { linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInSine, easeOutSine, easeInOutSine, easeInCirc, easeOutCirc, easeInOutCirc, easeInExpo, easeOutExpo, easeInOutExpo, easeInBounce, CSSCubicBezier, } from "@mkbabb/value.js";
47
+ export { SPRING_PRESETS, springPreset } from "./springPresets";
48
+ export type { SpringPresetRow, SpringPresetName } from "./springPresets";
@@ -6,3 +6,5 @@ export * from "./useNumericTransition";
6
6
  export * from "./useAnimatedNumber";
7
7
  export * from "./useAnimatedNumberMap";
8
8
  export * from "./useCountup";
9
+ export * from "./suite";
10
+ export { SPRING_PRESETS, springPreset, type SpringPresetRow, type SpringPresetName, } from "./springPresets";
@@ -0,0 +1,33 @@
1
+ /** A glass-ui named-spring preset name. */
2
+ export type SpringPresetName = "smooth" | "snappy" | "bouncy" | "gentle" | "dock";
3
+ /** One named-spring row: the analytic (response, dampingFraction) pair + its register doc. */
4
+ export interface SpringPresetRow {
5
+ /** The token suffix — `--spring-<name>` (CSS) and the `MOTION_CURVES` key. */
6
+ readonly name: SpringPresetName;
7
+ /** Response time in seconds (the spring's `response` solver input). */
8
+ readonly response: number;
9
+ /** Damping fraction ζ (1 = critical; <1 overshoots). */
10
+ readonly dampingFraction: number;
11
+ /** The register this curve serves (the doc-table derives from this one string). */
12
+ readonly comment: string;
13
+ }
14
+ /**
15
+ * iOS-canonical (response, dampingFraction) pairs per AL-X4 §3. The names match
16
+ * the `--spring-*` CSS tokens AND the speedtest CSS consumers that read
17
+ * `var(--spring-smooth)` etc. directly, so they MUST stay stable across retunes —
18
+ * only the `(response, ζ)` pair and the emitted curves change.
19
+ *
20
+ * GOVERNED iOS-SPRING VOCABULARY (AX.W05) — the SINGLE source of the register
21
+ * vocabulary. Each row's `comment` names the surface-class that rides it:
22
+ *
23
+ * SETTLE → smooth — patient entrances, fades, scale-ins (no overshoot read).
24
+ * CONTROL → snappy — crisp position morphs: tab underline glide, progress fill,
25
+ * the continuous-marker pop, the generic crisp settle.
26
+ * PLAYFUL → bouncy — deliberate emphatic one-shots ONLY: the bouncy toggle press,
27
+ * dialog/success entrances, the VT default. Largest overshoot.
28
+ * GENTLE → gentle — critically-damped slow settles (the patient end of the ladder).
29
+ * DOCK → dock — the dock expand/collapse morph AND everything inside it.
30
+ */
31
+ export declare const SPRING_PRESETS: readonly SpringPresetRow[];
32
+ /** Lookup one preset row by name (used by `MOTION_CURVES` spring rows). */
33
+ export declare function springPreset(name: SpringPresetName): SpringPresetRow;
@@ -0,0 +1,2 @@
1
+ export { NumericAnimation, SpringProgress, SmoothProgress, Sequence, Timeline, ManualTimeline, RAFPlayback, ScrollTimeline, createNativeTimeline, flip, flipShared, ElementMorph, drag, Draggable, decay, decayRest, stagger, springTimingFunction, springLinearStops, toEasing, resolveEasing, AnimationOptionError, UnknownEasingError, loadAnimationEngine, } from "@mkbabb/keyframes.js";
2
+ export type { Easing, TimingFunction, TimingFunctionNames, SpringProgressOptions, SpringFrameCallback, SpringSubscriber, SpringLinearStopsOptions, SpringTimingFunctionOptions, SmoothProgressOptions, NumericAnimationOptions, NumericFrameCallback, SequenceEntry, SequenceOptions, SequencePosition, TimelineOptions, NativeTimelineSpec, RAFPlaybackOptions, Tickable, FlipOptions, ElementMorphOptions, MorphRect, DragOptions, DragAxis, DragSubscriber, DecayOptions, DecaySample, StaggerFn, StaggerOptions, StaggerOrigin, AnimationEngine, AnimationOptions, AnimationFrame, AnimateOptions, InputAnimationOptions, ResolvedKeyframes, Vars, } from "@mkbabb/keyframes.js";
@@ -0,0 +1,85 @@
1
+ import { type ComputedRef, type Ref } from "vue";
2
+ export type LiquidFlexAxis = "width" | "height";
3
+ export interface UseLiquidFlexParams {
4
+ /**
5
+ * The size span endpoints, in px. `from` is the `t=0` size, `to` is the `t=1`
6
+ * size. Either may be a getter (a live FLIP-measured `to`) or a plain number.
7
+ */
8
+ from: number | (() => number);
9
+ to: number | (() => number);
10
+ /** Which dimension the size span drives (the squish is reciprocal across it). */
11
+ axis: LiquidFlexAxis;
12
+ /**
13
+ * The LOW squish cap — the maximum `--stretch` the travel can reach (a +N%
14
+ * elongation along the travel axis). Defaults to 1.08 (the iOS-segmented register
15
+ * the tabs-indicator already speaks — `DEFAULT_INDICATOR_MAX_STRETCH`). Kept LOW:
16
+ * the liquid register is a lively settle, never a rubber-band taffy-pull. May be a
17
+ * getter so a consumer reading a live cascade override (`--tab-indicator-max-
18
+ * stretch`) re-resolves the cap per-read without reconstructing the primitive.
19
+ */
20
+ maxStretch?: number | (() => number);
21
+ /**
22
+ * The tanh saturation constant `k` in `1 + tanh(|ṫ|·k)·(max−1)`. Higher `k`
23
+ * reaches the cap on a slower travel. Defaults to 1.6 (the metaball shader's
24
+ * `sa = 1 + tanh(speed·1.6)·uStretch` constant — the SAME curve, reconciled).
25
+ * Read only in the `"tanh"` squish mode (the default).
26
+ */
27
+ squishK?: number;
28
+ /**
29
+ * The squish curve law:
30
+ * • `"tanh"` (DEFAULT) — `1 + tanh(|ṫ|·squishK)·(max−1)`, the SATURATING
31
+ * velocity-driven register the metaball shader runs and the morph-showcase
32
+ * drives off the spring derivative. A fast travel reads as a lively swell
33
+ * capped at `max`, never a taffy-pull.
34
+ * • `"linear"` — `1 + travel·(max−1)`, the geometry-relative register the
35
+ * tabs-indicator speaks (`travel` is the travel FRACTION 0→1, so a
36
+ * full-track jump reaches the cap and a neighbour hop stays near 1). This is
37
+ * the load-bearing local detail of the indicator squish (§7) — selected here
38
+ * so the reconcile is byte-identical, not a curve change.
39
+ */
40
+ squishLaw?: "tanh" | "linear";
41
+ }
42
+ export interface UseLiquidFlexReturn {
43
+ /** The live normalized progress (0→1), last value handed to `drive`. */
44
+ t: Readonly<Ref<number>>;
45
+ /** The interpolated size in px: `from + (to − from)·t`. */
46
+ size: ComputedRef<number>;
47
+ /**
48
+ * The volume-preserving squish scalar (≥1). 1 at rest; rises toward `maxStretch`
49
+ * as the travel velocity grows, capped at `maxStretch`. The consumer pairs it
50
+ * reciprocally (`scale: var(--stretch) calc(1 / var(--stretch))` along the axis).
51
+ */
52
+ stretch: ComputedRef<number>;
53
+ /**
54
+ * The size as a CSS length style object, keyed on `axis` (`{ width: "Npx" }` or
55
+ * `{ height: "Npx" }`). Bind on the morphing element's style.
56
+ */
57
+ sizeStyle: ComputedRef<Record<string, string>>;
58
+ /**
59
+ * The squish as a CSS custom-property style object (`{ "--stretch": "1.04" }`).
60
+ * The SFC's CSS pairs `--stretch` reciprocally along the travel axis.
61
+ */
62
+ stretchStyle: ComputedRef<Record<string, string>>;
63
+ /**
64
+ * Advance the morph: set the normalized progress to `next` (0→1). The squish
65
+ * travel velocity is the |Δt| since the prior `drive`, so calling `drive` on a
66
+ * spring's per-frame value gives a squish that swells on a fast travel and
67
+ * relaxes to 1 as the value settles (no free-running timer — the SAME drive calls
68
+ * carry the release). This is the morph consumer's path (it owns a size span).
69
+ */
70
+ drive(next: number): void;
71
+ /**
72
+ * Set the squish-travel input DIRECTLY (the squish-only consumer's path — the
73
+ * tabs-indicator has no size span; it feeds its geometry-relative travel
74
+ * fraction here). In `"linear"` law `travel` is the 0→1 fraction; in `"tanh"`
75
+ * law it is the velocity magnitude. Releasing the squish to fit is a `squish(0)`
76
+ * call (the tabs-indicator's release-to-1 step rides the same input).
77
+ */
78
+ squish(travel: number): void;
79
+ }
80
+ /**
81
+ * The shared amorphous flex+squish primitive. PURE projection of a caller-driven
82
+ * normalized scalar onto a size span + a volume-preserving squish — no spring, no
83
+ * rAF, no element. See the module header for the W-LIQUID reconcile rationale.
84
+ */
85
+ export declare function useLiquidFlex(params: UseLiquidFlexParams): UseLiquidFlexReturn;
@@ -1,6 +1,6 @@
1
1
  import { type Ref } from "vue";
2
2
  import { type SpringRef } from "./useSpring";
3
- /** Named iOS spring presets (mirrors X1 §2.3 / tokens.css §2). */
3
+ /** Named iOS spring presets the mount register exposes (the dock register is not a mount enter). */
4
4
  export type SpringPreset = "smooth" | "snappy" | "bouncy" | "gentle";
5
5
  export interface UseSpringMountOptions {
6
6
  /**
@@ -5,6 +5,17 @@
5
5
  * (one symmetric curve), which is functionally identical (the swap still runs). */
6
6
  export interface ViewTransitionOptions {
7
7
  types?: string[];
8
+ /**
9
+ * BA.W-ATLAS-RECONCILE A-4b — take the JS-level INSTANT path under
10
+ * `prefers-reduced-motion: reduce` (run `mutate` directly, NO snapshot
11
+ * captured). The HEAD default pushes PRM to CSS only (`view-transition.css`
12
+ * sets `animation: none` on the VT pseudos) — but that STILL captures a
13
+ * snapshot. For the navigation case a reduced-motion user wants the swap to
14
+ * happen with no transition machinery at all; `navigate()` sets this true.
15
+ * Defaults to `false` so the existing sync-VT consumers (muster J.W5 row
16
+ * re-rank) keep their exact CSS-handled PRM behaviour. @default false
17
+ */
18
+ instantUnderReducedMotion?: boolean;
8
19
  }
9
20
  export interface ViewTransitionResult {
10
21
  /**
@@ -43,4 +54,28 @@ export declare function supportsViewTransitions(): boolean;
43
54
  * // directional intent — snappier exit on collapse, softer entry on expand
44
55
  * startViewTransition(() => mutate(), { types: ["dock-expand"] });
45
56
  */
46
- export declare function startViewTransition(mutate: () => void, options?: ViewTransitionOptions): ViewTransitionResult;
57
+ export declare function startViewTransition(mutate: () => void | Promise<void>, options?: ViewTransitionOptions): ViewTransitionResult;
58
+ /** Options for `navigate` — the directional transition `types` (Chrome 140+,
59
+ * feature-detected; tag `["forward"]`/`["back"]` off the navigation direction). */
60
+ export type NavigateOptions = ViewTransitionOptions;
61
+ /**
62
+ * Run a (possibly ASYNC) navigation callback wrapped in a View Transition, with
63
+ * the reduced-motion + unsupported instant-paths. The navigation ALWAYS runs
64
+ * (awaited); the morph is conditional on support + motion preference. Returns the
65
+ * same `{ finished, transitioned }` contract — `await navigate(go).finished` then
66
+ * route focus (the a11y MANDATORY).
67
+ *
68
+ * @example the card → masthead route morph
69
+ * // both the card title + masthead title carry
70
+ * // view-transition-class: gl-shared-element; view-transition-name: dash-title
71
+ * await navigate(() => router.push(`/${slug}`), { types: ["forward"] }).finished;
72
+ * mastheadTitle.value?.focus();
73
+ */
74
+ export declare function navigate(nav: () => void | Promise<void>, options?: NavigateOptions): ViewTransitionResult;
75
+ /**
76
+ * True when the route-transition morph can run (native VT available). A consumer
77
+ * gates VT-only navigation styling on this (alias of `supportsViewTransitions`
78
+ * named for the navigation call site). Under reduced motion the `navigate` helper
79
+ * still takes the instant path even when this is `true`.
80
+ */
81
+ export declare function supportsRouteTransitions(): boolean;
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-DxAqksK6.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-kiIlun8I.js";
2
2
  export { e as CONFIGURATOR_DENSITY_KEY, t as Configurator, i as ConfiguratorLayer, n as ConfiguratorRow, r as provideConfiguratorDensity, o as useConfiguratorState, a as useOptionalConfiguratorDensity };
@@ -1,6 +1,6 @@
1
- import { t as e } from "./createLucideIcon-B6uNAU9G.js";
2
- import { n as t } from "./button-DN39cGqL.js";
3
- import { t as n } from "./_plugin-vue_export-helper-ok8pgSl5.js";
1
+ import { t as e } from "./createLucideIcon-DydS2qgk.js";
2
+ import { n as t } from "./button-BNDWhAZb.js";
3
+ import { t as n } from "./_plugin-vue_export-helper-CBt_VvXa.js";
4
4
  import { Transition as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeModels as d, openBlock as f, renderSlot as p, toDisplayString as m, unref as h, useModel as g, withCtx as _, withKeys as v, withModifiers as y } from "vue";
5
5
  var b = e("loader-circle", [["path", {
6
6
  d: "M21 12a9 9 0 1 1-6.219-8.56",