@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
@@ -29,34 +29,67 @@
29
29
  FLOOR — kept verbatim for non-light-dark() engines (§2c); on a
30
30
  supporting engine `color-scheme: dark` (above) drives the §-1b
31
31
  light-dark() arms and these agree. */
32
- --neutral-0: hsl(24 8% 6%); /* L 6 — page surface (dark) */
33
- --neutral-1: hsl(24 6% 11%); /* L 11 — soft field */
34
- --neutral-2: hsl(24 5% 16%); /* L 16 — chip / tab-inactive */
35
- --neutral-3: hsl(24 5% 22%); /* L 22 — hover / highlight */
36
- --neutral-4: hsl(24 5% 34%); /* L 34 — subtle border */
37
- --neutral-5: hsl(48 5% 62%); /* L 62 — muted text (WCAG AA: 7.39:1 vs L6 page / 6.58:1 vs L11 muted) */
32
+ /* BA.W-DARK-MATERIAL scope 1 — the luminous-dark elevation widen. The page floor
33
+ deepens (L6→L4, +1 warmth-sat) and the --card plate LIFTS (L10→L16, below) so the
34
+ page↔card gap goes from the HEAD 4-L collapse (card/page relL ≈ 2.0×, a 0.003-luma
35
+ band) to a real iOS/Material dark elevation step (card/page relL ≈ 5×, the five glass
36
+ rungs composite into a perceptible ladder). LOCKSTEP with light-dark.css:70/80.
37
+ BA.W-NO-GRAY — the WARM-CHROMA FLOOR dark arm, in LOCKSTEP with light-dark.css. The
38
+ dark neutrals warm off the achromatic hsl-24/48 onto the warm identity (hsl 28-36,
39
+ OKLab C off the gray floor on the NEW dark base — chip→border C 0.0138-0.0286, muted-fg
40
+ C 0.0255). The --neutral-0 page (hsl 24 9% 4%) is W-DARK-MATERIAL's luminance floor —
41
+ KEEP (chroma-only on the rungs above it). L held — the dark AA contract preserved. */
42
+ --neutral-0: hsl(24 9% 4%); /* L 4 — page surface (dark, deepened — W-DARK-MATERIAL) */
43
+ --neutral-1: hsl(28 12% 11%); /* L 11 — soft field (warm) */
44
+ --neutral-2: hsl(28 14% 16%); /* L 16 — chip / tab-inactive (warm, C≈0.014) */
45
+ --neutral-3: hsl(30 18% 22%); /* L 22 — hover / highlight (warm, C≈0.022) */
46
+ --neutral-4: hsl(30 16% 34%); /* L 34 — subtle border (warm, C≈0.029) */
47
+ --neutral-5: hsl(34 14% 62%); /* L 62 — muted text (warm, C≈0.026; WCAG AA: 7.64:1 vs page) */
38
48
  /* W7-α' (AK-FD1) — strong-muted text. Same principled ladder step as
39
49
  light, mirrored: 10 L LIGHTER than muted (62→72) toward --foreground
40
- (L90), the 1/3 point of the L62→L90 muted→primary gap. By-colour; hue
41
- 48, sat nudged 5→6. WCAG AA: 9.86:1 vs L6 page / 8.78:1 vs L11 muted
42
- (cf. neutral-5's 7.39:1). */
43
- --neutral-6: hsl(48 6% 72%); /* L 72 — strong-muted text (secondary register) */
50
+ (L90), the 1/3 point of the L62→L90 muted→primary gap. By-colour.
51
+ BA.W-NO-GRAY — re-saturated onto the warm identity (hsl 36 14% — OKLab
52
+ C≈0.019, warm). WCAG AA: 10.29:1 vs L4 page (cf. neutral-5's 7.64:1). */
53
+ --neutral-6: hsl(36 14% 72%); /* L 72 — strong-muted text (secondary register, warm) */
44
54
 
45
55
  /* --background / --card-foreground / --popover-foreground / --muted /
46
56
  --muted-foreground{,-strong} / --secondary{,-foreground} /
47
57
  --accent{,-foreground} / --border / --input are pure var()-aliases —
48
58
  DELETED here (AQ.W2 §2a): they auto-track the --neutral-* ladder +
49
59
  --foreground above. Re-declaring them would be redundant. */
50
- --foreground: hsl(48 10% 90%);
51
- --card: hsl(24 8% 10%);
52
- --popover: hsl(24 8% 10%);
60
+ /* BB.W-DARK-INK-WARM — the dark --foreground warmed off hsl(48 10% 90%) (OKLab H95.1°,
61
+ the EXACT yellow-green W-NO-GRAY condemned as "a cast, not warm material") onto the
62
+ no-gray warm identity hsl(30 14% 90%) (OKLab L0.926 C0.0063 H75.4° — the --foreground
63
+ 56° warm-amber family, L held within ±0.001 of HEAD, chroma off the gray floor,
64
+ chroma-only at constant L). The contrast contract holds (the dark ink over the L4 page
65
+ stays ≥ the body floor). EVERY dark var(--foreground) consumer (body copy, the lifted
66
+ muted register, --glass-tint-ink, the cartoon shadow, the configurator divider, the
67
+ dock-selected-accent, the --surface-tint-* relative-color recipe below) re-resolves
68
+ warm in lockstep, zero per-site edit. LOCKSTEP light-dark.css:92 (the §2c discipline —
69
+ both mode arms warm together or the FOUC/enhancement split paints two inks). */
70
+ --foreground: hsl(30 14% 90%);
71
+ /* BA.W-DARK-MATERIAL scope 1 — the --card plate LIFTS L10→L16 (a warm-dark elevated
72
+ surface, macOS-window territory) so it sits ~5× the deepened L4 page relL — a
73
+ clearly distinct surface the five glass rungs ladder up from. LOCKSTEP light-dark.css:80. */
74
+ --card: hsl(24 8% 16%);
75
+ --popover: hsl(24 8% 16%);
53
76
 
54
77
  /* R0G-5 (AO.W4) — dark mirror of the warm-neutral public-data panel.
55
- --card's dark hsl(24 8% 10%) nudged one warmth step toward amber
56
- (24→36) + +1 sat + +2 L so the dark dashboard panel lifts off the page. */
57
- --surface-public-data-panel: hsl(36 9% 12%);
78
+ --card's dark hsl(24 8% 16%) nudged one warmth step toward amber
79
+ (24→36) + +1 sat + +2 L so the dark dashboard panel lifts off the page.
80
+ BA.W-DARK-MATERIAL — re-anchored L12→L18 to stay ABOVE the lifted L16 card
81
+ (LOCKSTEP light-dark.css:82). */
82
+ --surface-public-data-panel: hsl(36 9% 18%);
58
83
 
59
- --primary: hsl(48 10% 90%);
84
+ /* BA.W-DARK-MATERIAL scope 4 — the chromatic dark --primary. HEAD was an achromatic
85
+ cream hsl(48 10% 90%) (oklab chroma ≈ 0.005 — every filled/active/selected control
86
+ painted a flat pale-grey slab). Re-anchored onto the legendre-violet house identity
87
+ hue (--section-color-7 / --viz-legendre's oklch register — a LIBRARY-identity chroma,
88
+ NOT a borrowed demo preset), oklab chroma 0.134. The dark ink --primary-foreground
89
+ stays hsl(24 10% 10%): 7.15:1 over the violet (clears the 4.5 text + 3.0 graphic
90
+ floors). Critical now the disco/audacious texture retires (R8-18) — the accent's
91
+ COLOR carries the identity. LOCKSTEP light-dark.css:84. */
92
+ --primary: oklch(0.739 0.134 318.1);
60
93
  --primary-foreground: hsl(24 10% 10%);
61
94
  /* AX.W44 — the `.dark` class fallback floor, in LOCKSTEP with the light-dark()
62
95
  enhancement arm above (§2c). Same lifted `hsl(0 80% 60%)` so a
@@ -90,6 +123,19 @@
90
123
  --viz-fourier: oklch(0.693 0.151 28.1);
91
124
  --viz-chebyshev: oklch(0.718 0.107 268.4);
92
125
  --viz-legendre: oklch(0.739 0.134 318.1);
126
+
127
+ /* BA.W-CONFIG-CHASSIS.1 (CFG-4) — the `.dark` class fallback floor for the
128
+ configurator divider register, in LOCKSTEP with the `light-dark()`
129
+ enhancement arm minted in offsets-sizing.css (the dark halves). A
130
+ @supports-split engine (no `light-dark()`) and a class-toggle engine paint
131
+ the SAME lifted divider: off the L34 `--border` (too close to the L16
132
+ glass plate) toward the L90 `--foreground` warm-ink so a visible luminance
133
+ step survives the dark glass-floating surface. The SECTION divider runs
134
+ heavier than the inter-row hairline; the faint section tonal step is the
135
+ 3% foreground wash. */
136
+ --configurator-divider: color-mix(in srgb, var(--foreground) 22%, transparent);
137
+ --configurator-divider-section: color-mix(in srgb, var(--foreground) 30%, transparent);
138
+ --configurator-section-tint: color-mix(in srgb, var(--foreground) 3%, transparent);
93
139
  /* --viz-amber / --viz-green / --meter-track-stroke are pure var()-aliases
94
140
  (→ --section-color-5/-4 / --foreground) — DELETED (§2a); they auto-track
95
141
  their sources, which convert via §-1b. */
@@ -154,9 +200,14 @@
154
200
  --constellation-edge-floor: 0;
155
201
  --constellation-edge-accent-alpha: 0.34;
156
202
 
157
- /* Glass opacity + grain for dark — five-tier ladder, alpha-monotonic.
158
- Each rung lifts ~0.08 from its light counterpart so the dark surfaces
159
- carry comparable read-weight against the deeper canvas. */
203
+ /* Glass opacity + grain for dark — the per-tier canonical alpha, DARK arm
204
+ (BB.W-CARD-TIER-ALPHA). The SAME named `--glass-opacity-{tier}` register as
205
+ the light arm (tokens/glass.css), per-mode — the dark identity. Five-tier
206
+ ladder, alpha-monotonic; each rung lifts ~0.08 from its light counterpart so
207
+ the dark surfaces carry comparable read-weight against the deeper canvas. A
208
+ consumer reads these named tokens; a divergent register stays a consumer preset.
209
+ Machine-locked by `proof:card-tier-alpha` (the dark-arm-present + monotonic +
210
+ lift-over-light asserts). */
160
211
  --glass-opacity-wash: 0.38;
161
212
  --glass-opacity-quiet: 0.58;
162
213
  --glass-opacity-resting: 0.72;
@@ -166,6 +217,115 @@
166
217
  --glass-grain-opacity: 0.045;
167
218
  --glass-highlight: inset 0 0.5px 0 0 hsl(0 0% 100% / 0.08);
168
219
 
220
+ /* BA.W-DARK-MATERIAL scope 2 — dark glass is TRANSMISSIVE. The dark rung
221
+ backdrop-filter carries a saturate/brightness LUMINOSITY LIFT (the iOS-dark
222
+ "dark glass glows where light passes" model) so a backdrop GLOWS through the
223
+ plate instead of dying behind it. The light arm sits at saturate(1.05) — over a
224
+ near-black canvas that reads as no transmission; the dark arm lifts it so the
225
+ aurora/page behind reads with chroma + a glow. The blur() RADIUS is the
226
+ light-arm primitive UNTOUCHED (W-GLASS-CAL owns the radius dial-back) — only the
227
+ saturate/brightness COMPANIONS lift here. The lower rungs lift more (they're
228
+ thinner, the backdrop carries the read); the heavy overlay lifts least. */
229
+ --glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(1.35) brightness(1.18);
230
+ --glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(1.35) brightness(1.16);
231
+ --glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(1.30) brightness(1.14);
232
+ --glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(1.28) brightness(1.10);
233
+ --glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(1.22) brightness(1.06);
234
+ --glass-blur-dock: blur(calc(var(--glass-blur-dock-radius) * var(--glass-level))) saturate(1.30) brightness(1.12);
235
+
236
+ /* BB.W-DEEP-GLASS — the DARK arm of the OPT-IN deep tier (the luminous-dark
237
+ deep mirror, the W-DARK-MATERIAL scope-2 "dark glass glows where light
238
+ passes" model). The deep tier is even more transmissive in dark — the deep
239
+ dark glass glows MORE where the backdrop passes — so its saturate/brightness
240
+ companion lifts HARDER than the calm dark floating (1.28/1.10): the deep
241
+ arm carries saturate(1.55) brightness(1.16), in LOCKSTEP with the light deep
242
+ arm (which sits at saturate 1.5 / depth-LERPed, glass-deep.css). The RADIUS
243
+ is the SAME --glass-blur-deep-active-radius × --glass-level (radius-only
244
+ across modes, the §2c discipline — only the saturate/brightness companions
245
+ differ between light/dark). This is a SEPARATE deep token the calm dark
246
+ ladder never reads (CALM-UNCHANGED in dark too — proof:glass-cal GREEN). */
247
+ --glass-blur-deep:
248
+ blur(var(--glass-blur-deep-active-radius))
249
+ saturate(1.55) brightness(1.16);
250
+
251
+ /* BA.W-DARK-MATERIAL scope 3 — the dark arm of the adaptive --glass-tint-* seam (the
252
+ SAME seam, NO third fork). The W55 self-engage block (glass/ladder.css) re-points
253
+ --glass-tint-source → --glass-tint-ink at --glass-tint-strength-aa. In LIGHT that is
254
+ a darken-over-bright; in DARK --glass-tint-ink resolves the light-cream --foreground,
255
+ so the SAME re-point becomes a gentle LIFT toward a luminous translucent dark (the
256
+ MIRROR of the light darken — the plate lifts OFF the deep page rather than dying into
257
+ it). HEAD applied the light 20% strength in dark too (the wrong-direction over-wash —
258
+ it flattened the silhouette toward cream). The dark arm re-declares the BOUNDED
259
+ strength to a gentle luminous-dark lift (12%) — over-light's 20% is a light-mode
260
+ concern (the bright bucket never engages in dark — there is no white backdrop). The
261
+ --glass-tint-ink token stays var(--foreground) (the light cream is the correct LIFT
262
+ ink in dark); only the STRENGTH re-tunes. The unconditional content-tier floor
263
+ (--glass-tint-strength-floor, light-mode-calm) is NOT re-declared here — in dark the
264
+ self-engage uses the AA arm directly (the luminous-dark lift is the desired default,
265
+ not a sub-perceptual silhouette). */
266
+ --glass-tint-strength-aa: 12%;
267
+ /* The unconditional content-tier self-engage (glass/ladder.css) reads
268
+ --glass-tint-strength-floor. In LIGHT that is the 4% sub-perceptual silhouette (the
269
+ calm-light card stays warm); in DARK the content tiers WANT the full luminous-dark
270
+ lift as the default (the plate lifts off the deep page — the desired register, not a
271
+ sub-perceptual edge), so the floor re-resolves to the AA lift here. ONE token, two
272
+ mode arms — the content-tier self-engage needs no mode branch. */
273
+ --glass-tint-strength-floor: 12%;
274
+
275
+ /* BB.W-ON-GLASS-FG — the surface-aware FOREGROUND register, DARK arm (the N13
276
+ whisper collapse where it bites hardest). The dark page-muted --neutral-5 (L62,
277
+ "AA: 7.64:1 vs page") COLLAPSES over the lifted luminous-dark plate (the L16 card
278
+ at the 12% --glass-tint-strength-floor composites the bright backdrop UP — the
279
+ measured 1.15-3.29:1). The on-glass muted rung lifts BRIGHTER (the mirror of the
280
+ light arm's darkening) so it clears AA over the composited dark plate WHILE
281
+ staying subordinate to the L90 --foreground ink (the quiet-subordinate hierarchy
282
+ preserved — NOT a blanket lift to full ink, which the bright bucket already does).
283
+ Warm-amber (the BB.W-DARK-INK-WARM identity), NOT the slides deck hsl(45 …) literal
284
+ (the deck is the REFERENCE; the library re-derives against its own --card). The
285
+ light arm lives in tokens/glass.css (the plain per-mode pair — the house idiom). */
286
+ --on-glass-muted: hsl(34 16% 72%); /* brighter than the collapsed --neutral-5 L62 (6.63:1 vs the luminous-dark plate; subordinate to --foreground) */
287
+ --on-glass-muted-strong: hsl(36 14% 78%); /* the -strong rung, one step more present (7.75:1 vs plate) */
288
+ --input-on-glass: hsl(26 12% 22%); /* the form-well fill — grounded warm-dark so the L90 input TEXT reads against a stable base (9.3:1) */
289
+ --progress-track-on-glass: hsl(28 14% 26%); /* the recessed meter track — a warm-dark channel distinct from the fill silhouette */
290
+
291
+ /* BA.W-DARK-MATERIAL scope 5 + BB.W-DARK-INK-WARM — the --surface-tint-* dark arm,
292
+ --foreground-DERIVED. The light family is color-mix(in srgb, var(--foreground) N%,
293
+ transparent) — over a near-black dark card a LIGHT-ink (dark --foreground IS light
294
+ cream) tint composites to near-black: the 9-rung chip/hairline/divider scale is
295
+ INVISIBLE in dark. The dark arm re-anchors the mix ink to a BRIGHTER warm off-white
296
+ so a chip/hairline LIFTS off the deep card (the inverse intent of light's dark-ink
297
+ tint). BA executed that intent as a hardcoded hsl(48 12% 96%) literal ×12 — at the
298
+ EXACT OKLab H95.1° yellow-green the SAME tranche's W-NO-GRAY ruled "a cast, not warm
299
+ material", AND a per-rung literal a --foreground re-point can never reach (the
300
+ architectural asymmetry with the light arm + the substitution-vs-redeclaration trap
301
+ at the token mint). BB re-expresses each rung as a oklch(from var(--foreground) 0.975
302
+ c h) RELATIVE-COLOR derivation: the recipe extracts the (now-warmed) dark --foreground's
303
+ warm hue + chroma and lifts the lightness to 0.975 (≈ HEAD's 0.973 ink L, so the chip
304
+ lift off the L16 card is preserved) — the ink CARRIES the --foreground's warm hue
305
+ (OKLab H75.4°) BY DERIVATION (re-point the dark ink → every rung re-resolves warm; a
306
+ future re-tune reaches all 12 from ONE --foreground edit — the symmetry the light arm
307
+ has had since L.W5). The OUTER mix STAYS color-mix(in srgb, … N%, transparent) — the
308
+ SAME 12-rung α ladder + the SAME in-srgb interpolation space the light arm uses (the
309
+ AW.W26 fence holds — the oklch(from …) is the INK SOURCE, not the tint mix space).
310
+ This re-resolves every --surface-tint-* consumer (chip backplates, the dock-rail
311
+ divider, the spine, the timeline dot) in lockstep, zero per-site edit. The 0.975 lift
312
+ sits well under the sRGB gamut edge (the AX css-relative-color book's "browsers don't
313
+ gamut-map yet" caveat does not bite — at 0.975 the small high-L chroma resolves clean;
314
+ lift→1.0 drifts the hue, so 0.975 is the calibrated pin). The css-relative-color
315
+ chronic's FIRST live consumer (the tolerant α-mix the AX book was waiting for). */
316
+ --surface-tint-4: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 4%, transparent);
317
+ --surface-tint-6: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 6%, transparent);
318
+ --surface-tint-8: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 8%, transparent);
319
+ --surface-tint-10: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 10%, transparent);
320
+ --surface-tint-12: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 12%, transparent);
321
+ --surface-tint-15: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 15%, transparent);
322
+ --surface-tint-18: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 18%, transparent);
323
+ --surface-tint-22: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 22%, transparent);
324
+ --surface-tint-25: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 25%, transparent);
325
+ --surface-tint-35: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 35%, transparent);
326
+ --surface-tint-40: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 40%, transparent);
327
+ --surface-tint-70: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 70%, transparent);
328
+
169
329
  /* Hairline-accent dark mirror — see light counterpart at line ~404. */
170
330
  --hairline-catch-light: inset 0 0.5px 0 0 rgb(255 255 255 / 0.05);
171
331
  --hairline-under-shadow: 0 0.5px 0 0 rgb(0 0 0 / 0.06);
@@ -196,5 +356,25 @@
196
356
  --gold: oklch(0.784 0.143 86.0);
197
357
  --gold-light: oklch(0.898 0.182 97.4);
198
358
  --gold-dark: oklch(0.678 0.150 63.8);
359
+
360
+ /* Silver — lifted for dark (BA.W-ATLAS-RECONCILE C-3; mirrors gold's dark
361
+ arm: the polished metal lifts ~+0.03 L so the structure register reads on
362
+ the deep canvas. `--silver-deep` is mode-invariant — NOT re-declared here,
363
+ exactly as `--gold-deep` is omitted from this dark block). The cool hue
364
+ holds; the chroma stays near-achromatic. */
365
+ --silver: oklch(0.792 0.012 255);
366
+ --silver-light: oklch(0.912 0.010 255);
367
+ --silver-dark: oklch(0.648 0.014 255);
368
+
369
+ /* Bronze — lifted for dark (BB.W-METAL-SHIMMER; mirrors gold's dark arm: the
370
+ warm metal lifts ~+0.03 L so the bronze register reads on the deep canvas.
371
+ `--bronze-deep` is mode-invariant — NOT re-declared here, exactly as
372
+ `--gold-deep`/`--silver-deep` are omitted from this dark block). The warm hue
373
+ holds; the chroma stays above the W-NO-GRAY floor. The `.dark`-class fallback
374
+ for engines without `light-dark()` (the §2c lockstep — the light-dark arm AND
375
+ this dark fallback move TOGETHER). */
376
+ --bronze: oklch(0.650 0.090 54.0);
377
+ --bronze-light: oklch(0.790 0.110 60.0);
378
+ --bronze-dark: oklch(0.560 0.085 50.0);
199
379
  }
200
380
 
@@ -0,0 +1,75 @@
1
+ /*
2
+ * glass-deep.css — BB.W-DEEP-GLASS — the OPT-IN deep-glass token family.
3
+ *
4
+ * A SEPARATE `--glass-blur-deep-*` token family ABOVE the W-GLASS-CAL calm
5
+ * default (the Apple iOS-27 Liquid-Glass deep register: `saturate(1.8) blur(20px)`
6
+ * measured on Apple's live nav material; glass-ui lands the deep tier in the
7
+ * 14-20px band at a budget-clearing 16px + saturate 1.5). The calm content
8
+ * default is BYTE-UNTOUCHED — this family is minted ALONGSIDE the calm
9
+ * `--glass-blur-*` ladder (tokens/glass.css), which NEVER reads these tokens, so
10
+ * `proof:glass-cal` B1-B3 stay GREEN by construction (the calm default is the
11
+ * user's "a hair too much" call, INVIOLATE).
12
+ *
13
+ * This is the §8-ladder partial sibling of tokens/glass.css (kept OUT of glass.css
14
+ * so the ratchet-baselined glass.css stays at 505); @import-ed in tokens.css
15
+ * AFTER glass.css (the deep family resolves in the same :root cascade slot,
16
+ * adjacent same-selector blocks). The dark deep arm lives in tokens/dark-arm.css
17
+ * (the W-DARK-MATERIAL discipline — the luminous-dark companion beside the calm
18
+ * dark companions).
19
+ *
20
+ * ── The Apple-range derivation (DELTA cross-ref) ───────────────────────────
21
+ * Apple home nav: saturate(1.8) blur(20px) (the canonical measure)
22
+ * Apple product tiers: blur(14-20px) (the band)
23
+ * glass-ui calm ceiling: floating 13px / saturate 1.18 (W-GLASS-CAL dial-back)
24
+ * glass-ui DEEP: 16px / saturate 1.5 (STRICTLY deeper on BOTH axes,
25
+ * in-band, the budget-clearing landing — the full 20px is
26
+ * a BOOKED successor with the recorded throttle number).
27
+ * The deep saturate lands at the LOW end of the 1.5-1.8 band: the Apple 1.8 is
28
+ * measured over a NEUTRAL backdrop; glass-ui's deep tier sits over warm-aurora,
29
+ * and the warm-cream light-concentration ceiling (AX.W52 D19 — a saturate that
30
+ * over-juices a colored substrate reads as a garish smear) keeps it just-rich.
31
+ * The deepest BLUR carries the "more glass" read; the saturate stays restrained.
32
+ */
33
+ :root {
34
+ /* The Apple-range deep ENDPOINTS — the radius + saturate the deep tier reaches
35
+ at full depth (`--glass-depth: 1`). The calm `floating` rung (13px / 1.18)
36
+ is the depth-0 floor; the deep recipe LERPs between the two on `--glass-depth`
37
+ so the axis is a genuine driver, not a literal. */
38
+ --glass-blur-deep-radius: 16px; /* in [14,20], STRICTLY > calm floating 13px */
39
+ --glass-saturate-deep: 1.5; /* >= 1.5 (toward Apple 1.8), > calm floating 1.18 */
40
+
41
+ /* The deep blur RADIUS — LERPed from the calm floating radius (depth 0) to the
42
+ Apple-deep radius (depth 1) on `--glass-depth`, THEN scaled by the ONE
43
+ `--glass-level` clarity scalar (the W54 seam reaches the deep plate, so the
44
+ opaque escape + the a11y brackets compose: at `--glass-level: 0` the deep
45
+ blur resolves blur(0), the same solid floor). NOT a parallel recipe — the
46
+ deep blur COMPOSES `var(--glass-level)` exactly like every calm rung, and
47
+ reads `var(--glass-depth)` so a host dials the depth on any ancestor. */
48
+ --glass-blur-deep-active-radius:
49
+ calc(
50
+ (
51
+ var(--glass-blur-floating-radius)
52
+ + (var(--glass-blur-deep-radius) - var(--glass-blur-floating-radius))
53
+ * var(--glass-depth)
54
+ )
55
+ * var(--glass-level)
56
+ );
57
+ /* The deep SATURATE — LERPed from the calm floating saturate (1.18, depth 0)
58
+ to the deep saturate (depth 1) on `--glass-depth`. The saturate is the
59
+ light-concentration lift (chroma-only — it LIFTS the backdrop's existing
60
+ chroma, it does NOT inject a hue; the warm-cream `--card` base is the same). */
61
+ --glass-saturate-deep-active:
62
+ calc(
63
+ 1.18 + (var(--glass-saturate-deep) - 1.18) * var(--glass-depth)
64
+ );
65
+
66
+ /* The composed deep backdrop-filter — the SEPARATE deep family. The calm
67
+ ladder never reads this; `.glass-deep` (glass/deep.css) is its only
68
+ consumer. The brightness companion mirrors the calm floating arm's
69
+ light-concentration (the calm floating carries saturate only; the deep
70
+ tier adds a small brightness lift for the thicker-glass read — still no
71
+ hue inject). */
72
+ --glass-blur-deep:
73
+ blur(var(--glass-blur-deep-active-radius))
74
+ saturate(var(--glass-saturate-deep-active));
75
+ }