@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
|
@@ -27,13 +27,22 @@
|
|
|
27
27
|
* component recipes) — under the recorded gzip ceiling (W3).
|
|
28
28
|
*
|
|
29
29
|
* DEFERRED (./styles/deferred) — the below-the-fold + late-mount tail: every
|
|
30
|
-
* component recipe + the transitions/animations/scroll-driven/
|
|
31
|
-
* grammar + utilities + the menu/configurator/instrument-chassis/
|
|
32
|
-
* drawer/segmented-tabs/select/icon-chip
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* mount after first paint or
|
|
36
|
-
* above-the-fold pixel (the
|
|
30
|
+
* component recipe + the transitions/animations/scroll-driven/scroll-chrome/
|
|
31
|
+
* view-transition grammar + utilities + the menu/configurator/instrument-chassis/
|
|
32
|
+
* hover-popover/drawer/segmented-tabs/select/icon-chip/border-progress/
|
|
33
|
+
* completion-seal component partials, PLUS the folded SFC `<style scoped>`
|
|
34
|
+
* payload (`../glass-ui.css`) and the emitted Tailwind component-utility surface
|
|
35
|
+
* (`components.css`). These decorate components that mount after first paint or
|
|
36
|
+
* sit below the fold; their late arrival shifts no above-the-fold pixel (the
|
|
37
|
+
* FOUC-safe floor, W5). The BC-added `scroll-chrome.css` (the scroll-driven
|
|
38
|
+
* floating-CHROME collapse recipe — a late-mount surface decoration) and
|
|
39
|
+
* `completion-seal.css` (the one-shot earned-gold feedback seal — a focal opt-in
|
|
40
|
+
* surface that mounts on a completion event) are BOTH deferred: neither paints
|
|
41
|
+
* an above-the-fold first-paint chrome pixel. The BD-added `motion/morph-field.css`
|
|
42
|
+
* (the ONE `useMorphField` goo recipe — the body/neck/waist silhouette + the
|
|
43
|
+
* dedicated squish channel) is likewise DEFERRED: it is gated to `[data-morphing]`
|
|
44
|
+
* and paints only while a morph drive is live (a late-mount compositor decoration),
|
|
45
|
+
* never a steady-state first-paint chrome pixel.
|
|
37
46
|
*
|
|
38
47
|
* The `paper.css` partial is bucketed DEFERRED — the paper underpaint/grain
|
|
39
48
|
* utilities pair with glass for paper-on-glass compositions that mount with the
|
|
@@ -63,8 +72,11 @@ export const DEFERRED_PARTIALS = Object.freeze([
|
|
|
63
72
|
"floating-panel.css",
|
|
64
73
|
"transitions.css",
|
|
65
74
|
"animations.css",
|
|
75
|
+
"motion/morph-field.css",
|
|
76
|
+
"jubilance.css",
|
|
66
77
|
"scroll-driven.css",
|
|
67
78
|
"scroll-choreography.css",
|
|
79
|
+
"scroll-chrome.css",
|
|
68
80
|
"view-transition.css",
|
|
69
81
|
"utilities.css",
|
|
70
82
|
"menu.css",
|
|
@@ -76,6 +88,7 @@ export const DEFERRED_PARTIALS = Object.freeze([
|
|
|
76
88
|
"select.css",
|
|
77
89
|
"icon-chip.css",
|
|
78
90
|
"border-progress.css",
|
|
91
|
+
"completion-seal.css",
|
|
79
92
|
]);
|
|
80
93
|
|
|
81
94
|
/**
|
|
@@ -133,8 +146,50 @@ export const DEFERRED_SOURCE_DIRECTIVE = '@source "../*.js";';
|
|
|
133
146
|
* dark-arm + the on-glass-fg / surface-axis registers — all of which live in the
|
|
134
147
|
* critical tokens/* + glass/* sub-partials by construction. Ceiling lifted
|
|
135
148
|
* 110000 → 137000 (~4.2% headroom over the measured 131469, the profile-bundle
|
|
136
|
-
* re-base convention) to carry the BB glass-band critical surface.
|
|
137
|
-
*
|
|
138
|
-
*
|
|
149
|
+
* re-base convention) to carry the BB glass-band critical surface.
|
|
150
|
+
*
|
|
151
|
+
* RE-BASE (BC.W-CSS-CRITICAL — re-measured over the SETTLED BC cascade): the
|
|
152
|
+
* critical subset grew to raw 482228 / gzip 149748 — AGAIN not a component-recipe
|
|
153
|
+
* leak (the critical bucket is STILL the 6 documented token+glass+type partials;
|
|
154
|
+
* the BC visual bands 1-7 + 9 re-authored the critical tokens/* + glass/* sub-
|
|
155
|
+
* partials — the warm-cream page chassis tokens, the on-glass-fg/surface-axis
|
|
156
|
+
* registers, the calm/deep glass ladder, the scroll/motion token additions in
|
|
157
|
+
* scale-paper.css — all of which live in the critical token cascade by
|
|
158
|
+
* construction; the two BC-added PARTIALS scroll-chrome.css + completion-seal.css
|
|
159
|
+
* are bucketed DEFERRED, NOT critical). The critical subset is 47.3% of the
|
|
160
|
+
* settled monolith's resolved gzip (316614) — the spec's ~46% small-above-the-
|
|
161
|
+
* fold-subset bar HELD over the settled cascade. Ceiling re-pinned 137000 →
|
|
162
|
+
* 156000 (~4.2% headroom over the measured 149748, the profile-bundle re-base
|
|
163
|
+
* convention — the reviewed write, NEVER a silent component-recipe swallow to
|
|
164
|
+
* stay under the old number). The render-block FLOOR stays W-LIGHTHOUSE's
|
|
165
|
+
* W3-arm-1 mobile-ms gate (the binding perf truth); this ceiling guards against a
|
|
166
|
+
* recipe revert-toward-monolith.
|
|
167
|
+
*
|
|
168
|
+
* RE-BASE (BD greenfield band — re-measured over the SETTLED BD cascade): the
|
|
169
|
+
* critical subset grew to raw 561233 / gzip 174231 — AGAIN not a component-recipe
|
|
170
|
+
* leak into the critical BUCKET (the critical bucket is STILL the SAME 6 documented
|
|
171
|
+
* token+glass+type partials; w2 partials-disjoint + w4 hold, and the two recipe-shaped
|
|
172
|
+
* BD additions that COULD have leaked do NOT: `motion/morph-field.css` is bucketed
|
|
173
|
+
* DEFERRED, `glass-atom.css`/`glass-chip.css` are @import-ed by the DEFERRED
|
|
174
|
+
* `icon-chip.css` (not by `glass.css`), and `liquid-morph.css` is demo-only — it is
|
|
175
|
+
* @import-ed by NO src partial). The growth is the legitimate BD GREENFIELD enrichment
|
|
176
|
+
* of the critical TOKEN CASCADE + glass ladder, which lives in the critical tokens/* +
|
|
177
|
+
* glass/* sub-partials by construction: the NEW `tokens/property-regs.css` (the
|
|
178
|
+
* @property registrations a bare var() interpolates over), the `tokens/scheme-motion.css`
|
|
179
|
+
* --motion-weight × --ease-cartoon-punch motion grammar, the `tokens/shadow.css` cartoon
|
|
180
|
+
* cast rungs, the `tokens/dark-arm.css` dark-mode arms, the `tokens/glass.css` squish/tint
|
|
181
|
+
* axes, and the `tokens/glass-fx.css` / `tokens/scale-paper.css` page-chassis registers —
|
|
182
|
+
* all custom-property registers the chrome reads at first paint. The ONE borderline
|
|
183
|
+
* residual is `glass/liquid-enter.css` (a late-mount entrance @keyframes recipe, ~3.7KiB
|
|
184
|
+
* gzip) which rides `glass.css` over its `reveal.css` `--lq-enter-*` substrate; carving it
|
|
185
|
+
* to a deferred top-level partial is a structural cascade-order change reserved for the
|
|
186
|
+
* named BB.W-CSS-CRITICAL-INLINE successor (a triumvirate trigger, NOT a token-edit here),
|
|
187
|
+
* and it recovers only ~3.7KiB — the bucket would still sit ~170KiB, well over the old
|
|
188
|
+
* 156000. The critical subset is 49.5% of the settled monolith's resolved gzip — the
|
|
189
|
+
* spec's ~46% small-above-the-fold-subset bar HELD over the settled cascade. Ceiling
|
|
190
|
+
* re-pinned 156000 → 182000 (~4.5% headroom over the measured 174231, the profile-bundle
|
|
191
|
+
* re-base convention — the reviewed write, NEVER a silent component-recipe swallow). The
|
|
192
|
+
* render-block FLOOR stays W-LIGHTHOUSE's W3-arm-1 mobile-ms gate (the binding perf truth);
|
|
193
|
+
* this ceiling guards against a recipe revert-toward-monolith.
|
|
139
194
|
*/
|
|
140
|
-
export const CRITICAL_GZIP_CEILING =
|
|
195
|
+
export const CRITICAL_GZIP_CEILING = 182000;
|
package/dist/styles/deferred.css
CHANGED
|
@@ -12,8 +12,11 @@
|
|
|
12
12
|
@import "./floating-panel.css";
|
|
13
13
|
@import "./transitions.css";
|
|
14
14
|
@import "./animations.css";
|
|
15
|
+
@import "./motion/morph-field.css";
|
|
16
|
+
@import "./jubilance.css";
|
|
15
17
|
@import "./scroll-driven.css";
|
|
16
18
|
@import "./scroll-choreography.css";
|
|
19
|
+
@import "./scroll-chrome.css";
|
|
17
20
|
@import "./view-transition.css";
|
|
18
21
|
@import "./utilities.css";
|
|
19
22
|
@import "./menu.css";
|
|
@@ -25,6 +28,7 @@
|
|
|
25
28
|
@import "./select.css";
|
|
26
29
|
@import "./icon-chip.css";
|
|
27
30
|
@import "./border-progress.css";
|
|
31
|
+
@import "./completion-seal.css";
|
|
28
32
|
@import "../glass-ui.css";
|
|
29
33
|
@import "./components.css";
|
|
30
34
|
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/* dock/adaptive-legibility.css — the dock's ADAPTIVE-LEGIBILITY self-engage (carved
|
|
2
|
+
* from dock/morph.css to hold both partials under the 500-line no-god-module bound).
|
|
3
|
+
*
|
|
4
|
+
* This partial owns the darken-over-light legibility concern, distinct from the morph
|
|
5
|
+
* chrome: the unconditional `:where(.glass-dock)` self-engage (AZ.W-ADAPTIVE-AUTO), the
|
|
6
|
+
* continuous backdrop-luma tint clamp (BC.W-ADAPTIVE-RECONCILE), the BD.W-DOCK-CORE D2
|
|
7
|
+
* warm-chromatic dock ink, the ancestor `@container style(--glass-backdrop: light)`
|
|
8
|
+
* descendant bucket, the AX.W55 contrast-color() progressive refinement, and the
|
|
9
|
+
* BB.W-LIQUID-REVEAL / BC.W-DOCK-SHRINK-BLUR PRM reveal-blur carve.
|
|
10
|
+
*
|
|
11
|
+
* @import-ed by dock.css in cascade order, in the SAME `@layer components` as morph.css
|
|
12
|
+
* (the carve is isomorphic — same layer, source order preserved → ZERO visual delta). */
|
|
13
|
+
|
|
14
|
+
@layer components {
|
|
15
|
+
/* ── Adaptive legibility: SELF-ENGAGE the dock over a light backdrop by default
|
|
16
|
+
(AZ.W-ADAPTIVE-AUTO Arm 1 — the literal G2 surface; "Glass dock over VERY
|
|
17
|
+
LIGHT materials is unreadable, darken DYNAMICALLY like iOS 27") ─────────────
|
|
18
|
+
The dock floats over WHATEVER the consumer painted — frequently a light/near-
|
|
19
|
+
white app surface (the canonical G2 case the user reported). AY.W-A11Y-PERF
|
|
20
|
+
O-1 set `--glass-backdrop: light` on the dock's OWN root (shell.css) intending
|
|
21
|
+
a self-darken, but CSS style queries NEVER self-match (the `@container
|
|
22
|
+
style()` block below reads an ANCESTOR — verified on Chrome 148), so the
|
|
23
|
+
self-declaration was a NO-OP. This `:where(.glass-dock)` rule is the genuine
|
|
24
|
+
UNCONDITIONAL self-engage — mirroring the overlay band's `ladder.css:169` —
|
|
25
|
+
re-pointing the INHERITING tint tokens DIRECTLY on the dock root so the
|
|
26
|
+
shell (`--glass-bg-dock`), chassis-strip, and held/open tiers (which compose
|
|
27
|
+
the oklab tint AT THE ELEMENT — the substitution-vs-inheritance-safe targets)
|
|
28
|
+
darken toward warm-ink in lockstep. `--dock-fg-on-aurora` re-points to the
|
|
29
|
+
warm-ink here too — ONE reconciled path, the foreground twin folded in (it
|
|
30
|
+
reaches the dock CONTROLS' glyph/label color). Over a DARK page the darken is
|
|
31
|
+
sub-perceptual; a dark-substrate consumer opts out via `--glass-tint-strength:
|
|
32
|
+
0%` on the dock root. The morph-root interp (`.glass-dock:not(.vertical)`
|
|
33
|
+
above) stays `color-mix(in srgb …)` for the transition — the adaptive darken
|
|
34
|
+
rides its RESTING endpoint (`--glass-bg-dock`), the in-flight morph frames are
|
|
35
|
+
sub-perceptual (the ratified resting-endpoint-only default). The muted body
|
|
36
|
+
register lifts to the full warm-ink under the engaged plate (the muted L40
|
|
37
|
+
tier cannot clear 4.5:1 on a translucent darkened plate — darkening moves the
|
|
38
|
+
plate TOWARD muted's own luminance; the low-contrast muted register is
|
|
39
|
+
inappropriate over a busy glass plate, so it resolves to the legible dark
|
|
40
|
+
ink, which clears ~10:1). */
|
|
41
|
+
:where(.glass-dock) {
|
|
42
|
+
/* BD.W-DOCK-CORE (D2) — the dock self-engage reads the warm-CHROMATIC dock ink
|
|
43
|
+
(glass-fx.css), NOT the frozen global `--glass-tint-ink` (W-DARK-MATERIAL's
|
|
44
|
+
whole-system register). So the darken-over-light RAISES chroma toward a warm
|
|
45
|
+
material (H ≈ 62°, C ≈ 0.016 at AA) rather than dropping L with chroma flat (the
|
|
46
|
+
gray dock). ONE dock tint source, ONE global ink — file-line-disjoint. */
|
|
47
|
+
--glass-tint-source: var(--glass-tint-ink-dock);
|
|
48
|
+
/* BC.W-ADAPTIVE-RECONCILE — the dock JOINS the continuous observer driver (the
|
|
49
|
+
literal G2 surface: "darken DYNAMICALLY like iOS 27"). The dock's own
|
|
50
|
+
`useGlassBackdropLuminance` observer samples the threaded `:background-canvas`
|
|
51
|
+
(aurora/blob) and WRITES `--glass-backdrop-luma`; this clamp READS it and lerps
|
|
52
|
+
the plate from the warm-cream floor toward the ≤24% AA ceiling as the field
|
|
53
|
+
brightens past the knee — deepening over a bright bleed, lifting translucent over
|
|
54
|
+
a dark trough (the SAME clamp the content/overlay tiers get — ONE axis/driver/
|
|
55
|
+
signal; the discrete `@container` bucket RETIRED). Calm (luma ≤ knee) → floor. */
|
|
56
|
+
--glass-tint-strength: clamp(
|
|
57
|
+
var(--glass-tint-strength-floor),
|
|
58
|
+
calc(
|
|
59
|
+
var(--glass-tint-strength-floor) +
|
|
60
|
+
(var(--glass-tint-strength-aa) - var(--glass-tint-strength-floor)) *
|
|
61
|
+
max(0, (var(--glass-backdrop-luma, 0) - var(--glass-backdrop-luma-knee, 0.6)) / (1 - var(--glass-backdrop-luma-knee, 0.6)))
|
|
62
|
+
),
|
|
63
|
+
var(--glass-tint-strength-aa)
|
|
64
|
+
);
|
|
65
|
+
--dock-fg-on-aurora: var(--glass-tint-ink);
|
|
66
|
+
--muted-foreground: var(--foreground);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* The ancestor-querying `@container` block KEPT — it reaches the DESCENDANT
|
|
70
|
+
nested-glass surfaces inside a dock when a consumer marks `--glass-backdrop:
|
|
71
|
+
light` on the dock's ancestor (the self-engage above re-points only the dock
|
|
72
|
+
root's own inheriting tokens; a consumer's explicit ancestor bucket still
|
|
73
|
+
cascades to nested glass through this block). */
|
|
74
|
+
@container style(--glass-backdrop: light) {
|
|
75
|
+
.glass-dock {
|
|
76
|
+
--glass-tint-source: var(--glass-tint-ink);
|
|
77
|
+
--glass-tint-strength: var(--glass-tint-strength-aa);
|
|
78
|
+
--dock-fg-on-aurora: var(--glass-tint-ink);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* AX.W55 — the `contrast-color()` flip for the dock control foreground (Chrome
|
|
83
|
+
147+/Safari 26+; progressive enhancement, NEVER the load-bearing floor). The
|
|
84
|
+
declarative bucket above already carries AA on all engines (it darkens the dock
|
|
85
|
+
plate so the warm-dark `--dock-fg-on-aurora` clears ~17:1 over white at the 18%
|
|
86
|
+
floor). On a supporting engine `contrast-color()` REFINES the control ink,
|
|
87
|
+
anchored on the LIGHT BACKDROP signal (`--card`, the warm-white surface base the
|
|
88
|
+
bright bucket implies) — `contrast-color(var(--card))` resolves to the legible
|
|
89
|
+
DARK ink. Anchoring on the dark ink instead inverts to white (illegible on the
|
|
90
|
+
still-light dock plate), so the anchor is the light surface, matching the rung
|
|
91
|
+
refinement in glass.css. The bucket is the floor; this is the native pick. */
|
|
92
|
+
@supports (color: contrast-color(white)) {
|
|
93
|
+
/* The SELF-ENGAGED dock refinement (the unconditional self-engage above);
|
|
94
|
+
progressive enhancement only — the declarative darken is the AA floor. */
|
|
95
|
+
:where(.glass-dock) {
|
|
96
|
+
--dock-fg-on-aurora: contrast-color(var(--card));
|
|
97
|
+
--muted-foreground: contrast-color(var(--card));
|
|
98
|
+
}
|
|
99
|
+
@container style(--glass-backdrop: light) {
|
|
100
|
+
.glass-dock {
|
|
101
|
+
--dock-fg-on-aurora: contrast-color(var(--card));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* BB.W-LIQUID-REVEAL — the dock-expand bloom beat's blur-settle is OFF under
|
|
108
|
+
`prefers-reduced-motion: reduce` (the vestibular floor): a reduced-motion dock reads
|
|
109
|
+
crisp at every state, no in-between blur frames.
|
|
110
|
+
BC.W-DOCK-SHRINK-BLUR — the self-blur is now gated to `[data-morphing]`, so the PRM
|
|
111
|
+
carve zeroes it on the ARMED scope too (specificity 0,2,0) — a PRM dock that briefly
|
|
112
|
+
arms `[data-morphing]` carries no 3px bloom; the resting `.glass-dock` is already
|
|
113
|
+
crisp by the re-gate. */
|
|
114
|
+
@media (prefers-reduced-motion: reduce) {
|
|
115
|
+
.glass-dock,
|
|
116
|
+
.glass-dock[data-morphing] {
|
|
117
|
+
--dock-reveal-blur: 0px;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* dock/cta-seat.css — the `[data-cta-pending]` CTA-receive landing SEAT (BC.W-AX-DOCK-
|
|
2
|
+
* CTA-SEAT; the speedtest-AX BC-W2 + BC-W3 fold).
|
|
3
|
+
*
|
|
4
|
+
* THE MOVE. `useDockCtaReceive` (the BB.B2 morph half) flies an EXTERNAL CTA onto a
|
|
5
|
+
* dock control's rect; this partial makes the control it lands on a SEAT that was
|
|
6
|
+
* visibly RESERVED for it. While the CTA is in flight (or pending), the target dock
|
|
7
|
+
* control carries `data-cta-pending` (written by `setPending()` on the
|
|
8
|
+
* `useDockCtaReceive` return): the control shows a quiet dim GHOST (a placeholder
|
|
9
|
+
* awaiting its arrival) AND reserves its resting footprint from frame 0 so the dock
|
|
10
|
+
* box does NOT jump when the CTA lands. On `clearPending()` (the default hand-off
|
|
11
|
+
* fires it as the CTA lands) the attribute is removed and the seat REVEALS its real
|
|
12
|
+
* content with a plain `transition: opacity` FLIP.
|
|
13
|
+
*
|
|
14
|
+
* THE NO-BOX-JUMP (T2). The reserve is a STATIC `min-inline-size`/`min-block-size`
|
|
15
|
+
* keyed off `--dock-control-size`/`--dock-layer-height` (the control's resting box) —
|
|
16
|
+
* a ONE-TIME reservation set the instant `setPending()` fires, NEVER an animated
|
|
17
|
+
* dimension (the W-DESKTOP-RESERVE static-frame-0 precedent). The dock's shrink-wrap
|
|
18
|
+
* is already at the seated width, so the CTA lands into an already-sized hole; the box
|
|
19
|
+
* never grows on reveal. `proof:no-layout-animation` holds — no `transition: width`/
|
|
20
|
+
* animated min-* anywhere here.
|
|
21
|
+
*
|
|
22
|
+
* THE FLIP REVEAL (T3). The seat is a CONTENT swap on an already-sized box, NOT a box
|
|
23
|
+
* morph — so the reveal is a PLAIN `transition: opacity` on the `--ease-out`
|
|
24
|
+
* no-overshoot register (a content reveal must not overshoot — W-MOTION-CANON P2). It
|
|
25
|
+
* does NOT ride the dock collapse/expand morph-stagger (`--dock-expand-t`/the child
|
|
26
|
+
* stagger); re-using the morph clock would read as a janky stagger-restart on a
|
|
27
|
+
* content reveal.
|
|
28
|
+
*
|
|
29
|
+
* RECT-DRIVEN, LAYOUT-AGNOSTIC (Gate-1 Q5). The seat targets `[data-cta-pending]` on
|
|
30
|
+
* ANY dock control — it makes NO assumption about a skip-arrow affordance (a
|
|
31
|
+
* consumer-side functional skip control that may or may not be present). The reserve
|
|
32
|
+
* is the control's own resting footprint; the seat works with or without arrows.
|
|
33
|
+
*
|
|
34
|
+
* COMPOSITOR-ONLY. `setPending`/`clearPending` toggle the data attribute; this partial
|
|
35
|
+
* paints with `opacity` + the static reserve. No layout property is animated. The
|
|
36
|
+
* `--cta-seat-*` knobs are the consumer retune seam.
|
|
37
|
+
*
|
|
38
|
+
* @import-ed by dock.css in the dock partial cascade, in the SAME `@layer components`. */
|
|
39
|
+
|
|
40
|
+
@layer components {
|
|
41
|
+
/* The armed seat — the control is RESERVED. The static min-*-size locks the resting
|
|
42
|
+
footprint from frame 0 (the no-box-jump); the dim opacity is the placeholder
|
|
43
|
+
ghost awaiting the CTA's arrival. The `transition: opacity` is declared HERE (not
|
|
44
|
+
only on the cleared state) so the GHOST→content reveal is a smooth fade in BOTH
|
|
45
|
+
directions on the SAME compositor-safe register — the box is already sized, only
|
|
46
|
+
the opacity moves. */
|
|
47
|
+
[data-cta-pending] {
|
|
48
|
+
/* The STATIC resting-geometry reserve (T2) — a one-time min-*-size off the
|
|
49
|
+
control's own resting box. NEVER transitioned (an animated dimension
|
|
50
|
+
CLS-storms — the proof:no-layout-animation floor). */
|
|
51
|
+
min-inline-size: var(--dock-control-size, var(--size-icon-btn));
|
|
52
|
+
min-block-size: var(
|
|
53
|
+
--dock-layer-height,
|
|
54
|
+
var(--dock-control-size, var(--size-icon-btn))
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
/* The dim GHOST placeholder — the control awaits its arrival (T3). */
|
|
58
|
+
opacity: var(--cta-seat-ghost-opacity, 0.35);
|
|
59
|
+
|
|
60
|
+
/* The FLIP reveal register — a PLAIN opacity transition on --ease-out
|
|
61
|
+
(no-overshoot). Default duration tracks the snappy spring envelope so the
|
|
62
|
+
reveal reads as the same family as the morph that lands the CTA. */
|
|
63
|
+
transition: opacity
|
|
64
|
+
var(--cta-seat-reveal-duration, var(--spring-snappy-duration))
|
|
65
|
+
var(--ease-out);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* The seated CONTENT also dims while pending — the icon/label is the thing that
|
|
69
|
+
fades back in on reveal. Direct-child targeting keeps the seat layout-agnostic
|
|
70
|
+
(it does not name a control class — Q5). */
|
|
71
|
+
[data-cta-pending] > * {
|
|
72
|
+
opacity: var(--cta-seat-ghost-opacity, 0.35);
|
|
73
|
+
transition: opacity
|
|
74
|
+
var(--cta-seat-reveal-duration, var(--spring-snappy-duration))
|
|
75
|
+
var(--ease-out);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* PRM — the reveal is an INSTANT opacity swap (the vestibular floor; the seat snaps
|
|
79
|
+
to its content, zero transition frames). The reserve is unchanged (it is static,
|
|
80
|
+
not a motion). The gesture completes; the animation is off. */
|
|
81
|
+
@media (prefers-reduced-motion: reduce) {
|
|
82
|
+
[data-cta-pending],
|
|
83
|
+
[data-cta-pending] > * {
|
|
84
|
+
transition: none;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -33,6 +33,66 @@
|
|
|
33
33
|
consumers). NEVER re-point this AT --dock-control-safe-inset (the de-overload). */
|
|
34
34
|
:root {
|
|
35
35
|
--dock-content-safe-inset: var(--dock-rail-extend-length, 2.5rem);
|
|
36
|
+
|
|
37
|
+
/* ── BC.W-DOCK-ARBITRARY — the arbitrary-shape morph tokens ─────────────────
|
|
38
|
+
The dock morph is no longer locked to circle↔pill. The shape is now a SCALAR
|
|
39
|
+
PARAMETER: a `--dock-shape-from`/`--dock-shape-to` corner-radius pair the chrome
|
|
40
|
+
radius arm interpolates on `--dock-morph-t`, an OPT-IN `--dock-shape-clip-from`/
|
|
41
|
+
`--dock-shape-clip-to` clip-path silhouette pair (compositor-only, no layout),
|
|
42
|
+
and a `--dock-morph-max-stretch` squish cap. The library DEFAULTS preserve the
|
|
43
|
+
collapsed-perfect-circle ↔ expanded-pill identity (CLAUDE.md `aspect-ratio: 1` +
|
|
44
|
+
`--radius-dock` 9999px), so the common case needs no consumer override; a consumer
|
|
45
|
+
sets these to morph to an arbitrary silhouette (a wide bar, a teardrop, a tall
|
|
46
|
+
rail). Clean break (MEMORY: no backwards compat) — the prior hardcoded circle/pill
|
|
47
|
+
endpoints become these token DEFAULTS, no `--dock-radius-legacy`. */
|
|
48
|
+
|
|
49
|
+
/* The corner profile span — the `from`-radius (the collapsed perfect circle, a
|
|
50
|
+
9999px pill that rounds the height-pinned square into a circle) ↔ the `to`-radius
|
|
51
|
+
(the expanded pill, `--radius-dock`). Consumer-targetable: set either to any
|
|
52
|
+
radius to morph to an arbitrary corner profile. */
|
|
53
|
+
--dock-shape-from: var(--radius-dock, 9999px);
|
|
54
|
+
--dock-shape-to: var(--radius-dock, 9999px);
|
|
55
|
+
|
|
56
|
+
/* The arbitrary-silhouette span — an OPT-IN `clip-path` pair (a compositor property,
|
|
57
|
+
NO layout). DEFAULT-OFF: `none`/`none` means the rectangle/pill morph (the common
|
|
58
|
+
case) needs no clip. A consumer opts into a teardrop/blob silhouette by setting the
|
|
59
|
+
clip-from/to to two `inset()`/`path()`/`shape()` values the morph LERPS between on
|
|
60
|
+
`--dock-morph-t`. */
|
|
61
|
+
--dock-shape-clip-from: none;
|
|
62
|
+
--dock-shape-clip-to: none;
|
|
63
|
+
|
|
64
|
+
/* The squish cap — the LOW volume-preserving `--stretch` ceiling for the shape-morph
|
|
65
|
+
deformation, mirroring the tab-indicator's iOS-segmented register. BD.W-ANIM-IOS27-
|
|
66
|
+
TUNE lifts 1.08 → 1.14 so the box-morph reads as FLOWING MASS (the "MORPH MORE on
|
|
67
|
+
move" mandate; the dock is the most-visible morph surface) — a fast morph swells
|
|
68
|
+
the plate then caps, a gooey settle, never a taffy-pull (≤1.2 anti-taffy bar). */
|
|
69
|
+
--dock-morph-max-stretch: 1.14;
|
|
70
|
+
|
|
71
|
+
/* ── BC.W-LIQUID-MORPH — the reserve floor (the white morph can never paint) ──
|
|
72
|
+
The morph box reserves `inline-size`/`block-size: max(var(--dock-morph-to),
|
|
73
|
+
var(--dock-morph-min))` (layers.css). A degenerate `to:0` measurement (the
|
|
74
|
+
BA-VJS-1 nested-group race, glass-dock-codebase.md §2.2) would otherwise reserve
|
|
75
|
+
a ZERO-width footprint → `overflow: clip` blanks the content → the white/invisible
|
|
76
|
+
morph the user reports. The floor seats it at the collapsed-pill minimum (~44px,
|
|
77
|
+
the WCAG touch floor / `--dock-control-floor`), so a missed measurement degrades to
|
|
78
|
+
"visible at the floor," never "white." A SAFETY NET: on every healthy measurement
|
|
79
|
+
the `max()` resolves to the real `to` (inert above the floor); it fires ONLY on the
|
|
80
|
+
degenerate race. Density-scaled, riding `--dock-scale` transitively. */
|
|
81
|
+
--dock-morph-min: max(2.75rem, var(--dock-control-floor, 0px));
|
|
82
|
+
|
|
83
|
+
/* ── BC.W-DOCK-SEARCH — the collapse-on-scroll trigger-points ─────────────────
|
|
84
|
+
The dock-search optional shrink-on-scroll (composing useScrollChrome — the
|
|
85
|
+
native dual-path reader, persistent-default) reads these two tunable px
|
|
86
|
+
trigger-points: the shrink BEGINS at `--dock-search-shrink-start` of scroll and
|
|
87
|
+
reaches the compact form at `--dock-search-shrink-end` (the words
|
|
88
|
+
`scrollInflectionPoint` generalized into dock-scoped tokens). They ride
|
|
89
|
+
`--dock-scale` transitively (a coarse-pointer dock's trigger-points scale with
|
|
90
|
+
its geometry), and a consumer retunes the inflection in ONE write. NOTE the
|
|
91
|
+
PERSISTENT default — these are inert unless the consumer opts in via
|
|
92
|
+
`collapseOnScroll`; the morph itself NEVER fires on a passive scroll (the
|
|
93
|
+
iOS-27 lesson — the scroll path is the distinct compositor shrink). */
|
|
94
|
+
--dock-search-shrink-start: calc(0rem * var(--dock-scale));
|
|
95
|
+
--dock-search-shrink-end: calc(7.25rem * var(--dock-scale));
|
|
36
96
|
}
|
|
37
97
|
|
|
38
98
|
@layer components {
|
|
@@ -49,11 +109,14 @@
|
|
|
49
109
|
control + glyph; it is a proportional `calc(control-size + tile-pad)` so the
|
|
50
110
|
icon-to-tile margin is ONE knob, not a per-density literal. */
|
|
51
111
|
.glass-dock[data-density="compact"] {
|
|
112
|
+
/* BD.W-DOCK-CORE (A11) — the OUTER pill pad floors lifted ~+50% for the generous
|
|
113
|
+
warm-cream liquid breath (the sliver-pill defect). The inner
|
|
114
|
+
`--dock-control-safe-inset` plate clearance is untouched (a distinct axis). */
|
|
52
115
|
--dock-padding-block: calc(
|
|
53
|
-
var(--dock-density-compact-padding-block, 0.
|
|
116
|
+
var(--dock-density-compact-padding-block, 0.375rem) * var(--dock-scale)
|
|
54
117
|
);
|
|
55
118
|
--dock-padding-inline: calc(
|
|
56
|
-
var(--dock-density-compact-padding-inline, 0.
|
|
119
|
+
var(--dock-density-compact-padding-inline, 0.5rem) * var(--dock-scale)
|
|
57
120
|
);
|
|
58
121
|
--dock-control-size: max(
|
|
59
122
|
calc(var(--dock-density-compact-control-size, 2rem) * var(--dock-scale)),
|
|
@@ -104,11 +167,14 @@
|
|
|
104
167
|
/* Comfortable density — the GlassDock default. Sits between compact
|
|
105
168
|
and spacious. */
|
|
106
169
|
.glass-dock[data-density="comfortable"] {
|
|
170
|
+
/* BD.W-DOCK-CORE (A11) — the generous liquid-pill pad: inline 0.5 → 0.75rem (+8px
|
|
171
|
+
total breath), block 0.375 → 0.5rem (softer). The vertical sliver-around-40px
|
|
172
|
+
becomes a soft warm-cream capsule. */
|
|
107
173
|
--dock-padding-block: calc(
|
|
108
|
-
var(--dock-density-comfortable-padding-block, 0.
|
|
174
|
+
var(--dock-density-comfortable-padding-block, 0.5rem) * var(--dock-scale)
|
|
109
175
|
);
|
|
110
176
|
--dock-padding-inline: calc(
|
|
111
|
-
var(--dock-density-comfortable-padding-inline, 0.
|
|
177
|
+
var(--dock-density-comfortable-padding-inline, 0.75rem) * var(--dock-scale)
|
|
112
178
|
);
|
|
113
179
|
--dock-control-size: max(
|
|
114
180
|
calc(
|
|
@@ -152,11 +218,12 @@
|
|
|
152
218
|
}
|
|
153
219
|
|
|
154
220
|
.glass-dock[data-density="spacious"] {
|
|
221
|
+
/* BD.W-DOCK-CORE (A11) — the spacious rung breathes in lockstep (~+33%). */
|
|
155
222
|
--dock-padding-block: calc(
|
|
156
|
-
var(--dock-density-spacious-padding-block, 0.
|
|
223
|
+
var(--dock-density-spacious-padding-block, 0.625rem) * var(--dock-scale)
|
|
157
224
|
);
|
|
158
225
|
--dock-padding-inline: calc(
|
|
159
|
-
var(--dock-density-spacious-padding-inline,
|
|
226
|
+
var(--dock-density-spacious-padding-inline, 1rem) * var(--dock-scale)
|
|
160
227
|
);
|
|
161
228
|
--dock-control-size: max(
|
|
162
229
|
calc(
|
|
@@ -246,6 +313,91 @@
|
|
|
246
313
|
);
|
|
247
314
|
}
|
|
248
315
|
|
|
316
|
+
/* ── BC.W-AX-DOCK-COCKPIT — the `cockpit` geometry PRESET ─────────────────────
|
|
317
|
+
The tight instrument-cockpit register: a FIXED `2.75rem` control floor (the
|
|
318
|
+
Gate-1 Q6 fixed value — NOT a range) with COMPACT-tight chrome (the tightest
|
|
319
|
+
padding/gap/tile-pad, distinct from `spacious`'s LOOSE chrome at the SAME
|
|
320
|
+
2.75rem control). It closes the dock-oversize chronic (speedtest A-9): a
|
|
321
|
+
consumer opts into a dense, proportioned instrument strip — `2.75rem` control,
|
|
322
|
+
compact chrome, the label tracking the control by `--dock-label-ratio` (so the
|
|
323
|
+
label never reads OVERSIZE on the tight pill).
|
|
324
|
+
|
|
325
|
+
It is a NAMED preset, NOT a 5th density rung — the density axis stays FOUR rungs
|
|
326
|
+
(`proof:dock-unify`'s density census is unaffected). The preset is a geometry
|
|
327
|
+
OVERRIDE composing WITH a `data-density` base: `[data-preset="cockpit"]` wins the
|
|
328
|
+
control-size/layer-height/chrome by source-order (this block comes AFTER the rungs),
|
|
329
|
+
so a `<GlassDock data-density="comfortable" data-preset="cockpit">` resolves the
|
|
330
|
+
cockpit geometry. An ancestor `[data-preset="cockpit"]` scope re-declares these
|
|
331
|
+
tokens too (the substitution-vs-inheritance discipline) so descendant docks inherit.
|
|
332
|
+
|
|
333
|
+
The control floor rides the SAME `* var(--dock-scale)` thread + the `max(…,
|
|
334
|
+
--dock-control-floor)` WCAG 2.5.5 clamp as the rungs — the cockpit is tight, but
|
|
335
|
+
the coarse-pointer touch target NEVER drops below the 44px floor. */
|
|
336
|
+
.glass-dock[data-preset="cockpit"] {
|
|
337
|
+
/* The FIXED 2.75rem control floor (Q6) — the cockpit register, riding
|
|
338
|
+
`--dock-scale` + the 44px clamp. NOT a `clamp(2.5rem, …, 3rem)` range. */
|
|
339
|
+
--dock-control-size: max(
|
|
340
|
+
calc(2.75rem * var(--dock-scale)),
|
|
341
|
+
var(--dock-control-floor, 0px)
|
|
342
|
+
);
|
|
343
|
+
--dock-layer-height: max(
|
|
344
|
+
calc(2.75rem * var(--dock-scale)),
|
|
345
|
+
var(--dock-control-floor, 0px)
|
|
346
|
+
);
|
|
347
|
+
/* The TIGHT chrome — the COMPACT-rung tightness (the cockpit is a dense
|
|
348
|
+
instrument strip, NOT the spacious loosening). This is the distinction
|
|
349
|
+
from `spacious` (same control, LOOSE chrome). */
|
|
350
|
+
--dock-padding-block: calc(
|
|
351
|
+
var(--dock-density-compact-padding-block, 0.25rem) * var(--dock-scale)
|
|
352
|
+
);
|
|
353
|
+
--dock-padding-inline: calc(
|
|
354
|
+
var(--dock-density-compact-padding-inline, 0.375rem) * var(--dock-scale)
|
|
355
|
+
);
|
|
356
|
+
--dock-layer-gap: calc(
|
|
357
|
+
var(--dock-density-compact-gap, 0.25rem) * var(--dock-scale)
|
|
358
|
+
);
|
|
359
|
+
/* BA.W-DOCK-GEOMETRY — the control-plate clearance inset, in lockstep with
|
|
360
|
+
the rungs (the 10%-per-side painted-plate inset). */
|
|
361
|
+
--dock-control-safe-inset: calc(var(--dock-control-size) * 0.1);
|
|
362
|
+
--dock-tile-min: calc(
|
|
363
|
+
var(--dock-control-size) + var(--dock-tile-pad, 1rem) * var(--dock-scale)
|
|
364
|
+
);
|
|
365
|
+
--dock-trigger-padding-block: calc(
|
|
366
|
+
var(--dock-density-compact-trigger-padding-block, 0.1875rem) *
|
|
367
|
+
var(--dock-scale)
|
|
368
|
+
);
|
|
369
|
+
--dock-trigger-padding-inline: calc(
|
|
370
|
+
var(--dock-density-compact-trigger-padding-inline, 0.4375rem) *
|
|
371
|
+
var(--dock-scale)
|
|
372
|
+
);
|
|
373
|
+
--dock-tab-padding-block: calc(
|
|
374
|
+
var(--dock-density-compact-tab-padding-block, 0.3125rem) *
|
|
375
|
+
var(--dock-scale)
|
|
376
|
+
);
|
|
377
|
+
--dock-tab-padding-inline: calc(
|
|
378
|
+
var(--dock-density-compact-tab-padding-inline, 0.625rem) *
|
|
379
|
+
var(--dock-scale)
|
|
380
|
+
);
|
|
381
|
+
--dock-tab-h: calc(32px * var(--dock-scale));
|
|
382
|
+
/* The cockpit-tight label ratio — the label reads EVEN tighter relative to
|
|
383
|
+
its control than the `:root` default (the A-9 close). The `dock-label`
|
|
384
|
+
font-size is `calc(--dock-control-size * --dock-label-ratio)`; the cockpit
|
|
385
|
+
tunes the ratio DOWN so a 2.75rem cockpit control carries a label sized for
|
|
386
|
+
the dense strip, not the comfortable-default proportion. */
|
|
387
|
+
--dock-label-ratio: 0.42;
|
|
388
|
+
/* RE-RESOLVE the density-painted glyph tokens against the cockpit
|
|
389
|
+
`--dock-layer-height` (the same substitution-vs-inheritance trap the
|
|
390
|
+
`.glass-dock[data-density]` re-resolve below fixes — a `[data-preset]`
|
|
391
|
+
scope paints its OWN `--dock-layer-height`, so the `:root`-derived glyph
|
|
392
|
+
would freeze at the fallback). Identical formula to the density re-resolve;
|
|
393
|
+
only the resolution element moves so the cockpit height flows into the glyph. */
|
|
394
|
+
--dock-icon-glyph: max(
|
|
395
|
+
calc(var(--dock-layer-height) * var(--dock-icon-glyph-ratio)),
|
|
396
|
+
var(--dock-icon-glyph-floor)
|
|
397
|
+
);
|
|
398
|
+
--dock-control-glyph-size: var(--dock-icon-glyph);
|
|
399
|
+
}
|
|
400
|
+
|
|
249
401
|
/* BB.W-PERF-PRODUCER A′-6 — RE-RESOLVE the glyph token inside the density-painted
|
|
250
402
|
scope. `--dock-icon-glyph` (offsets-sizing.css) is a RATIO of
|
|
251
403
|
`--dock-layer-height`, but density.css paints `--dock-layer-height` ONLY on
|
|
@@ -265,6 +417,15 @@
|
|
|
265
417
|
calc(var(--dock-layer-height, calc(2.5rem * var(--dock-scale))) * var(--dock-icon-glyph-ratio)),
|
|
266
418
|
var(--dock-icon-glyph-floor)
|
|
267
419
|
);
|
|
420
|
+
/* BC.W-DOCK-ENGINE move 3 (the Atlas A-9 fold) — RE-RESOLVE the in-dock
|
|
421
|
+
control-glyph knob against the density-painted `--dock-icon-glyph` (the
|
|
422
|
+
same substitution-vs-inheritance trap as the glyph above: a `:root`-only
|
|
423
|
+
`--dock-control-glyph-size` would freeze at the `:root` glyph while
|
|
424
|
+
`--dock-icon-glyph` lifts per density). Re-declaring it HERE keeps the
|
|
425
|
+
docked dark-toggle glyph + its inset pad on the density axis with the nav
|
|
426
|
+
glyphs. Identical to the `:root` default; only the resolution element
|
|
427
|
+
moves so the density-painted glyph flows in. */
|
|
428
|
+
--dock-control-glyph-size: var(--dock-icon-glyph);
|
|
268
429
|
}
|
|
269
430
|
|
|
270
431
|
/* Density-audacious narrow-box carve (AV.W16 TW3) — when the dock's OWN
|