@mkbabb/glass-ui 4.0.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 (394) hide show
  1. package/README.md +3 -1
  2. package/dist/CardAction-CW7a0m8M.js +253 -0
  3. package/dist/{CommandShortcut-DdtWXxOK.js → CommandShortcut-DvZNQ_HF.js} +4 -4
  4. package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
  5. package/dist/{ContextMenuContent-ON3x7cuk.js → ContextMenuContent-uWnVxDab.js} +1 -1
  6. package/dist/{ContextMenuSubContent-B0Vs6atR.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
  7. package/dist/{DataTable-C464Zbqd.js → DataTable-CuKwF7wr.js} +4 -4
  8. package/dist/{DialogContent-DDE6pQBU.js → DialogContent-DcKK8k9i.js} +5 -5
  9. package/dist/{DialogFooter-8eZbdmPc.js → DialogFooter-BZNX5aVr.js} +3 -3
  10. package/dist/{FadingScroll-DwNnvKMs.js → FadingScroll-DI6hQhT9.js} +1 -1
  11. package/dist/{HoverCardContent-DkMaQzH5.js → HoverCardContent-b2uaAMRR.js} +1 -1
  12. package/dist/{HoverPopover-Dpzwvc4t.js → HoverPopover-CbqbNwgU.js} +2 -2
  13. package/dist/{IconChip-BDw1j5mu.js → IconChip-BTD-nay5.js} +3 -2
  14. package/dist/{IconTooltip-DSjasZIt.js → IconTooltip-Bl8gFZ8d.js} +1 -1
  15. package/dist/{Input-DVG_J0ne.js → Input-h9v5LeXf.js} +1 -1
  16. package/dist/{MetricBadge-BpC0R_Ec.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-BTorlp--.js → PopoverContent-DL7E6vJP.js} +4 -4
  20. package/dist/{Progress-hAT4gqGH.js → Progress-DctG61iZ.js} +4 -4
  21. package/dist/{ScrollingText-CUVFTWk2.js → ScrollingText-yOpBzFYq.js} +2 -2
  22. package/dist/{SelectScrollDownButton-C1jb3b3K.js → SelectScrollDownButton-CrA8F0iV.js} +18 -19
  23. package/dist/Toaster-Bw4xR8xV.js +274 -0
  24. package/dist/{ToggleGroupItem-Dzk9hWsF.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
  25. package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
  26. package/dist/animated-digit.js +2 -2
  27. package/dist/api/index.d.ts +8 -3
  28. package/dist/api/types-extra.d.ts +6 -0
  29. package/dist/aurora.js +885 -242
  30. package/dist/badge.js +1 -1
  31. package/dist/border-progress.d.ts +1 -0
  32. package/dist/border-progress.js +106 -0
  33. package/dist/{button-BNDWhAZb.js → button-DYCUa-tH.js} +71 -26
  34. package/dist/button.js +1 -1
  35. package/dist/canvas.js +2 -2
  36. package/dist/card.js +2 -2
  37. package/dist/carousel.js +93 -110
  38. package/dist/collapsible.js +1 -1
  39. package/dist/command.js +1 -1
  40. package/dist/compile-CQEFRTmx.js +19 -0
  41. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
  42. package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
  43. package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
  44. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
  45. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
  46. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
  47. package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
  48. package/dist/components/custom/aurora/constants/presets.d.ts +2 -2
  49. package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -12
  50. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  51. package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
  52. package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
  53. package/dist/components/custom/aurora/index.d.ts +2 -1
  54. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
  55. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
  56. package/dist/components/custom/border-progress/constants.d.ts +59 -0
  57. package/dist/components/custom/border-progress/index.d.ts +4 -0
  58. package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
  59. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
  60. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  61. package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
  62. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
  63. package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
  64. package/dist/components/custom/concentric/constants.d.ts +43 -0
  65. package/dist/components/custom/concentric/index.d.ts +5 -0
  66. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
  67. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
  68. package/dist/components/custom/dock/DockIconButton.vue.d.ts +13 -4
  69. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
  70. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +75 -0
  71. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
  72. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
  73. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
  74. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
  75. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
  76. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
  77. package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
  78. package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
  79. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
  80. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
  81. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
  82. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
  83. package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
  84. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
  85. package/dist/components/custom/easing/constants.d.ts +28 -0
  86. package/dist/components/custom/easing/index.d.ts +3 -0
  87. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +12 -2
  88. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
  89. package/dist/components/custom/fourier-field/constants.d.ts +7 -0
  90. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  91. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
  92. package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
  93. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +18 -11
  94. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
  95. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
  96. package/dist/components/custom/handmark/HandMark.vue.d.ts +1 -1
  97. package/dist/components/custom/icon-chip/types.d.ts +11 -1
  98. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +3 -1
  99. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
  100. package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
  101. package/dist/components/custom/spa-view/index.d.ts +2 -0
  102. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +10 -0
  103. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
  104. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +1 -1
  105. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  106. package/dist/components/ui/badge/index.d.ts +1 -1
  107. package/dist/components/ui/button/Button.vue.d.ts +5 -2
  108. package/dist/components/ui/button/index.d.ts +2 -2
  109. package/dist/components/ui/card/Card.vue.d.ts +34 -4
  110. package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
  111. package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
  112. package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
  113. package/dist/components/ui/card/index.d.ts +2 -0
  114. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  115. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  116. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
  117. package/dist/components/ui/command/Command.vue.d.ts +1 -1
  118. package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
  119. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +7 -8
  120. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
  121. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
  122. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
  123. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
  124. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
  125. package/dist/components/ui/drawer/constants.d.ts +45 -0
  126. package/dist/components/ui/drawer/index.d.ts +23 -15
  127. package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
  128. package/dist/components/ui/focus-scope/index.d.ts +2 -0
  129. package/dist/components/ui/index.d.ts +1 -0
  130. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
  131. package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
  132. package/dist/components/ui/sheet/index.d.ts +1 -1
  133. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  134. package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
  135. package/dist/components/ui/toast/use-toast.d.ts +14 -0
  136. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  137. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
  138. package/dist/composables/glass/index.d.ts +5 -2
  139. package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
  140. package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
  141. package/dist/composables/glass/vSpecular.d.ts +2 -0
  142. package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
  143. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
  144. package/dist/composables/glass/webgpu/index.d.ts +2 -0
  145. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
  146. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
  147. package/dist/composables/motion/core/index.d.ts +1 -0
  148. package/dist/composables/motion/index.d.ts +4 -0
  149. package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
  150. package/dist/composables/motion/useDragMorph.d.ts +77 -0
  151. package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
  152. package/dist/composables/motion/useLiquidPress.d.ts +71 -0
  153. package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
  154. package/dist/composables/motion/useNumericTransition.d.ts +3 -3
  155. package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
  156. package/dist/concentric.d.ts +1 -0
  157. package/dist/concentric.js +562 -0
  158. package/dist/configurator.js +3 -2
  159. package/dist/confirm-dialog.js +22 -24
  160. package/dist/constellation.js +11 -11
  161. package/dist/context-menu.js +3 -3
  162. package/dist/controls.js +1 -1
  163. package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
  164. package/dist/data-table.js +1 -1
  165. package/dist/dialog.js +2 -2
  166. package/dist/dock.js +564 -457
  167. package/dist/{dockContext-Bu1Avy-a.js → dockContext-BNfyPLe9.js} +1 -1
  168. package/dist/dom.js +5 -5
  169. package/dist/dot-flow-field.d.ts +1 -0
  170. package/dist/dot-flow-field.js +604 -0
  171. package/dist/drawer.d.ts +1 -0
  172. package/dist/drawer.js +380 -0
  173. package/dist/{dropdown-menu-BJ7E9js_.js → dropdown-menu-CofSZuk8.js} +14 -15
  174. package/dist/dropdown-menu.js +1 -1
  175. package/dist/easing.d.ts +1 -0
  176. package/dist/easing.js +463 -0
  177. package/dist/expandable-container.js +7 -4
  178. package/dist/fading-scroll.js +1 -1
  179. package/dist/focus-scope.d.ts +1 -0
  180. package/dist/focus-scope.js +23 -0
  181. package/dist/forms.js +7 -7
  182. package/dist/fourier-field.js +128 -116
  183. package/dist/fourier-math.js +1 -1
  184. package/dist/glass-panel.js +2 -2
  185. package/dist/glass-ui.css +1 -1
  186. package/dist/glass-ui.js +149 -341
  187. package/dist/goo-blob.js +830 -224
  188. package/dist/handmark.js +2 -2
  189. package/dist/header-ribbon.js +1 -1
  190. package/dist/hover-card.js +1 -1
  191. package/dist/hover-popover.js +1 -1
  192. package/dist/icon-chip.js +1 -1
  193. package/dist/icon-tooltip.js +1 -1
  194. package/dist/index.d.ts +1 -1
  195. package/dist/instrument-chassis.js +1 -1
  196. package/dist/label.js +1 -1
  197. package/dist/labeled-field.js +6 -6
  198. package/dist/metric-badge.js +1 -1
  199. package/dist/metric-cell.js +1 -1
  200. package/dist/metric-stack.js +4 -8
  201. package/dist/motion-core.js +36 -36
  202. package/dist/motion-curves.js +1 -1
  203. package/dist/motion.js +157 -55
  204. package/dist/notification.js +1 -1
  205. package/dist/number-field.js +1 -1
  206. package/dist/pager-dots.js +1 -1
  207. package/dist/paper-backdrop.js +1 -1
  208. package/dist/popover.js +1 -1
  209. package/dist/{compile-EXXzEr1q.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
  210. package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
  211. package/dist/progress.js +1 -1
  212. package/dist/pulse.js +1 -1
  213. package/dist/reactive.js +2 -2
  214. package/dist/scrolling-text.js +1 -1
  215. package/dist/search.js +9 -11
  216. package/dist/select.js +3 -3
  217. package/dist/separator.js +1 -1
  218. package/dist/{sheet-CquRYOAw.js → sheet-tZMg0E0w.js} +5 -5
  219. package/dist/sheet.js +1 -1
  220. package/dist/{slider-DQ95MET2.js → slider-DVb4HXU-.js} +3 -3
  221. package/dist/slider.js +1 -1
  222. package/dist/sortable-list.js +3 -3
  223. package/dist/spa-view.d.ts +1 -0
  224. package/dist/spa-view.js +46 -0
  225. package/dist/styles/animations.css +33 -9
  226. package/dist/styles/border-progress.css +109 -0
  227. package/dist/styles/cards.css +76 -0
  228. package/dist/styles/components.css +1 -1
  229. package/dist/styles/critical-partition.mjs +140 -0
  230. package/dist/styles/critical.css +12 -0
  231. package/dist/styles/deferred.css +31 -0
  232. package/dist/styles/dock/density.css +45 -0
  233. package/dist/styles/dock/layers.css +54 -30
  234. package/dist/styles/dock/morph.css +124 -7
  235. package/dist/styles/dock/overflow.css +16 -2
  236. package/dist/styles/dock/shell.css +54 -16
  237. package/dist/styles/dock.css +32 -0
  238. package/dist/styles/drawer.css +81 -35
  239. package/dist/styles/glass/deep.css +44 -0
  240. package/dist/styles/glass/ladder.css +87 -31
  241. package/dist/styles/glass/material.css +78 -15
  242. package/dist/styles/glass/reveal.css +136 -0
  243. package/dist/styles/glass/rim.css +100 -0
  244. package/dist/styles/glass/surfaces.css +101 -3
  245. package/dist/styles/glass-refract.css +96 -44
  246. package/dist/styles/glass-specular-track.css +7 -0
  247. package/dist/styles/glass.css +3 -0
  248. package/dist/styles/hover-popover.css +7 -6
  249. package/dist/styles/icon-chip.css +77 -15
  250. package/dist/styles/index.css +21 -9
  251. package/dist/styles/instrument-chassis.css +66 -3
  252. package/dist/styles/scroll-choreography.css +300 -0
  253. package/dist/styles/segmented-tabs.css +31 -0
  254. package/dist/styles/theme/bridges.css +11 -0
  255. package/dist/styles/theme/literals.css +11 -2
  256. package/dist/styles/theme/radius.css +6 -1
  257. package/dist/styles/tokens/dark-arm.css +98 -26
  258. package/dist/styles/tokens/glass-deep.css +75 -0
  259. package/dist/styles/tokens/glass-fx.css +333 -0
  260. package/dist/styles/tokens/glass.css +39 -319
  261. package/dist/styles/tokens/light-dark.css +15 -2
  262. package/dist/styles/tokens/offsets.css +116 -0
  263. package/dist/styles/tokens/on-glass-fg.css +39 -0
  264. package/dist/styles/tokens/property-regs.css +127 -0
  265. package/dist/styles/tokens/scale-paper.css +117 -89
  266. package/dist/styles/tokens/scheme-motion.css +70 -32
  267. package/dist/styles/tokens/scroll-tokens.css +123 -0
  268. package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +37 -100
  269. package/dist/styles/tokens.css +9 -3
  270. package/dist/styles/typography/semantic.css +8 -8
  271. package/dist/styles/typography/utilities.css +22 -7
  272. package/dist/styles/utilities/animate.css +27 -24
  273. package/dist/styles/utilities/base-misc.css +255 -0
  274. package/dist/styles/utilities/base.css +47 -261
  275. package/dist/styles/utilities/btn.css +3 -1
  276. package/dist/styles/utilities/metal.css +189 -0
  277. package/dist/styles/utilities.css +14 -7
  278. package/dist/switch.js +1 -1
  279. package/dist/tabs.js +220 -107
  280. package/dist/timeline.js +2 -2
  281. package/dist/toast.js +1 -1
  282. package/dist/toggle-group.js +1 -1
  283. package/dist/tooltip.js +1 -1
  284. package/dist/typewriter.js +1 -1
  285. package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
  286. package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
  287. package/dist/useDragMorph-DgxnsVJz.js +102 -0
  288. package/dist/useLiquidPress-kfb4KX79.js +39 -0
  289. package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
  290. package/dist/useSpring-C0jyvEJB.js +40 -0
  291. package/dist/useSpringMount-q1amq1SJ.js +71 -0
  292. package/dist/useSpringPress-BsqPr7FJ.js +34 -0
  293. package/dist/{useTouchGate-28Tk2-t2.js → useTouchGate-CBZTD4SD.js} +1 -1
  294. package/dist/vSpecular-CQFmLNzA.js +68 -0
  295. package/dist/vendor-CKmzio-i.js +226 -0
  296. package/dist/watercolor-dot.js +2 -2
  297. package/package.json +126 -22
  298. package/src/styles/animations.css +33 -9
  299. package/src/styles/border-progress.css +109 -0
  300. package/src/styles/cards.css +76 -0
  301. package/src/styles/critical-partition.mjs +140 -0
  302. package/src/styles/dock/density.css +45 -0
  303. package/src/styles/dock/layers.css +54 -30
  304. package/src/styles/dock/morph.css +124 -7
  305. package/src/styles/dock/overflow.css +16 -2
  306. package/src/styles/dock/shell.css +54 -16
  307. package/src/styles/dock.css +32 -0
  308. package/src/styles/drawer.css +81 -35
  309. package/src/styles/glass/deep.css +44 -0
  310. package/src/styles/glass/ladder.css +87 -31
  311. package/src/styles/glass/material.css +78 -15
  312. package/src/styles/glass/reveal.css +136 -0
  313. package/src/styles/glass/rim.css +100 -0
  314. package/src/styles/glass/surfaces.css +101 -3
  315. package/src/styles/glass-refract.css +96 -44
  316. package/src/styles/glass-specular-track.css +7 -0
  317. package/src/styles/glass.css +3 -0
  318. package/src/styles/hover-popover.css +7 -6
  319. package/src/styles/icon-chip.css +77 -15
  320. package/src/styles/index.css +12 -0
  321. package/src/styles/instrument-chassis.css +66 -3
  322. package/src/styles/scroll-choreography.css +300 -0
  323. package/src/styles/segmented-tabs.css +31 -0
  324. package/src/styles/theme/bridges.css +11 -0
  325. package/src/styles/theme/literals.css +11 -2
  326. package/src/styles/theme/radius.css +6 -1
  327. package/src/styles/tokens/dark-arm.css +98 -26
  328. package/src/styles/tokens/glass-deep.css +75 -0
  329. package/src/styles/tokens/glass-fx.css +333 -0
  330. package/src/styles/tokens/glass.css +39 -319
  331. package/src/styles/tokens/light-dark.css +15 -2
  332. package/src/styles/tokens/offsets.css +116 -0
  333. package/src/styles/tokens/on-glass-fg.css +39 -0
  334. package/src/styles/tokens/property-regs.css +127 -0
  335. package/src/styles/tokens/scale-paper.css +117 -89
  336. package/src/styles/tokens/scheme-motion.css +70 -32
  337. package/src/styles/tokens/scroll-tokens.css +123 -0
  338. package/src/styles/tokens/{offsets-sizing.css → sizing.css} +37 -100
  339. package/src/styles/tokens.css +9 -3
  340. package/src/styles/typography/semantic.css +8 -8
  341. package/src/styles/typography/utilities.css +22 -7
  342. package/src/styles/utilities/animate.css +27 -24
  343. package/src/styles/utilities/base-misc.css +255 -0
  344. package/src/styles/utilities/base.css +47 -261
  345. package/src/styles/utilities/btn.css +3 -1
  346. package/src/styles/utilities/metal.css +189 -0
  347. package/src/styles/utilities.css +14 -7
  348. package/dist/CardAction-XH4YBVEK.js +0 -158
  349. package/dist/Notification-DKjKsQq8.js +0 -100
  350. package/dist/NumberFieldContent-1VtwDSgf.js +0 -145
  351. package/dist/Toaster-Bm_HQSpc.js +0 -263
  352. package/dist/check-njhk-vfu.js +0 -7
  353. package/dist/chevron-down-DKkxb4VV.js +0 -7
  354. package/dist/chevron-right-CPXbqQQz.js +0 -7
  355. package/dist/chevron-up-n_24SqI-.js +0 -7
  356. package/dist/createLucideIcon-DydS2qgk.js +0 -43
  357. package/dist/minimize-2-BV31Ob_h.js +0 -38
  358. package/dist/search-BSGrf2Sk.js +0 -12
  359. package/dist/useCanvas2D-ClrQuZtp.js +0 -96
  360. package/dist/useConfiguratorState-kiIlun8I.js +0 -303
  361. package/dist/useSpecularTracking-Bo5su68i.js +0 -32
  362. package/dist/useSpringMount-CvopqiFr.js +0 -108
  363. package/dist/useViewTransition-COsPjQVZ.js +0 -47
  364. package/dist/x-BUwTKe50.js +0 -10
  365. /package/dist/{CollapsibleContent-C_s6fG7r.js → CollapsibleContent-68dEXIAl.js} +0 -0
  366. /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
  367. /package/dist/{Label-Ck9SWEKM.js → Label-C2ejNWeC.js} +0 -0
  368. /package/dist/{ModalOverlay-CkPRRgl_.js → ModalOverlay-D1VrWyoi.js} +0 -0
  369. /package/dist/{PaperBackdrop-nBKe0vkB.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
  370. /package/dist/{SelectGroup-Dcczq44n.js → SelectGroup-DwwjicPY.js} +0 -0
  371. /package/dist/{SelectSeparator-DK2y1Bun.js → SelectSeparator-DXswVdRz.js} +0 -0
  372. /package/dist/{Separator-BArl4OaB.js → Separator-pKF0oA4M.js} +0 -0
  373. /package/dist/{Switch-Dr--uLGH.js → Switch-CwYNf8bo.js} +0 -0
  374. /package/dist/{_plugin-vue_export-helper-CBt_VvXa.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  375. /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
  376. /package/dist/{createContext-B2RaZ-b8.js → createContext-CpBNTRMI.js} +0 -0
  377. /package/dist/{math-DeuJwLFx.js → math-BINYmg5z.js} +0 -0
  378. /package/dist/{menuItemVariants-DWRQXBxJ.js → menuItemVariants-D8VNHq22.js} +0 -0
  379. /package/dist/{prng-Cg22zv8g.js → prng-Za0Rmgag.js} +0 -0
  380. /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
  381. /package/dist/{springPresets-WXaLbu8u.js → springPresets-CFQGQfdl.js} +0 -0
  382. /package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-BfUq2bUM.js} +0 -0
  383. /package/dist/{useInterval-CNdua40W.js → useInterval-CvK1mL92.js} +0 -0
  384. /package/dist/{useLiquidFlex-C12hXwOZ.js → useLiquidFlex-mZPMiNXh.js} +0 -0
  385. /package/dist/{useRAFLoop-CdwJ7284.js → useRAFLoop-UYa4zoiN.js} +0 -0
  386. /package/dist/{useResizeObserver-V6nq5gJb.js → useResizeObserver-Bpoi7tRE.js} +0 -0
  387. /package/dist/{useResolveTokenColor-NUG2zYAW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
  388. /package/dist/{useSortable-BVqlJRBR.js → useSortable-DHjtZSEd.js} +0 -0
  389. /package/dist/{useSurfaceAxis-CMnF2zHb.js → useSurfaceAxis-g0NloYEF.js} +0 -0
  390. /package/dist/{useTextHighlight-NmBM5V_4.js → useTextHighlight-CWEi25hf.js} +0 -0
  391. /package/dist/{useTimer-B_PAasDL.js → useTimer-BHJOKr35.js} +0 -0
  392. /package/dist/{useUserInvalidAria-CDfJuakL.js → useUserInvalidAria-y5namzeE.js} +0 -0
  393. /package/dist/{useViewportReady-CvBcCYDf.js → useViewportReady-anbac3m6.js} +0 -0
  394. /package/dist/{vReveal-D9k0jADx.js → vReveal-Czsb7zQC.js} +0 -0
@@ -0,0 +1,123 @@
1
+ /* tokens/scroll-tokens.css
2
+ §20 PLATFORM MOTION (AQ.W5) — the native-platform motion substrate knobs.
3
+ Carved WHOLE from tokens/scale-paper.css at BB.W-CARVE4 to hold the no-god-module
4
+ bound (the paper/control/display/metal/timeline/metric/table families §11–§19 stay
5
+ in scale-paper.css; §20 is the file's last section, so this is a contiguous tail
6
+ carve at the §19/§20 seam). @import-ed by tokens.css in cascade order IMMEDIATELY
7
+ AFTER scale-paper.css — an adjacent same-selector :root{} block carrying the SAME
8
+ declarations in the SAME relative order, so the dist is byte-isomorphic.
9
+
10
+ The motion families, each read by a `@supports`-gated CSS recipe:
11
+ scroll-driven.css / scroll-choreography.css, animations.css (§TOP-LAYER),
12
+ view-transition.css — every visual knob a token so a consumer retunes without
13
+ editing library source. */
14
+ :root {
15
+ /* SCROLL-DRIVEN (scroll-driven.css). Values mirror the JS-fallback composable
16
+ defaults (`useScrollProgress` / `useStaggerReveal`) so the native CSS path and
17
+ the fallback path read identically — no visual seam at the `@supports` boundary. */
18
+ --scroll-progress-scroller: root;
19
+ --scroll-reveal-rise: 6px;
20
+ --scroll-reveal-range-end: 60%;
21
+
22
+ /* BB.W-SCROLL-MOTION — the scroll-CHOREOGRAPHY register knobs (the page-build /
23
+ section-cascade / scroll-pinned recipes in scroll-choreography.css). These
24
+ EXTEND the --scroll-reveal-* substrate above; the existing three are READ-ONLY
25
+ (the cascade COMPOSES them, it never re-tunes them). All distances are
26
+ compositor (transform) channels; the clocks are the per-spring settle clocks
27
+ (scheme-motion.css), threaded, never re-tuned. */
28
+ /* .scroll-build — the route-enter page-build (the chrome -> hero -> body
29
+ coordinated entrance). The rise is a touch deeper than the section cascade
30
+ (the page ASSEMBLES — a more pronounced settle), the step is the per-beat
31
+ coordinated stagger between the chrome, hero, and first-section beats. */
32
+ --scroll-build-rise: 1.5rem;
33
+ --scroll-build-step: 90ms;
34
+ /* .scroll-cascade — the orchestrated section cascade (the per-child view()
35
+ timeline, the spring-clocked coupled build). The rise lifts the bare
36
+ --scroll-reveal-rise 6px to a perceptible SOTA build; the range-end is the
37
+ reveal window (a touch tighter than the bare reveal so each section lands
38
+ crisply rather than dragging a long fade tail). The column-stagger delay is
39
+ the opt-in .scroll-cascade--columns grid-variant knob. */
40
+ --scroll-cascade-rise: 1.25rem;
41
+ --scroll-cascade-range-end: 45%;
42
+ --scroll-cascade-column-stagger: 60ms;
43
+ /* .scroll-pin — the fixed-stage-advances-time scroll-pinned register. The stage
44
+ height is the Nvh temporal space the sticky stage advances its phases across;
45
+ the phase windows are the scroll-progress fractions the stage's internal
46
+ phases key off (grid-reveal 0..45%, expand 45..90%, settle 90..100% — the
47
+ Codrops phased-sequence shape). */
48
+ --scroll-pin-stage-height: 320vh;
49
+ --scroll-pin-phase-reveal-end: 45%;
50
+ --scroll-pin-phase-expand-end: 90%;
51
+ --scroll-pin-lift: 2.5rem;
52
+
53
+ /* TOP-LAYER (animations.css §TOP-LAYER). The `@starting-style` entry/exit
54
+ grammar for native `<dialog>` / `[popover]` glass surfaces. The backdrop dim
55
+ uses the house alpha-derivative `color-mix(in srgb, var(--background) Npct,
56
+ transparent)` (AZ.W-ADAPTIVE-AUTO A5-1). It is NOT the `hsl(var(--background)
57
+ / α)` channel form: `--background` is a COMPLETE `hsl()` color
58
+ (`= hsl(48 12% 98%)`), so `hsl(var(--background) / α)` double-wraps to
59
+ `hsl(hsl(…) / α)` — invalid, never paints (the modal dim was silently dead).
60
+ The genuine channel form would require `--background` declared as a bare
61
+ `H S% L%` triple, which it never is — hence the alpha-derivative mix. */
62
+ --top-layer-enter-scale: 0.96;
63
+ --top-layer-backdrop-blur: 8px;
64
+ --top-layer-backdrop-dim: 0.5;
65
+
66
+ /* VIEW-TRANSITION (view-transition.css). The shared `.gl-list-item` group recipe
67
+ + the `--vt-*` axes the `useViewTransition` substrate consumers (dock layer
68
+ swap, muster J's verdict re-rank) tune their swap against. */
69
+ --vt-duration: var(--duration-normal);
70
+ /* AX.W05 — ONE iOS-spring vocabulary: every spring-flavored transition reads
71
+ a governed `--spring-*` register. The legacy apple-spring cubic-bezier
72
+ (+27.5% overshoot) was a SECOND authority beside the regen `--spring-*`
73
+ cohort; it is EXCISED. Its emphatic-overshoot register maps to the playful
74
+ `--spring-bouncy` (the closest `linear()` overshoot stop-set), so the VT
75
+ default + the cards/top-layer transitions share one spring primitive
76
+ (CPU + GPU sample the same curve). No cubic-bezier fallback seed survives —
77
+ the `linear()` spring degrades to `ease` where `linear()` is unsupported. */
78
+ --vt-ease: var(--spring-bouncy);
79
+ --vt-rise: 8px;
80
+
81
+ /* AT.W6-dock-c / AU.W8 — the dock layer-swap morph timing, minted ONCE so
82
+ both engine paths are timing-IDENTICAL: the FLIP fallback (via
83
+ `--dock-motion-resize`), the native View-Transition group (its
84
+ `animation-timing-function`), AND the runtime SpringProgress driver
85
+ (AU.W8.3) consume this same `(0.32, 0.7)` source curve. Retires the AQ.W6
86
+ fork where the VT path ran `--vt-ease` (apple-spring, +27.5% overshoot)
87
+ while the FLIP ran the snappy spring. `--vt-ease` still defaults the
88
+ other VT recipes (`.gl-list-item`).
89
+
90
+ AU.W8 — RETARGET snappy → dock. `--spring-snappy` (ζ=0.65, +6.8%) read as
91
+ mechanical: a stiff plateau at ~48% with too little overshoot to feel
92
+ alive ("not iOS-smooth"). AW.W2 then retuned the dock spring to the
93
+ iOS-control register: `--spring-dock` ((0.32, 0.7), ~+4.6%) settles snappy
94
+ with a restrained overshoot — the felt iOS dock morph, off the prior
95
+ playful +18.5% register. The runtime driver's DOCK_SPRING const MIRRORS the
96
+ (0.32, 0.7) PRESETS row, so the CSS token and the JS-driven morph are
97
+ bit-identical. */
98
+ --dock-resize-spring: var(--spring-dock);
99
+
100
+ /* AT.W7-dock-b — dock-control press micro-feedback spring. A TRANSFORM-ONLY
101
+ spring (`scale`/`rotate`) the dock controls apply to their hover/press
102
+ activation so the squish reads with a touch of spring-back rather than a
103
+ flat ease. STRICTLY transform-scoped: it must never touch the surface-tier
104
+ `[data-held]` fades (background/border/box-shadow), which stay on
105
+ `--duration-fast var(--ease-standard)`. The duration pairs with
106
+ `--duration-fast`; consumers retune the whole feel via this one token.
107
+
108
+ AY.W-DOCK2 (D6) — the register is `--spring-smooth`, the §6 easing-doctrine
109
+ transform-press register (tokens.css §2: transform hover/press/active →
110
+ `--spring-smooth`/`--spring-snappy`, NEVER `--spring-bouncy`; a press must
111
+ settle, never overshoot into a visible bounce). The prior `--spring-bouncy`
112
+ ROOT default was off-doctrine, shadowed for the four named controls by a
113
+ per-surface re-point in dock-controls.css — the exact per-surface fork the
114
+ doctrine kills. The re-point is now a DEAD byte-identical redeclaration and is
115
+ DELETED; the ROOT token IS the doctrine register, so any other consumer of
116
+ `--dock-press-spring` inherits the correct smooth register.
117
+
118
+ BA.W-GLASS-CAL Unit 3 — the duration leg re-times off the generic
119
+ `--duration-fast` (0.2s) onto `--spring-smooth-duration` (0.36s, the
120
+ smooth spring's OWN 2%-band envelope settle), so the press transform plays
121
+ at its physical settle rather than a generic clock. */
122
+ --dock-press-spring: var(--spring-smooth-duration) var(--spring-smooth);
123
+ }
@@ -1,101 +1,16 @@
1
- /* tokens/offsets-sizing.css
2
- §9 animation offsets · §10 sizing (control heights, dropdown, carousel, stack-overlap, touch-target floor).
3
- Carved from the tokens.css cascade root; @import-ed by tokens.css in
4
- cascade order. Same :root cascade context as its siblings. */
1
+ /* tokens/sizing.css
2
+ §10 sizing — the --ui-scale doctrine, control-height/font/glyph cohorts,
3
+ dropdown/carousel/stack-overlap, the dock geometry cascade (--dock-scale +
4
+ collapsed-pill + rail hairline + active-state ladder + iOS register + touch
5
+ floor), MetricBadge stacked geometry, the Configurator density + HIERARCHY
6
+ vocabulary, the single-column stage floor, the section tonal step, the
7
+ component-font override.
8
+ Carved (BB.W-CARVE3) from the former tokens/offsets-sizing.css §9/§10 split;
9
+ @import-ed by tokens.css immediately AFTER offsets.css at offsets-sizing's old
10
+ cascade slot — adjacent same-selector :root blocks resolve identically, so the
11
+ dist is byte-isomorphic. See docs/precepts/design-idioms.md
12
+ §cohesion-aware partials. */
5
13
  :root {
6
- /* ═══════════════════════════════════════════════
7
- §9 ANIMATION OFFSETS
8
- ═══════════════════════════════════════════════ */
9
- /* Hover lift offsets */
10
- --lift-sm: -1px;
11
- --lift-md: -2px;
12
- --lift-lg: -4px;
13
-
14
- /* Layout tokens */
15
- /* BA.W-FADING-SCROLL — `--fade-scroll-width` is the public edge-fade ramp
16
- width knob for `<FadingScroll>` (inheriting, retunable on any ancestor;
17
- SegmentedTabs' `overflow="scroll"` strip overrides it to 0.5rem). It
18
- SUPERSEDES `--mask-fade-width` (the scroll-BLIND `.scroll-fade-*` static
19
- masks' knob). `--mask-fade-width` is RETIRE-COORDINATED: it survives this
20
- wave because the static `.scroll-fade-*` utility blocks survive (so
21
- W-CONFIG-CHASSIS's C2/C3 configurator columns still render mid-batch); it
22
- retires in a CLEAN BREAK (no alias) at the orchestrator's Batch-2-close
23
- commit alongside the static utilities, once C2/C3 have migrated onto the
24
- primitive. */
25
- --fade-scroll-width: 1rem;
26
- --mask-fade-width: 1rem;
27
- /* J.W3.C — dock content overflow caps. When dock content exceeds
28
- these dimensions, the inner `.dock-layers` (horizontal) /
29
- `.glass-dock.vertical` (rail) container scrolls with a
30
- `.scroll-fade-{x,y}` mask-fade so the boundary feathers rather
31
- than cliffs. Defaults clamp to 80vw / 80vh capped at sensible
32
- desktop widths; consumers override per-dock by setting either
33
- token directly on a `.glass-dock` instance. User findings 1 + 5a. */
34
- /* AX.W04 — `--dock-max-inline-size` is the canonical inline cap EVERY overflow
35
- strategy reads: `overflow="scroll"` scrolls past it, and `overflow="wrap"`
36
- wraps to N rows on the over-cap crossing (the dock shrink-wraps to content,
37
- `max-inline-size` caps that intrinsic width at this token). The prior
38
- `--dock-overflow-bp: 640px` viewport-breakpoint token (the magic-640
39
- snap-back) is DELETED — the wrap is content-driven, not viewport-coupled, so
40
- there is no breakpoint threshold to name. */
41
- --dock-max-inline-size: min(80vw, 64rem);
42
- --dock-max-block-size: min(80vh, 48rem);
43
-
44
- /* AB.W1.T1 — chassis max-block-size guardrail.
45
- Maximum block size a centred consumer-app card may consume while
46
- preserving the inline dock footprint. The recipe subtracts the
47
- consumer-owned `--dock-footer-space` (dock height + dock inset +
48
- card-edge inset) and `--page-padding-top` from the dynamic viewport,
49
- then takes one further rem of breathing room so the card never
50
- butts the dock — the user mandate is `≥ 1rem visible gap above
51
- dock`. Both consumer tokens carry safe fallbacks for callers that
52
- have not declared them.
53
-
54
- Consumers should shrink internal regions (meter, readout, timeline)
55
- before falling back to scroll. This token is a guardrail against
56
- chassis overflow, NOT a license to make the card scroll as the
57
- default solution; clamp-first / no-scroll-first is the canon.
58
- See DESIGN.md `## Chassis sizing — dock-adjusted viewport`. */
59
- --chassis-max-block-size: calc(
60
- 100dvh
61
- - var(--dock-footer-space, 5.75rem)
62
- - var(--page-padding-top, 0rem)
63
- - 1rem
64
- );
65
- /* R0G-2 (AO.W3/W4) — chassis mobile dial-reserve canon. instrument-
66
- chassis.css's mobile breakpoint reserves the dial's final box from
67
- frame 0 via these vars (with the same values as inline fallbacks, the
68
- safety net). Token-first home so the vars resolve canonically. */
69
- --instrument-dial-min-height-mobile: 24rem;
70
- --instrument-dial-meter-reserve-mobile: minmax(0, 1fr);
71
-
72
- --max-width-input: 24rem;
73
- --input-min-width-sm: 5rem;
74
- --min-width-input-sm: var(--input-min-width-sm);
75
- /* AU.W8b.4 — canonical popover width (Combobox list + anchor). Lifts the
76
- `w-[200px]` arbitrary-value wrap to the `w-popover` @theme utility. */
77
- --popover-width: 200px;
78
- /* AZ.R5-4 — the ONE panel inner-padding rung (the consumer-verified "the
79
- popover/dropdown content reads TIGHT" finding). The floating-panel +
80
- DropdownMenuContent recipes read THIS token for their inner pad instead of
81
- the prior hand-set `p-1`/literal, so a consumer retunes every teleported
82
- menu/panel surface from one override. The comfortable default is `0.375rem`
83
- (a half-rung over the prior 0.25rem tight floor — comfortable both modes
84
- without over-padding a dense menu list). PopoverContent keeps its own
85
- `--panel-padding-roomy` (1rem) for the prose-popover register. */
86
- --panel-padding: 0.375rem;
87
- --panel-padding-roomy: 1rem;
88
- --chart-height-compact: 15rem;
89
- --chart-height-default: 22.5rem;
90
- --chart-height-large: 25rem;
91
- --chart-margin: 1.25rem;
92
- --paper-texture-size: 200px 200px;
93
-
94
- /* Border opacity scale */
95
- --border-opacity-light: 0.15;
96
- --border-opacity-medium: 0.25;
97
- --border-opacity-strong: 0.6;
98
-
99
14
  /* ═══════════════════════════════════════════════
100
15
  §10 SIZING
101
16
  ═══════════════════════════════════════════════ */
@@ -283,8 +198,31 @@
283
198
  /* Library glyph ownership — `.dock-icon-button > svg` reads this so the dock
284
199
  icon glyph scales WITH the box (mirroring `.dark-mode-toggle-button > svg`).
285
200
  A consumer-passed explicit lucide size class still WINS (utility layer >
286
- component layer); this is a DEFAULT, not a ceiling. */
287
- --dock-icon-glyph: calc(1.25rem * var(--dock-scale));
201
+ component layer); this is a DEFAULT, not a ceiling.
202
+
203
+ BB.W-PERF-PRODUCER A′-6 — the glyph rides the per-DENSITY box, not a flat rem.
204
+ The value.js D5-1 companion trace: `density="spacious"` grew the shelf + pad +
205
+ gap but the glyph stayed 1.25rem (it rode `--dock-scale` only, NOT the
206
+ per-density `--dock-layer-height` axis density.css scales). Now the glyph is a
207
+ RATIO of `--dock-layer-height` (`--dock-icon-glyph-ratio`, default 0.5 → a
208
+ 2rem control → a 1rem glyph at compact, a 2.5rem control → 1.25rem at
209
+ comfortable, lockstep up the rungs). The `--dock-scale` coarse thread is
210
+ PRESERVED transitively — `--dock-layer-height` already rides it (density.css).
211
+ The WCAG glyph-floor holds via `max(…, --dock-icon-glyph-floor)` (a 16px floor
212
+ so a sub-1 density/coarse register can never drop the glyph below the legible
213
+ minimum). NOTE: `--dock-layer-height` is painted ONLY on `.glass-dock[data-density]`
214
+ (density.css) — at `:root` it is the inline fallback below, so this `:root`
215
+ declaration resolves the fallback ladder; density.css RE-RESOLVES `--dock-icon-glyph`
216
+ inside each `[data-density]` scope so the density-painted height flows in (the
217
+ substitution-vs-inheritance trap the overflow.css R5-1 sweep documents). The
218
+ toggle mirror `.dark-mode-toggle-button > svg` reads the SAME `--dock-icon-glyph`
219
+ so both glyphs move onto the density axis together. */
220
+ --dock-icon-glyph-ratio: 0.5;
221
+ --dock-icon-glyph-floor: 1rem;
222
+ --dock-icon-glyph: max(
223
+ calc(var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio)),
224
+ var(--dock-icon-glyph-floor)
225
+ );
288
226
 
289
227
  /* AX.W45-TUNE Q1 — the COLLAPSED-pill floor tokens. The collapsed summary
290
228
  used to fall to `--dock-layer-height` (the FULL control height, ~2.5rem) for
@@ -558,5 +496,4 @@
558
496
 
559
497
  /* Component font override (consumers override locally) */
560
498
  --select-font: inherit;
561
-
562
499
  }
@@ -21,14 +21,20 @@
21
21
  * (registrations + the specular magnitude cohort that reads them).
22
22
  */
23
23
 
24
- /* CSS @import rules must precede every other rule. The nine partials @import in
25
- cascade order: */
24
+ /* CSS @import rules must precede every other rule. The ten partials @import in
25
+ cascade order (offsets-sizing.css was carved into offsets.css + sizing.css at
26
+ BB.W-CARVE3 — adjacent same-selector :root blocks at the same cascade slot): */
26
27
  @import "./tokens/scheme-motion.css";
27
28
  @import "./tokens/color-radius.css";
28
29
  @import "./tokens/shadow.css";
29
30
  @import "./tokens/glass.css";
30
- @import "./tokens/offsets-sizing.css";
31
+ @import "./tokens/glass-fx.css";
32
+ @import "./tokens/glass-deep.css";
33
+ @import "./tokens/on-glass-fg.css";
34
+ @import "./tokens/offsets.css";
35
+ @import "./tokens/sizing.css";
31
36
  @import "./tokens/scale-paper.css";
37
+ @import "./tokens/scroll-tokens.css";
32
38
  @import "./tokens/light-dark.css";
33
39
  @import "./tokens/dark-arm.css";
34
40
  @import "./tokens/property-regs.css";
@@ -24,7 +24,7 @@ body {
24
24
  font-family: var(--font-display);
25
25
  font-size: var(--type-display-audacious);
26
26
  line-height: var(--type-leading-display);
27
- letter-spacing: var(--type-tracking-tight);
27
+ letter-spacing: var(--type-tracking-display);
28
28
  font-optical-sizing: auto;
29
29
  font-weight: 600;
30
30
  /* AQ.W3 §W3.3 — balance multi-line display headlines. Text-only (no box) so
@@ -60,7 +60,7 @@ body {
60
60
  font-family: var(--font-display);
61
61
  font-size: var(--type-display-hero);
62
62
  line-height: var(--type-leading-display);
63
- letter-spacing: var(--type-tracking-tight);
63
+ letter-spacing: var(--type-tracking-display);
64
64
  font-optical-sizing: auto;
65
65
  font-weight: 600;
66
66
  text-wrap: balance; /* AQ.W3 §W3.3 */
@@ -70,7 +70,7 @@ body {
70
70
  font-family: var(--font-display);
71
71
  font-size: var(--type-display-mega);
72
72
  line-height: var(--type-leading-display);
73
- letter-spacing: var(--type-tracking-tight);
73
+ letter-spacing: var(--type-tracking-display);
74
74
  font-optical-sizing: auto;
75
75
  font-weight: 600;
76
76
  text-wrap: balance; /* AQ.W3 §W3.3 */
@@ -80,7 +80,7 @@ body {
80
80
  font-family: var(--font-display);
81
81
  font-size: var(--type-display-5);
82
82
  line-height: var(--type-leading-display);
83
- letter-spacing: var(--type-tracking-tight);
83
+ letter-spacing: var(--type-tracking-display);
84
84
  font-optical-sizing: auto;
85
85
  font-weight: 600;
86
86
  text-wrap: balance; /* AQ.W3 §W3.3 */
@@ -90,7 +90,7 @@ body {
90
90
  font-family: var(--font-display);
91
91
  font-size: var(--type-display-4);
92
92
  line-height: var(--type-leading-display);
93
- letter-spacing: var(--type-tracking-tight);
93
+ letter-spacing: var(--type-tracking-display);
94
94
  font-optical-sizing: auto;
95
95
  font-weight: 600;
96
96
  text-wrap: balance; /* AQ.W3 §W3.3 */
@@ -100,7 +100,7 @@ body {
100
100
  font-family: var(--font-display);
101
101
  font-size: var(--type-display-3);
102
102
  line-height: var(--type-leading-display);
103
- letter-spacing: var(--type-tracking-tight);
103
+ letter-spacing: var(--type-tracking-display);
104
104
  font-optical-sizing: auto;
105
105
  font-weight: 600;
106
106
  text-wrap: balance; /* AQ.W3 §W3.3 */
@@ -110,7 +110,7 @@ body {
110
110
  font-family: var(--font-display);
111
111
  font-size: var(--type-display-2);
112
112
  line-height: var(--type-leading-display);
113
- letter-spacing: var(--type-tracking-tight);
113
+ letter-spacing: var(--type-tracking-display);
114
114
  font-optical-sizing: auto;
115
115
  font-weight: 600;
116
116
  text-wrap: balance; /* AQ.W3 §W3.3 */
@@ -120,7 +120,7 @@ body {
120
120
  font-family: var(--font-display);
121
121
  font-size: var(--type-display-1);
122
122
  line-height: var(--type-leading-display);
123
- letter-spacing: var(--type-tracking-tight);
123
+ letter-spacing: var(--type-tracking-display);
124
124
  font-optical-sizing: auto;
125
125
  font-weight: 600;
126
126
  text-wrap: balance; /* AQ.W3 §W3.3 */
@@ -26,12 +26,24 @@
26
26
  /* ═══════════════════════════════════════════════
27
27
  MONO variants
28
28
  ═══════════════════════════════════════════════ */
29
+ /* BB.W-EYEBROW-UNION — THE canonical mono-caption EYEBROW vocabulary, declared
30
+ ONCE. The pure color-agnostic register: mono · caption-size · uppercase ·
31
+ tracking-CAPS. The prior drift (tracking-WIDER 0.05em, weight-500, both off the
32
+ `.section-label` canon-by-usage) is RECONCILED onto the canon's secondary axes
33
+ (clean break, no alias): the tracking folds to `--type-tracking-caps` (0.1em),
34
+ the weight-500 drops (a per-use choice a site states inline via `font-medium`,
35
+ not a fork in the eyebrow register), and color stays UNBAKED so a consumer
36
+ pairs any ink (`text-foreground`/`text-muted-foreground`/an accent) — the 17
37
+ `text-mono-caption text-foreground` sites keep their ink. `.section-label`
38
+ (below) COMPOSES this vocabulary + bakes the muted ink (the colored canon);
39
+ the menu caption reads the `--menu-section-*` knobs that DEFAULT to these same
40
+ tokens (the sanctioned override layer). proof:eyebrow-union locks the
41
+ single-source-ness. */
29
42
  @utility text-mono-caption {
30
43
  font-family: var(--font-mono);
31
44
  font-size: var(--type-caption);
32
- letter-spacing: var(--type-tracking-wider);
45
+ letter-spacing: var(--type-tracking-caps);
33
46
  text-transform: uppercase;
34
- font-weight: 500;
35
47
  }
36
48
 
37
49
  @utility text-mono-small {
@@ -110,13 +122,16 @@
110
122
  }
111
123
  }
112
124
 
113
- /* Section label (mono, small caps) */
125
+ /* Section label (mono, small caps) — the COLORED eyebrow canon. Composes the
126
+ ONE `text-mono-caption` vocabulary (mono · caption · uppercase ·
127
+ tracking-caps) + bakes the muted ink. BB.W-EYEBROW-UNION: this is the
128
+ canon-by-usage register (the StorySection eyebrow column + Section.vue's
129
+ `label` tone + the `.section-label--tinted` accent build on it); it now
130
+ COMPOSES the vocabulary rather than re-declaring it, so a tracking/size
131
+ change to the eyebrow is ONE edit (the `text-mono-caption` rule). */
114
132
  .section-label {
115
- font-family: var(--font-mono);
116
- font-size: var(--type-caption);
133
+ @apply text-mono-caption;
117
134
  color: var(--muted-foreground);
118
- text-transform: uppercase;
119
- letter-spacing: var(--type-tracking-caps);
120
135
  }
121
136
 
122
137
  /* Section-accent eyebrow (AZ.W-SUFFUSE D3-7 / D1-8). ONE coherent
@@ -1,26 +1,29 @@
1
1
  /* utilities/animate.css
2
- The popover/dropdown shared @utility animation pair — popover-animate + slide-in-from-side (the data-state / data-side entry choreography for popover-class containers). FIRST (before the @layer components block, matching source order).
3
- Carved from the utilities.css cascade root; @import-ed by utilities.css in
4
- cascade order. See docs/precepts/design-idioms.md §cohesion-aware partials. */
5
- /* ── Popover/dropdown shared animation ──
6
- `@utility` form (V.W3.T8 / A5 §5.9 standardisation): data-state animation
7
- pair for popover-class containers (Popover, DropdownMenu, ContextMenu,
8
- Tooltip, HoverCard, Select). Composed alongside `.slide-in-from-side`
9
- for direction-keyed entries. */
10
- @utility popover-animate {
11
- @apply data-[state=open]:animate-in data-[state=closed]:animate-out
12
- data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0
13
- data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95;
14
- }
2
+ BB.W-LIQUID-REVEAL — the popover/dropdown shared enter recipe RETIRED.
3
+ @import-ed by utilities.css in cascade order. See
4
+ docs/precepts/design-idioms.md §cohesion-aware partials. */
15
5
 
16
- /* ── Slide-in entry by side data-attr ──
17
- `@utility` form (V.W3.T8). Side-keyed slide entry that pairs with
18
- reka-ui's `data-side` (`top|right|bottom|left`). The animation
19
- direction inverts each side so panels enter from outside the
20
- anchor's edge. */
21
- @utility slide-in-from-side {
22
- @apply data-[side=bottom]:slide-in-from-top-2
23
- data-[side=left]:slide-in-from-right-2
24
- data-[side=right]:slide-in-from-left-2
25
- data-[side=top]:slide-in-from-bottom-2;
26
- }
6
+ /* ── RETIRED at BB.W-LIQUID-REVEAL (clean break, no alias — BB inv-7 no-legacy) ──
7
+ *
8
+ * `@utility popover-animate` (the tw-animate-css fixed-bezier zoom-95 + fade-0 enter)
9
+ * AND `@utility slide-in-from-side` (the data-side directional slide) are DELETED.
10
+ * They were the generic cubic-bezier zoom-95 over the same `--duration-normal` wall
11
+ * clock for every surface — "presses spring, reveals don't" (the §6/W-MOTION-CANON
12
+ * half-applied enter). The SPRING-CLOCKED LIQUID-ENTER recipe `.glass-reveal`
13
+ * (src/styles/glass/reveal.css) REPLACES both:
14
+ * - the scale+fade ride `--spring-snappy` + `--spring-snappy-duration` (the
15
+ * W-GLASS-CAL Unit 3 per-spring clock) with the coupled `filter: blur(4px)→0`
16
+ * light-bending decongest (the iOS-27 bloom);
17
+ * - the directional `slide-in-from-side` folds onto `.glass-reveal`'s `data-side`
18
+ * compositor `translate` leg (on the SAME spring clock).
19
+ *
20
+ * The ≥8 reka portaled overlays (Dialog/Popover/Tooltip/HoverCard/DropdownMenu/
21
+ * ContextMenu/Combobox/Select) compose `.glass-reveal` directly; the
22
+ * `useLiquidReveal` JS leaf (composables/motion/useLiquidReveal.ts) is the
23
+ * source-rect bloom REFINEMENT (the dialog-from-button / dock-from-pill case).
24
+ *
25
+ * Do NOT re-add an unlayered `@utility popover-animate`/`slide-in-from-side` — the
26
+ * recipe is `@layer components` `.glass-reveal`; an unlayered utility would win the
27
+ * cascade over it (the AZ dock-rail `@layer`-loses-to-utility trap). Machine-locked
28
+ * by proof:liquid-reveal R3 (the negative — no enrolled surface retains
29
+ * popover-animate). */