@mkbabb/glass-ui 4.0.1 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/dist/{CardAction-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
  2. package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
  3. package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
  4. package/dist/ContextMenuContent-CMWn6huB.js +90 -0
  5. package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
  6. package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
  7. package/dist/DialogContent-D8U9ZfWS.js +121 -0
  8. package/dist/DialogFooter-DoLy0ewI.js +80 -0
  9. package/dist/DialogScrollContent-BMekN7gq.js +93 -0
  10. package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
  11. package/dist/HoverCardContent-DAmGYglo.js +88 -0
  12. package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
  13. package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
  14. package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
  15. package/dist/Input-CyU4_hIC.js +57 -0
  16. package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
  17. package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
  18. package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
  19. package/dist/PagerDots-CYlqVFd4.js +196 -0
  20. package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
  21. package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
  22. package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
  23. package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
  24. package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
  25. package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
  26. package/dist/Separator-Cf9-JFgi.js +44 -0
  27. package/dist/Switch-uf-UKPA2.js +49 -0
  28. package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
  29. package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
  30. package/dist/TooltipProvider-QQVM_80r.js +109 -0
  31. package/dist/animated-digit.js +2 -2
  32. package/dist/api/index.d.ts +16 -32
  33. package/dist/api/types-extra.d.ts +33 -0
  34. package/dist/api.js +2 -2
  35. package/dist/aurora.js +629 -269
  36. package/dist/badge-Bt14yURi.js +72 -0
  37. package/dist/badge.js +1 -1
  38. package/dist/border-progress.js +49 -57
  39. package/dist/button-D1W9PrzI.js +130 -0
  40. package/dist/button.js +1 -1
  41. package/dist/canvas.js +2 -3
  42. package/dist/card.js +1 -1
  43. package/dist/carousel.js +235 -106
  44. package/dist/chipVariants-BJQ0I2kB.js +18 -0
  45. package/dist/collapsible.js +1 -1
  46. package/dist/color-B9jZdhJX.js +116 -0
  47. package/dist/color.js +2 -2
  48. package/dist/command.js +1 -1
  49. package/dist/completion-seal.d.ts +1 -0
  50. package/dist/completion-seal.js +89 -0
  51. package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
  52. package/dist/components/custom/aurora/composables/color.d.ts +13 -0
  53. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  54. package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
  55. package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
  56. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
  57. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
  58. package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
  59. package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
  60. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  61. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -1
  62. package/dist/components/custom/aurora/index.d.ts +1 -1
  63. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  64. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
  65. package/dist/components/custom/border-progress/index.d.ts +1 -1
  66. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  67. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  68. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  69. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  70. package/dist/components/custom/concentric/Concentric.vue.d.ts +15 -12
  71. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
  72. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
  73. package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
  74. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
  75. package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
  76. package/dist/components/custom/concentric/constants.d.ts +69 -24
  77. package/dist/components/custom/concentric/index.d.ts +2 -2
  78. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
  79. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
  80. package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
  81. package/dist/components/custom/configurator/index.d.ts +1 -1
  82. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  83. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  84. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  85. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  86. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  87. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  88. package/dist/components/custom/constellation/constants.d.ts +33 -0
  89. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  90. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  91. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  92. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  93. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  94. package/dist/components/custom/constellation/index.d.ts +5 -5
  95. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  96. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  97. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  98. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  99. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  100. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  101. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  102. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  103. package/dist/components/custom/deck/constants.d.ts +14 -0
  104. package/dist/components/custom/deck/index.d.ts +8 -0
  105. package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +4 -3
  106. package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
  107. package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
  108. package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
  109. package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
  110. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
  111. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
  112. package/dist/components/custom/dock/composables/index.d.ts +3 -0
  113. package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
  114. package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
  115. package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
  116. package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
  117. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  118. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
  119. package/dist/components/custom/dock/constants.d.ts +32 -17
  120. package/dist/components/custom/dock/index.d.ts +8 -2
  121. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
  122. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
  123. package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
  124. package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
  125. package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
  126. package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
  127. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
  128. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
  129. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
  130. package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
  131. package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
  132. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
  133. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
  134. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
  135. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  136. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  137. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +61 -0
  138. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  139. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
  140. package/dist/components/custom/dot-matrix/constants.d.ts +72 -0
  141. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  142. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  143. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  144. package/dist/components/custom/easing/EasingPicker.vue.d.ts +2 -2
  145. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
  146. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  147. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
  148. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
  149. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
  150. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
  151. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
  152. package/dist/components/custom/fourier-field/constants.d.ts +114 -4
  153. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  154. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  155. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  156. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  157. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +9 -1
  158. package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
  159. package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
  160. package/dist/components/custom/goo-blob/constants.d.ts +26 -1
  161. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  162. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  163. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  164. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  165. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -1
  166. package/dist/components/custom/goo-blob/types.d.ts +86 -1
  167. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  168. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  169. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +79 -0
  170. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
  171. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  172. package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -0
  173. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  174. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +13 -0
  175. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
  176. package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
  177. package/dist/components/custom/goo-filter/index.d.ts +1 -0
  178. package/dist/components/custom/handmark/brush.d.ts +17 -17
  179. package/dist/components/custom/handmark/constants.d.ts +28 -8
  180. package/dist/components/custom/handmark/geometry.d.ts +34 -1
  181. package/dist/components/custom/handmark/index.d.ts +1 -1
  182. package/dist/components/custom/icon-chip/types.d.ts +10 -0
  183. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  184. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  185. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  186. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  187. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  188. package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +18 -0
  189. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  190. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
  191. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
  192. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -0
  193. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  194. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  195. package/dist/components/custom/paper-grid/constants.d.ts +95 -0
  196. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  197. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  198. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  199. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  200. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  201. package/dist/components/custom/search/index.d.ts +2 -0
  202. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  203. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  204. package/dist/components/custom/selectable-chip/chipVariants.d.ts +39 -0
  205. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  206. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -0
  207. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  208. package/dist/components/custom/split-chars/index.d.ts +1 -0
  209. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +8 -6
  210. package/dist/components/custom/tabs/constants.d.ts +28 -2
  211. package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
  212. package/dist/components/custom/timeline/geometry.d.ts +0 -8
  213. package/dist/components/custom/toggle-chip/index.d.ts +15 -4
  214. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -17
  215. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  216. package/dist/components/ui/_shared/index.d.ts +2 -0
  217. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  218. package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
  219. package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
  220. package/dist/components/ui/badge/index.d.ts +1 -0
  221. package/dist/components/ui/button/Button.vue.d.ts +1 -0
  222. package/dist/components/ui/button/index.d.ts +1 -1
  223. package/dist/components/ui/card/Card.vue.d.ts +46 -1
  224. package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
  225. package/dist/components/ui/card/index.d.ts +1 -1
  226. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
  227. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
  228. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +1 -1
  229. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  230. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  231. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  232. package/dist/components/ui/dialog/DialogContent.vue.d.ts +9 -0
  233. package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
  234. package/dist/components/ui/drawer/constants.d.ts +8 -6
  235. package/dist/components/ui/drawer/index.d.ts +12 -2
  236. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  237. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  238. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  239. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  240. package/dist/components/ui/select/SelectContent.vue.d.ts +12 -0
  241. package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
  242. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  243. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  244. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  245. package/dist/composables/color/index.d.ts +2 -0
  246. package/dist/composables/color/useAccentTone.d.ts +34 -0
  247. package/dist/composables/dom/index.d.ts +1 -0
  248. package/dist/composables/dom/useDragVelocity.d.ts +46 -0
  249. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  250. package/dist/composables/glass/wave/index.d.ts +4 -0
  251. package/dist/composables/glass/wave/waveField.d.ts +115 -0
  252. package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
  253. package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
  254. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
  255. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  256. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
  257. package/dist/composables/glass/webgpu/index.d.ts +2 -1
  258. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
  259. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
  260. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  261. package/dist/composables/motion/core/index.d.ts +7 -0
  262. package/dist/composables/motion/core/useHaptic.d.ts +48 -0
  263. package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
  264. package/dist/composables/motion/index.d.ts +2 -0
  265. package/dist/composables/motion/scrollReader.d.ts +25 -0
  266. package/dist/composables/motion/springPresets.d.ts +19 -1
  267. package/dist/composables/motion/suite.d.ts +2 -2
  268. package/dist/composables/motion/useBloomUp.d.ts +97 -0
  269. package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
  270. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  271. package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
  272. package/dist/composables/motion/useGooMorph.d.ts +72 -0
  273. package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
  274. package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
  275. package/dist/composables/motion/useLiquidPress.d.ts +12 -0
  276. package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
  277. package/dist/composables/motion/useMorphField.d.ts +157 -0
  278. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  279. package/dist/composables/motion/useScrollPin.d.ts +49 -0
  280. package/dist/composables/motion/useScrollScene.d.ts +67 -0
  281. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  282. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  283. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  284. package/dist/composables/sidebar/index.d.ts +4 -1
  285. package/dist/composables/sidebar/types.d.ts +68 -3
  286. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  287. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  288. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  289. package/dist/composables/virtual/index.d.ts +4 -0
  290. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  291. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  292. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  293. package/dist/concentric.js +552 -309
  294. package/dist/configurator.js +2 -2
  295. package/dist/confirm-dialog.js +62 -47
  296. package/dist/constellation.js +635 -235
  297. package/dist/context-menu.js +2 -2
  298. package/dist/controls.js +2 -2
  299. package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -0
  300. package/dist/dark.js +1 -1
  301. package/dist/data-table.js +1 -1
  302. package/dist/deck.d.ts +1 -0
  303. package/dist/deck.js +105 -0
  304. package/dist/dialog.js +4 -3
  305. package/dist/dock.js +1320 -631
  306. package/dist/dockContext-gFVS2gMg.js +18 -0
  307. package/dist/dom.js +7 -6
  308. package/dist/dot-flow-field.js +1268 -387
  309. package/dist/dot-matrix.d.ts +1 -0
  310. package/dist/dot-matrix.js +774 -0
  311. package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
  312. package/dist/drawer.js +106 -96
  313. package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
  314. package/dist/dropdown-menu.js +1 -1
  315. package/dist/easing.js +188 -176
  316. package/dist/expandable-container.js +43 -21
  317. package/dist/fading-scroll.js +1 -1
  318. package/dist/flow.glsl-DqEGRpl4.js +4 -0
  319. package/dist/forms.js +64 -62
  320. package/dist/fourier-field.js +1069 -178
  321. package/dist/fourier-math.js +1 -1
  322. package/dist/glass-panel.js +2 -2
  323. package/dist/glass-ui.css +1 -1
  324. package/dist/glass-ui.js +164 -119
  325. package/dist/goo-blob.js +175 -1230
  326. package/dist/goo-dot-matrix.d.ts +1 -0
  327. package/dist/goo-dot-matrix.js +811 -0
  328. package/dist/handmark.js +137 -94
  329. package/dist/header-ribbon.js +1 -1
  330. package/dist/hover-card.js +1 -1
  331. package/dist/hover-popover.js +1 -1
  332. package/dist/icon-chip.js +1 -1
  333. package/dist/icon-tooltip.js +1 -1
  334. package/dist/index.d.ts +5 -0
  335. package/dist/instrument-chassis.js +1 -1
  336. package/dist/keyboard.js +1 -1
  337. package/dist/label.js +1 -1
  338. package/dist/labeled-field.js +70 -60
  339. package/dist/metric-badge.js +1 -1
  340. package/dist/metric-cell.js +1 -1
  341. package/dist/metric-stack.js +12 -3
  342. package/dist/motion-core.js +59 -34
  343. package/dist/motion-curves.js +30 -14
  344. package/dist/motion.js +231 -96
  345. package/dist/notification.js +1 -1
  346. package/dist/number-field.js +1 -1
  347. package/dist/pager-dots.js +2 -91
  348. package/dist/paper-backdrop.js +1 -1
  349. package/dist/paper-grid.d.ts +1 -0
  350. package/dist/paper-grid.js +761 -0
  351. package/dist/paperGrid-CXCSMbZ1.js +191 -0
  352. package/dist/popover.js +1 -1
  353. package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
  354. package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
  355. package/dist/progress.js +1 -1
  356. package/dist/pulse.js +2 -2
  357. package/dist/reactive.js +2 -2
  358. package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
  359. package/dist/scrollReader-rc3Ns_NM.js +42 -0
  360. package/dist/scrolling-text.js +1 -1
  361. package/dist/search.js +162 -306
  362. package/dist/select.js +3 -3
  363. package/dist/selectable-chip.d.ts +1 -0
  364. package/dist/selectable-chip.js +48 -0
  365. package/dist/separator.js +1 -1
  366. package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
  367. package/dist/sheet.js +1 -1
  368. package/dist/sidebar.js +216 -114
  369. package/dist/slider-CcICPe3u.js +149 -0
  370. package/dist/slider.js +1 -1
  371. package/dist/sortable-list.js +3 -3
  372. package/dist/spectrum-walk-cBNSx_zm.js +33 -0
  373. package/dist/springPresets-DfoQ6XRY.js +64 -0
  374. package/dist/stacked-icons.js +54 -39
  375. package/dist/styles/animations.css +13 -3
  376. package/dist/styles/cards.css +271 -2
  377. package/dist/styles/completion-seal.css +131 -0
  378. package/dist/styles/components.css +1 -4
  379. package/dist/styles/configurator.css +221 -1
  380. package/dist/styles/critical-partition.mjs +66 -11
  381. package/dist/styles/deferred.css +4 -0
  382. package/dist/styles/dock/adaptive-legibility.css +119 -0
  383. package/dist/styles/dock/cta-seat.css +87 -0
  384. package/dist/styles/dock/density.css +167 -6
  385. package/dist/styles/dock/fission-bridge.css +552 -0
  386. package/dist/styles/dock/layers.css +90 -78
  387. package/dist/styles/dock/morph-bridge.css +67 -18
  388. package/dist/styles/dock/morph.css +57 -118
  389. package/dist/styles/dock/overflow.css +12 -0
  390. package/dist/styles/dock/search.css +68 -0
  391. package/dist/styles/dock/shape.css +250 -0
  392. package/dist/styles/dock/shell.css +24 -8
  393. package/dist/styles/dock/stack-rail.css +352 -0
  394. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  395. package/dist/styles/dock-controls/icon-button.css +46 -0
  396. package/dist/styles/dock-controls/triggers.css +23 -1
  397. package/dist/styles/dock-controls.css +18 -0
  398. package/dist/styles/dock.css +27 -2
  399. package/dist/styles/drawer.css +166 -0
  400. package/dist/styles/glass/accent-tone.css +66 -0
  401. package/dist/styles/glass/control-surfaces.css +167 -0
  402. package/dist/styles/glass/glass-atom.css +244 -0
  403. package/dist/styles/glass/glass-capsule.css +143 -0
  404. package/dist/styles/glass/glass-chip.css +215 -0
  405. package/dist/styles/glass/ladder.css +67 -17
  406. package/dist/styles/glass/liquid-enter.css +252 -0
  407. package/dist/styles/glass/liquid-morph.css +850 -0
  408. package/dist/styles/glass/material.css +70 -1
  409. package/dist/styles/glass/reveal.css +22 -2
  410. package/dist/styles/glass/rim.css +31 -9
  411. package/dist/styles/glass/surfaces.css +81 -150
  412. package/dist/styles/glass.css +21 -0
  413. package/dist/styles/icon-chip.css +45 -0
  414. package/dist/styles/index.css +26 -0
  415. package/dist/styles/jubilance.css +65 -0
  416. package/dist/styles/motion/morph-field.css +229 -0
  417. package/dist/styles/paper.css +230 -14
  418. package/dist/styles/scroll-choreography.css +135 -78
  419. package/dist/styles/scroll-chrome.css +123 -0
  420. package/dist/styles/scroll-driven.css +38 -0
  421. package/dist/styles/segmented-tabs.css +110 -40
  422. package/dist/styles/select.css +151 -0
  423. package/dist/styles/theme/bridges.css +22 -0
  424. package/dist/styles/theme/radius.css +18 -1
  425. package/dist/styles/tokens/color-radius.css +14 -4
  426. package/dist/styles/tokens/dark-arm.css +94 -12
  427. package/dist/styles/tokens/glass-deep.css +33 -4
  428. package/dist/styles/tokens/glass-fx.css +122 -1
  429. package/dist/styles/tokens/glass.css +226 -34
  430. package/dist/styles/tokens/light-dark.css +3 -3
  431. package/dist/styles/tokens/offsets.css +27 -0
  432. package/dist/styles/tokens/property-regs.css +277 -0
  433. package/dist/styles/tokens/scale-paper.css +86 -30
  434. package/dist/styles/tokens/scheme-motion.css +106 -133
  435. package/dist/styles/tokens/scheme-spring.css +239 -0
  436. package/dist/styles/tokens/scroll-tokens.css +15 -15
  437. package/dist/styles/tokens/shadow.css +73 -13
  438. package/dist/styles/tokens/sizing-config.css +110 -0
  439. package/dist/styles/tokens/sizing.css +55 -104
  440. package/dist/styles/tokens.css +14 -2
  441. package/dist/styles/typography/semantic.css +18 -5
  442. package/dist/styles/utilities/a11y-overrides.css +20 -5
  443. package/dist/styles/utilities/base-misc.css +52 -0
  444. package/dist/styles/utilities/btn.css +84 -3
  445. package/dist/styles/utilities/components.css +31 -6
  446. package/dist/styles/utilities/metal.css +26 -0
  447. package/dist/switch.js +1 -1
  448. package/dist/tabs.js +199 -182
  449. package/dist/timeline.js +241 -206
  450. package/dist/toast.js +1 -1
  451. package/dist/toggle-chip.js +14 -41
  452. package/dist/toggle-group.js +1 -1
  453. package/dist/tooltip.js +1 -1
  454. package/dist/typewriter.js +2 -2
  455. package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
  456. package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
  457. package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
  458. package/dist/useControlSize-DAZ062x7.js +9 -0
  459. package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
  460. package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
  461. package/dist/useDragVelocity-CjcfX3dA.js +57 -0
  462. package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
  463. package/dist/useGooMorph-Cs13NgYL.js +104 -0
  464. package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
  465. package/dist/useHaptic-CPz5BT9I.js +134 -0
  466. package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
  467. package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
  468. package/dist/useMorphField-ogBM7ubT.js +141 -0
  469. package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
  470. package/dist/useScrollChrome-JuImi1DM.js +258 -0
  471. package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
  472. package/dist/useSpringPress-VM9RgVq3.js +36 -0
  473. package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
  474. package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
  475. package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
  476. package/dist/virtual.d.ts +1 -0
  477. package/dist/virtual.js +225 -0
  478. package/dist/watercolor-dot.js +107 -74
  479. package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
  480. package/package.json +140 -9
  481. package/src/styles/animations.css +13 -3
  482. package/src/styles/cards.css +271 -2
  483. package/src/styles/completion-seal.css +131 -0
  484. package/src/styles/configurator.css +221 -1
  485. package/src/styles/critical-partition.mjs +66 -11
  486. package/src/styles/dock/adaptive-legibility.css +119 -0
  487. package/src/styles/dock/cta-seat.css +87 -0
  488. package/src/styles/dock/density.css +167 -6
  489. package/src/styles/dock/fission-bridge.css +552 -0
  490. package/src/styles/dock/layers.css +90 -78
  491. package/src/styles/dock/morph-bridge.css +67 -18
  492. package/src/styles/dock/morph.css +57 -118
  493. package/src/styles/dock/overflow.css +12 -0
  494. package/src/styles/dock/search.css +68 -0
  495. package/src/styles/dock/shape.css +250 -0
  496. package/src/styles/dock/shell.css +24 -8
  497. package/src/styles/dock/stack-rail.css +352 -0
  498. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  499. package/src/styles/dock-controls/icon-button.css +46 -0
  500. package/src/styles/dock-controls/triggers.css +23 -1
  501. package/src/styles/dock-controls.css +18 -0
  502. package/src/styles/dock.css +27 -2
  503. package/src/styles/drawer.css +164 -0
  504. package/src/styles/glass/accent-tone.css +66 -0
  505. package/src/styles/glass/control-surfaces.css +167 -0
  506. package/src/styles/glass/glass-atom.css +244 -0
  507. package/src/styles/glass/glass-capsule.css +143 -0
  508. package/src/styles/glass/glass-chip.css +215 -0
  509. package/src/styles/glass/ladder.css +67 -17
  510. package/src/styles/glass/liquid-enter.css +252 -0
  511. package/src/styles/glass/liquid-morph.css +850 -0
  512. package/src/styles/glass/material.css +70 -1
  513. package/src/styles/glass/reveal.css +22 -2
  514. package/src/styles/glass/rim.css +31 -9
  515. package/src/styles/glass/surfaces.css +81 -150
  516. package/src/styles/glass.css +21 -0
  517. package/src/styles/icon-chip.css +45 -0
  518. package/src/styles/index.css +26 -0
  519. package/src/styles/jubilance.css +65 -0
  520. package/src/styles/motion/morph-field.css +229 -0
  521. package/src/styles/paper.css +230 -14
  522. package/src/styles/scroll-choreography.css +135 -78
  523. package/src/styles/scroll-chrome.css +123 -0
  524. package/src/styles/scroll-driven.css +38 -0
  525. package/src/styles/segmented-tabs.css +110 -36
  526. package/src/styles/select.css +151 -0
  527. package/src/styles/theme/bridges.css +22 -0
  528. package/src/styles/theme/radius.css +18 -1
  529. package/src/styles/tokens/color-radius.css +14 -4
  530. package/src/styles/tokens/dark-arm.css +94 -12
  531. package/src/styles/tokens/glass-deep.css +33 -4
  532. package/src/styles/tokens/glass-fx.css +122 -1
  533. package/src/styles/tokens/glass.css +226 -34
  534. package/src/styles/tokens/light-dark.css +3 -3
  535. package/src/styles/tokens/offsets.css +27 -0
  536. package/src/styles/tokens/property-regs.css +277 -0
  537. package/src/styles/tokens/scale-paper.css +86 -30
  538. package/src/styles/tokens/scheme-motion.css +106 -133
  539. package/src/styles/tokens/scheme-spring.css +239 -0
  540. package/src/styles/tokens/scroll-tokens.css +15 -15
  541. package/src/styles/tokens/shadow.css +73 -13
  542. package/src/styles/tokens/sizing-config.css +110 -0
  543. package/src/styles/tokens/sizing.css +55 -104
  544. package/src/styles/tokens.css +14 -2
  545. package/src/styles/typography/semantic.css +18 -5
  546. package/src/styles/utilities/a11y-overrides.css +20 -5
  547. package/src/styles/utilities/base-misc.css +52 -0
  548. package/src/styles/utilities/btn.css +84 -3
  549. package/src/styles/utilities/components.css +31 -6
  550. package/src/styles/utilities/metal.css +26 -0
  551. package/dist/ContextMenuContent-uWnVxDab.js +0 -85
  552. package/dist/DialogContent-DcKK8k9i.js +0 -103
  553. package/dist/DialogFooter-BZNX5aVr.js +0 -165
  554. package/dist/HoverCardContent-b2uaAMRR.js +0 -83
  555. package/dist/Input-h9v5LeXf.js +0 -55
  556. package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
  557. package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
  558. package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
  559. package/dist/Separator-pKF0oA4M.js +0 -37
  560. package/dist/Switch-CwYNf8bo.js +0 -47
  561. package/dist/TooltipProvider-rzvnXz60.js +0 -104
  562. package/dist/badge-D9XWW4GT.js +0 -53
  563. package/dist/button-DYCUa-tH.js +0 -126
  564. package/dist/color-DweYl7pE.js +0 -86
  565. package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
  566. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  567. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  568. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  569. package/dist/createCanvasLifecycle-CHD5XrDW.js +0 -82
  570. package/dist/dockContext-BNfyPLe9.js +0 -17
  571. package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
  572. package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
  573. package/dist/slider-DVb4HXU-.js +0 -142
  574. package/dist/springPresets-CFQGQfdl.js +0 -40
  575. package/dist/styles/dock/rail-extend.css +0 -397
  576. package/dist/useLiquidPress-kfb4KX79.js +0 -39
  577. package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
  578. package/dist/useRAFLoop-UYa4zoiN.js +0 -109
  579. package/dist/useSpringPress-BsqPr7FJ.js +0 -34
  580. package/src/styles/dock/rail-extend.css +0 -397
  581. /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
  582. /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  583. /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
  584. /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
  585. /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
  586. /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
  587. /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
  588. /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
  589. /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
  590. /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
  591. /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
  592. /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
  593. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
  594. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
  595. /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
  596. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
  597. /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
  598. /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
  599. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
  600. /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
  601. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
  602. /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
  603. /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
  604. /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
  605. /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
  606. /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
@@ -91,12 +91,45 @@
91
91
  opacity-only register. */
92
92
  --glass-blur-dock-radius: 9px;
93
93
 
94
+ /* ── Per-rung SATURATE — the CANONICAL named saturate register (BC.W-GLASS-
95
+ LEGIBILITY-MEASURED, the speedtest-AX BC-W10 fold) ───────────────────────
96
+ The saturate term is the LOAD-BEARING glass knob (research/apple-glass.md §4:
97
+ the apple.com nav rides `saturate(1.8)` — the highest term, blur moderate).
98
+ Each `--glass-saturate-{tier}` is the library's canonical saturation for that
99
+ rung — a NAMED, `:root`-overridable input the composed `--glass-blur-{tier}`
100
+ reads THROUGH, the SAME substitution-vs-redeclaration discipline as the
101
+ `--glass-opacity-{tier}` alpha register above. A `:root { --glass-saturate-
102
+ quiet: … }` override re-resolves the rung's saturation with ZERO recipe edit
103
+ (the speedtest "dark cards" chronic + the apple-glass saturate-as-load-bearing
104
+ lever). The values here ARE the W52-D19 bake (wash/quiet/resting 1.05,
105
+ floating 1.18, overlay 1.2) become the token defaults — so the composed blur
106
+ is BYTE-IDENTICAL to the old baked literal (proof:glass-cal / proof:card-tier-
107
+ alpha stay GREEN by construction). The deep-tier `--glass-saturate-deep` 1.8
108
+ ceiling (glass-deep.css) is the upper bound; no rung saturate exceeds it. The
109
+ dark arm (tokens/dark-arm.css) re-declares this register with the W-DARK-
110
+ MATERIAL luminosity lift — the SAME named tokens, per-mode (the plain per-mode
111
+ pair idiom). The brightness() companions stay baked (this fold mints ONLY the
112
+ saturate knob). Machine-locked by `proof:glass-legibility` L7. */
113
+ --glass-saturate-wash: 1.4;
114
+ --glass-saturate-quiet: 1.4;
115
+ --glass-saturate-resting: 1.4;
116
+ --glass-saturate-floating: 1.6;
117
+ --glass-saturate-overlay: 1.6;
118
+ /* W-NAV-DOCK-FIX — the dock's named light-concentration saturate. The dock is a
119
+ calm chrome strip (the wash/quiet/resting register 1.4, NOT the floating 1.6).
120
+ Mirrors the dark arm's dock saturate; the single retune knob in both modes. The
121
+ light dock was the ONLY light surface with no saturate companion — over the flat
122
+ warm-cream page the un-saturated backdrop-filter pulled the cream toward neutral
123
+ (the flat-slab gray read). */
124
+ --glass-saturate-dock: 1.4;
125
+
94
126
  /* AX.W54 — each blur radius is scaled by the ONE `--glass-level` scalar (in
95
127
  lockstep with the opacity seam above): level=1 byte-identical; level=0 →
96
128
  blur(0) (the clean solid floor with the opacity); level>1 → more diffusion.
97
- The per-rung `saturate()`/`brightness()` companions are UNTOUCHED (the level
129
+ The per-rung `saturate()` companion reads the named `--glass-saturate-{tier}`
130
+ knob (BC.W-GLASS-LEGIBILITY-MEASURED); `brightness()` stays baked (the level
98
131
  scales the RADIUS, not the saturation — W52's calm light-concentration). */
99
- --glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(1.05);
132
+ --glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(var(--glass-saturate-wash));
100
133
  /* AV.W15 M1 — the `quiet` rung gained `saturate(1.05) brightness(1.02)`
101
134
  so the lower ladder reads with the same saturation life as `resting`+
102
135
  (Apple: Liquid Glass concentrates light, it does not desaturate). The
@@ -104,34 +137,93 @@
104
137
  between bare `wash` and `resting` without over-brightening the rung.
105
138
  The `prefers-reduced-transparency: reduce` bracket at glass.css maps
106
139
  `--glass-blur-quiet: none`, so this whole chain drops with the blur. */
107
- --glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(1.05) brightness(1.02);
108
- --glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(1.05);
140
+ --glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(var(--glass-saturate-quiet)) brightness(1.02);
141
+ --glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(var(--glass-saturate-resting));
109
142
  /* AX.W52 D19 — the floating/overlay backdrop saturate tamed from 1.4/1.5 to a
110
143
  gentle ~1.18/1.2 (real liquid glass concentrates light ~1.1–1.2×; the prior
111
144
  1.4–1.5× over-juiced the bleed-through into a garish smear over a colored
112
145
  substrate). wash/quiet/resting already sit at 1.05 — untouched. */
113
- --glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(1.18);
114
- --glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(1.2);
146
+ --glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(var(--glass-saturate-floating));
147
+ --glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(var(--glass-saturate-overlay));
115
148
  /* Dock blur composes blur() only — no saturate. */
116
- --glass-blur-dock: blur(calc(var(--glass-blur-dock-radius) * var(--glass-level)));
117
-
118
- /* AX.W52 — the GLASS BUTTON blur. The `glass`/`glass-wash` button variants
119
- compose the `.glass-wash` tier (`--glass-blur-wash` = blur(1px)) — a
120
- sub-perceptual diffusion authored for a small detail TILE, not a button
121
- the user reads as "glass." A button is a hero control: it wants a real
122
- glass blur. `--glass-blur-btn` lifts the variant onto the `quiet`-tier
123
- radius (10px — a genuine liquid-glass diffusion) with the same gentle
124
- `saturate(1.05) brightness(1.02)` light-concentration the quiet rung
125
- carries (NOT a colour-juice). The wash TILE tier (MetricCell et al.) keeps
126
- its 1px — only the glass BUTTON variants reach for this. */
127
- --glass-blur-btn: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(1.05) brightness(1.02);
149
+ /* W-NAV-DOCK-FIX — the dock concentrates light like every other tier (apple-glass
150
+ §4): the saturate lifts the warm-cream chroma THROUGH the plate, the small
151
+ brightness is the light-concentration the quiet rung carries. The blur RADIUS is
152
+ untouched (the W-GLASS-CAL dial). Compositor-only (backdrop-filter is a paint op);
153
+ the prefers-reduced-transparency bracket maps --glass-blur-dock: none, so the
154
+ saturate drops with the blur (no separate carve owed). */
155
+ --glass-blur-dock:
156
+ blur(calc(var(--glass-blur-dock-radius) * var(--glass-level)))
157
+ saturate(var(--glass-saturate-dock))
158
+ brightness(1.02);
159
+
160
+ /* AX.W52 → BC.W-GLASS-LEGIBILITY-MEASURED — the GLASS BUTTON blur, lifted to
161
+ the FLOATING-tier "more glass" register. The `glass`/`glass-wash` button
162
+ variants compose the `.glass-wash` tier (`--glass-blur-wash` = blur(1px)) — a
163
+ sub-perceptual diffusion authored for a small detail TILE, not a button the
164
+ user reads as "glass." A button is a hero control: it wants a real glass blur.
165
+ The AX.W52 landing sat at the quiet-tier 8px/saturate(1.05) — "quieter than
166
+ even the calm floating tier" (apple-ios27.md §4.2). This wave lifts it to the
167
+ FLOATING-tier register (apple-ios27.md §5 bake-table "button blur lift to
168
+ 10-13 / 1.18"): the floating radius (13px, in the 10-13 band) + the named
169
+ `--glass-saturate-floating` knob (1.18) — a genuinely MORE-glass transmissive
170
+ capsule revealing the craft beneath (the apple-glass SUPERSET: apple.com's web
171
+ CTA is a SOLID blue capsule, zero blur — research/apple-glass.md §1.4). The
172
+ `brightness(1.02)` light-concentration the quiet rung carried is KEPT (no
173
+ colour-juice). Clean break — the old 8px/quiet value is GONE, no alias. The
174
+ wash TILE tier (MetricCell et al.) keeps its 1px — only the glass BUTTON
175
+ variants reach for this. Machine-locked by `proof:glass-legibility` L3. */
176
+ --glass-blur-btn: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(var(--glass-saturate-floating)) brightness(1.02);
128
177
 
129
178
  /* Dock-specific opacity (0.42) — lighter than `resting` (0.65) so the dock
130
179
  reads as a translucent overlay rather than a panel, backdrop bleed
131
180
  visible through it. Consumed by `.glass-dock` via `--glass-bg-dock`. The
132
181
  value holds the surface register against the tightened 11px blur so the
133
182
  dock reads as painted chrome, not a frosted ghost. */
134
- --glass-opacity-dock: 0.42;
183
+ /* BD.W-DOCK-CORE (D3) — the dock base alpha lifts 0.42 → 0.50 (margin-insurance for
184
+ the warm-chromatic darken: the base composite chroma closes a notch before any tint
185
+ engages). Stays the lightest chrome tier (below resting 0.65), mode-invariant. */
186
+ --glass-opacity-dock: 0.50;
187
+
188
+ /* Dialog-specific opacity (0.68) — BC.W-DIALOG-GLASS. The iOS-27 control-
189
+ center modal register: SEE-THROUGH frosted glass that reveals the page
190
+ beneath, NOT the floating-tier near-opaque slab (0.80 read as "NOT glassy
191
+ at all"). 0.68 sits between `resting` (0.65 — transparent enough to read
192
+ through) and `floating` (0.80 — opaque enough for AA legibility against
193
+ the bright bucket), so the modal floats with the FLOATING-tier lift (edge/
194
+ rim/under-shadow) while reading at the RESTING-tier transparency. The
195
+ LIBRARY iOS-modal identity (presets-in-consumers — a consumer retunes
196
+ `--glass-bg-dialog` via :root). Consumed by DialogContent.vue, which re-
197
+ declares `--glass-bg-floating: var(--glass-bg-dialog)` on the dialog scope
198
+ (the self-re-point recipe, the dock precedent — NOT a raw rung override
199
+ that won't re-compose). */
200
+ --glass-opacity-dialog: 0.68;
201
+
202
+ /* Sheet-specific opacity (0.74) — BE.W-SHEET-TRANSLUCENT. The iOS-27 bottom-
203
+ sheet register: SEE-THROUGH frosted glass whose lifted crown reveals the
204
+ page/album grid beneath, NOT the near-opaque overlay slab (0.95 read as "not
205
+ glassy"). 0.74 sits BETWEEN the dialog 0.68 (transparent enough that the
206
+ backdrop reads through) and the overlay 0.95 (opaque enough for AA body text
207
+ against a busy grid) — a sheet is content-bearing, so it sits a hair above the
208
+ dialog. The composed `--glass-bg-sheet` rides the SAME oklab-tint-wrapped
209
+ recipe `--glass-bg-dialog` speaks, so the W55 bright-bucket darken + the
210
+ `--glass-level` opaque escape + the dark-arm saturate companions reach the
211
+ sheet with ZERO new compositing seam. Drawer + Sheet self-re-point onto it.
212
+ Presets-in-consumers — a consumer retunes `--glass-opacity-sheet` via :root. */
213
+ --glass-opacity-sheet: 0.74;
214
+
215
+ /* Clear-specific opacity (0.58) — BE.W-CLEAR-VARIANT. The Apple-Clear MAXIMALLY
216
+ translucent register — the clearest rung the library ships, BELOW the dialog
217
+ 0.68 (the now-playing pill, the Control-Center clear tile: the album grid
218
+ bleeds genuinely through). It is STRUCTURALLY coupled to a MANDATORY legibility
219
+ scrim (the `surface="clear"` decoration carries a `::before` backdrop-dim whose
220
+ strength derives from the sampled `--glass-backdrop-luma`) — a scrim-less clear
221
+ plate is FORBIDDEN by construction (the Apple Clear contract: near-transparent →
222
+ the text needs a scrim floor). 0.58 sits in the Apple-Clear band (clearer than
223
+ the modal 0.68, still a plate not a ghost — > 0.45). The composed
224
+ `--glass-bg-clear` rides the SAME oklab-tint-wrapped recipe so the W55 darken +
225
+ the `--glass-level` escape reach it. Presets-in-consumers — retune via :root. */
226
+ --glass-opacity-clear: 0.58;
135
227
 
136
228
  /* Dock foreground over an animated backdrop. A dock floating over an
137
229
  aurora/animated surface (`value.js` dock-over-aurora, a slides routed
@@ -178,22 +270,73 @@
178
270
  second hand-rolled recipe. */
179
271
  --glass-bg-dock: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-dock)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
180
272
  --glass-bg-chassis: color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-chassis)) * var(--glass-level)) * 100%), transparent);
273
+ /* BC.W-DIALOG-GLASS — the dialog plate bg, composed the SAME oklab-tint-wrapped
274
+ way the dock self-re-points (so the BC.W-ADAPTIVE-RECONCILE darken reaches the
275
+ modal over a bright backdrop without a second hand-rolled recipe). The 0.68
276
+ opacity is the iOS-27 control-center register (see `--glass-opacity-dialog`).
277
+ DialogContent.vue re-declares `--glass-bg-floating: var(--glass-bg-dialog)` on
278
+ the dialog scope (the documented retune path — the self-re-point, NOT a raw
279
+ rung override) so the floating edge/rim/under-shadow LIFT survives the
280
+ transparency drop. */
281
+ --glass-bg-dialog: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-dialog)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
282
+ /* BE.W-SHEET-TRANSLUCENT — the bottom-sheet plate bg, composed the SAME oklab-
283
+ tint-wrapped way the dialog self-re-points (so the W55 darken + the dark-arm
284
+ saturate companion reach the see-through sheet without a second hand-rolled
285
+ recipe — byte-isomorphic to `--glass-bg-dialog`, only the opacity token
286
+ differs). Drawer + SheetContent re-declare `--glass-bg-floating:
287
+ var(--glass-bg-sheet)` on their scope (the self-re-point recipe — NOT a raw
288
+ rung override that won't re-compose) so the floating edge/rim/under-shadow LIFT
289
+ survives the transparency drop. */
290
+ --glass-bg-sheet: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-sheet)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
291
+ /* BE.W-CLEAR-VARIANT — the maximally-translucent Apple-Clear plate bg, composed
292
+ the SAME oklab-tint-wrapped way (so the W55 darken reaches the clear plate).
293
+ The `surface="clear"` decoration reads this fill AND couples its MANDATORY
294
+ `::before` legibility scrim (the scrim dims the BACKDROP — distinct from this
295
+ PLATE tint; the two axes stay disjoint). Byte-isomorphic to `--glass-bg-dialog`,
296
+ only the (lower) clear opacity differs. */
297
+ --glass-bg-clear: color-mix(in oklab, color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-clear)) * var(--glass-level)) * 100%), transparent), var(--glass-tint-source) var(--glass-tint-strength));
298
+
299
+ /* ── BE.W-TINTED-CHIP — the per-INSTANCE PLATE-FILL tint axis (`--glass-fill-tint`
300
+ / `--glass-fill-strength`) ──────────────────────────────────────────────────
301
+ The THIRD per-instance chromatic axis (BESIDE the rim `--glass-accent` and the
302
+ whole-plate legibility `--glass-tint-source`): `--glass-fill-tint` tints the
303
+ plate BACKGROUND BODY toward a consumer DATA hue, so a glass surface reads as
304
+ COLORED GLASS (a green chip, a violet facet) without re-declaring the composed
305
+ `--glass-bg-*` token. DISTINCT-not-fork of `--glass-accent` (which tints only the
306
+ RIM + the `::before` specular CORE — file-line-disjoint): the fill writes the
307
+ plate body, the accent writes the rim; a chip may carry BOTH. The mix is `in
308
+ oklab` (the perceptual glass-tint family — NOT the in-srgb `--surface-tint-*`
309
+ brand-overlay fence, AW.W26). It rides ON TOP of the W55 legibility composite
310
+ (the plate still darkens-over-light for AA AND carries the data hue — additive,
311
+ never a replacement). At the `@property` defaults (transparent + 0%) the body is
312
+ byte-identical to today (`color-mix(in oklab, X, transparent 0%)` ≡ X — the no-op
313
+ floor). `<GlassChip :tone>` is the first-class consumer (BE.W-TINTED-CHIP
314
+ component) — the fill is read on the surface, never written into a `--glass-bg-*`
315
+ token here. The `@property` registration is below (the typed no-op floor). */
181
316
 
182
- /* Composed borders — foreground-tinted. BA.W-NO-GRAY L3 — the warm RIM
183
- re-anchor (G9). The rim IS warm (it rides --foreground, hsl-24 warm ink),
184
- but at 8-12% α over a near-white plate it was a near-invisible hairline —
185
- the plate had no carved silhouette, reading as a borderless gray rectangle
186
- (the user's "no gray ... for cards"). The α lifts a few points per rung so
187
- the warm hairline CARVES the silhouette (the WWDC25 "rim that defines the
188
- silhouette" device, on the warm-ink register). Still bounded low — the rim
189
- is a whisper that defines the edge, never a hard rule. The source stays
190
- --foreground (the warm-ink tint, NOT a new color); only the presence lifts. */
191
- --glass-border-wash: color-mix(in srgb, var(--foreground) 11%, transparent);
192
- --glass-border-quiet: color-mix(in srgb, var(--foreground) 13%, transparent);
193
- --glass-border-resting: color-mix(in srgb, var(--foreground) 16%, transparent);
194
- --glass-border-floating: color-mix(in srgb, var(--foreground) 19%, transparent);
195
- --glass-border-overlay: color-mix(in srgb, var(--foreground) 22%, transparent);
196
- --glass-border-dock: color-mix(in srgb, var(--foreground) 14%, transparent);
317
+ /* Composed borders — foreground-tinted. BC.W-BLACK-BAR D2 — the perimeter
318
+ hairline is RETIRED as the silhouette device. The old 11-22% warm-ink rung
319
+ borders rode --foreground (oklab L 0.216, near-black warm ink); over a
320
+ near-white cream plate the full-perimeter hairline read as the user's "wtf
321
+ is this black bar" — worst on the TOP edge where the bright white catch-light
322
+ ring sat just inside a dark border (a bright rim and a dark line at war on the
323
+ SAME edge). The silhouette is now carved by the directional rim
324
+ (--glass-rim-top catch-light + --glass-rim-bottom under-shadow, glass-fx.css),
325
+ NOT by this perimeter ink. So each rung drops to ≤5% α — the warm hue stays
326
+ --foreground (the warm-not-tinted identity, BA.W-NO-GRAY), only the PRESENCE
327
+ falls below the read-threshold so the hairline can never read as a bar. The
328
+ +1% on the two heaviest rungs (floating/overlay) holds a faint tier-presence
329
+ ordering without crossing the threshold (apple-ios27.md §5 "top ≤4%" target). */
330
+ --glass-border-wash: color-mix(in srgb, var(--foreground) 4%, transparent);
331
+ --glass-border-quiet: color-mix(in srgb, var(--foreground) 4%, transparent);
332
+ --glass-border-resting: color-mix(in srgb, var(--foreground) 4%, transparent);
333
+ --glass-border-floating: color-mix(in srgb, var(--foreground) 5%, transparent);
334
+ --glass-border-overlay: color-mix(in srgb, var(--foreground) 5%, transparent);
335
+ /* W-NAV-DOCK-FIX — the dock is FLOATING chrome over an UNKNOWN backdrop (unlike a
336
+ content card on the page), so it earns a readable warm-INK hairline (the iOS-27
337
+ edge-rim layer). 8% warm-ink is still a whisper, never a black bar (--foreground
338
+ H≈56° → a WARM rim, never a gray line). */
339
+ --glass-border-dock: color-mix(in srgb, var(--foreground) 8%, transparent);
197
340
  --glass-border: var(--glass-border-quiet);
198
341
 
199
342
  /* ── The control REST register (BA.W-SURFACE-AXIS scope 7) ────────────────
@@ -218,3 +361,52 @@
218
361
  under-shadow/overlay-scrim) lives in tokens/glass-fx.css (carved at BB.W-CARVE4
219
362
  — the next adjacent :root{} block in the cascade). */
220
363
  }
364
+
365
+ /* ── BE.W5 foundation — the typed per-instance axes (the @property no-op floors) ──
366
+ Registered HERE beside the §8 glass tokens (the canonical @property idiom home is
367
+ tokens/property-regs.css; these foundation axes live with the §8 ladder they
368
+ compose so the BE Tier-0 foundation is one self-contained partial). Each mirrors the
369
+ `--glass-accent`/`--glass-accent-strength` registration shape: a `<color>` HUE +
370
+ a `<percentage>` STRENGTH, both `inherits: true` (a host sets them on any ancestor
371
+ to retune the sub-tree) with the NEUTRAL no-op identity (`transparent` / `0%`) so
372
+ an unset surface is byte-identical to today — `color-mix(in oklab, X, <hue> 0%)` ≡ X.
373
+ A malformed override CLAMPS to the initial-value (the typed fail-safe). */
374
+
375
+ /* BE.W-AMBIENT-TINT — the backdrop hue the glass absorbs. `useGlassBackdropLuminance`
376
+ writes a sampled `oklch()` modal hue here (at a FIXED sub-perceptual chroma — a HUE
377
+ event, never the backdrop's saturation); a gray backdrop writes `transparent` (the
378
+ room tints nothing). The `transparent` initial-value is the neutral identity. */
379
+ @property --glass-ambient-hue {
380
+ syntax: "<color>";
381
+ inherits: true;
382
+ initial-value: transparent;
383
+ }
384
+
385
+ /* The opt-in ambient bias knob — the EXISTING `--glass-tint-source` self-engage
386
+ re-point biases toward `--glass-ambient-hue` at this strength (bounded ≤ 8% in the
387
+ cascade — sub-perceptual under the W55 `--glass-tint-strength-aa` bound). `0%`
388
+ default is the no-op floor (the un-biased `--glass-tint-ink`); the dock wires it on. */
389
+ @property --glass-ambient-strength {
390
+ syntax: "<percentage>";
391
+ inherits: true;
392
+ initial-value: 0%;
393
+ }
394
+
395
+ /* BE.W-TINTED-CHIP — the per-INSTANCE PLATE-FILL tint. A complete `<color>` data hue
396
+ the plate BODY mixes toward (`in oklab`, ON TOP of the W55 legibility composite —
397
+ DISTINCT from the rim `--glass-accent`). `transparent` is the neutral identity (the
398
+ no-op floor: `color-mix(in oklab, X, transparent 0%)` ≡ X). */
399
+ @property --glass-fill-tint {
400
+ syntax: "<color>";
401
+ inherits: true;
402
+ initial-value: transparent;
403
+ }
404
+
405
+ /* The fill-tint bounded strength — `0%` default (an unset surface carries no fill
406
+ tint, byte-identical to today). A consumer (`<GlassChip :strength>`) dials it for a
407
+ louder colored-glass chip; the body ink stays legible (the W-ON-GLASS-FG floor). */
408
+ @property --glass-fill-strength {
409
+ syntax: "<percentage>";
410
+ inherits: true;
411
+ initial-value: 0%;
412
+ }
@@ -98,8 +98,8 @@
98
98
  BA.W-NO-GRAY L1 — the LIGHT arm DECOUPLES off the near-achromatic page onto the
99
99
  warm-cream plate hsl(36 48% 97%) (LOCKSTEP color-radius.css --card) so the light
100
100
  glass plate reads warm-not-gray; the dark arm is UNCHANGED (W-DARK-MATERIAL's). */
101
- --card: light-dark(hsl(36 48% 97%), hsl(24 8% 16%));
102
- --popover: light-dark(hsl(36 48% 97%), hsl(24 8% 16%));
101
+ --card: light-dark(hsl(30 85% 96%), hsl(26 22% 17%));
102
+ --popover: light-dark(hsl(30 85% 96%), hsl(26 22% 17%));
103
103
  --surface-public-data-panel: light-dark(hsl(44 16% 96%), hsl(36 9% 18%));
104
104
 
105
105
  /* BA.W-DARK-MATERIAL scope 4 — the chromatic dark --primary (legendre-violet house
@@ -131,7 +131,7 @@
131
131
  --section-color-2: light-dark(oklch(0.484 0.163 265.5), oklch(0.718 0.107 268.4));
132
132
  --section-color-3: light-dark(oklch(0.542 0.089 222.8), oklch(0.767 0.091 219.9));
133
133
  --section-color-4: light-dark(oklch(0.551 0.088 171.1), oklch(0.776 0.105 172.6));
134
- --section-color-5: light-dark(oklch(0.623 0.124 69.6), oklch(0.813 0.109 78.2));
134
+ --section-color-5: light-dark(oklch(0.530 0.124 69.6), oklch(0.813 0.109 78.2));
135
135
  --section-color-6: light-dark(oklch(0.579 0.201 30.4), oklch(0.693 0.151 28.1));
136
136
  --section-color-7: light-dark(oklch(0.532 0.180 317.5), oklch(0.739 0.134 318.1));
137
137
  --section-color-8: light-dark(oklch(0.520 0.176 8.4), oklch(0.709 0.142 2.3));
@@ -108,6 +108,33 @@
108
108
  it claimed to back never read it — PopoverContent paints `p-4` directly), so
109
109
  it was an orphan declaration the golden-padding cut prunes. */
110
110
  --panel-padding: 0.375rem;
111
+
112
+ /* BC.W-OVERLAY-UNIFORM — the token-BACKING of the raw floating-overlay
113
+ literals (the token-beats-prop seam). Each defaults to the byte-identical
114
+ HEAD magnitude so a bare overlay is pixel-unchanged; a consumer retunes
115
+ EVERY overlay's min-width / max-block / tooltip type / select chevron from
116
+ ONE `:root` override (the uniformity payoff). These are token-backings of
117
+ EXISTING raw literals (`min-w-32` / `max-h-[60vh]` / tooltip `text-sm` /
118
+ chevron `opacity-50`) — NOT a new compositing register (the `surface` axis
119
+ + the φ `--overlay-pad-*` ladder are THREADED, not re-minted). */
120
+ /* `min-w-32` = 32 × 0.25rem = 8rem — the dropdown/select/context-menu min-width. */
121
+ --overlay-min-width: 8rem;
122
+ /* The collision-bounded max-block ceiling the dropdown (`max-h-[60vh]`) +
123
+ command list (`max-h-[300px]`) read. Defaults to 60vh — the viewport-
124
+ relative ceiling so a long menu scrolls inside the overlay rather than
125
+ running off-screen. (The Select precompiled `[data-slot="select-content"]`
126
+ max-height in select.css is the BA.W-EMISSION consumer-reach floor — KEPT,
127
+ not threaded here; see the census on-the-line row.) */
128
+ --overlay-max-block: 60vh;
129
+ /* The tooltip type rung — the golden quiet caption register (√φ ladder), the
130
+ token-backing of the bare `text-sm` on TooltipContent (the overlay share of
131
+ class 3). Defaults to `--type-caption` so the compact tooltip chip reads the
132
+ house caption scale; a consumer retunes the tooltip type from `:root`. */
133
+ --tooltip-text: var(--type-caption);
134
+ /* The Select trigger chevron opacity — the token-backing of the bare
135
+ `opacity-50` so a consumer retunes the affordance prominence from `:root`. */
136
+ --select-chevron-opacity: 0.5;
137
+
111
138
  --chart-height-compact: 15rem;
112
139
  --chart-height-default: 22.5rem;
113
140
  --chart-height-large: 25rem;