@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,352 @@
|
|
|
1
|
+
/* dock/stack-rail.css — BC.W-DOCK-STACK-RAIL — the macOS hover-expand STACK rail
|
|
2
|
+
* (the clean-break rebuild; the divider-carousel chip-strip RETIRED).
|
|
3
|
+
*
|
|
4
|
+
* THE KEPT CHASSIS (glass-dock-codebase.md §2.5 — "that part STAYS"). The `.glass-dock`
|
|
5
|
+
* root carries `contain: paint` + `backdrop-filter` + (on a vertical dock) `overflow` —
|
|
6
|
+
* all three hard-clip every descendant to the dock's border box, so an `#rail` rendered
|
|
7
|
+
* as a dock CHILD could never paint beyond the edge. The escape: GlassDock renders the
|
|
8
|
+
* `#rail` as a SIBLING of `.glass-dock` inside the `.glass-dock-frame` (a `display:contents`
|
|
9
|
+
* shell that becomes a NON-clipping positioning context only when `data-has-rail`). The
|
|
10
|
+
* `.dock-hairline-slot` is `position: absolute` relative to THAT shell — outside the dock's
|
|
11
|
+
* containment — so the stack VISIBLY extends beyond the dock edge into its own gutter. No
|
|
12
|
+
* `contain`, no `backdrop-filter`, no `overflow` on the shell → nothing clips it. This is
|
|
13
|
+
* the load-bearing chassis the rebuild reuses; the box stays INVIOLATE (the slot feeds NO
|
|
14
|
+
* size into the dock's intrinsic box).
|
|
15
|
+
*
|
|
16
|
+
* THE STACK (the verbatim spec — rail-spec-contradicted-divider-carousel). A `<DockStack>`
|
|
17
|
+
* is one stack: a CORE anchor item (the always-visible dock(1) glyph) + N members. On
|
|
18
|
+
* hover/focus of the core, the members FAN OUT next to the rail — a column (vertical dock)
|
|
19
|
+
* / row (horizontal dock) of FULLY-VISIBLE glass icons springing open beside the line,
|
|
20
|
+
* each a `--glass-bg-floating` glass icon (NEVER a shadowed half-tucked chip). The fan-out
|
|
21
|
+
* is compositor-only (scale/translate/opacity/filter — the `proof:no-layout-animation`
|
|
22
|
+
* floor, NO animated width/height/inset), staggered by `--dock-stack-stagger * var(--i)`.
|
|
23
|
+
*
|
|
24
|
+
* CLEARS CONTENT BY TOPOLOGY (THE HEADLINE — ba-dock-shell-gestalt-fail-revoked +
|
|
25
|
+
* ba-chip-graze). The stack lives BEYOND the dock edge in its own gutter (the
|
|
26
|
+
* `chipOverMain: false` topology), the fan extending AWAY from content, never over
|
|
27
|
+
* `<main>` / the `<h1>` / a form field at any y. The chip-graze that revoked the dock/shell
|
|
28
|
+
* PASS cannot recur.
|
|
29
|
+
*
|
|
30
|
+
* @import-ed by dock.css into the SAME `@layer components` as the other partials. */
|
|
31
|
+
@layer components {
|
|
32
|
+
:root {
|
|
33
|
+
/* The beyond-edge extent — how far the stack reaches into the gutter past the dock
|
|
34
|
+
edge. Rides `--dock-scale` so it tracks the coarse-pointer density thread. (KEPT
|
|
35
|
+
token, re-conceived from the divider-carousel's symmetric overrun to the stack's
|
|
36
|
+
one-way gutter reach.) */
|
|
37
|
+
--dock-rail-extend-length: calc(2.5rem * var(--dock-scale, 1));
|
|
38
|
+
/* The macOS-stack tuning tokens (re-expressed via @theme — Tailwind-first, NEVER a
|
|
39
|
+
raw macOS-dock CSS paste). */
|
|
40
|
+
--dock-stack-stagger: 28ms; /* the per-member fan delay (× var(--i)) */
|
|
41
|
+
--dock-stack-gap: calc(0.375rem * var(--dock-scale, 1));
|
|
42
|
+
--dock-stack-member-size: calc(2rem * var(--dock-scale, 1));
|
|
43
|
+
--dock-stack-fold: 0.4; /* the at-rest fold scale (the members tuck behind the core) */
|
|
44
|
+
/* BE.W-DOCK-RAIL-REALIZE — the facet-carousel accent strength. The per-facet
|
|
45
|
+
`--glass-accent` hue rides the THIN rim/glint at this bounded whisper (the
|
|
46
|
+
BB.W-GLASS-ACCENT ≤55% rim ceiling — the warm-cream core + the AA legibility
|
|
47
|
+
survive). A consumer retunes the whole carousel's accent intensity from one
|
|
48
|
+
`:root`/scope override; the rest of the rail is byte-identical. */
|
|
49
|
+
--dock-facet-accent-strength: 48%;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* The dock-frame wrapper — KEPT. DEFAULT (`display: contents`) is layout-transparent
|
|
53
|
+
(byte-identical no-rail path). When a `#rail` is authored it lifts to a real
|
|
54
|
+
NON-clipping positioning context so the abs-positioned slot anchors to the dock box
|
|
55
|
+
yet escapes the dock's clip. */
|
|
56
|
+
.glass-dock-frame {
|
|
57
|
+
display: contents;
|
|
58
|
+
}
|
|
59
|
+
.glass-dock-frame[data-has-rail],
|
|
60
|
+
/* BD.W-DOCK-CORE (II.2 — F-1) — a SPLITTABLE dock frame is ALSO a non-clipping
|
|
61
|
+
positioning context: the fission island + goo neck render as frame siblings of
|
|
62
|
+
`.glass-dock` and must paint OUTSIDE the dock's `contain: paint` clip box (beside/
|
|
63
|
+
above/below the source pill). Same escape the rail uses. */
|
|
64
|
+
.glass-dock-frame[data-splittable] {
|
|
65
|
+
display: inline-flex;
|
|
66
|
+
position: relative;
|
|
67
|
+
/* No containment, no overflow, no blur — the WHOLE point: the stack/island must
|
|
68
|
+
paint beyond the dock box. The wrapper shrink-wraps the dock (inline-flex) so its
|
|
69
|
+
box == the dock box and the rail/island anchors to the true edge. */
|
|
70
|
+
/* BD.W-DOCK-CORE (II.2 — F-1) — the ISLAND REACH resolved on the FRAME (the common
|
|
71
|
+
ancestor) so BOTH the pieces (inside the dock) AND the island/neck (frame
|
|
72
|
+
siblings) read ONE reach: the cluster lands exactly where the island plate
|
|
73
|
+
materializes. A `var(--dock-island-reach, 9rem)` form so a consumer ancestor
|
|
74
|
+
(a gallery tile) can retune the detach distance via a `:root`/ancestor override
|
|
75
|
+
— the frame re-PUBLISHES it (not a hard set that would shadow the override). */
|
|
76
|
+
--dock-island-reach: var(--dock-island-reach-override, 9rem);
|
|
77
|
+
}
|
|
78
|
+
.glass-dock-frame[data-has-rail].vertical,
|
|
79
|
+
.glass-dock-frame[data-splittable].vertical {
|
|
80
|
+
flex-direction: column;
|
|
81
|
+
align-items: stretch;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* The chrome-slot wrapper — a `position: absolute` sibling of `.glass-dock`, anchored
|
|
85
|
+
to the dock-frame (NOT the dock box), so the dock's clip never reaches it. It paints
|
|
86
|
+
nothing itself; `<DockStack>` owns the core + fan. The slot seats at the dock EDGE
|
|
87
|
+
(the `position` start/end), NOT a `[data-rail-anchor]` divider seam (the seam-locator
|
|
88
|
+
RETIRED). It is pass-through; the controls re-arm pointer events. */
|
|
89
|
+
.dock-hairline-slot {
|
|
90
|
+
position: absolute;
|
|
91
|
+
display: flex;
|
|
92
|
+
align-items: center;
|
|
93
|
+
justify-content: center;
|
|
94
|
+
pointer-events: none;
|
|
95
|
+
z-index: 1;
|
|
96
|
+
}
|
|
97
|
+
.dock-hairline-slot > * {
|
|
98
|
+
pointer-events: auto;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* VERTICAL (column) dock — the stack hangs off the TRAILING (inline-end) edge in its
|
|
102
|
+
gutter, the core seated at the dock's block-end (the macOS-stack anchor: the
|
|
103
|
+
bottom-most member at the dock floor, the rest fanning up the rail). The slot starts
|
|
104
|
+
at the dock's trailing edge + the extend reach, clear of <main> (which is to the
|
|
105
|
+
inline-start). */
|
|
106
|
+
.glass-dock-frame[data-has-rail].vertical .dock-hairline-slot {
|
|
107
|
+
inset-inline-start: 100%;
|
|
108
|
+
inset-inline-end: auto;
|
|
109
|
+
inset-block-end: 0;
|
|
110
|
+
inset-block-start: auto;
|
|
111
|
+
inline-size: var(--dock-rail-extend-length);
|
|
112
|
+
block-size: 100%;
|
|
113
|
+
}
|
|
114
|
+
/* HORIZONTAL (row) dock — the stack rises off the TOP (block-start) edge in its gutter
|
|
115
|
+
(a viewport-bottom dock keeps the fan ON-SCREEN above the row), the core at the dock's
|
|
116
|
+
inline-end, the members fanning up. Clear of <main> (which is above the dock). */
|
|
117
|
+
.glass-dock-frame[data-has-rail]:not(.vertical) .dock-hairline-slot {
|
|
118
|
+
inset-block-end: 100%;
|
|
119
|
+
inset-block-start: auto;
|
|
120
|
+
inset-inline-end: 0;
|
|
121
|
+
inset-inline-start: auto;
|
|
122
|
+
block-size: var(--dock-rail-extend-length);
|
|
123
|
+
inline-size: 100%;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* ── The stack ────────────────────────────────────────────────────────────────── */
|
|
127
|
+
.dock-stack {
|
|
128
|
+
position: relative;
|
|
129
|
+
display: flex;
|
|
130
|
+
gap: var(--dock-stack-gap);
|
|
131
|
+
/* the core anchors at the gutter end nearest the dock; the fan extends AWAY into
|
|
132
|
+
the gutter (clear of content). */
|
|
133
|
+
}
|
|
134
|
+
/* Vertical dock — the stack is a ROW: core nearest the dock edge, members fanning out
|
|
135
|
+
(inline) into the trailing gutter. Anchored block-end (the bottom-most member at the
|
|
136
|
+
dock floor — the macOS-stack anchor topology). */
|
|
137
|
+
.dock-stack.vertical {
|
|
138
|
+
flex-direction: row;
|
|
139
|
+
align-items: flex-end;
|
|
140
|
+
}
|
|
141
|
+
/* Horizontal dock — the stack is a COLUMN: core nearest the dock edge (block-end),
|
|
142
|
+
members fanning UP into the gutter above the row. */
|
|
143
|
+
.dock-stack.horizontal {
|
|
144
|
+
flex-direction: column-reverse;
|
|
145
|
+
align-items: center;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* The CORE anchor — the always-visible dock(1) glyph. A floating glass plate (it is
|
|
149
|
+
chrome OUTSIDE the dock substrate, so it carries its OWN glass register, not the
|
|
150
|
+
transparent in-dock recipe). */
|
|
151
|
+
.dock-stack-core {
|
|
152
|
+
flex: 0 0 auto;
|
|
153
|
+
z-index: 1;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/* The fanned members — the FadingScroll port (the one scroll-fade port). The fan's
|
|
157
|
+
main-axis extent caps at `--dock-stack-visible` members; an >visibleCount stack
|
|
158
|
+
scrolls (the port feathers the overflow). */
|
|
159
|
+
.dock-stack-fan {
|
|
160
|
+
display: flex;
|
|
161
|
+
gap: var(--dock-stack-gap);
|
|
162
|
+
/* scoped main-axis budget — the fan shows `--dock-stack-visible` members then
|
|
163
|
+
scrolls (the n-stack reachable by scrolling the rail, not the dock box). */
|
|
164
|
+
}
|
|
165
|
+
.dock-stack.vertical .dock-stack-fan {
|
|
166
|
+
flex-direction: row;
|
|
167
|
+
align-items: flex-end;
|
|
168
|
+
max-inline-size: calc(
|
|
169
|
+
var(--dock-stack-visible, 3) * var(--dock-stack-member-size) +
|
|
170
|
+
(var(--dock-stack-visible, 3) - 1) * var(--dock-stack-gap)
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
.dock-stack.horizontal .dock-stack-fan {
|
|
174
|
+
flex-direction: column-reverse;
|
|
175
|
+
align-items: center;
|
|
176
|
+
max-block-size: calc(
|
|
177
|
+
var(--dock-stack-visible, 3) * var(--dock-stack-member-size) +
|
|
178
|
+
(var(--dock-stack-visible, 3) - 1) * var(--dock-stack-gap)
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/* Each member — a FULLY-VISIBLE glass icon (the `--glass-bg-floating` tier + the
|
|
183
|
+
catch-light rim), NEVER a shadowed half-tucked chip (the "NOT shadowed" verbatim
|
|
184
|
+
ask). It composes the `.dock-icon-button` base; the stack-scoped surface override
|
|
185
|
+
(0,2,0) beats the base `.dock-icon-button` (0,1,0) on source-order tie without
|
|
186
|
+
`!important`. */
|
|
187
|
+
.dock-stack-fan .dock-stack-member {
|
|
188
|
+
flex: 0 0 auto;
|
|
189
|
+
inline-size: var(--dock-stack-member-size);
|
|
190
|
+
block-size: var(--dock-stack-member-size);
|
|
191
|
+
background: var(--glass-bg-floating);
|
|
192
|
+
backdrop-filter: var(--glass-blur-floating);
|
|
193
|
+
-webkit-backdrop-filter: var(--glass-blur-floating);
|
|
194
|
+
box-shadow:
|
|
195
|
+
var(--glass-edge-light),
|
|
196
|
+
var(--glass-specular),
|
|
197
|
+
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 22%, transparent);
|
|
198
|
+
border-radius: var(--radius-pill);
|
|
199
|
+
color: color-mix(in srgb, var(--dock-fg-on-aurora, var(--foreground)) 88%, transparent);
|
|
200
|
+
/* THE FAN-OUT — compositor-only (scale/translate/opacity/filter), NO animated
|
|
201
|
+
width/height/inset (proof:no-layout-animation). At rest each member is folded
|
|
202
|
+
behind the core: scaled-down, translated toward the rail (the dock edge),
|
|
203
|
+
transparent, and a slight materialize blur. The hover-expand springs them OUT
|
|
204
|
+
staggered by `--dock-stack-stagger * var(--i)` in reading order. */
|
|
205
|
+
opacity: 0;
|
|
206
|
+
scale: var(--dock-stack-fold);
|
|
207
|
+
filter: blur(1px);
|
|
208
|
+
transition:
|
|
209
|
+
opacity var(--duration-fast) var(--ease-out)
|
|
210
|
+
calc(var(--dock-stack-stagger) * var(--i, 0)),
|
|
211
|
+
scale var(--spring-dock-duration, var(--duration-normal)) var(--spring-dock, var(--ease-out))
|
|
212
|
+
calc(var(--dock-stack-stagger) * var(--i, 0)),
|
|
213
|
+
translate var(--spring-dock-duration, var(--duration-normal)) var(--spring-dock, var(--ease-out))
|
|
214
|
+
calc(var(--dock-stack-stagger) * var(--i, 0)),
|
|
215
|
+
filter var(--duration-fast) var(--ease-out)
|
|
216
|
+
calc(var(--dock-stack-stagger) * var(--i, 0)),
|
|
217
|
+
background-color var(--duration-fast) var(--ease-standard),
|
|
218
|
+
box-shadow var(--duration-fast) var(--ease-standard);
|
|
219
|
+
}
|
|
220
|
+
/* Vertical dock — at rest the members tuck toward the dock edge (inline-start). */
|
|
221
|
+
.dock-stack.vertical .dock-stack-member {
|
|
222
|
+
translate: calc(-1 * var(--dock-rail-extend-length)) 0;
|
|
223
|
+
}
|
|
224
|
+
/* Horizontal dock — at rest the members tuck DOWN toward the dock edge (block-end). */
|
|
225
|
+
.dock-stack.horizontal .dock-stack-member {
|
|
226
|
+
translate: 0 var(--dock-rail-extend-length);
|
|
227
|
+
}
|
|
228
|
+
/* EXPANDED — the members spring OUT to their fanned positions (full scale, in place,
|
|
229
|
+
opaque, crisp). The stagger lives in the per-member transition-delay. */
|
|
230
|
+
.dock-stack.is-expanded .dock-stack-member {
|
|
231
|
+
opacity: 1;
|
|
232
|
+
scale: 1;
|
|
233
|
+
translate: 0 0;
|
|
234
|
+
filter: blur(0);
|
|
235
|
+
}
|
|
236
|
+
.dark .dock-stack-fan .dock-stack-member {
|
|
237
|
+
box-shadow:
|
|
238
|
+
var(--glass-edge-light-dark),
|
|
239
|
+
var(--glass-specular-dark),
|
|
240
|
+
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 30%, transparent);
|
|
241
|
+
}
|
|
242
|
+
/* The hover/active register — the floating plate firms, the glyph wakes (NOT a
|
|
243
|
+
saturated brand hue; the selected-reads-as-glass tier, W-REGISTER-IOS). */
|
|
244
|
+
.dock-stack-fan .dock-stack-member:hover {
|
|
245
|
+
background: var(--dock-control-hover-bg, var(--glass-bg-resting));
|
|
246
|
+
color: var(--dock-fg-on-aurora, var(--foreground));
|
|
247
|
+
}
|
|
248
|
+
.dock-stack-fan .dock-stack-member.is-active {
|
|
249
|
+
background: var(--dock-control-active-bg, var(--glass-bg-floating));
|
|
250
|
+
color: var(--dock-fg-on-aurora, var(--foreground));
|
|
251
|
+
box-shadow:
|
|
252
|
+
var(--glass-edge-light),
|
|
253
|
+
var(--glass-specular),
|
|
254
|
+
0 0 0 1px color-mix(in srgb, var(--foreground) 12%, transparent),
|
|
255
|
+
0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 28%, transparent);
|
|
256
|
+
}
|
|
257
|
+
.dark .dock-stack-fan .dock-stack-member.is-active {
|
|
258
|
+
box-shadow:
|
|
259
|
+
var(--glass-edge-light-dark),
|
|
260
|
+
var(--glass-specular-dark),
|
|
261
|
+
0 0 0 1px color-mix(in srgb, var(--foreground) 18%, transparent),
|
|
262
|
+
0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 36%, transparent);
|
|
263
|
+
}
|
|
264
|
+
.dock-stack-fan .dock-stack-member svg {
|
|
265
|
+
inline-size: 0.875rem;
|
|
266
|
+
block-size: 0.875rem;
|
|
267
|
+
flex-shrink: 0;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/* ── The FACET-carousel mode (BE.W-DOCK-RAIL-REALIZE) ─────────────────────────────
|
|
271
|
+
The re-instated AZ context carousel: each member is a context FACET CHIP carrying
|
|
272
|
+
its OWN `--glass-accent` hue (written per-chip by DockStack in facets mode), so the
|
|
273
|
+
strip reads as a row of distinct accent-tinted contexts — NOT the macOS un-tinted
|
|
274
|
+
glyph fan. The chip composes its rim+glint DIRECTLY from the per-instance
|
|
275
|
+
`--glass-accent`/`--glass-accent-strength` axis (the SAME `color-mix(in oklab, …)`
|
|
276
|
+
seam `glass/rim.css` composes for `.glass-material` — NOT a fork): the warm rim ink
|
|
277
|
+
mixes toward the facet hue at the bounded strength, so each facet's RIM + the inner
|
|
278
|
+
glint carries that context's color. At the resting `transparent`/`0%` no-op this is
|
|
279
|
+
byte-identical to the stack member; the facet hue is the consumer's context color
|
|
280
|
+
(presets-in-consumers — never a library token). The active facet stays on the
|
|
281
|
+
selected-as-glass `--dock-control-active-bg` tier (W-REGISTER-IOS — the lift is the
|
|
282
|
+
glass tier, the accent is the rim DECORATION; the two are disjoint). */
|
|
283
|
+
.dock-stack-fan .dock-facet-chip {
|
|
284
|
+
/* the accent-composed rim — the warm catch-light ink mixed toward the facet hue
|
|
285
|
+
(the rim.css `--glass-material-rim` seam, inlined for the chip). At 0% it is the
|
|
286
|
+
bare `--glass-edge-light` rim (the no-op floor). */
|
|
287
|
+
--dock-facet-rim-ink: color-mix(
|
|
288
|
+
in oklab,
|
|
289
|
+
var(--glass-rim-ink, hsl(0 0% 100% / 0.3)),
|
|
290
|
+
var(--glass-accent) var(--glass-accent-strength, 0%)
|
|
291
|
+
);
|
|
292
|
+
box-shadow:
|
|
293
|
+
inset 0 1px 0 var(--dock-facet-rim-ink),
|
|
294
|
+
var(--glass-specular),
|
|
295
|
+
/* the per-facet glint — a soft chromatic halo of the facet's own hue, a
|
|
296
|
+
whisper at the rim (the §6 calm register; transparent at the 0% no-op). */
|
|
297
|
+
0 0 0 1px color-mix(in oklab, transparent, var(--glass-accent) var(--glass-accent-strength, 0%)),
|
|
298
|
+
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 22%, transparent);
|
|
299
|
+
}
|
|
300
|
+
.dark .dock-stack-fan .dock-facet-chip {
|
|
301
|
+
--dock-facet-rim-ink: color-mix(
|
|
302
|
+
in oklab,
|
|
303
|
+
var(--glass-rim-ink, hsl(0 0% 100% / 0.4)),
|
|
304
|
+
var(--glass-accent) var(--glass-accent-strength, 0%)
|
|
305
|
+
);
|
|
306
|
+
box-shadow:
|
|
307
|
+
inset 0 1px 0 var(--dock-facet-rim-ink),
|
|
308
|
+
var(--glass-specular-dark),
|
|
309
|
+
0 0 0 1px color-mix(in oklab, transparent, var(--glass-accent) var(--glass-accent-strength, 0%)),
|
|
310
|
+
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 30%, transparent);
|
|
311
|
+
}
|
|
312
|
+
/* the φ-tier DEPTH read (railProjection.projectFacets) — when the carousel is
|
|
313
|
+
expanded, each facet seats at its recession scale + opacity (the active forward +
|
|
314
|
+
full, the neighbours receding). The tier vars default to the 1/1 identity so a
|
|
315
|
+
non-facet member is byte-identical. Compositor-only (scale/opacity — the
|
|
316
|
+
proof:no-layout-animation floor). */
|
|
317
|
+
.dock-stack.is-expanded .dock-facet-chip {
|
|
318
|
+
scale: var(--dock-facet-tier-scale, 1);
|
|
319
|
+
opacity: var(--dock-facet-tier-opacity, 1);
|
|
320
|
+
}
|
|
321
|
+
/* the active facet — the selected-as-glass tier lift, the accent rim STILL reading
|
|
322
|
+
(the context's hue marks the active facet on top of the lift). */
|
|
323
|
+
.dock-stack-fan .dock-facet-chip.is-active {
|
|
324
|
+
background: var(--dock-control-active-bg, var(--glass-bg-floating));
|
|
325
|
+
box-shadow:
|
|
326
|
+
inset 0 1px 0 var(--dock-facet-rim-ink),
|
|
327
|
+
var(--glass-specular),
|
|
328
|
+
0 0 0 1px color-mix(in oklab, color-mix(in srgb, var(--foreground) 12%, transparent), var(--glass-accent) var(--glass-accent-strength, 0%)),
|
|
329
|
+
0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 28%, transparent);
|
|
330
|
+
}
|
|
331
|
+
.dark .dock-stack-fan .dock-facet-chip.is-active {
|
|
332
|
+
box-shadow:
|
|
333
|
+
inset 0 1px 0 var(--dock-facet-rim-ink),
|
|
334
|
+
var(--glass-specular-dark),
|
|
335
|
+
0 0 0 1px color-mix(in oklab, color-mix(in srgb, var(--foreground) 18%, transparent), var(--glass-accent) var(--glass-accent-strength, 0%)),
|
|
336
|
+
0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 36%, transparent);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/* PRM — the fan SNAPS to terminal (the fade survives, the transform drops — P6 /
|
|
340
|
+
proof:no-layout-animation PRM carve). No spring travel, no stagger, no blur-settle. */
|
|
341
|
+
@media (prefers-reduced-motion: reduce) {
|
|
342
|
+
.dock-stack-fan .dock-stack-member {
|
|
343
|
+
transition:
|
|
344
|
+
opacity var(--duration-fast) linear,
|
|
345
|
+
background-color var(--duration-fast) var(--ease-standard),
|
|
346
|
+
box-shadow var(--duration-fast) var(--ease-standard);
|
|
347
|
+
scale: 1;
|
|
348
|
+
translate: 0 0;
|
|
349
|
+
filter: none;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
@@ -73,13 +73,26 @@
|
|
|
73
73
|
padding fell to `var(--dock-icon-padding, 0)` (the token is never defined →
|
|
74
74
|
0 pad → the glyph filled the whole 40px box edge-to-edge, ~2.5× the 16-20px
|
|
75
75
|
nav glyphs — the user's "too large" read). Pad the box by HALF the box↔glyph
|
|
76
|
-
difference so the `h-full` SVG lands at exactly `--dock-
|
|
77
|
-
`--dock-scale`-keyed size the nav icons
|
|
78
|
-
nav glyphs through the utility-win path,
|
|
76
|
+
difference so the `h-full` SVG lands at exactly `--dock-control-glyph-size`
|
|
77
|
+
(default `--dock-icon-glyph`, the `--dock-scale`-keyed size the nav icons
|
|
78
|
+
paint) — optically UNIFORM with the nav glyphs through the utility-win path,
|
|
79
|
+
not fighting it.
|
|
80
|
+
|
|
81
|
+
BC.W-DOCK-ENGINE move 3 (the Atlas A-9 fold) — the inset subtracts
|
|
82
|
+
`--dock-control-glyph-size`, the SAME ONE knob the SVG `width`/`height`
|
|
83
|
+
reads below, so the pad and the glyph stay LOCKED (a consumer retinting
|
|
84
|
+
`--dock-control-glyph-size` moves both in lockstep — no drift between the
|
|
85
|
+
box pad and the painted glyph). `--dock-control-size` AND
|
|
86
|
+
`--dock-control-glyph-size` both INHERIT from `.glass-dock[data-density]`,
|
|
87
|
+
where the coarse `--dock-scale` re-declare (overflow.css) re-resolves them
|
|
88
|
+
in lockstep — so the calc reads the coarse-scaled values on a coarse
|
|
89
|
+
pointer too (the AZ.R5-TOKENS substitution-vs-inheritance trap closed for
|
|
90
|
+
the toggle glyph: the var() resolves at the toggle button, reading the
|
|
91
|
+
coarse-re-resolved inherited tokens, never the frozen `:root` scale). */
|
|
79
92
|
--dark-mode-toggle-padding: calc(
|
|
80
93
|
(
|
|
81
94
|
var(--dock-control-size, var(--size-icon-btn)) -
|
|
82
|
-
var(--dock-icon-glyph, 1.25rem)
|
|
95
|
+
var(--dock-control-glyph-size, var(--dock-icon-glyph, 1.25rem))
|
|
83
96
|
) / 2
|
|
84
97
|
);
|
|
85
98
|
}
|
|
@@ -95,6 +95,18 @@
|
|
|
95
95
|
scale: var(--scale-press-dock);
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
/* W-NAV-DOCK-FIX — the four-state DISABLED register. A boundary nav control
|
|
99
|
+
(prev/next at the first/last item) stays PRESENT but disabled so the row
|
|
100
|
+
geometry holds (never DOM-absent — the "flaky" read). It dims to the shared
|
|
101
|
+
disabled opacity + suppresses the press/pointer (the hover/active rules
|
|
102
|
+
already `:not(:disabled)`-exclude it, so this only needs the dim + the
|
|
103
|
+
pointer-suppress). Compositor-only (opacity); no layout shift. */
|
|
104
|
+
&:disabled {
|
|
105
|
+
opacity: var(--opacity-disabled, 0.4);
|
|
106
|
+
pointer-events: none;
|
|
107
|
+
cursor: default;
|
|
108
|
+
}
|
|
109
|
+
|
|
98
110
|
&:focus:not(:focus-visible) {
|
|
99
111
|
box-shadow: none;
|
|
100
112
|
outline: none;
|
|
@@ -113,6 +125,40 @@
|
|
|
113
125
|
border: var(--dock-active-border);
|
|
114
126
|
box-shadow: var(--dock-active-shadow);
|
|
115
127
|
}
|
|
128
|
+
|
|
129
|
+
/* BC.W-DOCK-ENGINE cross-repo fold (fourier-M #10) — the `<DockIconButton
|
|
130
|
+
:active>` selectable register. The `data-active` hook the component stamps
|
|
131
|
+
reads the rail's "selected reads as glass" tier (`--dock-control-active-bg`,
|
|
132
|
+
default `--glass-bg-floating` — a GLASS tier ABOVE the rest fill, NEVER a
|
|
133
|
+
saturated brand hue, per W-REGISTER-IOS). Distinct from the consumer
|
|
134
|
+
`--dock-active-*` cohort above (a parent-scoped audacious override): this is
|
|
135
|
+
the library's default selected glass, ergonomic sugar over the shipped
|
|
136
|
+
register so a selectable dock control needs no hand-rolled active paint. The
|
|
137
|
+
glyph/label firm to the full warm-ink, mirroring the rail's `.is-active`.
|
|
138
|
+
|
|
139
|
+
BD.W-DOCK-CORE (P4 deferred) — the selected pill now COMPOSES the shared
|
|
140
|
+
`.glass-capsule` register (the component adds the `.glass-capsule` class when
|
|
141
|
+
`active`). So instead of painting a bare `background`, the `[data-active]`
|
|
142
|
+
rung re-points `--glass-capsule-fill` (the override hook the capsule register
|
|
143
|
+
exposes) to the selected glass tier — the capsule's lifted-plate composite
|
|
144
|
+
(rim + lift + the warm-floor fill base) reads the selected tier WITHOUT
|
|
145
|
+
forking the register (the selected-parity rung). The glyph firms to the full
|
|
146
|
+
warm-ink. */
|
|
147
|
+
&[data-active] {
|
|
148
|
+
--glass-capsule-fill: var(
|
|
149
|
+
--dock-control-active-bg,
|
|
150
|
+
var(--glass-bg-floating)
|
|
151
|
+
);
|
|
152
|
+
/* Re-assert the capsule fill as the painted background — the base
|
|
153
|
+
`.dock-icon-button { background: transparent }` (same layer, later
|
|
154
|
+
source order, equal specificity) would otherwise win over
|
|
155
|
+
`.glass-capsule`'s background; this `[data-active]` rule (specificity
|
|
156
|
+
0,2,0 > the base 0,1,0) hands the selected pill its lifted-glass fill.
|
|
157
|
+
The capsule's rim/lift `box-shadow` + `backdrop-filter` already apply
|
|
158
|
+
(the base rule never sets those). */
|
|
159
|
+
background: var(--glass-capsule-fill);
|
|
160
|
+
color: var(--dock-fg-on-aurora, var(--foreground));
|
|
161
|
+
}
|
|
116
162
|
}
|
|
117
163
|
|
|
118
164
|
/* focus-visible ring + disabled paint hoisted to the shared `:where()`
|
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
tab-button.css. */
|
|
11
11
|
|
|
12
12
|
@layer components {
|
|
13
|
+
/* BD.W-DOCK-CORE (A8) — `.dock-trigger` is the UNIFIED dock overlay-trigger register.
|
|
14
|
+
DockSelectTrigger, DockDropdownTrigger, AND DockPopoverTrigger all compose it (each
|
|
15
|
+
also keeps its legacy class for back-compat-free continuity within this file), so a
|
|
16
|
+
popover trigger inside a dock is byte-identical geometry + style + baseline alignment
|
|
17
|
+
to the dropdown trigger — the prior three-divergent-contracts misalignment (A8) is
|
|
18
|
+
gone. The hover-SCALE is OFF on all three (below): a scaling trigger shifts its
|
|
19
|
+
portaled-content anchor mid-open; the SelectTrigger's documented no-scale reason is
|
|
20
|
+
generalized to the whole family (clean break — the dropdown's lone hover-scale is
|
|
21
|
+
retired, no alias). */
|
|
22
|
+
.dock-trigger,
|
|
13
23
|
.dock-select-trigger,
|
|
14
24
|
.dock-dropdown-trigger {
|
|
15
25
|
display: inline-flex;
|
|
@@ -63,20 +73,25 @@
|
|
|
63
73
|
control members (icon/tab/select/dropdown) now lift on hover as one register,
|
|
64
74
|
mirroring the unified glass-tier `--dock-control-hover-bg` cross-fade. The
|
|
65
75
|
lone `.dock-dropdown-trigger:hover` scale rule is RETIRED into this group. */
|
|
76
|
+
/* BD.W-DOCK-CORE (A8) — hover lifts the FILL only; the hover-SCALE is RETIRED across
|
|
77
|
+
the whole trigger family so portaled content anchors smoothly (the SelectTrigger's
|
|
78
|
+
documented no-scale reason, generalized — clean break, no alias). */
|
|
79
|
+
.dock-trigger:hover:not(:disabled),
|
|
66
80
|
.dock-select-trigger:hover:not(:disabled),
|
|
67
81
|
.dock-dropdown-trigger:hover:not(:disabled) {
|
|
68
82
|
background: var(--dock-control-hover-bg);
|
|
69
83
|
color: var(--btn-hover-color, var(--foreground));
|
|
70
|
-
scale: var(--scale-hover-dock);
|
|
71
84
|
}
|
|
72
85
|
|
|
73
86
|
/* AZ.W-REGISTER-IOS — the iOS press darken-plus-shrink (see the icon-button). */
|
|
87
|
+
.dock-trigger:active:not(:disabled),
|
|
74
88
|
.dock-select-trigger:active:not(:disabled),
|
|
75
89
|
.dock-dropdown-trigger:active:not(:disabled) {
|
|
76
90
|
background: var(--dock-control-press-bg);
|
|
77
91
|
scale: var(--scale-press-dock);
|
|
78
92
|
}
|
|
79
93
|
|
|
94
|
+
.dock-trigger:focus:not(:focus-visible),
|
|
80
95
|
.dock-select-trigger:focus:not(:focus-visible),
|
|
81
96
|
.dock-dropdown-trigger:focus:not(:focus-visible) {
|
|
82
97
|
box-shadow: none;
|
|
@@ -86,6 +101,7 @@
|
|
|
86
101
|
/* focus-visible ring + disabled paint hoisted to the shared `:where()`
|
|
87
102
|
group in dock.css; this rule adds only the box-shadow fade transition.
|
|
88
103
|
`scale` keeps the AT.W7-dock-b press micro-feedback spring. */
|
|
104
|
+
.dock-trigger:focus-visible,
|
|
89
105
|
.dock-select-trigger:focus-visible,
|
|
90
106
|
.dock-dropdown-trigger:focus-visible {
|
|
91
107
|
transition:
|
|
@@ -96,6 +112,12 @@
|
|
|
96
112
|
box-shadow var(--dock-motion-fast);
|
|
97
113
|
}
|
|
98
114
|
|
|
115
|
+
.dock-trigger:is(
|
|
116
|
+
.is-active,
|
|
117
|
+
.active,
|
|
118
|
+
[aria-expanded="true"],
|
|
119
|
+
[aria-pressed="true"]
|
|
120
|
+
),
|
|
99
121
|
.dock-select-trigger:is(
|
|
100
122
|
.is-active,
|
|
101
123
|
.active,
|
|
@@ -41,6 +41,24 @@
|
|
|
41
41
|
@import "./dock-controls/touch-floor.css";
|
|
42
42
|
|
|
43
43
|
@layer components {
|
|
44
|
+
/* BD.W-DOCK-CORE (A12) — the draggable-item GRAB squish. A grabbed dock item
|
|
45
|
+
(`.glass-drag-lift`, written by useDockItemDrag while the gesture is in flight)
|
|
46
|
+
deforms with the volume-preserving `--stretch` register (the SHARED useLiquidFlex
|
|
47
|
+
"tanh" squish the tab indicator + dock morph already speak — ONE squish source, no
|
|
48
|
+
forked deformation). The grab follows the pointer via the JS-written `transform:
|
|
49
|
+
translate` (the compositor follow); this rule adds the gel-squish scale ON the
|
|
50
|
+
grabbed plate (stretch along the drag axis, compress across — volume-preserving).
|
|
51
|
+
The dock grabbable cursor + touch-action sit on `.glass-drag-grabbable` (the dock
|
|
52
|
+
root) via segmented-tabs.css. At rest `--stretch` is unset → 1/1 (no deform). The
|
|
53
|
+
global PRM gate strips `scale` → no squish under reduce (the gesture still follows).
|
|
54
|
+
Horizontal docks stretch X / compress Y; vertical stretch Y / compress X. */
|
|
55
|
+
.glass-dock.dock-items-draggable:not(.vertical) .dock-icon-button.glass-drag-lift {
|
|
56
|
+
scale: var(--stretch, 1) calc(1 / var(--stretch, 1));
|
|
57
|
+
}
|
|
58
|
+
.glass-dock.dock-items-draggable.vertical .dock-icon-button.glass-drag-lift {
|
|
59
|
+
scale: calc(1 / var(--stretch, 1)) var(--stretch, 1);
|
|
60
|
+
}
|
|
61
|
+
|
|
44
62
|
/* AV.W9.3 — momentum-gated dock-control press spring. The `:active` squish
|
|
45
63
|
toward `--scale-press-dock` settles on a NO-OVERSHOOT spring (Apple,
|
|
46
64
|
"Designing Fluid Interfaces": default 100% damping — no bounce — for a tap;
|
package/dist/styles/dock.css
CHANGED
|
@@ -17,7 +17,12 @@
|
|
|
17
17
|
* three-region body).
|
|
18
18
|
* - dock/morph.css — the W01 single-scalar morph chrome + state response
|
|
19
19
|
* (--dock-expand-t interp, collapsed/summary, held /
|
|
20
|
-
* open
|
|
20
|
+
* open).
|
|
21
|
+
* - dock/adaptive-legibility.css — the darken-over-light self-engage (the
|
|
22
|
+
* continuous backdrop-luma tint clamp, the warm-chromatic
|
|
23
|
+
* dock ink, the @container light bucket, contrast-color()
|
|
24
|
+
* refinement, the PRM reveal-blur carve). Split from
|
|
25
|
+
* morph.css to keep both partials under the 500-line bound.
|
|
21
26
|
* - dock/density.css — the W45 density × --dock-scale cascade.
|
|
22
27
|
* - dock/layers.css — the `.dock-layer` crossfade + hit-test + reveal-
|
|
23
28
|
* stagger contract + the `layout="grid"` tile grid.
|
|
@@ -36,13 +41,33 @@
|
|
|
36
41
|
cascade is preserved bit-for-bit (the carve-isomorphism gate is the witness). */
|
|
37
42
|
@import "./dock/shell.css";
|
|
38
43
|
@import "./dock/morph.css";
|
|
44
|
+
@import "./dock/adaptive-legibility.css";
|
|
39
45
|
@import "./dock/density.css";
|
|
46
|
+
@import "./dock/shape.css";
|
|
40
47
|
@import "./dock/layers.css";
|
|
41
48
|
@import "./dock/layer-group.css";
|
|
42
49
|
@import "./dock/overflow.css";
|
|
43
|
-
@import "./dock/rail
|
|
50
|
+
@import "./dock/stack-rail.css";
|
|
44
51
|
@import "./dock/section.css";
|
|
45
52
|
@import "./dock/morph-bridge.css";
|
|
53
|
+
/* BE.W-DOCK-FISSION — the 1→N stretch-and-snap goo bridge (the sibling of morph-bridge's
|
|
54
|
+
1→1 V↔H crossfade; the per-seam `--neck-t` neck STRETCH→THIN→SNAP-BACK recoil + the
|
|
55
|
+
jubilance ripple/splash FLOOR). @import-ed into the LIBRARY cascade beside morph-bridge
|
|
56
|
+
so a consumer importing `@mkbabb/glass-ui/styles` gets the fission delights — the recipe
|
|
57
|
+
is `v-for`-shaped on `.dock-fission-piece`, compositor-only, PRM-removed, Safari-safe
|
|
58
|
+
(the REGULAR `filter: url()`, never backdrop-filter). The demo's island FACE/layout
|
|
59
|
+
(`.liquid-island-*`) stays demo-only (liquid-morph.css); this file owns only the
|
|
60
|
+
`.dock-fission-bridge`/`.dock-fission-piece` BEHAVIOR. */
|
|
61
|
+
@import "./dock/fission-bridge.css";
|
|
62
|
+
/* BC.W-AX-DOCK-CTA-SEAT — the [data-cta-pending] CTA-receive landing seat (the static
|
|
63
|
+
resting-geometry reserve + the plain transition:opacity FLIP reveal). Last in the
|
|
64
|
+
dock cascade — a net-new surface around the byte-untouched useDockCtaReceive morph. */
|
|
65
|
+
@import "./dock/cta-seat.css";
|
|
66
|
+
/* BC.W-DOCK-SEARCH — the dock-as-native-dynamic-search-bar field surface (the W55
|
|
67
|
+
active-field tint legibility seam + the `.glass-menu-row` result rows). A net-new
|
|
68
|
+
surface on a `[data-search]` dock around the byte-untouched morph-bridge metaball;
|
|
69
|
+
CONSUMES the W55 tint seam + the menu-row recipe, re-authors neither. */
|
|
70
|
+
@import "./dock/search.css";
|
|
46
71
|
|
|
47
72
|
/* AX.W01 — the SINGLE morph scalar. `useLayerTransition` writes it once per frame
|
|
48
73
|
to the `.glass-dock` root; EVERY morph axis (box size, padding, radius, scale,
|