@mkbabb/glass-ui 3.11.2 → 3.13.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 (360) hide show
  1. package/dist/{CardAction-DuArVky-.js → CardAction-Cj2eycQ2.js} +2 -2
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-RowNEO6i.js} +4 -4
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-BQmxTAdw.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-BCddn3T3.js} +3 -3
  5. package/dist/{DialogContent-BRkT1cjP.js → DialogContent-Dl9WkAoS.js} +3 -3
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-Blu4t7tJ.js} +2 -2
  7. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CISOJQuZ.js} +1 -1
  8. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DPzE09X9.js} +1 -1
  9. package/dist/MetricBadge-C9QMz1KT.js +79 -0
  10. package/dist/{Notification-DLMhblXR.js → Notification-DdwNxIrI.js} +2 -2
  11. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CqaN-SvN.js} +3 -3
  12. package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-BYwt2-4x.js} +1 -1
  13. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DfFrwSph.js} +1 -1
  14. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-CiDUxfEj.js} +6 -6
  15. package/dist/{Switch-Ch-k3Rv-.js → Switch-CsIuYP_e.js} +1 -1
  16. package/dist/{TabsList-B8CVOQPC.js → TabsList-Dttss653.js} +9 -5
  17. package/dist/{Toaster-1rYWrmAm.js → Toaster-D6q4HtXu.js} +50 -47
  18. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-D_AHlRw9.js} +18 -22
  19. package/dist/animated-digit.js +2 -2
  20. package/dist/api/index.d.ts +5 -2
  21. package/dist/api.js +2 -2
  22. package/dist/aurora.js +69 -69
  23. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{button-DN39cGqL.js → button-ChXMfsud.js} +12 -12
  26. package/dist/button.js +1 -1
  27. package/dist/card.js +1 -1
  28. package/dist/carousel.js +8 -8
  29. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  30. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  31. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  32. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  33. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  34. package/dist/{color-C5ls_QF7.js → color-CUYeFbgd.js} +9 -7
  35. package/dist/color.js +1 -1
  36. package/dist/command.js +1 -1
  37. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  38. package/dist/components/custom/aurora/constants/presets.d.ts +5 -62
  39. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  40. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  41. package/dist/components/custom/aurora/index.d.ts +1 -1
  42. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  43. package/dist/components/custom/constellation/Constellation.vue.d.ts +74 -6
  44. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  45. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  46. package/dist/components/custom/constellation/constants.d.ts +61 -0
  47. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  48. package/dist/components/custom/constellation/constellationField.d.ts +116 -149
  49. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  50. package/dist/components/custom/constellation/index.d.ts +5 -2
  51. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  52. package/dist/components/custom/dock/DockRail.vue.d.ts +88 -0
  53. package/dist/components/custom/dock/DockTabButton.vue.d.ts +3 -4
  54. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  55. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  56. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  57. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  58. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  59. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  60. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  62. package/dist/components/custom/dock/constants.d.ts +48 -0
  63. package/dist/components/custom/dock/index.d.ts +3 -0
  64. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +5 -37
  65. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  66. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  67. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  68. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  69. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -8
  72. package/dist/components/custom/goo-blob/constants.d.ts +52 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  74. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  75. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  76. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  77. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  78. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  79. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  80. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  81. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  83. package/dist/components/custom/tabs/constants.d.ts +12 -0
  84. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
  85. package/dist/components/custom/underline/index.d.ts +2 -0
  86. package/dist/components/custom/underline/types.d.ts +56 -0
  87. package/dist/components/ui/card/Card.vue.d.ts +15 -3
  88. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  89. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  90. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  91. package/dist/components/ui/slider/index.d.ts +22 -19
  92. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  93. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  94. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  95. package/dist/components/ui/toggle/index.d.ts +1 -1
  96. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  97. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  98. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  99. package/dist/composables/color/index.d.ts +12 -0
  100. package/dist/composables/dark/index.d.ts +1 -1
  101. package/dist/composables/dark/useGlobalDark.d.ts +1 -21
  102. package/dist/composables/glass/index.d.ts +0 -1
  103. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  104. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  105. package/dist/composables/motion/core/index.d.ts +1 -1
  106. package/dist/composables/motion/curves.d.ts +48 -0
  107. package/dist/composables/motion/index.d.ts +2 -0
  108. package/dist/composables/motion/springPresets.d.ts +33 -0
  109. package/dist/composables/motion/suite.d.ts +2 -0
  110. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  111. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  112. package/dist/configurator.js +1 -1
  113. package/dist/confirm-dialog.js +2 -2
  114. package/dist/constellation.js +336 -222
  115. package/dist/context-menu.js +2 -2
  116. package/dist/controls.js +47 -13
  117. package/dist/dark.d.ts +1 -1
  118. package/dist/dark.js +1 -1
  119. package/dist/data-table.js +1 -1
  120. package/dist/dialog.js +2 -2
  121. package/dist/dock.js +705 -365
  122. package/dist/dockContext-BegmJVmx.js +17 -0
  123. package/dist/dom.js +5 -5
  124. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DzkkyBwX.js} +11 -8
  125. package/dist/dropdown-menu.js +1 -1
  126. package/dist/expandable-container.js +39 -80
  127. package/dist/forms.js +5 -5
  128. package/dist/fourier-field.js +134 -99
  129. package/dist/fourier-math.js +2 -2
  130. package/dist/glass-panel.js +86 -20
  131. package/dist/glass-ui.css +1 -1
  132. package/dist/glass-ui.js +222 -212
  133. package/dist/goo-blob.js +243 -212
  134. package/dist/hover-card.js +1 -1
  135. package/dist/hover-popover.js +1 -1
  136. package/dist/icon-tooltip.js +1 -1
  137. package/dist/index.d.ts +1 -3
  138. package/dist/instrument-chassis.js +1 -1
  139. package/dist/keyboard.js +1 -1
  140. package/dist/label.js +1 -1
  141. package/dist/labeled-field.js +28 -18
  142. package/dist/{math-DTpRVC0e.js → math-U6-RrLmV.js} +18 -2
  143. package/dist/metric-badge.js +1 -1
  144. package/dist/metric-cell.js +25 -21
  145. package/dist/metric-stack.js +35 -34
  146. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  147. package/dist/motion-core.js +32 -137
  148. package/dist/motion-curves.d.ts +1 -0
  149. package/dist/motion-curves.js +130 -0
  150. package/dist/motion.js +38 -37
  151. package/dist/notification.js +1 -1
  152. package/dist/number-field.js +1 -1
  153. package/dist/paper-backdrop.js +1 -1
  154. package/dist/popover.js +1 -1
  155. package/dist/{presets-BP_ALM0m.js → presets-BKVyQfbt.js} +1 -14
  156. package/dist/progress.js +1 -1
  157. package/dist/reactive.js +2 -2
  158. package/dist/scrolling-text.js +1 -1
  159. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  160. package/dist/search.js +9 -9
  161. package/dist/select.js +3 -3
  162. package/dist/separator.js +1 -1
  163. package/dist/{sheet-VZEtNFvO.js → sheet-1fChZjtw.js} +3 -3
  164. package/dist/sheet.js +1 -1
  165. package/dist/{slider-ClgpP7EB.js → slider-B-JP2JlI.js} +4 -4
  166. package/dist/slider.js +1 -1
  167. package/dist/sortable-list.js +2 -2
  168. package/dist/springPresets--YdWTHtm.js +40 -0
  169. package/dist/stacked-icons.js +6 -6
  170. package/dist/styles/animations.css +29 -114
  171. package/dist/styles/cards.css +55 -0
  172. package/dist/styles/components.css +4 -1
  173. package/dist/styles/configurator.css +42 -0
  174. package/dist/styles/dock/layer-group.css +83 -25
  175. package/dist/styles/dock/layers.css +23 -1
  176. package/dist/styles/dock/morph-bridge.css +123 -0
  177. package/dist/styles/dock/morph.css +175 -45
  178. package/dist/styles/dock/overflow.css +51 -1
  179. package/dist/styles/dock/rail-extend.css +300 -0
  180. package/dist/styles/dock/shell.css +63 -105
  181. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  182. package/dist/styles/dock-controls/icon-button.css +133 -0
  183. package/dist/styles/dock-controls/tab-button.css +202 -0
  184. package/dist/styles/dock-controls/touch-floor.css +94 -0
  185. package/dist/styles/dock-controls/triggers.css +128 -0
  186. package/dist/styles/dock-controls.css +30 -595
  187. package/dist/styles/dock.css +2 -0
  188. package/dist/styles/drawer.css +2 -0
  189. package/dist/styles/floating-panel.css +17 -0
  190. package/dist/styles/glass/a11y-fallback.css +245 -0
  191. package/dist/styles/glass/ladder.css +337 -0
  192. package/dist/styles/glass/material.css +238 -0
  193. package/dist/styles/glass/progress-rail.css +78 -0
  194. package/dist/styles/glass/squircle.css +66 -0
  195. package/dist/styles/glass/surfaces.css +306 -0
  196. package/dist/styles/glass-refract.css +2 -0
  197. package/dist/styles/glass.css +31 -1188
  198. package/dist/styles/hover-popover.css +2 -0
  199. package/dist/styles/index.css +28 -14
  200. package/dist/styles/instrument-chassis.css +4 -0
  201. package/dist/styles/paper.css +2 -68
  202. package/dist/styles/segmented-tabs.css +275 -0
  203. package/dist/styles/theme/bridges.css +337 -0
  204. package/dist/styles/theme/dark.css +7 -0
  205. package/dist/styles/theme/literals.css +94 -0
  206. package/dist/styles/theme/radius.css +95 -0
  207. package/dist/styles/theme.css +26 -529
  208. package/dist/styles/tokens/color-radius.css +260 -0
  209. package/dist/styles/tokens/dark-arm.css +200 -0
  210. package/dist/styles/tokens/glass.css +440 -0
  211. package/dist/styles/tokens/light-dark.css +158 -0
  212. package/dist/styles/tokens/offsets-sizing.css +500 -0
  213. package/dist/styles/tokens/property-regs.css +169 -0
  214. package/dist/styles/tokens/scale-paper.css +366 -0
  215. package/dist/styles/tokens/scheme-motion.css +334 -0
  216. package/dist/styles/tokens/shadow.css +166 -0
  217. package/dist/styles/tokens.css +22 -2360
  218. package/dist/styles/typography.css +75 -21
  219. package/dist/styles/utilities/a11y-overrides.css +140 -0
  220. package/dist/styles/utilities/animate.css +26 -0
  221. package/dist/styles/utilities/base.css +365 -0
  222. package/dist/styles/utilities/btn.css +401 -0
  223. package/dist/styles/utilities/components.css +317 -0
  224. package/dist/styles/utilities.css +19 -1291
  225. package/dist/styles/view-transition.css +0 -51
  226. package/dist/switch.js +1 -1
  227. package/dist/tabs.js +91 -82
  228. package/dist/timeline.js +1 -1
  229. package/dist/toast.js +1 -1
  230. package/dist/toggle-group.js +1 -1
  231. package/dist/tooltip.js +1 -1
  232. package/dist/underline.d.ts +1 -0
  233. package/dist/underline.js +85 -0
  234. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C5I3wWd8.js} +1 -1
  235. package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-DAoeHVue.js} +8 -8
  236. package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-yhL4Wp-s.js} +3 -22
  237. package/dist/useLiquidFlex-BL0lLLN2.js +30 -0
  238. package/dist/useRAFLoop-Bxv0o6L5.js +109 -0
  239. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-Dlvx-L3v.js} +1 -1
  240. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  241. package/dist/useSpringMount-CI2jOstM.js +108 -0
  242. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-Dg7MQI1G.js} +1 -1
  243. package/dist/utils/coalesceMetric.d.ts +29 -0
  244. package/dist/utils/index.d.ts +1 -0
  245. package/dist/vReveal-CqaCz_mC.js +44 -0
  246. package/dist/watercolor-dot.js +11 -9
  247. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  248. package/package.json +78 -58
  249. package/src/styles/animations.css +29 -114
  250. package/src/styles/cards.css +53 -0
  251. package/src/styles/configurator.css +42 -0
  252. package/src/styles/dock/layer-group.css +83 -25
  253. package/src/styles/dock/layers.css +23 -1
  254. package/src/styles/dock/morph-bridge.css +123 -0
  255. package/src/styles/dock/morph.css +175 -45
  256. package/src/styles/dock/overflow.css +51 -1
  257. package/src/styles/dock/rail-extend.css +300 -0
  258. package/src/styles/dock/shell.css +63 -105
  259. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  260. package/src/styles/dock-controls/icon-button.css +133 -0
  261. package/src/styles/dock-controls/tab-button.css +202 -0
  262. package/src/styles/dock-controls/touch-floor.css +94 -0
  263. package/src/styles/dock-controls/triggers.css +128 -0
  264. package/src/styles/dock-controls.css +30 -595
  265. package/src/styles/dock.css +2 -0
  266. package/src/styles/floating-panel.css +15 -0
  267. package/src/styles/glass/a11y-fallback.css +245 -0
  268. package/src/styles/glass/ladder.css +337 -0
  269. package/src/styles/glass/material.css +238 -0
  270. package/src/styles/glass/progress-rail.css +78 -0
  271. package/src/styles/glass/squircle.css +66 -0
  272. package/src/styles/glass/surfaces.css +306 -0
  273. package/src/styles/glass.css +31 -1188
  274. package/src/styles/index.css +28 -14
  275. package/src/styles/paper.css +2 -68
  276. package/src/styles/segmented-tabs.css +271 -0
  277. package/src/styles/theme/bridges.css +337 -0
  278. package/src/styles/theme/dark.css +7 -0
  279. package/src/styles/theme/literals.css +94 -0
  280. package/src/styles/theme/radius.css +95 -0
  281. package/src/styles/theme.css +26 -529
  282. package/src/styles/tokens/color-radius.css +260 -0
  283. package/src/styles/tokens/dark-arm.css +200 -0
  284. package/src/styles/tokens/glass.css +440 -0
  285. package/src/styles/tokens/light-dark.css +158 -0
  286. package/src/styles/tokens/offsets-sizing.css +500 -0
  287. package/src/styles/tokens/property-regs.css +169 -0
  288. package/src/styles/tokens/scale-paper.css +366 -0
  289. package/src/styles/tokens/scheme-motion.css +334 -0
  290. package/src/styles/tokens/shadow.css +166 -0
  291. package/src/styles/tokens.css +22 -2360
  292. package/src/styles/typography.css +75 -21
  293. package/src/styles/utilities/a11y-overrides.css +140 -0
  294. package/src/styles/utilities/animate.css +26 -0
  295. package/src/styles/utilities/base.css +365 -0
  296. package/src/styles/utilities/btn.css +401 -0
  297. package/src/styles/utilities/components.css +317 -0
  298. package/src/styles/utilities.css +19 -1291
  299. package/src/styles/view-transition.css +0 -51
  300. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  301. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  302. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  303. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  304. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  305. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  306. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  307. package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
  308. package/dist/components/custom/handmark/brush.d.ts +0 -242
  309. package/dist/components/custom/handmark/freehand.d.ts +0 -69
  310. package/dist/components/custom/handmark/geometry.d.ts +0 -50
  311. package/dist/components/custom/handmark/index.d.ts +0 -21
  312. package/dist/components/custom/handmark/ink.d.ts +0 -11
  313. package/dist/components/custom/handmark/texture.d.ts +0 -39
  314. package/dist/components/custom/handmark/types.d.ts +0 -53
  315. package/dist/components/custom/handmark/useHandMark.d.ts +0 -87
  316. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  317. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  318. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  319. package/dist/deck-progress.d.ts +0 -1
  320. package/dist/deck-progress.js +0 -2
  321. package/dist/dockContext-BKeIMmNk.js +0 -9
  322. package/dist/handmark.d.ts +0 -1
  323. package/dist/handmark.js +0 -663
  324. package/dist/instrument-rail.d.ts +0 -1
  325. package/dist/instrument-rail.js +0 -2
  326. package/dist/styles/instrument-rail.css +0 -127
  327. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  328. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  329. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  330. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  331. package/dist/vReveal-zUIQk-rJ.js +0 -53
  332. package/src/styles/instrument-rail.css +0 -127
  333. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-CT3AS1WX.js} +0 -0
  334. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-Csywg3YF.js} +0 -0
  335. /package/dist/{Input-xuDwALQR.js → Input-DWQQIOC4.js} +0 -0
  336. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  337. /package/dist/{Label-zRfbQdCn.js → Label-r3WzWrsj.js} +0 -0
  338. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-DVLI2VRr.js} +0 -0
  339. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-DIXTtVq6.js} +0 -0
  340. /package/dist/{Progress-iEuD9pxG.js → Progress-DwlUKGbr.js} +0 -0
  341. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-aumMgWLs.js} +0 -0
  342. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-BQ_1Fcbp.js} +0 -0
  343. /package/dist/{Separator-D7sD7RKj.js → Separator-0JE6LtNu.js} +0 -0
  344. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  345. /package/dist/{compile-BOXjLUxu.js → compile-B7NGOBcP.js} +0 -0
  346. /package/dist/{constants-yKeKnE84.js → constants-CS75AWHG.js} +0 -0
  347. /package/dist/{createContext-B44Sah_H.js → createContext-BM46COQ-.js} +0 -0
  348. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  349. /package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DPiEarb0.js} +0 -0
  350. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  351. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Cc-H9ees.js} +0 -0
  352. /package/dist/{useInterval-Dsmqwi03.js → useInterval-iHludrxk.js} +0 -0
  353. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-Be3w_Rwk.js} +0 -0
  354. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-BhgdhOIj.js} +0 -0
  355. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-Dvn2RZJW.js} +0 -0
  356. /package/dist/{useSortable-C8ReQ50P.js → useSortable-muI29agz.js} +0 -0
  357. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-DmRYkOBx.js} +0 -0
  358. /package/dist/{useTimer-3xqf_54b.js → useTimer-Dzarvzuk.js} +0 -0
  359. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-B2h6jAM_.js} +0 -0
  360. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-B40FK4Pa.js} +0 -0
@@ -0,0 +1,84 @@
1
+ import type { TimingFunction } from "@mkbabb/keyframes.js";
2
+ import type { GlassUnderlinePaths } from "./types";
3
+ type __VLS_Props = {
4
+ /**
5
+ * Which clock drives the draw. `load` (default) — the draw is a
6
+ * `NumericAnimation` the parent's load `Sequence` fires once via `play()`.
7
+ * `scroll` — native `view()` keyframes, bidirectional, no JS. `static` —
8
+ * set drawn, no clock.
9
+ */
10
+ clock?: "load" | "scroll" | "static";
11
+ /**
12
+ * The render variant. `pen` is the only PROVEN, filter-free render.
13
+ * pencil | crayon | boil are UNPROVEN headroom — the API seam for a future
14
+ * wave, NOT shipped here (they render pen today).
15
+ */
16
+ variant?: "pen" | "pencil" | "crayon" | "boil";
17
+ /** The stroke colour. Defaults to `var(--primary)` (re-resolves under .dark). */
18
+ color?: string;
19
+ /** The load-clock draw duration (ms). Default 700. */
20
+ drawMs?: number;
21
+ /**
22
+ * The load-clock easing. Default `easeOutCubic` — doctrine-compliant (DEC-6):
23
+ * ink is an irreversible additive reveal, so an overshooting spring would lay
24
+ * ink past the end then retract it (the "never overshoot past gone" logic).
25
+ * The value.js `TimingFunction` type (already a peer) serves a consumer's own
26
+ * decelerating register (e.g. an expo).
27
+ */
28
+ easing?: TimingFunction;
29
+ /**
30
+ * The scroll-clock timeline name (DEC-5). Default the element's own `view()`.
31
+ * Bound as `--gu-timeline`; the CSS reads `animation-timeline:
32
+ * var(--gu-timeline, view())`. A consumer (`--beat-tl`, a named scroll
33
+ * timeline) passes its own.
34
+ */
35
+ timeline?: string;
36
+ /**
37
+ * The declarative third clock (DEC-2). A thin overlay ON the load clock:
38
+ * `undefined` (default) = source parity (seeds undrawn, parent fires
39
+ * `play()`); bound: rising edge → play() (under PRM → snap()), falling edge
40
+ * → reset to undrawn so re-activation REPLAYS, mount with `true` → plays.
41
+ * Only meaningful with `clock="load"` (the other clocks rest drawn).
42
+ */
43
+ active?: boolean;
44
+ /**
45
+ * The geometry escape (DEC-7). The FULL geometry tuple
46
+ * `{ stroke, ghost?, viewBox?, len? }` — a bare `d`-string escape silently
47
+ * breaks the dash model when the consumer geometry's viewBox/length differ.
48
+ * Defaults to the canonical pen + ghost.
49
+ */
50
+ paths?: GlassUnderlinePaths;
51
+ };
52
+ /**
53
+ * CLOCK A — draw the underline ONCE. The awaitable a parent's load `Sequence` fires
54
+ * as a causal link. Resolves a Promise so the Sequence can `await` it; under PRM it
55
+ * snaps to drawn in one paint and resolves immediately. A no-op for scroll/static.
56
+ */
57
+ declare function play(): Promise<void>;
58
+ /** Snap to terminal (drawn) — the PRM / interrupt path. */
59
+ declare function snap(): void;
60
+ declare var __VLS_1: {};
61
+ type __VLS_Slots = {} & {
62
+ default?: (props: typeof __VLS_1) => any;
63
+ };
64
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
65
+ play: typeof play;
66
+ snap: typeof snap;
67
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
68
+ active: boolean;
69
+ variant: "pen" | "pencil" | "crayon" | "boil";
70
+ color: string;
71
+ clock: "load" | "scroll" | "static";
72
+ drawMs: number;
73
+ easing: TimingFunction;
74
+ timeline: string;
75
+ paths: GlassUnderlinePaths;
76
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
77
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
78
+ declare const _default: typeof __VLS_export;
79
+ export default _default;
80
+ type __VLS_WithSlots<T, S> = T & {
81
+ new (): {
82
+ $slots: S;
83
+ };
84
+ };
@@ -0,0 +1,2 @@
1
+ export { default as GlassUnderline } from "./GlassUnderline.vue";
2
+ export type { GlassUnderlineClock, GlassUnderlineVariant, GlassUnderlinePaths, GlassUnderlineProps, GlassUnderlineExpose, } from "./types";
@@ -0,0 +1,56 @@
1
+ import type { TimingFunction } from "@mkbabb/keyframes.js";
2
+ /** Which clock drives the draw. */
3
+ export type GlassUnderlineClock = "load" | "scroll" | "static";
4
+ /**
5
+ * The render variant. `pen` is the only PROVEN, filter-free render (the masthead
6
+ * invariant). pencil | crayon | boil are UNPROVEN headroom — the API seam for a
7
+ * future wave, NOT shipped (they render pen today).
8
+ */
9
+ export type GlassUnderlineVariant = "pen" | "pencil" | "crayon" | "boil";
10
+ /**
11
+ * The geometry escape tuple (DEC-7). Carries the FULL geometry so an escaped path
12
+ * stays dash-coherent — a bare `d`-string escape silently breaks the dash model when
13
+ * the consumer geometry's viewBox/length differ from the canonical
14
+ * (`0 0 100 10` + `len` 120).
15
+ */
16
+ export interface GlassUnderlinePaths {
17
+ /** The primary pen stroke `d`. */
18
+ readonly stroke: string;
19
+ /** The faint ghost overdraw `d`. Omit for a single-path (no overdraw) render. */
20
+ readonly ghost?: string;
21
+ /** The SVG viewBox. Default `0 0 100 10`. */
22
+ readonly viewBox?: string;
23
+ /** The dasharray length (the over-long fixed dash). Default `120`. */
24
+ readonly len?: number;
25
+ }
26
+ /** GlassUnderline props (the public prop surface). */
27
+ export interface GlassUnderlineProps {
28
+ /** Which clock drives the draw. Default `load`. */
29
+ clock?: GlassUnderlineClock;
30
+ /** The render variant. Default `pen` (the only proven render). */
31
+ variant?: GlassUnderlineVariant;
32
+ /** The stroke colour. Default `var(--primary)` (re-resolves under `.dark`). */
33
+ color?: string;
34
+ /** The load-clock draw duration (ms). Default `700`. */
35
+ drawMs?: number;
36
+ /** The load-clock easing (value.js `TimingFunction`). Default `easeOutCubic`. */
37
+ easing?: TimingFunction;
38
+ /** The scroll-clock timeline name. Default the element's own `view()`. */
39
+ timeline?: string;
40
+ /**
41
+ * The declarative third clock — a thin overlay ON the load clock. `undefined`
42
+ * (default) = source parity (parent fires `play()`); rising edge → play, falling
43
+ * edge → reset-to-undrawn (re-rise REPLAYS), mount-`true` → plays. Only
44
+ * meaningful with `clock="load"`.
45
+ */
46
+ active?: boolean;
47
+ /** The geometry escape tuple. Defaults to the canonical pen + ghost. */
48
+ paths?: GlassUnderlinePaths;
49
+ }
50
+ /** The imperative handle exposed via `defineExpose` / a template ref. */
51
+ export interface GlassUnderlineExpose {
52
+ /** Draw the load-clock underline once (the awaitable a Sequence chains). */
53
+ play: () => Promise<void>;
54
+ /** Snap to terminal (drawn) — the PRM / interrupt path. */
55
+ snap: () => void;
56
+ }
@@ -20,8 +20,17 @@ export type CardTier = "wash" | "quiet" | "resting" | "floating" | "overlay" | "
20
20
  * cartoon — the Memphis-sticker decoration layered on top of the resolved
21
21
  * tier: 2px border, offset-stamp shadow, hover-lift. Composes onto
22
22
  * ANY tier; the retired `<CartoonCard>` was `tier="quiet" surface="cartoon"`.
23
+ * veil — the text-legibility PLATE (R5-7). The wash/quiet glass fill +
24
+ * blur with the border AND rim/highlight STRIPPED (border:none,
25
+ * box-shadow:none — the boxed look reads as a "dividing line" on a
26
+ * text plate). An optional radial feather axis (`--veil-feather`,
27
+ * default none) fades the plate edges into the backdrop. Conceptually
28
+ * the W55 adaptive-legibility tint applied as a LOCAL plate over a
29
+ * busy/bright backdrop. Token-first (`--veil-*` rungs). It routes the
30
+ * glass material through the `--glass-*` ladder, so `--glass-level` /
31
+ * the W55 bright-bucket retune it in lockstep with every glass surface.
23
32
  */
24
- export type CardSurface = "glass" | "cartoon";
33
+ export type CardSurface = "glass" | "cartoon" | "veil";
25
34
  /**
26
35
  * Specular catch-light register (AX.W09) — the pointer-anchored moving lens on a
27
36
  * glass card.
@@ -42,8 +51,11 @@ interface Props extends PrimitiveProps {
42
51
  tier?: CardTier;
43
52
  /** Surface decoration register. `glass` (default) renders the tier's glass
44
53
  * rung; `cartoon` overlays the `cartoon-surface` decoration utility (2px
45
- * border, offset-stamp shadow, hover-lift). Orthogonal to `tier`/`shadow`/
46
- * `grain` — exactly like `shadow` and `grain`; NOT a `tier` rung. */
54
+ * border, offset-stamp shadow, hover-lift); `veil` overlays the borderless,
55
+ * rimless `veil-surface` text-legibility plate (the wash/quiet glass fill +
56
+ * blur with the boxed border + rim STRIPPED, an optional `--veil-feather`
57
+ * radial edge fade). Orthogonal to `tier`/`shadow`/`grain` — exactly like
58
+ * `shadow` and `grain`; NOT a `tier` rung. */
47
59
  surface?: CardSurface;
48
60
  /** Surface drop shadow via `--shadow-card`. Off for cards nested inside cards. */
49
61
  shadow?: boolean;
@@ -39,6 +39,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
39
39
  "onUpdate:activeSnapPoint"?: ((val: string | number) => any) | undefined;
40
40
  }>, {
41
41
  mode: DrawerMode;
42
+ open: boolean;
42
43
  modal: boolean;
43
44
  shouldScaleBackground: boolean;
44
45
  snapPoints: (number | string)[];
@@ -3,9 +3,9 @@ import { type DropdownMenuSubContentProps } from 'reka-ui';
3
3
  type __VLS_Props = DropdownMenuSubContentProps & {
4
4
  class?: HTMLAttributes['class'];
5
5
  };
6
- declare var __VLS_8: {};
6
+ declare var __VLS_14: {};
7
7
  type __VLS_Slots = {} & {
8
- default?: (props: typeof __VLS_8) => any;
8
+ default?: (props: typeof __VLS_14) => any;
9
9
  };
10
10
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
11
  escapeKeyDown: (event: KeyboardEvent) => any;
@@ -1,4 +1,5 @@
1
1
  import type { HTMLAttributes } from "vue";
2
+ import { type MetricValue } from "../../../utils";
2
3
  /**
3
4
  * MetricPill — the speedtest stacked-pill default, composed over `<MetricBadge>`.
4
5
  *
@@ -19,13 +20,16 @@ type MetricPillSize = "sm" | "md" | "lg" | "xl";
19
20
  type MetricPillLabelPosition = "inline" | "stacked";
20
21
  type MetricPillDensity = "comfortable" | "spacious";
21
22
  type __VLS_Props = {
22
- amount: string | number | null | undefined;
23
+ /** The primary metric. A valid `0` renders `"0"`, never the placeholder. */
24
+ value: MetricValue;
23
25
  unit?: string;
24
26
  label?: string;
25
27
  abbreviation?: string;
26
28
  color?: string;
29
+ /** Substitute glyph when value is empty; forwarded to `<MetricBadge>`,
30
+ * which owns the shared `coalesceMetric` default. */
27
31
  placeholder?: string;
28
- /** Defaults to `lg` — the 14px amount / prose-unit ladder rung. */
32
+ /** Defaults to `lg` — the 14px value / prose-unit ladder rung. */
29
33
  size?: MetricPillSize;
30
34
  /** Defaults to `stacked` — the 2-row label-above-value reading. */
31
35
  labelPosition?: MetricPillLabelPosition;
@@ -35,7 +39,6 @@ type __VLS_Props = {
35
39
  };
36
40
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
37
41
  size: MetricPillSize;
38
- placeholder: string;
39
42
  density: MetricPillDensity;
40
43
  labelPosition: MetricPillLabelPosition;
41
44
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -10,31 +10,34 @@ export { default as Slider } from './Slider.vue';
10
10
  * (`--slider-track-height`, `--slider-thumb-size`) the SFC defaults read.
11
11
  *
12
12
  * Exactly two canonical recipes ship:
13
- * standard — the CONTINUOUS ROUNDED CYLINDER: a THICK glass capsule track with
14
- * the round knob INSCRIBED inside it (knob diameter = track height −
15
- * 2×inset, inset 2px) so the whole reads as ONE continuous piece — a
16
- * ball-bearing seated in the cylinder, never a floating disc on a
17
- * wire. The fill is the W52 liquid-glass material (backdrop + edge
18
- * rim, tinted to `--primary`) pulled along the capsule; the knob
19
- * rides ON it with zero protrusion (`thumbAlignment: 'contain'`).
20
- * The reka SliderThumb stays mounted (a11y/keyboard/focus) and
21
- * carries a faint specular grip. Halo-on-state + the iOS press
22
- * spring. This is the general-purpose glass scrubber and the default.
13
+ * standard — the CONTINUOUS GLASS CYLINDER with NO VISIBLE THUMB AT ALL (the
14
+ * user's binding bar, USER-AUDIT-2026-06-10 §B3): you pull the TRACK
15
+ * itself. A THICK glass capsule track; the filled `.slider-range`
16
+ * glass cylinder (the W52 liquid-glass material — backdrop + edge rim,
17
+ * tinted to `--primary`) is pulled along it, and its leading EDGE IS
18
+ * the handle — the only affordance is the fill edge + the cursor/touch
19
+ * response. The reka `<SliderThumb>` STAYS MOUNTED (a11y/keyboard/drag/
20
+ * value-follow native on it) but paints INVISIBLE: width 0, opacity 0,
21
+ * transparent — no distinct disc/cap/ring over the continuous
22
+ * cylinder. Keyboard focus rings the TRACK (the W-PRIM-POLISH focus
23
+ * register), not the invisible thumb; hover/held lift the track FILL's
24
+ * edge rim; the iOS press spring gives the whole fill a felt squish.
25
+ * This is the general-purpose glass scrubber and the default.
23
26
  * spectrum — the value.js gradient-track color slider: a tall capsule whose
24
27
  * background is a consumer-supplied `--slider-track-bg`
25
28
  * linear-gradient (the LCH/hue ramp), a transparent range, and a
26
- * SQUIRCLE thumb the HEIGHT of the track (the iOS color-picker
27
- * idiom — `corner-shape: superellipse()` via `--corner-shape-thumb`,
29
+ * THIN VISIBLE squircle thumb the HEIGHT of the track (the iOS/value.js
30
+ * color-picker idiom — a slim vertical bar, `w-3`-thin per the value.js
31
+ * reference; `corner-shape: superellipse()` via `--corner-shape-thumb`,
28
32
  * @supports-gated over a generous proportional round fallback that
29
33
  * reads squircle-adjacent cross-engine). This is the aurora/blob
30
- * color-picking surface. The spectrum already obeys the containment
31
- * law the standard cylinder now matches (thumb inscribed, protrusion 0).
34
+ * color-picking surface — its thumb IS visible (it is the handle).
32
35
  *
33
- * Sizes — the standard cylinder inscribes the knob: track height = thumb + 4px
34
- * (a 2px inset reveal each side), thumb diameter ≤ track height at every rung:
35
- * sm — 12px track / 8px thumb
36
- * md — 20px track / 16px thumb (default)
37
- * lg — 28px track / 24px thumb
36
+ * Sizes — the standard cylinder is the thick glass capsule (the invisible thumb's
37
+ * value-follow inset still rides the size token for the 44px coarse hit-halo):
38
+ * sm — 12px track
39
+ * md — 20px track (default)
40
+ * lg — 28px track
38
41
  */
39
42
  export declare const sliderVariants: (props?: ({
40
43
  variant?: "standard" | "spectrum" | null | undefined;
@@ -2,7 +2,10 @@ import { type HTMLAttributes } from "vue";
2
2
  import { type TabsIndicatorProps } from "reka-ui";
3
3
  type __VLS_Props = TabsIndicatorProps & {
4
4
  class?: HTMLAttributes["class"];
5
+ surface?: boolean;
5
6
  };
6
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
+ surface: boolean;
9
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
10
  declare const _default: typeof __VLS_export;
8
11
  export default _default;
@@ -19,7 +19,7 @@ type ToasterToast = Toast & {
19
19
  description?: string;
20
20
  action?: Component | VNode;
21
21
  open?: boolean;
22
- onOpenChange?: (open: boolean) => void;
22
+ 'onUpdate:open'?: (open: boolean) => void;
23
23
  };
24
24
  type ToastOptions = Omit<ToasterToast, 'id'>;
25
25
  declare function toast(props: ToastOptions): {
@@ -160,7 +160,7 @@ declare function useToast(): {
160
160
  | undefined;
161
161
  duration?: number | undefined;
162
162
  open?: boolean | undefined;
163
- onOpenChange?: ((open: boolean) => void) | undefined;
163
+ 'onUpdate:open'?: ((open: boolean) => void) | undefined;
164
164
  }[]>;
165
165
  toast: typeof toast;
166
166
  dismiss: (toastId?: string) => void;
@@ -16,7 +16,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
16
16
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
17
17
  }>, {
18
18
  size: "default" | "sm" | "lg" | null;
19
- variant: "default" | "outline" | "glass" | "card" | null;
19
+ variant: "default" | "outline" | "card" | null;
20
20
  disabled: boolean;
21
21
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -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
@@ -1,5 +1,5 @@
1
1
  export { useGlobalDark } from "./useGlobalDark";
2
- export type { UseGlobalDarkOptions, UseGlobalDarkReturn, DarkFlipSettledCallback, } from "./useGlobalDark";
2
+ export type { UseGlobalDarkOptions } from "./useGlobalDark";
3
3
  export { installDarkModeSync } from "./installDarkModeSync";
4
4
  export { darkModeSyncScript, DARK_MODE_STORAGE_KEY } from "./darkModeSyncScript";
5
5
  export type { DarkModeSyncScriptOptions } from "./darkModeSyncScript";
@@ -1,15 +1,9 @@
1
1
  import type { BasicColorSchema } from "@vueuse/core";
2
2
  import { type Ref, type WritableComputedRef } from "vue";
3
- /**
4
- * A post-flip settle callback. Receives the dark-mode flag's NEW value. Runs in
5
- * the single coalesced post-flip task (see `onFlipSettled`).
6
- */
7
- export type DarkFlipSettledCallback = (isDark: boolean) => void;
8
3
  /**
9
4
  * The `useGlobalDark` return shape (AW.W15 — named `Use<Name>Return`). The
10
5
  * single shared dark-mode instance: the reactive `isDark` flag, a `toggleDark`
11
- * that optionally suppresses transitions, the transition-suppression switch, and
12
- * the post-flip settle hook (E9b).
6
+ * that optionally suppresses transitions, and the transition-suppression switch.
13
7
  */
14
8
  export interface UseGlobalDarkReturn {
15
9
  /** Reactive dark-mode flag (vueuse `useDark` ref — writable). */
@@ -20,20 +14,6 @@ export interface UseGlobalDarkReturn {
20
14
  disableTransitions: Ref<boolean>;
21
15
  /** Configure transition suppression during the dark-mode toggle. */
22
16
  setDisableTransitions: (value: boolean) => void;
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.
35
- */
36
- onFlipSettled: (callback: DarkFlipSettledCallback) => () => void;
37
17
  }
38
18
  export interface UseGlobalDarkOptions {
39
19
  /**
@@ -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";