@mkbabb/glass-ui 5.0.0 → 6.0.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/README.md +30 -27
- package/dist/DropdownMenuTrigger-BzQtd9lt.js +65 -0
- package/dist/{FadingScroll-BSRLqQCx.js → FadingScroll-C1ZWEjmG.js} +32 -25
- package/dist/{Input-DKf-XwUM.js → Input-B4WQ_CMc.js} +1 -1
- package/dist/{PagerDots-BP6jh7z4.js → PagerDots-BoTQ7g5l.js} +123 -95
- package/dist/{accent-tone-solve-CBw3L0cy.js → accent-tone-solve-Dii9ePhK.js} +1 -1
- package/dist/animated-digit.js +1 -1
- package/dist/aurora.js +324 -314
- package/dist/blob-config.d.ts +0 -4
- package/dist/blob-config.js +1 -1
- package/dist/blob.js +280 -261
- package/dist/{button-BXzhydVB.js → button-32mg6xA8.js} +63 -56
- package/dist/button.js +1 -1
- package/dist/canvas.js +1 -1
- package/dist/{CardAction-2uUvjMQK.js → card-16xmzIr3.js} +29 -11
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -2
- package/dist/carousel.js +26 -95
- package/dist/chip.d.ts +0 -9
- package/dist/chip.js +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-swatch.js +1 -0
- package/dist/color.js +87 -3
- package/dist/{CommandShortcut-fmdbsEJL.js → command-BjPjUU9z.js} +56 -51
- package/dist/command.js +1 -1
- package/dist/completion-seal.js +64 -55
- package/dist/components/_shared/ModalOverlay.vue.d.ts +5 -52
- package/dist/components/_shared/field-surfaces.css +1 -0
- package/dist/components/_shared/menuItemVariants.d.ts +2 -2
- package/dist/components/_shared/useMotionAxis.d.ts +2 -2
- package/dist/components/_shared/valueDomain.d.ts +6 -0
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +1 -1
- package/dist/components/aurora/Aurora.vue.d.ts +7 -1
- package/dist/components/aurora/composables/runtime.d.ts +5 -3
- package/dist/components/aurora/composables/useAurora.d.ts +4 -2
- package/dist/components/avatar/AvatarImage.vue.d.ts +3 -1
- package/dist/components/badge/index.d.ts +2 -2
- package/dist/components/blob/Blob.vue.d.ts +11 -0
- package/dist/components/blob/composables/useMetaballRenderer.d.ts +2 -0
- package/dist/components/button/Button.vue.d.ts +4 -2
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/card/Card.vue.d.ts +4 -4
- package/dist/components/card/ScrollCard.vue.d.ts +1 -1
- package/dist/components/card/styles.css +1 -0
- package/dist/components/carousel/Carousel.vue.d.ts +2 -2
- package/dist/components/carousel/CarouselNext.vue.d.ts +1 -1
- package/dist/components/carousel/CarouselPrevious.vue.d.ts +1 -1
- package/dist/components/carousel/index.d.ts +0 -1
- package/dist/components/carousel/useCarousel.d.ts +2 -2
- package/dist/components/combobox/ComboboxList.vue.d.ts +1 -1
- package/dist/components/combobox/index.d.ts +1 -3
- package/dist/components/command/Command.vue.d.ts +1 -1
- package/dist/components/command/CommandDialog.vue.d.ts +9 -6
- package/dist/components/completion-seal/styles.css +1 -0
- package/dist/components/constellation/Constellation.vue.d.ts +6 -1
- package/dist/components/constellation/composables/useConstellation.d.ts +3 -16
- package/dist/components/constellation/constants.d.ts +6 -16
- package/dist/components/constellation/constellationField.d.ts +3 -5
- package/dist/components/constellation/constellationInteraction.d.ts +1 -1
- package/dist/components/constellation/constellationRender.d.ts +11 -21
- package/dist/components/constellation/constellationTypes.d.ts +12 -9
- package/dist/components/constellation/index.d.ts +1 -1
- package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -2
- package/dist/components/data-table/DataTable.vue.d.ts +14 -2
- package/dist/components/data-table/index.d.ts +1 -2
- package/dist/components/data-table/types.d.ts +26 -1
- package/dist/components/deck/constants.d.ts +0 -10
- package/dist/components/deck/index.d.ts +0 -1
- package/dist/components/dialog/DialogContent.vue.d.ts +7 -1
- package/dist/components/dialog/index.d.ts +0 -1
- package/dist/components/dock/DockControl.vue.d.ts +4 -4
- package/dist/components/dock/DockStack.vue.d.ts +2 -2
- package/dist/components/dock/GlassDock.vue.d.ts +1 -0
- package/dist/components/dock/composables/dockMorphContext.d.ts +2 -0
- package/dist/components/dock/composables/dockMorphMeasure.d.ts +11 -1
- package/dist/components/dock/composables/useDockClickIntegrity.d.ts +4 -0
- package/dist/components/dock/composables/useDockOverflowFit.d.ts +3 -3
- package/dist/components/dock/composables/useDockPopover.d.ts +2 -0
- package/dist/components/dock/composables/useDockShellProps.d.ts +7 -0
- package/dist/components/dock/composables/useDockState.d.ts +2 -2
- package/dist/components/dock/constants.d.ts +0 -12
- package/dist/components/dock/index.d.ts +1 -0
- package/dist/components/dock/styles/adaptive-legibility.css +1 -0
- package/dist/components/dock/styles/controls/icon-button.css +1 -0
- package/dist/{styles/dock-controls → components/dock/styles/controls}/touch-floor.css +1 -1
- package/dist/components/dock/styles/controls.css +1 -0
- package/dist/{styles/dock → components/dock/styles}/density.css +1 -1
- package/dist/components/dock/styles/dock.css +1 -0
- package/dist/components/dock/styles/index.css +1 -0
- package/dist/components/dock/styles/layer-group.css +1 -0
- package/dist/components/dock/styles/layers.css +1 -0
- package/dist/components/dock/styles/overflow.css +1 -0
- package/dist/components/dock/styles/popover.css +1 -0
- package/dist/components/dock/styles/shape.css +1 -0
- package/dist/components/dock/styles/shell.css +1 -0
- package/dist/components/drawer/Drawer.vue.d.ts +3 -3
- package/dist/components/drawer/composables/drawerSnapContext.d.ts +3 -1
- package/dist/components/drawer/constants.d.ts +6 -6
- package/dist/components/drawer/index.d.ts +4 -6
- package/dist/components/drawer/styles.css +1 -0
- package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +9 -3
- package/dist/components/dropdown-menu/index.d.ts +0 -1
- package/dist/components/easing/EasingConfigurator.vue.d.ts +1 -1
- package/dist/components/easing/EasingPicker.vue.d.ts +2 -2
- package/dist/components/easing/composables/useEasingPicker.d.ts +4 -0
- package/dist/components/easing/constants.d.ts +2 -0
- package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +3 -3
- package/dist/components/fourier-field/FourierField.vue.d.ts +7 -1
- package/dist/components/fourier-field/composables/useFourierField.d.ts +2 -1
- package/dist/components/handmark/HandMark.vue.d.ts +1 -1
- package/dist/components/handmark/geometry.d.ts +1 -1
- package/dist/components/handmark/index.d.ts +4 -6
- package/dist/components/icon-chip/styles.css +1 -0
- package/dist/components/index.d.ts +0 -1
- package/dist/components/infinite-scroll/index.d.ts +1 -0
- package/dist/components/instrument-chassis/styles.css +1 -0
- package/dist/components/labeled-field/LabeledField.vue.d.ts +12 -2
- package/dist/components/labeled-field/LabeledInput.vue.d.ts +10 -3
- package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +4 -0
- package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +2 -1
- package/dist/components/metric-stack/MetricStack.vue.d.ts +1 -1
- package/dist/components/pager-dots/PagerDots.vue.d.ts +1 -1
- package/dist/components/popover/PopoverContent.vue.d.ts +1 -1
- package/dist/components/progress/Progress.vue.d.ts +5 -40
- package/dist/components/progress/ProgressDefault.vue.d.ts +1 -17
- package/dist/components/progress/ProgressGradient.vue.d.ts +1 -0
- package/dist/components/progress/ProgressLiquid.vue.d.ts +1 -0
- package/dist/components/progress/index.d.ts +0 -5
- package/dist/components/progress/valueMarks.css +1 -0
- package/dist/components/pulse/Pulse.vue.d.ts +2 -2
- package/dist/components/scroll-progress-rim/styles.css +1 -0
- package/dist/components/search/FuzzySearch.vue.d.ts +4 -2
- package/dist/components/search/SearchBar.vue.d.ts +2 -2
- package/dist/components/search/searchVariants.d.ts +1 -1
- package/dist/components/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/select/index.d.ts +0 -2
- package/dist/components/skeleton/Skeleton.vue.d.ts +1 -1
- package/dist/components/slider/Slider.vue.d.ts +2 -0
- package/dist/components/split-chars/SplitChars.vue.d.ts +1 -1
- package/dist/components/surface/Surface.vue.d.ts +1 -1
- package/dist/components/table/Table.vue.d.ts +4 -0
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +10 -0
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/styles/drag.css +1 -0
- package/dist/components/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/timeline/ContinuousTimeline.vue.d.ts +1 -1
- package/dist/components/timeline/GlassTimeline.vue.d.ts +4 -4
- package/dist/components/toast/Toast.vue.d.ts +3 -3
- package/dist/components/toast/use-toast.d.ts +4 -4
- package/dist/components/typewriter/TypewriterText.vue.d.ts +1 -4
- package/dist/components/typewriter/composables/useTypewriter.d.ts +0 -1
- package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
- package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +2 -2
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +31 -0
- package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +3 -0
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +2 -0
- package/dist/composables/motion/springProjection.d.ts +16 -0
- package/dist/composables/motion/useAnimatedNumber.d.ts +1 -6
- package/dist/composables/motion/useCountup.d.ts +1 -6
- package/dist/composables/motion/useDockCtaReceive.d.ts +55 -0
- package/dist/composables/motion/useElementMorph.d.ts +8 -0
- package/dist/composables/motion/useLiquidPress.d.ts +12 -4
- package/dist/composables/motion/useNumericTransition.d.ts +2 -0
- package/dist/composables/motion/useTextHighlight.d.ts +2 -1
- package/dist/configurator-CSENXXSy.js +311 -0
- package/dist/configurator.js +2 -3
- package/dist/constellation.js +235 -571
- package/dist/controls.js +55 -63
- package/dist/{createCanvasLifecycle-DlrcvWbb.js → createCanvasLifecycle-hsFkQVdl.js} +32 -32
- package/dist/dark-DIH-blY1.js +70 -0
- package/dist/dark.d.ts +1 -2
- package/dist/dark.js +2 -20
- package/dist/{DataTable-Bxya8nBn.js → data-table-DveMdgBM.js} +231 -120
- package/dist/data-table.js +2 -2
- package/dist/deck.js +10 -21
- package/dist/dialog-BzQxKrUr.js +281 -0
- package/dist/dialog.js +2 -3
- package/dist/dock.js +561 -428
- package/dist/{dockContext-d-WpJN2Z.js → dockContext-4S9qP0Z4.js} +1 -1
- package/dist/dom.js +196 -7
- package/dist/drawer.js +111 -66
- package/dist/dropdown-menu-DORIA52F.js +378 -0
- package/dist/dropdown-menu.js +3 -2
- package/dist/easing.d.ts +0 -9
- package/dist/easing.js +334 -187
- package/dist/expandable-container.js +12 -4
- package/dist/fading-scroll.js +1 -1
- package/dist/focus-scope.js +1 -1
- package/dist/forms.js +37 -78
- package/dist/fourier-field.js +273 -263
- package/dist/fourier-math.d.ts +0 -6
- package/dist/fourier-math.js +112 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +131 -195
- package/dist/handmark.d.ts +0 -2
- package/dist/handmark.js +82 -82
- package/dist/header-ribbon.js +41 -30
- package/dist/{IconChip-CwLmBJ_K.js → icon-chip-BWuxz1-u.js} +1 -1
- package/dist/icon-chip.js +1 -1
- package/dist/{IconTooltip-D9sbK-Mk.js → icon-tooltip-CO6rw0dZ.js} +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/infinite-scroll.d.ts +0 -1
- package/dist/infinite-scroll.js +17 -15
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +104 -2
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +95 -69
- package/dist/liquid-grid.js +173 -162
- package/dist/metric-badge.js +3 -3
- package/dist/metric-cell.js +2 -2
- package/dist/metric-stack.js +1 -1
- package/dist/motion-core.js +15 -16
- package/dist/motion-curves.d.ts +0 -20
- package/dist/motion.js +59 -58
- package/dist/{Notification-DQv2cOh9.js → notification-DVs7ODMg.js} +17 -8
- package/dist/notification.js +1 -1
- package/dist/{NumberFieldContent-BkE7xPS9.js → number-field-PvkGedHk.js} +2 -2
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +1 -1
- package/dist/paper-backdrop.js +31 -2
- package/dist/{PopoverContent-DOtszFWK.js → popover-WMgyRSyN.js} +7 -2
- package/dist/popover.js +1 -1
- package/dist/procedural-color.wgsl-B9mLK7v0.js +377 -0
- package/dist/progress-C-HHuFZy.js +192 -0
- package/dist/progress.js +2 -2
- package/dist/pulse.js +3 -1
- package/dist/reactive.js +19 -3
- package/dist/rendererStatus-C2-zC2Q-.js +40 -0
- package/dist/{resolveCanvasColor-B3L-akX0.js → resolveCanvasColor-yarP5bdk.js} +1 -1
- package/dist/scroll-progress-rim.js +1 -1
- package/dist/search.js +187 -146
- package/dist/{SelectScrollDownButton-CDtwaWkZ.js → select-BIv4R3Ir.js} +109 -44
- package/dist/select.js +2 -4
- package/dist/separator-CBU94kTM.js +62 -0
- package/dist/separator.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/slider-Cc_qw6GA.js +166 -0
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +43 -43
- package/dist/styles/accessibility.css +1 -0
- package/dist/styles/components.css +1 -1
- package/dist/styles/glass/control-surfaces.css +1 -1
- package/dist/styles/glass/glass-capsule.css +1 -1
- package/dist/styles/glass/ladder.css +1 -1
- package/dist/styles/glass/liquid-fill.css +1 -1
- package/dist/styles/glass/material-roles.css +1 -0
- package/dist/styles/glass/material.css +1 -1
- package/dist/styles/glass/surface-axis.css +1 -1
- package/dist/styles/glass/surfaces-pager.css +1 -1
- package/dist/styles/glass/surfaces.css +1 -1
- package/dist/styles/glass.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/theme/bridges.css +1 -1
- package/dist/styles/tokens/glass-fx.css +1 -1
- package/dist/styles/tokens/glass.css +1 -1
- package/dist/styles/tokens/offsets.css +1 -1
- package/dist/styles/tokens/scale-paper.css +1 -1
- package/dist/styles/tokens/scheme-spring.css +1 -1
- package/dist/styles/tokens/shadow.css +1 -1
- package/dist/styles/tokens.d.ts +53 -0
- package/dist/styles/tokens.ts +58 -0
- package/dist/styles/typography/scale.css +1 -1
- package/dist/styles/typography/semantic.css +1 -1
- package/dist/styles/typography/utilities.css +1 -1
- package/dist/styles/utilities/base.css +1 -1
- package/dist/styles/utilities/btn.css +1 -1
- package/dist/styles/utilities/components.css +1 -1
- package/dist/styles/utilities.css +1 -1
- package/dist/{Switch-BPBfhMU3.js → switch-Boj4Ucn5.js} +1 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +51 -45
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/{ToggleGroupItem-DNWx2aSW.js → toggle-group-BPchFsns.js} +10 -7
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -53
- package/dist/tokens.js +1 -1
- package/dist/{TooltipProvider-GtfYdSVf.js → tooltip-BmOQJzh0.js} +1 -0
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +151 -166
- package/dist/{useAccentTone-D25DxviG.js → useAccentTone-C-p6WdPe.js} +1 -1
- package/dist/{useAnimatedNumber-2XC4aRB6.js → useAnimatedNumber-BRVVaFFc.js} +1 -1
- package/dist/useDockCtaReceive-CK-RLASa.js +257 -0
- package/dist/{useGooMorph-CU1pwuC6.js → useGooMorph-D1F6QJlH.js} +140 -59
- package/dist/{useIntersectionPause-Cmt5Tnv9.js → useIntersectionPause-B-dbxl9w.js} +1 -1
- package/dist/useLiquidPress-BYcwwGQV.js +68 -0
- package/dist/{useRAFLoop-CvOo_kgb.js → useRAFLoop-BtwQ9DyY.js} +1 -1
- package/dist/{useScrollProgress-C-yImzhU.js → useScrollProgress-DZI4nf4v.js} +1 -1
- package/dist/{useSelectionGroup-Btpf24aY.js → useSelectionGroup-LDzBdR1Y.js} +3 -3
- package/dist/{useTabRovingFocus-CG1H1k1J.js → useTabRovingFocus-DkLYwo4L.js} +1 -1
- package/dist/{useTouchGate-BlegwvwL.js → useTouchGate-Cj5fOkTv.js} +1 -1
- package/dist/valueDomain-B8L04u3U.js +13 -0
- package/dist/watercolor-dot.js +5 -3
- package/package.json +5 -12
- package/src/styles/accessibility.css +48 -0
- package/src/styles/glass/glass-capsule.css +2 -2
- package/src/styles/glass/ladder.css +1 -1
- package/src/styles/glass/material-roles.css +18 -0
- package/src/styles/glass/material.css +18 -12
- package/src/styles/glass.css +5 -5
- package/src/styles/index.css +38 -30
- package/src/styles/theme/bridges.css +0 -6
- package/src/styles/tokens/glass-fx.css +1 -5
- package/src/styles/tokens/glass.css +1 -2
- package/src/styles/tokens/offsets.css +0 -1
- package/src/styles/tokens/property-regs.css +11 -10
- package/src/styles/tokens/scale-paper.css +0 -1
- package/src/styles/tokens/scheme-motion.css +3 -0
- package/src/styles/tokens/scheme-spring.css +0 -10
- package/src/styles/tokens/shadow.css +3 -29
- package/src/styles/tokens.ts +58 -0
- package/src/styles/typography/scale.css +5 -2
- package/src/styles/typography/semantic.css +5 -5
- package/src/styles/typography/utilities.css +5 -5
- package/src/styles/utilities/base.css +5 -5
- package/src/styles/utilities/btn.css +6 -27
- package/src/styles/utilities.css +4 -6
- package/dist/ConfiguratorRow-BV6zPjTM.js +0 -151
- package/dist/DialogContent-Bl4v10AC.js +0 -192
- package/dist/DialogFooter-C0v4Hz2F.js +0 -168
- package/dist/PaperBackdrop-BYwE8_kg.js +0 -31
- package/dist/Progress-uWLyXE7J.js +0 -308
- package/dist/SelectGroup-BuEptUsa.js +0 -31
- package/dist/SelectSeparator-4QGephvr.js +0 -49
- package/dist/Separator-DqJ6PfOd.js +0 -44
- package/dist/color-Bp5jmv4Z.js +0 -86
- package/dist/components/carousel/GlassCarouselPager.vue.d.ts +0 -50
- package/dist/components/combobox/ComboboxSeparator.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxViewport.vue.d.ts +0 -18
- package/dist/components/constellation/composables/constellationGLSetup.d.ts +0 -10
- package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +0 -19
- package/dist/components/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
- package/dist/components/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
- package/dist/components/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
- package/dist/components/constellation/shaders/constellation-points.glsl.d.ts +0 -2
- package/dist/components/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
- package/dist/components/deck/composables/useDeckSpring.d.ts +0 -22
- package/dist/components/dialog/DialogScrollContent.vue.d.ts +0 -33
- package/dist/components/progress/ProgressSectioned.vue.d.ts +0 -47
- package/dist/components/progress/useProgressGeometry.d.ts +0 -60
- package/dist/components/section/Section.vue.d.ts +0 -73
- package/dist/components/section/index.d.ts +0 -1
- package/dist/components/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
- package/dist/components/stacked-icons/index.d.ts +0 -2
- package/dist/components/stacked-icons/types.d.ts +0 -19
- package/dist/dropdown-menu-DaGlVdp9.js +0 -421
- package/dist/math-CIEcwsYi.js +0 -112
- package/dist/procedural-color.wgsl-ByduxnzV.js +0 -4
- package/dist/slider-Cxuj_W_H.js +0 -151
- package/dist/stacked-icons.d.ts +0 -1
- package/dist/stacked-icons.js +0 -98
- package/dist/styles/cards.css +0 -1
- package/dist/styles/completion-seal.css +0 -1
- package/dist/styles/dock/adaptive-legibility.css +0 -1
- package/dist/styles/dock/dock.css +0 -1
- package/dist/styles/dock/layer-group.css +0 -1
- package/dist/styles/dock/layers.css +0 -1
- package/dist/styles/dock/overflow.css +0 -1
- package/dist/styles/dock/popover.css +0 -1
- package/dist/styles/dock/shape.css +0 -1
- package/dist/styles/dock/shell.css +0 -1
- package/dist/styles/dock-controls/icon-button.css +0 -1
- package/dist/styles/dock-controls.css +0 -1
- package/dist/styles/dock.css +0 -1
- package/dist/styles/drawer.css +0 -1
- package/dist/styles/icon-chip.css +0 -1
- package/dist/styles/instrument-chassis.css +0 -1
- package/dist/styles/scroll-progress-rim.css +0 -1
- package/dist/styles/select.css +0 -1
- package/dist/styles/tabs/segmented-tabs-drag.css +0 -1
- package/dist/styles/utilities/animate.css +0 -0
- package/dist/useConfiguratorState-Dq35N_7t.js +0 -167
- package/dist/useDockCtaReceive-BgMmeINo.js +0 -161
- package/dist/useGlobalDark-DjKMEQE2.js +0 -53
- package/dist/useGpuSubstrate-DcY584kE.js +0 -347
- package/dist/useInterval-ZATRi-1T.js +0 -18
- package/dist/useKeyboardShortcuts-ynVmNFo3.js +0 -104
- package/dist/useLiquidPress-BXNHydZh.js +0 -40
- package/dist/useTextHighlight-C46Le9u_.js +0 -72
- package/dist/useViewportReady-c0isoKL8.js +0 -191
- package/src/styles/card-scroll.css +0 -189
- package/src/styles/cards.css +0 -485
- package/src/styles/completion-seal.css +0 -205
- package/src/styles/configurator.css +0 -359
- package/src/styles/dialog-placement.css +0 -68
- package/src/styles/dock/adaptive-legibility.css +0 -119
- package/src/styles/dock/crossfade.css +0 -139
- package/src/styles/dock/cta-seat.css +0 -87
- package/src/styles/dock/density.css +0 -458
- package/src/styles/dock/dock.css +0 -199
- package/src/styles/dock/fisheye.css +0 -81
- package/src/styles/dock/layer-group.css +0 -329
- package/src/styles/dock/layers.css +0 -438
- package/src/styles/dock/morph.css +0 -455
- package/src/styles/dock/overflow.css +0 -332
- package/src/styles/dock/popover.css +0 -249
- package/src/styles/dock/search.css +0 -68
- package/src/styles/dock/section.css +0 -59
- package/src/styles/dock/shape.css +0 -188
- package/src/styles/dock/shell-regions.css +0 -73
- package/src/styles/dock/shell.css +0 -500
- package/src/styles/dock-controls/dark-mode-toggle.css +0 -123
- package/src/styles/dock-controls/icon-button.css +0 -221
- package/src/styles/dock-controls/tab-button.css +0 -143
- package/src/styles/dock-controls/touch-floor.css +0 -119
- package/src/styles/dock-controls/triggers.css +0 -157
- package/src/styles/dock-controls.css +0 -92
- package/src/styles/dock.css +0 -219
- package/src/styles/drawer.css +0 -434
- package/src/styles/feedback-tone.css +0 -104
- package/src/styles/icon-chip.css +0 -256
- package/src/styles/instrument-chassis.css +0 -449
- package/src/styles/menu.css +0 -187
- package/src/styles/scroll-progress-rim.css +0 -87
- package/src/styles/segmented-tabs.css +0 -424
- package/src/styles/select.css +0 -201
- package/src/styles/tabs/segmented-tabs-drag.css +0 -200
- package/src/styles/utilities/animate.css +0 -29
- /package/dist/{coalesce-metric-B8o7zT9u.js → coalesce-metric-znAcLzkB.js} +0 -0
- /package/dist/{CollapsibleContent-DiHcB_HH.js → collapsible-bPzS1aQk.js} +0 -0
- /package/dist/{compile-C55K3P9g.js → compile-DK3Fri1B.js} +0 -0
- /package/dist/{styles → components/_shared}/feedback-tone.css +0 -0
- /package/dist/{styles → components/_shared}/menu.css +0 -0
- /package/dist/{styles → components/card}/card-scroll.css +0 -0
- /package/dist/{styles/configurator.css → components/configurator/styles.css} +0 -0
- /package/dist/{styles/dock-controls → components/controls}/dark-mode-toggle.css +0 -0
- /package/dist/{styles/dialog-placement.css → components/dialog/placement.css} +0 -0
- /package/dist/{styles/dock-controls → components/dock/styles/controls}/tab-button.css +0 -0
- /package/dist/{styles/dock-controls → components/dock/styles/controls}/triggers.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/crossfade.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/cta-seat.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/fisheye.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/morph.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/search.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/section.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/shell-regions.css +0 -0
- /package/dist/{styles/segmented-tabs.css → components/tabs/styles/segmented.css} +0 -0
- /package/dist/{constants-D8lSMkOz.js → constants-DRZmNIY-.js} +0 -0
- /package/dist/{createContext-BQ1Gy_LB.js → createContext-FU0n5MGK.js} +0 -0
- /package/dist/{flow.glsl-CVqPSj8_.js → flow.glsl-DEGFGE11.js} +0 -0
- /package/dist/{FocusScope-BzKwhsBn.js → focus-scope-DUTKveod.js} +0 -0
- /package/dist/{InstrumentChassis-Dss5Tjcm.js → instrument-chassis-Cvstg4_U.js} +0 -0
- /package/dist/{Label-C84TaQiw.js → label-Cj38tJKG.js} +0 -0
- /package/dist/{menuItemVariants-DbO-Fr74.js → menuItemVariants-D6AOzzND.js} +0 -0
- /package/dist/{pointerFieldMappings-4VtmkOWv.js → pointerFieldMappings-CZojkgKj.js} +0 -0
- /package/dist/{presets-B07HzyKd.js → presets-CxeNvxuO.js} +0 -0
- /package/dist/{prng-B0PLRmR6.js → prng-Dz2_9RJu.js} +0 -0
- /package/dist/{scrollReader-DzYqPQ6V.js → scrollReader-C2oK9Hb8.js} +0 -0
- /package/dist/{supportsCssTimeline-Ie4xJFbD.js → supportsCssTimeline-Dz-GVxXM.js} +0 -0
- /package/dist/{Toaster-C_-WeU9W.js → toast-kAbchIN2.js} +0 -0
- /package/dist/{useControlSize-DJwe-7ZQ.js → useControlSize-CFfOk8I-.js} +0 -0
- /package/dist/{useDocumentVisibility-CpJGUgcJ.js → useDocumentVisibility-YeBDGqtI.js} +0 -0
- /package/dist/{useDragMorph-65ihHePq.js → useDragMorph-7ygF9O0m.js} +0 -0
- /package/dist/{useDragVelocity-BWcNMCux.js → useDragVelocity-CbMZEBaC.js} +0 -0
- /package/dist/{useFuzzySearch-KslRxiJY.js → useFuzzySearch-BOgep7RE.js} +0 -0
- /package/dist/{useLeadTrail-DOH4XkL1.js → useLeadTrail-BYu8dq4G.js} +0 -0
- /package/dist/{usePointerVelocityField-CwXyeW0Z.js → usePointerVelocityField-BdvnO0py.js} +0 -0
- /package/dist/{useResizeObserver-DDuoBeBo.js → useResizeObserver-BcUTquV7.js} +0 -0
- /package/dist/{useResolveTokenColor-DVT5kwv6.js → useResolveTokenColor-C07e-qaT.js} +0 -0
- /package/dist/{useRoutePointer-DL7I0gY4.js → useRoutePointer-BDNMFN73.js} +0 -0
- /package/dist/{useSpringMount-CNvvgGiC.js → useSpringMount-C6-DBx4e.js} +0 -0
- /package/dist/{useTimer-CkDV8SC2.js → useTimer-D8koDvJS.js} +0 -0
- /package/dist/{useUserInvalidAria-Bkruei7M.js → useUserInvalidAria-Cr4nR3tu.js} +0 -0
- /package/dist/{vReveal-DUmiEkX_.js → vReveal-DZfWl9XI.js} +0 -0
- /package/dist/{vSpecular-DlYN0UZy.js → vSpecular-CQFmLNzA.js} +0 -0
- /package/dist/{writeVelocityWeight-D1rvdxJu.js → writeVelocityWeight-D_AcvTsE.js} +0 -0
|
@@ -1,455 +0,0 @@
|
|
|
1
|
-
/* dock/morph.css — the SINGLE-SCALAR morph chrome + state response (AX.W06 carve).
|
|
2
|
-
*
|
|
3
|
-
* Carved from the dock.css god-module (slice 25). This partial owns the dock's
|
|
4
|
-
* DYNAMIC chrome: the W01 `--dock-expand-t` directional expanded-ness derivation,
|
|
5
|
-
* the root background/border/padding interpolation on the ONE `--dock-morph-t`
|
|
6
|
-
* clock, the collapsed/summary state (the W45-TUNE Q1 proportioned pill + the
|
|
7
|
-
* summary glyph reveal), the held / open-descendant surface response, and the
|
|
8
|
-
* W55 adaptive-legibility `--glass-backdrop: light` bucket. The static structural
|
|
9
|
-
* surface (root, clip, variants, persistent) lives in dock/shell.css.
|
|
10
|
-
*
|
|
11
|
-
* @import-ed by dock.css in cascade order, in the SAME `@layer components` — the
|
|
12
|
-
* carve is isomorphic (same layer, same source order → ZERO visual delta). */
|
|
13
|
-
|
|
14
|
-
@layer components {
|
|
15
|
-
/* AX.W01 — the root chrome morphs off the SINGLE `--dock-morph-t` scalar, NOT a
|
|
16
|
-
CSS transition (the prior `padding/scale/radius var(--dock-motion-resize)` +
|
|
17
|
-
`background/border-color var(--dock-motion-standard)` transition list — TWO
|
|
18
|
-
curves on TWO durations — is DELETED). `--dock-expand-t` is the directional
|
|
19
|
-
expanded-ness (0 = collapsed look, 1 = expanded look) derived from the
|
|
20
|
-
per-swap morph scalar + the synchronously-set `.expanded`/`.collapsed` class:
|
|
21
|
-
the box width AND the root padding/radius/color move on ONE clock. The
|
|
22
|
-
per-frame writes drive the registered `<number>` scalar; the `calc()` reads
|
|
23
|
-
below interpolate composited. Under PRM the spring's `respectReducedMotion`
|
|
24
|
-
settles instantly (the scalar jumps 0→1 in one frame → the chrome snaps). */
|
|
25
|
-
|
|
26
|
-
/* `--dock-expand-t` — the directional expanded-ness. `--dock-morph-t` is a
|
|
27
|
-
REGISTERED `@property` (initial-value 0), so it is NEVER guaranteed-invalid:
|
|
28
|
-
`var(--dock-morph-t, 1)` reads 0 at REST (the fallback is DEAD), which would
|
|
29
|
-
resolve every expanded dock to expand-t 0 → the collapsed resting look (the
|
|
30
|
-
pill-radius + collapsed bg/border/padding regression). So the resting value is
|
|
31
|
-
stated STATICALLY per class, and ONLY while a morph is in flight
|
|
32
|
-
(`[data-morphing]` armed on the root by useLayerTransition, cleared on settle)
|
|
33
|
-
does expand-t track the live spring scalar. The class is ALREADY the END state
|
|
34
|
-
during the morph, so the read resolves the correct in-flight blend (collapse
|
|
35
|
-
1→0 via `1 - t`; expand 0→1 via `t`); on settle `[data-morphing]` clears and
|
|
36
|
-
expand-t snaps to the exact class endpoint. */
|
|
37
|
-
/* BB.W-DOCK-MORPH-FAMILY (f) — the `--dock-expand-t` directional derivation is
|
|
38
|
-
ORIENTATION-AGNOSTIC. The derivation reads the per-swap morph scalar + the
|
|
39
|
-
synchronously-set `.expanded`/`.collapsed` class — there is NO axis in this
|
|
40
|
-
blend (a `t`-vs-`1-t` directional read), so the `:not(.vertical)` qualifier is
|
|
41
|
-
DROPPED here. A collapsing VERTICAL dock now derives the same in-flight
|
|
42
|
-
expand-t (the box-size arm `layers.css` already morphs `block-size` on
|
|
43
|
-
`--dock-morph-t`; this gives the chrome the matching directional scalar). The
|
|
44
|
-
earlier "a vertical rail is ALWAYS-EXPANDED" assumption is retired since
|
|
45
|
-
vertical-collapse shipped — `alwaysExpanded` defaults false (GlassDock.vue),
|
|
46
|
-
so a genuinely-collapsing vertical dock gets its chrome on the ONE clock. */
|
|
47
|
-
.glass-dock.expanded,
|
|
48
|
-
.glass-dock.always-expanded {
|
|
49
|
-
--dock-expand-t: 1;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.glass-dock.collapsed {
|
|
53
|
-
--dock-expand-t: 0;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/* BG.W-DOCK-PANE-OVERLAP (F3.R2, box axis) — the `[data-morphing]` derivation arms
|
|
57
|
-
are gated `:not([data-pane-swap])`. During a NESTED `<DockLayerGroup>` pane swap the
|
|
58
|
-
orchestrator arms `[data-pane-swap]` (dockMorphContext.ensureSpringRunning), so these
|
|
59
|
-
arms DO NOT match and `--dock-expand-t` falls back to the static class endpoint above
|
|
60
|
-
(`.expanded` → 1). The plate box (`--dock-live`, layers.css) + the root chrome
|
|
61
|
-
(bg/border/padding/blur, below) therefore HOLD at the expanded look while
|
|
62
|
-
`--dock-morph-t` still glides 0→1 for the overlapped crossfade + the inner stagger
|
|
63
|
-
(both read `--dock-morph-t` directly, unaffected by this pin). A pane swap on an
|
|
64
|
-
already-expanded nested dock no longer collapses the plate to the 53.68px pill (the
|
|
65
|
-
§2.2 box-dips-below-both-endpoints defect). The OUTER collapse↔expand pair carries no
|
|
66
|
-
`[data-pane-swap]`, so its box morph is byte-identical to HEAD. The inner
|
|
67
|
-
`.dock-layer-stack`/`.dock-layer--summary` `--dock-expand-t` writes are DESCENDANT
|
|
68
|
-
overrides (still `[data-morphing]`-gated, unscoped) so the stagger/summary reveal is
|
|
69
|
-
untouched. */
|
|
70
|
-
.glass-dock.expanded[data-morphing]:not([data-pane-swap]),
|
|
71
|
-
.glass-dock.always-expanded[data-morphing]:not([data-pane-swap]) {
|
|
72
|
-
--dock-expand-t: var(--dock-morph-t);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.glass-dock.collapsed[data-morphing]:not([data-pane-swap]) {
|
|
76
|
-
--dock-expand-t: calc(1 - var(--dock-morph-t));
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* BC.W-DOCK-SHRINK-BLUR — the BB.W-LIQUID-REVEAL bloom-from-source decongest is a
|
|
80
|
-
TRANSIENT, not a resting state. HEAD keyed the bare `.glass-dock` self-blur off
|
|
81
|
-
`--dock-expand-t`, which AT REST resolves to the class endpoint → a PERMANENT 3px
|
|
82
|
-
self-blur on the resting collapsed dock, STACKED on the 9px backdrop (the "blurry
|
|
83
|
-
mess when shrunken", glass-dock-codebase §2.4). The FIX gates the self-blur (a
|
|
84
|
-
SURFACE `filter` arm on the dock's own pixels — NOT `backdrop-filter`, so the glass
|
|
85
|
-
plate blur is never clobbered; compositor-safe) to `[data-morphing]`: at REST the
|
|
86
|
-
dock is CRISP; ONLY mid-morph does the 3px bloom settle to 0 as the pill
|
|
87
|
-
materializes (the iOS-27 bloom, gesture-only). The backdrop blur (the glass
|
|
88
|
-
material) is UNTOUCHED. PRM zeroes it (the carve below). Clean break, no alias. */
|
|
89
|
-
.glass-dock {
|
|
90
|
-
--dock-reveal-blur: 0px; /* resting: CRISP — no own-pixel self-blur */
|
|
91
|
-
}
|
|
92
|
-
.glass-dock[data-morphing] {
|
|
93
|
-
/* BD.W-DOCK-CORE (A4) — the blur DIAL-BACK. The peak drops 3px → 1.25px AND the
|
|
94
|
-
decay is FRONT-LOADED: the `clamp(0, (0.5 - expand-t)/0.5, 1)` ramp drives the
|
|
95
|
-
blur 1.25px → 0 as expand-t crosses 0 → 0.5, then HOLDS 0 for the back half — a
|
|
96
|
-
brief decongest FLASH, crisp by the morph's midpoint (the icons never read soft
|
|
97
|
-
through the slow grow). The resting self-blur stays 0px (above, untouched). The
|
|
98
|
-
9px BACKDROP blur (the material) is untouched — only the OWN-pixel self-blur is
|
|
99
|
-
dialed. PRM → 0 (the carve below). */
|
|
100
|
-
--dock-reveal-blur: 1.25px; /* the transient decongest bloom — mid-morph only */
|
|
101
|
-
filter: blur(
|
|
102
|
-
calc(
|
|
103
|
-
var(--dock-reveal-blur) *
|
|
104
|
-
clamp(0, calc((0.5 - var(--dock-expand-t)) / 0.5), 1)
|
|
105
|
-
)
|
|
106
|
-
);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/* The morphing root chrome — background / border-color interpolate between the
|
|
110
|
-
collapsed and expanded endpoints on the ONE `--dock-expand-t` scalar. Scoped
|
|
111
|
-
to the horizontal dock (`:not(.vertical)`) — the inline-axis aperture morph;
|
|
112
|
-
a vertical dock collapses its BLOCK axis (the summary/full FLIP from the
|
|
113
|
-
orchestrator) and reads its own surface plate (shell.css `.glass-dock.vertical`).
|
|
114
|
-
The two color axes blend in srgb (the house mix the token ladder speaks). The
|
|
115
|
-
`.collapsed` discrete bg/border declarations are RETIRED — this block is the
|
|
116
|
-
single authority, and at rest `--dock-expand-t` resolves to the class endpoint
|
|
117
|
-
(0 collapsed / 1 expanded) so the resting look is exact.
|
|
118
|
-
AZ.W-DOCK-TAXONOMY — the `variant-dock` class is gone; `.glass-dock:not(.vertical)`
|
|
119
|
-
IS the horizontal dock now (no second-way to express orientation). */
|
|
120
|
-
/* BI.W-DOCK-SPINE — the collapsed↔expanded SURFACE interp retargeted onto the L0
|
|
121
|
-
`.dock-plate` (the box is structural; the plate is the glass). The interp still
|
|
122
|
-
reads the SAME `--dock-expand-t` scalar + the inheriting `--glass-tint-*` tokens;
|
|
123
|
-
only the paint target moves to the plate so the box carries no competing bg. */
|
|
124
|
-
.glass-dock:not(.vertical) .dock-plate {
|
|
125
|
-
/* AY.W-A11Y-PERF O-1 / AZ.W-ADAPTIVE-AUTO Arm 1 — BOTH morph endpoints compose
|
|
126
|
-
the W55 oklab adaptive tint so the self-engage darken (the unconditional
|
|
127
|
-
`:where(.glass-dock)` rule in the sibling adaptive-legibility.css partial
|
|
128
|
-
re-points the element-level
|
|
129
|
-
`--glass-tint-source`/`--glass-tint-strength`) reaches the LIVE
|
|
130
|
-
horizontal dock surface in BOTH the expanded AND the COLLAPSED look (this
|
|
131
|
-
0,3,0 morph interp OVERRIDES the 0,1,0 shell.css bg, so the tint must be
|
|
132
|
-
applied HERE — and the COLLAPSED endpoint `--glass-bg-wash` must carry it too,
|
|
133
|
-
else a collapsed dock over light paints the un-darkened wash and the plate
|
|
134
|
-
vanishes — the C5-2 ΔL≈0.01 collapse, re-surfaced on the collapsed endpoint).
|
|
135
|
-
The srgb transition mix between the two TINTED endpoints is preserved (the
|
|
136
|
-
in-flight morph frames are sub-perceptual); at the `0%` rest default both
|
|
137
|
-
inner oklab mixes are no-ops so this is byte-identical to today. */
|
|
138
|
-
background: color-mix(
|
|
139
|
-
in srgb,
|
|
140
|
-
color-mix(
|
|
141
|
-
in oklab,
|
|
142
|
-
var(--glass-bg-dock, var(--glass-bg-resting)),
|
|
143
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
144
|
-
)
|
|
145
|
-
calc(var(--dock-expand-t) * 100%),
|
|
146
|
-
color-mix(
|
|
147
|
-
in oklab,
|
|
148
|
-
var(--glass-bg-wash),
|
|
149
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
150
|
-
)
|
|
151
|
-
);
|
|
152
|
-
border-color: color-mix(
|
|
153
|
-
in srgb,
|
|
154
|
-
var(--glass-border-dock, var(--glass-border-resting))
|
|
155
|
-
calc(var(--dock-expand-t) * 100%),
|
|
156
|
-
var(--glass-border-floating)
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/* BB.W-DOCK-MORPH-FAMILY (f) — the VERTICAL chrome-interp un-gate (BB-1). The
|
|
161
|
-
bg/border interp is AXIS-INVARIANT (a color mix reads the scalar with no
|
|
162
|
-
axis), so the vertical dock interpolates its plate between the SAME
|
|
163
|
-
collapsed↔expanded endpoints on the SAME `--dock-expand-t` scalar the
|
|
164
|
-
horizontal block reads — the ONE `DOCK_SPRING` clock, no second clock, no
|
|
165
|
-
re-added CSS transition. This PARALLEL `.vertical` block (specificity 0,2,0,
|
|
166
|
-
source-order AFTER the shell.css static `.glass-dock.vertical` plate so it
|
|
167
|
-
wins at equal specificity) is the inverse-axis twin of the horizontal block
|
|
168
|
-
above — the box-size morph already rides `block-size` on `layers.css`'s
|
|
169
|
-
`--dock-morph-t`; this gives the plate chrome the matching directional blend
|
|
170
|
-
so the vertical collapse↔expand no longer SNAPS its bg/border discretely. At
|
|
171
|
-
the rest endpoints `--dock-expand-t` resolves to the class value (0 collapsed
|
|
172
|
-
/ 1 expanded), so the resting look is exact — byte-equivalent to the shell.css
|
|
173
|
-
static plate it supersedes during the morph. */
|
|
174
|
-
/* BI.W-DOCK-SPINE — the VERTICAL surface interp retargeted onto `.dock-plate`
|
|
175
|
-
(0,3,0 — wins over shell.css's static `.glass-dock.vertical .dock-plate` during the
|
|
176
|
-
morph). */
|
|
177
|
-
.glass-dock.vertical .dock-plate {
|
|
178
|
-
background: color-mix(
|
|
179
|
-
in srgb,
|
|
180
|
-
color-mix(
|
|
181
|
-
in oklab,
|
|
182
|
-
var(--glass-bg-dock, var(--glass-bg-wash)),
|
|
183
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
184
|
-
)
|
|
185
|
-
calc(var(--dock-expand-t) * 100%),
|
|
186
|
-
color-mix(
|
|
187
|
-
in oklab,
|
|
188
|
-
var(--glass-bg-wash),
|
|
189
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
190
|
-
)
|
|
191
|
-
);
|
|
192
|
-
border-color: color-mix(
|
|
193
|
-
in srgb,
|
|
194
|
-
var(--glass-border-dock, var(--glass-border-wash))
|
|
195
|
-
calc(var(--dock-expand-t) * 100%),
|
|
196
|
-
var(--glass-border-floating)
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/* The padding morph is split out + scoped `:not(.dock-overflow-wrap)` so the
|
|
201
|
-
wrap variant's own padding rules (W04 territory — `.dock-overflow-wrap` +
|
|
202
|
-
its `@media` snap-back) are NOT clobbered by this higher-specificity longhand.
|
|
203
|
-
|
|
204
|
-
AY.W-DOCK-CHROME §1 — the LAYOUT-ISOLATION fix: the collapse↔expand morph is
|
|
205
|
-
an INLINE-WIDTH aperture by contract ("horizontal docks animate width"), so
|
|
206
|
-
the BLOCK axis MUST be invariant across the morph — otherwise the dock's
|
|
207
|
-
outer height shrinks ~4px on collapse (the collapsed-pad 0.25rem vs the
|
|
208
|
-
expanded pad-block 0.375rem, ×2) and, because a free-floating / inline dock
|
|
209
|
-
sits in normal flow (`display:inline-flex`), that height delta REFLOWS its
|
|
210
|
-
siblings — the page content jumped as the dock animated (the user's 13:27
|
|
211
|
-
audit item 1). The fix holds `padding-block` PINNED at the expanded value in
|
|
212
|
-
BOTH states (no `--dock-expand-t` interpolation on the block axis) so the
|
|
213
|
-
outer block-size is constant; ONLY `padding-inline` morphs to tighten the
|
|
214
|
-
collapsed pill inline. The collapsed circle is unaffected — its diameter is
|
|
215
|
-
owned by the summary pane's own symmetric `block-size` + `aspect-ratio:1`
|
|
216
|
-
(the `.collapsed .dock-layer--summary` rule below), CENTRED on the dock's
|
|
217
|
-
stable-height plate by the root `align-items:center`, not by the root pad. So
|
|
218
|
-
the morph reflows NOTHING vertically: 0px container-height delta. */
|
|
219
|
-
.glass-dock:not(.vertical):not(.dock-overflow-wrap) {
|
|
220
|
-
/* The collapsed inline-pad endpoint is the EXPANDED block pad (max'd with the
|
|
221
|
-
consumer `--dock-collapsed-padding` handle) so the height-pinned collapsed
|
|
222
|
-
pill is SYMMETRIC → a clean circle at the `--radius-dock` 9999px. The block
|
|
223
|
-
axis is pinned to the expanded pad (below), so matching the inline collapsed
|
|
224
|
-
endpoint to it keeps the box square (the B4 "symmetric collapsed padding
|
|
225
|
-
keeps the pill a circle" intent, preserved through the §1 height-pin). The
|
|
226
|
-
`max()` lets a consumer set `--dock-collapsed-padding` LARGER for a looser
|
|
227
|
-
pill but never SMALLER than the block pad (which would re-introduce the
|
|
228
|
-
narrower-than-tall oval the height-pin would otherwise leave). */
|
|
229
|
-
--dock-pad-collapsed: max(
|
|
230
|
-
var(--dock-padding-block, 0.375rem),
|
|
231
|
-
var(--dock-collapsed-padding, 0px)
|
|
232
|
-
);
|
|
233
|
-
/* block padding is INVARIANT — the expanded value, both states (the
|
|
234
|
-
layout-isolation contract above): the inline aperture morphs, the block
|
|
235
|
-
axis is pinned so the outer height never changes → 0px container reflow. */
|
|
236
|
-
padding-block: var(--dock-padding-block, 0.375rem);
|
|
237
|
-
padding-inline: calc(
|
|
238
|
-
var(--dock-pad-collapsed) +
|
|
239
|
-
(var(--dock-padding-inline, 0.5rem) - var(--dock-pad-collapsed)) *
|
|
240
|
-
var(--dock-expand-t)
|
|
241
|
-
);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
/* BB.W-DOCK-MORPH-FAMILY (f) — the VERTICAL padding interp is the AXIS-INVERSE
|
|
245
|
-
of the horizontal layout-isolation contract above. The vertical collapse↔
|
|
246
|
-
expand is a BLOCK-HEIGHT aperture (the box-size arm morphs `block-size`,
|
|
247
|
-
layers.css), so the CROSS (inline) axis MUST be invariant across the morph —
|
|
248
|
-
else the dock's outer WIDTH changes on collapse and reflows its horizontal
|
|
249
|
-
siblings (the §1 contract, mirrored onto the vertical axis). So `padding-
|
|
250
|
-
inline` is PINNED at the expanded inline value in BOTH states, and ONLY
|
|
251
|
-
`padding-block` morphs to tighten the collapsed pill on the morph axis. The
|
|
252
|
-
collapsed block-pad endpoint is the EXPANDED inline pad (max'd with the
|
|
253
|
-
consumer `--dock-collapsed-padding` handle) so the height-pinned-cross collapsed
|
|
254
|
-
pill is SYMMETRIC. Specificity 0,2,0 source-order after shell.css's static
|
|
255
|
-
`.glass-dock.vertical` padding so this wins at equal specificity; at the rest
|
|
256
|
-
endpoints `--dock-expand-t` is the class value so the look is exact. Scoped to
|
|
257
|
-
the NON-scroll/non-wrap vertical dock. */
|
|
258
|
-
.glass-dock.vertical:not(.dock-overflow-wrap) {
|
|
259
|
-
--dock-pad-collapsed: max(
|
|
260
|
-
var(--dock-padding-inline, 0.5rem),
|
|
261
|
-
var(--dock-collapsed-padding, 0px)
|
|
262
|
-
);
|
|
263
|
-
/* inline padding is INVARIANT — the cross axis, pinned both states so the
|
|
264
|
-
outer inline-size never changes → 0px horizontal sibling reflow. */
|
|
265
|
-
padding-inline: var(--dock-padding-inline, 0.5rem);
|
|
266
|
-
padding-block: calc(
|
|
267
|
-
var(--dock-pad-collapsed) +
|
|
268
|
-
(var(--dock-padding-block, 0.375rem) - var(--dock-pad-collapsed)) *
|
|
269
|
-
var(--dock-expand-t)
|
|
270
|
-
);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
/* AX.W01 — the collapsed padding / background / border-color are RETIRED here
|
|
274
|
-
(the `--dock-expand-t` morph block above is the single authority for those
|
|
275
|
-
three axes — they interpolate, never snap). `.collapsed` keeps only its
|
|
276
|
-
non-morphing concerns: the pointer affordance, the centred summary layout,
|
|
277
|
-
and the collapsed shadow (box-shadow crossfades discretely — a subtle,
|
|
278
|
-
acceptable swap that a `color-mix` cannot blend across its multi-layer
|
|
279
|
-
value). */
|
|
280
|
-
.glass-dock.collapsed {
|
|
281
|
-
cursor: pointer;
|
|
282
|
-
justify-content: center;
|
|
283
|
-
box-shadow: var(--shadow-dock-override, var(--shadow-dock-collapsed));
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
/* AY.W-DOCK-NAV B4 — the collapsed summary is a PERFECT CIRCLE. The `.dock-layer`
|
|
288
|
-
base rule (`.glass-dock:not(.vertical) .dock-layer`) locks `height:
|
|
289
|
-
var(--dock-layer-height)` (40px) on EVERY layer including the summary; against
|
|
290
|
-
the 0.85× `--dock-collapsed-summary-min-size` min-width that made the pane
|
|
291
|
-
40h × 30w — an oval (the user's "circle, not oval"). This rule (1) LIFTS the
|
|
292
|
-
height-lock so the summary block-sizes to the SAME token its width floors at,
|
|
293
|
-
and (2) floors both axes to that ONE token, so the collapsed pane is a square
|
|
294
|
-
and the root's symmetric collapsed padding keeps the pill a circle. The glyph
|
|
295
|
-
sits centred on both axes. The `aspect-ratio: 1` belt-and-braces guarantees
|
|
296
|
-
1:1 even if a consumer's collapsed-slot content is wider than the floor. */
|
|
297
|
-
.glass-dock.collapsed .dock-layer--summary {
|
|
298
|
-
min-width: var(
|
|
299
|
-
--dock-collapsed-summary-min-size,
|
|
300
|
-
var(--dock-layer-height, 2.5rem)
|
|
301
|
-
);
|
|
302
|
-
min-block-size: var(
|
|
303
|
-
--dock-collapsed-summary-min-size,
|
|
304
|
-
var(--dock-layer-height, 2.5rem)
|
|
305
|
-
);
|
|
306
|
-
block-size: var(
|
|
307
|
-
--dock-collapsed-summary-min-size,
|
|
308
|
-
var(--dock-layer-height, 2.5rem)
|
|
309
|
-
);
|
|
310
|
-
height: var(
|
|
311
|
-
--dock-collapsed-summary-min-size,
|
|
312
|
-
var(--dock-layer-height, 2.5rem)
|
|
313
|
-
);
|
|
314
|
-
aspect-ratio: 1;
|
|
315
|
-
justify-content: center;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
/* AX.W45 DK1 — the collapsed/summary glyph appears WITH the pill, no added
|
|
319
|
-
delay. The `--summary` pane is the INCOMING pane on collapse, but the shared
|
|
320
|
-
stagger ramp reads `--dock-expand-t` which runs 1→0 on collapse — so the
|
|
321
|
-
summary glyph used to fade OUT over the back half of the morph and pop in only
|
|
322
|
-
at settle (the "shrunken icon does not appear for a while" defect). Keying the
|
|
323
|
-
summary pane's stagger scalar to `--dock-morph-t` directly (the per-swap
|
|
324
|
-
incoming-ness, 0→1) reveals it as the box settles — appearing WITH the pill.
|
|
325
|
-
The summary is a single front-loaded glyph (onset 0), so this lands it at full
|
|
326
|
-
opacity by the morph's tail. The `--dock-expand-t` directional scalar stays
|
|
327
|
-
the right driver for the box CHROME (bg/border/padding/radius interpolate
|
|
328
|
-
between the collapsed↔expanded endpoints); only the summary pane's CONTENT
|
|
329
|
-
reveal is decoupled onto the incoming scalar. */
|
|
330
|
-
.glass-dock[data-morphing] .dock-layer--summary {
|
|
331
|
-
--dock-expand-t: var(--dock-morph-t);
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
/* AY.W-DOCK-NAV B15 — the EMPTY-collapsed-summary trap. A dock with a
|
|
335
|
-
`#persistent` control but NO `#collapsed` slot (the overview first-section
|
|
336
|
-
dock) still renders a `.dock-layer--summary` pane that floors to the circle
|
|
337
|
-
min-width — so collapsed it read as a WIDE pill: the persistent Home glyph on
|
|
338
|
-
the LEFT + an empty circle of dead space on the RIGHT (the measured 84×50
|
|
339
|
-
oval). Expanding then grew the content INTO that right-side void, so the
|
|
340
|
-
morph read "from the right" not center-out (the user's B15). When the summary
|
|
341
|
-
slot is EMPTY (`:not(:has(*))`), collapse it to zero width + no floor so the
|
|
342
|
-
persistent control stands alone as the collapsed circle, and the morph grows
|
|
343
|
-
symmetrically about the persistent. An empty Vue `#collapsed` slot renders
|
|
344
|
-
ZERO child nodes (no whitespace text node either), so `:empty` matches it
|
|
345
|
-
exactly — and a flat `:empty` avoids the nested-`:has()` form Lightning CSS
|
|
346
|
-
drops. An authored `#collapsed` slot (non-empty summary) keeps its circle
|
|
347
|
-
pill. */
|
|
348
|
-
.glass-dock.collapsed .dock-layer--summary:empty {
|
|
349
|
-
min-width: 0;
|
|
350
|
-
inline-size: 0;
|
|
351
|
-
padding: 0;
|
|
352
|
-
margin: 0;
|
|
353
|
-
border: 0;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
/* The persistent control IS the collapsed pill in the empty-summary case — drop
|
|
357
|
-
the inter-region gap so the collapsed circle is exactly the persistent box. */
|
|
358
|
-
.glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent
|
|
359
|
-
+ .dock-layers {
|
|
360
|
-
margin-inline-start: 0;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
/* BD.W-DOCK-CORE (A5) — the collapsed persistent pill centers its single glyph on
|
|
364
|
-
BOTH axes (the empty-summary case where the #persistent control IS the collapsed
|
|
365
|
-
circle). The `--dock-control-safe-inset` padding (background-clip: content-box) must
|
|
366
|
-
not shift the glyph off the pill's geometric center — `place-items: center`
|
|
367
|
-
belt-and-braces both axes so the shrunken icon reads dead-center (A5 "icons in the
|
|
368
|
-
SHRUNKEN state are NOT ALIGNED"). */
|
|
369
|
-
.glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent {
|
|
370
|
-
display: grid;
|
|
371
|
-
place-items: center;
|
|
372
|
-
}
|
|
373
|
-
.glass-dock.collapsed:has(.dock-layer--summary:empty) .dock-persistent > * {
|
|
374
|
-
place-self: center;
|
|
375
|
-
}
|
|
376
|
-
/* BD.W-DOCK-CORE (A5) — floor the collapsed glyph at the 16px-min the rail glyph
|
|
377
|
-
carries (never a sliver inside an inline-flex column). */
|
|
378
|
-
.glass-dock.collapsed .dock-persistent svg,
|
|
379
|
-
.glass-dock.collapsed .dock-layer--summary svg {
|
|
380
|
-
min-width: 1rem;
|
|
381
|
-
min-height: 1rem;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
/* AW.W3 — the collapsed-hover scale rides the unified dock spring vocabulary.
|
|
385
|
-
The `scale var(--dock-motion-resize)` arm was added to the `.glass-dock`
|
|
386
|
-
root transition above, so this hover scale settles on the SAME spring curve
|
|
387
|
-
the expand morph uses — a collapsed→hover→expand gesture is one continuous
|
|
388
|
-
spring, not a `scale`-ease handed off to the width-spring. The hover scale
|
|
389
|
-
and the press squish (`--scale-press-dock`) are now one register on the dock
|
|
390
|
-
surface.
|
|
391
|
-
|
|
392
|
-
AZ.W-DOCK-FLICKER — the `scale` arm is GATED on `:not([data-morphing])` (the
|
|
393
|
-
collapse-onset scale-pop fix, C2-2). `.collapsed` flips on SYNCHRONOUSLY when
|
|
394
|
-
a hovered dock begins collapsing, but the box is still painted at EXPANDED
|
|
395
|
-
width for the morph's leading frames (the `onSwap` pin + 1-rAF measure-defer
|
|
396
|
-
in dockMorphContext.ts). The bare `.collapsed:hover { scale: 1.1 }` multiplied
|
|
397
|
-
that transient ~535px box, painting a ±24-34px right-edge pop (the user's
|
|
398
|
-
"flashing"). Scoping the SCALE to `:not([data-morphing])` makes the +1.1 lift
|
|
399
|
-
apply ONLY at rest (the box is the 54px circle then) — during `[data-morphing]`
|
|
400
|
-
the hover scale is inert, mirroring the shipped `--dock-expand-t`
|
|
401
|
-
`[data-morphing]` precedent above (morph.css:46-53). The surface arms
|
|
402
|
-
(background/border/shadow) stay on the bare `:hover` (they don't multiply
|
|
403
|
-
geometry, so a hovered collapse keeps its hover read without the pop). */
|
|
404
|
-
.glass-dock.collapsed:hover {
|
|
405
|
-
box-shadow: var(--shadow-dock-override, var(--shadow-dock));
|
|
406
|
-
}
|
|
407
|
-
/* BI.W-DOCK-SPINE — the collapsed-hover surface lift retargeted onto the plate
|
|
408
|
-
(the box keeps the box-shadow elevation above; the plate carries the glass). */
|
|
409
|
-
.glass-dock.collapsed:hover .dock-plate {
|
|
410
|
-
background: var(--glass-bg-wash);
|
|
411
|
-
border-color: var(--glass-border-floating);
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
.glass-dock.collapsed:hover:not([data-morphing]) {
|
|
415
|
-
scale: var(--dock-collapsed-hover-scale);
|
|
416
|
-
will-change: transform; /* BC.W-DOCK-ENGINE move 2 — promote the armed-at-rest scale lift */
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
/* J.W5.C — held-state substrate response.
|
|
420
|
-
*
|
|
421
|
-
* When a descendant signals `dockKeepOpen` (e.g. an active slider drag),
|
|
422
|
-
* `useDockState.isHeld` flips true and the root carries `data-held`.
|
|
423
|
-
* The dock background lifts a tier (resting → floating-equivalent) and
|
|
424
|
-
* the border quiets to the floating ring; the change tracks pointer
|
|
425
|
-
* movement on `--duration-fast` so it reads as a held-cursor cue, not
|
|
426
|
-
* a state change. The same flag is consumed by descendants (Slider
|
|
427
|
-
* thumb halo) via `useOptionalDockContext().held` for cross-substrate
|
|
428
|
-
* coordination (typed-key canonical shape; O.W2 invariant 25).
|
|
429
|
-
*/
|
|
430
|
-
/* BI.W-DOCK-SPINE — the held-tier surface lift retargeted onto the plate. */
|
|
431
|
-
.glass-dock[data-held] .dock-plate {
|
|
432
|
-
/* AX.W55 — the held tier threads the oklab tint wrapper (zero-delta at the
|
|
433
|
-
`0%` rest default) so the adaptive darken reaches the held state too. */
|
|
434
|
-
background: color-mix(
|
|
435
|
-
in oklab,
|
|
436
|
-
var(--glass-bg-floating, var(--glass-bg-resting)),
|
|
437
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
438
|
-
);
|
|
439
|
-
border-color: var(--glass-border-floating, var(--glass-border-resting));
|
|
440
|
-
transition:
|
|
441
|
-
background var(--duration-fast) var(--ease-standard),
|
|
442
|
-
border-color var(--duration-fast) var(--ease-standard);
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
/* BD.W-DOCK-CORE (A7) — the whole-plate open-descendant recolor is DELETED (clean
|
|
446
|
-
break, no alias). HEAD repainted the ENTIRE dock plate to the floating tier when ANY
|
|
447
|
-
descendant overlay opened (a dropdown/select/popover) — 44%α warm-cream → 80.8%α
|
|
448
|
-
floating, the user's "a dropdown changes the color of the ENTIRE dock" bug. A
|
|
449
|
-
dropdown opening now leaves the dock plate INVARIANT; the open affordance is
|
|
450
|
-
TRIGGER-scoped (the trigger's own `[aria-expanded]`/`[data-state=open]` active-fill
|
|
451
|
-
in dock-controls/triggers.css). The `[data-held]` (slider-drag) lift above is KEPT —
|
|
452
|
-
a legitimate held-cursor cue, not the bug. */
|
|
453
|
-
|
|
454
|
-
}
|
|
455
|
-
|