@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
@@ -1,5 +1,5 @@
1
1
  /* utilities/btn.css
2
- The interactive/button @utility cluster — scale-on-hover, twin-line-divider, transition-control/collapse, sheet-animate, btn-audacious + btn-audacious-gold (+ the btn-gold-bg-sweep keyframes), table-cell/head density, rainbow-vivid/pastel, the text-highlight paint, and btn-interactive.
2
+ The interactive/button @utility cluster — scale-on-hover, twin-line-divider, transition-control/collapse, sheet-animate, table-cell/head density, rainbow-vivid/pastel, the text-highlight paint, and btn-interactive. (The btn-audacious/btn-audacious-gold disco recipes + the btn-gold-bg-sweep keyframes were RETIRED at BA.W-GLASS-CAL.)
3
3
  Carved from the utilities.css cascade root; @import-ed by utilities.css in
4
4
  cascade order. See docs/precepts/design-idioms.md §cohesion-aware partials. */
5
5
  /* ── Hover scale (O.W6 Lane C) ──
@@ -18,7 +18,7 @@
18
18
  (the settle register), NOT the bezier `--ease-standard` (a transform on a
19
19
  bezier reads mechanical; springs read alive on transform). */
20
20
  scale: 1;
21
- transition: scale var(--duration-fast) var(--spring-smooth);
21
+ transition: scale var(--spring-smooth-duration) var(--spring-smooth);
22
22
 
23
23
  &:hover {
24
24
  scale: var(--scale-hover);
@@ -69,7 +69,9 @@
69
69
  }
70
70
 
71
71
  /* ── Sheet/drawer slide-out animation grammar ──
72
- Mirror of `.popover-animate` for sheet/drawer panels. Pairs with
72
+ The sheet/drawer-panel analogue of the overlay enter (the popover-class
73
+ surfaces now ride the spring-clocked `.glass-reveal`, BB.W-LIQUID-REVEAL).
74
+ Pairs with
73
75
  `slide-in-from-{top,right,bottom,left}-N` to compose side-keyed entries.
74
76
  The open path uses --duration-panel (slow, deliberate); the close path
75
77
  uses --duration-fast so dismiss feels snappy. R5 vocab.γ gap row 6;
@@ -81,203 +83,20 @@
81
83
  data-[state=closed]:duration-[var(--duration-fast)];
82
84
  }
83
85
 
84
- /* ── Audacious primary CTA recipe ────────────────────────────────────────
85
- Composes three at-rest marks (top-highlight via --glass-highlight, bottom
86
- under-shadow via --border-hairline, baseline glass) with three disco accents
87
- on hover (specular swap via --glass-specular, sparkle sweep via the ::after
88
- star, disco-grain via --paper-clean-texture blended with a --primary radial).
89
- Disco fires on hover only — at rest the button reads as a restrained glass
90
- surface. Pair with `bg-primary text-primary-foreground`; the utility owns
91
- the texture/highlight/sparkle composition only. */
92
- @utility btn-audacious {
93
- position: relative;
94
- isolation: isolate;
95
- overflow: hidden;
96
- border: 1px solid var(--glass-border-quiet);
97
- box-shadow:
98
- var(--border-hairline),
99
- var(--glass-highlight);
100
- transition:
101
- background var(--duration-fast) var(--ease-standard),
102
- color var(--duration-fast) var(--ease-standard),
103
- transform var(--duration-fast) var(--ease-standard),
104
- box-shadow var(--duration-fast) var(--ease-standard),
105
- --ripple-radius var(--motion-duration-ripple, 340ms) var(--ease-out-expo);
106
-
107
- /* Hover composition: paper-grain texture overlaid on a soft
108
- --primary radial, with the specular catch-light replacing the
109
- resting hairline highlight. The radial uses --primary at 18%
110
- — same alpha rung the dock primary tier consumes for phase
111
- tinting, just bound to the canonical CTA color instead. */
112
- &:hover:not(:disabled) {
113
- background-image:
114
- var(--paper-clean-texture),
115
- radial-gradient(
116
- ellipse at 30% 30%,
117
- color-mix(in srgb, var(--primary) 18%, transparent),
118
- transparent 70%
119
- );
120
- background-blend-mode: overlay, normal;
121
- background-size: var(--paper-texture-size), auto;
122
- box-shadow:
123
- var(--glass-specular),
124
- 0 0.5px 0 0 rgb(0 0 0 / 0.06);
125
- }
126
-
127
- /* AI.W4-M.2 (Q5 — G-AI-D27 ratified) — press-ripple via a typed
128
- `--ripple-radius` length custom property. The `::before`
129
- element paints a radial gradient whose stop radius equals the
130
- typed length; the `:active` rule sets the length to the cap
131
- (`--ripple-radius-max`, 12rem), and the host's transition
132
- (above) interpolates the radius via the @property registration
133
- (tokens.css §18). Release returns the length to its 0px initial
134
- value and the ripple retires. The ripple paints at z-index 0
135
- (above the host's background, below the slot content which sits
136
- in the default 0 stacking context but with text inheriting the
137
- slot's foreground colour). */
138
- &::before {
139
- content: "";
140
- position: absolute;
141
- inset: 0;
142
- pointer-events: none;
143
- z-index: 0;
144
- border-radius: inherit;
145
- background: radial-gradient(
146
- circle at center,
147
- color-mix(in srgb, var(--primary-foreground, hsl(0 0% 100%)) 35%, transparent) 0,
148
- color-mix(in srgb, var(--primary-foreground, hsl(0 0% 100%)) 18%, transparent)
149
- calc(var(--ripple-radius, 0px) * 0.55),
150
- transparent var(--ripple-radius, 0px)
151
- );
152
- transition: inherit;
153
- will-change: background;
154
- }
155
-
156
- &:active:not(:disabled) {
157
- --ripple-radius: var(--ripple-radius-max, 12rem);
158
- }
159
-
160
- /* Sparkle glyph — hidden at rest, animated on hover. The star
161
- sweeps diagonally from top-left to bottom-right per the canonical
162
- sparkle-sweep keyframe (animations.css). */
163
- &::after {
164
- content: "✦";
165
- position: absolute;
166
- top: 0.25rem;
167
- left: 0.5rem;
168
- color: hsl(0 0% 100% / 0.7);
169
- font-size: 0.75rem;
170
- line-height: 1;
171
- pointer-events: none;
172
- opacity: 0;
173
- will-change: transform, opacity;
174
- z-index: 1;
175
- }
176
-
177
- @media (prefers-reduced-motion: no-preference) {
178
- &:hover::after {
179
- animation: sparkle-sweep var(--duration-sparkle) var(--ease-out-expo);
180
- }
181
- }
182
-
183
- /* PRM bracket — the press-ripple retires; the press still reads
184
- via the audacious recipe's transform/scale beat (the ripple is
185
- affirmation atop affirmation). */
186
- @media (prefers-reduced-motion: reduce) {
187
- transition:
188
- background var(--duration-fast) var(--ease-standard),
189
- color var(--duration-fast) var(--ease-standard),
190
- transform var(--duration-fast) var(--ease-standard),
191
- box-shadow var(--duration-fast) var(--ease-standard);
192
-
193
- &:active:not(:disabled) {
194
- --ripple-radius: 0px;
195
- }
196
- }
197
- }
198
-
199
- /* ── Gold CTA shimmer modifier — AN.R0 D9 ───────────────────────────────
200
- `btn-audacious-gold` extends `btn-audacious` with a gold sweep shimmer
201
- on hover. Pair as `btn-audacious btn-audacious-gold` (or use the Button
202
- `variant="gold-audacious"` which composes both). The hover shimmer is a
203
- translucent linear-gradient sweep (low alpha — tasteful, not garish)
204
- that slides left-to-right via the existing `gold-shimmer-slide` keyframe
205
- (animations.css). The gold gradient uses the canonical `--color-gold-*`
206
- token triad (tokens.css §13).
207
-
208
- Design register:
209
- • PRM no-preference: shimmer sweeps continuously at `--duration-shimmer`
210
- rate; the sparkle-sweep (from btn-audacious) coexists on hover.
211
- • PRM reduce: static gold tint shows on hover; no animation.
212
- • The gold shimmer is a background-image layer ABOVE the existing
213
- btn-audacious paper-grain + primary-radial layers, blended with
214
- `overlay` so the glass substrate reads through at partial opacity.
215
- • The `::before` ripple and `::after` sparkle from btn-audacious are
216
- unchanged; this modifier only retunes the hover background layers.
217
- • Consumer applies: `<Button variant="gold-audacious">Next →</Button>` */
218
- @utility btn-audacious-gold {
219
- /* At rest: a faint warm gold tint over the glass surface reads as "warm
220
- glass" without announcing the hover state prematurely. */
221
- background-image:
222
- linear-gradient(
223
- 135deg,
224
- color-mix(in srgb, var(--color-gold) 8%, transparent),
225
- color-mix(in srgb, var(--color-gold-light) 5%, transparent) 50%,
226
- color-mix(in srgb, var(--color-gold) 8%, transparent)
227
- );
228
-
229
- /* Hover: deepen the plate to a SATURATED gold the white label clears (AW.W13
230
- names a "saturated gold backplate"; the D1 fix). The bottom layer is the
231
- OPAQUE fixed deep gold (`--color-gold-deep`, mode-INVARIANT) — a solid plate
232
- at ~6.5:1 (light) / ~5.5:1 (dark) against white, well below the ~0.18
233
- luminance floor white text needs for ≥4.5:1 (was a translucent 22-30% wash
234
- over near-cream glass → 1.29:1 white-on-pale-gold). The plate is FIXED-dark
235
- in both modes — deepening toward the mode-flipping `--foreground` brightened
236
- the dark plate to a cream-gold; `--color-gold-deep` does not flip. The
237
- shimmer sweep rides ABOVE as a LOW-alpha gold gradient (normal blend, ≤18% —
238
- it textures the plate without brightening it past the floor), and the
239
- paper-grain overlays for the disco facet. */
240
- &:hover:not(:disabled) {
241
- background-image:
242
- var(--paper-clean-texture),
243
- linear-gradient(
244
- 90deg,
245
- transparent 0%,
246
- color-mix(in srgb, var(--color-gold) 14%, transparent) 25%,
247
- color-mix(in srgb, var(--color-gold) 18%, transparent) 50%,
248
- color-mix(in srgb, var(--color-gold) 14%, transparent) 75%,
249
- transparent 100%
250
- ),
251
- linear-gradient(
252
- 135deg,
253
- var(--color-gold-deep),
254
- color-mix(in srgb, var(--color-gold-deep), var(--color-gold-dark) 18%) 50%,
255
- var(--color-gold-deep)
256
- );
257
- background-blend-mode: overlay, normal, normal;
258
- background-size: var(--paper-texture-size), 250% 100%, 100% 100%;
259
- background-position: 0 0, 100% 0, 0 0;
260
- box-shadow:
261
- var(--glass-specular),
262
- 0 0 0 1px color-mix(in srgb, var(--color-gold-dark) 40%, transparent),
263
- 0 0.5px 0 0 rgb(0 0 0 / 0.06);
264
- }
265
-
266
- @media (prefers-reduced-motion: no-preference) {
267
- &:hover:not(:disabled) {
268
- animation: btn-gold-bg-sweep var(--duration-shimmer) linear infinite;
269
- }
270
- }
271
- }
272
-
273
- /* Background-position sweep for the gold CTA hover shimmer.
274
- Distinct from `gold-shimmer-slide` (which animates background-position for
275
- a text-clip gradient). This variant sweeps the `background-position` of the
276
- 250% wide gradient across the button's bounding box. */
277
- @keyframes btn-gold-bg-sweep {
278
- 0% { background-position: 0 0, 100% 0, 0 0; }
279
- 100% { background-position: 0 0, -100% 0, 0 0; }
280
- }
86
+ /* ── Calm CTA register (BA.W-GLASS-CAL, H2a — the disco retired) ──────────
87
+ The `@utility btn-audacious` + `@utility btn-audacious-gold` recipes + the
88
+ `@keyframes btn-gold-bg-sweep` are RETIRED (clean break, no alias). The user
89
+ removed the "disco effect" wholesale: the sparkle `::after` glyph, the
90
+ disco-grain hover (`--paper-clean-texture` + `--primary`/gold radial), the
91
+ gold-sweep shimmer, and the typed `--ripple-radius` press-ripple are GONE.
92
+
93
+ The `primary-audacious`/`gold-audacious` Button variants (button/index.ts)
94
+ now collapse onto the calm glass-first register — the `glass-wash`/`btn-glass`
95
+ surface + the `--glass-specular` edge catch-light, hover/press on the §6
96
+ doctrine (surface→`--ease-standard`, scale→`--spring-smooth`). `gold-audacious`
97
+ keeps a STATIC warm-gold tint (no animated sweep). The fenced-out GOOD pops
98
+ (`.gold-shimmer` static text gradient, the specular gleam, the press-scale)
99
+ STAY — they were never disco. */
281
100
 
282
101
  /* ── Table density utilities — AN.R0 ─────────────────────────────────────
283
102
  `table-cell` and `table-head` replace the former Tailwind `p-4` / `h-12`
@@ -370,7 +189,7 @@
370
189
  transition:
371
190
  background-color var(--duration-fast) var(--ease-standard),
372
191
  color var(--duration-fast) var(--ease-standard),
373
- scale var(--duration-fast) var(--spring-smooth),
192
+ scale var(--spring-smooth-duration) var(--spring-smooth),
374
193
  opacity var(--duration-fast) var(--ease-standard);
375
194
 
376
195
  &:hover {
@@ -394,7 +213,7 @@
394
213
  transition:
395
214
  background-color var(--duration-fast) var(--ease-standard),
396
215
  color var(--duration-fast) var(--ease-standard),
397
- scale var(--duration-fast) var(--spring-smooth),
216
+ scale var(--spring-smooth-duration) var(--spring-smooth),
398
217
  opacity var(--duration-fast) var(--ease-standard),
399
218
  box-shadow var(--duration-fast) var(--ease-standard);
400
219
  }
@@ -0,0 +1,189 @@
1
+ /* ═══════════════════════════════════════════════════════════════════════════
2
+ BB.W-METAL-SHIMMER — the brand-metal utility family
3
+ ═══════════════════════════════════════════════════════════════════════════
4
+ ONE single-home partial for the gold·silver·bronze metal register (so a new
5
+ metal pop is ONE class, not a re-paste — the W-SUFFUSE icon-chip consolidation
6
+ discipline). Three registers, ALL metal-PARAMETERIZED off the SAME shared recipe
7
+ reading the `--metal-shimmer-color` channel + its four resolved stop slots:
8
+
9
+ • `.metal-{gold,silver,bronze}` — the text-clip metal gradient (the
10
+ `.gold-shimmer` recipe GENERALIZED): a `linear-gradient(90deg, dark, light,
11
+ base, light, dark)` band off the bound metal quad, `background-clip: text`.
12
+ • `.metal-{gold,silver,bronze}-border` — the swept metallic RIM (the §N6
13
+ selected-item-border consumer): the SAME `--metal-shimmer-color`-bound
14
+ gradient on a `border-image`-sliced rim, swept by the SAME keyframe.
15
+ • `.metal-rainbow-rim` — the prismatic gilt-figure / record-badge rim: it
16
+ COMPOSES W-GLASS-ACCENT's `--glass-accent` rim seam (it does NOT re-author
17
+ the rim) by binding the accent channel to a swept rainbow hue.
18
+
19
+ The PARAMETERIZATION: `--metal-shimmer-color` is the metal-NAME marker each
20
+ `.metal-{name}` SETS (`gold`/`silver`/`bronze`); the shared recipe resolves the
21
+ gradient off the four `--metal-stop-*` slots each class binds to its quad. The
22
+ `metal-shimmer-sweep` keyframe (animations.css) is PURE position — ZERO baked
23
+ metal color — so the SAME keyframe sweeps any of the three metals depending only
24
+ on which slots the class bound. A silver/bronze sweep is a NEW CLASS that binds
25
+ the slots, NEVER a forked keyframe (the N-copy this wave exists to kill).
26
+
27
+ THE PRM-STATIC BRACKET (the §6 calm register, the `.gold-shimmer` model byte-
28
+ faithfully): every utility paints the FULL static metal gradient at REST (the
29
+ load-bearing visual — the metal sheen itself); ONLY the `animation:` line sits
30
+ inside `@media (prefers-reduced-motion: no-preference)`. A PRM user sees the
31
+ full static metal gradient WITHOUT the slide — the metal still READS as metal,
32
+ the motion is the only thing gated. The sweep is a slow `--duration-metal` (6s)
33
+ one-pass — the disco family is GONE and STAYS gone (no sparkle/grain/ripple). */
34
+
35
+ @layer components {
36
+ /* ── The shared metal recipe (the metal-agnostic engine) ─────────────────
37
+ The four stop slots default to GOLD (the neutral metal — so a bare
38
+ `--metal-shimmer-color`-bearing surface paints gold, matching the
39
+ `.gold-shimmer` precedent); each `.metal-{name}` re-binds them to its quad.
40
+ The `--metal-shimmer-color` marker carries the metal NAME for the gate's
41
+ parameterization assert + for any consumer query. */
42
+ .metal-gold,
43
+ .metal-silver,
44
+ .metal-bronze {
45
+ --metal-stop-dark: var(--color-gold-dark);
46
+ --metal-stop-light: var(--color-gold-light);
47
+ --metal-stop-base: var(--color-gold);
48
+ background: linear-gradient(
49
+ 90deg,
50
+ var(--metal-stop-dark),
51
+ var(--metal-stop-light),
52
+ var(--metal-stop-base),
53
+ var(--metal-stop-light),
54
+ var(--metal-stop-dark)
55
+ );
56
+ background-size: 250% 100%;
57
+ background-clip: text;
58
+ -webkit-background-clip: text;
59
+ color: transparent;
60
+ }
61
+
62
+ /* Per-metal: set the channel marker + re-bind the stop slots to the quad. */
63
+ .metal-gold {
64
+ --metal-shimmer-color: gold;
65
+ --metal-stop-dark: var(--color-gold-dark);
66
+ --metal-stop-light: var(--color-gold-light);
67
+ --metal-stop-base: var(--color-gold);
68
+ }
69
+ .metal-silver {
70
+ --metal-shimmer-color: silver;
71
+ --metal-stop-dark: var(--color-silver-dark);
72
+ --metal-stop-light: var(--color-silver-light);
73
+ --metal-stop-base: var(--color-silver);
74
+ }
75
+ .metal-bronze {
76
+ --metal-shimmer-color: bronze;
77
+ --metal-stop-dark: var(--color-bronze-dark);
78
+ --metal-stop-light: var(--color-bronze-light);
79
+ --metal-stop-base: var(--color-bronze);
80
+ }
81
+
82
+ /* ── The swept metallic RIM (the §N6 selected-item-border consumer) ───────
83
+ The SAME `--metal-shimmer-color`-bound gradient applied to a `border-image`
84
+ slice — a swept metallic RIM, not a text fill. `border-image` reads the same
85
+ `background`-position-swept gradient (the metal-shimmer-sweep keyframe drives
86
+ the `background-position`; the `border-image-source` references the SAME
87
+ gradient via the stop slots), so ONE keyframe drives both registers. The rim
88
+ sits over the surface's own background (no `background-clip: text`). */
89
+ .metal-gold-border,
90
+ .metal-silver-border,
91
+ .metal-bronze-border {
92
+ --metal-stop-dark: var(--color-gold-dark);
93
+ --metal-stop-light: var(--color-gold-light);
94
+ --metal-stop-base: var(--color-gold);
95
+ border: var(--metal-border-width, 2px) solid transparent;
96
+ border-image: linear-gradient(
97
+ 90deg,
98
+ var(--metal-stop-dark),
99
+ var(--metal-stop-light),
100
+ var(--metal-stop-base),
101
+ var(--metal-stop-light),
102
+ var(--metal-stop-dark)
103
+ )
104
+ 1;
105
+ /* The sweep rides a backing gradient `background-position` on the same band
106
+ (the `border-image` slice tracks the host's background extent); the
107
+ 250% size + the position sweep give the rim its travelling sheen. */
108
+ background-image: linear-gradient(
109
+ 90deg,
110
+ var(--metal-stop-dark),
111
+ var(--metal-stop-light),
112
+ var(--metal-stop-base),
113
+ var(--metal-stop-light),
114
+ var(--metal-stop-dark)
115
+ );
116
+ background-size: 250% 100%;
117
+ background-clip: border-box;
118
+ }
119
+ .metal-gold-border {
120
+ --metal-shimmer-color: gold;
121
+ --metal-stop-dark: var(--color-gold-dark);
122
+ --metal-stop-light: var(--color-gold-light);
123
+ --metal-stop-base: var(--color-gold);
124
+ }
125
+ .metal-silver-border {
126
+ --metal-shimmer-color: silver;
127
+ --metal-stop-dark: var(--color-silver-dark);
128
+ --metal-stop-light: var(--color-silver-light);
129
+ --metal-stop-base: var(--color-silver);
130
+ }
131
+ .metal-bronze-border {
132
+ --metal-shimmer-color: bronze;
133
+ --metal-stop-dark: var(--color-bronze-dark);
134
+ --metal-stop-light: var(--color-bronze-light);
135
+ --metal-stop-base: var(--color-bronze);
136
+ }
137
+
138
+ /* ── The prismatic rainbow rim (the gilt-figure / record-badge sheen) ─────
139
+ COMPOSES W-GLASS-ACCENT's `--glass-accent` rim seam (it binds the accent
140
+ channel, it does NOT re-author the rim `color-mix`/`::before`). The host is
141
+ a glass surface (carrying the `--glass-material-rim` ring + the
142
+ `--glass-border-accent` border W-GLASS-ACCENT minted); this utility drives
143
+ the accent through the spectrum so the rim sheen SHIFTS through the rainbow.
144
+ `--glass-accent` is a typed `<color>` `@property` (NOT animatable as a
145
+ conic per-frame), so the prismatic shift is the swept metal-gradient overlay
146
+ PLUS the accent engaged at a metal-warm hue — the rim reads as a shifting
147
+ metallic sheen over the W-GLASS-ACCENT rim. The accent STRENGTH lifts to a
148
+ rim whisper (the demo specimen engages ~45%, the accent's documented ceiling
149
+ for the rim/glint). The sweep is the SAME `metal-shimmer-sweep` over the
150
+ rainbow band on the host's own background. */
151
+ .metal-rainbow-rim {
152
+ /* Engage W-GLASS-ACCENT's rim seam at a warm-metal hue + the rim whisper
153
+ strength (the accent channel — NOT a second rim recipe). */
154
+ --glass-accent: var(--color-gold);
155
+ --glass-accent-strength: 45%;
156
+ --metal-shimmer-color: rainbow;
157
+ /* The swept prismatic band rides the host's own background-image (the rim
158
+ ring + border come from the W-GLASS-ACCENT seam the host already carries). */
159
+ background-image: linear-gradient(
160
+ 90deg,
161
+ var(--rainbow-red),
162
+ var(--rainbow-orange),
163
+ var(--rainbow-yellow),
164
+ var(--rainbow-green),
165
+ var(--rainbow-blue),
166
+ var(--rainbow-indigo),
167
+ var(--rainbow-violet),
168
+ var(--rainbow-red)
169
+ );
170
+ background-size: 250% 100%;
171
+ background-clip: border-box;
172
+ }
173
+
174
+ /* ── The PRM-static bracket: the ONLY motion declaration ──────────────────
175
+ Every metal utility paints the static gradient above (un-bracketed — the
176
+ metal READS for PRM users); the `animation:` is the sole thing gated. The
177
+ slow `--duration-metal` (6s) clock — the calm dignified pass. */
178
+ @media (prefers-reduced-motion: no-preference) {
179
+ .metal-gold,
180
+ .metal-silver,
181
+ .metal-bronze,
182
+ .metal-gold-border,
183
+ .metal-silver-border,
184
+ .metal-bronze-border,
185
+ .metal-rainbow-rim {
186
+ animation: metal-shimmer-sweep var(--duration-metal) linear infinite;
187
+ }
188
+ }
189
+ }
@@ -3,17 +3,24 @@
3
3
  * ── Thin @import ROOT (cohesion-aware carve) ───────────────────────────────
4
4
  * The utility body is carved into cohesive `utilities/*.css` partials (each
5
5
  * under the 500-line no-god-module bound), @import-ed below in CASCADE ORDER.
6
- * The leading @utility animation pair, the @layer components block (split at
7
- * the metric-badge seam into two adjacent same-layer blocks — isomorphic), the
8
- * @utility button cluster, and the a11y @media overrides keep their source
9
- * order so the cascade is unchanged. See docs/precepts/design-idioms.md
10
- * §cohesion-aware partials.
6
+ * The leading @utility animation pair, the @layer components base block (split
7
+ * at the metric-badge seam into base/components AND, at BB.W-CARVE3, at the
8
+ * post-tap-squish seam into base/base-misc — all adjacent same-layer blocks,
9
+ * isomorphic), the @utility button cluster, and the a11y @media overrides keep
10
+ * their source order so the cascade is unchanged. See
11
+ * docs/precepts/design-idioms.md §cohesion-aware partials.
11
12
  */
12
13
 
13
- /* CSS @import rules must precede every other rule. The five partials @import in
14
- cascade order: */
14
+ /* CSS @import rules must precede every other rule. The partials @import in
15
+ cascade order (base.css's post-tap-squish tail was carved into base-misc.css at
16
+ BB.W-CARVE3 — an adjacent same-`@layer components` block at the next slot, so
17
+ the cascade is unchanged). BB.W-METAL-SHIMMER homes `metal.css` right after
18
+ `base-misc.css` (its `.gold-shimmer` sibling — both `@layer components` metal
19
+ registers; the metal family is cohesive with the re-pointed gold-shimmer): */
15
20
  @import "./utilities/animate.css";
16
21
  @import "./utilities/base.css";
22
+ @import "./utilities/base-misc.css";
23
+ @import "./utilities/metal.css";
17
24
  @import "./utilities/components.css";
18
25
  @import "./utilities/btn.css";
19
26
  @import "./utilities/a11y-overrides.css";
@@ -35,7 +35,10 @@
35
35
  /* Shared group class — consumers add `view-transition-class: gl-list-item` on
36
36
  * each tracked element plus a unique `view-transition-name` per element. */
37
37
  ::view-transition-group(.gl-list-item) {
38
- animation-duration: var(--vt-duration, var(--duration-normal));
38
+ /* BA.W-GLASS-CAL Unit 3 — the duration fallback rides the bouncy spring's
39
+ OWN settle clock (`--spring-bouncy-duration`) so the default VT bounce
40
+ plays at its physical settle; a consumer still overrides via `--vt-duration`. */
41
+ animation-duration: var(--vt-duration, var(--spring-bouncy-duration));
39
42
  animation-timing-function: var(--vt-ease, var(--spring-bouncy));
40
43
  }
41
44
 
@@ -1,157 +0,0 @@
1
- import { t as e } from "./cn-DJXf4yaB.js";
2
- import { t } from "./useSpecularTracking-Bo5su68i.js";
3
- import { t as n } from "./_plugin-vue_export-helper-ok8pgSl5.js";
4
- import { computed as r, createBlock as i, createElementBlock as a, defineComponent as o, normalizeClass as s, normalizeStyle as c, openBlock as l, renderSlot as u, unref as d, withCtx as f } from "vue";
5
- import { Primitive as p } from "reka-ui";
6
- var m = /* @__PURE__ */ o({
7
- __name: "Card",
8
- props: {
9
- tier: { default: "resting" },
10
- surface: { default: "glass" },
11
- shadow: {
12
- type: Boolean,
13
- default: !0
14
- },
15
- grain: {
16
- type: Boolean,
17
- default: !0
18
- },
19
- specular: { default: "off" },
20
- class: { type: [
21
- Boolean,
22
- null,
23
- String,
24
- Object,
25
- Array
26
- ] },
27
- asChild: { type: Boolean },
28
- as: { default: "div" }
29
- },
30
- setup(n) {
31
- let a = n, { specularStyle: o, onPointerMove: m } = t(), h = r(() => a.surface === "glass" && a.specular !== "off"), g = r(() => a.specular === "full" ? {
32
- "--glass-specular-intensity-rest": "0.04",
33
- "--glass-specular-intensity-hover": "0.18",
34
- "--glass-specular-intensity-active": "0.26"
35
- } : {}), _ = r(() => h.value ? {
36
- ...g.value,
37
- ...o.value
38
- } : void 0);
39
- return (t, r) => (l(), i(d(p), {
40
- "data-slot": "card",
41
- "data-tier": n.tier,
42
- "data-surface": n.surface,
43
- "data-grain": n.grain,
44
- as: n.as,
45
- "as-child": n.asChild,
46
- style: c(_.value),
47
- onPointermove: r[0] ||= (e) => h.value && d(m)(e),
48
- class: s(d(e)("rounded-card text-card-foreground scrollbar-hidden", "[--card-spacing:--spacing(6)] data-[size=sm]:[--card-spacing:--spacing(4)]", n.tier === "opaque" ? "glass-resting glass-opaque" : `glass-${n.tier}`, h.value && "glass-specular-track", n.surface === "cartoon" && "cartoon-surface", n.surface === "veil" && "veil-surface", n.shadow && n.surface === "glass" && "shadow-card", !n.grain && "[&::after]:hidden", a.class))
49
- }, {
50
- default: f(() => [u(t.$slots, "default")]),
51
- _: 3
52
- }, 8, [
53
- "data-tier",
54
- "data-surface",
55
- "data-grain",
56
- "as",
57
- "as-child",
58
- "style",
59
- "class"
60
- ]));
61
- }
62
- }), h = /* @__PURE__ */ n(/* @__PURE__ */ o({
63
- __name: "CardHeader",
64
- props: {
65
- shrink: { type: Boolean },
66
- class: { type: [
67
- Boolean,
68
- null,
69
- String,
70
- Object,
71
- Array
72
- ] }
73
- },
74
- setup(t) {
75
- let n = t;
76
- return (r, i) => (l(), a("div", {
77
- "data-slot": "card-header",
78
- class: s(d(e)("@container/card-header flex flex-col gap-y-1.5 p-(--card-spacing)", "has-data-[slot=card-action]:grid has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-action]:items-start", t.shrink && "card-header--shrink", n.class))
79
- }, [u(r.$slots, "default", {}, void 0, !0)], 2));
80
- }
81
- }), [["__scopeId", "data-v-835e5cc0"]]), g = /* @__PURE__ */ o({
82
- __name: "CardTitle",
83
- props: { class: { type: [
84
- Boolean,
85
- null,
86
- String,
87
- Object,
88
- Array
89
- ] } },
90
- setup(t) {
91
- let n = t;
92
- return (t, r) => (l(), a("h3", {
93
- "data-slot": "card-title",
94
- class: s(d(e)("text-heading leading-none tracking-tight", n.class))
95
- }, [u(t.$slots, "default")], 2));
96
- }
97
- }), _ = /* @__PURE__ */ o({
98
- __name: "CardDescription",
99
- props: { class: { type: [
100
- Boolean,
101
- null,
102
- String,
103
- Object,
104
- Array
105
- ] } },
106
- setup(t) {
107
- let n = t;
108
- return (t, r) => (l(), a("p", {
109
- "data-slot": "card-description",
110
- class: s(d(e)("text-sm text-muted-foreground-strong", n.class))
111
- }, [u(t.$slots, "default")], 2));
112
- }
113
- }), v = /* @__PURE__ */ o({
114
- __name: "CardContent",
115
- props: { class: { type: [
116
- Boolean,
117
- null,
118
- String,
119
- Object,
120
- Array
121
- ] } },
122
- setup(t) {
123
- let n = t;
124
- return (t, r) => (l(), a("div", { class: s(d(e)("p-(--card-spacing)", n.class)) }, [u(t.$slots, "default")], 2));
125
- }
126
- }), y = /* @__PURE__ */ o({
127
- __name: "CardFooter",
128
- props: { class: { type: [
129
- Boolean,
130
- null,
131
- String,
132
- Object,
133
- Array
134
- ] } },
135
- setup(t) {
136
- let n = t;
137
- return (t, r) => (l(), a("div", { class: s(d(e)("flex items-center p-(--card-spacing) pt-0", n.class)) }, [u(t.$slots, "default")], 2));
138
- }
139
- }), b = /* @__PURE__ */ o({
140
- __name: "CardAction",
141
- props: { class: { type: [
142
- Boolean,
143
- null,
144
- String,
145
- Object,
146
- Array
147
- ] } },
148
- setup(t) {
149
- let n = t;
150
- return (t, r) => (l(), a("div", {
151
- "data-slot": "card-action",
152
- class: s(d(e)("col-start-2 row-span-2 row-start-1 self-start justify-self-end", n.class))
153
- }, [u(t.$slots, "default")], 2));
154
- }
155
- });
156
- //#endregion
157
- export { g as a, _ as i, y as n, h as o, v as r, m as s, b as t };