@mkbabb/glass-ui 4.0.0 → 4.1.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.
- package/README.md +3 -1
- package/dist/CardAction-8whJrLWt.js +268 -0
- package/dist/{CommandShortcut-DdtWXxOK.js → CommandShortcut-D3yxgHNn.js} +25 -14
- package/dist/ConfiguratorRow-CaP7U3ZA.js +143 -0
- package/dist/ContextMenuContent-B3ZsheLV.js +90 -0
- package/dist/{ContextMenuSubContent-B0Vs6atR.js → ContextMenuSubContent-DDRID3qC.js} +28 -33
- package/dist/{DataTable-C464Zbqd.js → DataTable-Bc9kUtu_.js} +4 -4
- package/dist/{DialogContent-DDE6pQBU.js → DialogContent-6JtTB5x2.js} +11 -8
- package/dist/DialogFooter-9phqcRIS.js +80 -0
- package/dist/DialogScrollContent-TTuovQst.js +93 -0
- package/dist/{FadingScroll-DwNnvKMs.js → FadingScroll-DLRbH5Xr.js} +1 -1
- package/dist/HoverCardContent-Bel1gdLZ.js +88 -0
- package/dist/{HoverPopover-Dpzwvc4t.js → HoverPopover-BcIxvyqZ.js} +2 -2
- package/dist/{IconChip-BDw1j5mu.js → IconChip-DhbdGdFQ.js} +2 -1
- package/dist/{IconTooltip-DSjasZIt.js → IconTooltip-B0zimd2H.js} +1 -1
- package/dist/Input-Cg9DF62r.js +57 -0
- package/dist/{MetricBadge-BpC0R_Ec.js → MetricBadge-RHdBP72w.js} +1 -1
- package/dist/Notification-CphK7AAm.js +43 -0
- package/dist/NumberFieldContent-D8cXeyO4.js +140 -0
- package/dist/PagerDots-Cjx96la-.js +98 -0
- package/dist/{PopoverContent-BTorlp--.js → PopoverContent-DL7E6vJP.js} +4 -4
- package/dist/{Progress-hAT4gqGH.js → Progress-CnqB7gLm.js} +4 -4
- package/dist/{ScrollingText-CUVFTWk2.js → ScrollingText-CTZbA_cG.js} +2 -2
- package/dist/{SelectScrollDownButton-C1jb3b3K.js → SelectScrollDownButton-DAKCBEdW.js} +65 -61
- package/dist/{SelectSeparator-DK2y1Bun.js → SelectSeparator-C2UGOkXF.js} +1 -1
- package/dist/Separator-DQcwC2TR.js +44 -0
- package/dist/Switch-B8RscmRu.js +49 -0
- package/dist/Toaster-D9qIHjBI.js +274 -0
- package/dist/ToggleGroupItem-BLtr3TJq.js +170 -0
- package/dist/TooltipProvider-BJ_Y5EGX.js +109 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +21 -33
- package/dist/api/types-extra.d.ts +37 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +1231 -260
- package/dist/badge.js +1 -1
- package/dist/border-progress.d.ts +1 -0
- package/dist/border-progress.js +98 -0
- package/dist/button-5dY1Dvhd.js +125 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -3
- package/dist/card.js +2 -2
- package/dist/carousel.js +93 -110
- package/dist/collapsible.js +1 -1
- package/dist/color-Cs0-oxYL.js +116 -0
- package/dist/color.js +2 -2
- package/dist/command.js +1 -1
- package/dist/compile-nZ1xVYTp.js +19 -0
- package/dist/completion-seal.d.ts +1 -0
- package/dist/completion-seal.js +89 -0
- package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
- package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
- package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
- package/dist/components/custom/aurora/composables/color.d.ts +13 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +31 -0
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +37 -0
- package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +20 -2
- package/dist/components/custom/aurora/constants/renderMode.d.ts +77 -18
- package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
- package/dist/components/custom/aurora/index.d.ts +2 -1
- package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
- package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +18 -0
- package/dist/components/custom/border-progress/constants.d.ts +59 -0
- package/dist/components/custom/border-progress/index.d.ts +4 -0
- package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
- package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
- package/dist/components/custom/completion-seal/constants.d.ts +46 -0
- package/dist/components/custom/completion-seal/index.d.ts +4 -0
- package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +18 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +22 -0
- package/dist/components/custom/concentric/composables/ringField.d.ts +85 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +14 -0
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
- package/dist/components/custom/concentric/constants.d.ts +67 -0
- package/dist/components/custom/concentric/index.d.ts +5 -0
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
- package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
- package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
- package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
- package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
- package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
- package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
- package/dist/components/custom/constellation/constants.d.ts +33 -0
- package/dist/components/custom/constellation/constellationField.d.ts +31 -1
- package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
- package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
- package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
- package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
- package/dist/components/custom/constellation/index.d.ts +5 -5
- package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
- package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
- package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
- package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
- package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
- package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
- package/dist/components/custom/deck/constants.d.ts +14 -0
- package/dist/components/custom/deck/index.d.ts +8 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +25 -4
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
- package/dist/components/custom/dock/DockStack.vue.d.ts +65 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +4 -2
- package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +155 -0
- package/dist/components/custom/dock/composables/index.d.ts +2 -0
- package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +11 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
- package/dist/components/custom/dock/constants.d.ts +18 -14
- package/dist/components/custom/dock/index.d.ts +5 -2
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +42 -0
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +83 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +39 -0
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +35 -0
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +31 -0
- package/dist/components/custom/dot-flow-field/constants.d.ts +69 -0
- package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +4 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
- package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
- package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +52 -0
- package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
- package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +27 -0
- package/dist/components/custom/dot-matrix/constants.d.ts +58 -0
- package/dist/components/custom/dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
- package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
- package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +80 -0
- package/dist/components/custom/easing/constants.d.ts +28 -0
- package/dist/components/custom/easing/index.d.ts +3 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +43 -40
- package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +15 -0
- package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +20 -0
- package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +42 -0
- package/dist/components/custom/fourier-field/constants.d.ts +64 -0
- package/dist/components/custom/fourier-field/index.d.ts +23 -18
- package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +13 -3
- package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +18 -11
- package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
- package/dist/components/custom/goo-blob/constants.d.ts +1 -1
- package/dist/components/custom/goo-blob/index.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/types.d.ts +36 -0
- package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +50 -0
- package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +35 -0
- package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
- package/dist/components/custom/goo-dot-matrix/constants.d.ts +76 -0
- package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +11 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +3 -0
- package/dist/components/custom/handmark/HandMark.vue.d.ts +1 -1
- package/dist/components/custom/icon-chip/types.d.ts +11 -1
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +3 -1
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
- package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
- package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +90 -0
- package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +16 -0
- package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +19 -0
- package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
- package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
- package/dist/components/custom/paper-grid/constants.d.ts +57 -0
- package/dist/components/custom/paper-grid/index.d.ts +5 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
- package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
- package/dist/components/custom/search/index.d.ts +2 -0
- package/dist/components/custom/search/searchVariants.d.ts +19 -0
- package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
- package/dist/components/custom/selectable-chip/index.d.ts +2 -0
- package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +23 -0
- package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
- package/dist/components/custom/spa-view/index.d.ts +2 -0
- package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
- package/dist/components/custom/split-chars/index.d.ts +1 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +12 -0
- package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
- package/dist/components/custom/tabs/constants.d.ts +20 -2
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +30 -17
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
- package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
- package/dist/components/ui/badge/index.d.ts +1 -1
- package/dist/components/ui/button/Button.vue.d.ts +5 -2
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/card/Card.vue.d.ts +79 -4
- package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
- package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
- package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
- package/dist/components/ui/card/index.d.ts +3 -1
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
- package/dist/components/ui/command/Command.vue.d.ts +1 -1
- package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
- package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
- package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
- package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +7 -8
- package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
- package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
- package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
- package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
- package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
- package/dist/components/ui/drawer/constants.d.ts +45 -0
- package/dist/components/ui/drawer/index.d.ts +23 -15
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
- package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
- package/dist/components/ui/focus-scope/index.d.ts +2 -0
- package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/input/Input.vue.d.ts +3 -0
- package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
- package/dist/components/ui/select/SelectContent.vue.d.ts +4 -1
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
- package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
- package/dist/components/ui/toast/use-toast.d.ts +14 -0
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
- package/dist/composables/color/index.d.ts +2 -0
- package/dist/composables/color/useAccentTone.d.ts +34 -0
- package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
- package/dist/composables/glass/index.d.ts +5 -2
- package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
- package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
- package/dist/composables/glass/useVizChoreography.d.ts +123 -0
- package/dist/composables/glass/vSpecular.d.ts +2 -0
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +10 -0
- package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
- package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
- package/dist/composables/glass/webgpu/index.d.ts +2 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +75 -0
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +85 -0
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
- package/dist/composables/motion/core/index.d.ts +4 -0
- package/dist/composables/motion/index.d.ts +4 -0
- package/dist/composables/motion/scrollReader.d.ts +25 -0
- package/dist/composables/motion/springPresets.d.ts +20 -1
- package/dist/composables/motion/useCharStagger.d.ts +44 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +84 -0
- package/dist/composables/motion/useDragMorph.d.ts +77 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
- package/dist/composables/motion/useLiquidPress.d.ts +71 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
- package/dist/composables/motion/useNumericTransition.d.ts +3 -3
- package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
- package/dist/composables/motion/useScrollChrome.d.ts +58 -0
- package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
- package/dist/composables/motion/useSpringPress.d.ts +5 -5
- package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
- package/dist/composables/sidebar/index.d.ts +4 -1
- package/dist/composables/sidebar/types.d.ts +68 -3
- package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
- package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
- package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
- package/dist/composables/virtual/index.d.ts +4 -0
- package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
- package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
- package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
- package/dist/concentric.d.ts +1 -0
- package/dist/concentric.js +836 -0
- package/dist/configurator.js +3 -2
- package/dist/confirm-dialog.js +62 -49
- package/dist/constellation.js +635 -235
- package/dist/context-menu.js +3 -3
- package/dist/controls.js +2 -2
- package/dist/createCanvasLifecycle-Gh45Ce-p.js +93 -0
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck.d.ts +1 -0
- package/dist/deck.js +105 -0
- package/dist/dialog.js +4 -3
- package/dist/dock.js +819 -568
- package/dist/{dockContext-Bu1Avy-a.js → dockContext-BNfyPLe9.js} +1 -1
- package/dist/dom.js +5 -5
- package/dist/dot-flow-field.d.ts +1 -0
- package/dist/dot-flow-field.js +894 -0
- package/dist/dot-matrix.d.ts +1 -0
- package/dist/dot-matrix.js +630 -0
- package/dist/dotMatrixField-D_x9_1qq.js +48 -0
- package/dist/drawer.d.ts +1 -0
- package/dist/drawer.js +380 -0
- package/dist/{dropdown-menu-BJ7E9js_.js → dropdown-menu-aJmV5SqE.js} +82 -79
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.d.ts +1 -0
- package/dist/easing.js +475 -0
- package/dist/expandable-container.js +46 -21
- package/dist/fading-scroll.js +1 -1
- package/dist/flow.glsl-B2P7e0MT.js +4 -0
- package/dist/focus-scope.d.ts +1 -0
- package/dist/focus-scope.js +23 -0
- package/dist/forms.js +65 -63
- package/dist/fourier-field.js +831 -172
- package/dist/fourier-math.js +1 -1
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +187 -338
- package/dist/goo-blob.js +241 -692
- package/dist/goo-dot-matrix.d.ts +1 -0
- package/dist/goo-dot-matrix.js +591 -0
- package/dist/handmark.js +2 -2
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-chip.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +70 -60
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +1 -1
- package/dist/metric-stack.js +14 -9
- package/dist/motion-core.js +58 -36
- package/dist/motion-curves.js +11 -1
- package/dist/motion.js +90 -53
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +2 -91
- package/dist/paper-backdrop.js +1 -1
- package/dist/paper-grid.d.ts +1 -0
- package/dist/paper-grid.js +788 -0
- package/dist/popover.js +1 -1
- package/dist/{presets-BW2b-fr1.js → presets-CvOUqtdY.js} +3 -3
- package/dist/{compile-EXXzEr1q.js → procedural-color.wgsl-m7Zgv35j.js} +2 -156
- package/dist/progress.js +1 -1
- package/dist/pulse.js +2 -2
- package/dist/reactive.js +1 -1
- package/dist/resolveCanvasColor-yPyIpJt9.js +93 -0
- package/dist/scrollReader-DI1NWxUw.js +42 -0
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +162 -308
- package/dist/select.js +3 -3
- package/dist/selectable-chip.d.ts +1 -0
- package/dist/selectable-chip.js +65 -0
- package/dist/separator.js +1 -1
- package/dist/{sheet-CquRYOAw.js → sheet-B2flBfLH.js} +5 -5
- package/dist/sheet.js +1 -1
- package/dist/sidebar.js +216 -114
- package/dist/{slider-DQ95MET2.js → slider-2A0rPn79.js} +3 -3
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +2 -2
- package/dist/spa-view.d.ts +1 -0
- package/dist/spa-view.js +46 -0
- package/dist/spectrum-walk-BVzA7Biz.js +33 -0
- package/dist/{springPresets-WXaLbu8u.js → springPresets-Ce7OYCm9.js} +12 -6
- package/dist/styles/animations.css +46 -12
- package/dist/styles/border-progress.css +109 -0
- package/dist/styles/cards.css +145 -0
- package/dist/styles/completion-seal.css +131 -0
- package/dist/styles/components.css +2 -3
- package/dist/styles/configurator.css +55 -0
- package/dist/styles/critical-partition.mjs +162 -0
- package/dist/styles/critical.css +12 -0
- package/dist/styles/deferred.css +33 -0
- package/dist/styles/dock/cta-seat.css +87 -0
- package/dist/styles/dock/density.css +198 -0
- package/dist/styles/dock/layers.css +101 -29
- package/dist/styles/dock/morph-bridge.css +54 -18
- package/dist/styles/dock/morph.css +132 -7
- package/dist/styles/dock/overflow.css +28 -2
- package/dist/styles/dock/search.css +68 -0
- package/dist/styles/dock/shape.css +124 -0
- package/dist/styles/dock/shell.css +77 -21
- package/dist/styles/dock/stack-rail.css +264 -0
- package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/dist/styles/dock-controls/icon-button.css +14 -0
- package/dist/styles/dock.css +43 -1
- package/dist/styles/drawer.css +81 -35
- package/dist/styles/glass/accent-tone.css +66 -0
- package/dist/styles/glass/control-surfaces.css +167 -0
- package/dist/styles/glass/deep.css +44 -0
- package/dist/styles/glass/ladder.css +147 -41
- package/dist/styles/glass/material.css +78 -15
- package/dist/styles/glass/reveal.css +136 -0
- package/dist/styles/glass/rim.css +110 -0
- package/dist/styles/glass/surfaces.css +148 -129
- package/dist/styles/glass-refract.css +96 -44
- package/dist/styles/glass-specular-track.css +7 -0
- package/dist/styles/glass.css +13 -0
- package/dist/styles/hover-popover.css +7 -6
- package/dist/styles/icon-chip.css +77 -15
- package/dist/styles/index.css +36 -9
- package/dist/styles/instrument-chassis.css +66 -3
- package/dist/styles/scroll-choreography.css +300 -0
- package/dist/styles/scroll-chrome.css +123 -0
- package/dist/styles/scroll-driven.css +38 -0
- package/dist/styles/segmented-tabs.css +81 -14
- package/dist/styles/theme/bridges.css +33 -0
- package/dist/styles/theme/literals.css +11 -2
- package/dist/styles/theme/radius.css +24 -2
- package/dist/styles/tokens/color-radius.css +13 -3
- package/dist/styles/tokens/dark-arm.css +137 -32
- package/dist/styles/tokens/glass-deep.css +100 -0
- package/dist/styles/tokens/glass-fx.css +376 -0
- package/dist/styles/tokens/glass.css +131 -351
- package/dist/styles/tokens/light-dark.css +16 -3
- package/dist/styles/tokens/offsets.css +143 -0
- package/dist/styles/tokens/on-glass-fg.css +39 -0
- package/dist/styles/tokens/property-regs.css +260 -0
- package/dist/styles/tokens/scale-paper.css +168 -96
- package/dist/styles/tokens/scheme-motion.css +114 -38
- package/dist/styles/tokens/scroll-tokens.css +123 -0
- package/dist/styles/tokens/sizing-config.css +110 -0
- package/{src/styles/tokens/offsets-sizing.css → dist/styles/tokens/sizing.css} +92 -204
- package/dist/styles/tokens.css +14 -3
- package/dist/styles/typography/semantic.css +26 -13
- package/dist/styles/typography/utilities.css +22 -7
- package/dist/styles/utilities/a11y-overrides.css +20 -5
- package/dist/styles/utilities/animate.css +27 -24
- package/dist/styles/utilities/base-misc.css +307 -0
- package/dist/styles/utilities/base.css +47 -261
- package/dist/styles/utilities/btn.css +17 -4
- package/dist/styles/utilities/components.css +31 -6
- package/dist/styles/utilities/metal.css +215 -0
- package/dist/styles/utilities.css +14 -7
- package/dist/switch.js +1 -1
- package/dist/tabs.js +220 -107
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +10 -10
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +2 -2
- package/dist/uniformBridgeWGPU-CtAKl45L.js +1204 -0
- package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-CLrxicG9.js} +1 -1
- package/dist/useConfiguratorState-4xblKfwd.js +162 -0
- package/dist/useControlSize-SH1UmJCi.js +9 -0
- package/dist/useDockCtaReceive-DfFkmgL1.js +82 -0
- package/dist/useDragMorph-BUgAC-zK.js +102 -0
- package/dist/useFuzzySearch-DIhcYtcw.js +177 -0
- package/dist/useGpuSubstrate-4pTcp6mX.js +294 -0
- package/dist/useLiquidPress-BooG97RY.js +39 -0
- package/dist/usePointerVelocityField-QLsy3_kv.js +91 -0
- package/dist/useScrollChrome-D66AVP7C.js +258 -0
- package/dist/useSpring-C0jyvEJB.js +40 -0
- package/dist/useSpringMount-BWDnKIwh.js +71 -0
- package/dist/useSpringPress-B1-Czp-V.js +36 -0
- package/dist/{useTouchGate-28Tk2-t2.js → useTouchGate-CBZTD4SD.js} +1 -1
- package/dist/useViewTransition-CUI1nAgn.js +95 -0
- package/dist/vSpecular-EX7loENl.js +68 -0
- package/dist/vendor-B2qOlYY3.js +239 -0
- package/dist/virtual.d.ts +1 -0
- package/dist/virtual.js +225 -0
- package/dist/watercolor-dot.js +117 -74
- package/package.json +252 -28
- package/src/styles/animations.css +46 -12
- package/src/styles/border-progress.css +109 -0
- package/src/styles/cards.css +145 -0
- package/src/styles/completion-seal.css +131 -0
- package/src/styles/configurator.css +55 -0
- package/src/styles/critical-partition.mjs +162 -0
- package/src/styles/dock/cta-seat.css +87 -0
- package/src/styles/dock/density.css +198 -0
- package/src/styles/dock/layers.css +101 -29
- package/src/styles/dock/morph-bridge.css +54 -18
- package/src/styles/dock/morph.css +132 -7
- package/src/styles/dock/overflow.css +28 -2
- package/src/styles/dock/search.css +68 -0
- package/src/styles/dock/shape.css +124 -0
- package/src/styles/dock/shell.css +77 -21
- package/src/styles/dock/stack-rail.css +264 -0
- package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/src/styles/dock-controls/icon-button.css +14 -0
- package/src/styles/dock.css +43 -1
- package/src/styles/drawer.css +81 -35
- package/src/styles/glass/accent-tone.css +66 -0
- package/src/styles/glass/control-surfaces.css +167 -0
- package/src/styles/glass/deep.css +44 -0
- package/src/styles/glass/ladder.css +147 -41
- package/src/styles/glass/material.css +78 -15
- package/src/styles/glass/reveal.css +136 -0
- package/src/styles/glass/rim.css +110 -0
- package/src/styles/glass/surfaces.css +148 -129
- package/src/styles/glass-refract.css +96 -44
- package/src/styles/glass-specular-track.css +7 -0
- package/src/styles/glass.css +13 -0
- package/src/styles/hover-popover.css +7 -6
- package/src/styles/icon-chip.css +77 -15
- package/src/styles/index.css +27 -0
- package/src/styles/instrument-chassis.css +66 -3
- package/src/styles/scroll-choreography.css +300 -0
- package/src/styles/scroll-chrome.css +123 -0
- package/src/styles/scroll-driven.css +38 -0
- package/src/styles/segmented-tabs.css +81 -14
- package/src/styles/theme/bridges.css +33 -0
- package/src/styles/theme/literals.css +11 -2
- package/src/styles/theme/radius.css +24 -2
- package/src/styles/tokens/color-radius.css +13 -3
- package/src/styles/tokens/dark-arm.css +137 -32
- package/src/styles/tokens/glass-deep.css +100 -0
- package/src/styles/tokens/glass-fx.css +376 -0
- package/src/styles/tokens/glass.css +131 -351
- package/src/styles/tokens/light-dark.css +16 -3
- package/src/styles/tokens/offsets.css +143 -0
- package/src/styles/tokens/on-glass-fg.css +39 -0
- package/src/styles/tokens/property-regs.css +260 -0
- package/src/styles/tokens/scale-paper.css +168 -96
- package/src/styles/tokens/scheme-motion.css +114 -38
- package/src/styles/tokens/scroll-tokens.css +123 -0
- package/src/styles/tokens/sizing-config.css +110 -0
- package/{dist/styles/tokens/offsets-sizing.css → src/styles/tokens/sizing.css} +92 -204
- package/src/styles/tokens.css +14 -3
- package/src/styles/typography/semantic.css +26 -13
- package/src/styles/typography/utilities.css +22 -7
- package/src/styles/utilities/a11y-overrides.css +20 -5
- package/src/styles/utilities/animate.css +27 -24
- package/src/styles/utilities/base-misc.css +307 -0
- package/src/styles/utilities/base.css +47 -261
- package/src/styles/utilities/btn.css +17 -4
- package/src/styles/utilities/components.css +31 -6
- package/src/styles/utilities/metal.css +215 -0
- package/src/styles/utilities.css +14 -7
- package/dist/CardAction-XH4YBVEK.js +0 -158
- package/dist/ContextMenuContent-ON3x7cuk.js +0 -85
- package/dist/DialogFooter-8eZbdmPc.js +0 -165
- package/dist/HoverCardContent-DkMaQzH5.js +0 -83
- package/dist/Input-DVG_J0ne.js +0 -55
- package/dist/Notification-DKjKsQq8.js +0 -100
- package/dist/NumberFieldContent-1VtwDSgf.js +0 -145
- package/dist/Separator-BArl4OaB.js +0 -37
- package/dist/Switch-Dr--uLGH.js +0 -47
- package/dist/Toaster-Bm_HQSpc.js +0 -263
- package/dist/ToggleGroupItem-Dzk9hWsF.js +0 -157
- package/dist/TooltipProvider-B3MkB_8P.js +0 -104
- package/dist/button-BNDWhAZb.js +0 -81
- package/dist/check-njhk-vfu.js +0 -7
- package/dist/chevron-down-DKkxb4VV.js +0 -7
- package/dist/chevron-right-CPXbqQQz.js +0 -7
- package/dist/chevron-up-n_24SqI-.js +0 -7
- package/dist/color-DweYl7pE.js +0 -86
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
- package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
- package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
- package/dist/createLucideIcon-DydS2qgk.js +0 -43
- package/dist/minimize-2-BV31Ob_h.js +0 -38
- package/dist/resolveCanvasColor-BBiYfp8g.js +0 -11
- package/dist/search-BSGrf2Sk.js +0 -12
- package/dist/styles/dock/rail-extend.css +0 -397
- package/dist/useCanvas2D-ClrQuZtp.js +0 -96
- package/dist/useConfiguratorState-kiIlun8I.js +0 -303
- package/dist/useRAFLoop-CdwJ7284.js +0 -109
- package/dist/useSpecularTracking-Bo5su68i.js +0 -32
- package/dist/useSpringMount-CvopqiFr.js +0 -108
- package/dist/useViewTransition-COsPjQVZ.js +0 -47
- package/dist/x-BUwTKe50.js +0 -10
- package/src/styles/dock/rail-extend.css +0 -397
- /package/dist/{CollapsibleContent-C_s6fG7r.js → CollapsibleContent-68dEXIAl.js} +0 -0
- /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-CxsHSyMj.js} +0 -0
- /package/dist/{Label-Ck9SWEKM.js → Label-C2ejNWeC.js} +0 -0
- /package/dist/{ModalOverlay-CkPRRgl_.js → ModalOverlay-D1VrWyoi.js} +0 -0
- /package/dist/{PaperBackdrop-nBKe0vkB.js → PaperBackdrop-CqwjnfLv.js} +0 -0
- /package/dist/{SelectGroup-Dcczq44n.js → SelectGroup-BFiod7X2.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-CBt_VvXa.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
- /package/dist/{constants-BPOqYJAm.js → constants--C2DkLW8.js} +0 -0
- /package/dist/{createContext-B2RaZ-b8.js → createContext-CpBNTRMI.js} +0 -0
- /package/dist/{math-DeuJwLFx.js → math-Eb0w3LqU.js} +0 -0
- /package/dist/{menuItemVariants-DWRQXBxJ.js → menuItemVariants-D8VNHq22.js} +0 -0
- /package/dist/{prng-Cg22zv8g.js → prng-B-d9eYX8.js} +0 -0
- /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-CmjB9E32.js} +0 -0
- /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-Dbozzjgm.js} +0 -0
- /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BPRp33Im.js} +0 -0
- /package/dist/{useLiquidFlex-C12hXwOZ.js → useLiquidFlex-UmA6LMZu.js} +0 -0
- /package/dist/{useResizeObserver-V6nq5gJb.js → useResizeObserver-Bpoi7tRE.js} +0 -0
- /package/dist/{useResolveTokenColor-NUG2zYAW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
- /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-c3yxmH6a.js} +0 -0
- /package/dist/{useSurfaceAxis-CMnF2zHb.js → useSurfaceAxis-g0NloYEF.js} +0 -0
- /package/dist/{useTimer-B_PAasDL.js → useTimer-BHJOKr35.js} +0 -0
- /package/dist/{useUserInvalidAria-CDfJuakL.js → useUserInvalidAria-y5namzeE.js} +0 -0
- /package/dist/{useViewportReady-CvBcCYDf.js → useViewportReady-anbac3m6.js} +0 -0
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/* tokens/glass.css
|
|
2
|
-
§8 glassmorphism — the five-tier surface ladder (
|
|
2
|
+
§8 glassmorphism — the five-tier surface ladder (opacity/blur/saturate rungs +
|
|
3
|
+
composed bg/border) + the --glass-level axis + the control-REST register.
|
|
3
4
|
Carved from the tokens.css cascade root; @import-ed by tokens.css in
|
|
4
|
-
cascade order. Same :root cascade context as its siblings.
|
|
5
|
+
cascade order. Same :root cascade context as its siblings. The decorative/fx
|
|
6
|
+
tail (grain/specular/edge-light + the adaptive tint-source/backdrop-luma bucket +
|
|
7
|
+
fringe/curvature/chart-palette + the per-tier shadow/spine/under-shadow/overlay-
|
|
8
|
+
scrim) carved to tokens/glass-fx.css at BB.W-CARVE4 — @import-ed IMMEDIATELY AFTER
|
|
9
|
+
this partial so the two adjacent same-selector :root{} blocks resolve identically
|
|
10
|
+
(the dist is byte-isomorphic). */
|
|
5
11
|
:root {
|
|
6
12
|
/* ═══════════════════════════════════════════════
|
|
7
13
|
§8 GLASSMORPHISM — Five-tier surface ladder (v0.8.0)
|
|
@@ -18,7 +24,33 @@
|
|
|
18
24
|
breaking change. R3-spec §A.
|
|
19
25
|
═══════════════════════════════════════════════ */
|
|
20
26
|
|
|
21
|
-
/*
|
|
27
|
+
/* ── Per-tier alpha — the CANONICAL named opacity register (BB.W-CARD-TIER-ALPHA) ──
|
|
28
|
+
Each `--glass-opacity-{tier}` IS the library's canonical alpha for that tier —
|
|
29
|
+
a NAMED, documented input to the ONE compose recipe below, NOT a magic number
|
|
30
|
+
a consumer re-pins. The values here are the library IDENTITY: the warm-cream
|
|
31
|
+
glass ladder, alpha-monotonic (wash < quiet < resting < floating < overlay), with
|
|
32
|
+
the dock (0.42) + chassis (0.28) carrying their own footprint-calibrated rungs.
|
|
33
|
+
The dark arm (tokens/dark-arm.css) lifts each ~0.08 for read-weight over the
|
|
34
|
+
deeper canvas — the SAME named tokens, per-mode (the plain per-mode pair idiom).
|
|
35
|
+
|
|
36
|
+
A consumer that wants the LIBRARY register reads these named tokens (or composes
|
|
37
|
+
a `<Card tier>` rung) and re-pins NOTHING; a consumer whose surface needs a
|
|
38
|
+
divergent composited luminance (the speedtest dark-AA register: instrument 0.72 /
|
|
39
|
+
document 0.78) keeps that as a NAMED preset IN ITS OWN repo (presets-in-consumers)
|
|
40
|
+
— the library default is its identity, the consumer preset is the consumer's.
|
|
41
|
+
|
|
42
|
+
THE SUBSTITUTION-VS-INHERITANCE SEAM (the recurring trap, recorded). The composed
|
|
43
|
+
`--glass-bg-{tier}` below is declared HERE at `:root`, so a custom-property
|
|
44
|
+
substitution resolves at THIS element — overriding `--glass-opacity-{tier}` on a
|
|
45
|
+
DESCENDANT does NOT re-compose the inherited `--glass-bg-{tier}` (the value is
|
|
46
|
+
already resolved). A consumer that needs a per-scope tier alpha therefore RE-DECLARES
|
|
47
|
+
the composed `--glass-bg-{tier}` on the scope (the same recipe, the pinned alpha) —
|
|
48
|
+
the documented retune path, mirroring the dock's own `--glass-bg-dock` self-re-point.
|
|
49
|
+
The named alpha is the canonical INPUT; the per-scope `--glass-bg-*` re-declaration is
|
|
50
|
+
the sanctioned consumer pin. (The `--glass-level` recipe MECHANISM below is the
|
|
51
|
+
AX.W54 seam — UNTOUCHED by this register; this canonicalizes the alpha INPUTS only.)
|
|
52
|
+
Machine-locked by `proof:card-tier-alpha`. */
|
|
53
|
+
/* Opacity primitives — the per-tier canonical alpha (light arm). */
|
|
22
54
|
--glass-opacity-wash: 0.30;
|
|
23
55
|
--glass-opacity-quiet: 0.50;
|
|
24
56
|
--glass-opacity-resting: 0.65;
|
|
@@ -59,12 +91,38 @@
|
|
|
59
91
|
opacity-only register. */
|
|
60
92
|
--glass-blur-dock-radius: 9px;
|
|
61
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.05;
|
|
114
|
+
--glass-saturate-quiet: 1.05;
|
|
115
|
+
--glass-saturate-resting: 1.05;
|
|
116
|
+
--glass-saturate-floating: 1.18;
|
|
117
|
+
--glass-saturate-overlay: 1.2;
|
|
118
|
+
|
|
62
119
|
/* AX.W54 — each blur radius is scaled by the ONE `--glass-level` scalar (in
|
|
63
120
|
lockstep with the opacity seam above): level=1 byte-identical; level=0 →
|
|
64
121
|
blur(0) (the clean solid floor with the opacity); level>1 → more diffusion.
|
|
65
|
-
The per-rung `saturate()
|
|
122
|
+
The per-rung `saturate()` companion reads the named `--glass-saturate-{tier}`
|
|
123
|
+
knob (BC.W-GLASS-LEGIBILITY-MEASURED); `brightness()` stays baked (the level
|
|
66
124
|
scales the RADIUS, not the saturation — W52's calm light-concentration). */
|
|
67
|
-
--glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(
|
|
125
|
+
--glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(var(--glass-saturate-wash));
|
|
68
126
|
/* AV.W15 M1 — the `quiet` rung gained `saturate(1.05) brightness(1.02)`
|
|
69
127
|
so the lower ladder reads with the same saturation life as `resting`+
|
|
70
128
|
(Apple: Liquid Glass concentrates light, it does not desaturate). The
|
|
@@ -72,27 +130,34 @@
|
|
|
72
130
|
between bare `wash` and `resting` without over-brightening the rung.
|
|
73
131
|
The `prefers-reduced-transparency: reduce` bracket at glass.css maps
|
|
74
132
|
`--glass-blur-quiet: none`, so this whole chain drops with the blur. */
|
|
75
|
-
--glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(
|
|
76
|
-
--glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(
|
|
133
|
+
--glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(var(--glass-saturate-quiet)) brightness(1.02);
|
|
134
|
+
--glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(var(--glass-saturate-resting));
|
|
77
135
|
/* AX.W52 D19 — the floating/overlay backdrop saturate tamed from 1.4/1.5 to a
|
|
78
136
|
gentle ~1.18/1.2 (real liquid glass concentrates light ~1.1–1.2×; the prior
|
|
79
137
|
1.4–1.5× over-juiced the bleed-through into a garish smear over a colored
|
|
80
138
|
substrate). wash/quiet/resting already sit at 1.05 — untouched. */
|
|
81
|
-
--glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(
|
|
82
|
-
--glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(
|
|
139
|
+
--glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(var(--glass-saturate-floating));
|
|
140
|
+
--glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(var(--glass-saturate-overlay));
|
|
83
141
|
/* Dock blur composes blur() only — no saturate. */
|
|
84
142
|
--glass-blur-dock: blur(calc(var(--glass-blur-dock-radius) * var(--glass-level)));
|
|
85
143
|
|
|
86
|
-
/* AX.W52 — the GLASS BUTTON blur
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
144
|
+
/* AX.W52 → BC.W-GLASS-LEGIBILITY-MEASURED — the GLASS BUTTON blur, lifted to
|
|
145
|
+
the FLOATING-tier "more glass" register. The `glass`/`glass-wash` button
|
|
146
|
+
variants compose the `.glass-wash` tier (`--glass-blur-wash` = blur(1px)) — a
|
|
147
|
+
sub-perceptual diffusion authored for a small detail TILE, not a button the
|
|
148
|
+
user reads as "glass." A button is a hero control: it wants a real glass blur.
|
|
149
|
+
The AX.W52 landing sat at the quiet-tier 8px/saturate(1.05) — "quieter than
|
|
150
|
+
even the calm floating tier" (apple-ios27.md §4.2). This wave lifts it to the
|
|
151
|
+
FLOATING-tier register (apple-ios27.md §5 bake-table "button blur lift to
|
|
152
|
+
10-13 / 1.18"): the floating radius (13px, in the 10-13 band) + the named
|
|
153
|
+
`--glass-saturate-floating` knob (1.18) — a genuinely MORE-glass transmissive
|
|
154
|
+
capsule revealing the craft beneath (the apple-glass SUPERSET: apple.com's web
|
|
155
|
+
CTA is a SOLID blue capsule, zero blur — research/apple-glass.md §1.4). The
|
|
156
|
+
`brightness(1.02)` light-concentration the quiet rung carried is KEPT (no
|
|
157
|
+
colour-juice). Clean break — the old 8px/quiet value is GONE, no alias. The
|
|
158
|
+
wash TILE tier (MetricCell et al.) keeps its 1px — only the glass BUTTON
|
|
159
|
+
variants reach for this. Machine-locked by `proof:glass-legibility` L3. */
|
|
160
|
+
--glass-blur-btn: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(var(--glass-saturate-floating)) brightness(1.02);
|
|
96
161
|
|
|
97
162
|
/* Dock-specific opacity (0.42) — lighter than `resting` (0.65) so the dock
|
|
98
163
|
reads as a translucent overlay rather than a panel, backdrop bleed
|
|
@@ -101,6 +166,20 @@
|
|
|
101
166
|
dock reads as painted chrome, not a frosted ghost. */
|
|
102
167
|
--glass-opacity-dock: 0.42;
|
|
103
168
|
|
|
169
|
+
/* Dialog-specific opacity (0.68) — BC.W-DIALOG-GLASS. The iOS-27 control-
|
|
170
|
+
center modal register: SEE-THROUGH frosted glass that reveals the page
|
|
171
|
+
beneath, NOT the floating-tier near-opaque slab (0.80 read as "NOT glassy
|
|
172
|
+
at all"). 0.68 sits between `resting` (0.65 — transparent enough to read
|
|
173
|
+
through) and `floating` (0.80 — opaque enough for AA legibility against
|
|
174
|
+
the bright bucket), so the modal floats with the FLOATING-tier lift (edge/
|
|
175
|
+
rim/under-shadow) while reading at the RESTING-tier transparency. The
|
|
176
|
+
LIBRARY iOS-modal identity (presets-in-consumers — a consumer retunes
|
|
177
|
+
`--glass-bg-dialog` via :root). Consumed by DialogContent.vue, which re-
|
|
178
|
+
declares `--glass-bg-floating: var(--glass-bg-dialog)` on the dialog scope
|
|
179
|
+
(the self-re-point recipe, the dock precedent — NOT a raw rung override
|
|
180
|
+
that won't re-compose). */
|
|
181
|
+
--glass-opacity-dialog: 0.68;
|
|
182
|
+
|
|
104
183
|
/* Dock foreground over an animated backdrop. A dock floating over an
|
|
105
184
|
aurora/animated surface (`value.js` dock-over-aurora, a slides routed
|
|
106
185
|
control, bbnf) sits on a mid-luminance, shifting field where the muted
|
|
@@ -146,24 +225,36 @@
|
|
|
146
225
|
second hand-rolled recipe. */
|
|
147
226
|
--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));
|
|
148
227
|
--glass-bg-chassis: color-mix(in srgb, var(--card) calc((1 - (1 - var(--glass-opacity-chassis)) * var(--glass-level)) * 100%), transparent);
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
228
|
+
/* BC.W-DIALOG-GLASS — the dialog plate bg, composed the SAME oklab-tint-wrapped
|
|
229
|
+
way the dock self-re-points (so the BC.W-ADAPTIVE-RECONCILE darken reaches the
|
|
230
|
+
modal over a bright backdrop without a second hand-rolled recipe). The 0.68
|
|
231
|
+
opacity is the iOS-27 control-center register (see `--glass-opacity-dialog`).
|
|
232
|
+
DialogContent.vue re-declares `--glass-bg-floating: var(--glass-bg-dialog)` on
|
|
233
|
+
the dialog scope (the documented retune path — the self-re-point, NOT a raw
|
|
234
|
+
rung override) so the floating edge/rim/under-shadow LIFT survives the
|
|
235
|
+
transparency drop. */
|
|
236
|
+
--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));
|
|
237
|
+
|
|
238
|
+
/* Composed borders — foreground-tinted. BC.W-BLACK-BAR D2 — the perimeter
|
|
239
|
+
hairline is RETIRED as the silhouette device. The old 11-22% warm-ink rung
|
|
240
|
+
borders rode --foreground (oklab L 0.216, near-black warm ink); over a
|
|
241
|
+
near-white cream plate the full-perimeter hairline read as the user's "wtf
|
|
242
|
+
is this black bar" — worst on the TOP edge where the bright white catch-light
|
|
243
|
+
ring sat just inside a dark border (a bright rim and a dark line at war on the
|
|
244
|
+
SAME edge). The silhouette is now carved by the directional rim
|
|
245
|
+
(--glass-rim-top catch-light + --glass-rim-bottom under-shadow, glass-fx.css),
|
|
246
|
+
NOT by this perimeter ink. So each rung drops to ≤5% α — the warm hue stays
|
|
247
|
+
--foreground (the warm-not-tinted identity, BA.W-NO-GRAY), only the PRESENCE
|
|
248
|
+
falls below the read-threshold so the hairline can never read as a bar. The
|
|
249
|
+
+1% on the two heaviest rungs (floating/overlay) holds a faint tier-presence
|
|
250
|
+
ordering without crossing the threshold (apple-ios27.md §5 "top ≤4%" target). */
|
|
251
|
+
--glass-border-wash: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
252
|
+
--glass-border-quiet: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
253
|
+
--glass-border-resting: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
254
|
+
--glass-border-floating: color-mix(in srgb, var(--foreground) 5%, transparent);
|
|
255
|
+
--glass-border-overlay: color-mix(in srgb, var(--foreground) 5%, transparent);
|
|
256
|
+
--glass-border-dock: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
165
257
|
--glass-border: var(--glass-border-quiet);
|
|
166
|
-
--glass-border-strong: var(--glass-border-floating);
|
|
167
258
|
|
|
168
259
|
/* ── The control REST register (BA.W-SURFACE-AXIS scope 7) ────────────────
|
|
169
260
|
ONE shared resting surface for the FORM family — Input/Textarea/Select/
|
|
@@ -182,319 +273,8 @@
|
|
|
182
273
|
--control-surface-blur: var(--glass-blur-quiet);
|
|
183
274
|
--control-surface-bg-hover: color-mix(in oklab, var(--glass-bg-quiet), var(--glass-bg-resting) 35%);
|
|
184
275
|
|
|
185
|
-
/*
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
0.045 below to keep the soft-light blend alive without stippling. */
|
|
190
|
-
--glass-grain-opacity: 0.025;
|
|
191
|
-
/* BA.W-GLASS-CAL — `--glass-grain-opacity-disco` (0.08) DELETED with the disco
|
|
192
|
-
recipe retirement (H2a): no surviving consumer once `btn-audacious` + the
|
|
193
|
-
dock-tab primary phase-grain collapse onto the calm glass register. */
|
|
194
|
-
--glass-highlight: inset 0 0.5px 0 0 hsl(0 0% 100% / 0.25);
|
|
195
|
-
|
|
196
|
-
/* Hairline-accent — 0.5px catch-light + under-shadow pair.
|
|
197
|
-
Single token composes the canonical 2-stop hairline used by dock,
|
|
198
|
-
instrument-chassis. The `.hairline-accent` utility
|
|
199
|
-
(utilities.css §hairline) adopts these via `box-shadow:`. */
|
|
200
|
-
--hairline-catch-light: inset 0 0.5px 0 0 rgb(255 255 255 / 0.06);
|
|
201
|
-
--hairline-under-shadow: 0 0.5px 0 0 rgb(0 0 0 / 0.04);
|
|
202
|
-
--border-hairline: var(--hairline-catch-light), var(--hairline-under-shadow);
|
|
203
|
-
|
|
204
|
-
/* Specular catch-light — 1.5px-tall top-edge highlight that swaps in for
|
|
205
|
-
--glass-highlight on interactive moments (e.g. primary-action hover).
|
|
206
|
-
Reads as a real catch-light on a curved surface. The `-dark` companion
|
|
207
|
-
is overridden inside `.dark`; the named token here is the explicit
|
|
208
|
-
handle consumers can reference to compose dark-aware layers. */
|
|
209
|
-
--glass-specular: inset 0 1.5px 0 0 hsl(0 0% 100% / 0.45);
|
|
210
|
-
--glass-specular-dark: inset 0 1.5px 0 0 hsl(0 0% 100% / 0.30);
|
|
211
|
-
|
|
212
|
-
/* AV.W15 M3 — Full-perimeter rim light (the "rim that defines the
|
|
213
|
-
silhouette", WWDC25 sess. 219). Distinct from the top-only
|
|
214
|
-
`--glass-highlight` (a 0.5px top-edge catch-light): this is a 0.75px
|
|
215
|
-
inset ring around the WHOLE silhouette, four edges, reading as the
|
|
216
|
-
catch-light that wraps the glass plate the way iOS-26 Liquid Glass
|
|
217
|
-
carries a rim, not just a top highlight. Composed as a SECOND inset
|
|
218
|
-
box-shadow layer alongside `--glass-highlight` on the floating/dock
|
|
219
|
-
tiers (glass.css wires it). The alpha is deliberately low (0.18 light
|
|
220
|
-
/ 0.10 dark) — the rim is decoration and must not eat AA legibility
|
|
221
|
-
over a busy backdrop; it sits below the perceptual reading threshold
|
|
222
|
-
on text. The `-dark` companion is overridden inside `.dark` mirroring
|
|
223
|
-
the `--glass-specular-dark` precedent. */
|
|
224
|
-
--glass-edge-light: inset 0 0 0 0.75px hsl(0 0% 100% / 0.18);
|
|
225
|
-
/* BA.W-DARK-MATERIAL scope 2 — the dark edge/rim is the PRIMARY silhouette device in
|
|
226
|
-
dark. The light register's fill+shadow carry the plate; in dark the fill barely
|
|
227
|
-
separates (the deep page is near-black), so the EDGE + the transmitted glow carry the
|
|
228
|
-
silhouette — two registers, one design language. HEAD α 0.10 sits below the reading
|
|
229
|
-
threshold over the deep canvas; lifted to 0.22 so the rim DEFINES the plate (the
|
|
230
|
-
WWDC25 "rim that defines the silhouette" device, dialed up for the dark substrate). */
|
|
231
|
-
--glass-edge-light-dark: inset 0 0 0 0.75px hsl(0 0% 100% / 0.22);
|
|
232
|
-
|
|
233
|
-
/* AW.W23 — content-aware adaptive tint (the Baseline-2025 "tint informed by
|
|
234
|
-
surrounding content" axis, WWDC25 sess. 219). A surface can tint toward a
|
|
235
|
-
consumer-provided dominant backdrop color via a `color-mix(in oklab, …)`
|
|
236
|
-
recipe (oklab is the mwg-preferred space for tint generation; NEVER a
|
|
237
|
-
lightness-shift in `oklch(from …)` — browsers don't gamut-map yet).
|
|
238
|
-
|
|
239
|
-
DEFAULT is zero delta: `--glass-tint-source` is the warm-white card itself
|
|
240
|
-
and `--glass-tint-strength` is 0%, so the rung background mixes 0% toward
|
|
241
|
-
the source = byte-identical to today. A consumer sets `--glass-tint-source`
|
|
242
|
-
to a sampled aurora hue + a strength ≤30% to bias the surface. Alpha-safe:
|
|
243
|
-
the mix is bounded ≤30% and never re-points the card's own alpha.
|
|
244
|
-
|
|
245
|
-
AX.W55 — the DEFAULTS stay `var(--card)`/`0%` (the zero-delta rest state).
|
|
246
|
-
The backdrop-luminance probe (`--glass-backdrop`, below) is what OVERRIDES
|
|
247
|
-
them under a bright backdrop; the `:root` defaults are NEVER touched — the
|
|
248
|
-
bucket blocks (glass.css / dock.css `@container style(--glass-backdrop:
|
|
249
|
-
light)`) do the lift, so a surface over today's rich/dark background reads
|
|
250
|
-
byte-identical. */
|
|
251
|
-
--glass-tint-source: var(--card);
|
|
252
|
-
--glass-tint-strength: 0%;
|
|
253
|
-
|
|
254
|
-
/* AX.W55 — adaptive glass legibility (the iOS-26/27 "locally darken the glass
|
|
255
|
-
over light content" move; G2). There is NO web API that reads the pixels
|
|
256
|
-
painted BEHIND a `backdrop-filter` element, so the backdrop-luminance signal
|
|
257
|
-
is a DECLARATIVE BUCKET a consumer sets where it KNOWS the backdrop is bright
|
|
258
|
-
(a near-white card surface, a pale aurora bleed, a bright data grid). It is
|
|
259
|
-
read by the `@container style(--glass-backdrop: light)` blocks on every glass
|
|
260
|
-
family (the shipped density-cascade mechanism — utilities.css §density) which
|
|
261
|
-
lift `--glass-tint-strength` toward the AA floor + re-point `--glass-tint-
|
|
262
|
-
source` to the warm-ink below, mixing the rung TOWARD ink via the EXISTING
|
|
263
|
-
`color-mix(in oklab)` seam — ZERO new compositing seam.
|
|
264
|
-
|
|
265
|
-
--glass-backdrop: the bucket. `dark` (or unset) = today's zero-delta;
|
|
266
|
-
`light` engages the bright-bucket darken. An
|
|
267
|
-
INHERITING ident set on any ancestor reaches every
|
|
268
|
-
descendant glass surface (the @container read).
|
|
269
|
-
--glass-backdrop-luma: the numeric escape hatch — a sampled backdrop
|
|
270
|
-
relative-luminance (0..1) a heavier JS observer sets
|
|
271
|
-
when the declarative bucket is too coarse. The TOKEN
|
|
272
|
-
is minted (the cascade reads it if set); the OBSERVER
|
|
273
|
-
that sets it stays demo-private until a 2nd consumer
|
|
274
|
-
arrives (the no-overfitting bar — the DEFAULT path is
|
|
275
|
-
the declarative bucket, not a speculative sampler).
|
|
276
|
-
--glass-tint-ink: the LOW-LUMINANCE warm-ink the bright bucket re-points
|
|
277
|
-
`--glass-tint-source` to — the warm dark `--foreground`
|
|
278
|
-
family (NOT white; a lightener over light content is
|
|
279
|
-
exactly the W52-fixed wrong direction). It auto-flips
|
|
280
|
-
with `--foreground` (dark-mode it resolves the light
|
|
281
|
-
warm ink — but the bright-backdrop case is a light-mode
|
|
282
|
-
concern). Overridable like every magnitude here.
|
|
283
|
-
|
|
284
|
-
The bright-bucket `--glass-tint-strength` is clamped to a BOUNDED AA-clearing
|
|
285
|
-
floor — `--glass-tint-strength-aa` (≤24%, the iOS clamp; the lowest value that
|
|
286
|
-
clears 4.5:1 over synthetic white, capped LOW so the surface STAYS translucent,
|
|
287
|
-
"let as much content through as possible"). Recorded here as the ceiling the
|
|
288
|
-
bucket blocks drive to; the live 4.5:1 readback (proof:adaptive-glass π arm)
|
|
289
|
-
ratifies the exact value. */
|
|
290
|
-
--glass-backdrop: dark;
|
|
291
|
-
--glass-backdrop-luma: ;
|
|
292
|
-
--glass-tint-ink: var(--foreground);
|
|
293
|
-
/* AZ.W-ADAPTIVE-AUTO Arm 1 — recalibrated 18% → 20%. The bump strengthens the
|
|
294
|
-
G2 surface-SILHOUETTE darken (ΔL ≈ 0.40 over synthetic white, the plate is
|
|
295
|
-
distinguishable from a bright page behind) while staying bounded ≤ 24% (the
|
|
296
|
-
iOS clamp — the surface STAYS translucent, "let content through"). The body
|
|
297
|
-
register over the engaged plate is the full warm-ink `--foreground` (~10.6:1
|
|
298
|
-
over white at 20%) — the muted L40 tier is lifted to the full ink by the
|
|
299
|
-
self-engage rules (it cannot clear 4.5:1 on a translucent darkened plate;
|
|
300
|
-
darkening moves the plate toward muted's own luminance). The shipped overlay-
|
|
301
|
-
band engaged appearance re-ratifies at the new floor: `--foreground` reads
|
|
302
|
-
~10.6–10.9:1 (within the ~11:1 ratified register — the bump is a silhouette
|
|
303
|
-
strengthening, not a silent re-tint below AA). The live π readback ratifies. */
|
|
304
|
-
--glass-tint-strength-aa: 20%;
|
|
305
|
-
|
|
306
|
-
/* BA.W-DARK-MATERIAL scope 7 — the calm-light recalibration (R9-1; the slides gray-slab
|
|
307
|
-
fix). The AZ unconditional content-tier self-engage applied the full 20% AA darken to
|
|
308
|
-
EVERY .glass-card/.glass-resting/.glass-quiet/.glass-wash mode- and backdrop-agnostically
|
|
309
|
-
— over a plain LIGHT page (not a bright/busy backdrop) the 20% warm-ink darken + the
|
|
310
|
-
muted→ink lift composited the translucent cream card into a flat gray slab (the slides
|
|
311
|
-
presenter card: 20% → oklab(0.785) gray). The recalibration: the FULL AA darken is now
|
|
312
|
-
gated on the declared/sampled bright signal (the @container --glass-backdrop:light bucket /
|
|
313
|
-
the observer); the UNCONDITIONAL content-tier floor drops to this sub-perceptual SILHOUETTE
|
|
314
|
-
tint — just enough edge over a busy backdrop without graying a calm-light card (the
|
|
315
|
-
calm-light plate stays warm, L ≈ 0.94 at the slides-equivalent fixture). The overlay band
|
|
316
|
-
(.glass-floating/.glass-overlay) keeps the FULL unconditional darken (floating over an
|
|
317
|
-
UNKNOWN consumer surface, darkening is the correct default). A consumer opts out on a
|
|
318
|
-
light-page ancestor via --glass-tint-strength: 0%. Bounded > 0%, ≤ 10%. The DARK arm
|
|
319
|
-
re-tunes --glass-tint-strength-aa directly (dark-arm.css scope 3) — the luminous-dark lift
|
|
320
|
-
is the desired default there, NOT a sub-perceptual floor, so the floor is a light-mode knob. */
|
|
321
|
-
--glass-tint-strength-floor: 4%;
|
|
322
|
-
|
|
323
|
-
/* R5-7 — the VEIL text-plate feather. The `veil-surface` decoration
|
|
324
|
-
(cards.css) paints a borderless/rimless translucent glass plate as a LOCAL
|
|
325
|
-
text-legibility surface over a busy backdrop; its `--veil-feather` axis is
|
|
326
|
-
an OPTIONAL `mask-image` that fades the plate edges into the page (the
|
|
327
|
-
soft-edged "bleed" the slides deck text plates use). The default is `none`
|
|
328
|
-
(a clean rectangle); a consumer opts into the feather by pointing
|
|
329
|
-
`--veil-feather` at this ready-made radial, or any `mask-image` value.
|
|
330
|
-
The 70%→100% falloff feathers the outer ~30% of the plate; override the
|
|
331
|
-
token to retune the fade radius library-wide. */
|
|
332
|
-
--veil-feather-radial: radial-gradient(
|
|
333
|
-
ellipse 100% 100% at 50% 50%,
|
|
334
|
-
black 0%,
|
|
335
|
-
black 70%,
|
|
336
|
-
transparent 100%
|
|
337
|
-
);
|
|
338
|
-
|
|
339
|
-
/* AW.W23 — chromatic edge dispersion (the "polished glass" rim fringe Apple
|
|
340
|
-
shows). A warm fringe on one edge + a cool fringe on the other, low-alpha,
|
|
341
|
-
biased warm-cream/NCSU-red (NOT iOS-blue). Composed OVER the W22 uniform
|
|
342
|
-
rim under `prefers-reduced-transparency: no-preference`; dropped under
|
|
343
|
-
`reduce` (it is a transparency garnish). The two directional inset rings
|
|
344
|
-
read as light refracting through the glass edge. */
|
|
345
|
-
--glass-fringe-warm: oklch(0.92 0.06 40 / 0.22);
|
|
346
|
-
--glass-fringe-cool: oklch(0.90 0.05 230 / 0.16);
|
|
347
|
-
--glass-edge-dispersion:
|
|
348
|
-
inset 0.75px 0 0 0 var(--glass-fringe-warm),
|
|
349
|
-
inset -0.75px 0 0 0 var(--glass-fringe-cool);
|
|
350
|
-
|
|
351
|
-
/* AX.W52 D19 — the moving-specular gleam radius (glass.css `.glass-material::
|
|
352
|
-
before`). The ONE knob that BOUNDS the gleam geometry as a percentage of the
|
|
353
|
-
plate so it can NEVER again become a whole-surface disc (the prior implicit
|
|
354
|
-
`circle at …` ran its stops to 55–75% of the half-diagonal — a wash on a
|
|
355
|
-
small tile). 36% reads as a tracked edge glint. Override on `:root` to retune
|
|
356
|
-
library-wide; a per-surface override clips the gleam tighter/wider. */
|
|
357
|
-
--glass-specular-size: 36%;
|
|
358
|
-
|
|
359
|
-
/* Chassis curvature illusion — a subtle radial gradient at the chassis
|
|
360
|
-
top centre that lifts the surface without committing to literal 3D.
|
|
361
|
-
Composed into <InstrumentChassis>'s background stack. AX.W52 D19 — the
|
|
362
|
-
prior pure-white `hsl(0 0% 100% / 0.06)` reaching `transparent 60%` was a
|
|
363
|
-
broad top-centre WASH (the #1 fixed-anchor rest-bloom culprit). Re-derived
|
|
364
|
-
onto the warm-cream house identity (`hsl(40 30% 96%)`, L < 100% so the warm
|
|
365
|
-
hue survives — mirroring the moving gleam), the alpha routed through the
|
|
366
|
-
SINGLE overridable `--glass-curvature-intensity` knob (0.02 default, a third
|
|
367
|
-
of the old 0.06), and the ellipse tightened to `transparent 38%` so it reads
|
|
368
|
-
as a thin top-edge sheen, not a central wash. */
|
|
369
|
-
--glass-curvature-intensity: 0.02;
|
|
370
|
-
--glass-curvature-overlay: radial-gradient(
|
|
371
|
-
ellipse at 50% -20%,
|
|
372
|
-
hsl(40 30% 96% / var(--glass-curvature-intensity)),
|
|
373
|
-
transparent 38%
|
|
374
|
-
);
|
|
375
|
-
/* The light-arm dark alias kept on the same warm-cream + token recipe so a
|
|
376
|
-
non-`.dark` consumer reading `…-overlay-dark` still resolves a softened
|
|
377
|
-
sheen; the `.dark` block below lowers `--glass-curvature-intensity` so the
|
|
378
|
-
deep-canvas arm is genuinely softer (the prior byte-identical dark arm read
|
|
379
|
-
HARDER over the dark canvas). */
|
|
380
|
-
--glass-curvature-overlay-dark: var(--glass-curvature-overlay);
|
|
381
|
-
|
|
382
|
-
/* Chart palette aliases — speedtest et al. read these for phase tinting.
|
|
383
|
-
Defaults map to viz-basis hues; consumers can override per app. */
|
|
384
|
-
--chart-ping: var(--viz-chebyshev);
|
|
385
|
-
--chart-download: var(--viz-fourier);
|
|
386
|
-
--chart-upload: var(--viz-amber);
|
|
387
|
-
--chart-jitter: var(--viz-legendre);
|
|
388
|
-
|
|
389
|
-
/* O.W6 Lane D — WCAG companion `--chart-{phase}-label` tokens
|
|
390
|
-
(speedtest AC.W6c.T2 — F1.V-04 closure).
|
|
391
|
-
|
|
392
|
-
The canvas-side hues above preserve their saturated brand register
|
|
393
|
-
(correct against the meter dial); the COMPANION tokens darken to
|
|
394
|
-
L≈0.40 so phase-label text on `--background` clears the WCAG 2.1
|
|
395
|
-
AA-body 4.5:1 contrast floor. Mirrors the two-token discipline
|
|
396
|
-
already established by `--meter-{background-color,track-stroke}`:
|
|
397
|
-
one token feeds the canvas/visual, the second feeds the label
|
|
398
|
-
text.
|
|
399
|
-
|
|
400
|
-
Light-mode L≈0.40 in OKLCH preserves the hue rotation while
|
|
401
|
-
dropping luminance enough for body contrast; dark-mode flips to
|
|
402
|
-
L≈0.85 against the dark canvas. Consumers reach these via
|
|
403
|
-
`color: var(--chart-ping-label)` (etc.) on label elements ONLY —
|
|
404
|
-
chart strokes/fills continue to read `--chart-ping`. */
|
|
405
|
-
--chart-ping-label: oklch(0.40 0.18 230);
|
|
406
|
-
--chart-download-label: oklch(0.40 0.20 22);
|
|
407
|
-
--chart-upload-label: oklch(0.40 0.16 55);
|
|
408
|
-
--chart-jitter-label: oklch(0.40 0.20 305);
|
|
409
|
-
|
|
410
|
-
/* O.W6 Lane D — Meter track stroke (speedtest AC.W6c.T3 — F1.V-02
|
|
411
|
-
closure). Promoted from speedtest's consumer-side declaration so
|
|
412
|
-
glass-ui owns the canonical light + dark values. The light-mode
|
|
413
|
-
value reads opaque foreground (composes through canvas
|
|
414
|
-
`globalAlpha` in consumer renderers; e.g., speedtest's `rings.ts`
|
|
415
|
-
`globalAlpha = 0.22` lands the phantom-track at the perceptual
|
|
416
|
-
sweet-spot). The dark-mode companion lives under `.dark` below
|
|
417
|
-
and ALSO reads `var(--foreground)` — the prior speedtest value
|
|
418
|
-
`var(--background)` rendered bg-on-bg invisible at dark mode. */
|
|
419
|
-
--meter-track-stroke: var(--foreground);
|
|
420
|
-
|
|
421
|
-
/* Shadow per tier — complete box-shadow lists for glass surface classes */
|
|
422
|
-
--glass-shadow-wash: var(--shadow-sm), var(--glass-highlight);
|
|
423
|
-
--glass-shadow-quiet: var(--shadow-md), var(--glass-highlight);
|
|
424
|
-
--glass-shadow-resting: var(--shadow-lg), var(--glass-highlight);
|
|
425
|
-
--glass-shadow-floating: var(--shadow-xl),
|
|
426
|
-
0 0 0 0.5px color-mix(in srgb, var(--shadow-color) 5%, transparent),
|
|
427
|
-
var(--glass-highlight);
|
|
428
|
-
--glass-shadow-overlay: var(--shadow-2xl),
|
|
429
|
-
0 0 0 0.5px color-mix(in srgb, var(--shadow-color) 8%, transparent),
|
|
430
|
-
var(--glass-highlight);
|
|
431
|
-
--glass-shadow: var(--glass-shadow-quiet);
|
|
432
|
-
--glass-shadow-lg: var(--glass-shadow-floating);
|
|
433
|
-
|
|
434
|
-
/* ─────────────────────────────────────────────────────────────
|
|
435
|
-
AL-W1-α augmented — SPINE 8th tier (HOUSING register)
|
|
436
|
-
|
|
437
|
-
Closes the AK W2 chassis-spine architectural underclaim per
|
|
438
|
-
AL-X5 §4.1. The spine register is a polished SLEEVE, not glass:
|
|
439
|
-
NO backdrop-filter, NO plate opacity, hairline outer stroke,
|
|
440
|
-
interior radial vignette that subtly carries the phase-color
|
|
441
|
-
cascade. Consumed exclusively by `<InstrumentChassis variant="spine">`
|
|
442
|
-
at App-level mount paths (quiet-content routes).
|
|
443
|
-
|
|
444
|
-
The 4 tokens here cover the minimum viable substrate the SLIM
|
|
445
|
-
Y4/Y6/Y7 retention set ratified. The 35 rejected axes (saturate
|
|
446
|
-
band, edge-light per tier, depth-shadow per tier, tier-up macro)
|
|
447
|
-
stay rejected per the conservative-creation mandate.
|
|
448
|
-
───────────────────────────────────────────────────────────── */
|
|
449
|
-
--glass-spine-opacity: 0;
|
|
450
|
-
--glass-spine-blur: 0px;
|
|
451
|
-
--glass-spine-border: var(--surface-tint-8);
|
|
452
|
-
--glass-spine-vignette: radial-gradient(
|
|
453
|
-
ellipse at 50% 0%,
|
|
454
|
-
color-mix(in oklab, var(--phase-color, var(--surface-tint-8)) 8%, transparent),
|
|
455
|
-
transparent 60%
|
|
456
|
-
);
|
|
457
|
-
|
|
458
|
-
/* ─────────────────────────────────────────────────────────────
|
|
459
|
-
AL-W10 SLIM — UNDER-SHADOW recipe rungs
|
|
460
|
-
|
|
461
|
-
Per AL-X5 §4 + Y7 §3. iOS Liquid Glass surfaces carry a 0.5px
|
|
462
|
-
dark hairline along the bottom edge (reads as under-shadow /
|
|
463
|
-
glass thickness). The substrate `--hairline-under-shadow`
|
|
464
|
-
already publishes one quiet rung; the four-rung ladder here
|
|
465
|
-
names the SLIM retention set (Y4 §3.2 / Y6 §4.3) — `quiet`,
|
|
466
|
-
`default`, `vivid`, `spine` cover the consumer landings without
|
|
467
|
-
multiplying tokens per tier. The 3 hand-rolled literals at
|
|
468
|
-
`instrument-chassis.css:52`, `dock.css:279`, `dock.css:952`
|
|
469
|
-
retire to these.
|
|
470
|
-
|
|
471
|
-
Composes as a NON-INSET box-shadow layer alongside the existing
|
|
472
|
-
`--glass-shadow-*` recipe (the inset under-shadow stays at the
|
|
473
|
-
hand-rolled literal where it's load-bearing on chassis-internal
|
|
474
|
-
surfaces).
|
|
475
|
-
───────────────────────────────────────────────────────────── */
|
|
476
|
-
--glass-under-shadow-quiet: 0 2px 8px -1px oklch(0 0 0 / 0.04);
|
|
477
|
-
--glass-under-shadow-default: 0 4px 16px -2px oklch(0 0 0 / 0.08);
|
|
478
|
-
--glass-under-shadow-vivid: 0 8px 32px -4px oklch(0 0 0 / 0.12);
|
|
479
|
-
--glass-under-shadow-spine: 0 1px 0 0 oklch(0 0 0 / 0.06);
|
|
480
|
-
|
|
481
|
-
/* Overlay scrim rungs — substrate-aware modal/dialog backdrop tints.
|
|
482
|
-
Three weights cover the deployed range: dialog-scroll (subtle),
|
|
483
|
-
canonical modal (default), drawer/full-cover (strong).
|
|
484
|
-
|
|
485
|
-
AY.W-PRIM-POLISH D3 — the scrim is its OWN identity token, NOT derived
|
|
486
|
-
from `--shadow-color`. A scrim's role is to RECEDE: it must pin to INK in
|
|
487
|
-
BOTH modes. The cartoon-shadow family rides `--shadow-color: var(--foreground)`
|
|
488
|
-
(correct — a shadow re-tints under `.dark` by construction), but a scrim
|
|
489
|
-
that does the same FLOODS the dark room with a cream fog (the old dark
|
|
490
|
-
overlay painted `srgb(0.91… / 0.5)`, a near-white wash that BRIGHTENED the
|
|
491
|
-
page at the modal moment). `--overlay-scrim-ink` is a fixed warm near-black
|
|
492
|
-
(the light-mode `--foreground` value), re-resolved verbatim in `.dark` so
|
|
493
|
-
the scrim recedes in both modes. Clean break, no alias (no-backwards-compat).
|
|
494
|
-
The `--shadow-color` / `--shadow-cartoon-*` family is UNTOUCHED. */
|
|
495
|
-
--overlay-scrim-ink: hsl(24 10% 10%);
|
|
496
|
-
--overlay-scrim: color-mix(in srgb, var(--overlay-scrim-ink) 50%, transparent);
|
|
497
|
-
--overlay-scrim-strong: color-mix(in srgb, var(--overlay-scrim-ink) 80%, transparent);
|
|
498
|
-
--overlay-scrim-subtle: color-mix(in srgb, var(--overlay-scrim-ink) 40%, transparent);
|
|
499
|
-
|
|
276
|
+
/* The decorative/fx tail (grain/specular/edge-light + the adaptive tint-source/
|
|
277
|
+
backdrop-luma bucket + fringe/curvature/chart-palette + per-tier shadow/spine/
|
|
278
|
+
under-shadow/overlay-scrim) lives in tokens/glass-fx.css (carved at BB.W-CARVE4
|
|
279
|
+
— the next adjacent :root{} block in the cascade). */
|
|
500
280
|
}
|
|
@@ -88,8 +88,11 @@
|
|
|
88
88
|
--neutral-5: light-dark(hsl(30 22% 40%), hsl(34 14% 62%));
|
|
89
89
|
--neutral-6: light-dark(hsl(28 24% 30%), hsl(36 14% 72%));
|
|
90
90
|
|
|
91
|
-
/* Core surfaces + ink
|
|
92
|
-
|
|
91
|
+
/* Core surfaces + ink. BB.W-DARK-INK-WARM — the DARK arg warmed off the H95.1°
|
|
92
|
+
yellow-green hsl(48 10% 90%) onto the no-gray identity hsl(30 14% 90%) (OKLab
|
|
93
|
+
H75.4°, L held) in LOCKSTEP with the .dark fallback floor (dark-arm.css:60). The
|
|
94
|
+
LIGHT arg hsl(24 10% 10%) is already the warm-amber identity (H56°) — untouched. */
|
|
95
|
+
--foreground: light-dark(hsl(24 10% 10%), hsl(30 14% 90%));
|
|
93
96
|
/* BA.W-DARK-MATERIAL scope 1 — the dark --card plate LIFTS L10→L16 (LOCKSTEP
|
|
94
97
|
dark-arm.css:51); the public-data panel re-anchors L12→L18 to stay above it.
|
|
95
98
|
BA.W-NO-GRAY L1 — the LIGHT arm DECOUPLES off the near-achromatic page onto the
|
|
@@ -128,7 +131,7 @@
|
|
|
128
131
|
--section-color-2: light-dark(oklch(0.484 0.163 265.5), oklch(0.718 0.107 268.4));
|
|
129
132
|
--section-color-3: light-dark(oklch(0.542 0.089 222.8), oklch(0.767 0.091 219.9));
|
|
130
133
|
--section-color-4: light-dark(oklch(0.551 0.088 171.1), oklch(0.776 0.105 172.6));
|
|
131
|
-
--section-color-5: light-dark(oklch(0.
|
|
134
|
+
--section-color-5: light-dark(oklch(0.530 0.124 69.6), oklch(0.813 0.109 78.2));
|
|
132
135
|
--section-color-6: light-dark(oklch(0.579 0.201 30.4), oklch(0.693 0.151 28.1));
|
|
133
136
|
--section-color-7: light-dark(oklch(0.532 0.180 317.5), oklch(0.739 0.134 318.1));
|
|
134
137
|
--section-color-8: light-dark(oklch(0.520 0.176 8.4), oklch(0.709 0.142 2.3));
|
|
@@ -183,5 +186,15 @@
|
|
|
183
186
|
--silver: light-dark(oklch(0.760 0.012 255), oklch(0.792 0.012 255));
|
|
184
187
|
--silver-light: light-dark(oklch(0.902 0.010 255), oklch(0.912 0.010 255));
|
|
185
188
|
--silver-dark: light-dark(oklch(0.582 0.014 255), oklch(0.648 0.014 255));
|
|
189
|
+
|
|
190
|
+
/* Bronze family (BB.W-METAL-SHIMMER) — the `light-dark()` arm mirroring
|
|
191
|
+
gold's exact shape: light value, dark-lifted value (~+0.03 L so the warm
|
|
192
|
+
metal reads on the deep canvas). The third brand metal (warm-brown ~54°,
|
|
193
|
+
chroma above the W-NO-GRAY floor). `--bronze-deep` is mode-invariant —
|
|
194
|
+
not a `light-dark()` pair, exactly as `--gold-deep`/`--silver-deep` are
|
|
195
|
+
omitted from this block. */
|
|
196
|
+
--bronze: light-dark(oklch(0.620 0.092 54.0), oklch(0.650 0.090 54.0));
|
|
197
|
+
--bronze-light: light-dark(oklch(0.760 0.112 60.0), oklch(0.790 0.110 60.0));
|
|
198
|
+
--bronze-dark: light-dark(oklch(0.500 0.082 50.0), oklch(0.560 0.085 50.0));
|
|
186
199
|
}
|
|
187
200
|
}
|