@mkbabb/glass-ui 4.0.1 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CardAction-CW7a0m8M.js → CardAction-DlVP2evz.js} +72 -53
- package/dist/{CommandShortcut-DvZNQ_HF.js → CommandShortcut-By-VQcLO.js} +25 -14
- package/dist/{ConfiguratorRow-BR4l-ixA.js → ConfiguratorRow-YMXdINHx.js} +14 -14
- package/dist/ContextMenuContent-CMWn6huB.js +90 -0
- package/dist/{ContextMenuSubContent-xol4sD2q.js → ContextMenuSubContent-DvwWCUc0.js} +16 -16
- package/dist/{DataTable-CuKwF7wr.js → DataTable-C4tG3eIJ.js} +4 -4
- package/dist/DialogContent-D8U9ZfWS.js +121 -0
- package/dist/DialogFooter-DoLy0ewI.js +80 -0
- package/dist/DialogScrollContent-BMekN7gq.js +93 -0
- package/dist/{FadingScroll-DI6hQhT9.js → FadingScroll-P8B30rAD.js} +1 -1
- package/dist/HoverCardContent-DAmGYglo.js +88 -0
- package/dist/{HoverPopover-CbqbNwgU.js → HoverPopover-DYpBOzzF.js} +1 -1
- package/dist/{IconChip-BTD-nay5.js → IconChip-CQa7XZYc.js} +7 -5
- package/dist/{IconTooltip-Bl8gFZ8d.js → IconTooltip-_df8M3xm.js} +1 -1
- package/dist/Input-CyU4_hIC.js +57 -0
- package/dist/{MetricBadge-RHdBP72w.js → MetricBadge-DQt_dGah.js} +1 -1
- package/dist/{Notification-VUwexFUf.js → Notification-BlSPJhtZ.js} +4 -4
- package/dist/NumberFieldContent-Z3VxGu_6.js +140 -0
- package/dist/PagerDots-CYlqVFd4.js +196 -0
- package/dist/PaperBackdrop-DYWgrnh8.js +42 -0
- package/dist/{PopoverContent-DL7E6vJP.js → PopoverContent-BuKyHZSz.js} +2 -2
- package/dist/{Progress-DctG61iZ.js → Progress-C9SsdwIZ.js} +1 -1
- package/dist/{ScrollingText-yOpBzFYq.js → ScrollingText-DY3W1Jfh.js} +2 -2
- package/dist/SelectScrollDownButton-3mFHX_R-.js +260 -0
- package/dist/{SelectSeparator-DXswVdRz.js → SelectSeparator-CNRGG7Ew.js} +1 -1
- package/dist/Separator-Cf9-JFgi.js +44 -0
- package/dist/Switch-uf-UKPA2.js +49 -0
- package/dist/{Toaster-Bw4xR8xV.js → Toaster-ozrsR4mP.js} +2 -2
- package/dist/{ToggleGroupItem-pEM9vIhs.js → ToggleGroupItem-BpzaVzNm.js} +6 -6
- package/dist/TooltipProvider-QQVM_80r.js +109 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +16 -32
- package/dist/api/types-extra.d.ts +33 -0
- package/dist/api.js +2 -2
- package/dist/aurora.js +629 -269
- package/dist/badge-Bt14yURi.js +72 -0
- package/dist/badge.js +1 -1
- package/dist/border-progress.js +49 -57
- package/dist/button-D1W9PrzI.js +130 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -3
- package/dist/card.js +1 -1
- package/dist/carousel.js +235 -106
- package/dist/chipVariants-BJQ0I2kB.js +18 -0
- package/dist/collapsible.js +1 -1
- package/dist/color-B9jZdhJX.js +116 -0
- package/dist/color.js +2 -2
- package/dist/command.js +1 -1
- 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/color.d.ts +13 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +1 -1
- package/dist/components/custom/aurora/composables/runtime.d.ts +12 -0
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +12 -3
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +47 -0
- package/dist/components/custom/aurora/constants/renderMode.d.ts +16 -8
- 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 -1
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +14 -18
- package/dist/components/custom/border-progress/index.d.ts +1 -1
- 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 +15 -12
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +12 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
- package/dist/components/custom/concentric/composables/levelField.d.ts +50 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +7 -3
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +3 -3
- package/dist/components/custom/concentric/constants.d.ts +69 -24
- package/dist/components/custom/concentric/index.d.ts +2 -2
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +2 -2
- package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -1
- package/dist/components/custom/configurator/Configurator.vue.d.ts +23 -2
- package/dist/components/custom/configurator/index.d.ts +1 -1
- 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/DockDropdownTrigger.vue.d.ts +4 -3
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +22 -0
- package/dist/components/custom/dock/DockPopoverTrigger.vue.d.ts +19 -0
- package/dist/components/custom/dock/DockStack.vue.d.ts +78 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +21 -3
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +18 -32
- package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +78 -67
- package/dist/components/custom/dock/composables/index.d.ts +3 -0
- package/dist/components/custom/dock/composables/railProjection.d.ts +45 -0
- package/dist/components/custom/dock/composables/useDockContextSilhouette.d.ts +192 -0
- package/dist/components/custom/dock/composables/useDockFission.d.ts +158 -0
- package/dist/components/custom/dock/composables/useDockItemDrag.d.ts +18 -0
- package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +49 -0
- package/dist/components/custom/dock/constants.d.ts +32 -17
- package/dist/components/custom/dock/index.d.ts +8 -2
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +15 -11
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +69 -6
- package/dist/components/custom/dot-flow-field/composables/flowGLProgram.d.ts +8 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupGL.d.ts +9 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupGLFlow.d.ts +12 -0
- package/dist/components/custom/dot-flow-field/composables/flowSetupWGPU.d.ts +7 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +50 -9
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +6 -5
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +23 -9
- package/dist/components/custom/dot-flow-field/constants.d.ts +92 -20
- package/dist/components/custom/dot-flow-field/index.d.ts +2 -2
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -1
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +31 -18
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +2 -1
- 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 +61 -0
- package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
- package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +34 -0
- package/dist/components/custom/dot-matrix/constants.d.ts +72 -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/EasingPicker.vue.d.ts +2 -2
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +5 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +44 -47
- package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +24 -0
- package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +31 -0
- package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +56 -0
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +61 -37
- package/dist/components/custom/fourier-field/constants.d.ts +114 -4
- 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/goo-blob/GooBlob.vue.d.ts +9 -1
- package/dist/components/custom/goo-blob/composables/easing.d.ts +1 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +1 -0
- package/dist/components/custom/goo-blob/constants.d.ts +26 -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 -1
- package/dist/components/custom/goo-blob/types.d.ts +86 -1
- 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 +79 -0
- package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +45 -0
- package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
- package/dist/components/custom/goo-dot-matrix/constants.d.ts +115 -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 +13 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +4 -0
- package/dist/components/custom/goo-filter/GooFilter.vue.d.ts +22 -0
- package/dist/components/custom/goo-filter/index.d.ts +1 -0
- package/dist/components/custom/handmark/brush.d.ts +17 -17
- package/dist/components/custom/handmark/constants.d.ts +28 -8
- package/dist/components/custom/handmark/geometry.d.ts +34 -1
- package/dist/components/custom/handmark/index.d.ts +1 -1
- package/dist/components/custom/icon-chip/types.d.ts +10 -0
- 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/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-backdrop/PaperBackdrop.vue.d.ts +18 -0
- package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
- package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +105 -0
- package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +18 -0
- package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +21 -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 +95 -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/chipVariants.d.ts +39 -0
- package/dist/components/custom/selectable-chip/index.d.ts +2 -0
- package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +15 -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 +8 -6
- package/dist/components/custom/tabs/constants.d.ts +28 -2
- package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +16 -0
- package/dist/components/custom/timeline/geometry.d.ts +0 -8
- package/dist/components/custom/toggle-chip/index.d.ts +15 -4
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +32 -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/useControlSize.d.ts +46 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +17 -3
- package/dist/components/ui/badge/Badge.vue.d.ts +14 -0
- package/dist/components/ui/badge/index.d.ts +1 -0
- package/dist/components/ui/button/Button.vue.d.ts +1 -0
- package/dist/components/ui/button/index.d.ts +1 -1
- package/dist/components/ui/card/Card.vue.d.ts +46 -1
- package/dist/components/ui/card/ScrollCard.vue.d.ts +1 -1
- package/dist/components/ui/card/index.d.ts +1 -1
- package/dist/components/ui/carousel/CarouselContent.vue.d.ts +2 -4
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +1 -1
- package/dist/components/ui/carousel/CarouselPrevious.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/dialog/DialogContent.vue.d.ts +9 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +33 -14
- package/dist/components/ui/drawer/constants.d.ts +8 -6
- package/dist/components/ui/drawer/index.d.ts +12 -2
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
- package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -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/select/SelectContent.vue.d.ts +12 -0
- package/dist/components/ui/slider/Slider.vue.d.ts +9 -0
- package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
- package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
- 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/dom/index.d.ts +1 -0
- package/dist/composables/dom/useDragVelocity.d.ts +46 -0
- package/dist/composables/glass/useVizChoreography.d.ts +123 -0
- package/dist/composables/glass/wave/index.d.ts +4 -0
- package/dist/composables/glass/wave/waveField.d.ts +115 -0
- package/dist/composables/glass/wave/waveField.glsl.d.ts +1 -0
- package/dist/composables/glass/wave/waveField.wgsl.d.ts +1 -0
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +105 -2
- package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +40 -2
- package/dist/composables/glass/webgpu/index.d.ts +2 -1
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +65 -7
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +50 -2
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
- package/dist/composables/motion/core/index.d.ts +7 -0
- package/dist/composables/motion/core/useHaptic.d.ts +48 -0
- package/dist/composables/motion/core/writeVelocityWeight.d.ts +31 -0
- package/dist/composables/motion/index.d.ts +2 -0
- package/dist/composables/motion/scrollReader.d.ts +25 -0
- package/dist/composables/motion/springPresets.d.ts +19 -1
- package/dist/composables/motion/suite.d.ts +2 -2
- package/dist/composables/motion/useBloomUp.d.ts +97 -0
- package/dist/composables/motion/useCelebrationBurst.d.ts +50 -0
- package/dist/composables/motion/useCharStagger.d.ts +44 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +29 -22
- package/dist/composables/motion/useGooMorph.d.ts +72 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +18 -0
- package/dist/composables/motion/useLiquidMorph.d.ts +108 -0
- package/dist/composables/motion/useLiquidPress.d.ts +12 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +7 -4
- package/dist/composables/motion/useMorphField.d.ts +157 -0
- package/dist/composables/motion/useScrollChrome.d.ts +58 -0
- package/dist/composables/motion/useScrollPin.d.ts +49 -0
- package/dist/composables/motion/useScrollScene.d.ts +67 -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.js +552 -309
- package/dist/configurator.js +2 -2
- package/dist/confirm-dialog.js +62 -47
- package/dist/constellation.js +635 -235
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +2 -2
- package/dist/createCanvasLifecycle-CuCrGRfq.js +173 -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 +1320 -631
- package/dist/dockContext-gFVS2gMg.js +18 -0
- package/dist/dom.js +7 -6
- package/dist/dot-flow-field.js +1268 -387
- package/dist/dot-matrix.d.ts +1 -0
- package/dist/dot-matrix.js +774 -0
- package/dist/dotMatrixField-CRO0ZFk4.js +48 -0
- package/dist/drawer.js +106 -96
- package/dist/{dropdown-menu-CofSZuk8.js → dropdown-menu-CCfcCQ68.js} +83 -79
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.js +188 -176
- package/dist/expandable-container.js +43 -21
- package/dist/fading-scroll.js +1 -1
- package/dist/flow.glsl-DqEGRpl4.js +4 -0
- package/dist/forms.js +64 -62
- package/dist/fourier-field.js +1069 -178
- 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 +164 -119
- package/dist/goo-blob.js +175 -1230
- package/dist/goo-dot-matrix.d.ts +1 -0
- package/dist/goo-dot-matrix.js +811 -0
- package/dist/handmark.js +137 -94
- 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 +5 -0
- 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 +12 -3
- package/dist/motion-core.js +59 -34
- package/dist/motion-curves.js +30 -14
- package/dist/motion.js +231 -96
- 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 +761 -0
- package/dist/paperGrid-CXCSMbZ1.js +191 -0
- package/dist/popover.js +1 -1
- package/dist/{presets-BW2b-fr1.js → presets-QvYgnFIZ.js} +14 -13
- package/dist/{procedural-color.glsl-CIFsJhwI.js → procedural-color.wgsl-C1Y5PkM6.js} +2 -2
- package/dist/progress.js +1 -1
- package/dist/pulse.js +2 -2
- package/dist/reactive.js +2 -2
- package/dist/{useCanvas2D-B8w_E3Rr.js → resolveCanvasColor-DsSJk06I.js} +16 -6
- package/dist/scrollReader-rc3Ns_NM.js +42 -0
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +162 -306
- package/dist/select.js +3 -3
- package/dist/selectable-chip.d.ts +1 -0
- package/dist/selectable-chip.js +48 -0
- package/dist/separator.js +1 -1
- package/dist/{sheet-tZMg0E0w.js → sheet-DUCIoOe0.js} +4 -4
- package/dist/sheet.js +1 -1
- package/dist/sidebar.js +216 -114
- package/dist/slider-CcICPe3u.js +149 -0
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/spectrum-walk-cBNSx_zm.js +33 -0
- package/dist/springPresets-DfoQ6XRY.js +64 -0
- package/dist/stacked-icons.js +54 -39
- package/dist/styles/animations.css +13 -3
- package/dist/styles/cards.css +271 -2
- package/dist/styles/completion-seal.css +131 -0
- package/dist/styles/components.css +1 -4
- package/dist/styles/configurator.css +221 -1
- package/dist/styles/critical-partition.mjs +66 -11
- package/dist/styles/deferred.css +4 -0
- package/dist/styles/dock/adaptive-legibility.css +119 -0
- package/dist/styles/dock/cta-seat.css +87 -0
- package/dist/styles/dock/density.css +167 -6
- package/dist/styles/dock/fission-bridge.css +552 -0
- package/dist/styles/dock/layers.css +90 -78
- package/dist/styles/dock/morph-bridge.css +67 -18
- package/dist/styles/dock/morph.css +57 -118
- package/dist/styles/dock/overflow.css +12 -0
- package/dist/styles/dock/search.css +68 -0
- package/dist/styles/dock/shape.css +250 -0
- package/dist/styles/dock/shell.css +24 -8
- package/dist/styles/dock/stack-rail.css +352 -0
- package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/dist/styles/dock-controls/icon-button.css +46 -0
- package/dist/styles/dock-controls/triggers.css +23 -1
- package/dist/styles/dock-controls.css +18 -0
- package/dist/styles/dock.css +27 -2
- package/dist/styles/drawer.css +166 -0
- package/dist/styles/glass/accent-tone.css +66 -0
- package/dist/styles/glass/control-surfaces.css +167 -0
- package/dist/styles/glass/glass-atom.css +244 -0
- package/dist/styles/glass/glass-capsule.css +143 -0
- package/dist/styles/glass/glass-chip.css +215 -0
- package/dist/styles/glass/ladder.css +67 -17
- package/dist/styles/glass/liquid-enter.css +252 -0
- package/dist/styles/glass/liquid-morph.css +850 -0
- package/dist/styles/glass/material.css +70 -1
- package/dist/styles/glass/reveal.css +22 -2
- package/dist/styles/glass/rim.css +31 -9
- package/dist/styles/glass/surfaces.css +81 -150
- package/dist/styles/glass.css +21 -0
- package/dist/styles/icon-chip.css +45 -0
- package/dist/styles/index.css +26 -0
- package/dist/styles/jubilance.css +65 -0
- package/dist/styles/motion/morph-field.css +229 -0
- package/dist/styles/paper.css +230 -14
- package/dist/styles/scroll-choreography.css +135 -78
- package/dist/styles/scroll-chrome.css +123 -0
- package/dist/styles/scroll-driven.css +38 -0
- package/dist/styles/segmented-tabs.css +110 -40
- package/dist/styles/select.css +151 -0
- package/dist/styles/theme/bridges.css +22 -0
- package/dist/styles/theme/radius.css +18 -1
- package/dist/styles/tokens/color-radius.css +14 -4
- package/dist/styles/tokens/dark-arm.css +94 -12
- package/dist/styles/tokens/glass-deep.css +33 -4
- package/dist/styles/tokens/glass-fx.css +122 -1
- package/dist/styles/tokens/glass.css +226 -34
- package/dist/styles/tokens/light-dark.css +3 -3
- package/dist/styles/tokens/offsets.css +27 -0
- package/dist/styles/tokens/property-regs.css +277 -0
- package/dist/styles/tokens/scale-paper.css +86 -30
- package/dist/styles/tokens/scheme-motion.css +106 -133
- package/dist/styles/tokens/scheme-spring.css +239 -0
- package/dist/styles/tokens/scroll-tokens.css +15 -15
- package/dist/styles/tokens/shadow.css +73 -13
- package/dist/styles/tokens/sizing-config.css +110 -0
- package/dist/styles/tokens/sizing.css +55 -104
- package/dist/styles/tokens.css +14 -2
- package/dist/styles/typography/semantic.css +18 -5
- package/dist/styles/utilities/a11y-overrides.css +20 -5
- package/dist/styles/utilities/base-misc.css +52 -0
- package/dist/styles/utilities/btn.css +84 -3
- package/dist/styles/utilities/components.css +31 -6
- package/dist/styles/utilities/metal.css +26 -0
- package/dist/switch.js +1 -1
- package/dist/tabs.js +199 -182
- package/dist/timeline.js +241 -206
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +14 -41
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +2 -2
- package/dist/uniformBridgeWGPU-BCse1SHU.js +1268 -0
- package/dist/{useAnimatedNumber-BfUq2bUM.js → useAnimatedNumber-BntskVdQ.js} +1 -1
- package/dist/{useConfiguratorState-DNlOh6c8.js → useConfiguratorState-22BcULzF.js} +41 -38
- package/dist/useControlSize-DAZ062x7.js +9 -0
- package/dist/useDockCtaReceive-DX7RDb6_.js +88 -0
- package/dist/{useDragMorph-DgxnsVJz.js → useDragMorph-DGLSewwB.js} +4 -4
- package/dist/useDragVelocity-CjcfX3dA.js +57 -0
- package/dist/useFuzzySearch-0fTYOhS4.js +177 -0
- package/dist/useGooMorph-Cs13NgYL.js +104 -0
- package/dist/useGpuSubstrate-Ceet70xq.js +347 -0
- package/dist/useHaptic-CPz5BT9I.js +134 -0
- package/dist/{useLiquidFlex-mZPMiNXh.js → useLiquidFlex-Cc6PjVJD.js} +8 -3
- package/dist/useLiquidPress-CtOQ8Z0_.js +43 -0
- package/dist/useMorphField-ogBM7ubT.js +141 -0
- package/dist/usePointerVelocityField-BrkqZFhj.js +91 -0
- package/dist/useScrollChrome-JuImi1DM.js +258 -0
- package/dist/{useSpringMount-q1amq1SJ.js → useSpringMount-DFxtzmkR.js} +1 -1
- package/dist/useSpringPress-VM9RgVq3.js +36 -0
- package/dist/{useSurfaceAxis-g0NloYEF.js → useSurfaceAxis-Ci7Dnaw2.js} +1 -1
- package/dist/{useTouchGate-CBZTD4SD.js → useTouchGate-B1Lf9XqN.js} +1 -1
- package/dist/{vendor-CKmzio-i.js → vendor-B2qOlYY3.js} +24 -11
- package/dist/virtual.d.ts +1 -0
- package/dist/virtual.js +225 -0
- package/dist/watercolor-dot.js +107 -74
- package/dist/writeVelocityWeight-Bh83xZfs.js +19 -0
- package/package.json +140 -9
- package/src/styles/animations.css +13 -3
- package/src/styles/cards.css +271 -2
- package/src/styles/completion-seal.css +131 -0
- package/src/styles/configurator.css +221 -1
- package/src/styles/critical-partition.mjs +66 -11
- package/src/styles/dock/adaptive-legibility.css +119 -0
- package/src/styles/dock/cta-seat.css +87 -0
- package/src/styles/dock/density.css +167 -6
- package/src/styles/dock/fission-bridge.css +552 -0
- package/src/styles/dock/layers.css +90 -78
- package/src/styles/dock/morph-bridge.css +67 -18
- package/src/styles/dock/morph.css +57 -118
- package/src/styles/dock/overflow.css +12 -0
- package/src/styles/dock/search.css +68 -0
- package/src/styles/dock/shape.css +250 -0
- package/src/styles/dock/shell.css +24 -8
- package/src/styles/dock/stack-rail.css +352 -0
- package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/src/styles/dock-controls/icon-button.css +46 -0
- package/src/styles/dock-controls/triggers.css +23 -1
- package/src/styles/dock-controls.css +18 -0
- package/src/styles/dock.css +27 -2
- package/src/styles/drawer.css +164 -0
- package/src/styles/glass/accent-tone.css +66 -0
- package/src/styles/glass/control-surfaces.css +167 -0
- package/src/styles/glass/glass-atom.css +244 -0
- package/src/styles/glass/glass-capsule.css +143 -0
- package/src/styles/glass/glass-chip.css +215 -0
- package/src/styles/glass/ladder.css +67 -17
- package/src/styles/glass/liquid-enter.css +252 -0
- package/src/styles/glass/liquid-morph.css +850 -0
- package/src/styles/glass/material.css +70 -1
- package/src/styles/glass/reveal.css +22 -2
- package/src/styles/glass/rim.css +31 -9
- package/src/styles/glass/surfaces.css +81 -150
- package/src/styles/glass.css +21 -0
- package/src/styles/icon-chip.css +45 -0
- package/src/styles/index.css +26 -0
- package/src/styles/jubilance.css +65 -0
- package/src/styles/motion/morph-field.css +229 -0
- package/src/styles/paper.css +230 -14
- package/src/styles/scroll-choreography.css +135 -78
- package/src/styles/scroll-chrome.css +123 -0
- package/src/styles/scroll-driven.css +38 -0
- package/src/styles/segmented-tabs.css +110 -36
- package/src/styles/select.css +151 -0
- package/src/styles/theme/bridges.css +22 -0
- package/src/styles/theme/radius.css +18 -1
- package/src/styles/tokens/color-radius.css +14 -4
- package/src/styles/tokens/dark-arm.css +94 -12
- package/src/styles/tokens/glass-deep.css +33 -4
- package/src/styles/tokens/glass-fx.css +122 -1
- package/src/styles/tokens/glass.css +226 -34
- package/src/styles/tokens/light-dark.css +3 -3
- package/src/styles/tokens/offsets.css +27 -0
- package/src/styles/tokens/property-regs.css +277 -0
- package/src/styles/tokens/scale-paper.css +86 -30
- package/src/styles/tokens/scheme-motion.css +106 -133
- package/src/styles/tokens/scheme-spring.css +239 -0
- package/src/styles/tokens/scroll-tokens.css +15 -15
- package/src/styles/tokens/shadow.css +73 -13
- package/src/styles/tokens/sizing-config.css +110 -0
- package/src/styles/tokens/sizing.css +55 -104
- package/src/styles/tokens.css +14 -2
- package/src/styles/typography/semantic.css +18 -5
- package/src/styles/utilities/a11y-overrides.css +20 -5
- package/src/styles/utilities/base-misc.css +52 -0
- package/src/styles/utilities/btn.css +84 -3
- package/src/styles/utilities/components.css +31 -6
- package/src/styles/utilities/metal.css +26 -0
- package/dist/ContextMenuContent-uWnVxDab.js +0 -85
- package/dist/DialogContent-DcKK8k9i.js +0 -103
- package/dist/DialogFooter-BZNX5aVr.js +0 -165
- package/dist/HoverCardContent-b2uaAMRR.js +0 -83
- package/dist/Input-h9v5LeXf.js +0 -55
- package/dist/NumberFieldContent-Cq7EzX-U.js +0 -138
- package/dist/PaperBackdrop-Vf3tlpvd.js +0 -31
- package/dist/SelectScrollDownButton-CrA8F0iV.js +0 -252
- package/dist/Separator-pKF0oA4M.js +0 -37
- package/dist/Switch-CwYNf8bo.js +0 -47
- package/dist/TooltipProvider-rzvnXz60.js +0 -104
- package/dist/badge-D9XWW4GT.js +0 -53
- package/dist/button-DYCUa-tH.js +0 -126
- package/dist/color-DweYl7pE.js +0 -86
- package/dist/components/custom/concentric/composables/ringField.d.ts +0 -44
- 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/createCanvasLifecycle-CHD5XrDW.js +0 -82
- package/dist/dockContext-BNfyPLe9.js +0 -17
- package/dist/procedural-color.wgsl-CToRHugY.js +0 -224
- package/dist/resolveCanvasColor-CUyHr5Uu.js +0 -11
- package/dist/slider-DVb4HXU-.js +0 -142
- package/dist/springPresets-CFQGQfdl.js +0 -40
- package/dist/styles/dock/rail-extend.css +0 -397
- package/dist/useLiquidPress-kfb4KX79.js +0 -39
- package/dist/usePointerVelocityField-JbRd5CrM.js +0 -137
- package/dist/useRAFLoop-UYa4zoiN.js +0 -109
- package/dist/useSpringPress-BsqPr7FJ.js +0 -34
- package/src/styles/dock/rail-extend.css +0 -397
- /package/dist/{CollapsibleContent-68dEXIAl.js → CollapsibleContent-D7UNsXQr.js} +0 -0
- /package/dist/{InstrumentChassis-Bx0F_q5g.js → InstrumentChassis-UUJX0-mW.js} +0 -0
- /package/dist/{Label-C2ejNWeC.js → Label-B_HPqi_q.js} +0 -0
- /package/dist/{ModalOverlay-D1VrWyoi.js → ModalOverlay-DfAf7o15.js} +0 -0
- /package/dist/{SelectGroup-DwwjicPY.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-C1je1s0u.js → _plugin-vue_export-helper-gLzyemvl.js} +0 -0
- /package/dist/{compile-CQEFRTmx.js → compile-INR_tPk_.js} +0 -0
- /package/dist/{constants-BPOqYJAm.js → constants-BWj7DkMn.js} +0 -0
- /package/dist/{createContext-CpBNTRMI.js → createContext-Cd23P9j0.js} +0 -0
- /package/dist/{math-BINYmg5z.js → math-5RcIgCB4.js} +0 -0
- /package/dist/{menuItemVariants-D8VNHq22.js → menuItemVariants-DAXquKja.js} +0 -0
- /package/dist/{prng-Za0Rmgag.js → prng-B5tIXTtj.js} +0 -0
- /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-B4HO9LXG.js} +0 -0
- /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-DO8Vl4gs.js} +0 -0
- /package/dist/{useInterval-CvK1mL92.js → useInterval-BVUI-sez.js} +0 -0
- /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BEut54Tk.js} +0 -0
- /package/dist/{useResizeObserver-Bpoi7tRE.js → useResizeObserver-DdEn3v2f.js} +0 -0
- /package/dist/{useResolveTokenColor-vAylyR0x.js → useResolveTokenColor-ChOnCckA.js} +0 -0
- /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-A0M6qRl7.js} +0 -0
- /package/dist/{useSortable-DHjtZSEd.js → useSortable-DQV_UNDw.js} +0 -0
- /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-Bma3UlKA.js} +0 -0
- /package/dist/{useTimer-BHJOKr35.js → useTimer-BBLGPXR8.js} +0 -0
- /package/dist/{useUserInvalidAria-y5namzeE.js → useUserInvalidAria-EmmwWPOl.js} +0 -0
- /package/dist/{useViewportReady-anbac3m6.js → useViewportReady-C9pYnn7K.js} +0 -0
- /package/dist/{vReveal-Czsb7zQC.js → vReveal-CT1KtwZA.js} +0 -0
- /package/dist/{vSpecular-CQFmLNzA.js → vSpecular-EX7loENl.js} +0 -0
|
@@ -19,9 +19,11 @@
|
|
|
19
19
|
* the implicit stagger [NO setTimeout], the spring-clocked
|
|
20
20
|
* coupled transform+opacity build).
|
|
21
21
|
* .scroll-pin — the fixed-stage-advances-time scroll-pinned register
|
|
22
|
-
* (position: sticky stage
|
|
23
|
-
*
|
|
24
|
-
* scroll
|
|
22
|
+
* (position: sticky stage; the stage's internal phases advance
|
|
23
|
+
* against a spring-damped `--pin-t` the keyframes.js scroll spine
|
|
24
|
+
* `useScrollPin` writes per scroll tick — EVERY engine, no
|
|
25
|
+
* `animation-timeline`. The dead `--gl-pin` named scroll-timeline
|
|
26
|
+
* is EXCISED — BD.W-SCROLL-LIQUID-ENGINE).
|
|
25
27
|
* .smooth-scroll — the native scroll-behavior: smooth opt-in (PRM-gated,
|
|
26
28
|
* zero runtime — a smooth-scroll under reduce is a vestibular
|
|
27
29
|
* concern, so the smooth interpolation is dropped under PRM).
|
|
@@ -31,9 +33,10 @@
|
|
|
31
33
|
* so under PRM no scroll/build animation attaches at all and content renders in
|
|
32
34
|
* its terminal state (the `from` keyframe never applies because the animation
|
|
33
35
|
* never binds; the .scroll-pin stage shows its terminal phase, no sweep). The
|
|
34
|
-
*
|
|
35
|
-
* gate so a non-supporting engine gets the STATIC layout
|
|
36
|
-
*
|
|
36
|
+
* `view()`-cascade recipe sits under a second `@supports (animation-timeline: …)`
|
|
37
|
+
* gate so a non-supporting engine gets the STATIC cascade layout. The .scroll-pin
|
|
38
|
+
* register needs NO `@supports` gate — its `--pin-t` is JS-written by `useScrollPin`
|
|
39
|
+
* on every engine; under PRM the composable zeroes the scrub (1:1, no drift).
|
|
37
40
|
*
|
|
38
41
|
* COMPOSITOR-ONLY (the proof:no-layout-animation floor BB.W-CARD-COMPOSITE): every
|
|
39
42
|
* @keyframes step + transition animates ONLY transform/translate/scale/opacity/
|
|
@@ -45,6 +48,39 @@
|
|
|
45
48
|
* register THREADS them, it never re-tunes a spring value or a duration).
|
|
46
49
|
*/
|
|
47
50
|
|
|
51
|
+
/* ─────────────────────────────────────────────────────────────────────────────
|
|
52
|
+
* BD.W-SCROLL-LIQUID-ENGINE — the liquid-weight scroll tokens.
|
|
53
|
+
*
|
|
54
|
+
* The `--ease-scroll-spring` is the compositor spring-scrub the cascade rides
|
|
55
|
+
* (ZERO JS). The pin-phase fractions are the calc-friendly window bounds the
|
|
56
|
+
* `--pin-t` recipes read (a NUMBER, not the `%` the dead `animation-range` used).
|
|
57
|
+
* All golden-proportioned (1/φ family). The liquid-weight scrub itself is a JS-side
|
|
58
|
+
* param of `useScrollScene`/`useScrollPin` (the φ-derived defaults live in the
|
|
59
|
+
* composables, PRM → 0 inside them). The cartoon-punch deps
|
|
60
|
+
* (`--motion-weight`/`--ease-cartoon-punch`/`--shadow-cartoon-md`) SHIP today and are
|
|
61
|
+
* consumed via `var(…, fallback)` so the recipes stay GREEN. */
|
|
62
|
+
:root {
|
|
63
|
+
/* The spring-shaped compositor cascade ease — the `--spring-gentle` twin
|
|
64
|
+
(ζ ≈ 0.85, a `springLinearStops` `linear()` stop-set). Degrades to the
|
|
65
|
+
no-overshoot `--ease-out` where `linear()` is unsupported (Safari < 17.2 —
|
|
66
|
+
the house precedent). `--spring-gentle` SHIPS (scheme-motion.css). */
|
|
67
|
+
--ease-scroll-spring: var(--spring-gentle, var(--ease-out, ease-out));
|
|
68
|
+
/* The pin reveal/expand windows as 0..1 fractions (the `--pin-t` recipes read
|
|
69
|
+
a NUMBER for the calc, not the `%` the dead timeline used). 1/φ² + 0.9. */
|
|
70
|
+
--scroll-pin-phase-reveal-end-frac: 0.382;
|
|
71
|
+
--scroll-pin-phase-expand-end-frac: 0.9;
|
|
72
|
+
/* The volume-preserving squash depth — 1 − 1/φ⁴. */
|
|
73
|
+
--scroll-pin-squash-floor: 0.944;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@supports not (animation-timing-function: linear(0, 1)) {
|
|
77
|
+
:root {
|
|
78
|
+
/* Where `linear()` is unsupported the spring twin cannot resolve — fall to
|
|
79
|
+
the no-overshoot settle bezier (a scrubbed spring without the stop-set). */
|
|
80
|
+
--ease-scroll-spring: var(--ease-out, ease-out);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
48
84
|
/* ─────────────────────────────────────────────────────────────────────────────
|
|
49
85
|
* .scroll-build — the route-enter page-build.
|
|
50
86
|
*
|
|
@@ -160,8 +196,15 @@
|
|
|
160
196
|
progress map (the spring shaping lives in the section's own settle
|
|
161
197
|
where the build is mount-driven; a scroll-bound timeline reads
|
|
162
198
|
1:1 with scroll position — a spring on a scrubbed timeline reads as
|
|
163
|
-
a scrubbed spring, which is correct here as the linear progress map).
|
|
164
|
-
|
|
199
|
+
a scrubbed spring, which is correct here as the linear progress map).
|
|
200
|
+
|
|
201
|
+
BD.W-SCROLL-LIQUID-ENGINE: the easing is the spring-shaped
|
|
202
|
+
`--ease-scroll-spring` (a `springLinearStops` `linear()` twin of
|
|
203
|
+
`--spring-gentle`, ζ ≈ 0.85) — each card's scroll-scrubbed entrance
|
|
204
|
+
reads with spring WEIGHT (a hair of overshoot at the end of its
|
|
205
|
+
range), ZERO JS (the platform carries it on the compositor). The
|
|
206
|
+
Safari-degrade-to-cel-slam arm lives in the entrance-reveal scope. */
|
|
207
|
+
animation: gl-cascade-build auto var(--ease-scroll-spring, linear) both;
|
|
165
208
|
animation-timeline: view(block);
|
|
166
209
|
animation-range: entry 0% entry var(--scroll-cascade-range-end, 45%);
|
|
167
210
|
}
|
|
@@ -202,83 +245,97 @@
|
|
|
202
245
|
}
|
|
203
246
|
|
|
204
247
|
/* ─────────────────────────────────────────────────────────────────────────────
|
|
205
|
-
* .scroll-pin — the fixed-stage-advances-time scroll-pinned register
|
|
248
|
+
* .scroll-pin — the fixed-stage-advances-time scroll-pinned register, RE-INVENTED
|
|
249
|
+
* on a JS-written `--pin-t` (BD.W-SCROLL-LIQUID-ENGINE).
|
|
250
|
+
*
|
|
251
|
+
* THE DEFECT (excised, no alias): the prior register bound the phase reveals to a
|
|
252
|
+
* named `scroll-timeline: --gl-pin` declared on `.scroll-pin` + `timeline-scope:
|
|
253
|
+
* --gl-pin`. A named scroll-timeline measures the DECLARING element's OWN scroll
|
|
254
|
+
* progress — but `.scroll-pin` is `overflow: visible` with zero internal scroll
|
|
255
|
+
* extent, so it is NOT a scroll port: `--gl-pin`'s `currentTime` was permanently
|
|
256
|
+
* `null` and the bound `gl-pin-reveal` animation parked at its `from` keyframe
|
|
257
|
+
* forever (dead on EVERY engine, including those that fully support the native
|
|
258
|
+
* feature — structural deadness, not a Safari degrade).
|
|
206
259
|
*
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
* `animation-range` phase windows — the Codrops phased sequence: a reveal phase
|
|
215
|
-
* 0..45%, an expand phase 45..90%, a settle phase 90..100%).
|
|
260
|
+
* THE FIX (every engine, no `animation-timeline`, no `@supports` gate): the stage
|
|
261
|
+
* is plain `position: sticky` + `contain: layout paint` (bounded recalc); the
|
|
262
|
+
* phases read a SPRING-DAMPED `--pin-t ∈ [0, 1]` that `useScrollPin` (the
|
|
263
|
+
* keyframes.js scroll spine — `SpringProgress` over the ONE `createScrollReader`)
|
|
264
|
+
* writes off the REAL scroll port per coalesced tick. The reveal arrives with
|
|
265
|
+
* inertia, overshoots (ζ ≈ 0.85), then settles — the cartoon-slam felt register.
|
|
266
|
+
* Works on Safari 15+ with no timeline primitive.
|
|
216
267
|
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
* `timeline-scope` ships alongside `scroll()`/`view()` (the universal-support
|
|
222
|
-
* convergence), so the CSS-only register is the ship; the JS fallback leaf (mirror
|
|
223
|
-
* useScrollProgress's dual-path single-writer) is BOOKED only on a material
|
|
224
|
-
* engine-gap reveal (the §Triumvirate support-matrix trigger) — never a JS scroll
|
|
225
|
-
* lib (the no-net-dep fence is binding either way).
|
|
268
|
+
* Liquid weight is the DEFAULT here (the §L4 no-stiff-snap law): `useScrollPin`'s
|
|
269
|
+
* `SpringProgress` keeps converging AFTER the finger lifts. PRM zeroes the scrub
|
|
270
|
+
* (the pin scrub → 0 under reduce inside the composable) so `--pin-t` tracks
|
|
271
|
+
* scroll 1:1 with no interpolated drift — the vestibular floor.
|
|
226
272
|
* ─────────────────────────────────────────────────────────────────────────── */
|
|
227
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
228
|
-
@supports (animation-timeline: scroll()) and (timeline-scope: --gl-pin) {
|
|
229
|
-
@keyframes gl-pin-reveal {
|
|
230
|
-
from {
|
|
231
|
-
opacity: 0;
|
|
232
|
-
transform: translateY(var(--scroll-pin-lift, 2.5rem)) scale(0.96);
|
|
233
|
-
}
|
|
234
|
-
to {
|
|
235
|
-
opacity: 1;
|
|
236
|
-
transform: translateY(0) scale(1);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
@keyframes gl-pin-settle {
|
|
240
|
-
from {
|
|
241
|
-
transform: scale(1);
|
|
242
|
-
opacity: 1;
|
|
243
|
-
}
|
|
244
|
-
to {
|
|
245
|
-
/* The settle phase — a gentle compositor drift, never a layout move. */
|
|
246
|
-
transform: scale(1.02) translateY(calc(-1 * var(--scroll-pin-lift, 2.5rem)));
|
|
247
|
-
opacity: 1;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
273
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
274
|
+
/* The typed pin progress register — `inherits: true` so the sticky stage + the
|
|
275
|
+
phase children read the `--pin-t` written on the `.scroll-pin` container; a typed
|
|
276
|
+
`@property` makes the calc cheaper + lets an optional native cosmetic-parallax leg
|
|
277
|
+
composite it. Registered OUTSIDE the PRM gate (a custom property is inert — it only
|
|
278
|
+
drives motion through the recipes below, which ARE PRM-gated). */
|
|
279
|
+
@property --pin-t {
|
|
280
|
+
syntax: "<number>";
|
|
281
|
+
inherits: true;
|
|
282
|
+
initial-value: 0;
|
|
283
|
+
}
|
|
260
284
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
inset-block-start: 0;
|
|
266
|
-
}
|
|
285
|
+
.scroll-pin {
|
|
286
|
+
position: relative;
|
|
287
|
+
block-size: var(--scroll-pin-stage-height, 320vh);
|
|
288
|
+
}
|
|
267
289
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
290
|
+
.scroll-pin-stage {
|
|
291
|
+
position: sticky;
|
|
292
|
+
inset-block-start: 0;
|
|
293
|
+
/* Bounded main-thread recalc — the `--pin-t` write is a style recalc on this
|
|
294
|
+
isolated subtree, NOT a reflow (translate/scale/opacity don't reflow). */
|
|
295
|
+
contain: layout paint;
|
|
296
|
+
}
|
|
274
297
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
298
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
299
|
+
/* Phase 1 — the reveal. Reads `--pin-t` mapped across the reveal window
|
|
300
|
+
(0 .. --scroll-pin-phase-reveal-end-frac). The lift + squash ride the
|
|
301
|
+
compositor longhands (`translate`/`scale` — NEVER the `transform` shorthand,
|
|
302
|
+
which would fold a centering translate; the longhands stack independently).
|
|
303
|
+
The squash floor is volume-preserving (a hair of squash on entry). */
|
|
304
|
+
.scroll-pin-stage .scroll-pin-phase-reveal {
|
|
305
|
+
--t: clamp(
|
|
306
|
+
0,
|
|
307
|
+
calc(var(--pin-t, 0) / var(--scroll-pin-phase-reveal-end-frac, 0.382)),
|
|
308
|
+
1
|
|
309
|
+
);
|
|
310
|
+
opacity: var(--t);
|
|
311
|
+
translate: 0 calc((1 - var(--t)) * var(--scroll-pin-lift, 2.5rem));
|
|
312
|
+
scale: calc(
|
|
313
|
+
var(--scroll-pin-squash-floor, 0.944) +
|
|
314
|
+
(1 - var(--scroll-pin-squash-floor, 0.944)) * var(--t)
|
|
315
|
+
);
|
|
316
|
+
/* will-change scoped to the active phase — added while the pin is in range,
|
|
317
|
+
never the full 320vh lifetime (the audit's transient-promotion rule). */
|
|
318
|
+
will-change: transform, opacity;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/* Phase 2 — the settle/drift. Reads the reveal-end..expand-end window of
|
|
322
|
+
`--pin-t`; a gentle compositor drift as the reader continues past, never a
|
|
323
|
+
layout move. */
|
|
324
|
+
.scroll-pin-stage .scroll-pin-phase-settle {
|
|
325
|
+
--t: clamp(
|
|
326
|
+
0,
|
|
327
|
+
calc(
|
|
328
|
+
(var(--pin-t, 0) - var(--scroll-pin-phase-reveal-end-frac, 0.382)) /
|
|
329
|
+
(
|
|
330
|
+
var(--scroll-pin-phase-expand-end-frac, 0.9) -
|
|
331
|
+
var(--scroll-pin-phase-reveal-end-frac, 0.382)
|
|
332
|
+
)
|
|
333
|
+
),
|
|
334
|
+
1
|
|
335
|
+
);
|
|
336
|
+
opacity: 1;
|
|
337
|
+
translate: 0 calc(var(--t) * -1 * var(--scroll-pin-lift, 2.5rem));
|
|
338
|
+
scale: calc(1 + 0.02 * var(--t));
|
|
282
339
|
}
|
|
283
340
|
}
|
|
284
341
|
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* scroll-chrome.css — the scroll-driven floating-CHROME collapse recipe
|
|
3
|
+
* (BC.W-SCROLL-CHROME).
|
|
4
|
+
*
|
|
5
|
+
* Cascade rung AFTER scroll-choreography.css. Where scroll-choreography.css is the
|
|
6
|
+
* ENTRANCE register (the page-build / section-cascade / scroll-pinned reveals), this is
|
|
7
|
+
* the COLLAPSE-STATE recipe a floating chrome bar (a dock, a header) composes: scroll
|
|
8
|
+
* down and it SHRINKS smoothly into a compact form; scroll up and it EXPANDS back; on
|
|
9
|
+
* scroll-stop it SNAPS to the nearest state (the `useScrollChrome` JS machine owns the
|
|
10
|
+
* snap + the ramp value — this recipe is the compositor paint of `--chrome-collapse-t`).
|
|
11
|
+
*
|
|
12
|
+
* .scroll-chrome — the chrome surface (a dock/header) reads `--chrome-collapse-t`
|
|
13
|
+
* (0 expanded → 1 collapsed; the @property reg in property-regs.css)
|
|
14
|
+
* for the COMPOSITOR shrink/quiet/shadow-lift ramp.
|
|
15
|
+
*
|
|
16
|
+
* COMPOSITOR-ONLY (the proof:no-layout-animation floor — motion-canon P5). The shrink is
|
|
17
|
+
* `transform: scale()/translateY()` — NEVER an animated `height`/`padding`/`width` (the
|
|
18
|
+
* box never reflows per scroll frame; the CDP Layout track stays flat). The quiet is
|
|
19
|
+
* `opacity` BOUNDED above a never-invisible floor (the NN/g pale-fade-into-content trap
|
|
20
|
+
* is the FORBIDDEN direction — the bar reads at EVERY collapse fraction). The
|
|
21
|
+
* SEPARATION/shadow LIFTS as content scrolls under (Apple "as text scrolls underneath,
|
|
22
|
+
* shadows become more prominent") — `box-shadow` is a paint prop, compositor-safe.
|
|
23
|
+
*
|
|
24
|
+
* THE BLUR STAYS CRISP (the W-DOCK-SHRINK-BLUR fence). The chrome's resting
|
|
25
|
+
* `backdrop-filter` blur is NOT animated by `--chrome-collapse-t` — a shrunken bar is
|
|
26
|
+
* crisp glass, not a blurry mess. The recipe touches ONLY transform/opacity/box-shadow;
|
|
27
|
+
* the surface's own `glass-*` tier owns the (untouched) backdrop blur.
|
|
28
|
+
*
|
|
29
|
+
* PERSISTENT BY DEFAULT (the iOS-27 lesson). `--chrome-collapse-t` rests at 0 (the
|
|
30
|
+
* @property initial-value), so a bare `.scroll-chrome` is byte-identical to the expanded
|
|
31
|
+
* chrome — it does NOT collapse until the `useScrollChrome` machine (opted in with
|
|
32
|
+
* `collapseOnScroll: true`) ramps the custom.
|
|
33
|
+
*
|
|
34
|
+
* PRM (the discrete-state-survives model, the useFadingScroll precedent). The transform/
|
|
35
|
+
* opacity RAMP sits inside the `@media (prefers-reduced-motion: no-preference)` outer
|
|
36
|
+
* gate (the scroll-choreography.css discipline) — under reduce the continuous ramp drops;
|
|
37
|
+
* the `useScrollChrome` machine snaps `--chrome-collapse-t` to a discrete 0/1 endpoint, so
|
|
38
|
+
* the DISCRETE collapsed/expanded state stays correct, instant, never half. The shadow
|
|
39
|
+
* lift sits OUTSIDE the gate (a paint cue, not a vestibular motion) so the lifted
|
|
40
|
+
* separation reads even under reduce.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/* The tunable depth knobs — a consumer retunes the shrink/fade depth per chrome. */
|
|
44
|
+
:root {
|
|
45
|
+
/* The shrink depth: at fully collapsed the chrome scales to (1 − this). 0.12 → a
|
|
46
|
+
compact 88% bar (a real shrink that still reads as the same bar). */
|
|
47
|
+
--chrome-shrink-depth: 0.12;
|
|
48
|
+
/* The rise (px) the chrome translates toward its anchor edge as it collapses. */
|
|
49
|
+
--chrome-rise-px: 6px;
|
|
50
|
+
/* The fade depth — BOUNDED LOW: at fully collapsed opacity floors at (1 − this).
|
|
51
|
+
0.28 → a 0.72 floor (the bar quiets but is NEVER invisible — the NN/g pale-fade
|
|
52
|
+
trap forbidden). A consumer that wants no quiet sets it 0. */
|
|
53
|
+
--chrome-fade-depth: 0.28;
|
|
54
|
+
/* The shadow-lift strength — the separation shadow grows from rest → this as content
|
|
55
|
+
scrolls under (Apple shadow-on-scroll). A paint prop, compositor-safe. */
|
|
56
|
+
--chrome-shadow-lift: 18%;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* The shrink/quiet RAMP — the SPATIAL (transform) + the EFFECTS (opacity) channels. It
|
|
60
|
+
rides `--chrome-collapse-t` directly (no CSS transition — the JS scalar already glides
|
|
61
|
+
on the reader's tick; on a native-timeline engine the same custom rides
|
|
62
|
+
`animation-timeline: scroll(self)`, the native-ramp path). Inside the PRM no-preference
|
|
63
|
+
gate: under reduce the ramp drops and the chrome reads its discrete snapped endpoint. */
|
|
64
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
65
|
+
.scroll-chrome {
|
|
66
|
+
/* SPATIAL leg — scale toward the compact size + a small rise toward the anchor
|
|
67
|
+
edge. transform-origin at the top (a header anchors its top; a consumer dock
|
|
68
|
+
re-points the origin to its natural seat). Compositor-only — never height/pad. */
|
|
69
|
+
transform: scale(calc(1 - var(--chrome-collapse-t) * var(--chrome-shrink-depth)))
|
|
70
|
+
translateY(calc(var(--chrome-collapse-t) * var(--chrome-rise-px) * -1));
|
|
71
|
+
transform-origin: top center;
|
|
72
|
+
/* EFFECTS leg — the quiet, BOUNDED above the never-invisible floor (the bar reads
|
|
73
|
+
at every fraction; the `* fade-depth` caps the drop, opacity never reaches 0). */
|
|
74
|
+
opacity: calc(1 - var(--chrome-collapse-t) * var(--chrome-fade-depth));
|
|
75
|
+
/* will-change the compositor channels (NEVER a layout property). */
|
|
76
|
+
will-change: transform, opacity;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* The shadow LIFT — OUTSIDE the PRM gate (a paint cue, not a vestibular motion): the
|
|
81
|
+
separation shadow strengthens as content scrolls under the chrome. `box-shadow` is a
|
|
82
|
+
paint prop (compositor-safe, in the proof:no-layout-animation paint set, NOT the reflow
|
|
83
|
+
set). The lift composes the house `--shadow-color: var(--foreground)` so it re-tints
|
|
84
|
+
light↔dark for free; the strength grows from a whisper at rest → `--chrome-shadow-lift`
|
|
85
|
+
at fully collapsed. */
|
|
86
|
+
.scroll-chrome {
|
|
87
|
+
box-shadow: 0 calc(2px + var(--chrome-collapse-t) * 6px)
|
|
88
|
+
calc(8px + var(--chrome-collapse-t) * 12px)
|
|
89
|
+
color-mix(
|
|
90
|
+
in srgb,
|
|
91
|
+
var(--shadow-color)
|
|
92
|
+
calc(6% + var(--chrome-collapse-t) * var(--chrome-shadow-lift)),
|
|
93
|
+
transparent
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* The native-ramp path — on a `scroll()`-supporting engine the consumer can drive
|
|
98
|
+
`--chrome-collapse-t` off `animation-timeline: scroll(self)` directly (the
|
|
99
|
+
`useScrollProgress`/`--scroll-t` native precedent: the JS writer is inert, the CSS owns
|
|
100
|
+
the compositor ramp). The keyframe is the linear 0→1 map over the collapse range; the
|
|
101
|
+
consumer binds it on the chrome with its own `animation-range` (the collapse-px span).
|
|
102
|
+
The SNAP-to-state stays the JS leg (a snap is a discrete commit, not a continuous ramp —
|
|
103
|
+
it rides the `useScrollChrome` scroll-stop tick on every engine). PRM-gated + supports-
|
|
104
|
+
gated (a non-supporting engine reads the JS `collapseT` write, never this keyframe). */
|
|
105
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
106
|
+
@supports (animation-timeline: scroll()) {
|
|
107
|
+
@keyframes gl-chrome-collapse {
|
|
108
|
+
from {
|
|
109
|
+
--chrome-collapse-t: 0;
|
|
110
|
+
}
|
|
111
|
+
to {
|
|
112
|
+
--chrome-collapse-t: 1;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/* OPT-IN: a consumer adds `.scroll-chrome--native` to ride the compositor ramp
|
|
116
|
+
(it must set `animation-range` for its own collapse-px span; the
|
|
117
|
+
`useScrollChrome` machine's JS write is the cross-engine floor + the snap). */
|
|
118
|
+
.scroll-chrome--native {
|
|
119
|
+
animation: gl-chrome-collapse auto linear both;
|
|
120
|
+
animation-timeline: scroll(self block);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -70,3 +70,41 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
+
|
|
74
|
+
/* ── ONCE latch (the virtualized/teleporting opt-in) — BC.W-MOTION-PRESETS.
|
|
75
|
+
* The continuous `[data-scroll-reveal]` recipe above re-fires its entrance EVERY
|
|
76
|
+
* time a child re-enters the entry range — correct for a calm cascade, WRONG for
|
|
77
|
+
* a virtualized/teleporting list where a row scrolls out + back (it re-plays the
|
|
78
|
+
* fade-lift). A native `view()` timeline cannot latch "play once" (the CSS limit),
|
|
79
|
+
* so `[data-scroll-reveal-once]` swaps the live-range animation for a one-shot
|
|
80
|
+
* `@keyframes` keyed off a `data-revealed` attr a tiny JS-assist IntersectionObserver
|
|
81
|
+
* sets on FIRST cross + then `unobserve`s — the SHIPPED `useStaggerReveal` `once`
|
|
82
|
+
* machinery (its `if (once) observer?.unobserve(el)` leg), reused, not re-authored.
|
|
83
|
+
*
|
|
84
|
+
* SINGLE WRITER — an element is `[data-scroll-reveal]` XOR `[data-scroll-reveal-once]`
|
|
85
|
+
* (never both): the continuous path rides the `view()` timeline, the once path rides
|
|
86
|
+
* the `[data-revealed]` attr. They never both drive the same child.
|
|
87
|
+
*
|
|
88
|
+
* The keyframe is the SAME fade-lift values as `gl-reveal-in` but runs FORWARD
|
|
89
|
+
* (`from` hidden → `to` shown) so the terminal state holds without a timeline; the
|
|
90
|
+
* `--spring-gentle` partial-sum settle is the convergence-reveal register a consumer
|
|
91
|
+
* pairs with `useStagger` for the N-term build-up. Same PRM outer gate as the
|
|
92
|
+
* continuous recipe (a flourish — under reduce the row paints in-place, no entrance). */
|
|
93
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
94
|
+
@keyframes gl-reveal-once {
|
|
95
|
+
from {
|
|
96
|
+
opacity: 0;
|
|
97
|
+
transform: translateY(var(--scroll-reveal-rise, 6px));
|
|
98
|
+
}
|
|
99
|
+
to {
|
|
100
|
+
opacity: 1;
|
|
101
|
+
transform: none;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
[data-scroll-reveal-once] > * {
|
|
105
|
+
opacity: 0;
|
|
106
|
+
}
|
|
107
|
+
[data-scroll-reveal-once] > *[data-revealed] {
|
|
108
|
+
animation: gl-reveal-once var(--spring-gentle-duration) linear both;
|
|
109
|
+
}
|
|
110
|
+
}
|