@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
|
@@ -44,13 +44,17 @@
|
|
|
44
44
|
(segmented/pill slider OR the underline rule) STRETCHES along its travel
|
|
45
45
|
axis as it glides between tabs, then settles to fit — the Material 3
|
|
46
46
|
ELASTIC / Apple Liquid-Glass "controls insist on animating themselves"
|
|
47
|
-
register
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
register. The deform is volume-preserving (stretch X, compress Y in lockstep:
|
|
48
|
+
`scale: var(--stretch) calc(1 / var(--stretch))`) so it reads as an elastic
|
|
49
|
+
warp, never a size pump. A consumer dials the elasticity (or to 1 for none)
|
|
50
|
+
without touching source.
|
|
51
|
+
BC.W-LIQUID-TAB — lifted 1.08 → 1.15 (in lockstep with the no-token floor
|
|
52
|
+
DEFAULT_INDICATOR_MAX_STRETCH, the SOLE cap source — constant + token never
|
|
53
|
+
fork). The click travel-squish AND the liquid-tab pull-morph read this ONE
|
|
54
|
+
cap; the lift makes a FAST pull visibly swell the pill so the gel-squish READS
|
|
55
|
+
as liquid (glass-dock-codebase.md §3.4) — still capped LOW (≤1.2, the
|
|
56
|
+
anti-taffy-pull bar; the pill swells, never taffy-pulls). */
|
|
57
|
+
--tab-indicator-max-stretch: 1.15;
|
|
54
58
|
/* BA.W-TABS — the indicator's OWN travel clock, re-pointed off the generic
|
|
55
59
|
`--duration-normal` (0.3s, which dragged a ~190ms sub-pixel undershoot tail
|
|
56
60
|
past the ~100ms 90%-travel point — the R10-2 "too slow" read) onto the
|
|
@@ -67,6 +71,40 @@
|
|
|
67
71
|
0 0 8px color-mix(in srgb, var(--ring) 15%, transparent);
|
|
68
72
|
--focus-ring: var(--focus-ring-shadow);
|
|
69
73
|
|
|
74
|
+
/* BB.W-INVALID-RING — the destructive twin of --focus-ring-shadow. The
|
|
75
|
+
aria-invalid ring is ONE register: every form control (Input/Textarea/
|
|
76
|
+
NumberField via `.input-pill`, SelectTrigger, ComboboxInput, TagsInput)
|
|
77
|
+
reads `box-shadow: var(--invalid-ring)` instead of re-spelling the recipe
|
|
78
|
+
inline. ONE geometry (the SAME `--focus-ring-width`), ONE tint knob
|
|
79
|
+
(`--invalid-ring-tint`, the documented retint axis), resolving
|
|
80
|
+
`var(--destructive)` so a dark `--destructive` re-anchor flows through. A
|
|
81
|
+
consumer retints every invalid ring library-wide from a single
|
|
82
|
+
`:root { --invalid-ring-tint: … }` override — the token-first axis
|
|
83
|
+
`--focus-ring-shadow` already grants the focus ring. */
|
|
84
|
+
--invalid-ring-tint: 35%;
|
|
85
|
+
--invalid-ring: 0 0 0 var(--focus-ring-width)
|
|
86
|
+
color-mix(in srgb, var(--destructive) var(--invalid-ring-tint), transparent);
|
|
87
|
+
|
|
88
|
+
/* BC.W-RADIO-FIX — the selection-control STATE register (the `--focus-ring-shadow`
|
|
89
|
+
/ `--invalid-ring` precedent: one named register, read everywhere — never a
|
|
90
|
+
per-control magic literal). The checks family (Checkbox + RadioGroupItem) reads
|
|
91
|
+
these TWO tokens so a re-tint is ONE edit, library-wide.
|
|
92
|
+
|
|
93
|
+
• `--control-ring` — the UNCHECKED outline. Post-BC.W-BLACK-BAR the general glass
|
|
94
|
+
rim is ≤4% warm-ink (`--glass-border-resting`), which reads as a near-invisible
|
|
95
|
+
hairline on a 16px circle — too faint to tell a rest radio from its siblings. So
|
|
96
|
+
the selection atoms are the NAMED exception (recorded in BC.W-BLACK-BAR's fences):
|
|
97
|
+
a slightly-stronger ~12% warm-ink outline that reads as a DEFINED circle at 16px
|
|
98
|
+
without re-introducing the dark `--primary` hairline. Warm-ink-derived (no gray,
|
|
99
|
+
BA.W-NO-GRAY).
|
|
100
|
+
• `--control-checked-bg` — the SELECTED glass-tinted fill. The recipe is minted
|
|
101
|
+
ONCE here (the anti-paste bite: a second inline `color-mix(... --primary 88% ...)`
|
|
102
|
+
literal on a checks atom reds — the recipe IS the token). Mirrors the
|
|
103
|
+
glass-`--primary` over the floating tier the Checkbox already speaks, so the ring
|
|
104
|
+
goes outline → filled glass disc (a real material step), warm-not-saturated. */
|
|
105
|
+
--control-ring: color-mix(in srgb, var(--foreground) 12%, transparent);
|
|
106
|
+
--control-checked-bg: color-mix(in srgb, var(--primary) 88%, var(--glass-bg-floating));
|
|
107
|
+
|
|
70
108
|
/* ═══════════════════════════════════════════════
|
|
71
109
|
§12 PAPER TEXTURES
|
|
72
110
|
═══════════════════════════════════════════════ */
|
|
@@ -80,6 +118,65 @@
|
|
|
80
118
|
--paper-clean-texture: url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
|
|
81
119
|
--paper-aged-texture: url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
|
|
82
120
|
|
|
121
|
+
/* BC.W-GRID-SIMPLE — the ONE engineering-graph-paper rhythm source. The
|
|
122
|
+
keyframes.js `EditorShell` magnitudes, re-expressed as `--grid-*` tokens:
|
|
123
|
+
a fine 1rem cell + a bolder 5rem major rule (the 5× engineering-graph
|
|
124
|
+
rhythm), each line a hairline-crisp single device-pixel. The pitch is
|
|
125
|
+
REM-RELATIVE — 1rem (16px at the default root) and 5rem (80px) divide
|
|
126
|
+
cleanly at DPR 1/2/3, so every line lands on a whole device-pixel column/
|
|
127
|
+
row (the anti-blur rule; the prior 28px/32px integer pitch landed on
|
|
128
|
+
sub-pixel boundaries at fractional-DPR zoom and the anti-aliaser softened
|
|
129
|
+
the 1px lines). The fine 3% is the user's "less busy substrate" — DELIBERATELY
|
|
130
|
+
BELOW the 10% legibility floor — and the major 11% is held STRICTLY ABOVE it
|
|
131
|
+
(the kf weight step). The line INK is a `color-mix(… var(--foreground) N%, …)`
|
|
132
|
+
so it re-tints with the theme by construction (warm-ink on light, lifting
|
|
133
|
+
off near-black on dark) — NO parallel `--grid-*-dark` family (the
|
|
134
|
+
`--foreground` flip re-resolves the mix; the cards.css dark-arm precedent).
|
|
135
|
+
A consumer dials it LARGER (`--grid-pitch: 1.25rem` / `--grid-major: 6.25rem`)
|
|
136
|
+
or quieter (the `--grid-line`/`--grid-line-major` strength knobs) at `:root`
|
|
137
|
+
— the token-first axis. This is the SINGLE rhythm source: the demo full-bleed
|
|
138
|
+
page grid (`.grid-bg`, story-hero.css) AND the library card-interior register
|
|
139
|
+
(`.paper-grid`, cards.css) both read it (the two-parallel-28px/32px-systems
|
|
140
|
+
fix). The LIQUID full-bleed sibling (`<PaperGrid>`, BC.W-VIZ-PAPERGRID)
|
|
141
|
+
re-uses the SAME rhythm — one pitch, two registers (static page-bg vs liquid). */
|
|
142
|
+
--grid-pitch: 1rem;
|
|
143
|
+
--grid-major: 5rem;
|
|
144
|
+
--grid-line: color-mix(in srgb, var(--foreground) 3%, transparent);
|
|
145
|
+
--grid-line-major: color-mix(in srgb, var(--foreground) 11%, transparent);
|
|
146
|
+
|
|
147
|
+
/* The library card-interior GEOMETRIC register (`.paper-grid`, cards.css) —
|
|
148
|
+
the document-register card's INTERIOR ground, felt THROUGH the glass tint.
|
|
149
|
+
It UNIFIES its pitch onto the shared `--grid-pitch` (the prior 32px literal
|
|
150
|
+
retired — ONE rhythm source) and keeps its OWN ambient through-card strength
|
|
151
|
+
register: the `--paper-grid-opacity` single knob (~0.08, the ask's "felt
|
|
152
|
+
THROUGH the card ~0.08"). DISTINCT from the page-bg 3%/11% tier above — a
|
|
153
|
+
card interior reads quieter than a full-bleed page wash — but the PITCH is
|
|
154
|
+
shared. The ink stays a `color-mix(… var(--foreground) N%, …)` (re-tints with
|
|
155
|
+
--foreground in lockstep, never a hardcoded literal — the no-gray floor); the
|
|
156
|
+
MAJOR rule rides `* 1.6` (the 0.08→0.128 weight step). The strength lives in
|
|
157
|
+
the ink alpha, not a layer `opacity`, because `.paper-grid` paints the grid on
|
|
158
|
+
the card's HOST `background-image` to avoid two-pseudo-budget contention with
|
|
159
|
+
the grain `::after` / specular `::before` (see cards.css). A STATIC raster —
|
|
160
|
+
gradient-stack `background-image`, one compositor-cached paint, never a
|
|
161
|
+
per-frame repaint. */
|
|
162
|
+
--paper-grid-opacity: 0.08;
|
|
163
|
+
--paper-grid-texture-size: var(--grid-pitch);
|
|
164
|
+
--paper-grid-line: color-mix(
|
|
165
|
+
in srgb,
|
|
166
|
+
var(--foreground) calc(var(--paper-grid-opacity) * 100%),
|
|
167
|
+
transparent
|
|
168
|
+
);
|
|
169
|
+
--paper-grid-line-major: color-mix(
|
|
170
|
+
in srgb,
|
|
171
|
+
var(--foreground) calc(var(--paper-grid-opacity) * 160%),
|
|
172
|
+
transparent
|
|
173
|
+
);
|
|
174
|
+
--paper-grid-texture:
|
|
175
|
+
linear-gradient(to right, var(--paper-grid-line-major) 1px, transparent 1px),
|
|
176
|
+
linear-gradient(to bottom, var(--paper-grid-line-major) 1px, transparent 1px),
|
|
177
|
+
linear-gradient(to right, var(--paper-grid-line) 1px, transparent 1px),
|
|
178
|
+
linear-gradient(to bottom, var(--paper-grid-line) 1px, transparent 1px);
|
|
179
|
+
|
|
83
180
|
/* ═══════════════════════════════════════════════
|
|
84
181
|
§13 GOLD (accent family kept for consumers using it)
|
|
85
182
|
═══════════════════════════════════════════════ */
|
|
@@ -130,6 +227,38 @@
|
|
|
130
227
|
--color-silver-dark: var(--silver-dark);
|
|
131
228
|
--color-silver-deep: var(--silver-deep);
|
|
132
229
|
|
|
230
|
+
/* ═══════════════════════════════════════════════
|
|
231
|
+
§13c BRONZE (the THIRD brand-metal — BB.W-METAL-SHIMMER)
|
|
232
|
+
═══════════════════════════════════════════════ */
|
|
233
|
+
/* The warm-brown patina quad — the third member of the gold·silver·bronze
|
|
234
|
+
brand-metal TRIAD (the medal triad, the gilt/aged "third place" figure, the
|
|
235
|
+
record-badge register). Gold (warm-yellow ~84°) + silver (cool-steel ~255°)
|
|
236
|
+
are the two poles; bronze is the warm-amber-brown ~54° register between them.
|
|
237
|
+
The cascade EXACTLY mirrors gold's and silver's (scale-paper raw → bridges
|
|
238
|
+
`--color-bronze*` alias → both dark arms); `-deep` is mode-invariant.
|
|
239
|
+
|
|
240
|
+
BA.W-NO-GRAY brand-metal EXCEPTION — bronze is the THIRD metal on the SAME
|
|
241
|
+
sanction silver carries (the ONE cool-neutral exception). Bronze is a WARM
|
|
242
|
+
metal identity with chroma ABOVE the warm floor: each rung resolves OKLab
|
|
243
|
+
C 0.072-0.112 (far above the STRONG_FLOOR 0.020) at hue ~49-60°, so it reads
|
|
244
|
+
as polished bronze MATERIAL, never a desaturated brown CAST (the W-NO-GRAY
|
|
245
|
+
"warm-not-tinted" bar). It is NOT a neutral — a low-chroma bronze would BE a
|
|
246
|
+
neutral and break the brand-metal read; the chroma is the metal. The hue sits
|
|
247
|
+
between gold and red-orange so it distinguishes from a dark gold at the rim. */
|
|
248
|
+
--bronze: oklch(0.620 0.092 54.0);
|
|
249
|
+
--bronze-light: oklch(0.760 0.112 60.0);
|
|
250
|
+
--bronze-dark: oklch(0.500 0.082 50.0);
|
|
251
|
+
/* The mode-INVARIANT deep bronze plate (mirrors `--gold-deep`/`--silver-deep`'s
|
|
252
|
+
contract — a fixed dark bronze so a white label clears ≥4.5:1 in BOTH modes;
|
|
253
|
+
it does NOT flip with `--foreground`). 8.36:1 white in light / 4.79:1 in dark
|
|
254
|
+
on the dark-arm-lifted rungs. The would-be saturated CTA twin of the metal. */
|
|
255
|
+
--bronze-deep: oklch(0.430 0.072 50.0);
|
|
256
|
+
|
|
257
|
+
--color-bronze: var(--bronze);
|
|
258
|
+
--color-bronze-light: var(--bronze-light);
|
|
259
|
+
--color-bronze-dark: var(--bronze-dark);
|
|
260
|
+
--color-bronze-deep: var(--bronze-deep);
|
|
261
|
+
|
|
133
262
|
/* ═══════════════════════════════════════════════
|
|
134
263
|
§14 RAINBOW PALETTE — oklch (AV.W16 TW2; mode-independent, no .dark
|
|
135
264
|
mirror; hue preserved from the prior hsl() cadence)
|
|
@@ -267,6 +396,32 @@
|
|
|
267
396
|
--metric-row-label-clamp-cqi: 5cqi;
|
|
268
397
|
--metric-row-label-clamp-max: 2.75rem;
|
|
269
398
|
|
|
399
|
+
/* BB.W-CONTROL-TOKENS — the two CONSUMER-reach knobs (the no-`:deep`
|
|
400
|
+
precept, Design Axis 2). MetricRow internals a consumer must reach are
|
|
401
|
+
exposed as tokens, never an internal a `:deep()` overrides.
|
|
402
|
+
|
|
403
|
+
• `--metric-row-label-align` — the label `text-align`. Default `left`
|
|
404
|
+
(byte-identical to the prior render). A cert-grid consumer building a
|
|
405
|
+
labelled ledger sets `right` at `:root`/a parent/per-row for a
|
|
406
|
+
right-aligned fixed seam — cascades into `.metric-row__label` with no
|
|
407
|
+
`:deep()`.
|
|
408
|
+
• `--metric-row-icon-color` — the leading-glyph ink (the MetricCell
|
|
409
|
+
`iconColor`→IconChip precedent, mirrored as a token since MetricRow
|
|
410
|
+
ships a raw `<component :is>`). The per-row `phaseColor` prop seeds it
|
|
411
|
+
inline so today's consumers paint unchanged; un-set, the component
|
|
412
|
+
fallback (`inherit`) keeps the icon on the inherited cascade. A consumer
|
|
413
|
+
wanting a DISTINCT icon ink from the phase tint overrides it directly.
|
|
414
|
+
|
|
415
|
+
Both carry their byte-identical defaults — `left` (the prior render) /
|
|
416
|
+
`inherit` (the prior un-tinted glyph). Declaring them here keeps the
|
|
417
|
+
`--metric-row-*` family discoverable in one home; the component-level
|
|
418
|
+
`var(…, fallback)` read preserves the same default if the token is ever
|
|
419
|
+
un-declared (the defense-in-depth back-compat floor). A per-row
|
|
420
|
+
`phaseColor` prop still wins over the `:root` `--metric-row-icon-color`
|
|
421
|
+
(inline cascades higher), so today's phase-tinted icons are unchanged. */
|
|
422
|
+
--metric-row-label-align: left;
|
|
423
|
+
--metric-row-icon-color: inherit;
|
|
424
|
+
|
|
270
425
|
/* ═══════════════════════════════════════════════
|
|
271
426
|
§2.D INSTRUMENT-CLUSTER COMPOSITION RHYTHM
|
|
272
427
|
|
|
@@ -317,93 +472,10 @@
|
|
|
317
472
|
--table-head-h: calc(3rem * var(--table-density));
|
|
318
473
|
--table-head-px: calc(1rem * var(--table-density));
|
|
319
474
|
|
|
320
|
-
/*
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
knob a token so a consumer retunes without editing library source.
|
|
327
|
-
|
|
328
|
-
SCROLL-DRIVEN (scroll-driven.css). Values mirror the JS-fallback
|
|
329
|
-
composable defaults (`useScrollProgress` / `useStaggerReveal`) so the
|
|
330
|
-
native CSS path and the fallback path read identically — no visual seam
|
|
331
|
-
at the `@supports` boundary.
|
|
332
|
-
|
|
333
|
-
TOP-LAYER (animations.css §TOP-LAYER). The `@starting-style` entry/exit
|
|
334
|
-
grammar for native `<dialog>` / `[popover]` glass surfaces. The backdrop dim
|
|
335
|
-
uses the house alpha-derivative `color-mix(in srgb, var(--background) Npct,
|
|
336
|
-
transparent)` (AZ.W-ADAPTIVE-AUTO A5-1). It is NOT the `hsl(var(--background)
|
|
337
|
-
/ α)` channel form: `--background` is a COMPLETE `hsl()` color
|
|
338
|
-
(`= hsl(48 12% 98%)`), so `hsl(var(--background) / α)` double-wraps to
|
|
339
|
-
`hsl(hsl(…) / α)` — invalid, never paints (the modal dim was silently dead).
|
|
340
|
-
The genuine channel form would require `--background` declared as a bare
|
|
341
|
-
`H S% L%` triple, which it never is — hence the alpha-derivative mix.
|
|
342
|
-
|
|
343
|
-
VIEW-TRANSITION (view-transition.css). The shared `.gl-list-item` group
|
|
344
|
-
recipe + the `--vt-*` axes the `useViewTransition` substrate consumers
|
|
345
|
-
(dock layer swap, muster J's verdict re-rank) tune their swap against.
|
|
346
|
-
═══════════════════════════════════════════════ */
|
|
347
|
-
--scroll-progress-scroller: root;
|
|
348
|
-
--scroll-reveal-rise: 6px;
|
|
349
|
-
--scroll-reveal-range-end: 60%;
|
|
350
|
-
|
|
351
|
-
--top-layer-enter-scale: 0.96;
|
|
352
|
-
--top-layer-backdrop-blur: 8px;
|
|
353
|
-
--top-layer-backdrop-dim: 0.5;
|
|
354
|
-
|
|
355
|
-
--vt-duration: var(--duration-normal);
|
|
356
|
-
/* AX.W05 — ONE iOS-spring vocabulary: every spring-flavored transition reads
|
|
357
|
-
a governed `--spring-*` register. The legacy apple-spring cubic-bezier
|
|
358
|
-
(+27.5% overshoot) was a SECOND authority beside the regen `--spring-*`
|
|
359
|
-
cohort; it is EXCISED. Its emphatic-overshoot register maps to the playful
|
|
360
|
-
`--spring-bouncy` (the closest `linear()` overshoot stop-set), so the VT
|
|
361
|
-
default + the cards/top-layer transitions share one spring primitive
|
|
362
|
-
(CPU + GPU sample the same curve). No cubic-bezier fallback seed survives —
|
|
363
|
-
the `linear()` spring degrades to `ease` where `linear()` is unsupported. */
|
|
364
|
-
--vt-ease: var(--spring-bouncy);
|
|
365
|
-
--vt-rise: 8px;
|
|
366
|
-
|
|
367
|
-
/* AT.W6-dock-c / AU.W8 — the dock layer-swap morph timing, minted ONCE so
|
|
368
|
-
both engine paths are timing-IDENTICAL: the FLIP fallback (via
|
|
369
|
-
`--dock-motion-resize`), the native View-Transition group (its
|
|
370
|
-
`animation-timing-function`), AND the runtime SpringProgress driver
|
|
371
|
-
(AU.W8.3) consume this same `(0.32, 0.7)` source curve. Retires the AQ.W6
|
|
372
|
-
fork where the VT path ran `--vt-ease` (apple-spring, +27.5% overshoot)
|
|
373
|
-
while the FLIP ran the snappy spring. `--vt-ease` still defaults the
|
|
374
|
-
other VT recipes (`.gl-list-item`).
|
|
375
|
-
|
|
376
|
-
AU.W8 — RETARGET snappy → dock. `--spring-snappy` (ζ=0.65, +6.8%) read as
|
|
377
|
-
mechanical: a stiff plateau at ~48% with too little overshoot to feel
|
|
378
|
-
alive ("not iOS-smooth"). AW.W2 then retuned the dock spring to the
|
|
379
|
-
iOS-control register: `--spring-dock` ((0.32, 0.7), ~+4.6%) settles snappy
|
|
380
|
-
with a restrained overshoot — the felt iOS dock morph, off the prior
|
|
381
|
-
playful +18.5% register. The runtime driver's DOCK_SPRING const MIRRORS the
|
|
382
|
-
(0.32, 0.7) PRESETS row, so the CSS token and the JS-driven morph are
|
|
383
|
-
bit-identical. */
|
|
384
|
-
--dock-resize-spring: var(--spring-dock);
|
|
385
|
-
|
|
386
|
-
/* AT.W7-dock-b — dock-control press micro-feedback spring. A TRANSFORM-ONLY
|
|
387
|
-
spring (`scale`/`rotate`) the dock controls apply to their hover/press
|
|
388
|
-
activation so the squish reads with a touch of spring-back rather than a
|
|
389
|
-
flat ease. STRICTLY transform-scoped: it must never touch the surface-tier
|
|
390
|
-
`[data-held]` fades (background/border/box-shadow), which stay on
|
|
391
|
-
`--duration-fast var(--ease-standard)`. The duration pairs with
|
|
392
|
-
`--duration-fast`; consumers retune the whole feel via this one token.
|
|
393
|
-
|
|
394
|
-
AY.W-DOCK2 (D6) — the register is `--spring-smooth`, the §6 easing-doctrine
|
|
395
|
-
transform-press register (tokens.css §2: transform hover/press/active →
|
|
396
|
-
`--spring-smooth`/`--spring-snappy`, NEVER `--spring-bouncy`; a press must
|
|
397
|
-
settle, never overshoot into a visible bounce). The prior `--spring-bouncy`
|
|
398
|
-
ROOT default was off-doctrine, shadowed for the four named controls by a
|
|
399
|
-
per-surface re-point in dock-controls.css — the exact per-surface fork the
|
|
400
|
-
doctrine kills. The re-point is now a DEAD byte-identical redeclaration and is
|
|
401
|
-
DELETED; the ROOT token IS the doctrine register, so any other consumer of
|
|
402
|
-
`--dock-press-spring` inherits the correct smooth register.
|
|
403
|
-
|
|
404
|
-
BA.W-GLASS-CAL Unit 3 — the duration leg re-times off the generic
|
|
405
|
-
`--duration-fast` (0.2s) onto `--spring-smooth-duration` (0.36s, the
|
|
406
|
-
smooth spring's OWN 2%-band envelope settle), so the press transform plays
|
|
407
|
-
at its physical settle rather than a generic clock. */
|
|
408
|
-
--dock-press-spring: var(--spring-smooth-duration) var(--spring-smooth);
|
|
475
|
+
/* §20 PLATFORM MOTION (AQ.W5) — the scroll-driven/choreography + TOP-LAYER +
|
|
476
|
+
VIEW-TRANSITION + dock-spring motion knobs — carved WHOLE to
|
|
477
|
+
tokens/scroll-tokens.css at BB.W-CARVE4 (a contiguous tail carve at the §19/§20
|
|
478
|
+
seam; §20 is the file's last section, so the partial @import-s IMMEDIATELY
|
|
479
|
+
AFTER this one — the dist is byte-isomorphic). The paper/control/display/metal/
|
|
480
|
+
timeline/metric/table families above stay. */
|
|
409
481
|
}
|
|
@@ -51,9 +51,19 @@
|
|
|
51
51
|
--type-leading-body: 1.5;
|
|
52
52
|
--type-leading-prose: 1.618;
|
|
53
53
|
--type-leading-heading: 1.2;
|
|
54
|
-
|
|
54
|
+
/* BB.W-DISPLAY-TRACKING — the display leading is tightened to the Apple
|
|
55
|
+
84/80 ≈ 1.05 signature (was 1.1). The DISPLAY ladder ONLY reads this rung;
|
|
56
|
+
--type-leading-heading (1.2) carries the heading/title register. */
|
|
57
|
+
--type-leading-display: 1.05;
|
|
55
58
|
|
|
56
59
|
--type-tracking-tight: -0.025em;
|
|
60
|
+
/* BB.W-DISPLAY-TRACKING — the DISPLAY-ONLY proportional negative tracking
|
|
61
|
+
rung (the Apple −1.5%-of-size signature: 80px → −1.2px = −0.015em). It is
|
|
62
|
+
em-relative, so the single value is a constant −1.5% across the whole
|
|
63
|
+
clamp() ladder (φ² → φ^(11/2)). MINTED as its OWN rung so the display
|
|
64
|
+
calibration NEVER bleeds into the shared --type-tracking-tight (the
|
|
65
|
+
heading/title/configurator register's tracking, kept at -0.025em). */
|
|
66
|
+
--type-tracking-display: -0.015em;
|
|
57
67
|
--type-tracking-snug: -0.01em;
|
|
58
68
|
--type-tracking-normal: 0;
|
|
59
69
|
--type-tracking-wide: 0.025em;
|
|
@@ -64,6 +74,20 @@
|
|
|
64
74
|
§1 DURATION
|
|
65
75
|
═══════════════════════════════════════════════ */
|
|
66
76
|
--duration-instant: 0.1s;
|
|
77
|
+
/* BC.W-CONTROL-SMOOTH — the named control-press SURFACE clock (the W-GLASS-CAL
|
|
78
|
+
per-register-clock discipline). An interactive control the user actively pokes
|
|
79
|
+
(hover-in, press, toggle) wants the iOS quick ~100-120ms surface beat, NOT the
|
|
80
|
+
0.2s calm card-crossfade beat — at 0.2s the colour/border/shadow easing drags
|
|
81
|
+
VISIBLY behind the pointer (the §F "super laggy" read). 0.12s brackets the iOS
|
|
82
|
+
100-120ms quick-control register (apple-ios27.md). `transition-control` (btn.css)
|
|
83
|
+
reads THIS so the whole control family re-times from one `:root` override, and
|
|
84
|
+
the surface beat now tracks the press-squish window (the press is `tap-squish`/
|
|
85
|
+
`useSpringPress`'s coupled transform leg on the spring's own clock — P3 fade-
|
|
86
|
+
coupled-to-transform). The bezier `--ease-standard` STAYS for the surface legs
|
|
87
|
+
(a colour cross-fade on a spring wobbles, §6 binding); only the DURATION shortens.
|
|
88
|
+
The CALM card register keeps `--duration-fast`/`--duration-normal` — a `<Card>` is
|
|
89
|
+
not an interactive control. */
|
|
90
|
+
--duration-control: 0.12s;
|
|
67
91
|
--duration-fast: 0.2s;
|
|
68
92
|
--duration-normal: 0.3s;
|
|
69
93
|
--duration-slow: 0.45s;
|
|
@@ -72,17 +96,24 @@
|
|
|
72
96
|
--duration-xxl: 1.5s;
|
|
73
97
|
--duration-shimmer-fast: 3s;
|
|
74
98
|
--duration-shimmer: 5s;
|
|
99
|
+
/* BB.W-METAL-SHIMMER — the brand-metal family's OWN slow dignified one-pass
|
|
100
|
+
clock (slower than the 5s generic shimmer). The metal sweep (gold·silver·
|
|
101
|
+
bronze, text-clip + border/mask) reads as a calm slow patina catch, not a
|
|
102
|
+
fast band-pass — the §6 calm register. (`--duration-seal` was never landed;
|
|
103
|
+
this is net-new, NOT a retirement re-point.) */
|
|
104
|
+
--duration-metal: 6s;
|
|
75
105
|
/* BA.W-GLASS-CAL (H2a) — `--duration-sparkle` (600ms) DELETED with the disco
|
|
76
106
|
recipe retirement: the sparkle-sweep keyframe + its sole `btn-audacious`
|
|
77
107
|
consumer are gone. */
|
|
78
108
|
|
|
79
109
|
/* AH.W5-e (FA-8 §4d) — motion-duration + staged-reveal canon.
|
|
80
110
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
111
|
+
Duration + delay tokens promoted from raw literals at speedtest's
|
|
112
|
+
celebratory-reveal SFCs (SpeedtestResults, ThankYou, ResultStack).
|
|
113
|
+
Unified under the `--motion-*` namespace (parallel to `--motion-ease-*`)
|
|
114
|
+
so all motion tokens cluster at one canon — duration + easing arm
|
|
115
|
+
together. (BB.W-DEAD-SWEEP retired the never-shipped CompleteBadge
|
|
116
|
+
staged-reveal cluster — no consumer existed.) */
|
|
86
117
|
|
|
87
118
|
/* Staged-entrance pairing — opacity + transform Vue <Transition> arms
|
|
88
119
|
in the celebratory headline + result-row reveals. Partners with
|
|
@@ -99,17 +130,6 @@
|
|
|
99
130
|
glyphs cleanly. Load-bearing — zeroing either collapses the shimmer to
|
|
100
131
|
an imperceptible blow-through. */
|
|
101
132
|
|
|
102
|
-
/* CompleteBadge staged-reveal cluster — the disc / ring / check curve
|
|
103
|
-
fires at three asymmetric durations + delays per the A4-AF staged-
|
|
104
|
-
variety design intent. Promoting the magic numbers makes the
|
|
105
|
-
staged-variety visible at the canon. */
|
|
106
|
-
--motion-duration-badge-disc: 420ms;
|
|
107
|
-
--motion-duration-badge-ring: 560ms;
|
|
108
|
-
--motion-duration-badge-check: 380ms;
|
|
109
|
-
--motion-delay-badge-disc: 80ms;
|
|
110
|
-
--motion-delay-badge-ring: 220ms;
|
|
111
|
-
--motion-delay-badge-check: 460ms;
|
|
112
|
-
|
|
113
133
|
/* Staggered-reveal increment canon — three perceptually-distinct tiers for
|
|
114
134
|
per-row/per-cell/per-bar cascades:
|
|
115
135
|
• tight (40ms) — dense row cascades, sub-perceptual gap
|
|
@@ -135,12 +155,14 @@
|
|
|
135
155
|
`linear()` stops; this is the single source of truth tying each
|
|
136
156
|
(response, ζ) pair to its serialized curve.
|
|
137
157
|
|
|
138
|
-
iOS-canonical (response, dampingFraction) per AL-X4 §3
|
|
158
|
+
iOS-canonical (response, dampingFraction) per AL-X4 §3 (BC.W-SPRING-EASE
|
|
159
|
+
eased `snappy`+`bouncy` to fill their clocks + minted the `press` register):
|
|
139
160
|
smooth: (0.50s, ζ=0.86) — gentle settle, sub-perceptual overshoot ~0.5%
|
|
140
|
-
snappy: (0.
|
|
141
|
-
bouncy: (0.50s, ζ=0.
|
|
161
|
+
snappy: (0.42s, ζ=0.78) — quick crisp, eased to fill its clock, overshoot ~+2.0%
|
|
162
|
+
bouncy: (0.50s, ζ=0.55) — emphatic, overshoot ~+12.6% (the Apple 12-18% band)
|
|
142
163
|
gentle: (0.70s, ζ=1.00) — patient critically-damped
|
|
143
164
|
dock: (0.32s, ζ=0.70) — dock expand/collapse morph, overshoot ~+4.6%
|
|
165
|
+
press: (0.15s, ζ=0.86) — the iOS interactive tap-press, sub-100ms answer, ~+0.5%
|
|
144
166
|
|
|
145
167
|
Note on `smooth`: at ζ=0.86 the analytic solver produces a peak
|
|
146
168
|
of 1.00498 (+0.5%) at the 24% slot — mathematically present but
|
|
@@ -153,21 +175,53 @@
|
|
|
153
175
|
── EASING DOCTRINE (AX.W52 §6 — which easing fits which job) ──
|
|
154
176
|
ONE recorded rule so the animation easing stops forking live. This
|
|
155
177
|
FORMALIZES the already-correct `transitions.css` idiom (enter=spring,
|
|
156
|
-
exit=bezier) as the house rule every recipe reaches for
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
|
169
|
-
|
|
170
|
-
|
|
|
178
|
+
exit=bezier) as the house rule every recipe reaches for.
|
|
179
|
+
|
|
180
|
+
BB.W-MOTION-CANON — the table embodies ONE principle (Material 3's
|
|
181
|
+
spatial-vs-effects split, codified in `docs/precepts/motion-canon.md`
|
|
182
|
+
as P1): a SPATIAL channel (the box MOVES/RESHAPES — position, SIZE,
|
|
183
|
+
rotation, corners) rides a `--spring-<name>` (overshoot = physicality);
|
|
184
|
+
an EFFECTS channel (the surface RE-TINTS — color, opacity, box-shadow)
|
|
185
|
+
rides a bezier `--ease-*` (a colour cross-fade reads as a wobble on a
|
|
186
|
+
spring). Each row below is tagged [SPATIAL] (spring) or [EFFECTS]
|
|
187
|
+
(bezier) so the rule is legible, not implicit. The canon doc is the
|
|
188
|
+
canonical home; this table is the SOURCE it re-states:
|
|
189
|
+
|
|
190
|
+
| Transition kind | Tier | Easing |
|
|
191
|
+
|--------------------------------------------------|-----------|--------------------------|
|
|
192
|
+
| Surface props (bg, border, color, box-shadow, | [EFFECTS] | `--ease-standard` (bezier|
|
|
193
|
+
| opacity) | | — a colour cross-fade |
|
|
194
|
+
| | | reads as a wobble on a |
|
|
195
|
+
| | | spring) |
|
|
196
|
+
| Transform — hover/press/active (scale, translate,| [SPATIAL] | `--spring-smooth` (the |
|
|
197
|
+
| rotate) | | ONE button/interactive |
|
|
198
|
+
| | | scale register) or |
|
|
199
|
+
| | | `--spring-snappy` |
|
|
200
|
+
| Size / morph (dock V↔H, indicator size- | [SPATIAL] | `--spring-dock` / |
|
|
201
|
+
| correction, reveal source-rect bloom) | | `--spring-snappy`, |
|
|
202
|
+
| | | expressed as a |
|
|
203
|
+
| | | COMPOSITOR transform |
|
|
204
|
+
| | | (P5) — NEVER an |
|
|
205
|
+
| | | animated width/height |
|
|
206
|
+
| Enter (mount, popover open, dialog in, reveal) | [SPATIAL] | `--spring-bouncy` / |
|
|
207
|
+
| | | `--spring-snappy` |
|
|
208
|
+
| Bold decelerating arrival (the SOTA arrival — | [SPATIAL] | `--ease-out-expo` |
|
|
209
|
+
| reveal draw-on, big-distance settle) | | (cubic-bezier(.16,1, |
|
|
210
|
+
| | | .3,1); the house expo) |
|
|
211
|
+
| Exit (unmount, close) | [EFFECTS] | `--ease-out` / |
|
|
212
|
+
| | | `--ease-standard` |
|
|
213
|
+
| | | (bezier, NO overshoot —|
|
|
214
|
+
| | | an exit must never |
|
|
215
|
+
| | | overshoot past gone) |
|
|
216
|
+
| Position-tracked (specular pointer follow) | [EFFECTS] | `--ease-standard` |
|
|
217
|
+
|
|
218
|
+
The SOTA arrival ease is the EXISTING `--ease-out-expo` (alias →
|
|
219
|
+
`--motion-ease-out-expo` = `cubic-bezier(0.16, 1, 0.3, 1)`, the house
|
|
220
|
+
expo with the value.js `easeOutExpo` JS twin in the MOTION_CURVES table)
|
|
221
|
+
— NOT a net-new token. The motion canon NAMES it as the arrival register;
|
|
222
|
+
it is not re-minted (a duplicate alias would fail proof:animation-
|
|
223
|
+
coherence's EASING-TABLE-BOUND arm — the curve already has its canonical
|
|
224
|
+
+ alias row in `curves.ts`).
|
|
171
225
|
|
|
172
226
|
The BUTTON family (`.btn-pill` / `.tap-squish` / `.glass-btn` /
|
|
173
227
|
`btn-interactive`) UNIFIES its `scale` transform leg onto ONE register —
|
|
@@ -180,10 +234,11 @@
|
|
|
180
234
|
for interactive transforms; those use `--spring-smooth`).
|
|
181
235
|
═══════════════════════════════════════════════ */
|
|
182
236
|
--spring-smooth: linear(0, 0.09804 2.041%, 0.29288 4.082%, 0.49447 6.122%, 0.66436 8.163%, 0.79208 10.204%, 0.88050 12.245%, 0.93754 14.286%, 0.97182 16.327%, 0.99083 18.367%, 1.00027 20.408%, 1.00413 22.449%, 1.00502 24.490%, 1.00453 26.531%, 1.00355 28.571%, 1.00254 30.612%, 1.00169 32.653%, 1.00105 34.694%, 1.00060 36.735%, 1.00031 38.776%, 1.00014 40.816%, 1.00005 42.857%, 1.00000 44.898%, 1.00000 46.939%, 1.00000 48.980%, 1.00000 51.020%, 1.00000 53.061%, 1.00000 55.102%, 1.00000 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
183
|
-
--spring-snappy: linear(0, 0.
|
|
184
|
-
--spring-bouncy: linear(0, 0.
|
|
237
|
+
--spring-snappy: linear(0, 0.10038 2.041%, 0.30488 4.082%, 0.51991 6.122%, 0.70158 8.163%, 0.83608 10.204%, 0.92554 12.245%, 0.97893 14.286%, 1.00665 16.327%, 1.01792 18.367%, 1.01981 20.408%, 1.01715 22.449%, 1.01292 24.490%, 1.00873 26.531%, 1.00530 28.571%, 1.00282 30.612%, 1.00120 32.653%, 1.00027 34.694%, 0.99980 36.735%, 0.99962 38.776%, 0.99961 40.816%, 0.99967 42.857%, 0.99976 44.898%, 0.99984 46.939%, 0.99991 48.980%, 0.99995 51.020%, 1.00000 53.061%, 1.00000 55.102%, 1.00000 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
238
|
+
--spring-bouncy: linear(0, 0.10764 2.041%, 0.34440 4.082%, 0.60803 6.122%, 0.83510 8.163%, 0.99669 10.204%, 1.08926 12.245%, 1.12435 14.286%, 1.11986 16.327%, 1.09372 18.367%, 1.06042 20.408%, 1.02959 22.449%, 1.00623 24.490%, 0.99172 26.531%, 0.98510 28.571%, 0.98426 30.612%, 0.98688 32.653%, 0.99095 34.694%, 0.99505 36.735%, 0.99835 38.776%, 1.00055 40.816%, 1.00170 42.857%, 1.00202 44.898%, 1.00180 46.939%, 1.00132 48.980%, 1.00079 51.020%, 1.00033 53.061%, 1.00001 55.102%, 0.99982 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
185
239
|
--spring-gentle: linear(0, 0.09415 2.041%, 0.27374 4.082%, 0.45506 6.122%, 0.60779 8.163%, 0.72570 10.204%, 0.81213 12.245%, 0.87336 14.286%, 0.91570 16.327%, 0.94445 18.367%, 0.96371 20.408%, 0.97645 22.449%, 0.98481 24.490%, 0.99025 26.531%, 0.99377 28.571%, 0.99604 30.612%, 0.99749 32.653%, 0.99841 34.694%, 0.99900 36.735%, 0.99937 38.776%, 0.99961 40.816%, 0.99975 42.857%, 0.99985 44.898%, 1.00000 46.939%, 1.00000 48.980%, 1.00000 51.020%, 1.00000 53.061%, 1.00000 55.102%, 1.00000 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
186
240
|
--spring-dock: linear(0, 0.10282 2.041%, 0.31773 4.082%, 0.54783 6.122%, 0.74309 8.163%, 0.88550 10.204%, 0.97598 12.245%, 1.02452 14.286%, 1.04368 16.327%, 1.04501 18.367%, 1.03739 20.408%, 1.02681 22.449%, 1.01672 24.490%, 1.00873 26.531%, 1.00323 28.571%, 0.99996 30.612%, 0.99837 32.653%, 0.99789 34.694%, 0.99805 36.735%, 0.99848 38.776%, 0.99897 40.816%, 0.99940 42.857%, 0.99972 44.898%, 0.99993 46.939%, 1.00004 48.980%, 1.00000 51.020%, 1.00000 53.061%, 1.00000 55.102%, 1.00000 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
241
|
+
--spring-press: linear(0, 0.09804 2.041%, 0.29288 4.082%, 0.49447 6.122%, 0.66436 8.163%, 0.79208 10.204%, 0.88050 12.245%, 0.93754 14.286%, 0.97182 16.327%, 0.99083 18.367%, 1.00027 20.408%, 1.00413 22.449%, 1.00502 24.490%, 1.00453 26.531%, 1.00355 28.571%, 1.00254 30.612%, 1.00169 32.653%, 1.00105 34.694%, 1.00060 36.735%, 1.00031 38.776%, 1.00014 40.816%, 1.00005 42.857%, 1.00000 44.898%, 1.00000 46.939%, 1.00000 48.980%, 1.00000 51.020%, 1.00000 53.061%, 1.00000 55.102%, 1.00000 57.143%, 1.00000 59.184%, 1.00000 61.224%, 1.00000 63.265%, 1.00000 65.306%, 1.00000 67.347%, 1.00000 69.388%, 1.00000 71.429%, 1.00000 73.469%, 1.00000 75.510%, 1.00000 77.551%, 1.00000 79.592%, 1.00000 81.633%, 1.00000 83.673%, 1.00000 85.714%, 1.00000 87.755%, 1.00000 89.796%, 1.00000 91.837%, 1.00000 93.878%, 1.00000 95.918%, 1.00000 97.959%, 1);
|
|
187
242
|
|
|
188
243
|
/* ── PER-SPRING DURATION CLOCK (BA.W-GLASS-CAL Unit 3) ──
|
|
189
244
|
Generated from `scripts/regen-spring-tokens.mjs` — DO NOT hand-edit.
|
|
@@ -203,9 +258,20 @@
|
|
|
203
258
|
matching `--spring-<name>-duration`. */
|
|
204
259
|
--spring-smooth-duration: 0.36s;
|
|
205
260
|
--spring-snappy-duration: 0.34s;
|
|
206
|
-
--spring-bouncy-duration: 0.
|
|
261
|
+
--spring-bouncy-duration: 0.57s;
|
|
207
262
|
--spring-gentle-duration: 0.44s;
|
|
208
263
|
--spring-dock-duration: 0.28s;
|
|
264
|
+
--spring-press-duration: 0.11s;
|
|
265
|
+
|
|
266
|
+
/* ── DECK SLIDE-TRANSITION CURVE (BC.W-DECK) ──
|
|
267
|
+
The full-viewport keyboard-paged deck's slide transition rides the SAME
|
|
268
|
+
`--spring-smooth` register the deck's `DECK_SPRING` samples (the calm-settle
|
|
269
|
+
`.smooth` family; the (response, ζ) pair lives in deck/constants.ts) — an
|
|
270
|
+
ALIAS, NOT a new spring family (the donor's own fence + the W-GLASS-CAL spring
|
|
271
|
+
fence). `--spring-deck: var(--spring-smooth)` so a deck slide reads as a calm
|
|
272
|
+
settle, not a bounce; the JS half (`installDeckSpring`) consumes keyframes.js
|
|
273
|
+
`springTimingFunction(DECK_SPRING)` for the count-up easing. */
|
|
274
|
+
--spring-deck: var(--spring-smooth);
|
|
209
275
|
|
|
210
276
|
/* Core cubic-bezier (exits, fallbacks, non-spring uses) */
|
|
211
277
|
--motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -226,6 +292,16 @@
|
|
|
226
292
|
--ease-decelerate: var(--ease-out);
|
|
227
293
|
--ease-accelerate: var(--ease-in);
|
|
228
294
|
|
|
295
|
+
/* BC.W-MOTION-PRESETS — the brand "convergence-reveal" / partial-sum settle.
|
|
296
|
+
The Fourier partial sum converges ONTO its target with a decaying Gibbs
|
|
297
|
+
ripple — a monotone critically-damped approach, NO sustained overshoot past
|
|
298
|
+
terminal. That curve IS `gentle` (ζ=1.0, overshoot 0), so this is the ALIAS
|
|
299
|
+
reuse: `--ease-convergence` resolves to `--spring-gentle` (no new
|
|
300
|
+
SPRING_PRESETS row, no second curve). The settle clock is the per-spring
|
|
301
|
+
`--spring-gentle-duration`. The N-term build-up is the `useStagger`
|
|
302
|
+
orchestration ON this curve (a documented recipe, not a new primitive). */
|
|
303
|
+
--ease-convergence: var(--spring-gentle);
|
|
304
|
+
|
|
229
305
|
/* ═══════════════════════════════════════════════
|
|
230
306
|
§2.A AMBIENT MOTION — Pulse aura tokens
|
|
231
307
|
|