@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
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* contract (AX.W06 carve).
|
|
3
3
|
*
|
|
4
4
|
* Carved from the dock.css god-module (slice 25). This partial owns the dock's
|
|
5
|
-
* layer model: the `.dock-layers` grid container + the
|
|
6
|
-
* (
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* layer model: the `.dock-layers` grid container + the ratio-FREE convex-blend
|
|
6
|
+
* box-size morph (BD.W-DOCK-CORE — `scale: var(--dock-size-scale)` from a
|
|
7
|
+
* `--dock-live` blend of two measure-ONCE endpoints `--dock-expanded-px`/
|
|
8
|
+
* `--dock-collapsed-px`, BOUNDED by construction off the ONE `--dock-morph-t`
|
|
9
|
+
* scalar; NO per-swap `from/to` ratio, NO per-frame layout-axis lerp), the unified
|
|
9
10
|
* `.is-active` / `.is-leaving` 3-state crossfade + hit-test contract (the
|
|
10
11
|
* a11y-006 anchor), the per-child reveal stagger (the `--dock-stagger-*` ramp),
|
|
11
12
|
* and the `layout="grid"` 2D tile-grid arrangement. The `.dock-layer-group` /
|
|
@@ -39,66 +40,63 @@
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
|
|
42
|
-
/*
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
the
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
`
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
43
|
+
/* ── BD.W-DOCK-CORE — the ratio-FREE convex-blend SIZE (the width-seizure cure) ──
|
|
44
|
+
THE BUG THIS RETIRES: the prior morph drove the visible size by an UNBOUNDED
|
|
45
|
+
per-swap `from/to` ratio — `--dock-root-scale = max(ratio + (1−ratio)·t, 0.06)`,
|
|
46
|
+
a FLOOR with NO CEILING. A degenerate `to` (the FLIP measure racing the content
|
|
47
|
+
layout) ran `ratio = from/max(to,1px)` to ~56 → `scaleX(56)` ≈ 2451px on
|
|
48
|
+
collapse, or an inversion at the spring's >1 overshoot peak. `transform-origin:
|
|
49
|
+
center` kept the centroid clean (cxRange 0), which is exactly why every prior
|
|
50
|
+
judge measuring the centroid PASSED while the WIDTH detonated. The whole
|
|
51
|
+
per-swap measure-and-arm pipeline + the `--dock-root-*`/`--dock-morph-ratio/scale`
|
|
52
|
+
rules are DELETED (clean break, no legacy).
|
|
53
|
+
|
|
54
|
+
THE CURE — a convex blend of two POSITIVE measure-ONCE endpoints. The dock
|
|
55
|
+
measures its expanded content span + its collapsed box ONCE per content change
|
|
56
|
+
(`useDockExpandedSize` writes `--dock-expanded-px`/`--dock-collapsed-px`, NOT a
|
|
57
|
+
per-swap rAF race) and the visible size is `--dock-live = collapsed +
|
|
58
|
+
(expanded − collapsed)·clamp(0, --dock-morph-t, 1)` → BOUNDED by construction:
|
|
59
|
+
a convex blend can NEVER exceed the larger endpoint nor invert below the smaller,
|
|
60
|
+
regardless of spring overshoot (the `clamp(0,t,1)` caps the size term; the >1
|
|
61
|
+
excursion routes to the orthogonal `--dock-punch-stretch` channel). No ratio, no
|
|
62
|
+
`from>to` degeneracy, no floor guard (the two endpoints ARE the floors). The box
|
|
63
|
+
RESERVES `--dock-expanded-px` (ONE layout solve, CDP-Layout-flat) and the visible
|
|
64
|
+
size rides `scale: var(--dock-size-scale)` from `transform-origin: center` —
|
|
65
|
+
container-justify-agnostic, center-out by construction (left-anchored / centred /
|
|
66
|
+
auto-margin docks ALL grow center-out, no justify detection, no translate). The
|
|
67
|
+
endpoints default to a no-op (`expanded == collapsed → scale 1`) so an unmeasured
|
|
68
|
+
dock paints neutral. The actual `scale:` property is composed in shape.css (folded
|
|
69
|
+
WITH the `--stretch` squish × the `--dock-punch-stretch` cartoon punch on ONE
|
|
70
|
+
compositor channel). KEEP `--dock-morph-t` (the shipped token — NO rename). */
|
|
71
|
+
.glass-dock[data-morphing] {
|
|
72
|
+
--dock-live: calc(
|
|
73
|
+
var(--dock-collapsed-px, var(--dock-expanded-px, 0px)) +
|
|
74
|
+
(
|
|
75
|
+
var(--dock-expanded-px, 0px) -
|
|
76
|
+
var(--dock-collapsed-px, var(--dock-expanded-px, 0px))
|
|
77
|
+
) *
|
|
78
|
+
clamp(0, var(--dock-morph-t, 1), 1)
|
|
63
79
|
);
|
|
64
|
-
--dock-
|
|
65
|
-
|
|
66
|
-
|
|
80
|
+
--dock-size-scale: clamp(
|
|
81
|
+
0.06,
|
|
82
|
+
calc(var(--dock-live) / max(var(--dock-expanded-px, 1px), 1px)),
|
|
83
|
+
1
|
|
67
84
|
);
|
|
68
|
-
|
|
69
|
-
the live scalar calc. The transform composites over it. */
|
|
70
|
-
inline-size: var(--dock-morph-to);
|
|
71
|
-
transform: scaleX(var(--dock-morph-scale));
|
|
72
|
-
transform-origin: left center;
|
|
85
|
+
transform-origin: center center;
|
|
73
86
|
will-change: transform;
|
|
74
87
|
}
|
|
75
88
|
|
|
76
|
-
/*
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
block-start pinned edge. NO live-scalar `block-size` calc → no per-frame
|
|
85
|
-
relayout on the vertical axis either. */
|
|
86
|
-
.glass-dock.vertical[data-morphing] .dock-layers {
|
|
87
|
-
inline-size: auto;
|
|
88
|
-
block-size: var(--dock-morph-to);
|
|
89
|
-
transform: scaleY(var(--dock-morph-scale));
|
|
90
|
-
transform-origin: center top;
|
|
91
|
-
will-change: transform;
|
|
89
|
+
/* The box RESERVES its expanded footprint (ONE layout solve — the page reflows
|
|
90
|
+
ONCE to the final size, CDP-Layout stays FLAT) while the visible size scales
|
|
91
|
+
toward it. Horizontal reserves `inline-size`, vertical reserves `block-size`,
|
|
92
|
+
matching the morph axis. The `.dock-layers` content lays out at its natural
|
|
93
|
+
size behind the clip (shell.css) — that natural span is the `--dock-expanded-px`
|
|
94
|
+
the ResizeObserver reads. */
|
|
95
|
+
.glass-dock[data-morphing]:not(.vertical) {
|
|
96
|
+
inline-size: var(--dock-expanded-px);
|
|
92
97
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
reserve + `scaleY()` composite over it. */
|
|
96
|
-
.glass-dock[data-morphing] .dock-layer-group.vertical .dock-layer-stack {
|
|
97
|
-
inline-size: auto;
|
|
98
|
-
block-size: var(--dock-morph-to);
|
|
99
|
-
transform: scaleY(var(--dock-morph-scale));
|
|
100
|
-
transform-origin: center top;
|
|
101
|
-
will-change: transform;
|
|
98
|
+
.glass-dock[data-morphing].vertical {
|
|
99
|
+
block-size: var(--dock-expanded-px);
|
|
102
100
|
}
|
|
103
101
|
|
|
104
102
|
/* The inner DockLayerGroup stack has no collapsed/expanded class, so its
|
|
@@ -278,7 +276,10 @@
|
|
|
278
276
|
.glass-dock[data-morphing] .dock-layer-item-host.is-active > * {
|
|
279
277
|
--dock-stagger-window: var(--dock-stagger-window-size, 0.55);
|
|
280
278
|
--dock-stagger-onset: 0;
|
|
281
|
-
opacity
|
|
279
|
+
/* BD.W-DOCK-CORE (A6) — factor the reveal ramp into ONE named var so opacity AND
|
|
280
|
+
the center-coupled scale read the SAME clamp (W-MOTION-CANON P3, fade coupled to
|
|
281
|
+
transform). */
|
|
282
|
+
--child-reveal: clamp(
|
|
282
283
|
0,
|
|
283
284
|
calc(
|
|
284
285
|
(var(--dock-expand-t, 1) - var(--dock-stagger-onset)) /
|
|
@@ -286,11 +287,14 @@
|
|
|
286
287
|
),
|
|
287
288
|
1
|
|
288
289
|
);
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
290
|
+
opacity: var(--child-reveal);
|
|
291
|
+
/* BD.W-DOCK-CORE (A6) — the rise is a center-coupled SCALE pop (0.82 → 1 on the
|
|
292
|
+
reveal ramp, transform-origin center), NOT the prior independent `translate: 0
|
|
293
|
+
4px` vertical hop. The children inherit the SAME center-anchored read as the box
|
|
294
|
+
— a small inertial pop FROM the center, coupled to opacity. The global PRM gate
|
|
295
|
+
strips `scale` → snap. */
|
|
296
|
+
scale: calc(0.82 + 0.18 * var(--child-reveal));
|
|
297
|
+
transform-origin: center;
|
|
294
298
|
}
|
|
295
299
|
|
|
296
300
|
/* AX.W02 — per-child onsets off the ONE `--dock-stagger-step` token. Each
|
|
@@ -305,26 +309,34 @@
|
|
|
305
309
|
collapse this to a single declaration, but it is not yet Baseline across
|
|
306
310
|
Safari/Firefox — the token-keyed nth-child set is the cross-engine form, and
|
|
307
311
|
the magic ladder is gone either way.) */
|
|
308
|
-
.
|
|
309
|
-
|
|
312
|
+
/* BD.W-DOCK-CORE (A6) — the SYMMETRIC center-out stagger (the index-cascade RETIRED,
|
|
313
|
+
clean break). The onset ladders by DISTANCE FROM THE ROW CENTER (center pair = onset
|
|
314
|
+
0 via the base rule, then ±1, ±2 …) so the reveal radiates center-out in lockstep
|
|
315
|
+
with the center-out box morph (I.2) — never the prior left-to-right index cascade
|
|
316
|
+
that desynced from the centered grow. `--dock-stagger-step` is the per-ring beat;
|
|
317
|
+
`nth-child(N of *)` + `nth-last-child(N of *)` reach BOTH ends (the row is short —
|
|
318
|
+
≤8 controls is the dock norm), the central rule holds the deep middle. The `of *`
|
|
319
|
+
syntax is Safari 16.4+/Chrome 111+. The rule is duplicated for the inner pane-stack
|
|
320
|
+
host (identical onsets). */
|
|
321
|
+
/* ring ±1 — 2nd-from-center each side */
|
|
322
|
+
.glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(2 of *),
|
|
323
|
+
.glass-dock[data-morphing] .dock-layer.is-active > *:nth-last-child(2 of *),
|
|
324
|
+
.glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(2 of *),
|
|
325
|
+
.glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-last-child(2 of *) {
|
|
310
326
|
--dock-stagger-onset: calc(var(--dock-stagger-step) * 1);
|
|
311
327
|
}
|
|
312
|
-
|
|
313
|
-
.glass-dock[data-morphing] .dock-layer
|
|
328
|
+
/* ring ±2 — 3rd-from-center each side */
|
|
329
|
+
.glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(3 of *),
|
|
330
|
+
.glass-dock[data-morphing] .dock-layer.is-active > *:nth-last-child(3 of *),
|
|
331
|
+
.glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(3 of *),
|
|
332
|
+
.glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-last-child(3 of *) {
|
|
314
333
|
--dock-stagger-onset: calc(var(--dock-stagger-step) * 2);
|
|
315
334
|
}
|
|
316
|
-
|
|
317
|
-
.glass-dock[data-morphing] .dock-layer
|
|
335
|
+
/* ring ±3 — the deep-middle 4th/5th-from-edge cap (a long row finishes in-window) */
|
|
336
|
+
.glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(n + 4):nth-child(-n + 5),
|
|
337
|
+
.glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(n + 4):nth-child(-n + 5) {
|
|
318
338
|
--dock-stagger-onset: calc(var(--dock-stagger-step) * 3);
|
|
319
339
|
}
|
|
320
|
-
.glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(5),
|
|
321
|
-
.glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(5) {
|
|
322
|
-
--dock-stagger-onset: calc(var(--dock-stagger-step) * 4);
|
|
323
|
-
}
|
|
324
|
-
.glass-dock[data-morphing] .dock-layer.is-active > *:nth-child(n + 6),
|
|
325
|
-
.glass-dock[data-morphing] .dock-layer-item-host.is-active > *:nth-child(n + 6) {
|
|
326
|
-
--dock-stagger-onset: calc(var(--dock-stagger-step) * 5);
|
|
327
|
-
}
|
|
328
340
|
|
|
329
341
|
/* AW.W2 — the at-rest clip-lift moved to `.expanded:not([data-morphing])` /
|
|
330
342
|
`.always-expanded:not([data-morphing])` (the clip-shell block at the top).
|
|
@@ -76,36 +76,85 @@
|
|
|
76
76
|
color-mix(in oklab, var(--card), var(--foreground) 6%) 100%
|
|
77
77
|
);
|
|
78
78
|
border-radius: 999px;
|
|
79
|
-
/*
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
/* BC.W-GLASS-GLOW-FIX (Atlas A-8 root, CANDIDATE 4) — BOUND the 120%×120% radial
|
|
80
|
+
to the plate box. The gradient SIZE (120%) reaches past the plate's content box
|
|
81
|
+
so the domed droplet would over-paint were the silhouette ever un-clipped;
|
|
82
|
+
`overflow: clip` keeps the radial fill inside the teardrop silhouette (the
|
|
83
|
+
`border-radius: 999px` capsule), so the oversized radial can NEVER paint a giant
|
|
84
|
+
cream blob past the plate. The domed-droplet read is PRESERVED — the radial still
|
|
85
|
+
fills the plate; only the past-bounds escape is killed. Defensive, structural,
|
|
86
|
+
zero visual change (the border-radius already clips the fill — this makes the
|
|
87
|
+
bound explicit so the leak-class gate holds). */
|
|
88
|
+
overflow: clip;
|
|
89
|
+
/* BC.W-LIQUID-MORPH — the teardrop silhouette is the COMPOSITOR `clip-path`
|
|
90
|
+
inset (NOT a per-frame `width`/`height` — the layout-jank root, glass-dock-
|
|
91
|
+
codebase.md §2.2 fix (3)). Each plate RESERVES its MAX footprint (a single
|
|
92
|
+
layout solve, the settled box) and the silhouette necks via a `clip-path:
|
|
93
|
+
inset()` interpolated on `--dock-morph-t`. The volume-preserving squish reads
|
|
94
|
+
`--stretch` (the liquid-flex derivative) on `scale`. NO `width`/`height`
|
|
95
|
+
animation — only `clip-path`/`scale`/`opacity` (compositor/paint), so the
|
|
96
|
+
CDP Layout track stays FLAT across the morph (proof:no-layout-animation +
|
|
97
|
+
proof:liquid-morph M4). will-change promotes the compositor channels ONLY. */
|
|
98
|
+
will-change: clip-path, transform, opacity;
|
|
83
99
|
}
|
|
84
100
|
|
|
85
|
-
/* The VERTICAL plate — a tall capsule (the t=0 silhouette). It
|
|
86
|
-
|
|
87
|
-
|
|
101
|
+
/* The VERTICAL plate — a tall capsule (the t=0 silhouette). It RESERVES its full
|
|
102
|
+
tall footprint (a one-time layout solve, NOT a per-frame height lerp) and necks
|
|
103
|
+
its silhouette toward the center via a `clip-path: inset()` whose block insets
|
|
104
|
+
GROW as t: 0 → 0.5 (the tall capsule collapses to a thin neck at the midpoint
|
|
105
|
+
where the goo merges, gone by t=1). `--dock-bridge-v-neck` is the inset travel:
|
|
106
|
+
0 at t=0 (full height shows) → ~half the reserved height by t=0.5 (necked to a
|
|
107
|
+
circle ~the width). The box footprint is static; the clip carves the silhouette
|
|
108
|
+
on the compositor. */
|
|
88
109
|
.dock-morph-bridge-plate--vertical {
|
|
89
110
|
width: var(--dock-bridge-v-w, 3.25rem);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
111
|
+
height: var(--dock-bridge-v-h, 16rem);
|
|
112
|
+
/* BD.W-MORPH-FIELD-WELD — the GAP-RELATIVE waist (the scale-blind-threshold fix /
|
|
113
|
+
the user's 296px→dot defect). The prior travel necked the tall plate ALL the way
|
|
114
|
+
to a 52px circle at t=0.5, so the goo threshold over-ate the two thin overlapping
|
|
115
|
+
circles to a lone white dot. The neck now travels only `--morph-neck-frac` (0.62)
|
|
116
|
+
of the way to the circle, so the midpoint silhouette holds a FAT fused mass with a
|
|
117
|
+
real waist (≤0.45 of body), not a pinched dot — the goo blur fuses it into one
|
|
118
|
+
teardrop barbell instead of eating it. */
|
|
119
|
+
--morph-neck-frac: 0.62;
|
|
120
|
+
--dock-bridge-v-neck: calc(
|
|
121
|
+
(var(--dock-bridge-v-h, 16rem) - var(--dock-bridge-v-w, 3.25rem)) / 2 *
|
|
122
|
+
var(--morph-neck-frac) *
|
|
123
|
+
clamp(0, calc(var(--dock-morph-t, 0) * 2), 1)
|
|
124
|
+
);
|
|
125
|
+
clip-path: inset(
|
|
126
|
+
var(--dock-bridge-v-neck) 0 var(--dock-bridge-v-neck) 0 round 999px
|
|
95
127
|
);
|
|
96
128
|
opacity: calc(1 - clamp(0, calc((var(--dock-morph-t, 0) - 0.5) * 2), 1));
|
|
97
129
|
/* squish Y on travel (the tall plate stretches along its collapse axis) */
|
|
98
130
|
scale: calc(1 / var(--stretch, 1)) var(--stretch, 1);
|
|
99
131
|
}
|
|
100
132
|
|
|
101
|
-
/* The HORIZONTAL plate — a wide capsule (the t=1 silhouette). It
|
|
102
|
-
|
|
103
|
-
|
|
133
|
+
/* The HORIZONTAL plate — a wide capsule (the t=1 silhouette). It RESERVES its full
|
|
134
|
+
wide footprint (a one-time layout solve) and grows its silhouette from the center
|
|
135
|
+
via a `clip-path: inset()` whose inline insets SHRINK as t: 0.5 → 1 (a thin neck
|
|
136
|
+
at the midpoint → the full wide bar at t=1). `--dock-bridge-h-neck` is the inset
|
|
137
|
+
travel: ~half the reserved width − half the height at t=0.5 (necked to a circle)
|
|
138
|
+
→ 0 at t=1 (full width shows). NO per-frame width — the clip carves the silhouette
|
|
139
|
+
on the compositor. */
|
|
104
140
|
.dock-morph-bridge-plate--horizontal {
|
|
141
|
+
width: var(--dock-bridge-h-w, 18rem);
|
|
105
142
|
height: var(--dock-bridge-h-h, 3.25rem);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
143
|
+
/* the inline-axis inset travel: (half the reserved width − half the height) at
|
|
144
|
+
t=0.5 → 0 at t=1, so the necked silhouette is ~a circle (the height) at the
|
|
145
|
+
midpoint and the full bar at t=1. */
|
|
146
|
+
/* BD.W-MORPH-FIELD-WELD — gap-relative waist (the symmetric arm of the V-plate fix
|
|
147
|
+
above): the wide plate necks only `--morph-neck-frac` of the way to its small
|
|
148
|
+
dimension at the midpoint, so the fused mass stays fat (a real teardrop, not a
|
|
149
|
+
dot). */
|
|
150
|
+
--morph-neck-frac: 0.62;
|
|
151
|
+
--dock-bridge-h-neck: calc(
|
|
152
|
+
(var(--dock-bridge-h-w, 18rem) - var(--dock-bridge-h-h, 3.25rem)) / 2 *
|
|
153
|
+
var(--morph-neck-frac) *
|
|
154
|
+
(1 - clamp(0, calc((var(--dock-morph-t, 0) - 0.5) * 2), 1))
|
|
155
|
+
);
|
|
156
|
+
clip-path: inset(
|
|
157
|
+
0 var(--dock-bridge-h-neck) 0 var(--dock-bridge-h-neck) round 999px
|
|
109
158
|
);
|
|
110
159
|
opacity: clamp(0, calc(var(--dock-morph-t, 0) * 2), 1);
|
|
111
160
|
/* squish X on travel (the wide plate stretches along its growth axis) */
|
|
@@ -62,24 +62,33 @@
|
|
|
62
62
|
--dock-expand-t: calc(1 - var(--dock-morph-t));
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
/*
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
dock
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
(
|
|
74
|
-
|
|
75
|
-
layout property — the proof:no-layout-animation floor). The beat rides the ONE
|
|
76
|
-
`--dock-expand-t` scalar, so it tracks the `DOCK_SPRING` clock with NO second
|
|
77
|
-
clock + NO re-added CSS transition (the morph already animates `--dock-morph-t`).
|
|
78
|
-
PRM: the `--dock-reveal-blur` knob is zeroed under reduce (the carve below). */
|
|
65
|
+
/* BC.W-DOCK-SHRINK-BLUR — the BB.W-LIQUID-REVEAL bloom-from-source decongest is a
|
|
66
|
+
TRANSIENT, not a resting state. HEAD keyed the bare `.glass-dock` self-blur off
|
|
67
|
+
`--dock-expand-t`, which AT REST resolves to the class endpoint → a PERMANENT 3px
|
|
68
|
+
self-blur on the resting collapsed dock, STACKED on the 9px backdrop (the "blurry
|
|
69
|
+
mess when shrunken", glass-dock-codebase §2.4). The FIX gates the self-blur (a
|
|
70
|
+
SURFACE `filter` arm on the dock's own pixels — NOT `backdrop-filter`, so the glass
|
|
71
|
+
plate blur is never clobbered; compositor-safe) to `[data-morphing]`: at REST the
|
|
72
|
+
dock is CRISP; ONLY mid-morph does the 3px bloom settle to 0 as the pill
|
|
73
|
+
materializes (the iOS-27 bloom, gesture-only). The backdrop blur (the glass
|
|
74
|
+
material) is UNTOUCHED. PRM zeroes it (the carve below). Clean break, no alias. */
|
|
79
75
|
.glass-dock {
|
|
80
|
-
--dock-reveal-blur:
|
|
76
|
+
--dock-reveal-blur: 0px; /* resting: CRISP — no own-pixel self-blur */
|
|
77
|
+
}
|
|
78
|
+
.glass-dock[data-morphing] {
|
|
79
|
+
/* BD.W-DOCK-CORE (A4) — the blur DIAL-BACK. The peak drops 3px → 1.25px AND the
|
|
80
|
+
decay is FRONT-LOADED: the `clamp(0, (0.5 - expand-t)/0.5, 1)` ramp drives the
|
|
81
|
+
blur 1.25px → 0 as expand-t crosses 0 → 0.5, then HOLDS 0 for the back half — a
|
|
82
|
+
brief decongest FLASH, crisp by the morph's midpoint (the icons never read soft
|
|
83
|
+
through the slow grow). The resting self-blur stays 0px (above, untouched). The
|
|
84
|
+
9px BACKDROP blur (the material) is untouched — only the OWN-pixel self-blur is
|
|
85
|
+
dialed. PRM → 0 (the carve below). */
|
|
86
|
+
--dock-reveal-blur: 1.25px; /* the transient decongest bloom — mid-morph only */
|
|
81
87
|
filter: blur(
|
|
82
|
-
calc(
|
|
88
|
+
calc(
|
|
89
|
+
var(--dock-reveal-blur) *
|
|
90
|
+
clamp(0, calc((0.5 - var(--dock-expand-t, 1)) / 0.5), 1)
|
|
91
|
+
)
|
|
83
92
|
);
|
|
84
93
|
}
|
|
85
94
|
|
|
@@ -97,7 +106,8 @@
|
|
|
97
106
|
.glass-dock:not(.vertical) {
|
|
98
107
|
/* AY.W-A11Y-PERF O-1 / AZ.W-ADAPTIVE-AUTO Arm 1 — BOTH morph endpoints compose
|
|
99
108
|
the W55 oklab adaptive tint so the self-engage darken (the unconditional
|
|
100
|
-
`:where(.glass-dock)` rule
|
|
109
|
+
`:where(.glass-dock)` rule in the sibling adaptive-legibility.css partial
|
|
110
|
+
re-points the element-level
|
|
101
111
|
`--glass-tint-source`/`--glass-tint-strength`) reaches the LIVE
|
|
102
112
|
horizontal dock surface in BOTH the expanded AND the COLLAPSED look (this
|
|
103
113
|
0,3,0 morph interp OVERRIDES the 0,1,0 shell.css bg, so the tint must be
|
|
@@ -329,6 +339,27 @@
|
|
|
329
339
|
margin-inline-start: 0;
|
|
330
340
|
}
|
|
331
341
|
|
|
342
|
+
/* BD.W-DOCK-CORE (A5) — the collapsed persistent pill centers its single glyph on
|
|
343
|
+
BOTH axes (the empty-summary case where the #persistent control IS the collapsed
|
|
344
|
+
circle). The `--dock-control-safe-inset` padding (background-clip: content-box) must
|
|
345
|
+
not shift the glyph off the pill's geometric center — `place-items: center`
|
|
346
|
+
belt-and-braces both axes so the shrunken icon reads dead-center (A5 "icons in the
|
|
347
|
+
SHRUNKEN state are NOT ALIGNED"). */
|
|
348
|
+
.glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent {
|
|
349
|
+
display: grid;
|
|
350
|
+
place-items: center;
|
|
351
|
+
}
|
|
352
|
+
.glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent > * {
|
|
353
|
+
place-self: center;
|
|
354
|
+
}
|
|
355
|
+
/* BD.W-DOCK-CORE (A5) — floor the collapsed glyph at the 16px-min the rail glyph
|
|
356
|
+
carries (never a sliver inside an inline-flex column). */
|
|
357
|
+
.glass-dock.collapsed .dock-persistent svg,
|
|
358
|
+
.glass-dock.collapsed .dock-layer--summary svg {
|
|
359
|
+
min-width: 1rem;
|
|
360
|
+
min-height: 1rem;
|
|
361
|
+
}
|
|
362
|
+
|
|
332
363
|
/* AW.W3 — the collapsed-hover scale rides the unified dock spring vocabulary.
|
|
333
364
|
The `scale var(--dock-motion-resize)` arm was added to the `.glass-dock`
|
|
334
365
|
root transition above, so this hover scale settles on the SAME spring curve
|
|
@@ -357,6 +388,7 @@
|
|
|
357
388
|
|
|
358
389
|
.glass-dock.collapsed:hover:not([data-morphing]) {
|
|
359
390
|
scale: var(--dock-collapsed-hover-scale);
|
|
391
|
+
will-change: transform; /* BC.W-DOCK-ENGINE move 2 — promote the armed-at-rest scale lift */
|
|
360
392
|
}
|
|
361
393
|
|
|
362
394
|
/* J.W5.C — held-state substrate response.
|
|
@@ -385,107 +417,14 @@
|
|
|
385
417
|
box-shadow var(--duration-fast) var(--ease-standard);
|
|
386
418
|
}
|
|
387
419
|
|
|
388
|
-
/*
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
floating
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
var(--glass-bg-floating, var(--glass-bg-resting)),
|
|
397
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
398
|
-
);
|
|
399
|
-
border-color: var(--glass-border-floating, var(--glass-border-resting));
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
/* ── Adaptive legibility: SELF-ENGAGE the dock over a light backdrop by default
|
|
403
|
-
(AZ.W-ADAPTIVE-AUTO Arm 1 — the literal G2 surface; "Glass dock over VERY
|
|
404
|
-
LIGHT materials is unreadable, darken DYNAMICALLY like iOS 27") ─────────────
|
|
405
|
-
The dock floats over WHATEVER the consumer painted — frequently a light/near-
|
|
406
|
-
white app surface (the canonical G2 case the user reported). AY.W-A11Y-PERF
|
|
407
|
-
O-1 set `--glass-backdrop: light` on the dock's OWN root (shell.css) intending
|
|
408
|
-
a self-darken, but CSS style queries NEVER self-match (the `@container
|
|
409
|
-
style()` block below reads an ANCESTOR — verified on Chrome 148), so the
|
|
410
|
-
self-declaration was a NO-OP. This `:where(.glass-dock)` rule is the genuine
|
|
411
|
-
UNCONDITIONAL self-engage — mirroring the overlay band's `ladder.css:169` —
|
|
412
|
-
re-pointing the INHERITING tint tokens DIRECTLY on the dock root so the
|
|
413
|
-
shell (`--glass-bg-dock`), chassis-strip, and held/open tiers (which compose
|
|
414
|
-
the oklab tint AT THE ELEMENT — the substitution-vs-inheritance-safe targets)
|
|
415
|
-
darken toward warm-ink in lockstep. `--dock-fg-on-aurora` re-points to the
|
|
416
|
-
warm-ink here too — ONE reconciled path, the foreground twin folded in (it
|
|
417
|
-
reaches the dock CONTROLS' glyph/label color). Over a DARK page the darken is
|
|
418
|
-
sub-perceptual; a dark-substrate consumer opts out via `--glass-tint-strength:
|
|
419
|
-
0%` on the dock root. The morph-root interp (`.glass-dock:not(.vertical)`
|
|
420
|
-
above) stays `color-mix(in srgb …)` for the transition — the adaptive darken
|
|
421
|
-
rides its RESTING endpoint (`--glass-bg-dock`), the in-flight morph frames are
|
|
422
|
-
sub-perceptual (the ratified resting-endpoint-only default). The muted body
|
|
423
|
-
register lifts to the full warm-ink under the engaged plate (the muted L40
|
|
424
|
-
tier cannot clear 4.5:1 on a translucent darkened plate — darkening moves the
|
|
425
|
-
plate TOWARD muted's own luminance; the low-contrast muted register is
|
|
426
|
-
inappropriate over a busy glass plate, so it resolves to the legible dark
|
|
427
|
-
ink, which clears ~10:1). */
|
|
428
|
-
:where(.glass-dock) {
|
|
429
|
-
--glass-tint-source: var(--glass-tint-ink);
|
|
430
|
-
/* BC.W-AUDIT — the scope-7 completion: the dock JOINS the content-tier
|
|
431
|
-
sub-perceptual FLOOR by default (translucent warm liquid glass, NOT a grey
|
|
432
|
-
slab), and the FULL AA darken engages ONLY under the genuine bright signal —
|
|
433
|
-
the `@container --glass-backdrop: light` bucket below, written by the dock's
|
|
434
|
-
own sampled-luminance observer over a bright backdrop (aurora/DockStage) OR a
|
|
435
|
-
consumer's explicit bucket. The prior unconditional AA (20% ink-ward) darkened
|
|
436
|
-
the dock to grey over EVERY calm light page — the iOS-27 dynamic model done
|
|
437
|
-
wrong (darken-always vs darken-when-bright). The full glass rebuild is BC. */
|
|
438
|
-
--glass-tint-strength: var(--glass-tint-strength-floor);
|
|
439
|
-
--dock-fg-on-aurora: var(--glass-tint-ink);
|
|
440
|
-
--muted-foreground: var(--foreground);
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
/* The ancestor-querying `@container` block KEPT — it reaches the DESCENDANT
|
|
444
|
-
nested-glass surfaces inside a dock when a consumer marks `--glass-backdrop:
|
|
445
|
-
light` on the dock's ancestor (the self-engage above re-points only the dock
|
|
446
|
-
root's own inheriting tokens; a consumer's explicit ancestor bucket still
|
|
447
|
-
cascades to nested glass through this block). */
|
|
448
|
-
@container style(--glass-backdrop: light) {
|
|
449
|
-
.glass-dock {
|
|
450
|
-
--glass-tint-source: var(--glass-tint-ink);
|
|
451
|
-
--glass-tint-strength: var(--glass-tint-strength-aa);
|
|
452
|
-
--dock-fg-on-aurora: var(--glass-tint-ink);
|
|
453
|
-
}
|
|
454
|
-
}
|
|
420
|
+
/* BD.W-DOCK-CORE (A7) — the whole-plate open-descendant recolor is DELETED (clean
|
|
421
|
+
break, no alias). HEAD repainted the ENTIRE dock plate to the floating tier when ANY
|
|
422
|
+
descendant overlay opened (a dropdown/select/popover) — 44%α warm-cream → 80.8%α
|
|
423
|
+
floating, the user's "a dropdown changes the color of the ENTIRE dock" bug. A
|
|
424
|
+
dropdown opening now leaves the dock plate INVARIANT; the open affordance is
|
|
425
|
+
TRIGGER-scoped (the trigger's own `[aria-expanded]`/`[data-state=open]` active-fill
|
|
426
|
+
in dock-controls/triggers.css). The `[data-held]` (slider-drag) lift above is KEPT —
|
|
427
|
+
a legitimate held-cursor cue, not the bug. */
|
|
455
428
|
|
|
456
|
-
/* AX.W55 — the `contrast-color()` flip for the dock control foreground (Chrome
|
|
457
|
-
147+/Safari 26+; progressive enhancement, NEVER the load-bearing floor). The
|
|
458
|
-
declarative bucket above already carries AA on all engines (it darkens the dock
|
|
459
|
-
plate so the warm-dark `--dock-fg-on-aurora` clears ~17:1 over white at the 18%
|
|
460
|
-
floor). On a supporting engine `contrast-color()` REFINES the control ink,
|
|
461
|
-
anchored on the LIGHT BACKDROP signal (`--card`, the warm-white surface base the
|
|
462
|
-
bright bucket implies) — `contrast-color(var(--card))` resolves to the legible
|
|
463
|
-
DARK ink. Anchoring on the dark ink instead inverts to white (illegible on the
|
|
464
|
-
still-light dock plate), so the anchor is the light surface, matching the rung
|
|
465
|
-
refinement in glass.css. The bucket is the floor; this is the native pick. */
|
|
466
|
-
@supports (color: contrast-color(white)) {
|
|
467
|
-
/* The SELF-ENGAGED dock refinement (the unconditional self-engage above);
|
|
468
|
-
progressive enhancement only — the declarative darken is the AA floor. */
|
|
469
|
-
:where(.glass-dock) {
|
|
470
|
-
--dock-fg-on-aurora: contrast-color(var(--card));
|
|
471
|
-
--muted-foreground: contrast-color(var(--card));
|
|
472
|
-
}
|
|
473
|
-
@container style(--glass-backdrop: light) {
|
|
474
|
-
.glass-dock {
|
|
475
|
-
--dock-fg-on-aurora: contrast-color(var(--card));
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
429
|
}
|
|
480
430
|
|
|
481
|
-
/* BB.W-LIQUID-REVEAL — the dock-expand bloom beat's blur-settle is OFF under
|
|
482
|
-
`prefers-reduced-motion: reduce` (the vestibular floor). The morph itself snaps
|
|
483
|
-
instantly under PRM (the `DOCK_SPRING` `respectReducedMotion` in
|
|
484
|
-
dockMorphContext.ts), and zeroing `--dock-reveal-blur` here removes the resting
|
|
485
|
-
collapsed-pill decongest blur too — a reduced-motion dock reads crisp at every
|
|
486
|
-
state, no in-between blur frames. */
|
|
487
|
-
@media (prefers-reduced-motion: reduce) {
|
|
488
|
-
.glass-dock {
|
|
489
|
-
--dock-reveal-blur: 0px;
|
|
490
|
-
}
|
|
491
|
-
}
|
|
@@ -262,6 +262,18 @@
|
|
|
262
262
|
calc(var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio)),
|
|
263
263
|
var(--dock-icon-glyph-floor)
|
|
264
264
|
);
|
|
265
|
+
/* BC.W-DOCK-ENGINE move 3 (the Atlas A-9 fold) — RE-DECLARE the in-dock
|
|
266
|
+
toggle glyph knob on coarse beside `--dock-icon-glyph`. Its `:root`
|
|
267
|
+
default tracks `--dock-icon-glyph`, but a `:root`-only default would
|
|
268
|
+
freeze at the `:root` `--dock-scale` (the identity 1) while the coarse
|
|
269
|
+
`--dock-icon-glyph` above lifts — the AZ.R5-TOKENS substitution-vs-
|
|
270
|
+
inheritance dead-knob (the SAME trap the dock-scale re-declare closed,
|
|
271
|
+
mirrored for the toggle glyph). Re-declaring it HERE, against the
|
|
272
|
+
coarse-re-resolved `--dock-icon-glyph`, keeps the in-dock dark-toggle
|
|
273
|
+
glyph optically uniform with the nav glyphs on coarse AND fine pointer.
|
|
274
|
+
The `--dark-mode-toggle-padding` clamp (dark-mode-toggle.css) subtracts
|
|
275
|
+
THIS knob, so the box pad re-resolves in lockstep too. */
|
|
276
|
+
--dock-control-glyph-size: var(--dock-icon-glyph);
|
|
265
277
|
--dock-collapsed-padding: calc(0.25rem * var(--dock-scale));
|
|
266
278
|
--dock-layer-tab-size: calc(1.75rem * var(--dock-scale));
|
|
267
279
|
/* --dock-collapsed-summary-min-size derives from --dock-layer-height (the
|