@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
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/* tokens/offsets.css
|
|
2
|
+
§9 animation offsets — hover-lift offsets, the layout tokens, the public
|
|
3
|
+
--fade-scroll-width ramp, the dock content-overflow caps, the chassis
|
|
4
|
+
max-block-size/mobile dial-reserve, the popover width, the panel inner-padding
|
|
5
|
+
rung, the chart geometry.
|
|
6
|
+
Carved (BB.W-CARVE3) from the former tokens/offsets-sizing.css §9/§10 split;
|
|
7
|
+
@import-ed by tokens.css at offsets-sizing's old cascade slot, immediately
|
|
8
|
+
before sizing.css — adjacent same-selector :root blocks resolve identically,
|
|
9
|
+
so the dist is byte-isomorphic. See docs/precepts/design-idioms.md
|
|
10
|
+
§cohesion-aware partials. */
|
|
11
|
+
:root {
|
|
12
|
+
/* ═══════════════════════════════════════════════
|
|
13
|
+
§9 ANIMATION OFFSETS
|
|
14
|
+
═══════════════════════════════════════════════ */
|
|
15
|
+
/* Hover lift offsets */
|
|
16
|
+
--lift-sm: -1px;
|
|
17
|
+
--lift-md: -2px;
|
|
18
|
+
--lift-lg: -4px;
|
|
19
|
+
|
|
20
|
+
/* Layout tokens */
|
|
21
|
+
/* BA.W-FADING-SCROLL — `--fade-scroll-width` is the public edge-fade ramp
|
|
22
|
+
width knob for `<FadingScroll>` (inheriting, retunable on any ancestor).
|
|
23
|
+
It superseded the scroll-BLIND `.scroll-fade-*` static masks' knob
|
|
24
|
+
`--mask-fade-width`, which retired in a CLEAN BREAK (no alias) at the
|
|
25
|
+
4.1.0 cut — BB.W-SCROLL-FADE-RETIRE — alongside the static utilities. */
|
|
26
|
+
--fade-scroll-width: 1rem;
|
|
27
|
+
/* J.W3.C — dock content overflow caps. When dock content exceeds
|
|
28
|
+
these dimensions, the inner `.dock-layers` (horizontal) /
|
|
29
|
+
`.glass-dock.vertical` (rail) container scrolls with a
|
|
30
|
+
`.scroll-fade-{x,y}` mask-fade so the boundary feathers rather
|
|
31
|
+
than cliffs. Defaults clamp to 80vw / 80vh capped at sensible
|
|
32
|
+
desktop widths; consumers override per-dock by setting either
|
|
33
|
+
token directly on a `.glass-dock` instance. User findings 1 + 5a. */
|
|
34
|
+
/* AX.W04 — `--dock-max-inline-size` is the canonical inline cap EVERY overflow
|
|
35
|
+
strategy reads: `overflow="scroll"` scrolls past it, and `overflow="wrap"`
|
|
36
|
+
wraps to N rows on the over-cap crossing (the dock shrink-wraps to content,
|
|
37
|
+
`max-inline-size` caps that intrinsic width at this token). The prior
|
|
38
|
+
`--dock-overflow-bp: 640px` viewport-breakpoint token (the magic-640
|
|
39
|
+
snap-back) is DELETED — the wrap is content-driven, not viewport-coupled, so
|
|
40
|
+
there is no breakpoint threshold to name. */
|
|
41
|
+
--dock-max-inline-size: min(80vw, 64rem);
|
|
42
|
+
--dock-max-block-size: min(80vh, 48rem);
|
|
43
|
+
|
|
44
|
+
/* AB.W1.T1 — chassis max-block-size guardrail.
|
|
45
|
+
Maximum block size a centred consumer-app card may consume while
|
|
46
|
+
preserving the inline dock footprint. The recipe subtracts the
|
|
47
|
+
consumer-owned `--dock-footer-space` (dock height + dock inset +
|
|
48
|
+
card-edge inset) and `--page-padding-top` from the dynamic viewport,
|
|
49
|
+
then takes one further rem of breathing room so the card never
|
|
50
|
+
butts the dock — the user mandate is `≥ 1rem visible gap above
|
|
51
|
+
dock`. Both consumer tokens carry safe fallbacks for callers that
|
|
52
|
+
have not declared them.
|
|
53
|
+
|
|
54
|
+
Consumers should shrink internal regions (meter, readout, timeline)
|
|
55
|
+
before falling back to scroll. This token is a guardrail against
|
|
56
|
+
chassis overflow, NOT a license to make the card scroll as the
|
|
57
|
+
default solution; clamp-first / no-scroll-first is the canon.
|
|
58
|
+
See DESIGN.md `## Chassis sizing — dock-adjusted viewport`. */
|
|
59
|
+
--chassis-max-block-size: calc(
|
|
60
|
+
100dvh
|
|
61
|
+
- var(--dock-footer-space, 5.75rem)
|
|
62
|
+
- var(--page-padding-top, 0rem)
|
|
63
|
+
- 1rem
|
|
64
|
+
);
|
|
65
|
+
/* R0G-2 (AO.W3/W4) — chassis mobile dial-reserve canon. instrument-
|
|
66
|
+
chassis.css's mobile breakpoint reserves the dial's final box from
|
|
67
|
+
frame 0 via these vars (with the same values as inline fallbacks, the
|
|
68
|
+
safety net). Token-first home so the vars resolve canonically. */
|
|
69
|
+
--instrument-dial-min-height-mobile: 24rem;
|
|
70
|
+
--instrument-dial-meter-reserve-mobile: minmax(0, 1fr);
|
|
71
|
+
/* BB.W-DESKTOP-RESERVE (B3) — the chassis WIDE-AXIS (desktop) dial reserve
|
|
72
|
+
canon, the complement of the mobile rung above. The mobile reflow
|
|
73
|
+
reserves the dial box from frame 0 via the rung above; the WIDE box axis
|
|
74
|
+
had NO library reserve, so on desktop a `1fr` meter row collapsed to its
|
|
75
|
+
pre-hydration intrinsic `<canvas>` size and grew on hydration, pushing
|
|
76
|
+
the results card + dock down (the measured desktop-1440 CLS the speedtest
|
|
77
|
+
App.vue interim authored a local `min-block-size` to cure). This rung is
|
|
78
|
+
the library home: the dial cell reserves its settled height from frame 0
|
|
79
|
+
on the wide axis, so the inner card mounts into an already-correct
|
|
80
|
+
envelope (CLS≈0, no post-hydration growth).
|
|
81
|
+
|
|
82
|
+
The default IS `--chassis-max-block-size` — the library's own
|
|
83
|
+
chassis-sizing guardrail (the dock-adjusted dynamic-viewport budget a
|
|
84
|
+
centred consumer card clamps to), a pure CSS calc that resolves at first
|
|
85
|
+
paint with NO JS. This is the DESKTOP DIAL: a consumer whose meter is a
|
|
86
|
+
different block-size retunes THIS token (the speedtest-specific value
|
|
87
|
+
stays in speedtest — presets-in-consumers). A consumer deletes its local
|
|
88
|
+
App.vue wide-axis interim once it consumes this rung. Both knobs are CSS
|
|
89
|
+
custom properties (token-first), the inline fallback in
|
|
90
|
+
instrument-chassis.css carries the contract if the token is unset. */
|
|
91
|
+
--instrument-dial-min-block-size-desktop: var(--chassis-max-block-size);
|
|
92
|
+
|
|
93
|
+
--max-width-input: 24rem;
|
|
94
|
+
--input-min-width-sm: 5rem;
|
|
95
|
+
--min-width-input-sm: var(--input-min-width-sm);
|
|
96
|
+
/* AU.W8b.4 — canonical popover width (Combobox list + anchor). Lifts the
|
|
97
|
+
`w-[200px]` arbitrary-value wrap to the `w-popover` @theme utility. */
|
|
98
|
+
--popover-width: 200px;
|
|
99
|
+
/* AZ.R5-4 — the ONE panel inner-padding rung (the consumer-verified "the
|
|
100
|
+
popover/dropdown content reads TIGHT" finding). The floating-panel +
|
|
101
|
+
DropdownMenuContent recipes read THIS token for their inner pad instead of
|
|
102
|
+
the prior hand-set `p-1`/literal, so a consumer retunes every teleported
|
|
103
|
+
menu/panel surface from one override. The comfortable default is `0.375rem`
|
|
104
|
+
(a half-rung over the prior 0.25rem tight floor — comfortable both modes
|
|
105
|
+
without over-padding a dense menu list). BB.W-CARD-PAD — the dead
|
|
106
|
+
`--panel-padding-roomy` (1rem) is DELETED here (clean break, no alias): it
|
|
107
|
+
had ZERO `var(--panel-padding-roomy)` consumers (the prose-popover register
|
|
108
|
+
it claimed to back never read it — PopoverContent paints `p-4` directly), so
|
|
109
|
+
it was an orphan declaration the golden-padding cut prunes. */
|
|
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
|
+
|
|
138
|
+
--chart-height-compact: 15rem;
|
|
139
|
+
--chart-height-default: 22.5rem;
|
|
140
|
+
--chart-height-large: 25rem;
|
|
141
|
+
--chart-margin: 1.25rem;
|
|
142
|
+
--paper-texture-size: 200px 200px;
|
|
143
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* tokens/on-glass-fg.css
|
|
2
|
+
The surface-aware FOREGROUND register (BB.W-ON-GLASS-FG — N13). Carved out of
|
|
3
|
+
tokens/glass.css to keep that partial under the no-god-module bound; @import-ed
|
|
4
|
+
by tokens.css in cascade order AFTER glass.css (the rungs derive against the
|
|
5
|
+
glass-bg-quiet composite, so they must resolve after the §8 ladder). Same :root
|
|
6
|
+
cascade context as its sibling token partials.
|
|
7
|
+
|
|
8
|
+
A THREE-RUNG on-glass family whose contrast TARGET is the COMPOSITED content-
|
|
9
|
+
tier glass FILL, not the canvas. The glass-first MAXIMAL default (AX.W54) makes
|
|
10
|
+
a caption/well/track rendering over a TRANSLUCENT content plate the common case;
|
|
11
|
+
--muted-foreground (= --neutral-5, "AA vs page") collapses on its OWN surface
|
|
12
|
+
(the speedtest ask measured 1.15-3.29:1 in dark theme — the "whisper collapse").
|
|
13
|
+
|
|
14
|
+
This is the THIRD state the BA adaptive-glass seam never expressed (the SAME
|
|
15
|
+
--glass-tint-* cascade context, NOT a fork): (a) bright/darkened plate → full
|
|
16
|
+
ink (the @container bright bucket + the overlay band, shipped — glass/ladder.css);
|
|
17
|
+
(b) opaque canvas → page-muted (--neutral-5, kept); (c) THIS — calm translucent
|
|
18
|
+
glass plate → a register BETWEEN page-muted and full-ink (legible-AND-subordinate;
|
|
19
|
+
a caption stays quieter than body ink WHILE clearing AA on the composited plate).
|
|
20
|
+
|
|
21
|
+
The values are DERIVED against the LIBRARY composite (--card over --neutral-0
|
|
22
|
+
through --glass-bg-quiet at --glass-tint-strength-floor), warm-amber (the BA.W-
|
|
23
|
+
NO-GRAY identity, OKLab gray floor cleared at the warm hue) — NOT copied from
|
|
24
|
+
the slides deck.css §1 reference (the deck's NC-State-red warm-cream literals
|
|
25
|
+
hsl(24 6% 44%)/hsl(45 12% 64%) are a CONSUMER divergence; the library re-derives).
|
|
26
|
+
NO ppmycota/demo hue. The page-muted register (--muted-foreground/-strong) is
|
|
27
|
+
UNTOUCHED — the on-glass rungs are NET-NEW; the glass/ladder.css calm-tier rule
|
|
28
|
+
re-points --muted-foreground → these on the engaged plate, no per-site edit.
|
|
29
|
+
|
|
30
|
+
PLAIN PER-MODE ARM idiom (light here, dark in tokens/dark-arm.css) — NOT
|
|
31
|
+
light-dark(): the house pattern every explicit-color token follows (a re-
|
|
32
|
+
resolution under .dark, not a single-declaration light-dark() that an inset-
|
|
33
|
+
shadow downstream could collapse — the light-dark() inset-shadow trap). */
|
|
34
|
+
:root {
|
|
35
|
+
--on-glass-muted: hsl(30 26% 35%); /* the muted caption rung over the composited cream plate (5.76:1 vs plate; darker than --neutral-5 L40) */
|
|
36
|
+
--on-glass-muted-strong: hsl(28 28% 28%); /* the -strong secondary rung, one step more present (7.79:1 vs plate) */
|
|
37
|
+
--input-on-glass: hsl(36 40% 92%); /* the form-well fill over glass — grounded warm so the input TEXT (--foreground) reads against a stable base (14.9:1) */
|
|
38
|
+
--progress-track-on-glass: hsl(34 24% 84%); /* the recessed meter track over glass — a warm channel distinct from the fill silhouette */
|
|
39
|
+
}
|
|
@@ -41,6 +41,21 @@
|
|
|
41
41
|
initial-value: 0%;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/* BB.W-BORDER-PROGRESS — the masked-conic BORDER ring's sweep fill. The conic
|
|
45
|
+
gradient (border-progress.css) reads `--border-progress-fill` as the swept
|
|
46
|
+
extent (`conic-gradient(…, transparent var(--border-progress-fill), …)`), so a
|
|
47
|
+
determinate progress INTERPOLATES the border ring (a bare unregistered var()
|
|
48
|
+
snaps the sweep; the registered typed <percentage> lets the engine animate the
|
|
49
|
+
gradient stop). `inherits: false` — each ring owns its own fill (the per-surface
|
|
50
|
+
ownership the specular cohort uses; a ringed parent must not push its fill onto a
|
|
51
|
+
child). `initial-value: 0%` is the safe resting ring (the unregistered fallback
|
|
52
|
+
paints it; the cross-fade collapses to it on a non-supporting engine). */
|
|
53
|
+
@property --border-progress-fill {
|
|
54
|
+
syntax: "<percentage>";
|
|
55
|
+
inherits: false;
|
|
56
|
+
initial-value: 0%;
|
|
57
|
+
}
|
|
58
|
+
|
|
44
59
|
@property --phase-tint-amount {
|
|
45
60
|
syntax: "<percentage>";
|
|
46
61
|
inherits: true;
|
|
@@ -91,6 +106,84 @@
|
|
|
91
106
|
initial-value: 0;
|
|
92
107
|
}
|
|
93
108
|
|
|
109
|
+
/* BB.W-LENSING — the per-surface EDGE-glint angle channel. `--specular-angle` is
|
|
110
|
+
the pointer angle-from-center the edge-glint conic sweep reads (material.css);
|
|
111
|
+
`useSpecularPointer` writes it (the angle feed). `inherits: false` — the
|
|
112
|
+
per-element ownership discipline of the specular cohort above (each pseudo owns
|
|
113
|
+
its typed value; a parent's angle must never bleed into a child glass surface).
|
|
114
|
+
`initial-value: 0deg` is the static rest position (the rim glint sits top when
|
|
115
|
+
unwired — no ambient drift, no blowout). */
|
|
116
|
+
@property --specular-angle {
|
|
117
|
+
syntax: "<angle>";
|
|
118
|
+
inherits: false;
|
|
119
|
+
initial-value: 0deg;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* BB.W-LENSING `--glass-refract` axis — RETIRED (DDR-LENS-BAKE, glass-refract.css).
|
|
123
|
+
The axis drove the `feDisplacementMap` `scale` by splicing `var(--glass-refract)`
|
|
124
|
+
between a head/tail `url()` pair. That construction never parsed as a
|
|
125
|
+
`backdrop-filter` (it emitted three tokens, not one url) AND broke consumer bundlers
|
|
126
|
+
(the tail `url("'…")` mis-resolved as a file path); a CSS url() string token cannot
|
|
127
|
+
carry a substituted `var()`, so a dynamic `scale` inside the mandatory single
|
|
128
|
+
self-contained data-URI is structurally impossible. The `scale` is now BAKED at 28
|
|
129
|
+
(the resting bend, byte-identical) — no axis, no `@property` reg. */
|
|
130
|
+
|
|
131
|
+
/* BB.W-GLASS-ACCENT — the THIRD disjoint glass axis: the per-INSTANCE
|
|
132
|
+
CHROMATIC-RIM tint. `--glass-accent` is a complete `<color>` (a consumer DATA
|
|
133
|
+
hue) that OKLab-tints a glass surface's RIM (the `--glass-material-rim` inset
|
|
134
|
+
ring + the per-rung `--glass-border-*`) and the `::before` specular catch-light
|
|
135
|
+
CORE — so the §F1 data-keyed colored hover (a chart cell whose surface glows
|
|
136
|
+
with that datum's series hue) is a ONE-LINE seam (`--glass-accent: <hue>;
|
|
137
|
+
--glass-accent-strength: <N%>` on the instance), not a hand-threaded
|
|
138
|
+
`border-color` + inline catch-light per consumer.
|
|
139
|
+
|
|
140
|
+
DISTINCT-not-fork of W55's `--glass-tint-source` (the WHOLE-PLATE BACKGROUND
|
|
141
|
+
legibility darken toward `--glass-tint-ink`): the accent is the RIM+GLINT
|
|
142
|
+
chromatic DECORATION axis (toward a consumer DATA hue, per-instance), it NEVER
|
|
143
|
+
writes the W55 cohort and NEVER tints the plate background. Three disjoint glass
|
|
144
|
+
axes: LEVEL (opacity+blur, AX.W54) · TINT (whole-plate legibility, W55) · ACCENT
|
|
145
|
+
(per-instance chromatic rim+glint, this wave).
|
|
146
|
+
|
|
147
|
+
• --glass-accent (<color>) — the consumer data hue. `inherits: true` (the
|
|
148
|
+
`--glass-level`-style cascading scalar — a host sets it on an ancestor to tint
|
|
149
|
+
a sub-tree; a consumer sets it per-INSTANCE on the surface). `initial-value:
|
|
150
|
+
transparent` is the NEUTRAL IDENTITY: a `color-mix(in oklab, X, transparent N)`
|
|
151
|
+
is byte-identical X at the resting end, so an UNSET surface paints exactly
|
|
152
|
+
today's warm-ink rim + warm-cream catch-light (the W2 neutral-fallback floor).
|
|
153
|
+
|
|
154
|
+
• --glass-accent-strength (<percentage>) — the bounded knob. `inherits: true`
|
|
155
|
+
(rides the accent down the same sub-tree). `initial-value: 0%` so the mix is a
|
|
156
|
+
provable no-op when unset (`color-mix(in oklab, X, <accent> 0%)` === X). The
|
|
157
|
+
consumer-set ceiling is a WHISPER at the rim, not a flooded plate — the demo
|
|
158
|
+
specimens engage ~40-55% (the rim/glint reads the hue while the warm-cream core
|
|
159
|
+
+ the AA legibility survive; the `--glass-tint-strength-aa` ≤24% bounding
|
|
160
|
+
precedent, lifted here because the accent rides the THIN rim/glint not the
|
|
161
|
+
whole plate). A malformed override CLAMPS to 0% (the typed fail-safe). */
|
|
162
|
+
@property --glass-accent {
|
|
163
|
+
syntax: "<color>";
|
|
164
|
+
inherits: true;
|
|
165
|
+
initial-value: transparent;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@property --glass-accent-strength {
|
|
169
|
+
syntax: "<percentage>";
|
|
170
|
+
inherits: true;
|
|
171
|
+
initial-value: 0%;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* BC.W-GLASS-GLOW-FIX (Atlas A-8) — the Pulse aura breath SCALE. The `ambient-pulse`
|
|
175
|
+
keyframe runs on `.pulse-aura` and writes this property; the `.pulse-aura::before`
|
|
176
|
+
child (the radial paint) reads it via `transform: scale(var(--pulse-aura-breath-
|
|
177
|
+
scale))`. Typed `<number>` so the keyframe INTERPOLATES it per-frame (a bare
|
|
178
|
+
unregistered var would snap min↔max). INHERITS so the pseudo-element picks it up
|
|
179
|
+
from its originating `.pulse-aura` (the aura has no content descendants — it is
|
|
180
|
+
`aria-hidden` + empty — so the inherit only reaches the `::before` halo). */
|
|
181
|
+
@property --pulse-aura-breath-scale {
|
|
182
|
+
syntax: "<number>";
|
|
183
|
+
inherits: true;
|
|
184
|
+
initial-value: 1;
|
|
185
|
+
}
|
|
186
|
+
|
|
94
187
|
/* AX.W54 — the GLASS-FIRST single knob. `--glass-level` is the ONE clarity
|
|
95
188
|
scalar threaded through BOTH glass ladders at their single sites (the
|
|
96
189
|
`--glass-bg-*` opacity recipe + the `--glass-blur-*` radii). It is a typed,
|
|
@@ -114,6 +207,47 @@
|
|
|
114
207
|
initial-value: 1;
|
|
115
208
|
}
|
|
116
209
|
|
|
210
|
+
/* BC.W-ADAPTIVE-RECONCILE — the OBSERVER's measured backdrop relative-luminance, now
|
|
211
|
+
LOAD-BEARING. `useGlassBackdropLuminance` WRITES `--glass-backdrop-luma` (0..1) on
|
|
212
|
+
the glass target; the content/overlay/dock `:where()` rules READ it on the RHS of the
|
|
213
|
+
`--glass-tint-strength` clamp (glass/ladder.css, dock/morph.css) — the continuous
|
|
214
|
+
driver that lifts the calm 4% floor toward the ≤24% AA ceiling as the measured
|
|
215
|
+
backdrop brightens past the knee (the iOS-27 dynamic-range shift; apple-ios27.md §1.5).
|
|
216
|
+
Registered as a typed INHERITING `<number>` (the `--glass-level`/`--progress-crescendo`
|
|
217
|
+
precedent) so a bare `var()` INTERPOLATES smoothly between sample frames instead of
|
|
218
|
+
snapping (a per-sample re-paint would flicker the plate). `inherits: true` so the
|
|
219
|
+
observer's write on the target reaches every descendant glass surface that reads the
|
|
220
|
+
clamp. `initial-value: 0` is the calm-dark rest: with luma 0 the clamp's luma-ramp is
|
|
221
|
+
`max(0, …) = 0`, so an unwired surface resolves EXACTLY the floor (the zero-delta calm
|
|
222
|
+
identity GLASS-IDENTITY pins). This replaces the empty `--glass-backdrop-luma: ;`
|
|
223
|
+
placeholder declaration (the dead-knob's write-only stub) — the loop now READS. */
|
|
224
|
+
@property --glass-backdrop-luma {
|
|
225
|
+
syntax: "<number>";
|
|
226
|
+
inherits: true;
|
|
227
|
+
initial-value: 0;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* BB.W-DEEP-GLASS — the OPT-IN deep-glass DEPTH scalar. `--glass-depth` is the
|
|
231
|
+
`--glass-level` TWIN for the deep tier: a typed INHERITING <number> so a host
|
|
232
|
+
sets it on any ancestor to retune the deep tier's depth (the cascading-scalar
|
|
233
|
+
idiom, distinct from the per-element `inherits: false` specular cohort). The
|
|
234
|
+
deep recipe (tokens/glass-deep.css) LERPs both the blur radius AND the saturate
|
|
235
|
+
between the calm `floating` endpoint (depth 0 ≡ the calm ceiling) and the Apple-
|
|
236
|
+
deep endpoint (depth 1 ≡ saturate 1.5 / blur 16px), so the deep blur is
|
|
237
|
+
`--glass-depth`-DRIVEN (the D1 axis assert — never a baked literal) and animates
|
|
238
|
+
smoothly. `initial-value: 1` is the resting deep magnitude: a `.glass-deep`
|
|
239
|
+
surface paints at the full Apple-deep register by default; a consumer dials
|
|
240
|
+
`--glass-depth: 0.5` to land it half-way to the calm floating rung. SEPARATE
|
|
241
|
+
from `--glass-level` (opacity+blur clarity), `--glass-tint-*` (legibility), and
|
|
242
|
+
`--glass-refract` (lens displacement) — the disjoint depth axis. The deep tier
|
|
243
|
+
COMPOSES `--glass-level` too (the deep blur scales it), so the opaque escape +
|
|
244
|
+
the a11y brackets reach the deep plate through the ONE level path. */
|
|
245
|
+
@property --glass-depth {
|
|
246
|
+
syntax: "<number>";
|
|
247
|
+
inherits: true;
|
|
248
|
+
initial-value: 1;
|
|
249
|
+
}
|
|
250
|
+
|
|
117
251
|
/* AX.W51 D18 — the master comfortable-sizing scalar registered typed. The
|
|
118
252
|
`<number>` syntax guarantees `calc(<base> * var(--ui-scale))` is always valid (a
|
|
119
253
|
malformed override CLAMPS to the initial value 1, not an invalidated calc — the
|
|
@@ -152,6 +286,13 @@
|
|
|
152
286
|
--glass-specular-intensity-rest: 0;
|
|
153
287
|
--glass-specular-intensity-hover: 0.1;
|
|
154
288
|
--glass-specular-intensity-active: 0.16;
|
|
289
|
+
/* BB.W-BUTTON-GLASS (d) — the BUTTON-SCOPED hover gleam bump. The lit glass
|
|
290
|
+
button should read a notch brighter at the grazing edge than the global
|
|
291
|
+
hover whisper (0.10). `.btn-glass` re-points its own
|
|
292
|
+
`--glass-specular-intensity-hover` to this knob (surfaces.css), so ONLY the
|
|
293
|
+
button lifts — the global cohort above is UNTOUCHED. A consumer retints the
|
|
294
|
+
button gleam from this ONE override. */
|
|
295
|
+
--glass-specular-btn-hover: 0.14;
|
|
155
296
|
}
|
|
156
297
|
|
|
157
298
|
/* Over the deep canvas `plus-lighter` still lifts, so the dark arm runs a touch
|
|
@@ -159,4 +300,123 @@
|
|
|
159
300
|
.dark {
|
|
160
301
|
--glass-specular-intensity-hover: 0.08;
|
|
161
302
|
--glass-specular-intensity-active: 0.12;
|
|
303
|
+
/* The button bump rides a touch softer in dark too (the dark hover is 0.08;
|
|
304
|
+
the button reads ~0.11, still a notch above the global whisper). */
|
|
305
|
+
--glass-specular-btn-hover: 0.11;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/* BB.W-BUTTON-GLASS (b)/(e) — the press DRIVE scalar. ONE typed 0..1 custom
|
|
309
|
+
property Button.vue writes off the `useSpringPress` spring (0 released → 1
|
|
310
|
+
pressed, with the ~5% overshoot the spring carries). It is the SINGLE drive the
|
|
311
|
+
press SQUISH (the `useLiquidFlex` reciprocal X/Y deform), the coupled specular/
|
|
312
|
+
brightness lift, and the optional `.glass-refract` lens-swell all read — the "one
|
|
313
|
+
drive, the glass deforms under press" read. Registered typed so a `transition`/
|
|
314
|
+
downstream `calc()` interpolates the VALUE (number), not the text. `inherits:
|
|
315
|
+
true` so the host-written value reaches the `.glass-material::before` pseudo +
|
|
316
|
+
the coupled rules. `initial-value: 0` so an unwired/SSR button is the static
|
|
317
|
+
rest frame (the no-JS CSS `.tap-squish` scale floor still presses). */
|
|
318
|
+
@property --glass-btn-press-t {
|
|
319
|
+
syntax: "<number>";
|
|
320
|
+
inherits: true;
|
|
321
|
+
initial-value: 0;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/* BC.W-AX-COMPLETION-SEAL — the 4 motion drives of the hero-scale earned-GOLD
|
|
325
|
+
completion seal (completion-seal.css consumes them). Registered typed so the
|
|
326
|
+
one-shot draw INTERPOLATES (a bare unregistered var() snaps; the §18 typed-property
|
|
327
|
+
idiom lets the engine animate the stroke-reveal / settle / glint). The seal is the
|
|
328
|
+
visual seal of the W-PHASE-PALETTE completion event — its ink reads the earned-gold
|
|
329
|
+
register; its glint composes the W-AX-METAL-GLOW catch-light. One-shot, PRM-gated,
|
|
330
|
+
compositor-only.
|
|
331
|
+
|
|
332
|
+
• --seal-draw (<percentage>) — the stroke-reveal extent (the stroke-dashoffset wipe
|
|
333
|
+
drive: 0% undrawn → 100% fully drawn). `inherits: false` (each seal owns its own
|
|
334
|
+
draw, the per-surface ownership of the specular/border-progress cohort — a sealed
|
|
335
|
+
parent must not push its draw onto a child seal). `initial-value: 100%` is the
|
|
336
|
+
SAFE fully-drawn resting seal: on a non-supporting engine (no @property) the seal
|
|
337
|
+
paints fully drawn, NEVER a blank — the editorial draw-on degrades to the finished
|
|
338
|
+
mark, never to nothing.
|
|
339
|
+
|
|
340
|
+
• --seal-scale (<number>) — the settle scale (the draw-on lands with a small spring
|
|
341
|
+
overshoot on the seal's own --spring-snappy/--spring-bouncy clock — the SPATIAL
|
|
342
|
+
leg, W-MOTION-CANON P2 enter-bouncy). `inherits: false` (per-seal). `initial-value:
|
|
343
|
+
1` is the resting settled scale.
|
|
344
|
+
|
|
345
|
+
• --seal-glint (<number>) — the gold catch-light intensity (the one-pass glint that
|
|
346
|
+
fires once on settle, reading --metal-glow-opacity from W-AX-METAL-GLOW — a glint,
|
|
347
|
+
not a loop). `inherits: false` (per-seal). `initial-value: 0` so an unwired seal is
|
|
348
|
+
un-glinting at rest (the calm floor; the glint wakes only on the draw).
|
|
349
|
+
|
|
350
|
+
• --seal-ink (<color>) — the seal stroke color. `inherits: true` (the cascading-scalar
|
|
351
|
+
idiom — a consumer scope re-inks the seal in lockstep with the completion register).
|
|
352
|
+
The @property `initial-value` MUST be a CONCRETE var-free <color> (the typed-property
|
|
353
|
+
rule: a registration fallback cannot be a var()), so it is the LITERAL light-gold
|
|
354
|
+
`oklch(0.751 0.147 84.2)` (scale-paper.css's `--gold` value) — the engine fallback
|
|
355
|
+
when no cascaded value exists. The RUNTIME cascade default is the TOKEN form the
|
|
356
|
+
recipe sets: `--seal-ink: var(--phase-complete-color, var(--color-gold))` — the
|
|
357
|
+
EARNED-gold completion register (Q2: gold is earned at completion, NEVER the running
|
|
358
|
+
phase spectrum). */
|
|
359
|
+
@property --seal-draw {
|
|
360
|
+
syntax: "<percentage>";
|
|
361
|
+
inherits: false;
|
|
362
|
+
initial-value: 100%;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
@property --seal-scale {
|
|
366
|
+
syntax: "<number>";
|
|
367
|
+
inherits: false;
|
|
368
|
+
initial-value: 1;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
@property --seal-glint {
|
|
372
|
+
syntax: "<number>";
|
|
373
|
+
inherits: false;
|
|
374
|
+
initial-value: 0;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
@property --seal-ink {
|
|
378
|
+
syntax: "<color>";
|
|
379
|
+
inherits: true;
|
|
380
|
+
initial-value: oklch(0.751 0.147 84.2);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* BC.W-SCROLL-TRIGGER — the native scroll-ramp custom. The continuous 0..1 scroll
|
|
384
|
+
progress the `useScrollTrigger` reader exposes rides this registered custom on a
|
|
385
|
+
`supportsScrollTimeline()` engine: a `.scroll-progress`-style recipe writes it via
|
|
386
|
+
`animation-timeline: scroll(self)` so a consumer's CSS ramp (the BC.W-SCROLL-CHROME
|
|
387
|
+
shrink/opacity) reads `--scroll-t` with ZERO JS (the dual-path single-writer — the JS
|
|
388
|
+
`progress` ref attaches NOTHING on a supporting engine). `inherits: true` (the
|
|
389
|
+
cascading-scalar idiom — a scroll-driven ancestor exposes the ramp to descendant
|
|
390
|
+
chrome, the `--ui-scale`/`--glass-level` pattern), distinct from the per-element
|
|
391
|
+
non-inheriting specular/progress cohort. `initial-value: 0` is the safe resting ramp
|
|
392
|
+
(the unregistered fallback paints it; on a non-supporting engine the JS reader writes
|
|
393
|
+
`progress.value` and the consumer reads the ref, not this custom). The typed
|
|
394
|
+
`<number>` lets the engine interpolate the ramp rather than the textual rep (a bare
|
|
395
|
+
unregistered var() snaps — the `--border-progress-fill`/`--dock-morph-t` precedent). */
|
|
396
|
+
@property --scroll-t {
|
|
397
|
+
syntax: "<number>";
|
|
398
|
+
inherits: true;
|
|
399
|
+
initial-value: 0;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/* BC.W-SCROLL-CHROME — the floating-chrome COLLAPSE fraction. `--chrome-collapse-t`
|
|
403
|
+
is the 0..1 collapse scalar `useScrollChrome` ramps off the scroll reader's
|
|
404
|
+
direction + range (0 = fully expanded, 1 = fully collapsed). The `.scroll-chrome`
|
|
405
|
+
recipe (scroll-chrome.css) reads it for the COMPOSITOR shrink/quiet ramp:
|
|
406
|
+
`transform: scale()/translateY()` (the SPATIAL leg), `opacity` (bounded above a
|
|
407
|
+
never-invisible floor — the NN/g pale-fade trap forbidden), and the shadow LIFT as
|
|
408
|
+
content scrolls under (Apple "as text scrolls underneath, shadows become more
|
|
409
|
+
prominent"). It NEVER drives the resting `backdrop-filter` blur (the
|
|
410
|
+
W-DOCK-SHRINK-BLUR fence — the shrunken bar is crisp glass, not a blurry mess).
|
|
411
|
+
Registered typed so a bare `var()` INTERPOLATES the ramp rather than snapping (the
|
|
412
|
+
`--scroll-t`/`--dock-morph-t` precedent); `inherits: true` (the cascading-scalar
|
|
413
|
+
idiom — a scroll-driven ancestor exposes the collapse to descendant chrome, the
|
|
414
|
+
`--scroll-t`/`--glass-level` pattern, distinct from the per-element non-inheriting
|
|
415
|
+
specular cohort). `initial-value: 0` is the PERSISTENT rest (the iOS-27 default — a
|
|
416
|
+
bare chrome does NOT collapse; the unregistered fallback paints it too, so the
|
|
417
|
+
recipe is byte-identical to the expanded chrome when unwired). */
|
|
418
|
+
@property --chrome-collapse-t {
|
|
419
|
+
syntax: "<number>";
|
|
420
|
+
inherits: true;
|
|
421
|
+
initial-value: 0;
|
|
162
422
|
}
|