@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,81 +0,0 @@
|
|
|
1
|
-
/* dock/fisheye.css — the fits-branch pure-CSS Gaussian fisheye (BI.W-DOCK-OVERFLOW,
|
|
2
|
-
* G4 CLOSED with measured WebKit evidence: 60fps at 15 items, 0.058ms/write).
|
|
3
|
-
*
|
|
4
|
-
* The EXCLUSIVE-mode overflow ENHANCEMENT (PASS-4B ruling 1 — the composition break,
|
|
5
|
-
* decided). Fisheye engages IFF the row FITS (`:not([data-dock-overflow])`); a
|
|
6
|
-
* scrollable row (`[data-dock-overflow]`) runs the native scroll track (overflow.css)
|
|
7
|
-
* with fisheye OFF — they are NEVER composed (the codebase's own cross-axis clip trap
|
|
8
|
-
* makes an on-top-of-scroll hump structurally hostile; macOS magnifies because its dock
|
|
9
|
-
* never scrolls). The native scroll track is the UNIVERSAL FLOOR that ships regardless;
|
|
10
|
-
* the fisheye is OPT-IN behind `[data-dock-fisheye]` and its default-ON ship rides the
|
|
11
|
-
* visible-Metal 60fps verdict (W-DOCK-DEVICE — if the sweep misses 60fps the fisheye
|
|
12
|
-
* PARKS, the honest degrade, never a masking fallback).
|
|
13
|
-
*
|
|
14
|
-
* THE MECHANISM. One rAF-coalesced pointermove (`useDockFisheye`) writes ONE `--dock-px`
|
|
15
|
-
* (the pointer's inline position, a UNITLESS number) on the dock; each item carries a
|
|
16
|
-
* layout-time `--x` (its center, unitless — written on the RO, NOT per frame) and scales
|
|
17
|
-
* by a pure-CSS Gaussian off its distance `--d` from the pointer. `exp()`/`pow()` are
|
|
18
|
-
* Baseline 2026-06 (Safari 15.4+); `--dock-px` is `@property`-registered `<number>` so
|
|
19
|
-
* the per-frame write INTERPOLATES (`transition: --dock-px 80ms linear` eases the hump —
|
|
20
|
-
* buttery, not stair-step).
|
|
21
|
-
*
|
|
22
|
-
* HIT-BOX INVARIANT (O4). The fisheye is TRANSFORM/scale ONLY — it writes NO layout
|
|
23
|
-
* property (width/height/padding/inline-size/…), so the hit CELL holds its base geometry
|
|
24
|
-
* (`--dock-control-size` ≥ the 44px `--dock-touch-target` floor) and the fisheye can
|
|
25
|
-
* NEVER breach the touch floor. `hover: none` (coarse pointer) → flat; PRM → off.
|
|
26
|
-
*
|
|
27
|
-
* @import-ed by dock.css in cascade order, in the SAME `@layer components`. */
|
|
28
|
-
|
|
29
|
-
/* The per-frame pointer scalar — REGISTERED `<number>` so it interpolates (an unregistered
|
|
30
|
-
bare `var()` would SNAP between writes; the `--fade-start`/`--dock-morph-t` registered-
|
|
31
|
-
property precedent). `inherits: true` so every item reads the ONE dock-level write.
|
|
32
|
-
`initial-value: -99999` seats the pointer "infinitely far" so at rest (no pointer) every
|
|
33
|
-
item's Gaussian resolves to ~0 → `scale: 1` (flat). @property sits at the stylesheet root
|
|
34
|
-
(not inside @layer). */
|
|
35
|
-
@property --dock-px {
|
|
36
|
-
syntax: "<number>";
|
|
37
|
-
inherits: true;
|
|
38
|
-
initial-value: -99999;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@layer components {
|
|
42
|
-
/* The dock hosts the interpolated pointer write (eases the hump). Only armed on the
|
|
43
|
-
opt-in fisheye dock; a plain dock never transitions `--dock-px`. */
|
|
44
|
-
.glass-dock[data-dock-fisheye] {
|
|
45
|
-
transition: --dock-px var(--dock-fisheye-duration) linear;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/* The Gaussian scale — FITS branch only (`:not([data-dock-overflow])`, the exclusive-
|
|
49
|
-
mode gate, O3) + fine-hover pointer only (a coarse/touch pointer has no hover hump —
|
|
50
|
-
`hover: none` → flat by the media gate). Each item reads its own `--x` (layout-time)
|
|
51
|
-
and the shared `--dock-px` (per-frame); `--d` is their UNITLESS difference so
|
|
52
|
-
`pow()`/`exp()` operate on `<number>`. TRANSFORM ONLY (scale) — the hit box is
|
|
53
|
-
untouched (O4). */
|
|
54
|
-
@media (hover: hover) and (pointer: fine) {
|
|
55
|
-
.glass-dock[data-dock-fisheye]:not([data-dock-overflow])
|
|
56
|
-
.dock-fisheye-item {
|
|
57
|
-
--d: calc(var(--x, 0) - var(--dock-px, -99999));
|
|
58
|
-
scale: calc(
|
|
59
|
-
1 +
|
|
60
|
-
var(--dock-fisheye-amp, 0.6) *
|
|
61
|
-
exp(
|
|
62
|
-
-1 * pow(var(--d), 2) /
|
|
63
|
-
(2 * pow(var(--dock-fisheye-sigma, 64), 2))
|
|
64
|
-
)
|
|
65
|
-
);
|
|
66
|
-
transform-origin: center bottom;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/* PRM → OFF (the fisheye is non-essential magnification; the WCAG 2.3.3 / vestibular
|
|
71
|
-
floor). Flat scale, no transition — the item confirms interaction via its own
|
|
72
|
-
hover/press register, not the hump. */
|
|
73
|
-
@media (prefers-reduced-motion: reduce) {
|
|
74
|
-
.glass-dock[data-dock-fisheye] {
|
|
75
|
-
transition: none;
|
|
76
|
-
}
|
|
77
|
-
.glass-dock[data-dock-fisheye] .dock-fisheye-item {
|
|
78
|
-
scale: 1;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
@@ -1,329 +0,0 @@
|
|
|
1
|
-
/* dock/layer-group.css — `.dock-layer-group` / layer-switcher rail / stack
|
|
2
|
-
* (AX.W06 carve).
|
|
3
|
-
*
|
|
4
|
-
* Carved from the dock.css god-module (slice 25). This partial owns the
|
|
5
|
-
* `<DockLayerGroup>` family: the `<DockSeparator>` orientation+layout-aware
|
|
6
|
-
* paint (vertical hairline · horizontal rule · grid section-break), the
|
|
7
|
-
* `.dock-spacer`, the `.dock-layer-group` flex axes, the `.dock-layer-rail`
|
|
8
|
-
* layer-switcher rail (the W45 DK8 rail-bg plate + the axis-aware travelling
|
|
9
|
-
* `.dock-layer-tab-indicator`), the `.dock-layer-stack`, and the axis-aware
|
|
10
|
-
* `.dock-layer-item-host` pane.
|
|
11
|
-
*
|
|
12
|
-
* NOTE: this `.dock-layer-rail` is the LAYER-SWITCHER rail inside a
|
|
13
|
-
* `<DockLayerGroup>` — the in-dock switcher tab strip. AZ.W-DOCK-TAXONOMY
|
|
14
|
-
* de-overloaded the "rail" noun: the `GlassDock variant="rail"` vertical-nav
|
|
15
|
-
* variant is GONE (a vertical nav column is now `orientation="vertical"`), and
|
|
16
|
-
* `<InstrumentRail>` retired at AY W-IC1. `.dock-layer-rail` is the ONLY surviving
|
|
17
|
-
* "rail" in the dock band; the noun is otherwise free (reserved for the
|
|
18
|
-
* W-RAIL-EXTEND beyond-dock facility).
|
|
19
|
-
*
|
|
20
|
-
* @import-ed by dock.css in cascade order, in the SAME `@layer components` — the
|
|
21
|
-
* carve is isomorphic (same layer, same source order → ZERO visual delta). */
|
|
22
|
-
|
|
23
|
-
@layer components {
|
|
24
|
-
/* AX.W45 D13-c / DK5 — the `<DockSeparator>` paint source. The separator is now
|
|
25
|
-
a first-class orientation+layout-aware primitive (DockSeparator.vue) that
|
|
26
|
-
carries the orientation contract the bare class could not. It demarcates dock
|
|
27
|
-
item GROUPS (transport | navigation | settings) for affordance hierarchy. The
|
|
28
|
-
paint is PERPENDICULAR to the layout axis:
|
|
29
|
-
- row dock (horizontal, the default) → a VERTICAL 1px hairline
|
|
30
|
-
- column dock (vertical / rail) → a HORIZONTAL 1px rule, cross-extent
|
|
31
|
-
- grid dock (`layout="grid"`) → a full-row SECTION BREAK
|
|
32
|
-
The component sets `data-orientation` from `useOptionalDockContext`; the
|
|
33
|
-
dock-root ancestor class (`.glass-dock.vertical` / `.layout-grid`) drives the
|
|
34
|
-
perpendicular paint so the same primitive reads correctly at every layout. */
|
|
35
|
-
.dock-separator {
|
|
36
|
-
@apply flex-shrink-0;
|
|
37
|
-
width: 1px;
|
|
38
|
-
height: var(--dock-separator-height);
|
|
39
|
-
margin: 0 0.375rem;
|
|
40
|
-
background: var(--surface-tint-15);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/* Column (vertical) dock — a HORIZONTAL hairline across the column's cross
|
|
44
|
-
extent (a 1px-WIDE vertical sliver does not divide a stack). */
|
|
45
|
-
.glass-dock.vertical .dock-separator,
|
|
46
|
-
.dock-layer-group.vertical .dock-separator,
|
|
47
|
-
.dock-separator[data-orientation="vertical"] {
|
|
48
|
-
width: var(--dock-separator-height);
|
|
49
|
-
height: 1px;
|
|
50
|
-
align-self: center;
|
|
51
|
-
margin: 0.375rem 0;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/* Grid (big-dock) — a full-row SECTION BREAK spanning every column, the
|
|
55
|
-
Launchpad-style group demarcation (a 1px sliver in one cell is useless). */
|
|
56
|
-
.glass-dock.layout-grid .dock-separator {
|
|
57
|
-
grid-column: 1 / -1;
|
|
58
|
-
width: 100%;
|
|
59
|
-
height: 1px;
|
|
60
|
-
margin: var(--dock-layer-gap, 0.375rem) 0;
|
|
61
|
-
align-self: center;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.dock-spacer {
|
|
65
|
-
@apply flex-1;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.dock-layer-group {
|
|
69
|
-
display: flex;
|
|
70
|
-
gap: var(--dock-layer-group-gap, var(--dock-layer-gap, 0.25rem));
|
|
71
|
-
min-width: 0;
|
|
72
|
-
min-height: 0;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.dock-layer-group.horizontal {
|
|
76
|
-
flex-direction: row;
|
|
77
|
-
align-items: stretch;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.dock-layer-group.horizontal.rail-end {
|
|
81
|
-
flex-direction: row-reverse;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.dock-layer-group.vertical {
|
|
85
|
-
flex-direction: column;
|
|
86
|
-
align-items: stretch;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.dock-layer-group.vertical.rail-end {
|
|
90
|
-
flex-direction: column-reverse;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/* AZ.W-DOCK-RAIL — the rail is a HAIRLINE register, not a fused plate. The
|
|
94
|
-
AX.W45 `--surface-tint-8` filled plate + `--radius-md` rounded background
|
|
95
|
-
(the "heavy dark blob column" R3-1) are RETIRED: the rail box paints NO fill
|
|
96
|
-
(`--dock-layer-rail-bg` defaults transparent at §sizing) and carries no
|
|
97
|
-
rounded plate background. The single `border-right` hairline — re-keyed to
|
|
98
|
-
the tunable `--dock-layer-rail-divider` token — is the only visible rail
|
|
99
|
-
edge: a thin rule between the switcher column and the dock body. The
|
|
100
|
-
hover/active affordance reads the `--dock-layer-rail-{hover,active}` glass
|
|
101
|
-
tints, so the whole rail ladder is tunable from §sizing. */
|
|
102
|
-
/* BG.W-DOCK-CONSUMER-FENCE — the switcher-rail + stack + pane internal parts carry
|
|
103
|
-
the dock-root ANCESTRY anchor (`:where(.glass-dock, .dock-layer-group)`, specificity
|
|
104
|
-
0,0,0) so a consumer element with a coincidental `.dock-layer-*` class OUTSIDE a dock
|
|
105
|
-
is never painted/repositioned. Every internal part here lives under `.dock-layer-group`
|
|
106
|
-
(a standalone `<DockLayerGroup>` too) — byte-identical match, same cascade/source order.
|
|
107
|
-
The `.dock-layer-group`-keyed rules ABOVE stay bare (the component-root identity). */
|
|
108
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail {
|
|
109
|
-
display: flex;
|
|
110
|
-
flex-direction: column;
|
|
111
|
-
flex-shrink: 0;
|
|
112
|
-
/* AY.W-DOCK-NAV B6 — `align-self: start` (not the group's `stretch`
|
|
113
|
-
default) so the column rail reports its OWN intrinsic content height
|
|
114
|
-
(the stacked tabs) to the group's cross-axis sizing rather than being
|
|
115
|
-
stretched to the group's content-row height. Under `stretch` the rail's
|
|
116
|
-
height resolved to the group height, which was the single content-row
|
|
117
|
-
height — circular: the rail's 3 tall tabs overflowed a 40px rail and the
|
|
118
|
-
lower tabs + the indicator fell below the dock floor (the B6 break). With
|
|
119
|
-
`align-self: start` the rail demands its natural column height, the group
|
|
120
|
-
grows to it, and the dock grows to contain the whole rail. The
|
|
121
|
-
`min-height: max-content` belt makes the demand explicit — a row-flex
|
|
122
|
-
child's cross-size can otherwise resolve to the (smaller) container row
|
|
123
|
-
height even under `align-self: start`; `max-content` floors the rail at
|
|
124
|
-
its stacked-tab content height so the chain (group → pane → dock) grows
|
|
125
|
-
to fit. */
|
|
126
|
-
align-self: start;
|
|
127
|
-
min-height: max-content;
|
|
128
|
-
gap: var(--dock-layer-rail-gap, 0.125rem);
|
|
129
|
-
padding: var(--dock-layer-rail-padding, 0.125rem);
|
|
130
|
-
background: var(--dock-layer-rail-bg, transparent);
|
|
131
|
-
border-right: 1px solid
|
|
132
|
-
var(--dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent));
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.dock-layer-group.vertical .dock-layer-rail {
|
|
136
|
-
flex-direction: row;
|
|
137
|
-
border-right: none;
|
|
138
|
-
border-bottom: 1px solid
|
|
139
|
-
var(--dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent));
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
.dock-layer-group.horizontal.rail-end .dock-layer-rail {
|
|
143
|
-
border-right: none;
|
|
144
|
-
border-left: 1px solid
|
|
145
|
-
var(--dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent));
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.dock-layer-group.vertical.rail-end .dock-layer-rail {
|
|
149
|
-
border-bottom: none;
|
|
150
|
-
border-top: 1px solid
|
|
151
|
-
var(--dock-layer-rail-divider, color-mix(in srgb, var(--border) 40%, transparent));
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/* AU.W8.4 — the rail is a reka-ui Tabs contract. The travelling
|
|
155
|
-
`.dock-layer-tab-indicator` (the reka TabsIndicator) now carries the
|
|
156
|
-
active affordance; the rail is `position: relative` so the indicator's
|
|
157
|
-
absolute placement is rail-local. */
|
|
158
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail {
|
|
159
|
-
position: relative;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab {
|
|
163
|
-
position: relative;
|
|
164
|
-
display: inline-flex;
|
|
165
|
-
align-items: center;
|
|
166
|
-
justify-content: center;
|
|
167
|
-
/* AY.W-DOCK-NAV B6 — `flex-shrink: 0` so the stacked tabs in the column rail
|
|
168
|
-
hold their full size and the rail demands its natural content height (no
|
|
169
|
-
tab squish). With the rail's `align-self: start` this makes the rail report
|
|
170
|
-
its true column height to the group's cross-axis sizing, growing the dock
|
|
171
|
-
to contain all the tabs + the travelling indicator (the B6 un-clip). */
|
|
172
|
-
flex-shrink: 0;
|
|
173
|
-
width: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem));
|
|
174
|
-
height: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem));
|
|
175
|
-
border: 0;
|
|
176
|
-
border-radius: var(--dock-layer-tab-radius, var(--radius-sm));
|
|
177
|
-
background: transparent;
|
|
178
|
-
/* AZ.W-DOCK-RAIL — the rest glyph lifts OFF the low-contrast
|
|
179
|
-
`--muted-foreground` (which read sub-AA over the now-hairline transparent
|
|
180
|
-
backdrop) to the nav-glyph contrast register: a strong warm-ink tint of
|
|
181
|
-
the dock foreground (`--dock-fg-on-aurora` → `--foreground`), tempered to
|
|
182
|
-
~78% for the unselected read while staying ≥4.5:1 over the dock substrate.
|
|
183
|
-
The selected tab flips to the full register below. */
|
|
184
|
-
color: var(
|
|
185
|
-
--dock-layer-rail-glyph,
|
|
186
|
-
color-mix(in srgb, var(--dock-fg-on-aurora, var(--foreground)) 78%, transparent)
|
|
187
|
-
);
|
|
188
|
-
cursor: pointer;
|
|
189
|
-
font: inherit;
|
|
190
|
-
font-size: 0.75rem;
|
|
191
|
-
/* The tab glyph rides above the travelling indicator backplate. */
|
|
192
|
-
z-index: 1;
|
|
193
|
-
transition:
|
|
194
|
-
background var(--dock-motion-fast),
|
|
195
|
-
color var(--dock-motion-fast);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/* AZ.W-DOCK-RAIL — floor the rail glyph. The `size-4` (16px) icon class on the
|
|
199
|
-
lucide component does not survive the column inline-flex: with no concrete
|
|
200
|
-
`width`/`flex-shrink`, the un-floored SVG collapsed to a 4px sliver
|
|
201
|
-
(F2-R3-1). This rule floors BOTH axes to 1rem (16px) and pins
|
|
202
|
-
`flex-shrink: 0` so the glyph never re-squishes inside the flex tab. */
|
|
203
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab svg {
|
|
204
|
-
width: 1rem;
|
|
205
|
-
height: 1rem;
|
|
206
|
-
flex-shrink: 0;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab:hover {
|
|
210
|
-
background: var(
|
|
211
|
-
--dock-layer-rail-hover,
|
|
212
|
-
color-mix(in srgb, var(--accent) 30%, transparent)
|
|
213
|
-
);
|
|
214
|
-
color: var(--dock-fg-on-aurora, var(--foreground));
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
/* AU.W8.4 — KEEP the active glyph tint on the selected tab (reka emits
|
|
218
|
-
`data-state="active"` + `aria-selected="true"`); the per-button active
|
|
219
|
-
BACKGROUND is RETIRED — the travelling indicator carries that affordance.
|
|
220
|
-
AZ.W-DOCK-RAIL — the selected glyph reads the full warm-ink register (the
|
|
221
|
-
nav-glyph contrast canon), deferring the exact accent to W-REGISTER-IOS's
|
|
222
|
-
root via `--dock-rail-active-accent` (defaults to the dock foreground, NOT
|
|
223
|
-
a saturated brand `--primary`). */
|
|
224
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab[aria-selected="true"] {
|
|
225
|
-
color: var(--dock-rail-active-accent, var(--dock-fg-on-aurora, var(--foreground)));
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
/* AU.W8.4 — the dock control focus-ring contract does not cover
|
|
229
|
-
`.dock-layer-tab` (the rail tab is not in the `.dock-icon-button` family).
|
|
230
|
-
The roving tabindex means only the active tab is in the tab order; a
|
|
231
|
-
focus-visible tab paints the shared dock ring. */
|
|
232
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail [role="tab"]:focus-visible {
|
|
233
|
-
box-shadow: var(--focus-ring-shadow);
|
|
234
|
-
outline: none;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/* BI.W-DOCK-FOLD — the travelling indicator is AXIS-AWARE and driven by the ONE
|
|
238
|
-
traveling-indicator writer (`useSelectionIndicator`, via `useSelectionGroup`),
|
|
239
|
-
NOT the retired reka `--reka-tabs-indicator-*` path. The writer emits the
|
|
240
|
-
travel-axis size + a center-anchored `transform` + `opacity` as an INLINE style
|
|
241
|
-
on this element (Chrome ≡ Safari by construction — one code path, no anchor
|
|
242
|
-
branch). The DEFAULT (horizontal-group) rail is a COLUMN of stacked tabs, so the
|
|
243
|
-
indicator travels the BLOCK (Y) axis: the base rule fixes the CROSS-axis size
|
|
244
|
-
(width) + the resting look; the inline writer fills height + translateY. The
|
|
245
|
-
`.vertical` group's ROW rail overrides the cross axis (height) and the writer
|
|
246
|
-
fills width + translateX. The active-tab plate reads the tunable
|
|
247
|
-
`--dock-layer-rail-active` rung.
|
|
248
|
-
|
|
249
|
-
AY.W-DOCK2 (D5 one-clock) — a rail tab switch is a DISCRETE selection (the user
|
|
250
|
-
picks a pane), NOT the box collapse↔expand morph, so the indicator glides on the
|
|
251
|
-
`--spring-snappy` register (the SAME curve `SegmentedTabs`' indicator rides),
|
|
252
|
-
never a fixed-linear `--dock-motion-resize` timer. */
|
|
253
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-rail .dock-layer-tab-indicator {
|
|
254
|
-
position: absolute;
|
|
255
|
-
left: 0;
|
|
256
|
-
top: 0;
|
|
257
|
-
width: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem));
|
|
258
|
-
opacity: 0;
|
|
259
|
-
border-radius: var(--dock-layer-tab-radius, var(--radius-sm));
|
|
260
|
-
/* AZ.W-DOCK-RAIL — the travelling indicator paints the glass-register
|
|
261
|
-
`--dock-layer-rail-active` (defaults to `--glass-bg-floating`, the
|
|
262
|
-
"selected reads as glass" register). The inline fallback is the SAME
|
|
263
|
-
glass tier — NOT the saturated `--primary 15%` warm-red mix. This token
|
|
264
|
-
rule is the sole paint (no baked plate utility to inherit). */
|
|
265
|
-
background: var(--dock-layer-rail-active, var(--glass-bg-floating));
|
|
266
|
-
transition:
|
|
267
|
-
width var(--duration-fast) var(--spring-snappy),
|
|
268
|
-
height var(--duration-fast) var(--spring-snappy),
|
|
269
|
-
transform var(--duration-fast) var(--spring-snappy);
|
|
270
|
-
pointer-events: none;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
/* The `.vertical` group's rail is a ROW of tabs (flex-direction: row), so the
|
|
274
|
-
indicator travels the INLINE (X) axis. The cross axis (height) is the base
|
|
275
|
-
size; the writer fills width + translateX. */
|
|
276
|
-
.dock-layer-group.vertical .dock-layer-rail .dock-layer-tab-indicator {
|
|
277
|
-
width: auto;
|
|
278
|
-
height: var(--dock-layer-tab-size, var(--dock-control-size, 1.75rem));
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-stack {
|
|
282
|
-
position: relative;
|
|
283
|
-
display: grid;
|
|
284
|
-
/* AW.W2 — the morph axis (width for a horizontal group, height for a
|
|
285
|
-
vertical one) is driven by the `useLayerTransition` SpringProgress in
|
|
286
|
-
pixel space (FLIP path) or the View-Transition (native path); a CSS
|
|
287
|
-
`width`/`height` transition here would be a SECOND driver on the same
|
|
288
|
-
axis (the AV.W9.0 dual-driver race that froze the dock). The cross axis
|
|
289
|
-
is intrinsic-sized and never morphs. So NO size transition on the stack
|
|
290
|
-
— one owner per axis. */
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
/* Base layout — the crossfade + hit-test contract is shared with
|
|
294
|
-
`.dock-layer` above (see "Layer crossfade + hit-test contract"). The
|
|
295
|
-
default state is inactive: absolute + inset:0. */
|
|
296
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-item-host {
|
|
297
|
-
grid-area: 1 / 1;
|
|
298
|
-
display: flex;
|
|
299
|
-
align-items: center;
|
|
300
|
-
white-space: nowrap;
|
|
301
|
-
gap: var(--dock-layer-gap, 0.375rem);
|
|
302
|
-
position: absolute;
|
|
303
|
-
inset: 0;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
:where(.glass-dock, .dock-layer-group) .dock-layer-item-host.is-active {
|
|
307
|
-
position: relative;
|
|
308
|
-
inset: auto;
|
|
309
|
-
width: max-content;
|
|
310
|
-
min-width: 0;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/* AP.W3 — axis-aware layer pane. The stack + `useLayerTransition` are
|
|
314
|
-
axis-aware, but the pane was hardcoded to a no-wrap ROW with
|
|
315
|
-
`width: max-content` — forcing a `vertical` group's content onto one
|
|
316
|
-
horizontal line that could not grow down (the vertical-overflow fight).
|
|
317
|
-
A vertical group stacks in a column, stretches, wraps, and block-sizes
|
|
318
|
-
to the height the stack animates. Horizontal byte-identical. */
|
|
319
|
-
.dock-layer-group.vertical .dock-layer-item-host {
|
|
320
|
-
flex-direction: column;
|
|
321
|
-
align-items: stretch;
|
|
322
|
-
white-space: normal;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
.dock-layer-group.vertical .dock-layer-item-host.is-active {
|
|
326
|
-
width: auto;
|
|
327
|
-
height: max-content;
|
|
328
|
-
}
|
|
329
|
-
}
|