@mkbabb/glass-ui 3.13.0 → 4.0.1
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/README.md +3 -1
- package/dist/CardAction-CW7a0m8M.js +253 -0
- package/dist/{CommandShortcut-RowNEO6i.js → CommandShortcut-DvZNQ_HF.js} +58 -53
- package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
- package/dist/{ContextMenuContent-CT3AS1WX.js → ContextMenuContent-uWnVxDab.js} +1 -1
- package/dist/{ContextMenuSubContent-BQmxTAdw.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
- package/dist/{DataTable-BCddn3T3.js → DataTable-CuKwF7wr.js} +99 -97
- package/dist/DialogContent-DcKK8k9i.js +103 -0
- package/dist/{DialogFooter-Blu4t7tJ.js → DialogFooter-BZNX5aVr.js} +3 -3
- package/dist/FadingScroll-DI6hQhT9.js +76 -0
- package/dist/{HoverCardContent-Csywg3YF.js → HoverCardContent-b2uaAMRR.js} +1 -1
- package/dist/{HoverPopover-CISOJQuZ.js → HoverPopover-CbqbNwgU.js} +2 -2
- package/dist/IconChip-BTD-nay5.js +55 -0
- package/dist/{IconTooltip-DPzE09X9.js → IconTooltip-Bl8gFZ8d.js} +1 -1
- package/dist/{Input-DWQQIOC4.js → Input-h9v5LeXf.js} +1 -1
- package/dist/{MetricBadge-C9QMz1KT.js → MetricBadge-RHdBP72w.js} +1 -1
- package/dist/Notification-VUwexFUf.js +43 -0
- package/dist/NumberFieldContent-Cq7EzX-U.js +138 -0
- package/dist/PopoverContent-DL7E6vJP.js +127 -0
- package/dist/{Progress-DwlUKGbr.js → Progress-DctG61iZ.js} +98 -78
- package/dist/{ScrollingText-DfFrwSph.js → ScrollingText-yOpBzFYq.js} +2 -2
- package/dist/{SelectScrollDownButton-CiDUxfEj.js → SelectScrollDownButton-CrA8F0iV.js} +35 -20
- package/dist/{Switch-CsIuYP_e.js → Switch-CwYNf8bo.js} +1 -1
- package/dist/Toaster-Bw4xR8xV.js +274 -0
- package/dist/{ToggleGroupItem-D_AHlRw9.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
- package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +16 -8
- package/dist/api/types-extra.d.ts +6 -0
- package/dist/api.js +2 -2
- package/dist/aurora.js +888 -230
- package/dist/badge.js +1 -1
- package/dist/border-progress.d.ts +1 -0
- package/dist/border-progress.js +106 -0
- package/dist/button-DYCUa-tH.js +126 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -2
- package/dist/card.js +2 -2
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +90 -151
- package/dist/collapsible.js +1 -1
- package/dist/color-swatch.d.ts +1 -0
- package/dist/color-swatch.js +47 -0
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/compile-CQEFRTmx.js +19 -0
- package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
- package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
- package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +30 -2
- package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -10
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
- package/dist/components/custom/aurora/index.d.ts +3 -2
- package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
- package/dist/components/custom/border-progress/constants.d.ts +59 -0
- package/dist/components/custom/border-progress/index.d.ts +4 -0
- package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
- package/dist/components/custom/color-swatch/index.d.ts +1 -0
- package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
- package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
- package/dist/components/custom/concentric/constants.d.ts +43 -0
- package/dist/components/custom/concentric/index.d.ts +5 -0
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
- package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
- package/dist/components/custom/constellation/Constellation.vue.d.ts +18 -206
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
- package/dist/components/custom/constellation/constellationField.d.ts +2 -369
- package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
- package/dist/components/custom/constellation/index.d.ts +1 -1
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +13 -4
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
- package/dist/components/custom/dock/DockRail.vue.d.ts +17 -16
- package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
- package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -5
- package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +75 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
- package/dist/components/custom/dock/constants.d.ts +35 -0
- package/dist/components/custom/dock/index.d.ts +2 -0
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
- package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
- package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
- package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
- package/dist/components/custom/easing/constants.d.ts +28 -0
- package/dist/components/custom/easing/index.d.ts +3 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
- package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
- package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
- package/dist/components/custom/fading-scroll/index.d.ts +2 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +19 -2
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
- package/dist/components/custom/fourier-field/constants.d.ts +7 -0
- package/dist/components/custom/fourier-field/index.d.ts +1 -1
- package/dist/components/custom/fourier-field/math.d.ts +17 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +9 -1
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
- package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +29 -12
- package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
- package/dist/components/custom/goo-blob/constants.d.ts +6 -1
- package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
- package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
- package/dist/components/custom/handmark/brush.d.ts +269 -0
- package/dist/components/custom/handmark/composables/useHandMark.d.ts +89 -0
- package/dist/components/custom/handmark/constants.d.ts +39 -0
- package/dist/components/custom/handmark/freehand.d.ts +69 -0
- package/dist/components/custom/handmark/geometry.d.ts +52 -0
- package/dist/components/custom/handmark/index.d.ts +27 -0
- package/dist/components/custom/handmark/ink.d.ts +11 -0
- package/dist/components/custom/handmark/texture.d.ts +39 -0
- package/dist/components/custom/handmark/types.d.ts +62 -0
- package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
- package/dist/components/custom/icon-chip/index.d.ts +2 -0
- package/dist/components/custom/icon-chip/types.d.ts +82 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -2
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
- package/dist/components/custom/spa-view/index.d.ts +2 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +29 -24
- package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
- package/dist/components/custom/tabs/constants.d.ts +9 -3
- package/dist/components/custom/tabs/index.d.ts +1 -1
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +15 -1
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
- package/dist/components/ui/badge/index.d.ts +1 -1
- package/dist/components/ui/button/Button.vue.d.ts +5 -2
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/card/Card.vue.d.ts +34 -4
- package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
- package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
- package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
- package/dist/components/ui/card/index.d.ts +2 -0
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
- package/dist/components/ui/carousel/index.d.ts +0 -1
- package/dist/components/ui/command/Command.vue.d.ts +4 -1
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
- package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +12 -8
- package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
- package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
- package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
- package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
- package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
- package/dist/components/ui/drawer/constants.d.ts +45 -0
- package/dist/components/ui/drawer/index.d.ts +23 -15
- package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
- package/dist/components/ui/focus-scope/index.d.ts +2 -0
- package/dist/components/ui/index.d.ts +1 -1
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
- package/dist/components/ui/toast/use-toast.d.ts +14 -0
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/composables/dark/index.d.ts +1 -1
- package/dist/composables/dark/useGlobalDark.d.ts +23 -1
- package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
- package/dist/composables/glass/index.d.ts +5 -2
- package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
- package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
- package/dist/composables/glass/vSpecular.d.ts +2 -0
- package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
- package/dist/composables/glass/webgpu/index.d.ts +2 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
- package/dist/composables/motion/core/index.d.ts +1 -0
- package/dist/composables/motion/index.d.ts +4 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
- package/dist/composables/motion/useDragMorph.d.ts +77 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
- package/dist/composables/motion/useLiquidPress.d.ts +71 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
- package/dist/composables/motion/useNumericTransition.d.ts +3 -3
- package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
- package/dist/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/concentric.d.ts +1 -0
- package/dist/concentric.js +562 -0
- package/dist/configurator.js +3 -2
- package/dist/confirm-dialog.js +22 -24
- package/dist/constellation.js +93 -95
- package/dist/context-menu.js +3 -3
- package/dist/controls.js +10 -4
- package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
- package/dist/dark.d.ts +1 -1
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +738 -442
- package/dist/{dockContext-BegmJVmx.js → dockContext-BNfyPLe9.js} +1 -1
- package/dist/dom.js +5 -5
- package/dist/dot-flow-field.d.ts +1 -0
- package/dist/dot-flow-field.js +604 -0
- package/dist/drawer.d.ts +1 -0
- package/dist/drawer.js +380 -0
- package/dist/{dropdown-menu-DzkkyBwX.js → dropdown-menu-CofSZuk8.js} +14 -15
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.d.ts +1 -0
- package/dist/easing.js +463 -0
- package/dist/expandable-container.js +45 -38
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/focus-scope.d.ts +1 -0
- package/dist/focus-scope.js +23 -0
- package/dist/forms.js +7 -7
- package/dist/fourier-field.js +135 -122
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +39 -36
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +154 -362
- package/dist/goo-blob.js +838 -227
- package/dist/handmark.d.ts +1 -0
- package/dist/handmark.js +707 -0
- 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.d.ts +1 -0
- package/dist/icon-chip.js +2 -0
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +6 -6
- package/dist/{math-U6-RrLmV.js → math-BINYmg5z.js} +11 -3
- package/dist/{menuItemVariants-DPiEarb0.js → menuItemVariants-D8VNHq22.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +25 -22
- package/dist/metric-stack.js +4 -8
- package/dist/motion-core.js +36 -35
- package/dist/motion-curves.js +1 -1
- package/dist/motion.js +157 -55
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.d.ts +1 -0
- package/dist/pager-dots.js +91 -0
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-BKVyQfbt.js → presets-BW2b-fr1.js} +14 -1
- package/dist/{compile-B7NGOBcP.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
- package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
- package/dist/progress.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +10 -12
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet-tZMg0E0w.js +218 -0
- package/dist/sheet.js +1 -1
- package/dist/{slider-B-JP2JlI.js → slider-DVb4HXU-.js} +7 -7
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/spa-view.d.ts +1 -0
- package/dist/spa-view.js +46 -0
- package/dist/styles/animations.css +40 -31
- package/dist/styles/border-progress.css +109 -0
- package/dist/styles/cards.css +76 -0
- package/dist/styles/components.css +1 -1
- package/dist/styles/configurator.css +35 -0
- package/dist/styles/critical-partition.mjs +140 -0
- package/dist/styles/critical.css +12 -0
- package/dist/styles/deferred.css +31 -0
- package/dist/styles/dock/density.css +64 -0
- package/dist/styles/dock/layers.css +54 -30
- package/dist/styles/dock/morph.css +124 -7
- package/dist/styles/dock/overflow.css +31 -2
- package/dist/styles/dock/rail-extend.css +168 -71
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +83 -16
- package/dist/styles/dock-controls/icon-button.css +11 -1
- package/dist/styles/dock-controls/tab-button.css +24 -83
- package/dist/styles/dock-controls/triggers.css +7 -0
- package/dist/styles/dock.css +38 -3
- package/dist/styles/drawer.css +127 -35
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/glass/deep.css +44 -0
- package/dist/styles/glass/ladder.css +154 -52
- package/dist/styles/glass/material.css +78 -15
- package/dist/styles/glass/reveal.css +136 -0
- package/dist/styles/glass/rim.css +100 -0
- package/dist/styles/glass/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +189 -15
- package/dist/styles/glass-refract.css +96 -44
- package/dist/styles/glass-specular-track.css +7 -0
- package/dist/styles/glass.css +8 -2
- package/dist/styles/hover-popover.css +7 -6
- package/dist/styles/icon-chip.css +211 -0
- package/dist/styles/index.css +78 -4
- package/dist/styles/instrument-chassis.css +107 -2
- package/dist/styles/menu.css +127 -0
- package/dist/styles/scroll-choreography.css +300 -0
- package/dist/styles/segmented-tabs.css +188 -86
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +22 -1
- package/dist/styles/theme/literals.css +11 -2
- package/dist/styles/theme/radius.css +6 -1
- package/dist/styles/tokens/color-radius.css +40 -13
- package/dist/styles/tokens/dark-arm.css +200 -20
- package/dist/styles/tokens/glass-deep.css +75 -0
- package/dist/styles/tokens/glass-fx.css +333 -0
- package/dist/styles/tokens/glass.css +95 -315
- package/dist/styles/tokens/light-dark.css +64 -22
- package/dist/styles/tokens/offsets.css +116 -0
- package/dist/styles/tokens/on-glass-fg.css +39 -0
- package/dist/styles/tokens/property-regs.css +130 -10
- package/dist/styles/tokens/scale-paper.css +155 -84
- package/dist/styles/tokens/scheme-motion.css +102 -46
- package/dist/styles/tokens/scroll-tokens.css +123 -0
- package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
- package/dist/styles/tokens.css +9 -3
- package/dist/styles/transitions.css +7 -7
- package/dist/styles/typography/scale.css +153 -0
- package/dist/styles/typography/semantic.css +220 -0
- package/dist/styles/typography/utilities.css +174 -0
- package/dist/styles/typography.css +23 -507
- package/dist/styles/utilities/a11y-overrides.css +33 -4
- package/dist/styles/utilities/animate.css +27 -24
- package/dist/styles/utilities/base-misc.css +255 -0
- package/dist/styles/utilities/base.css +100 -138
- package/dist/styles/utilities/btn.css +21 -202
- package/dist/styles/utilities/metal.css +189 -0
- package/dist/styles/utilities.css +14 -7
- package/dist/styles/view-transition.css +4 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +275 -191
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +3 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-C5I3wWd8.js → useAnimatedNumber-BfUq2bUM.js} +1 -1
- package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
- package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
- package/dist/useDragMorph-DgxnsVJz.js +102 -0
- package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-C28t0VWJ.js} +22 -3
- package/dist/useLiquidPress-kfb4KX79.js +39 -0
- package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
- package/dist/{useRAFLoop-Bxv0o6L5.js → useRAFLoop-UYa4zoiN.js} +1 -1
- package/dist/useSpring-C0jyvEJB.js +40 -0
- package/dist/useSpringMount-q1amq1SJ.js +71 -0
- package/dist/useSpringPress-BsqPr7FJ.js +34 -0
- package/dist/useSurfaceAxis-g0NloYEF.js +7 -0
- package/dist/{useTouchGate-Dg7MQI1G.js → useTouchGate-CBZTD4SD.js} +1 -1
- package/dist/vReveal-Czsb7zQC.js +10 -0
- package/dist/vSpecular-CQFmLNzA.js +68 -0
- package/dist/vendor-CKmzio-i.js +226 -0
- package/dist/watercolor-dot.js +12 -5
- package/package.json +193 -25
- package/src/styles/animations.css +40 -31
- package/src/styles/border-progress.css +109 -0
- package/src/styles/cards.css +76 -0
- package/src/styles/configurator.css +35 -0
- package/src/styles/critical-partition.mjs +140 -0
- package/src/styles/dock/density.css +64 -0
- package/src/styles/dock/layers.css +54 -30
- package/src/styles/dock/morph.css +124 -7
- package/src/styles/dock/overflow.css +31 -2
- package/src/styles/dock/rail-extend.css +168 -71
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +83 -16
- package/src/styles/dock-controls/icon-button.css +11 -1
- package/src/styles/dock-controls/tab-button.css +24 -83
- package/src/styles/dock-controls/triggers.css +7 -0
- package/src/styles/dock.css +38 -3
- package/src/styles/drawer.css +123 -35
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/glass/deep.css +44 -0
- package/src/styles/glass/ladder.css +154 -52
- package/src/styles/glass/material.css +78 -15
- package/src/styles/glass/reveal.css +136 -0
- package/src/styles/glass/rim.css +100 -0
- package/src/styles/glass/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +189 -15
- package/src/styles/glass-refract.css +96 -44
- package/src/styles/glass-specular-track.css +7 -0
- package/src/styles/glass.css +8 -2
- package/src/styles/hover-popover.css +7 -6
- package/src/styles/icon-chip.css +211 -0
- package/src/styles/index.css +78 -4
- package/src/styles/instrument-chassis.css +107 -2
- package/src/styles/menu.css +127 -0
- package/src/styles/scroll-choreography.css +300 -0
- package/src/styles/segmented-tabs.css +184 -84
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +22 -1
- package/src/styles/theme/literals.css +11 -2
- package/src/styles/theme/radius.css +6 -1
- package/src/styles/tokens/color-radius.css +40 -13
- package/src/styles/tokens/dark-arm.css +200 -20
- package/src/styles/tokens/glass-deep.css +75 -0
- package/src/styles/tokens/glass-fx.css +333 -0
- package/src/styles/tokens/glass.css +95 -315
- package/src/styles/tokens/light-dark.css +64 -22
- package/src/styles/tokens/offsets.css +116 -0
- package/src/styles/tokens/on-glass-fg.css +39 -0
- package/src/styles/tokens/property-regs.css +130 -10
- package/src/styles/tokens/scale-paper.css +155 -84
- package/src/styles/tokens/scheme-motion.css +102 -46
- package/src/styles/tokens/scroll-tokens.css +123 -0
- package/src/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
- package/src/styles/tokens.css +9 -3
- package/src/styles/transitions.css +7 -7
- package/src/styles/typography/scale.css +153 -0
- package/src/styles/typography/semantic.css +220 -0
- package/src/styles/typography/utilities.css +174 -0
- package/src/styles/typography.css +23 -507
- package/src/styles/utilities/a11y-overrides.css +33 -4
- package/src/styles/utilities/animate.css +27 -24
- package/src/styles/utilities/base-misc.css +255 -0
- package/src/styles/utilities/base.css +100 -138
- package/src/styles/utilities/btn.css +21 -202
- package/src/styles/utilities/metal.css +189 -0
- package/src/styles/utilities.css +14 -7
- package/src/styles/view-transition.css +4 -1
- package/dist/CardAction-Cj2eycQ2.js +0 -157
- package/dist/DialogContent-Dl9WkAoS.js +0 -100
- package/dist/Notification-DdwNxIrI.js +0 -100
- package/dist/NumberFieldContent-CqaN-SvN.js +0 -145
- package/dist/PopoverContent-BYwt2-4x.js +0 -121
- package/dist/TabsList-Dttss653.js +0 -105
- package/dist/Toaster-D6q4HtXu.js +0 -263
- package/dist/button-ChXMfsud.js +0 -81
- package/dist/check-njhk-vfu.js +0 -7
- package/dist/chevron-down-DKkxb4VV.js +0 -7
- package/dist/chevron-right-CPXbqQQz.js +0 -7
- package/dist/chevron-up-n_24SqI-.js +0 -7
- package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
- package/dist/components/custom/underline/index.d.ts +0 -2
- package/dist/components/custom/underline/types.d.ts +0 -56
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
- package/dist/createLucideIcon-DydS2qgk.js +0 -43
- package/dist/minimize-2-BV31Ob_h.js +0 -38
- package/dist/search-BSGrf2Sk.js +0 -12
- package/dist/sheet-1fChZjtw.js +0 -214
- package/dist/underline.d.ts +0 -1
- package/dist/underline.js +0 -85
- package/dist/useCanvas2D-ClrQuZtp.js +0 -96
- package/dist/useConfiguratorState-DAoeHVue.js +0 -287
- package/dist/useSpecularTracking-Bo5su68i.js +0 -32
- package/dist/useSpringMount-CI2jOstM.js +0 -108
- package/dist/vReveal-CqaCz_mC.js +0 -44
- package/dist/x-BUwTKe50.js +0 -10
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-68dEXIAl.js} +0 -0
- /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
- /package/dist/{Label-r3WzWrsj.js → Label-C2ejNWeC.js} +0 -0
- /package/dist/{ModalOverlay-DVLI2VRr.js → ModalOverlay-D1VrWyoi.js} +0 -0
- /package/dist/{PaperBackdrop-DIXTtVq6.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
- /package/dist/{SelectGroup-aumMgWLs.js → SelectGroup-DwwjicPY.js} +0 -0
- /package/dist/{SelectSeparator-BQ_1Fcbp.js → SelectSeparator-DXswVdRz.js} +0 -0
- /package/dist/{Separator-0JE6LtNu.js → Separator-pKF0oA4M.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
- /package/dist/{color-CUYeFbgd.js → color-DweYl7pE.js} +0 -0
- /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-BM46COQ-.js → createContext-CpBNTRMI.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Za0Rmgag.js} +0 -0
- /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
- /package/dist/{springPresets--YdWTHtm.js → springPresets-CFQGQfdl.js} +0 -0
- /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-iHludrxk.js → useInterval-CvK1mL92.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useLiquidFlex-BL0lLLN2.js → useLiquidFlex-mZPMiNXh.js} +0 -0
- /package/dist/{useResizeObserver-BhgdhOIj.js → useResizeObserver-Bpoi7tRE.js} +0 -0
- /package/dist/{useResolveTokenColor-Dvn2RZJW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
- /package/dist/{useScrollProgress-Dlvx-L3v.js → useScrollProgress-D7bYU2RK.js} +0 -0
- /package/dist/{useSortable-muI29agz.js → useSortable-DHjtZSEd.js} +0 -0
- /package/dist/{useTextHighlight-DmRYkOBx.js → useTextHighlight-CWEi25hf.js} +0 -0
- /package/dist/{useTimer-Dzarvzuk.js → useTimer-BHJOKr35.js} +0 -0
- /package/dist/{useUserInvalidAria-B2h6jAM_.js → useUserInvalidAria-y5namzeE.js} +0 -0
- /package/dist/{useViewportReady-B40FK4Pa.js → useViewportReady-anbac3m6.js} +0 -0
|
@@ -28,10 +28,13 @@
|
|
|
28
28
|
*/
|
|
29
29
|
@layer components {
|
|
30
30
|
:root {
|
|
31
|
-
/*
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
/* BA.W-DOCK-SECTIONS RE-SEMANTIC — the SYMMETRIC dual-side overrun length. The
|
|
32
|
+
seam line crosses THROUGH the dock and protrudes past BOTH edges by this
|
|
33
|
+
amount each side (the line's cross-extent = dock extent + 2× this knob,
|
|
34
|
+
centered on the seam). Was a one-way connector length pre-wave; now the
|
|
35
|
+
per-side overrun of the dual-side seam line. A proportioned default (a touch
|
|
36
|
+
more than a dock control); rides `--dock-scale` so it tracks the coarse-pointer
|
|
37
|
+
density thread the rest of the dock floor speaks. */
|
|
35
38
|
--dock-rail-extend-length: calc(2.5rem * var(--dock-scale, 1));
|
|
36
39
|
}
|
|
37
40
|
|
|
@@ -72,128 +75,198 @@
|
|
|
72
75
|
pointer-events: auto;
|
|
73
76
|
}
|
|
74
77
|
|
|
75
|
-
/*
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
78
|
+
/* BA.W-DOCK-SECTIONS — THE DIVIDER-SEAM RE-SEAT (the 4th-rail re-conception; the
|
|
79
|
+
midline/edge seat workaround #4 is DELETED, inv-6). The rail line co-locates with
|
|
80
|
+
a NAMED `<DockSeparator anchor>` seam: GlassDock measures that separator's offset
|
|
81
|
+
within the frame and writes `--dock-rail-seam-offset` (the cross-axis center of the
|
|
82
|
+
divider). The slot anchors AT the seam — NOT `50%` (the vertical midline workaround
|
|
83
|
+
the H1 band motivated), NOT the dock edge — and the line OVERRUNS BOTH dock edges
|
|
84
|
+
by `--dock-rail-extend-length` each side (a SYMMETRIC dual-side overrun, replacing
|
|
85
|
+
the one-way connector). The chips fan FLUSH alongside the line. Because the slot is
|
|
86
|
+
`position: absolute` on the non-clipping frame, the dock box stays INVIOLATE (it
|
|
87
|
+
feeds NO size into the dock's intrinsic box — proof:rail-extend box-equality holds).
|
|
88
|
+
|
|
89
|
+
FALLBACK: when no anchored separator is present `--dock-rail-seam-offset` is unset;
|
|
90
|
+
the `var(…, 50%)`-FREE fallback seats the line at the dock's near edge via the
|
|
91
|
+
extent default (never the midline seat). */
|
|
92
|
+
|
|
93
|
+
/* VERTICAL (column) dock — the rail is a HORIZONTAL line. It anchors on the BLOCK
|
|
94
|
+
axis at the ℱ-separator's Y (the seam offset) and overruns on the INLINE axis past
|
|
95
|
+
BOTH the leading and trailing edges: the slot starts `--dock-rail-extend-length`
|
|
96
|
+
LEFT of the dock and its inline extent is the dock width + 2× the overrun, so the
|
|
97
|
+
line protrudes symmetrically each side. The chips fan FLUSH in the trailing gutter
|
|
98
|
+
(translated past the dock's trailing edge). */
|
|
85
99
|
.glass-dock-frame[data-has-rail].vertical .dock-hairline-slot {
|
|
86
|
-
inset-
|
|
87
|
-
/* seat the carousel CENTERED beside the dock column. A top-anchored seat
|
|
88
|
-
collides with the page H1/breadcrumb band at scroll-top (any fixed offset
|
|
89
|
-
from the dock top lands in it at some viewport); the vertical center is
|
|
90
|
-
stable across viewport heights and reads as the carousel riding the dock's
|
|
91
|
-
midline, clear of the title band. */
|
|
92
|
-
inset-block-start: 50%;
|
|
100
|
+
inset-block-start: var(--dock-rail-seam-offset, 0px);
|
|
93
101
|
inset-block-end: auto;
|
|
102
|
+
inset-inline-start: calc(-1 * var(--dock-rail-extend-length));
|
|
103
|
+
inset-inline-end: auto;
|
|
104
|
+
/* the line's inline extent = dock width + 2× overrun (symmetric, centered). */
|
|
105
|
+
inline-size: calc(100% + 2 * var(--dock-rail-extend-length));
|
|
94
106
|
translate: 0 -50%;
|
|
95
107
|
flex-direction: row;
|
|
96
|
-
align-items:
|
|
108
|
+
align-items: center;
|
|
97
109
|
justify-content: flex-start;
|
|
98
110
|
}
|
|
111
|
+
/* HORIZONTAL (row) dock — the rail is a VERTICAL line. It anchors on the INLINE axis
|
|
112
|
+
at the nav-separator's X (the seam offset) and overruns on the BLOCK axis past BOTH
|
|
113
|
+
the top and bottom edges: the slot starts `--dock-rail-extend-length` ABOVE the
|
|
114
|
+
dock and its block extent is the dock height + 2× the overrun. The chips fan FLUSH
|
|
115
|
+
above the line (translated above the dock's top edge so they stay ON-SCREEN for a
|
|
116
|
+
viewport-bottom-anchored dock). */
|
|
99
117
|
.glass-dock-frame[data-has-rail]:not(.vertical) .dock-hairline-slot {
|
|
100
|
-
inset-
|
|
101
|
-
inset-inline-start: 0;
|
|
118
|
+
inset-inline-start: var(--dock-rail-seam-offset, 0px);
|
|
102
119
|
inset-inline-end: auto;
|
|
120
|
+
inset-block-start: calc(-1 * var(--dock-rail-extend-length));
|
|
121
|
+
inset-block-end: auto;
|
|
122
|
+
/* the line's block extent = dock height + 2× overrun (symmetric, centered). */
|
|
123
|
+
block-size: calc(100% + 2 * var(--dock-rail-extend-length));
|
|
124
|
+
translate: -50% 0;
|
|
103
125
|
flex-direction: column;
|
|
104
|
-
align-items:
|
|
105
|
-
justify-content: flex-
|
|
126
|
+
align-items: center;
|
|
127
|
+
justify-content: flex-start;
|
|
106
128
|
}
|
|
107
129
|
|
|
108
|
-
/*
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
carousel
|
|
113
|
-
|
|
130
|
+
/* BA.W-DOCK-SECTIONS — the seam wrapper. It FILLS the slot (which is already the
|
|
131
|
+
dock + 2× overrun, centered on the seam) and carries (a) the `::before` seam line
|
|
132
|
+
running the full extent and (b) the `.dock-hairline-strip` — the flush fan of
|
|
133
|
+
glass chips butted to the line (the macOS fan-out, rectilinear; NOT a 40px-adrift
|
|
134
|
+
carousel). The chips paint OUTSIDE the dock box (the slot is a `.glass-dock-frame`
|
|
135
|
+
sibling — R4 / box INVIOLATE). */
|
|
114
136
|
.dock-hairline-extend {
|
|
115
137
|
position: relative;
|
|
116
138
|
display: flex;
|
|
117
139
|
gap: 0;
|
|
140
|
+
inline-size: 100%;
|
|
141
|
+
block-size: 100%;
|
|
118
142
|
}
|
|
119
|
-
/* Vertical dock —
|
|
120
|
-
|
|
143
|
+
/* Vertical dock — the seam is a horizontal line at the slot's block center; the chip
|
|
144
|
+
ROW fans FLUSH just past the dock's trailing edge, butted to the line. */
|
|
121
145
|
.dock-hairline-extend.vertical {
|
|
122
146
|
flex-direction: row;
|
|
123
|
-
align-items:
|
|
147
|
+
align-items: center;
|
|
148
|
+
justify-content: flex-end;
|
|
124
149
|
}
|
|
125
|
-
/* Horizontal dock — the
|
|
126
|
-
|
|
127
|
-
nearest the dock's top edge — so a viewport-bottom-anchored dock keeps its
|
|
128
|
-
carousel ON-SCREEN above it). */
|
|
150
|
+
/* Horizontal dock — the seam is a vertical line at the slot's inline center; the chip
|
|
151
|
+
COLUMN/ROW fans FLUSH above the line (the viewport-bottom dock keeps it on-screen). */
|
|
129
152
|
.dock-hairline-extend.horizontal {
|
|
130
|
-
flex-direction: column
|
|
131
|
-
align-items:
|
|
153
|
+
flex-direction: column;
|
|
154
|
+
align-items: center;
|
|
155
|
+
justify-content: flex-start;
|
|
156
|
+
}
|
|
157
|
+
/* BA.W-DOCK-SECTIONS — the chips fan FLUSH at the DOCK's near edge, butted to the
|
|
158
|
+
seam line where it crosses the dock boundary (NOT at the slot's far overrun end,
|
|
159
|
+
which would re-float them adrift). The positioning rides the `<FadingScroll>`
|
|
160
|
+
WRAPPER (`.dock-hairline-fade`), NOT the strip itself — the strip stays the
|
|
161
|
+
in-flow scroll content of FadingScroll (an absolutely-positioned strip would
|
|
162
|
+
escape FadingScroll's flow → its scroll-port collapses to 0 + the mask hides the
|
|
163
|
+
chips). A vertical dock's fade rides the dock's TRAILING (inline-end) edge in its
|
|
164
|
+
gutter; a horizontal dock's fade rides the dock's TOP (block-start) edge. The seam
|
|
165
|
+
line still protrudes past BOTH edges (the `::before` spans the full slot); only the
|
|
166
|
+
CHIP fade butts the dock so it reads as a fan growing FROM the divider. */
|
|
167
|
+
.dock-hairline-fade {
|
|
168
|
+
max-inline-size: var(--dock-rail-strip-max, 60vw);
|
|
169
|
+
}
|
|
170
|
+
.dock-hairline-extend.vertical .dock-hairline-fade {
|
|
171
|
+
position: absolute;
|
|
172
|
+
inset-inline-start: calc(100% - var(--dock-rail-extend-length));
|
|
173
|
+
inset-block-start: 50%;
|
|
174
|
+
translate: 0 -50%;
|
|
175
|
+
}
|
|
176
|
+
.dock-hairline-extend.horizontal .dock-hairline-fade {
|
|
177
|
+
position: absolute;
|
|
178
|
+
inset-block-end: calc(100% - var(--dock-rail-extend-length));
|
|
179
|
+
inset-inline-start: 50%;
|
|
180
|
+
translate: -50% 0;
|
|
132
181
|
}
|
|
133
182
|
|
|
134
|
-
/* R3 — the VISIBLE
|
|
135
|
-
(catch-light + under-shadow) + a faint background
|
|
136
|
-
even over a busy backdrop
|
|
137
|
-
|
|
138
|
-
|
|
183
|
+
/* R3 — the VISIBLE seam line (no longer a one-way connector tether). R1 — the
|
|
184
|
+
`--border-hairline` token pair (catch-light + under-shadow) + a faint background
|
|
185
|
+
fallback so the whisper reads even over a busy backdrop. BA.W-DOCK-SECTIONS: the
|
|
186
|
+
line now RUNS THE FULL SLOT EXTENT (the slot is already dock + 2× overrun,
|
|
187
|
+
centered on the seam), so it crosses THROUGH the dock and protrudes past BOTH
|
|
188
|
+
edges — ONE continuous line, NOT a 40px tether to a detached carousel. The
|
|
189
|
+
`min-{inline,block}-size: var(--dock-rail-extend-length)` floor stays as the
|
|
190
|
+
proof:rail-extend / proof:rail3 R3 overrun witness (the line is always ≥ the
|
|
191
|
+
overrun length); the `100%` width/height makes it the full symmetric seam. The
|
|
192
|
+
tether `margin` is GONE — the chips fan FLUSH against the line (S3). */
|
|
139
193
|
.dock-hairline-extend::before {
|
|
140
194
|
content: "";
|
|
141
195
|
flex: 0 0 auto;
|
|
196
|
+
position: absolute;
|
|
142
197
|
box-shadow: var(--border-hairline);
|
|
143
198
|
background: var(--dock-layer-rail-divider, color-mix(in srgb, var(--border) 45%, transparent));
|
|
144
199
|
}
|
|
145
|
-
/* Vertical dock
|
|
146
|
-
|
|
200
|
+
/* Vertical dock — a HORIZONTAL line spanning the FULL slot inline extent (dock +
|
|
201
|
+
2× overrun), seated on the seam Y; the chips fan flush in the trailing gutter. */
|
|
147
202
|
.dock-hairline-extend.vertical::before {
|
|
148
203
|
block-size: 1px;
|
|
149
|
-
inline-size:
|
|
204
|
+
inline-size: 100%;
|
|
150
205
|
min-inline-size: var(--dock-rail-extend-length);
|
|
151
|
-
|
|
152
|
-
|
|
206
|
+
inset-block-start: 50%;
|
|
207
|
+
inset-inline-start: 0;
|
|
208
|
+
translate: 0 -50%;
|
|
153
209
|
}
|
|
154
|
-
/* Horizontal dock
|
|
155
|
-
|
|
210
|
+
/* Horizontal dock — a VERTICAL line spanning the FULL slot block extent (dock +
|
|
211
|
+
2× overrun), seated on the seam X; the chips fan flush above the line. */
|
|
156
212
|
.dock-hairline-extend.horizontal::before {
|
|
157
213
|
inline-size: 1px;
|
|
158
|
-
block-size:
|
|
214
|
+
block-size: 100%;
|
|
159
215
|
min-block-size: var(--dock-rail-extend-length);
|
|
160
|
-
|
|
161
|
-
|
|
216
|
+
inset-inline-start: 50%;
|
|
217
|
+
inset-block-start: 0;
|
|
218
|
+
translate: -50% 0;
|
|
162
219
|
}
|
|
163
220
|
|
|
164
|
-
/* `extent="inset"`
|
|
221
|
+
/* `extent="inset"` zeroes the overrun (the line stays flush within the dock edges —
|
|
222
|
+
the slot's `inline-size`/`block-size` collapse to the dock box, no protrusion). */
|
|
165
223
|
.dock-hairline-extend.extent-inset.vertical::before {
|
|
166
|
-
inline-size: 0;
|
|
167
224
|
min-inline-size: 0;
|
|
168
225
|
}
|
|
169
226
|
.dock-hairline-extend.extent-inset.horizontal::before {
|
|
170
|
-
block-size: 0;
|
|
171
227
|
min-block-size: 0;
|
|
172
228
|
}
|
|
229
|
+
.glass-dock-frame[data-has-rail].vertical .dock-hairline-slot:has(.extent-inset) {
|
|
230
|
+
inset-inline-start: 0;
|
|
231
|
+
inline-size: 100%;
|
|
232
|
+
}
|
|
233
|
+
.glass-dock-frame[data-has-rail]:not(.vertical) .dock-hairline-slot:has(.extent-inset) {
|
|
234
|
+
inset-block-start: 0;
|
|
235
|
+
block-size: 100%;
|
|
236
|
+
}
|
|
173
237
|
|
|
174
|
-
/*
|
|
175
|
-
|
|
176
|
-
`scroll-snap`
|
|
177
|
-
|
|
238
|
+
/* BA.W-DOCK-SECTIONS — the FLUSH chip fan. The chips butt the seam line (NO adrift
|
|
239
|
+
tether — the strip's positioning context is the seam wrapper, not a 40px offset).
|
|
240
|
+
The strip keeps `scroll-snap` (the carousel detent) + a single `overflow` axis as
|
|
241
|
+
the proof:rail3 R5 cyclable witness, but the PRIMARY scroll-fade port is the
|
|
242
|
+
`<FadingScroll>` wrapper DockRail composes (S5 — the bespoke overflow strip is the
|
|
243
|
+
inert inner fallback; FadingScroll owns the edge fade, no duplicate mask here). */
|
|
178
244
|
.dock-hairline-strip {
|
|
179
245
|
display: flex;
|
|
180
|
-
align-items:
|
|
246
|
+
align-items: center;
|
|
181
247
|
gap: var(--dock-rail-strip-gap, 0.375rem);
|
|
182
248
|
scrollbar-width: none;
|
|
183
249
|
padding: 0.125rem;
|
|
250
|
+
/* the collapse-retract origin: the chips translate/fade INTO the rail toward the
|
|
251
|
+
seam on collapse, leaving the stub protrusion. The rest state is full-out. */
|
|
252
|
+
transition:
|
|
253
|
+
opacity var(--duration-normal) var(--ease-standard),
|
|
254
|
+
translate var(--duration-normal) var(--dock-resize-spring, var(--ease-standard));
|
|
184
255
|
}
|
|
185
256
|
.dock-hairline-strip::-webkit-scrollbar {
|
|
186
257
|
display: none;
|
|
187
258
|
}
|
|
188
|
-
/* Vertical dock → a
|
|
259
|
+
/* Vertical dock → a ROW of chips beside the dock, flush to the horizontal seam;
|
|
260
|
+
scrolls on the inline axis when they exceed the budget. */
|
|
189
261
|
.dock-hairline-extend.vertical .dock-hairline-strip {
|
|
190
|
-
flex-direction:
|
|
191
|
-
max-
|
|
192
|
-
overflow-
|
|
193
|
-
overflow-
|
|
194
|
-
scroll-snap-type:
|
|
262
|
+
flex-direction: row;
|
|
263
|
+
max-inline-size: var(--dock-rail-strip-max, 60vw);
|
|
264
|
+
overflow-x: auto;
|
|
265
|
+
overflow-y: visible;
|
|
266
|
+
scroll-snap-type: x proximity;
|
|
195
267
|
}
|
|
196
|
-
/* Horizontal dock → a ROW
|
|
268
|
+
/* Horizontal dock → a ROW of chips above the dock, flush to the vertical seam;
|
|
269
|
+
scrolls on the inline axis when they exceed the budget. */
|
|
197
270
|
.dock-hairline-extend.horizontal .dock-hairline-strip {
|
|
198
271
|
flex-direction: row;
|
|
199
272
|
align-items: center;
|
|
@@ -206,6 +279,30 @@
|
|
|
206
279
|
scroll-snap-align: start;
|
|
207
280
|
}
|
|
208
281
|
|
|
282
|
+
/* BA.W-DOCK-SECTIONS — THE COLLAPSE-RETRACT (the macOS fan-out retraction; the brief
|
|
283
|
+
+ R8-6 fan-out half). When the dock collapses the chips fold back behind a slight
|
|
284
|
+
protruding stub at the dock edge: they translate along the seam axis INTO the rail
|
|
285
|
+
and fade, the seam line keeping a SLIGHT protrusion (the rail never detaches — it
|
|
286
|
+
retracts along the seam axis). The stub fraction is `--dock-rail-retract-stub`. */
|
|
287
|
+
.glass-dock.collapsed ~ .dock-hairline-slot .dock-hairline-strip,
|
|
288
|
+
.glass-dock-frame:has(.glass-dock.collapsed) .dock-hairline-strip {
|
|
289
|
+
opacity: 0;
|
|
290
|
+
translate: calc(var(--dock-rail-extend-length) * (1 - var(--dock-rail-retract-stub, 0.35)))
|
|
291
|
+
0;
|
|
292
|
+
}
|
|
293
|
+
.glass-dock.collapsed ~ .dock-hairline-slot .dock-hairline-extend.horizontal .dock-hairline-strip,
|
|
294
|
+
.glass-dock-frame:has(.glass-dock.collapsed) .dock-hairline-extend.horizontal .dock-hairline-strip {
|
|
295
|
+
translate: 0
|
|
296
|
+
calc(-1 * var(--dock-rail-extend-length) * (1 - var(--dock-rail-retract-stub, 0.35)));
|
|
297
|
+
}
|
|
298
|
+
/* PRM — snap to the retracted state, no travel (the retract must not animate under
|
|
299
|
+
reduced motion; only the discrete opacity/position endpoints apply). */
|
|
300
|
+
@media (prefers-reduced-motion: reduce) {
|
|
301
|
+
.dock-hairline-strip {
|
|
302
|
+
transition: none;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
209
306
|
/* Each chip — a detached FLOATING glass pill (R4-1's register, now a label-bearing
|
|
210
307
|
carousel chip, auto-width). It is chrome OUTSIDE the dock substrate, so it
|
|
211
308
|
carries its OWN glass plate (the floating-tier fill + edge-light rim + soft
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* BA.W-DOCK-SECTIONS — the <DockSection> tripartite grouping recipe + (in .2) the
|
|
2
|
+
* seam fan-out / retract chrome.
|
|
3
|
+
*
|
|
4
|
+
* THE THREE-ZONE GESTALT (R8-9 — "the docks COMPLETELY lack sections"). The
|
|
5
|
+
* <DockSection> chassis groups the dock's already-in-flow controls into a
|
|
6
|
+
* rail-core | divided sections | nav silhouette and demarcates the zones with the
|
|
7
|
+
* existing <DockSeparator> primitive — NO box-inflation (the section grouping is the
|
|
8
|
+
* controls already in the dock plus the divider seams; it does NOT re-mount a
|
|
9
|
+
* <DockLayerGroup> switcher rail, the W-RAIL3 inflator that demanded column height).
|
|
10
|
+
*
|
|
11
|
+
* The chassis is layout-transparent by default: `display: contents` so the zones flow
|
|
12
|
+
* exactly as the bare controls did (the dock box shrink-wraps as before — the
|
|
13
|
+
* box-INVIOLATE contract). The zone wrappers carry the kind marker the recipe reads;
|
|
14
|
+
* they add NO size of their own. On a vertical (column) dock the section runs as a
|
|
15
|
+
* column; on a horizontal (row) dock it runs as a row — inheriting the dock's own
|
|
16
|
+
* flex axis, never establishing a competing one.
|
|
17
|
+
*
|
|
18
|
+
* @import-ed by dock.css into the SAME `@layer components` as the other dock partials.
|
|
19
|
+
*/
|
|
20
|
+
@layer components {
|
|
21
|
+
/* The chassis root is layout-transparent — the zones inherit the dock's flex flow
|
|
22
|
+
(row or column) directly, so grouping into sections adds zero box. */
|
|
23
|
+
.dock-section {
|
|
24
|
+
display: contents;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* A grouped zone — a flex run of the consumer's controls along the dock's axis.
|
|
28
|
+
It owns NO intrinsic size beyond `max-content` (the controls' own size), so the
|
|
29
|
+
dock keeps shrink-wrapping to its tight pill (box INVIOLATE). The gap matches the
|
|
30
|
+
dock's inter-control rhythm. */
|
|
31
|
+
.dock-section-zone {
|
|
32
|
+
display: inline-flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
gap: var(--dock-section-zone-gap, var(--dock-gap, 0.25rem));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* On a vertical (column) dock the zones stack — the section runs down the rail. */
|
|
38
|
+
.glass-dock.vertical .dock-section-zone {
|
|
39
|
+
flex-direction: column;
|
|
40
|
+
align-items: stretch;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* The rail-core zone leads (the home/brand region); the nav zone trails. They are
|
|
44
|
+
the same flex run — the kind marker is for the recipe + a11y, not a layout fork.
|
|
45
|
+
The core (`data-kind="rail-core"`) zone gets a touch more breathing room from the
|
|
46
|
+
first section seam. The CSS token is `--core` (NOT `--rail-core`): the dock-band
|
|
47
|
+
"rail" noun is de-overloaded (AZ.W-DOCK-TAXONOMY); the data-attr carries the
|
|
48
|
+
spec's `rail-core` vocabulary, the class never says "rail". */
|
|
49
|
+
.dock-section-zone--core {
|
|
50
|
+
flex: 0 0 auto;
|
|
51
|
+
}
|
|
52
|
+
.dock-section-zone--nav {
|
|
53
|
+
flex: 0 0 auto;
|
|
54
|
+
}
|
|
55
|
+
.dock-section-zone--section {
|
|
56
|
+
flex: 0 1 auto;
|
|
57
|
+
min-inline-size: 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -80,7 +80,39 @@
|
|
|
80
80
|
backdrop-filter sample does not escape the dock box (the standard nested-
|
|
81
81
|
backdrop-cost mitigation; the Button-in-glass-in-dock stack re-samples the
|
|
82
82
|
already-blurred buffer at each level without it). */
|
|
83
|
-
contain:
|
|
83
|
+
/* BA.W-DOCK-GEOMETRY contain:paint AUDIT verdict (a) — the control-plate
|
|
84
|
+
clearance fix (the `--dock-control-safe-inset` painted-plate inset, scope
|
|
85
|
+
1) + the scroll-port cross-axis un-clip (scope 2) keep the maximal
|
|
86
|
+
hover/active control plate INSIDE the dock padding box: the inset plate is
|
|
87
|
+
centered in its cell (≥1px slack/side at hover), the cell sits flush at the
|
|
88
|
+
dock content edge, and the `--dock-padding-block` (≈6px) padding holds the
|
|
89
|
+
plate ≥7px clear of the `contain: paint` border-box edge on the block axis.
|
|
90
|
+
So the `paint` clip axis is the NON-proximate second clip box (the lane's
|
|
91
|
+
`probe-bottomdock-nocontain.png` forced-root probe proved the inner
|
|
92
|
+
scroll-port box was proximate, not this) and the `paint` axis is RETAINED
|
|
93
|
+
here — the inset + freed cross axis suffice, no containment LIFT on the
|
|
94
|
+
control-plate band. (BB.W-PERF-PRODUCER A′-4 widens the value to
|
|
95
|
+
`contain: layout style paint` — the restyle-scope axes ALONGSIDE the paint
|
|
96
|
+
clip box, see below — but never lifts `paint`.) The π readback
|
|
97
|
+
(W-DOCK-GEOMETRY-DELTA.md) records the live plate-inside-padding margin
|
|
98
|
+
number that binds this verdict. */
|
|
99
|
+
/* BB.W-PERF-PRODUCER A′-4 — the `--dock-morph-t` restyle-scope narrowing.
|
|
100
|
+
The per-frame morph scalar write recomputes the inheriting `calc()` group
|
|
101
|
+
across the dock subtree (dock.css's 10-selector `:where()` consumers); add
|
|
102
|
+
the `layout` + `style` containment axes so a scalar write recomputes
|
|
103
|
+
layout/style WITHIN the dock subtree, not up the document (the value.js A′-4
|
|
104
|
+
~13fps restyle-cost trace). RECONCILED with the existing axes: `paint`
|
|
105
|
+
(above, the BA.W-DOCK-GEOMETRY clip box) composes — `contain: layout style
|
|
106
|
+
paint` is the union, NEVER `size` (which `container-type: inline-size` carries
|
|
107
|
+
as `inline-size` ONLY on the OPT-IN `containerName` host below; the default
|
|
108
|
+
free-floating dock must stay shrink-to-fit, so `size`/`inline-size` is
|
|
109
|
+
DELIBERATELY excluded here — adding it would re-introduce the 3.3.0 sliver
|
|
110
|
+
regression the §99 comment documents). The morph-axis `overflow: clip`
|
|
111
|
+
(the reveal aperture) + the `.glass-dock-frame` rail-escape are UNAFFECTED:
|
|
112
|
+
`layout`/`style` containment scopes RECALC, it does not establish a paint
|
|
113
|
+
clip beyond the already-present `paint` axis. The `DOCK_SPRING` clock is
|
|
114
|
+
byte-fenced (the value.js letter) — this is restyle COST, not a re-tune. */
|
|
115
|
+
contain: layout style paint;
|
|
84
116
|
display: inline-flex;
|
|
85
117
|
align-items: center;
|
|
86
118
|
/* AW.W1 — the dock does NOT establish a default inline-size container.
|
|
@@ -184,17 +216,33 @@
|
|
|
184
216
|
scrolls — the scroll port only engages on real over-cap content. The
|
|
185
217
|
block-axis morph clip stays `data-morphing`-gated above; this is the
|
|
186
218
|
AT-REST port only. Consumers set `--dock-max-block-size` per-instance to
|
|
187
|
-
anchor the column to the viewport without re-deriving the scroll plumbing.
|
|
188
|
-
|
|
189
|
-
|
|
219
|
+
anchor the column to the viewport without re-deriving the scroll plumbing.
|
|
220
|
+
|
|
221
|
+
BA.W-DOCK-GEOMETRY (DC-1) — the port is now GATED behind the `dock-scroll-y`
|
|
222
|
+
opt-in (`overflow="scroll"`), NOT unconditional on every `.vertical.
|
|
223
|
+
always-expanded`. THE ROOT: `overflow-y: auto` is a scroll value, and CSS
|
|
224
|
+
Overflow §3 FORCES the sibling `overflow-x: visible` to COMPUTE to `auto` —
|
|
225
|
+
so the F6 pin never survived, and EVERY at-rest vertical dock (even a
|
|
226
|
+
fit-content shell that never scrolls) paid the cross-axis inline clip,
|
|
227
|
+
slicing a control's inset plate left/right (the live π readback measured
|
|
228
|
+
`overflow-x: auto` on the grow-to-fit SidebarDock). A vertical dock that
|
|
229
|
+
genuinely needs the cap+scroll opts IN via `overflow="scroll"` (the
|
|
230
|
+
`.dock-scroll-y` port in overflow.css, the SAME plumbing the F6 comment names);
|
|
231
|
+
a grow-to-fit vertical shell stays `overflow: visible` (line 186) on BOTH axes
|
|
232
|
+
so its inset control plate paints past the track. The fit-content shell pays
|
|
233
|
+
NO cross-axis clip for zero scroll benefit — the goal criterion's "the
|
|
234
|
+
scroll-port cross-axis clip no longer fires on a fit-content shell that never
|
|
235
|
+
scrolls", honored at the geometry root. */
|
|
236
|
+
.glass-dock.vertical.dock-scroll-y.always-expanded:not([data-morphing]),
|
|
237
|
+
.glass-dock.vertical.dock-scroll-y.expanded:not([data-morphing]) {
|
|
190
238
|
overflow-x: visible;
|
|
191
239
|
overflow-y: auto;
|
|
192
240
|
scrollbar-width: none;
|
|
193
241
|
overscroll-behavior-y: contain;
|
|
194
242
|
}
|
|
195
243
|
|
|
196
|
-
.glass-dock.vertical.always-expanded:not([data-morphing])::-webkit-scrollbar,
|
|
197
|
-
.glass-dock.vertical.expanded:not([data-morphing])::-webkit-scrollbar {
|
|
244
|
+
.glass-dock.vertical.dock-scroll-y.always-expanded:not([data-morphing])::-webkit-scrollbar,
|
|
245
|
+
.glass-dock.vertical.dock-scroll-y.expanded:not([data-morphing])::-webkit-scrollbar {
|
|
198
246
|
display: none;
|
|
199
247
|
}
|
|
200
248
|
|
|
@@ -244,16 +292,19 @@
|
|
|
244
292
|
shell above; the cross axis stays visible there. */
|
|
245
293
|
padding: var(--dock-padding-block, 0.375rem);
|
|
246
294
|
border-radius: var(--radius-dock);
|
|
247
|
-
/*
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
295
|
+
/* BB.W-DOCK-MORPH-FAMILY (f) — the stale "a vertical rail is ALWAYS-EXPANDED
|
|
296
|
+
(no collapse↔expand morph)" assumption is RETIRED (it was false since
|
|
297
|
+
vertical-collapse shipped: `alwaysExpanded` defaults FALSE, so a vertical
|
|
298
|
+
dock genuinely collapses its `block-size`). The vertical plate's
|
|
299
|
+
bg/border/padding/radius now MORPH on the SAME `--dock-expand-t` scalar
|
|
300
|
+
the horizontal chrome rides (the morph.css `.glass-dock.vertical` interp +
|
|
301
|
+
padding axis-inverse + the radius arm below) — the chrome follows the
|
|
302
|
+
box-size morph, no discrete snap. NO root CSS-transition on the morph-
|
|
303
|
+
chrome props is re-added (a `transition: padding/background/border-color`
|
|
304
|
+
arm is the second-clock smell the single-scalar rebuild forbids — the
|
|
305
|
+
`--dock-expand-t` interp is the single authority). KEPT: the DECORATIVE
|
|
306
|
+
hover-scale + press-squish (the individual `scale`/`transform`) and the
|
|
307
|
+
box-shadow fade — interaction polish on the rail, NOT the morph chrome. */
|
|
257
308
|
transition:
|
|
258
309
|
box-shadow var(--dock-motion-standard),
|
|
259
310
|
transform var(--dock-motion-resize),
|
|
@@ -289,6 +340,22 @@
|
|
|
289
340
|
border-radius: var(--radius-xl);
|
|
290
341
|
}
|
|
291
342
|
|
|
343
|
+
/* BB.W-DOCK-MORPH-FAMILY (f) — the VERTICAL big-dock CARD radius MORPHS on the
|
|
344
|
+
SAME `--dock-expand-t` scalar the horizontal `.shape-card` rides (the radius
|
|
345
|
+
arm of the vertical chrome un-gate; it lives in shell.css beside the horizontal
|
|
346
|
+
arm, not morph.css). `--radius-pill` at expand-t 0 (collapsed), the finite
|
|
347
|
+
`--dock-card-radius` at expand-t 1 (expanded) — the radius follows the box-size
|
|
348
|
+
block morph, no discrete snap. The static `.shape-pill`/`.shape-rounded` rest
|
|
349
|
+
radii above are the rest endpoints for those shapes; this is the card shape's
|
|
350
|
+
interpolated radius (mirroring the horizontal `:not(.vertical).shape-card`). */
|
|
351
|
+
.glass-dock.vertical.shape-card {
|
|
352
|
+
border-radius: calc(
|
|
353
|
+
var(--radius-pill) +
|
|
354
|
+
(var(--dock-card-radius) - var(--radius-pill)) *
|
|
355
|
+
var(--dock-expand-t, 1)
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
|
|
292
359
|
/* AW.W3b — horizontal-root shape rules. The `shape-*` class once bound ONLY under
|
|
293
360
|
the vertical surface; on a horizontal dock the prop silently no-op'd (the root
|
|
294
361
|
hardwired `--radius-dock` = `--radius-pill`). These rules close that
|
|
@@ -20,10 +20,20 @@
|
|
|
20
20
|
scale: 1;
|
|
21
21
|
width: var(--dock-control-size, var(--size-icon-btn));
|
|
22
22
|
height: var(--dock-control-size, var(--size-icon-btn));
|
|
23
|
-
|
|
23
|
+
/* BA.W-DOCK-GEOMETRY — the control-plate clearance inset (DC-2). The HIT
|
|
24
|
+
BOX stays the full `--dock-control-size` (the WCAG 2.5.5 touch floor on
|
|
25
|
+
the CELL), while the inset padding + `background-clip: content-box`
|
|
26
|
+
insets the PAINTED plate within it: the hover/active fill paints only the
|
|
27
|
+
content box (the cell minus the inset on every side), so the maximal
|
|
28
|
+
hover (×1.1) / active circle clears the cross-axis clip edge with ≥1px
|
|
29
|
+
margin — the lozenge dies at the plate diameter, not at the clip box. The
|
|
30
|
+
inset falls back to the prior `--dock-icon-padding` (0) when no dock
|
|
31
|
+
ancestor sets `--dock-control-safe-inset` (a standalone icon button). */
|
|
32
|
+
padding: var(--dock-icon-padding, var(--dock-control-safe-inset, 0));
|
|
24
33
|
cursor: pointer;
|
|
25
34
|
border: none;
|
|
26
35
|
background: transparent;
|
|
36
|
+
background-clip: content-box;
|
|
27
37
|
border-radius: var(--dock-control-radius, var(--radius-pill));
|
|
28
38
|
/* Foreground base routes through `--dock-fg-on-aurora` (defaults to
|
|
29
39
|
`--foreground`, byte-identical to before) so a consumer floating the
|