@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
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/* dock/search.css — the dock-as-native-dynamic-search-bar field surface (BC.W-DOCK-SEARCH).
|
|
2
|
+
*
|
|
3
|
+
* The active dock-search field + its placeholder + the result rows read CLEARLY forward
|
|
4
|
+
* over whatever backdrop the dock floats on (≥4.5:1, the W55 darken seam) — never the
|
|
5
|
+
* pale-ghost-fading-into-content trap (the NN/g defect, WWDC §219 "buttons remain
|
|
6
|
+
* legible"). The field surface composes the W55 `--glass-tint-strength-aa` bright-bucket
|
|
7
|
+
* darken at the ELEMENT level (the `color-mix(in oklab, <rung>, var(--glass-tint-source)
|
|
8
|
+
* var(--glass-tint-strength))` seam glass/ladder.css + morph.css already compose) — NOT
|
|
9
|
+
* the RAW pre-substituted `--glass-bg-dock` token (the substitution-vs-inheritance trap
|
|
10
|
+
* the dock surfaces already hit: a surface reading the pre-baked `--glass-bg-dock` baked
|
|
11
|
+
* at `:root` 0% strength does NOT darken — the pale-fade). At the 0%/floor default the
|
|
12
|
+
* inner oklab mix is a no-op (byte-identical to the un-tinted rung); under the bright
|
|
13
|
+
* bucket it darkens-over-light (and lifts-over-dark per W-DARK-MATERIAL).
|
|
14
|
+
*
|
|
15
|
+
* The result rows ride `.glass-menu-row` (the glass-quiet hover-lift, BA.W-MENU-GLASS —
|
|
16
|
+
* CONSUMED here, the glassify is BC.W-SEARCH-CUSTOM's). The customization-surface axes
|
|
17
|
+
* (size/surface/variant) are BC.W-SEARCH-CUSTOM's — this partial only seats the field +
|
|
18
|
+
* the legibility seam. The morph itself is the dock's OWN `--dock-morph-t` + the
|
|
19
|
+
* byte-untouched `morph-bridge.css` metaball (READ-ONLY — bound, never edited). */
|
|
20
|
+
|
|
21
|
+
@layer components {
|
|
22
|
+
/* The search-field region inside the morph aperture. The consumer slots its
|
|
23
|
+
<SearchBar>/<FuzzySearch> here; this rule owns the legibility seam + the layout
|
|
24
|
+
inside the aperture (a column: the field over its dropdown). It is present ONLY on
|
|
25
|
+
a `[data-search]` dock (additive — a non-search dock never carries it). */
|
|
26
|
+
.glass-dock[data-search] .dock-search-field {
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
inline-size: 100%;
|
|
30
|
+
min-inline-size: 0;
|
|
31
|
+
gap: var(--dock-search-field-gap, 0.375rem);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* The ACTIVE field surface — the W55 element-level oklab tint (NOT the raw
|
|
35
|
+
`--glass-bg-dock`). The field reads the floating rung darkened toward the warm-ink
|
|
36
|
+
at the bright-bucket strength, so it reads ≥4.5:1 over a busy backdrop. The
|
|
37
|
+
`--glass-tint-source`/`--glass-tint-strength` are the SAME element-level customs
|
|
38
|
+
the dock plate self-engages (morph.css's `:where(.glass-dock)` rule re-points them
|
|
39
|
+
under the bright bucket); this field rides that lockstep, never a field-local
|
|
40
|
+
recipe. The field TEXT is `--foreground` (the full warm ink); the
|
|
41
|
+
placeholder/muted caption is `--on-glass-muted` (5.76:1 vs the plate). */
|
|
42
|
+
.glass-dock[data-search] .dock-search-field .input-bar {
|
|
43
|
+
background: color-mix(
|
|
44
|
+
in oklab,
|
|
45
|
+
var(--glass-bg-floating),
|
|
46
|
+
var(--glass-tint-source) var(--glass-tint-strength)
|
|
47
|
+
);
|
|
48
|
+
color: var(--foreground);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* The placeholder + the autocomplete ghost-text + any muted caption inside the field
|
|
52
|
+
read the on-glass muted rung (NOT `--muted-foreground`, which is calibrated against
|
|
53
|
+
the opaque page and collapses on a translucent darkened plate). */
|
|
54
|
+
.glass-dock[data-search] .dock-search-field .input-bar-field::placeholder,
|
|
55
|
+
.glass-dock[data-search] .dock-search-field .dock-search-ghost,
|
|
56
|
+
.glass-dock[data-search] .dock-search-field .dock-search-result-meta {
|
|
57
|
+
color: var(--on-glass-muted);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* The dropdown result rows ride the shared `.glass-menu-row` glass-quiet hover-lift
|
|
61
|
+
(BA.W-MENU-GLASS — CONSUMED, not re-authored). The dock-search list applies
|
|
62
|
+
`.glass-menu-row` per row; this rule reaches the selected/highlighted row through
|
|
63
|
+
the SAME register the menu families use (no flat `bg-accent`/`bg-muted` fork). The
|
|
64
|
+
active result reads the data-highlighted state the menu recipe already paints. */
|
|
65
|
+
.glass-dock[data-search] .dock-search-field .dock-search-result {
|
|
66
|
+
color: var(--foreground);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/* dock/shape.css — BC.W-DOCK-ARBITRARY: the arbitrary-shape morph register.
|
|
2
|
+
*
|
|
3
|
+
* The dock is no longer locked to "a rectangle that grows wider/taller." Its SHAPE
|
|
4
|
+
* is a SCALAR PARAMETER on the ONE `--dock-morph-t` clock (the BC.W-DOCK-ENGINE
|
|
5
|
+
* buttery scalar): the corner profile LERPS between a `--dock-shape-from`/
|
|
6
|
+
* `--dock-shape-to` radius pair, an OPT-IN `clip-path` silhouette LERPS between a
|
|
7
|
+
* `--dock-shape-clip-from`/`--dock-shape-clip-to` pair, and a `useLiquidFlex`
|
|
8
|
+
* volume-preserving squish couples the deformation. So the dock FLOWS between
|
|
9
|
+
* arbitrary silhouettes — a circle, a pill, a wide bar, a tall rail, a teardrop —
|
|
10
|
+
* as one continuous liquid-glass surface (the iOS-27 control-center materialization,
|
|
11
|
+
* apple-ios27.md §3.1 "physically morphs from one shape to another").
|
|
12
|
+
*
|
|
13
|
+
* THE COMPOSITOR FLOOR (apple-ios27.md §3.1 + motion-canon P5): the shape morph
|
|
14
|
+
* animates ONLY `border-radius`/`clip-path`/`--*` — compositor/paint properties,
|
|
15
|
+
* ZERO per-frame layout. The footprint is reached by the reserved-`scale()` morph
|
|
16
|
+
* (layers.css, byte-untouched here), NEVER a per-frame size lerp. proof:dock-arbitrary
|
|
17
|
+
* + proof:no-layout-animation both hold.
|
|
18
|
+
*
|
|
19
|
+
* THE LIBRARY DEFAULT IS THE CIRCLE↔PILL IDENTITY (CLAUDE.md the collapsed-perfect-
|
|
20
|
+
* circle): `--dock-shape-from`/`--dock-shape-to` default to `--radius-dock` (9999px)
|
|
21
|
+
* on both endpoints — a no-op lerp byte-identical to the prior static
|
|
22
|
+
* `border-radius: var(--radius-dock)` — and the clip pair defaults `none`/`none`
|
|
23
|
+
* (the rectangle/pill common case needs no clip). The arbitrary teardrop/blob
|
|
24
|
+
* silhouette is OPT-IN: a consumer sets the shape tokens on the dock scope
|
|
25
|
+
* (presets-in-consumers). Clean break (MEMORY: no backwards compat) — the prior
|
|
26
|
+
* hardcoded circle/pill radius becomes the token DEFAULT, no `--dock-radius-legacy`.
|
|
27
|
+
*
|
|
28
|
+
* @import-ed by dock.css in cascade order, in the SAME `@layer components`. */
|
|
29
|
+
|
|
30
|
+
/* BD.W-DOCK-PUNCH-CHANNEL — the dedicated cartoon-punch squish scalar. A SEPARATE
|
|
31
|
+
typed `<number>` @property (init 1, the no-op identity) so a one-shot transition on
|
|
32
|
+
`--ease-cartoon-punch` INTERPOLATES the ~4% pre-dip + ~22% overshoot rather than
|
|
33
|
+
snapping. It is DISTINCT from `--stretch` (the orientation/fission squish, capped by
|
|
34
|
+
`--dock-morph-max-stretch: 1.14`): the punch is NOT subject to that cap (the cartoon
|
|
35
|
+
register overshoots PAST the spring fence), it has ZERO JS owners (CSS-only, driven
|
|
36
|
+
by the transition below), and a fission split fired mid-collapse cannot clobber it
|
|
37
|
+
(the 6-owner `--stretch` last-writer race the shared channel would have introduced —
|
|
38
|
+
the dedicated channel REMOVES it, a net improvement to fission). `inherits: false` —
|
|
39
|
+
the punch is the dock root's OWN deformation, never cascaded to children. A
|
|
40
|
+
non-supporting engine reads the safe 1 fallback (no punch, just the bounded size). */
|
|
41
|
+
@property --dock-punch-stretch {
|
|
42
|
+
syntax: "<number>";
|
|
43
|
+
inherits: false;
|
|
44
|
+
initial-value: 1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@layer components {
|
|
48
|
+
/* ── The corner-profile lerp (A1 — the shape is a scalar parameter) ───────────
|
|
49
|
+
The dock surface radius interpolates the `--dock-shape-from`/`--dock-shape-to`
|
|
50
|
+
token pair on the ONE `--dock-expand-t` scalar (the directional expanded-ness
|
|
51
|
+
the BC.W-DOCK-ENGINE chrome interp rides; at rest it resolves to the class
|
|
52
|
+
endpoint, 0 collapsed / 1 expanded, so the resting corner is exact). This
|
|
53
|
+
GENERALIZES the prior two hardcoded class endpoints into a consumer-targetable
|
|
54
|
+
parameter: `from` is the collapsed silhouette's corner (the perfect circle,
|
|
55
|
+
9999px), `to` is the expanded silhouette's corner (the pill / an arbitrary
|
|
56
|
+
profile). A consumer overrides either token on the dock scope to morph to an
|
|
57
|
+
arbitrary corner.
|
|
58
|
+
|
|
59
|
+
This is the SINGLE radius authority (shell.css's prior static `border-radius:
|
|
60
|
+
var(--radius-dock)` is GENERALIZED here — no dead static, no duplicate, clean
|
|
61
|
+
break). Both tokens default to `--radius-dock` (9999px) so the lerp is a NO-OP at
|
|
62
|
+
the library default — byte-identical to the prior static, the circle↔pill identity
|
|
63
|
+
preserved. The token-driven `border-radius` interp is a compositor/paint property
|
|
64
|
+
on the registered `--dock-expand-t` `<number>`, NOT a transition
|
|
65
|
+
(proof:no-layout-animation stays GREEN). shape.css is imported AFTER shell.css so
|
|
66
|
+
this rule is the cascade winner for the dock corner. */
|
|
67
|
+
.glass-dock {
|
|
68
|
+
border-radius: calc(
|
|
69
|
+
var(--dock-shape-from, var(--radius-dock)) +
|
|
70
|
+
(var(--dock-shape-to, var(--radius-dock)) -
|
|
71
|
+
var(--dock-shape-from, var(--radius-dock))) *
|
|
72
|
+
var(--dock-expand-t, 1)
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* ── The arbitrary silhouette — the OPT-IN `clip-path` lerp (A1) ──────────────
|
|
77
|
+
DEFAULT-OFF: at the library default `--dock-shape-clip-from`/`--dock-shape-clip-to`
|
|
78
|
+
are `none`, so this rule resolves `clip-path: none` (the rectangle/pill common
|
|
79
|
+
case needs no clip; the box-morph + corner lerp above is the whole shape). A
|
|
80
|
+
consumer opts into an arbitrary teardrop/blob silhouette by setting the clip
|
|
81
|
+
tokens to two compatible `inset()`/`path()`/`shape()` values; the silhouette then
|
|
82
|
+
LERPS between them on `--dock-morph-t` via the `from` * (1−t) + `to` * t weighting
|
|
83
|
+
below. `clip-path` is a compositor-friendly property — the silhouette morphs with
|
|
84
|
+
ZERO reflow (apple-ios27.md §3.1).
|
|
85
|
+
|
|
86
|
+
The lerp is expressed as a `clip-path` whose two endpoints carry per-endpoint
|
|
87
|
+
opacity-like weights via the scalar: the active silhouette is the `to`-clip once
|
|
88
|
+
the morph crosses, the `from`-clip before. The web platform cannot continuously
|
|
89
|
+
interpolate two arbitrary mismatched-topology `clip-path` functions, so the
|
|
90
|
+
opt-in consumer supplies TOPOLOGY-COMPATIBLE endpoints (two `inset()`s, or two
|
|
91
|
+
`path()`s with equal command counts) — the AX.W42 fold-7 topology limit is
|
|
92
|
+
RESPECTED (a mismatched-topology V↔H morph occludes its reflow in the goo-merge,
|
|
93
|
+
BC.W-LIQUID-MORPH, not a continuous clip morph THROUGH the change). The default
|
|
94
|
+
`none`/`none` opts the whole register off so the limit never bites the common
|
|
95
|
+
case. The custom property carries the consumer's interpolable pair; the engine
|
|
96
|
+
resolves it on the scalar only when set. */
|
|
97
|
+
.glass-dock {
|
|
98
|
+
--dock-shape-clip: var(--dock-shape-clip-to, none);
|
|
99
|
+
clip-path: var(--dock-shape-clip);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* While morphing, the opt-in silhouette LERPS: before the midpoint the `from`-clip
|
|
103
|
+
reads, after it the `to`-clip, so the silhouette flows from one to the other as
|
|
104
|
+
the box scales under it (the corner + footprint + silhouette all on the ONE
|
|
105
|
+
scalar). The `none`/`none` default makes this a no-op (`clip-path: none` both
|
|
106
|
+
sides), so the rectangle/pill morph never pays the clip cost; the arbitrary
|
|
107
|
+
register engages ONLY when a consumer sets the clip tokens. */
|
|
108
|
+
.glass-dock[data-morphing] {
|
|
109
|
+
--dock-shape-clip: var(--dock-shape-clip-from, none);
|
|
110
|
+
}
|
|
111
|
+
.glass-dock[data-morphing]:where(.expanded, .always-expanded) {
|
|
112
|
+
/* expanding (0→1): once past the midpoint the `to`-silhouette is the target */
|
|
113
|
+
--dock-shape-clip: var(--dock-shape-clip-to, none);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* ── The squish — the `useLiquidFlex` `--stretch` deformation (A4) ────────────
|
|
117
|
+
The shape morph couples the volume-preserving squish the tab-indicator +
|
|
118
|
+
useDockOrientationMorph already speak: `scale: var(--stretch) calc(1/var(--stretch))`
|
|
119
|
+
along the morph axis, capped LOW at `--dock-morph-max-stretch` (~1.14) by
|
|
120
|
+
useLiquidFlex itself (the ONE squish source — no forked deformation math). The
|
|
121
|
+
plate DEFORMS like liquid as it changes shape — a fast morph swells, a slow one
|
|
122
|
+
barely. The driver (useDockOrientationMorph) writes `--stretch` on the dock scope;
|
|
123
|
+
at rest `--stretch` is unset → 1/1 (no squish). The reciprocal pairing preserves
|
|
124
|
+
volume (stretch along travel, compress across). This is compositor-only (a
|
|
125
|
+
`scale` transform), composed WITH the ratio-free convex-blend size morph
|
|
126
|
+
(layers.css) — the box scale rides `--dock-size-scale`, the squish rides
|
|
127
|
+
`--stretch`, the cartoon punch rides `--dock-punch-stretch`, all three
|
|
128
|
+
multiply on the compositor on ONE `scale:` property.
|
|
129
|
+
|
|
130
|
+
Scoped to `[data-morphing]` so the squish is a morph-transient (at rest the plate
|
|
131
|
+
is un-squished); the cross-axis is the morph axis's reciprocal. Horizontal docks
|
|
132
|
+
stretch X / compress Y; vertical stretch Y / compress X (the inverse-axis twin,
|
|
133
|
+
mirroring the bridge plates' per-orientation squish in morph-bridge.css).
|
|
134
|
+
|
|
135
|
+
BD.W-DOCK-CORE / BD.W-DOCK-PUNCH-CHANNEL — THREE factors fold onto this ONE
|
|
136
|
+
`scale:` along the morph axis:
|
|
137
|
+
1. `--dock-size-scale` (layers.css) — the ratio-FREE convex-blend size, BOUNDED
|
|
138
|
+
in [0.06, 1] by construction (the container-justify-agnostic grow-from-center,
|
|
139
|
+
box reserves `--dock-expanded-px` + scales toward it from `transform-origin:
|
|
140
|
+
center`). The seizure-prone `--dock-root-scale` ratio it REPLACES is gone.
|
|
141
|
+
2. `--stretch` — the orientation/fission volume-preserving squish (the 6-JS-owner
|
|
142
|
+
channel, capped 1.14). Unset → 1 (the squish-only path byte-identical).
|
|
143
|
+
3. `--dock-punch-stretch` — the dedicated cartoon-punch overshoot (the §PUNCH
|
|
144
|
+
channel, driven by the one-shot transition below; NOT capped by 1.14). Unset →
|
|
145
|
+
1 (no punch).
|
|
146
|
+
The cross-axis is the RECIPROCAL of the two volume-preserving factors
|
|
147
|
+
`1 / (--stretch × --dock-punch-stretch)` so the punch + the squish deform the pill
|
|
148
|
+
along travel and pinch across WITHOUT moving the footprint or the centroid — the
|
|
149
|
+
size factor (`--dock-size-scale`) is NOT reciprocated (it is the real footprint
|
|
150
|
+
morph, not a volume-preserving deformation). Folding all three on ONE `scale:`
|
|
151
|
+
keeps the multiply explicit + on one compositor channel (a separate `transform`
|
|
152
|
+
would be a distinct box that could fight the `scale:`). Horizontal: X = size ×
|
|
153
|
+
squish × punch, Y = 1/(squish × punch); vertical: the inverse axes. */
|
|
154
|
+
.glass-dock[data-morphing]:not(.vertical),
|
|
155
|
+
.glass-dock[data-punching]:not(.vertical) {
|
|
156
|
+
scale: calc(
|
|
157
|
+
var(--dock-size-scale, 1) * var(--stretch, 1) *
|
|
158
|
+
var(--dock-punch-stretch, 1)
|
|
159
|
+
)
|
|
160
|
+
calc(1 / (var(--stretch, 1) * var(--dock-punch-stretch, 1)));
|
|
161
|
+
}
|
|
162
|
+
.glass-dock[data-morphing].vertical,
|
|
163
|
+
.glass-dock[data-punching].vertical {
|
|
164
|
+
scale: calc(1 / (var(--stretch, 1) * var(--dock-punch-stretch, 1)))
|
|
165
|
+
calc(
|
|
166
|
+
var(--dock-size-scale, 1) * var(--stretch, 1) *
|
|
167
|
+
var(--dock-punch-stretch, 1)
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* ── BD.W-DOCK-PUNCH-CHANNEL — the dedicated cartoon-punch DRIVER ──────────────
|
|
172
|
+
The size blend above is monotone + bounded (correct, boring, bulletproof). The
|
|
173
|
+
PUNCH is the audacious half: a SEPARATE one-shot transition on
|
|
174
|
+
`--ease-cartoon-punch` (the ~4% pre-dip + ~22% overshoot `linear()`) that blooms
|
|
175
|
+
`--dock-punch-stretch` AWAY from 1 then RETURNS to 1 at settle — NEVER latched
|
|
176
|
+
(the +16%-forever spike defect). It is honestly a SECOND punch animation layered
|
|
177
|
+
on the spring (NOT "one clock"): the bounded size rides `--dock-morph-t`, the
|
|
178
|
+
punch rides this transition. `--motion-weight` (dock scope 1) co-scales the punch
|
|
179
|
+
AMPLITUDE; PRM zeroes `--motion-weight` → the amplitude collapses to 1 (no punch),
|
|
180
|
+
and the PRM `--ease-cartoon-punch → --ease-standard` re-alias removes the curve
|
|
181
|
+
shape — the bounded size still snaps via the clamped `t`, the morph still CONFIRMS.
|
|
182
|
+
|
|
183
|
+
The dock is a LOUD DRIVER (design.md §L4): it pins `--motion-weight: 1` on its own
|
|
184
|
+
scope so even a slow user-driven morph rides the full punch register. The
|
|
185
|
+
`[data-punching]` hook (armed by the dock for one episode) is what lifts the punch
|
|
186
|
+
to its overshoot value; the transition carries it there on the punch curve and
|
|
187
|
+
back to the rest 1. The amplitude is `1 + 0.22·--motion-weight` (the ~22% overshoot
|
|
188
|
+
the curve peaks at × the loud-register weight). */
|
|
189
|
+
.glass-dock {
|
|
190
|
+
/* LOUD DRIVER — the dock pushes the motion weight to max so the punch reads at
|
|
191
|
+
full cartoon amplitude (design.md §L4; the rest 0.618 would mute it to ~+13.6%). */
|
|
192
|
+
--motion-weight: 1;
|
|
193
|
+
/* the punch rests at the identity 1 (no deformation) */
|
|
194
|
+
--dock-punch-stretch: 1;
|
|
195
|
+
/* the one-shot punch transition — the curve does the dip+overshoot+settle; the
|
|
196
|
+
weight zeroes it under PRM (the curve also re-aliases to --ease-standard). */
|
|
197
|
+
transition: --dock-punch-stretch var(--duration-normal)
|
|
198
|
+
var(--ease-cartoon-punch);
|
|
199
|
+
}
|
|
200
|
+
/* While punching, the dock lifts the punch to its overshoot target; the transition
|
|
201
|
+
carries `--dock-punch-stretch` there on the cartoon curve then the hook clears and
|
|
202
|
+
it transitions back to 1 (the RETURN — never latched). The overshoot share scales
|
|
203
|
+
with the loud weight; PRM weight 0 → amplitude 1 (no punch). */
|
|
204
|
+
.glass-dock[data-punching] {
|
|
205
|
+
--dock-punch-stretch: calc(1 + 0.22 * var(--motion-weight, 1));
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* ── BD.W-DOCK-PUNCH-CHANNEL — the kinetic cartoon CAST ────────────────────────
|
|
209
|
+
The bold 1940s offset-shadow made kinetic: the inert `.cartoon-cast` child
|
|
210
|
+
(BD.W-CARTOON-CASTER — a real DOM child, NOT a pseudo, since the dock's `::before`/
|
|
211
|
+
`::after` are both occupied by the grain + the morph chrome) carries the SHIPPED
|
|
212
|
+
`--shadow-cartoon-md/lg` rung and SLIDES opposite the morph as the box punches.
|
|
213
|
+
The travel reads `--motion-weight` (PRM → 0 → static) so the cast deepens + slides
|
|
214
|
+
through the punch then snaps home at settle. Plain per-mode `.dark` arms (the
|
|
215
|
+
light-dark() inset-shadow trap avoided — the cast is a plain offset shadow, no
|
|
216
|
+
inset fragment). Behind the plate (z-index -1), pointer-inert, paint-only. */
|
|
217
|
+
.glass-dock > .cartoon-cast {
|
|
218
|
+
position: absolute;
|
|
219
|
+
inset: 0;
|
|
220
|
+
z-index: -1;
|
|
221
|
+
border-radius: inherit;
|
|
222
|
+
pointer-events: none;
|
|
223
|
+
/* the warm-cream rest cast — the bold offset ink the plate floats above */
|
|
224
|
+
box-shadow: var(--shadow-cartoon-md);
|
|
225
|
+
/* the derived travel — opposite-morph slide, gated by the loud weight × the punch
|
|
226
|
+
presence. At rest (punch 1) the travel is 0; mid-punch it slides out + deepens. */
|
|
227
|
+
--cast-travel: calc(
|
|
228
|
+
7px * var(--motion-weight, 1) *
|
|
229
|
+
clamp(0, calc((var(--dock-punch-stretch, 1) - 1) / 0.22), 1)
|
|
230
|
+
);
|
|
231
|
+
translate: calc(-1 * var(--cast-travel)) var(--cast-travel);
|
|
232
|
+
transition:
|
|
233
|
+
translate calc(var(--duration-normal) * 1.15) var(--ease-cartoon-punch),
|
|
234
|
+
box-shadow var(--duration-normal) var(--ease-standard);
|
|
235
|
+
}
|
|
236
|
+
/* mid-punch the cast deepens to the LOUD rung (a plain per-mode arm below adds the
|
|
237
|
+
dark-mode rung — the light-dark() inset trap avoided). */
|
|
238
|
+
.glass-dock[data-punching] > .cartoon-cast {
|
|
239
|
+
box-shadow: var(--shadow-cartoon-lg);
|
|
240
|
+
}
|
|
241
|
+
@media (prefers-reduced-motion: reduce) {
|
|
242
|
+
/* PRM — the cast is static (no travel); the offset ink stays (a legibility
|
|
243
|
+
asset). `--motion-weight: 0` already zeroes `--cast-travel`; pin the
|
|
244
|
+
transition off too so a residual frame cannot slide. */
|
|
245
|
+
.glass-dock > .cartoon-cast {
|
|
246
|
+
transition: none;
|
|
247
|
+
translate: 0 0;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
@@ -24,8 +24,7 @@
|
|
|
24
24
|
--dock-separator-height: calc(var(--dock-h, var(--size-icon-btn)) * 0.5);
|
|
25
25
|
--dock-collapsed-hover-scale: var(--scale-hover-dock);
|
|
26
26
|
/* AW.W3 — the spring-keyed child stagger knobs. `--dock-stagger-window-size`
|
|
27
|
-
is the fraction of the morph each child reveals over
|
|
28
|
-
is the px the child rises from as it fades in. Consumers retune the
|
|
27
|
+
is the fraction of the morph each child reveals over. Consumers retune the
|
|
29
28
|
cascade feel per instance.
|
|
30
29
|
|
|
31
30
|
AX.W02 — `--dock-stagger-step` is the per-child onset BEAT: each
|
|
@@ -49,7 +48,6 @@
|
|
|
49
48
|
beat, that was too wide. The summary/persistent glyph is front-loaded
|
|
50
49
|
structurally (onset 0, scalar-keyed below). */
|
|
51
50
|
--dock-stagger-window-size: 0.4;
|
|
52
|
-
--dock-stagger-rise: 4px;
|
|
53
51
|
--dock-stagger-step: 0.08;
|
|
54
52
|
/* AW.W3b — big-dock tokens. `--dock-card-radius` is the finite card-shell
|
|
55
53
|
radius (default --radius-dock-card = --radius-3xl, density-scaled
|
|
@@ -129,7 +127,7 @@
|
|
|
129
127
|
host-constrained width it already has there. The default free-floating
|
|
130
128
|
dock shrink-wraps to its content (AV.W16 TW3 made this a default and
|
|
131
129
|
silently broke dock sizing for the common case). */
|
|
132
|
-
|
|
130
|
+
/* BC.W-DOCK-ARBITRARY — the base corner is the shape register's token lerp (dock/shape.css, the single radius authority generalizing the prior static). */
|
|
133
131
|
white-space: nowrap;
|
|
134
132
|
max-inline-size: var(--dock-max-inline-size);
|
|
135
133
|
padding: var(--dock-padding-block, 0.375rem) var(--dock-padding-inline, 0.5rem);
|
|
@@ -148,10 +146,13 @@
|
|
|
148
146
|
);
|
|
149
147
|
backdrop-filter: var(--dock-surface-blur);
|
|
150
148
|
border: 1.5px solid var(--glass-border-dock, var(--glass-border-resting));
|
|
151
|
-
/*
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
149
|
+
/* BC.W-BLACK-BAR D2 — the dock rim is the DIRECTIONAL pair (bright catch-light
|
|
150
|
+
on the TOP edge, faint warm under-shadow on the BOTTOM — glass-fx.css), the
|
|
151
|
+
leading inset layers of the dock shadow stack. RETIRES the omnidirectional
|
|
152
|
+
`--glass-edge-light` ring that fought the (now ≤4% α) `--glass-border-dock`
|
|
153
|
+
perimeter; the navigation band reads its rim from the SAME corrected token
|
|
154
|
+
source as cards/dialogs (no dock-local dark rim re-paste). */
|
|
155
|
+
box-shadow: var(--glass-rim-top), var(--glass-rim-bottom), var(--shadow-dock-override, var(--shadow-dock));
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
/* AW.W2 — the box IS the reveal aperture (clip-reveal one-clock morph).
|
|
@@ -311,6 +312,21 @@
|
|
|
311
312
|
scale var(--dock-motion-resize);
|
|
312
313
|
}
|
|
313
314
|
|
|
315
|
+
/* BC.W-DOCK-ENGINE move 2 — the rail polish transition is COMPOSITOR-PROMOTED
|
|
316
|
+
only while its hover/press/held state is ARMED (the transform/scale legs ride
|
|
317
|
+
the compositor channel; `will-change: transform` hints the layer for the
|
|
318
|
+
gesture). NEVER a resting `will-change` (a permanent promotion pins a wasted
|
|
319
|
+
compositor layer at rest — the motion-canon P5 no-resting-promotion floor):
|
|
320
|
+
the hint lives on the `:hover`/`:active`/`[data-held]` armed selectors and is
|
|
321
|
+
cleared the instant the state releases. PRM keeps no pinned layer either — the
|
|
322
|
+
universal a11y carve strips the spatial transform under reduce, and a
|
|
323
|
+
non-animating rail needs no promotion. */
|
|
324
|
+
.glass-dock.vertical:hover,
|
|
325
|
+
.glass-dock.vertical:active,
|
|
326
|
+
.glass-dock.vertical[data-held] {
|
|
327
|
+
will-change: transform;
|
|
328
|
+
}
|
|
329
|
+
|
|
314
330
|
/* AZ.W-DOCK-TAXONOMY — the vertical dock's surface plate (the prior
|
|
315
331
|
`.variant-rail` block; "rail-ness" is now `orientation="vertical"` + a
|
|
316
332
|
shape/density choice, not a variant). */
|