@mkbabb/glass-ui 3.13.0 → 4.0.1

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 (507) hide show
  1. package/README.md +3 -1
  2. package/dist/CardAction-CW7a0m8M.js +253 -0
  3. package/dist/{CommandShortcut-RowNEO6i.js → CommandShortcut-DvZNQ_HF.js} +58 -53
  4. package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
  5. package/dist/{ContextMenuContent-CT3AS1WX.js → ContextMenuContent-uWnVxDab.js} +1 -1
  6. package/dist/{ContextMenuSubContent-BQmxTAdw.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
  7. package/dist/{DataTable-BCddn3T3.js → DataTable-CuKwF7wr.js} +99 -97
  8. package/dist/DialogContent-DcKK8k9i.js +103 -0
  9. package/dist/{DialogFooter-Blu4t7tJ.js → DialogFooter-BZNX5aVr.js} +3 -3
  10. package/dist/FadingScroll-DI6hQhT9.js +76 -0
  11. package/dist/{HoverCardContent-Csywg3YF.js → HoverCardContent-b2uaAMRR.js} +1 -1
  12. package/dist/{HoverPopover-CISOJQuZ.js → HoverPopover-CbqbNwgU.js} +2 -2
  13. package/dist/IconChip-BTD-nay5.js +55 -0
  14. package/dist/{IconTooltip-DPzE09X9.js → IconTooltip-Bl8gFZ8d.js} +1 -1
  15. package/dist/{Input-DWQQIOC4.js → Input-h9v5LeXf.js} +1 -1
  16. package/dist/{MetricBadge-C9QMz1KT.js → MetricBadge-RHdBP72w.js} +1 -1
  17. package/dist/Notification-VUwexFUf.js +43 -0
  18. package/dist/NumberFieldContent-Cq7EzX-U.js +138 -0
  19. package/dist/PopoverContent-DL7E6vJP.js +127 -0
  20. package/dist/{Progress-DwlUKGbr.js → Progress-DctG61iZ.js} +98 -78
  21. package/dist/{ScrollingText-DfFrwSph.js → ScrollingText-yOpBzFYq.js} +2 -2
  22. package/dist/{SelectScrollDownButton-CiDUxfEj.js → SelectScrollDownButton-CrA8F0iV.js} +35 -20
  23. package/dist/{Switch-CsIuYP_e.js → Switch-CwYNf8bo.js} +1 -1
  24. package/dist/Toaster-Bw4xR8xV.js +274 -0
  25. package/dist/{ToggleGroupItem-D_AHlRw9.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
  26. package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
  27. package/dist/animated-digit.js +2 -2
  28. package/dist/api/index.d.ts +16 -8
  29. package/dist/api/types-extra.d.ts +6 -0
  30. package/dist/api.js +2 -2
  31. package/dist/aurora.js +888 -230
  32. package/dist/badge.js +1 -1
  33. package/dist/border-progress.d.ts +1 -0
  34. package/dist/border-progress.js +106 -0
  35. package/dist/button-DYCUa-tH.js +126 -0
  36. package/dist/button.js +1 -1
  37. package/dist/canvas.js +2 -2
  38. package/dist/card.js +2 -2
  39. package/dist/carousel.d.ts +1 -1
  40. package/dist/carousel.js +90 -151
  41. package/dist/collapsible.js +1 -1
  42. package/dist/color-swatch.d.ts +1 -0
  43. package/dist/color-swatch.js +47 -0
  44. package/dist/color.js +1 -1
  45. package/dist/command.js +1 -1
  46. package/dist/compile-CQEFRTmx.js +19 -0
  47. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
  48. package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
  49. package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
  50. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
  51. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
  52. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
  53. package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
  54. package/dist/components/custom/aurora/constants/presets.d.ts +30 -2
  55. package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -10
  56. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  57. package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
  58. package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
  59. package/dist/components/custom/aurora/index.d.ts +3 -2
  60. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
  61. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
  62. package/dist/components/custom/border-progress/constants.d.ts +59 -0
  63. package/dist/components/custom/border-progress/index.d.ts +4 -0
  64. package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
  65. package/dist/components/custom/color-swatch/index.d.ts +1 -0
  66. package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
  67. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
  68. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  69. package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
  70. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
  71. package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
  72. package/dist/components/custom/concentric/constants.d.ts +43 -0
  73. package/dist/components/custom/concentric/index.d.ts +5 -0
  74. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
  75. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
  76. package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
  77. package/dist/components/custom/constellation/Constellation.vue.d.ts +18 -206
  78. package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
  79. package/dist/components/custom/constellation/constellationField.d.ts +2 -369
  80. package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
  81. package/dist/components/custom/constellation/index.d.ts +1 -1
  82. package/dist/components/custom/dock/DockIconButton.vue.d.ts +13 -4
  83. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
  84. package/dist/components/custom/dock/DockRail.vue.d.ts +17 -16
  85. package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
  86. package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
  87. package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -5
  88. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +75 -0
  89. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
  90. package/dist/components/custom/dock/constants.d.ts +35 -0
  91. package/dist/components/custom/dock/index.d.ts +2 -0
  92. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
  93. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
  94. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
  95. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
  96. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
  97. package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
  98. package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
  99. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
  100. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
  101. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
  102. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
  103. package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
  104. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
  105. package/dist/components/custom/easing/constants.d.ts +28 -0
  106. package/dist/components/custom/easing/index.d.ts +3 -0
  107. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
  108. package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
  109. package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
  110. package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
  111. package/dist/components/custom/fading-scroll/index.d.ts +2 -0
  112. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +19 -2
  113. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
  114. package/dist/components/custom/fourier-field/constants.d.ts +7 -0
  115. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  116. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  117. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +9 -1
  118. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
  119. package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
  120. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +29 -12
  121. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
  122. package/dist/components/custom/goo-blob/constants.d.ts +6 -1
  123. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
  124. package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
  125. package/dist/components/custom/handmark/brush.d.ts +269 -0
  126. package/dist/components/custom/handmark/composables/useHandMark.d.ts +89 -0
  127. package/dist/components/custom/handmark/constants.d.ts +39 -0
  128. package/dist/components/custom/handmark/freehand.d.ts +69 -0
  129. package/dist/components/custom/handmark/geometry.d.ts +52 -0
  130. package/dist/components/custom/handmark/index.d.ts +27 -0
  131. package/dist/components/custom/handmark/ink.d.ts +11 -0
  132. package/dist/components/custom/handmark/texture.d.ts +39 -0
  133. package/dist/components/custom/handmark/types.d.ts +62 -0
  134. package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
  135. package/dist/components/custom/icon-chip/index.d.ts +2 -0
  136. package/dist/components/custom/icon-chip/types.d.ts +82 -0
  137. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -2
  138. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
  139. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
  140. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  141. package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
  142. package/dist/components/custom/spa-view/index.d.ts +2 -0
  143. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +29 -24
  144. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
  145. package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
  146. package/dist/components/custom/tabs/constants.d.ts +9 -3
  147. package/dist/components/custom/tabs/index.d.ts +1 -1
  148. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +15 -1
  149. package/dist/components/ui/_shared/index.d.ts +2 -0
  150. package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
  151. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
  152. package/dist/components/ui/badge/index.d.ts +1 -1
  153. package/dist/components/ui/button/Button.vue.d.ts +5 -2
  154. package/dist/components/ui/button/index.d.ts +2 -2
  155. package/dist/components/ui/card/Card.vue.d.ts +34 -4
  156. package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
  157. package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
  158. package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
  159. package/dist/components/ui/card/index.d.ts +2 -0
  160. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  161. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  162. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
  163. package/dist/components/ui/carousel/index.d.ts +0 -1
  164. package/dist/components/ui/command/Command.vue.d.ts +4 -1
  165. package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
  166. package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
  167. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +12 -8
  168. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
  169. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
  170. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
  171. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
  172. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
  173. package/dist/components/ui/drawer/constants.d.ts +45 -0
  174. package/dist/components/ui/drawer/index.d.ts +23 -15
  175. package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
  176. package/dist/components/ui/focus-scope/index.d.ts +2 -0
  177. package/dist/components/ui/index.d.ts +1 -1
  178. package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
  179. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
  180. package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
  181. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  182. package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
  183. package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
  184. package/dist/components/ui/sheet/index.d.ts +1 -1
  185. package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
  186. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  187. package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
  188. package/dist/components/ui/toast/use-toast.d.ts +14 -0
  189. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  190. package/dist/composables/dark/index.d.ts +1 -1
  191. package/dist/composables/dark/useGlobalDark.d.ts +23 -1
  192. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
  193. package/dist/composables/glass/index.d.ts +5 -2
  194. package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
  195. package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
  196. package/dist/composables/glass/vSpecular.d.ts +2 -0
  197. package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
  198. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
  199. package/dist/composables/glass/webgpu/index.d.ts +2 -0
  200. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
  201. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
  202. package/dist/composables/motion/core/index.d.ts +1 -0
  203. package/dist/composables/motion/index.d.ts +4 -0
  204. package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
  205. package/dist/composables/motion/useDragMorph.d.ts +77 -0
  206. package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
  207. package/dist/composables/motion/useLiquidPress.d.ts +71 -0
  208. package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
  209. package/dist/composables/motion/useNumericTransition.d.ts +3 -3
  210. package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
  211. package/dist/composables/motion/useViewTransition.d.ts +36 -1
  212. package/dist/concentric.d.ts +1 -0
  213. package/dist/concentric.js +562 -0
  214. package/dist/configurator.js +3 -2
  215. package/dist/confirm-dialog.js +22 -24
  216. package/dist/constellation.js +93 -95
  217. package/dist/context-menu.js +3 -3
  218. package/dist/controls.js +10 -4
  219. package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
  220. package/dist/dark.d.ts +1 -1
  221. package/dist/dark.js +1 -1
  222. package/dist/data-table.js +1 -1
  223. package/dist/dialog.js +2 -2
  224. package/dist/dock.js +738 -442
  225. package/dist/{dockContext-BegmJVmx.js → dockContext-BNfyPLe9.js} +1 -1
  226. package/dist/dom.js +5 -5
  227. package/dist/dot-flow-field.d.ts +1 -0
  228. package/dist/dot-flow-field.js +604 -0
  229. package/dist/drawer.d.ts +1 -0
  230. package/dist/drawer.js +380 -0
  231. package/dist/{dropdown-menu-DzkkyBwX.js → dropdown-menu-CofSZuk8.js} +14 -15
  232. package/dist/dropdown-menu.js +1 -1
  233. package/dist/easing.d.ts +1 -0
  234. package/dist/easing.js +463 -0
  235. package/dist/expandable-container.js +45 -38
  236. package/dist/fading-scroll.d.ts +1 -0
  237. package/dist/fading-scroll.js +2 -0
  238. package/dist/focus-scope.d.ts +1 -0
  239. package/dist/focus-scope.js +23 -0
  240. package/dist/forms.js +7 -7
  241. package/dist/fourier-field.js +135 -122
  242. package/dist/fourier-math.js +2 -2
  243. package/dist/glass-panel.js +39 -36
  244. package/dist/glass-ui.css +1 -1
  245. package/dist/glass-ui.js +154 -362
  246. package/dist/goo-blob.js +838 -227
  247. package/dist/handmark.d.ts +1 -0
  248. package/dist/handmark.js +707 -0
  249. package/dist/header-ribbon.js +1 -1
  250. package/dist/hover-card.js +1 -1
  251. package/dist/hover-popover.js +1 -1
  252. package/dist/icon-chip.d.ts +1 -0
  253. package/dist/icon-chip.js +2 -0
  254. package/dist/icon-tooltip.js +1 -1
  255. package/dist/index.d.ts +3 -3
  256. package/dist/instrument-chassis.js +1 -1
  257. package/dist/keyboard.js +1 -1
  258. package/dist/label.js +1 -1
  259. package/dist/labeled-field.js +6 -6
  260. package/dist/{math-U6-RrLmV.js → math-BINYmg5z.js} +11 -3
  261. package/dist/{menuItemVariants-DPiEarb0.js → menuItemVariants-D8VNHq22.js} +10 -4
  262. package/dist/metric-badge.js +1 -1
  263. package/dist/metric-cell.js +25 -22
  264. package/dist/metric-stack.js +4 -8
  265. package/dist/motion-core.js +36 -35
  266. package/dist/motion-curves.js +1 -1
  267. package/dist/motion.js +157 -55
  268. package/dist/notification.js +1 -1
  269. package/dist/number-field.js +1 -1
  270. package/dist/pager-dots.d.ts +1 -0
  271. package/dist/pager-dots.js +91 -0
  272. package/dist/paper-backdrop.js +1 -1
  273. package/dist/popover.js +1 -1
  274. package/dist/{presets-BKVyQfbt.js → presets-BW2b-fr1.js} +14 -1
  275. package/dist/{compile-B7NGOBcP.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
  276. package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
  277. package/dist/progress.js +1 -1
  278. package/dist/pulse.js +1 -1
  279. package/dist/reactive.js +2 -2
  280. package/dist/scrolling-text.js +1 -1
  281. package/dist/search.js +10 -12
  282. package/dist/select.js +3 -3
  283. package/dist/separator.js +1 -1
  284. package/dist/sheet-tZMg0E0w.js +218 -0
  285. package/dist/sheet.js +1 -1
  286. package/dist/{slider-B-JP2JlI.js → slider-DVb4HXU-.js} +7 -7
  287. package/dist/slider.js +1 -1
  288. package/dist/sortable-list.js +3 -3
  289. package/dist/spa-view.d.ts +1 -0
  290. package/dist/spa-view.js +46 -0
  291. package/dist/styles/animations.css +40 -31
  292. package/dist/styles/border-progress.css +109 -0
  293. package/dist/styles/cards.css +76 -0
  294. package/dist/styles/components.css +1 -1
  295. package/dist/styles/configurator.css +35 -0
  296. package/dist/styles/critical-partition.mjs +140 -0
  297. package/dist/styles/critical.css +12 -0
  298. package/dist/styles/deferred.css +31 -0
  299. package/dist/styles/dock/density.css +64 -0
  300. package/dist/styles/dock/layers.css +54 -30
  301. package/dist/styles/dock/morph.css +124 -7
  302. package/dist/styles/dock/overflow.css +31 -2
  303. package/dist/styles/dock/rail-extend.css +168 -71
  304. package/dist/styles/dock/section.css +59 -0
  305. package/dist/styles/dock/shell.css +83 -16
  306. package/dist/styles/dock-controls/icon-button.css +11 -1
  307. package/dist/styles/dock-controls/tab-button.css +24 -83
  308. package/dist/styles/dock-controls/triggers.css +7 -0
  309. package/dist/styles/dock.css +38 -3
  310. package/dist/styles/drawer.css +127 -35
  311. package/dist/styles/feedback-tone.css +104 -0
  312. package/dist/styles/glass/deep.css +44 -0
  313. package/dist/styles/glass/ladder.css +154 -52
  314. package/dist/styles/glass/material.css +78 -15
  315. package/dist/styles/glass/reveal.css +136 -0
  316. package/dist/styles/glass/rim.css +100 -0
  317. package/dist/styles/glass/surface-axis.css +113 -0
  318. package/dist/styles/glass/surfaces.css +189 -15
  319. package/dist/styles/glass-refract.css +96 -44
  320. package/dist/styles/glass-specular-track.css +7 -0
  321. package/dist/styles/glass.css +8 -2
  322. package/dist/styles/hover-popover.css +7 -6
  323. package/dist/styles/icon-chip.css +211 -0
  324. package/dist/styles/index.css +78 -4
  325. package/dist/styles/instrument-chassis.css +107 -2
  326. package/dist/styles/menu.css +127 -0
  327. package/dist/styles/scroll-choreography.css +300 -0
  328. package/dist/styles/segmented-tabs.css +188 -86
  329. package/dist/styles/select.css +50 -0
  330. package/dist/styles/theme/bridges.css +22 -1
  331. package/dist/styles/theme/literals.css +11 -2
  332. package/dist/styles/theme/radius.css +6 -1
  333. package/dist/styles/tokens/color-radius.css +40 -13
  334. package/dist/styles/tokens/dark-arm.css +200 -20
  335. package/dist/styles/tokens/glass-deep.css +75 -0
  336. package/dist/styles/tokens/glass-fx.css +333 -0
  337. package/dist/styles/tokens/glass.css +95 -315
  338. package/dist/styles/tokens/light-dark.css +64 -22
  339. package/dist/styles/tokens/offsets.css +116 -0
  340. package/dist/styles/tokens/on-glass-fg.css +39 -0
  341. package/dist/styles/tokens/property-regs.css +130 -10
  342. package/dist/styles/tokens/scale-paper.css +155 -84
  343. package/dist/styles/tokens/scheme-motion.css +102 -46
  344. package/dist/styles/tokens/scroll-tokens.css +123 -0
  345. package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
  346. package/dist/styles/tokens.css +9 -3
  347. package/dist/styles/transitions.css +7 -7
  348. package/dist/styles/typography/scale.css +153 -0
  349. package/dist/styles/typography/semantic.css +220 -0
  350. package/dist/styles/typography/utilities.css +174 -0
  351. package/dist/styles/typography.css +23 -507
  352. package/dist/styles/utilities/a11y-overrides.css +33 -4
  353. package/dist/styles/utilities/animate.css +27 -24
  354. package/dist/styles/utilities/base-misc.css +255 -0
  355. package/dist/styles/utilities/base.css +100 -138
  356. package/dist/styles/utilities/btn.css +21 -202
  357. package/dist/styles/utilities/metal.css +189 -0
  358. package/dist/styles/utilities.css +14 -7
  359. package/dist/styles/view-transition.css +4 -1
  360. package/dist/switch.js +1 -1
  361. package/dist/tabs.js +275 -191
  362. package/dist/timeline.js +2 -2
  363. package/dist/toast.js +1 -1
  364. package/dist/toggle-chip.js +3 -1
  365. package/dist/toggle-group.js +1 -1
  366. package/dist/tooltip.js +1 -1
  367. package/dist/typewriter.js +1 -1
  368. package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-BfUq2bUM.js} +1 -1
  369. package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
  370. package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
  371. package/dist/useDragMorph-DgxnsVJz.js +102 -0
  372. package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-C28t0VWJ.js} +22 -3
  373. package/dist/useLiquidPress-kfb4KX79.js +39 -0
  374. package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
  375. package/dist/{useRAFLoop-Bxv0o6L5.js → useRAFLoop-UYa4zoiN.js} +1 -1
  376. package/dist/useSpring-C0jyvEJB.js +40 -0
  377. package/dist/useSpringMount-q1amq1SJ.js +71 -0
  378. package/dist/useSpringPress-BsqPr7FJ.js +34 -0
  379. package/dist/useSurfaceAxis-g0NloYEF.js +7 -0
  380. package/dist/{useTouchGate-Dg7MQI1G.js → useTouchGate-CBZTD4SD.js} +1 -1
  381. package/dist/vReveal-Czsb7zQC.js +10 -0
  382. package/dist/vSpecular-CQFmLNzA.js +68 -0
  383. package/dist/vendor-CKmzio-i.js +226 -0
  384. package/dist/watercolor-dot.js +12 -5
  385. package/package.json +193 -25
  386. package/src/styles/animations.css +40 -31
  387. package/src/styles/border-progress.css +109 -0
  388. package/src/styles/cards.css +76 -0
  389. package/src/styles/configurator.css +35 -0
  390. package/src/styles/critical-partition.mjs +140 -0
  391. package/src/styles/dock/density.css +64 -0
  392. package/src/styles/dock/layers.css +54 -30
  393. package/src/styles/dock/morph.css +124 -7
  394. package/src/styles/dock/overflow.css +31 -2
  395. package/src/styles/dock/rail-extend.css +168 -71
  396. package/src/styles/dock/section.css +59 -0
  397. package/src/styles/dock/shell.css +83 -16
  398. package/src/styles/dock-controls/icon-button.css +11 -1
  399. package/src/styles/dock-controls/tab-button.css +24 -83
  400. package/src/styles/dock-controls/triggers.css +7 -0
  401. package/src/styles/dock.css +38 -3
  402. package/src/styles/drawer.css +123 -35
  403. package/src/styles/feedback-tone.css +104 -0
  404. package/src/styles/glass/deep.css +44 -0
  405. package/src/styles/glass/ladder.css +154 -52
  406. package/src/styles/glass/material.css +78 -15
  407. package/src/styles/glass/reveal.css +136 -0
  408. package/src/styles/glass/rim.css +100 -0
  409. package/src/styles/glass/surface-axis.css +113 -0
  410. package/src/styles/glass/surfaces.css +189 -15
  411. package/src/styles/glass-refract.css +96 -44
  412. package/src/styles/glass-specular-track.css +7 -0
  413. package/src/styles/glass.css +8 -2
  414. package/src/styles/hover-popover.css +7 -6
  415. package/src/styles/icon-chip.css +211 -0
  416. package/src/styles/index.css +78 -4
  417. package/src/styles/instrument-chassis.css +107 -2
  418. package/src/styles/menu.css +127 -0
  419. package/src/styles/scroll-choreography.css +300 -0
  420. package/src/styles/segmented-tabs.css +184 -84
  421. package/src/styles/select.css +50 -0
  422. package/src/styles/theme/bridges.css +22 -1
  423. package/src/styles/theme/literals.css +11 -2
  424. package/src/styles/theme/radius.css +6 -1
  425. package/src/styles/tokens/color-radius.css +40 -13
  426. package/src/styles/tokens/dark-arm.css +200 -20
  427. package/src/styles/tokens/glass-deep.css +75 -0
  428. package/src/styles/tokens/glass-fx.css +333 -0
  429. package/src/styles/tokens/glass.css +95 -315
  430. package/src/styles/tokens/light-dark.css +64 -22
  431. package/src/styles/tokens/offsets.css +116 -0
  432. package/src/styles/tokens/on-glass-fg.css +39 -0
  433. package/src/styles/tokens/property-regs.css +130 -10
  434. package/src/styles/tokens/scale-paper.css +155 -84
  435. package/src/styles/tokens/scheme-motion.css +102 -46
  436. package/src/styles/tokens/scroll-tokens.css +123 -0
  437. package/src/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
  438. package/src/styles/tokens.css +9 -3
  439. package/src/styles/transitions.css +7 -7
  440. package/src/styles/typography/scale.css +153 -0
  441. package/src/styles/typography/semantic.css +220 -0
  442. package/src/styles/typography/utilities.css +174 -0
  443. package/src/styles/typography.css +23 -507
  444. package/src/styles/utilities/a11y-overrides.css +33 -4
  445. package/src/styles/utilities/animate.css +27 -24
  446. package/src/styles/utilities/base-misc.css +255 -0
  447. package/src/styles/utilities/base.css +100 -138
  448. package/src/styles/utilities/btn.css +21 -202
  449. package/src/styles/utilities/metal.css +189 -0
  450. package/src/styles/utilities.css +14 -7
  451. package/src/styles/view-transition.css +4 -1
  452. package/dist/CardAction-Cj2eycQ2.js +0 -157
  453. package/dist/DialogContent-Dl9WkAoS.js +0 -100
  454. package/dist/Notification-DdwNxIrI.js +0 -100
  455. package/dist/NumberFieldContent-CqaN-SvN.js +0 -145
  456. package/dist/PopoverContent-BYwt2-4x.js +0 -121
  457. package/dist/TabsList-Dttss653.js +0 -105
  458. package/dist/Toaster-D6q4HtXu.js +0 -263
  459. package/dist/button-ChXMfsud.js +0 -81
  460. package/dist/check-njhk-vfu.js +0 -7
  461. package/dist/chevron-down-DKkxb4VV.js +0 -7
  462. package/dist/chevron-right-CPXbqQQz.js +0 -7
  463. package/dist/chevron-up-n_24SqI-.js +0 -7
  464. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
  465. package/dist/components/custom/underline/index.d.ts +0 -2
  466. package/dist/components/custom/underline/types.d.ts +0 -56
  467. package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
  468. package/dist/createLucideIcon-DydS2qgk.js +0 -43
  469. package/dist/minimize-2-BV31Ob_h.js +0 -38
  470. package/dist/search-BSGrf2Sk.js +0 -12
  471. package/dist/sheet-1fChZjtw.js +0 -214
  472. package/dist/underline.d.ts +0 -1
  473. package/dist/underline.js +0 -85
  474. package/dist/useCanvas2D-ClrQuZtp.js +0 -96
  475. package/dist/useConfiguratorState-DAoeHVue.js +0 -287
  476. package/dist/useSpecularTracking-Bo5su68i.js +0 -32
  477. package/dist/useSpringMount-CI2jOstM.js +0 -108
  478. package/dist/vReveal-CqaCz_mC.js +0 -44
  479. package/dist/x-BUwTKe50.js +0 -10
  480. /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-68dEXIAl.js} +0 -0
  481. /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
  482. /package/dist/{Label-r3WzWrsj.js → Label-C2ejNWeC.js} +0 -0
  483. /package/dist/{ModalOverlay-DVLI2VRr.js → ModalOverlay-D1VrWyoi.js} +0 -0
  484. /package/dist/{PaperBackdrop-DIXTtVq6.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
  485. /package/dist/{SelectGroup-aumMgWLs.js → SelectGroup-DwwjicPY.js} +0 -0
  486. /package/dist/{SelectSeparator-BQ_1Fcbp.js → SelectSeparator-DXswVdRz.js} +0 -0
  487. /package/dist/{Separator-0JE6LtNu.js → Separator-pKF0oA4M.js} +0 -0
  488. /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  489. /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
  490. /package/dist/{color-CUYeFbgd.js → color-DweYl7pE.js} +0 -0
  491. /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
  492. /package/dist/{createContext-BM46COQ-.js → createContext-CpBNTRMI.js} +0 -0
  493. /package/dist/{prng-D27-B3tK.js → prng-Za0Rmgag.js} +0 -0
  494. /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
  495. /package/dist/{springPresets--YdWTHtm.js → springPresets-CFQGQfdl.js} +0 -0
  496. /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
  497. /package/dist/{useInterval-iHludrxk.js → useInterval-CvK1mL92.js} +0 -0
  498. /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
  499. /package/dist/{useLiquidFlex-BL0lLLN2.js → useLiquidFlex-mZPMiNXh.js} +0 -0
  500. /package/dist/{useResizeObserver-BhgdhOIj.js → useResizeObserver-Bpoi7tRE.js} +0 -0
  501. /package/dist/{useResolveTokenColor-Dvn2RZJW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
  502. /package/dist/{useScrollProgress-Dlvx-L3v.js → useScrollProgress-D7bYU2RK.js} +0 -0
  503. /package/dist/{useSortable-muI29agz.js → useSortable-DHjtZSEd.js} +0 -0
  504. /package/dist/{useTextHighlight-DmRYkOBx.js → useTextHighlight-CWEi25hf.js} +0 -0
  505. /package/dist/{useTimer-Dzarvzuk.js → useTimer-BHJOKr35.js} +0 -0
  506. /package/dist/{useUserInvalidAria-B2h6jAM_.js → useUserInvalidAria-y5namzeE.js} +0 -0
  507. /package/dist/{useViewportReady-B40FK4Pa.js → useViewportReady-anbac3m6.js} +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mkbabb/glass-ui",
3
- "version": "3.13.0",
4
- "description": "Glassmorphic design system \u2014 Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
3
+ "version": "4.0.1",
4
+ "description": "Glassmorphic design system — Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -22,6 +22,12 @@
22
22
  "dock": [
23
23
  "dist/dock.d.ts"
24
24
  ],
25
+ "drawer": [
26
+ "dist/drawer.d.ts"
27
+ ],
28
+ "focus-scope": [
29
+ "dist/focus-scope.d.ts"
30
+ ],
25
31
  "search": [
26
32
  "dist/search.d.ts"
27
33
  ],
@@ -31,6 +37,9 @@
31
37
  "controls": [
32
38
  "dist/controls.d.ts"
33
39
  ],
40
+ "color-swatch": [
41
+ "dist/color-swatch.d.ts"
42
+ ],
34
43
  "confirm-dialog": [
35
44
  "dist/confirm-dialog.d.ts"
36
45
  ],
@@ -46,6 +55,12 @@
46
55
  "stacked-icons": [
47
56
  "dist/stacked-icons.d.ts"
48
57
  ],
58
+ "icon-chip": [
59
+ "dist/icon-chip.d.ts"
60
+ ],
61
+ "border-progress": [
62
+ "dist/border-progress.d.ts"
63
+ ],
49
64
  "aurora": [
50
65
  "dist/aurora.d.ts"
51
66
  ],
@@ -55,12 +70,24 @@
55
70
  "color": [
56
71
  "dist/color.d.ts"
57
72
  ],
73
+ "easing": [
74
+ "dist/easing.d.ts"
75
+ ],
76
+ "fading-scroll": [
77
+ "dist/fading-scroll.d.ts"
78
+ ],
58
79
  "fourier-field": [
59
80
  "dist/fourier-field.d.ts"
60
81
  ],
61
82
  "fourier-math": [
62
83
  "dist/fourier-math.d.ts"
63
84
  ],
85
+ "concentric": [
86
+ "dist/concentric.d.ts"
87
+ ],
88
+ "dot-flow-field": [
89
+ "dist/dot-flow-field.d.ts"
90
+ ],
64
91
  "goo-blob": [
65
92
  "dist/goo-blob.d.ts"
66
93
  ],
@@ -85,9 +112,15 @@
85
112
  "paper-backdrop": [
86
113
  "dist/paper-backdrop.d.ts"
87
114
  ],
115
+ "pager-dots": [
116
+ "dist/pager-dots.d.ts"
117
+ ],
88
118
  "toggle-chip": [
89
119
  "dist/toggle-chip.d.ts"
90
120
  ],
121
+ "spa-view": [
122
+ "dist/spa-view.d.ts"
123
+ ],
91
124
  "sortable-list": [
92
125
  "dist/sortable-list.d.ts"
93
126
  ],
@@ -118,8 +151,8 @@
118
151
  "scrolling-text": [
119
152
  "dist/scrolling-text.d.ts"
120
153
  ],
121
- "underline": [
122
- "dist/underline.d.ts"
154
+ "handmark": [
155
+ "dist/handmark.d.ts"
123
156
  ],
124
157
  "glass-panel": [
125
158
  "dist/glass-panel.d.ts"
@@ -245,6 +278,8 @@
245
278
  "import": "./dist/tokens.js"
246
279
  },
247
280
  "./styles": "./dist/styles/index.css",
281
+ "./styles/critical": "./dist/styles/critical.css",
282
+ "./styles/deferred": "./dist/styles/deferred.css",
248
283
  "./styles/fonts": "./dist/styles/fonts.css",
249
284
  "./styles.css": "./dist/glass-ui.css",
250
285
  "./fonts/*": "./dist/fonts/*",
@@ -252,6 +287,14 @@
252
287
  "types": "./dist/dock.d.ts",
253
288
  "import": "./dist/dock.js"
254
289
  },
290
+ "./drawer": {
291
+ "types": "./dist/drawer.d.ts",
292
+ "import": "./dist/drawer.js"
293
+ },
294
+ "./focus-scope": {
295
+ "types": "./dist/focus-scope.d.ts",
296
+ "import": "./dist/focus-scope.js"
297
+ },
255
298
  "./search": {
256
299
  "types": "./dist/search.d.ts",
257
300
  "import": "./dist/search.js"
@@ -264,6 +307,10 @@
264
307
  "types": "./dist/controls.d.ts",
265
308
  "import": "./dist/controls.js"
266
309
  },
310
+ "./color-swatch": {
311
+ "types": "./dist/color-swatch.d.ts",
312
+ "import": "./dist/color-swatch.js"
313
+ },
267
314
  "./confirm-dialog": {
268
315
  "types": "./dist/confirm-dialog.d.ts",
269
316
  "import": "./dist/confirm-dialog.js"
@@ -284,6 +331,14 @@
284
331
  "types": "./dist/stacked-icons.d.ts",
285
332
  "import": "./dist/stacked-icons.js"
286
333
  },
334
+ "./icon-chip": {
335
+ "types": "./dist/icon-chip.d.ts",
336
+ "import": "./dist/icon-chip.js"
337
+ },
338
+ "./border-progress": {
339
+ "types": "./dist/border-progress.d.ts",
340
+ "import": "./dist/border-progress.js"
341
+ },
287
342
  "./aurora": {
288
343
  "types": "./dist/aurora.d.ts",
289
344
  "import": "./dist/aurora.js"
@@ -296,6 +351,14 @@
296
351
  "types": "./dist/color.d.ts",
297
352
  "import": "./dist/color.js"
298
353
  },
354
+ "./easing": {
355
+ "types": "./dist/easing.d.ts",
356
+ "import": "./dist/easing.js"
357
+ },
358
+ "./fading-scroll": {
359
+ "types": "./dist/fading-scroll.d.ts",
360
+ "import": "./dist/fading-scroll.js"
361
+ },
299
362
  "./fourier-field": {
300
363
  "types": "./dist/fourier-field.d.ts",
301
364
  "import": "./dist/fourier-field.js"
@@ -304,6 +367,14 @@
304
367
  "types": "./dist/fourier-math.d.ts",
305
368
  "import": "./dist/fourier-math.js"
306
369
  },
370
+ "./concentric": {
371
+ "types": "./dist/concentric.d.ts",
372
+ "import": "./dist/concentric.js"
373
+ },
374
+ "./dot-flow-field": {
375
+ "types": "./dist/dot-flow-field.d.ts",
376
+ "import": "./dist/dot-flow-field.js"
377
+ },
307
378
  "./goo-blob": {
308
379
  "types": "./dist/goo-blob.d.ts",
309
380
  "import": "./dist/goo-blob.js"
@@ -348,10 +419,18 @@
348
419
  "types": "./dist/paper-backdrop.d.ts",
349
420
  "import": "./dist/paper-backdrop.js"
350
421
  },
422
+ "./pager-dots": {
423
+ "types": "./dist/pager-dots.d.ts",
424
+ "import": "./dist/pager-dots.js"
425
+ },
351
426
  "./toggle-chip": {
352
427
  "types": "./dist/toggle-chip.d.ts",
353
428
  "import": "./dist/toggle-chip.js"
354
429
  },
430
+ "./spa-view": {
431
+ "types": "./dist/spa-view.d.ts",
432
+ "import": "./dist/spa-view.js"
433
+ },
355
434
  "./sortable-list": {
356
435
  "types": "./dist/sortable-list.d.ts",
357
436
  "import": "./dist/sortable-list.js"
@@ -384,9 +463,9 @@
384
463
  "types": "./dist/scrolling-text.d.ts",
385
464
  "import": "./dist/scrolling-text.js"
386
465
  },
387
- "./underline": {
388
- "types": "./dist/underline.d.ts",
389
- "import": "./dist/underline.js"
466
+ "./handmark": {
467
+ "types": "./dist/handmark.d.ts",
468
+ "import": "./dist/handmark.js"
390
469
  },
391
470
  "./glass-panel": {
392
471
  "types": "./dist/glass-panel.d.ts",
@@ -555,9 +634,16 @@
555
634
  "proof:runtime": "node scripts/proof-runtime.mjs",
556
635
  "proof:theme": "node scripts/proof-theme-style.mjs",
557
636
  "proof:components-css": "node scripts/proof-components-css.mjs",
637
+ "proof:dist-css": "node scripts/proof-dist-css.mjs",
558
638
  "proof:resolution": "node scripts/proof-resolution-contract.mjs",
559
639
  "proof:consumer-staleness": "node scripts/proof-consumer-staleness.mjs",
560
640
  "proof:peer-conformance": "node scripts/proof-peer-conformance.mjs",
641
+ "proof:constellation-spine": "node scripts/proof-constellation-spine.mjs",
642
+ "proof:close-battery-parity": "node scripts/proof-close-battery-parity.mjs",
643
+ "proof:no-layout-animation": "node scripts/proof-no-layout-animation.mjs",
644
+ "proof:css-critical": "node scripts/proof-css-critical.mjs",
645
+ "proof:lighthouse": "node scripts/proof-lighthouse.mjs",
646
+ "proof:perf-producer": "node scripts/proof-perf-producer.mjs",
561
647
  "proof:phantom-classes": "node scripts/proof-phantom-classes.mjs",
562
648
  "proof:vt-names": "node scripts/proof-vt-names.mjs",
563
649
  "proof:dock-animation-live": "node scripts/proof-dock-animation-live.mjs",
@@ -587,8 +673,12 @@
587
673
  "proof:motion-demo": "node scripts/proof-motion-demo.mjs",
588
674
  "proof:motion2": "node scripts/proof-motion2.mjs",
589
675
  "proof:rail3": "node scripts/proof-rail3.mjs",
676
+ "proof:dock-sections": "node scripts/proof-dock-sections.mjs",
677
+ "proof:dock-morph-insitu": "node scripts/proof-dock-morph-insitu.mjs",
678
+ "proof:shell-hold": "node scripts/proof-shell-hold.mjs",
590
679
  "proof:az-reflect": "node scripts/proof-az-reflect.mjs",
591
680
  "proof:az-final": "node scripts/proof-az-final.mjs",
681
+ "proof:ba-final": "node scripts/proof-ba-final.mjs",
592
682
  "proof:shell-identity": "node scripts/proof-shell-identity.mjs",
593
683
  "proof:blob-studio": "node scripts/proof-blob-studio.mjs",
594
684
  "proof:blob-studio-config": "node scripts/proof-blob-studio-config.mjs",
@@ -600,8 +690,50 @@
600
690
  "proof:dock-css-split": "node scripts/proof-dock-controls-split.mjs",
601
691
  "proof:design-idiom-localization": "node scripts/proof-design-idiom-localization.mjs",
602
692
  "proof:hierarchy": "node scripts/proof-hierarchy.mjs",
693
+ "proof:eyebrow-union": "node scripts/proof-eyebrow-union.mjs",
694
+ "proof:drawer-abrogate": "node scripts/proof-drawer-abrogate.mjs",
695
+ "proof:card-padding": "node scripts/proof-card-padding.mjs",
696
+ "proof:doc-override-idiom": "node scripts/proof-doc-override-idiom.mjs",
697
+ "proof:lineage-probe": "node scripts/proof-lineage-probe.mjs",
698
+ "proof:concentric": "node scripts/proof-concentric.mjs",
699
+ "proof:crossrepo-asks": "node scripts/proof-crossrepo-asks.mjs",
700
+ "proof:strict-freshness-armed": "node scripts/proof-strict-freshness-armed.mjs",
701
+ "proof:live-verified-ledger:strict": "node scripts/proof-live-verified-ledger.mjs --tranche=AY --strict-freshness && node scripts/proof-live-verified-ledger.mjs --tranche=BB --strict-freshness",
702
+ "proof:precept-current": "node scripts/proof-precept-current.mjs",
703
+ "proof:aur-kuwahara": "node scripts/proof-aur-kuwahara.mjs",
704
+ "proof:flow-field": "node scripts/proof-flow-field.mjs",
705
+ "proof:nda-decided": "node scripts/proof-nda-decided.mjs",
706
+ "proof:aurora-curl-warp": "node scripts/proof-aurora-curl-warp.mjs",
707
+ "proof:spring-crisp": "node scripts/proof-spring-crisp.mjs",
708
+ "proof:spa-view": "node scripts/proof-spa-view.mjs",
709
+ "proof:card-tier-alpha": "node scripts/proof-card-tier-alpha.mjs",
710
+ "proof:dockmorph-cta": "node scripts/proof-dockmorph-cta.mjs",
711
+ "proof:gpu-substrate-single": "node scripts/proof-gpu-substrate-single.mjs",
712
+ "proof:desktop-reserve": "node scripts/proof-desktop-reserve.mjs",
713
+ "proof:pointer-velocity": "node scripts/proof-pointer-velocity.mjs",
714
+ "proof:border-progress": "node scripts/proof-border-progress.mjs",
715
+ "proof:demo-design": "node scripts/proof-demo-design.mjs",
716
+ "proof:no-dual-path": "node scripts/proof-no-dual-path.mjs",
717
+ "proof:liquid-reveal": "node scripts/proof-liquid-reveal.mjs",
718
+ "proof:glass-depth": "node scripts/proof-glass-depth.mjs",
719
+ "proof:metal-shimmer": "node scripts/proof-metal-shimmer.mjs",
720
+ "proof:glass-accent": "node scripts/proof-glass-accent.mjs",
721
+ "proof:lensing": "node scripts/proof-lensing.mjs",
722
+ "proof:press-unify": "node scripts/proof-press-unify.mjs",
723
+ "proof:scroll-motion": "node scripts/proof-scroll-motion.mjs",
724
+ "proof:drag-morph": "node scripts/proof-drag-morph.mjs",
725
+ "proof:display-tracking": "node scripts/proof-display-tracking.mjs",
726
+ "proof:paper-grid": "node scripts/proof-paper-grid.mjs",
727
+ "proof:control-tokens": "node scripts/proof-control-tokens.mjs",
728
+ "proof:button-glass": "node scripts/proof-button-glass.mjs",
729
+ "proof:phase-palette": "node scripts/proof-phase-palette.mjs",
730
+ "proof:aurora-swraster": "node scripts/proof-aurora-swraster.mjs",
731
+ "proof:on-glass-fg": "node scripts/proof-on-glass-fg.mjs",
732
+ "proof:dock-morph-family": "node scripts/proof-dock-morph-family.mjs",
603
733
  "proof:suffuse": "node scripts/proof-suffuse.mjs",
734
+ "proof:suffuse2": "node scripts/proof-suffuse2.mjs",
604
735
  "proof:colocation": "node scripts/proof-colocation.mjs",
736
+ "proof:claude-structure-sync": "node scripts/proof-claude-structure-sync.mjs",
605
737
  "proof:tailwind-v4-idiom": "node scripts/proof-tailwind-v4-idiom.mjs",
606
738
  "proof:au-w9-consumers": "node scripts/proof-au-w9-consumers.mjs",
607
739
  "proof:shadow-contract": "node scripts/proof-shadow-contract.mjs",
@@ -720,15 +852,38 @@
720
852
  "proof:readme-meta-clean": "node scripts/proof-readme-meta-clean.mjs",
721
853
  "proof:convergence-fit-coherent": "node scripts/proof-convergence-fit-coherent.mjs",
722
854
  "proof:adaptive-glass": "node scripts/proof-adaptive-glass.mjs",
855
+ "proof:dark-material": "node scripts/proof-dark-material.mjs",
856
+ "proof:no-gray": "node scripts/proof-no-gray.mjs",
857
+ "proof:surface-axis": "node scripts/proof-surface-axis.mjs",
858
+ "proof:menu-glass": "node scripts/proof-menu-glass.mjs",
859
+ "proof:pager-ring": "node scripts/proof-pager-ring.mjs",
860
+ "proof:icon-chip": "node scripts/proof-icon-chip.mjs",
861
+ "proof:easing-primitive": "node scripts/proof-easing-primitive.mjs",
862
+ "proof:handmark": "node scripts/proof-handmark.mjs",
863
+ "proof:ba-animate": "node scripts/proof-ba-animate.mjs",
864
+ "proof:stage": "node scripts/proof-stage.mjs",
865
+ "proof:fading-scroll": "node scripts/proof-fading-scroll.mjs",
866
+ "proof:emission": "node scripts/proof-emission.mjs",
867
+ "proof:goo-redress": "node scripts/proof-goo-redress.mjs",
868
+ "proof:glass-cal": "node scripts/proof-glass-cal.mjs",
869
+ "proof:dock-plate-clearance": "node scripts/proof-dock-plate-clearance.mjs",
870
+ "proof:atlas-ab": "node scripts/proof-atlas-ab.mjs",
871
+ "proof:config-chassis": "node scripts/proof-config-chassis.mjs",
872
+ "proof:progress-gradient": "node scripts/proof-progress-gradient.mjs",
873
+ "proof:demo-affordances": "node scripts/proof-demo-affordances.mjs",
874
+ "proof:fourier-studio": "node scripts/proof-fourier-studio.mjs",
723
875
  "proof:dark-semantic-contrast": "node scripts/proof-dark-semantic-contrast.mjs",
724
876
  "proof:glass-material-demo": "node scripts/proof-glass-material-demo.mjs",
725
877
  "proof:blob-live-truth": "node scripts/proof-blob-live-truth.mjs",
726
878
  "proof:blob-config-atoms": "node scripts/proof-blob-config-atoms.mjs",
727
879
  "proof:blob3-strip": "node scripts/proof-blob3-strip.mjs",
728
880
  "proof:blob-config": "node scripts/proof-blob-config.mjs",
729
- "proof:tabs-unified": "node scripts/proof-tabs-unified.mjs",
881
+ "proof:tabs-std": "node scripts/proof-tabs-std.mjs",
730
882
  "proof:glass-material-sota": "node scripts/proof-glass-material-sota.mjs",
731
- "proof:primitive-affordance": "node scripts/proof-primitive-affordance.mjs",
883
+ "proof:no-dead-token": "node scripts/proof-no-dead-token.mjs",
884
+ "proof:affordance-contrast": "node scripts/proof-affordance-contrast.mjs",
885
+ "proof:datatable-split": "node scripts/proof-datatable-split.mjs",
886
+ "proof:dock-big-dock": "node scripts/proof-dock-big-dock.mjs",
732
887
  "proof:reka-binding-idiom": "node scripts/proof-reka-binding-idiom.mjs",
733
888
  "proof:animation-coherence": "node scripts/proof-animation-coherence.mjs",
734
889
  "proof:design-md-current": "node scripts/proof-design-md-current.mjs",
@@ -740,37 +895,44 @@
740
895
  "proof:blob-integration": "node scripts/proof-blob-integration.mjs",
741
896
  "proof:gate-script-parity": "node scripts/proof-gate-script-parity.mjs",
742
897
  "proof:all": "node scripts/gates.mjs --run local",
743
- "proof:live-verified-ledger": "node scripts/proof-live-verified-ledger.mjs --tranche=AY",
898
+ "proof:full": "node scripts/gates.mjs --run full",
899
+ "proof:live-verified-ledger": "node scripts/proof-live-verified-ledger.mjs --tranche=BB",
744
900
  "proof:live-verified-ledger:ay": "node scripts/proof-live-verified-ledger.mjs --tranche=AY",
745
901
  "proof:live-verified-ledger:az": "node scripts/proof-live-verified-ledger.mjs --tranche=AZ",
746
902
  "proof:live-verified-ledger:ax": "node scripts/proof-live-verified-ledger.mjs --tranche=AX",
903
+ "proof:live-verified-ledger:ba": "node scripts/proof-live-verified-ledger.mjs --tranche=BA",
904
+ "proof:live-verified-ledger:bb": "node scripts/proof-live-verified-ledger.mjs --tranche=BB",
747
905
  "proof:disposition-live": "node scripts/proof-disposition-live.mjs",
748
906
  "proof:gen-ci-fresh": "node scripts/proof-gen-ci-fresh.mjs",
749
907
  "proof:gate-manifest-sound": "node scripts/proof-gate-manifest-sound.mjs",
908
+ "proof:ba-gestalt": "node scripts/proof-ba-gestalt.mjs",
909
+ "proof:visual-runner": "node scripts/proof-visual-runner.mjs",
750
910
  "gates:verify-ci": "node scripts/gates.mjs --verify-ci",
751
911
  "gates:emit-ci": "node scripts/gates.mjs --emit-ci",
912
+ "gates:pi": "node scripts/gates.mjs --run pi",
752
913
  "profile:bundle": "node scripts/profile-bundle.mjs",
753
914
  "profile:budget": "node scripts/profile-bundle.mjs --enforce",
754
915
  "profile:aurora": "node scripts/profile-aurora.mjs",
755
916
  "validate-consumers": "scripts/validate-consumers.sh",
756
917
  "release": "bash scripts/release.sh",
757
- "prepublishOnly": "npm run build && npm test"
918
+ "prepublishOnly": "npm run build && npm test && npm run proof:dist-css"
758
919
  },
759
920
  "engines": {
760
921
  "node": ">=22"
761
922
  },
762
923
  "peerDependencies": {
763
924
  "@lucide/vue": "^1.16.0",
764
- "@mkbabb/keyframes.js": "^2.2.0 || ^3.0.0 || ^4.0.0",
765
- "@mkbabb/value.js": "^0.10.0 || ^0.11.0",
925
+ "@mkbabb/keyframes.js": "^4.0.0",
926
+ "@mkbabb/pencil-boil": "^0.4.1",
927
+ "@mkbabb/value.js": "^0.13.0 || ^1.0.0",
766
928
  "@vueuse/core": "^14.0",
767
929
  "class-variance-authority": "^0.7",
768
930
  "clsx": "^2.0",
769
931
  "embla-carousel-vue": "^8.0",
932
+ "perfect-freehand": "^1.2.3",
770
933
  "reka-ui": "^2.0",
771
934
  "tailwindcss": "^4.0",
772
935
  "tw-animate-css": "^1.2.5",
773
- "vaul-vue": "^0.4",
774
936
  "vue": "^3.5"
775
937
  },
776
938
  "peerDependenciesMeta": {
@@ -783,19 +945,26 @@
783
945
  "@mkbabb/keyframes.js": {
784
946
  "optional": true
785
947
  },
948
+ "@mkbabb/pencil-boil": {
949
+ "optional": true
950
+ },
786
951
  "@mkbabb/value.js": {
787
952
  "optional": true
788
953
  },
954
+ "perfect-freehand": {
955
+ "optional": true
956
+ },
789
957
  "tw-animate-css": {
790
958
  "optional": true
791
959
  }
792
960
  },
793
961
  "devDependencies": {
794
- "@lucide/vue": "^1.16.0",
795
- "@mkbabb/keyframes.js": "^4.1.0",
796
- "@mkbabb/value.js": "^0.10.0",
797
- "@tailwindcss/postcss": "^4.3.0",
798
- "@tailwindcss/vite": "^4.3.0",
962
+ "@lucide/vue": "^1.20.0",
963
+ "@mkbabb/keyframes.js": "^4.3.0",
964
+ "@mkbabb/pencil-boil": "^0.4.1",
965
+ "@mkbabb/value.js": "^0.13.0 || ^1.0.0",
966
+ "@tailwindcss/postcss": "^4.3.1",
967
+ "@tailwindcss/vite": "^4.3.1",
799
968
  "@types/node": "^24.12.3",
800
969
  "@vitejs/plugin-vue": "^6.0.7",
801
970
  "@vue/test-utils": "^2.4.10",
@@ -804,15 +973,14 @@
804
973
  "clsx": "^2.1.1",
805
974
  "embla-carousel-vue": "^8.6.0",
806
975
  "happy-dom": "^20.9.0",
807
- "reka-ui": "^2.9.7",
808
- "tailwindcss": "^4.3.0",
976
+ "reka-ui": "^2.9",
977
+ "tailwindcss": "^4.3.1",
809
978
  "tw-animate-css": "^1.2.5",
810
979
  "typescript": "^6.0.3",
811
- "vaul-vue": "^0.4.0",
812
- "vite": "^8.0.13",
813
- "vitest": "^4.1.7",
980
+ "vite": "^8",
981
+ "vitest": "^4.1.9",
814
982
  "vue": "^3.5.34",
815
983
  "vue-router": "^4.6.4",
816
- "vue-tsc": "^3.3.1"
984
+ "vue-tsc": "^3.3.5"
817
985
  }
818
986
  }
@@ -134,39 +134,29 @@
134
134
  }
135
135
  }
136
136
 
137
- /* ── Gold shimmer: metallic text highlight sweep ── */
138
-
139
- @keyframes gold-shimmer-slide {
137
+ /* ── Metal shimmer: the metal-PARAMETERIZED text/border highlight sweep ──
138
+ * BB.W-METAL-SHIMMER — the ONE metal-agnostic sweep (the gold-only
139
+ * `gold-shimmer-slide` RETIRED onto it — clean break, no alias). The keyframe is
140
+ * PURE position (ZERO baked metal color): the metal hue is the recipe's job via
141
+ * the `--metal-shimmer-color`-bound gradient (see utilities/metal.css). The SAME
142
+ * keyframe sweeps a gold, silver, or bronze gradient depending only on the channel,
143
+ * usable for BOTH text-clip (the `.metal-*` text register) AND border/mask (the
144
+ * `.metal-*-border` swept RIM) — the position pass shifts whatever gradient the
145
+ * surface paints. The `200% 0`→`-200% 0` shape carries the gold READ exactly
146
+ * (byte-faithful to the retired `gold-shimmer-slide`). The slow `--duration-metal`
147
+ * (6s) clock is set at the consumer (the metal recipe), not baked here. */
148
+ @keyframes metal-shimmer-sweep {
140
149
  0% { background-position: 200% 0; }
141
150
  100% { background-position: -200% 0; }
142
151
  }
143
152
 
144
- /* ── Sparkle sweep: four-point star traverses a surface diagonally ──
145
- *
146
- * Reserved for the chassis primary-action hover (dock-tab-button[data-tier="primary"])
147
- * and the `Complete!` shimmer cycle. Single keyframe, ~600ms per pass; the
148
- * consumer rule sets the duration and easing. Reduced-motion guard at the
149
- * consumer site (per surface — not all sparkle uses share the same gate).
153
+ /* ── Sparkle sweep RETIRED (BA.W-GLASS-CAL, H2a) ──
154
+ * The `@keyframes sparkle-sweep` + its reduced-motion stub are DELETED with the
155
+ * disco recipe family — the `btn-audacious` ::after star (its sole consumer) is
156
+ * gone, and the dock-tab primary tier collapsed onto the calm glass register.
157
+ * The `Complete!` celebratory shimmer rides the metal-shimmer-sweep / shimmer
158
+ * keyframes above, never sparkle-sweep.
150
159
  */
151
- @keyframes sparkle-sweep {
152
- 0% {
153
- transform: translate(-30%, -30%) scale(0.5);
154
- opacity: 0;
155
- }
156
- 25% {
157
- opacity: 1;
158
- }
159
- 100% {
160
- transform: translate(180%, 180%) scale(1.2);
161
- opacity: 0;
162
- }
163
- }
164
-
165
- @media (prefers-reduced-motion: reduce) {
166
- @keyframes sparkle-sweep {
167
- 0%, 100% { opacity: 0; transform: none; }
168
- }
169
- }
170
160
 
171
161
  /* ── Pulse dot bounce: dots variant of <Pulse> ──
172
162
  *
@@ -333,9 +323,26 @@
333
323
  dialog.glass-top-layer {
334
324
  opacity: 0;
335
325
  scale: var(--top-layer-enter-scale, 0.96);
336
- transition-property: opacity, scale, display, overlay;
337
- transition-duration: var(--duration-normal);
338
- transition-timing-function: var(--spring-bouncy);
326
+ /* BB.W-LIQUID-REVEAL — the coupled blur-settle decongest (the iOS
327
+ "light-bending modulation" arrival). The surface's OWN pixels decongest
328
+ `filter: blur(--top-layer-enter-blur)` → `blur(0)` AS it blooms (a `filter`
329
+ radius interp is compositor-safe; it rides the surface's pixels, so it does
330
+ NOT fight the resting glass-tier `backdrop-filter` plate blur — the
331
+ REVEAL-TOPLAYER-NO-BLUR fix, the twin of the `.glass-reveal` recipe's blur
332
+ leg, glass/reveal.css). */
333
+ filter: blur(var(--top-layer-enter-blur, 4px));
334
+ transition-property: opacity, scale, filter, display, overlay;
335
+ /* BA.W-GLASS-CAL Unit 3 — the enter rides the bouncy spring's OWN settle
336
+ clock (`--spring-bouncy-duration`, the 2%-band envelope settle) rather
337
+ than the generic `--duration-normal`, so the emphatic dialog/popover
338
+ entrance bounce reads fully instead of being clipped at 0.3s. The blur
339
+ decongest rides the no-overshoot `--ease-out` (EFFECTS), the scale the
340
+ bouncy spring (SPATIAL) — the W-MOTION-CANON split. */
341
+ transition-duration: var(--spring-bouncy-duration),
342
+ var(--spring-bouncy-duration), var(--spring-bouncy-duration),
343
+ var(--spring-bouncy-duration), var(--spring-bouncy-duration);
344
+ transition-timing-function: var(--spring-bouncy), var(--spring-bouncy),
345
+ var(--ease-out), linear, linear;
339
346
  transition-behavior: allow-discrete;
340
347
  }
341
348
 
@@ -345,9 +352,11 @@
345
352
  dialog.glass-top-layer[open] {
346
353
  opacity: 1;
347
354
  scale: 1;
355
+ filter: blur(0);
348
356
  @starting-style {
349
357
  opacity: 0;
350
358
  scale: var(--top-layer-enter-scale, 0.96);
359
+ filter: blur(var(--top-layer-enter-blur, 4px));
351
360
  }
352
361
  }
353
362
 
@@ -0,0 +1,109 @@
1
+ /* BB.W-BORDER-PROGRESS — progress IS the element's border.
2
+ *
3
+ * The masked-conic ring consumption (the registration lives in
4
+ * tokens/property-regs.css §18, mirroring the specular split: the @property reg
5
+ * there, the consumption here). The ring paints a `conic-gradient` MASK-COMPOSITED
6
+ * into the border band so ONLY the band paints AND it FOLLOWS the host
7
+ * `border-radius` — a `border-image` SQUARES the corners (measured inferior,
8
+ * forbidden), a floating-bar child re-introduces allocation (forbidden). The host
9
+ * INTERIOR is untouched: a glass card still transmits the backdrop THROUGH its
10
+ * content box (the AX.W54 glass-first identity — the ring is a border-band cut-out,
11
+ * not an opaque overlay).
12
+ *
13
+ * Compositor-only: the sweep rides the registered `--border-progress-fill`
14
+ * <percentage>; no layout property animates (`proof:no-layout-animation`). The
15
+ * unregistered fallback is safe (the `initial-value` paints the resting ring; the
16
+ * cross-fade collapses to it on a non-supporting engine — Chromium 85+/Safari
17
+ * 16.4+, within the deployment floor). */
18
+
19
+ .border-progress {
20
+ position: relative;
21
+ display: block;
22
+ border-radius: var(--border-progress-radius, 16px);
23
+ /* The host reserves the border band the ring paints into (allocation-free —
24
+ the content box is untouched, no reflow). */
25
+ padding: 0;
26
+ }
27
+
28
+ /* The ring layer — inset over the host, the border band the conic paints into.
29
+ The `border` width IS the band thickness; the conic is mask-composited so the
30
+ padding-box (interior) is EXCLUDED from the border-box (the radius-following
31
+ cut-out). */
32
+ .border-progress__ring {
33
+ position: absolute;
34
+ inset: 0;
35
+ border-radius: inherit;
36
+ border: var(--border-progress-width, 12px) solid transparent;
37
+ pointer-events: none;
38
+ /* The spectrum conic, swept to --border-progress-fill. The colored arc runs
39
+ from the top (12 o'clock) clockwise to the fill fraction; past it is
40
+ transparent so the resting band shows ONLY the filled spectrum. */
41
+ background:
42
+ conic-gradient(
43
+ from 0deg,
44
+ var(--border-progress-spectrum, var(--section-color-7)),
45
+ transparent var(--border-progress-fill, 0%),
46
+ transparent 100%
47
+ );
48
+ /* THE RADIUS-FOLLOWING CUT-OUT — the house border-ring idiom: paint a
49
+ border-box fill, EXCLUDE a padding-box fill, leaving only the border band,
50
+ which follows `border-radius` exactly (a border-image cannot). */
51
+ -webkit-mask:
52
+ linear-gradient(#fff 0 0) padding-box,
53
+ linear-gradient(#fff 0 0) border-box;
54
+ -webkit-mask-composite: xor;
55
+ mask:
56
+ linear-gradient(#fff 0 0) padding-box,
57
+ linear-gradient(#fff 0 0) border-box;
58
+ mask-composite: exclude;
59
+ }
60
+
61
+ /* THE COVERAGE AXIS — ONE conic-mask mechanism, two coverage masks (NOT a second
62
+ recipe). `bottom-edge` adds a SECOND mask layer scoping the painted band to the
63
+ bottom edge only; it composes WITH the border-band cut-out above (the mask
64
+ stack intersects), so the bottom register reuses the exact conic + radius
65
+ cut-out — the dock-orientation `dim`-idiom discipline (no parallel fork). */
66
+ .border-progress[data-coverage="bottom-edge"] .border-progress__ring {
67
+ -webkit-mask:
68
+ linear-gradient(#fff 0 0) padding-box,
69
+ linear-gradient(#fff 0 0) border-box,
70
+ linear-gradient(to top, #fff 0, #fff var(--border-progress-width, 12px), transparent var(--border-progress-width, 12px));
71
+ -webkit-mask-composite: xor, source-in;
72
+ mask:
73
+ linear-gradient(#fff 0 0) padding-box,
74
+ linear-gradient(#fff 0 0) border-box,
75
+ linear-gradient(to top, #fff 0, #fff var(--border-progress-width, 12px), transparent var(--border-progress-width, 12px));
76
+ mask-composite: exclude, intersect;
77
+ }
78
+
79
+ /* The content box — the host's own surface (a glass card, a chassis). It is
80
+ untouched by the ring (backdrop-intact); the ring sits over the border band
81
+ only. */
82
+ .border-progress__content {
83
+ position: relative;
84
+ z-index: 1;
85
+ border-radius: inherit;
86
+ height: 100%;
87
+ }
88
+
89
+ /* THE MILESTONE PULSE — a brief brightness bloom on a crossed phase edge. The
90
+ pulse is PRM-gated (no edge-pulse under reduced motion — the ring snaps to the
91
+ new value). Compositor-only (filter brightness, never a layout property). */
92
+ @media (prefers-reduced-motion: no-preference) {
93
+ .border-progress[data-milestone] .border-progress__ring {
94
+ animation: border-progress-milestone-pulse
95
+ var(--spring-snappy-duration, 0.34s) var(--ease-out, ease-out);
96
+ }
97
+ }
98
+
99
+ @keyframes border-progress-milestone-pulse {
100
+ 0% {
101
+ filter: brightness(1);
102
+ }
103
+ 40% {
104
+ filter: brightness(1.35);
105
+ }
106
+ 100% {
107
+ filter: brightness(1);
108
+ }
109
+ }