@mkbabb/glass-ui 3.12.0 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CardAction-DuArVky-.js → CardAction-Cj2eycQ2.js} +2 -2
- package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-RowNEO6i.js} +4 -4
- package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-BQmxTAdw.js} +4 -4
- package/dist/{DataTable-CUHMukiQ.js → DataTable-BCddn3T3.js} +3 -3
- package/dist/{DialogContent-BRkT1cjP.js → DialogContent-Dl9WkAoS.js} +3 -3
- package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-Blu4t7tJ.js} +2 -2
- package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CISOJQuZ.js} +1 -1
- package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DPzE09X9.js} +1 -1
- package/dist/MetricBadge-C9QMz1KT.js +79 -0
- package/dist/{Notification-DLMhblXR.js → Notification-DdwNxIrI.js} +2 -2
- package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CqaN-SvN.js} +3 -3
- package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-BYwt2-4x.js} +1 -1
- package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DfFrwSph.js} +1 -1
- package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-CiDUxfEj.js} +6 -6
- package/dist/{Switch-Ch-k3Rv-.js → Switch-CsIuYP_e.js} +1 -1
- package/dist/{TabsList-B8CVOQPC.js → TabsList-Dttss653.js} +9 -5
- package/dist/{Toaster-1rYWrmAm.js → Toaster-D6q4HtXu.js} +50 -47
- package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-D_AHlRw9.js} +18 -22
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +5 -2
- package/dist/api.js +2 -2
- package/dist/aurora.js +69 -69
- package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
- package/dist/badge.js +1 -1
- package/dist/{button-DN39cGqL.js → button-ChXMfsud.js} +12 -12
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +8 -8
- package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
- package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
- package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
- package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
- package/dist/coalesceMetric-5qIeZnTx.js +13 -0
- package/dist/{color-C5ls_QF7.js → color-CUYeFbgd.js} +9 -7
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +5 -62
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
- package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/index.d.ts +1 -1
- package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
- package/dist/components/custom/constellation/Constellation.vue.d.ts +74 -6
- package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
- package/dist/components/custom/constellation/constants.d.ts +61 -0
- package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
- package/dist/components/custom/constellation/constellationField.d.ts +116 -149
- package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
- package/dist/components/custom/constellation/index.d.ts +5 -2
- package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
- package/dist/components/custom/dock/DockRail.vue.d.ts +88 -0
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +3 -4
- package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
- package/dist/components/custom/dock/composables/index.d.ts +1 -0
- package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
- package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
- package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
- package/dist/components/custom/dock/constants.d.ts +48 -0
- package/dist/components/custom/dock/index.d.ts +3 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +5 -37
- package/dist/components/custom/fourier-field/index.d.ts +1 -1
- package/dist/components/custom/fourier-field/math.d.ts +17 -0
- package/dist/components/custom/fourier-field/presets.d.ts +54 -0
- package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -8
- package/dist/components/custom/goo-blob/constants.d.ts +52 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
- package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
- package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
- package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
- package/dist/components/custom/metric-badge/index.d.ts +1 -0
- package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
- package/dist/components/custom/tabs/constants.d.ts +12 -0
- package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
- package/dist/components/custom/underline/index.d.ts +2 -0
- package/dist/components/custom/underline/types.d.ts +56 -0
- package/dist/components/ui/card/Card.vue.d.ts +15 -3
- package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
- package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
- package/dist/components/ui/slider/index.d.ts +22 -19
- package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
- package/dist/components/ui/toast/use-toast.d.ts +2 -2
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/toggle/index.d.ts +1 -1
- package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
- package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
- package/dist/composables/color/index.d.ts +12 -0
- package/dist/composables/dark/index.d.ts +1 -1
- package/dist/composables/dark/useGlobalDark.d.ts +1 -21
- package/dist/composables/glass/index.d.ts +0 -1
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
- package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
- package/dist/composables/motion/core/index.d.ts +1 -1
- package/dist/composables/motion/curves.d.ts +48 -0
- package/dist/composables/motion/index.d.ts +2 -0
- package/dist/composables/motion/springPresets.d.ts +33 -0
- package/dist/composables/motion/suite.d.ts +2 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
- package/dist/composables/motion/useSpringMount.d.ts +1 -1
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +2 -2
- package/dist/constellation.js +336 -222
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +48 -20
- package/dist/dark.d.ts +1 -1
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +705 -365
- package/dist/dockContext-BegmJVmx.js +17 -0
- package/dist/dom.js +5 -5
- package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DzkkyBwX.js} +11 -8
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +39 -80
- package/dist/forms.js +5 -5
- package/dist/fourier-field.js +134 -99
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +86 -20
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +222 -212
- package/dist/goo-blob.js +243 -212
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +28 -18
- package/dist/{math-DTpRVC0e.js → math-U6-RrLmV.js} +18 -2
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +25 -21
- package/dist/metric-stack.js +35 -34
- package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
- package/dist/motion-core.js +32 -137
- package/dist/motion-curves.d.ts +1 -0
- package/dist/motion-curves.js +130 -0
- package/dist/motion.js +38 -37
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-BP_ALM0m.js → presets-BKVyQfbt.js} +1 -14
- package/dist/progress.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/scrolling-text.js +1 -1
- package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
- package/dist/search.js +9 -9
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/{sheet-VZEtNFvO.js → sheet-1fChZjtw.js} +3 -3
- package/dist/sheet.js +1 -1
- package/dist/{slider-ClgpP7EB.js → slider-B-JP2JlI.js} +4 -4
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +2 -2
- package/dist/springPresets--YdWTHtm.js +40 -0
- package/dist/stacked-icons.js +6 -6
- package/dist/styles/animations.css +29 -114
- package/dist/styles/cards.css +55 -0
- package/dist/styles/components.css +4 -1
- package/dist/styles/configurator.css +42 -0
- package/dist/styles/dock/layer-group.css +83 -25
- package/dist/styles/dock/layers.css +23 -1
- package/dist/styles/dock/morph-bridge.css +123 -0
- package/dist/styles/dock/morph.css +175 -45
- package/dist/styles/dock/overflow.css +51 -1
- package/dist/styles/dock/rail-extend.css +300 -0
- package/dist/styles/dock/shell.css +63 -105
- package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/dist/styles/dock-controls/icon-button.css +133 -0
- package/dist/styles/dock-controls/tab-button.css +202 -0
- package/dist/styles/dock-controls/touch-floor.css +94 -0
- package/dist/styles/dock-controls/triggers.css +128 -0
- package/dist/styles/dock-controls.css +30 -595
- package/dist/styles/dock.css +2 -0
- package/dist/styles/drawer.css +2 -0
- package/dist/styles/floating-panel.css +17 -0
- package/dist/styles/glass/a11y-fallback.css +245 -0
- package/dist/styles/glass/ladder.css +337 -0
- package/dist/styles/glass/material.css +238 -0
- package/dist/styles/glass/progress-rail.css +78 -0
- package/dist/styles/glass/squircle.css +66 -0
- package/dist/styles/glass/surfaces.css +306 -0
- package/dist/styles/glass-refract.css +2 -0
- package/dist/styles/glass.css +31 -1188
- package/dist/styles/hover-popover.css +2 -0
- package/dist/styles/index.css +28 -14
- package/dist/styles/instrument-chassis.css +4 -0
- package/dist/styles/paper.css +2 -68
- package/dist/styles/segmented-tabs.css +275 -0
- package/dist/styles/theme/bridges.css +337 -0
- package/dist/styles/theme/dark.css +7 -0
- package/dist/styles/theme/literals.css +94 -0
- package/dist/styles/theme/radius.css +95 -0
- package/dist/styles/theme.css +26 -529
- package/dist/styles/tokens/color-radius.css +260 -0
- package/dist/styles/tokens/dark-arm.css +200 -0
- package/dist/styles/tokens/glass.css +440 -0
- package/dist/styles/tokens/light-dark.css +158 -0
- package/dist/styles/tokens/offsets-sizing.css +500 -0
- package/dist/styles/tokens/property-regs.css +169 -0
- package/dist/styles/tokens/scale-paper.css +366 -0
- package/dist/styles/tokens/scheme-motion.css +334 -0
- package/dist/styles/tokens/shadow.css +166 -0
- package/dist/styles/tokens.css +22 -2360
- package/dist/styles/typography.css +75 -21
- package/dist/styles/utilities/a11y-overrides.css +140 -0
- package/dist/styles/utilities/animate.css +26 -0
- package/dist/styles/utilities/base.css +365 -0
- package/dist/styles/utilities/btn.css +401 -0
- package/dist/styles/utilities/components.css +317 -0
- package/dist/styles/utilities.css +19 -1318
- package/dist/styles/view-transition.css +0 -51
- package/dist/switch.js +1 -1
- package/dist/tabs.js +91 -82
- package/dist/timeline.js +1 -1
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/underline.d.ts +1 -0
- package/dist/underline.js +85 -0
- package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C5I3wWd8.js} +1 -1
- package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-DAoeHVue.js} +8 -8
- package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-yhL4Wp-s.js} +3 -22
- package/dist/useLiquidFlex-BL0lLLN2.js +30 -0
- package/dist/useRAFLoop-Bxv0o6L5.js +109 -0
- package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-Dlvx-L3v.js} +1 -1
- package/dist/useSpecularTracking-Bo5su68i.js +32 -0
- package/dist/useSpringMount-CI2jOstM.js +108 -0
- package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-Dg7MQI1G.js} +1 -1
- package/dist/utils/coalesceMetric.d.ts +29 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/vReveal-CqaCz_mC.js +44 -0
- package/dist/watercolor-dot.js +11 -9
- package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
- package/package.json +78 -58
- package/src/styles/animations.css +29 -114
- package/src/styles/cards.css +53 -0
- package/src/styles/configurator.css +42 -0
- package/src/styles/dock/layer-group.css +83 -25
- package/src/styles/dock/layers.css +23 -1
- package/src/styles/dock/morph-bridge.css +123 -0
- package/src/styles/dock/morph.css +175 -45
- package/src/styles/dock/overflow.css +51 -1
- package/src/styles/dock/rail-extend.css +300 -0
- package/src/styles/dock/shell.css +63 -105
- package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/src/styles/dock-controls/icon-button.css +133 -0
- package/src/styles/dock-controls/tab-button.css +202 -0
- package/src/styles/dock-controls/touch-floor.css +94 -0
- package/src/styles/dock-controls/triggers.css +128 -0
- package/src/styles/dock-controls.css +30 -595
- package/src/styles/dock.css +2 -0
- package/src/styles/floating-panel.css +15 -0
- package/src/styles/glass/a11y-fallback.css +245 -0
- package/src/styles/glass/ladder.css +337 -0
- package/src/styles/glass/material.css +238 -0
- package/src/styles/glass/progress-rail.css +78 -0
- package/src/styles/glass/squircle.css +66 -0
- package/src/styles/glass/surfaces.css +306 -0
- package/src/styles/glass.css +31 -1188
- package/src/styles/index.css +28 -14
- package/src/styles/paper.css +2 -68
- package/src/styles/segmented-tabs.css +271 -0
- package/src/styles/theme/bridges.css +337 -0
- package/src/styles/theme/dark.css +7 -0
- package/src/styles/theme/literals.css +94 -0
- package/src/styles/theme/radius.css +95 -0
- package/src/styles/theme.css +26 -529
- package/src/styles/tokens/color-radius.css +260 -0
- package/src/styles/tokens/dark-arm.css +200 -0
- package/src/styles/tokens/glass.css +440 -0
- package/src/styles/tokens/light-dark.css +158 -0
- package/src/styles/tokens/offsets-sizing.css +500 -0
- package/src/styles/tokens/property-regs.css +169 -0
- package/src/styles/tokens/scale-paper.css +366 -0
- package/src/styles/tokens/scheme-motion.css +334 -0
- package/src/styles/tokens/shadow.css +166 -0
- package/src/styles/tokens.css +22 -2360
- package/src/styles/typography.css +75 -21
- package/src/styles/utilities/a11y-overrides.css +140 -0
- package/src/styles/utilities/animate.css +26 -0
- package/src/styles/utilities/base.css +365 -0
- package/src/styles/utilities/btn.css +401 -0
- package/src/styles/utilities/components.css +317 -0
- package/src/styles/utilities.css +19 -1318
- package/src/styles/view-transition.css +0 -51
- package/dist/DeckProgress-Dmk4_AKN.js +0 -23
- package/dist/InstrumentRail-CUJ05YVG.js +0 -44
- package/dist/MetricBadge-BZVWIxNy.js +0 -80
- package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
- package/dist/components/custom/deck-progress/index.d.ts +0 -2
- package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
- package/dist/components/custom/dialog-native/index.d.ts +0 -1
- package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
- package/dist/components/custom/handmark/brush.d.ts +0 -242
- package/dist/components/custom/handmark/freehand.d.ts +0 -69
- package/dist/components/custom/handmark/geometry.d.ts +0 -50
- package/dist/components/custom/handmark/index.d.ts +0 -21
- package/dist/components/custom/handmark/ink.d.ts +0 -11
- package/dist/components/custom/handmark/texture.d.ts +0 -39
- package/dist/components/custom/handmark/types.d.ts +0 -53
- package/dist/components/custom/handmark/useHandMark.d.ts +0 -87
- package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
- package/dist/components/custom/instrument-rail/index.d.ts +0 -2
- package/dist/composables/motion/useRouteTransition.d.ts +0 -42
- package/dist/deck-progress.d.ts +0 -1
- package/dist/deck-progress.js +0 -2
- package/dist/dockContext-BKeIMmNk.js +0 -9
- package/dist/handmark.d.ts +0 -1
- package/dist/handmark.js +0 -663
- package/dist/instrument-rail.d.ts +0 -1
- package/dist/instrument-rail.js +0 -2
- package/dist/styles/instrument-rail.css +0 -127
- package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
- package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
- package/dist/useSpringMount-BJSHcLl3.js +0 -113
- package/dist/useViewTransition-DaN5Zrox.js +0 -21
- package/dist/vReveal-zUIQk-rJ.js +0 -53
- package/src/styles/instrument-rail.css +0 -127
- /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-CT3AS1WX.js} +0 -0
- /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-Csywg3YF.js} +0 -0
- /package/dist/{Input-xuDwALQR.js → Input-DWQQIOC4.js} +0 -0
- /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
- /package/dist/{Label-zRfbQdCn.js → Label-r3WzWrsj.js} +0 -0
- /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-DVLI2VRr.js} +0 -0
- /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-DIXTtVq6.js} +0 -0
- /package/dist/{Progress-iEuD9pxG.js → Progress-DwlUKGbr.js} +0 -0
- /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-aumMgWLs.js} +0 -0
- /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-BQ_1Fcbp.js} +0 -0
- /package/dist/{Separator-D7sD7RKj.js → Separator-0JE6LtNu.js} +0 -0
- /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
- /package/dist/{compile-BOXjLUxu.js → compile-B7NGOBcP.js} +0 -0
- /package/dist/{constants-yKeKnE84.js → constants-CS75AWHG.js} +0 -0
- /package/dist/{createContext-B44Sah_H.js → createContext-BM46COQ-.js} +0 -0
- /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
- /package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DPiEarb0.js} +0 -0
- /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
- /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Cc-H9ees.js} +0 -0
- /package/dist/{useInterval-Dsmqwi03.js → useInterval-iHludrxk.js} +0 -0
- /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-Be3w_Rwk.js} +0 -0
- /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-BhgdhOIj.js} +0 -0
- /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-Dvn2RZJW.js} +0 -0
- /package/dist/{useSortable-C8ReQ50P.js → useSortable-muI29agz.js} +0 -0
- /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-DmRYkOBx.js} +0 -0
- /package/dist/{useTimer-3xqf_54b.js → useTimer-Dzarvzuk.js} +0 -0
- /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-B2h6jAM_.js} +0 -0
- /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-B40FK4Pa.js} +0 -0
|
@@ -193,9 +193,59 @@
|
|
|
193
193
|
the floor so the cascade re-resolves at touch scale. */
|
|
194
194
|
@media (pointer: coarse) {
|
|
195
195
|
.glass-dock[data-density] {
|
|
196
|
-
|
|
196
|
+
/* R5-2 — the coarse-register DEFAULT lives in the FALLBACK, NOT a
|
|
197
|
+
hard-pin. The coarse dock painted ~22% too big (the global
|
|
198
|
+
--ui-coarse-scale 1.5 → an ~80px collapsed pill). The dock-layer
|
|
199
|
+
comfort floors at a TIGHTER coarse register than the global --ui-scale
|
|
200
|
+
(the dock is a dense chrome strip, not a body control): --dock-local-scale
|
|
201
|
+
falls back to --dock-coarse-scale (≈0.78; × the 1.5 global = ~1.17
|
|
202
|
+
effective → a ~60px collapsed pill). The consumer knob --dock-mobile-scale
|
|
203
|
+
WINS the fallback when set on ANY ancestor (inherited in, no specificity
|
|
204
|
+
war against this block — the dead-knob trap a hard `--dock-mobile-scale:
|
|
205
|
+
0.78` here would re-create), so a consumer who wants the dock to MATCH
|
|
206
|
+
the global comfort sets --dock-mobile-scale: 1; one who wants it larger
|
|
207
|
+
sets >1. The touch floor stays held by the `max(…, --dock-control-floor)`
|
|
208
|
+
clamp in every scaled control-size (the lift just below). */
|
|
209
|
+
--dock-local-scale: var(--dock-mobile-scale, var(--dock-coarse-scale, 0.78));
|
|
210
|
+
/* R5-1 — RE-DECLARE --dock-scale HERE so the consumer knob reaches the
|
|
211
|
+
geometry cascade. The :root definition (offsets-sizing.css) computes
|
|
212
|
+
`calc(var(--ui-scale) * var(--dock-local-scale, 1))` AT :root, where
|
|
213
|
+
--dock-local-scale is the frozen identity 1 — custom-property
|
|
214
|
+
SUBSTITUTION resolves --dock-scale once at its declaring element, so
|
|
215
|
+
the descendant --dock-local-scale lift on THIS block never re-flowed
|
|
216
|
+
into it (the AX.W55 substitution-vs-inheritance trap, 3rd recurrence).
|
|
217
|
+
Re-declaring --dock-scale on the SAME element that lifts
|
|
218
|
+
--dock-local-scale makes the var() resolve against the lifted value, so
|
|
219
|
+
the --dock-mobile-scale / --dock-coarse-scale knobs reach every
|
|
220
|
+
`calc(<base> * --dock-scale)` geometry leg. Identical to the :root
|
|
221
|
+
formula by construction. */
|
|
222
|
+
--dock-scale: calc(var(--ui-scale) * var(--dock-local-scale, 1));
|
|
197
223
|
--dock-control-floor: var(--dock-touch-target, 2.75rem);
|
|
198
224
|
--size-icon-btn: var(--dock-touch-target, 2.75rem);
|
|
225
|
+
/* R5-1 SWEEP — the OTHER :root tokens that derive from --dock-scale freeze
|
|
226
|
+
it at the :root value (where --dock-local-scale is the identity 1), so the
|
|
227
|
+
R5-2 dock-local 0.78 register never reaches them: the SAME
|
|
228
|
+
substitution-vs-inheritance trap, one level out. With --dock-scale now
|
|
229
|
+
re-declared ABOVE, RE-RESOLVE each derived token on THIS element so it
|
|
230
|
+
reads the dock-local --dock-scale (else --dock-icon-glyph /
|
|
231
|
+
--dock-collapsed-padding / --dock-layer-tab-size paint at the global 1.5×
|
|
232
|
+
while the density box paints at 1.17× — a desync the R5-2 register would
|
|
233
|
+
introduce). The formulas are IDENTICAL to their :root definitions; only
|
|
234
|
+
the resolution element moves so the lifted --dock-scale flows in. */
|
|
235
|
+
--dock-icon-glyph: calc(1.25rem * var(--dock-scale));
|
|
236
|
+
--dock-collapsed-padding: calc(0.25rem * var(--dock-scale));
|
|
237
|
+
--dock-layer-tab-size: calc(1.75rem * var(--dock-scale));
|
|
238
|
+
/* --dock-collapsed-summary-min-size derives from --dock-layer-height (the
|
|
239
|
+
density-resolved control height on .glass-dock[data-density]) — but its
|
|
240
|
+
:root definition reads --dock-layer-height at :root, where density.css
|
|
241
|
+
never sets it, so it froze at the inline 2.5rem fallback × 0.85 = 34px
|
|
242
|
+
(the pre-existing freeze, independent of R5-2). Re-resolving it HERE reads
|
|
243
|
+
the density-painted --dock-layer-height so the collapsed circle FLOOR
|
|
244
|
+
tracks the dock scale (the "perfect circle" the user named scales on touch
|
|
245
|
+
with the box, not a frozen 34px floor). */
|
|
246
|
+
--dock-collapsed-summary-min-size: calc(
|
|
247
|
+
var(--dock-layer-height, 2.5rem) * 0.85
|
|
248
|
+
);
|
|
199
249
|
}
|
|
200
250
|
}
|
|
201
251
|
}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/* AZ.W-RAIL-EXTEND (+ R4-1) — the net-new hairline-rail facility's beyond-edge geometry.
|
|
2
|
+
*
|
|
3
|
+
* THE R4-1 ARCHITECTURE FIX. The `.glass-dock` root carries `contain: paint` +
|
|
4
|
+
* `backdrop-filter` + (on a vertical always-expanded rail) `overflow-y: auto` — ALL
|
|
5
|
+
* THREE hard-clip every descendant to the dock's border box. An absolutely-positioned
|
|
6
|
+
* `#rail` rendered as a dock CHILD could NEVER paint past that box: it was swallowed at
|
|
7
|
+
* the bottom edge (the R4-1 "black blob clipped at the dock edge" the user audited — the
|
|
8
|
+
* dock-icon-button is transparent-at-rest by design, so the clipped half-circle read as
|
|
9
|
+
* a dark blob). The escape: GlassDock now renders `<DockRail>` as a SIBLING of
|
|
10
|
+
* `.glass-dock` inside a `.glass-dock-frame` (a `display:contents` shell that becomes
|
|
11
|
+
* a NON-clipping positioning context only when `data-has-rail`). The `.dock-hairline-slot`
|
|
12
|
+
* is `position: absolute` relative to THAT shell — outside the dock's containment — so the
|
|
13
|
+
* hairline VISIBLY overruns the dock edge and the context end-icon PERSISTS on collapse
|
|
14
|
+
* (G2). No `contain`, no `backdrop-filter`, no `overflow` on the shell → nothing clips it.
|
|
15
|
+
*
|
|
16
|
+
* The hairline is composed from the `--border-hairline` token PAIR (the 0.5px
|
|
17
|
+
* catch-light + under-shadow the dock + instrument-chassis already speak) via
|
|
18
|
+
* `box-shadow` — a whisper, NEVER a hard `1px solid` rule (R1). The hairline OVERRUNS
|
|
19
|
+
* the dock content box by `--dock-rail-extend-length` (R3 — the beyond-edge extent),
|
|
20
|
+
* a dock-scoped geometry knob a consumer overrides.
|
|
21
|
+
*
|
|
22
|
+
* Because the rail is dock CHROME floating OUTSIDE the dock substrate, its end-icon
|
|
23
|
+
* carries its OWN glass-floating register (the dock-surface blur + the floating-tier
|
|
24
|
+
* fill + the edge-light rim) — it cannot borrow the dock's plate the way an in-dock
|
|
25
|
+
* `.dock-icon-button` does (that one is transparent-at-rest, reading the dock beneath).
|
|
26
|
+
*
|
|
27
|
+
* @import-ed by dock.css into the SAME `@layer components` as the other partials.
|
|
28
|
+
*/
|
|
29
|
+
@layer components {
|
|
30
|
+
:root {
|
|
31
|
+
/* The beyond-edge overrun length — how far the hairline runs PAST the dock
|
|
32
|
+
content box. A proportioned default (a touch more than a dock control); a
|
|
33
|
+
consumer retunes per-instance. Rides `--dock-scale` so it tracks the
|
|
34
|
+
coarse-pointer density thread the rest of the dock floor speaks. */
|
|
35
|
+
--dock-rail-extend-length: calc(2.5rem * var(--dock-scale, 1));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* The dock-frame wrapper. DEFAULT (`display: contents`) is layout-transparent
|
|
39
|
+
— the dock behaves as if the wrapper is not there (byte-identical no-rail path,
|
|
40
|
+
no positioning context interposed, the dock keeps its own fixed/sticky/inline
|
|
41
|
+
mode). When a `#rail` is authored it lifts to a real NON-clipping positioning
|
|
42
|
+
context so the abs-positioned rail slot anchors to the dock box yet escapes the
|
|
43
|
+
dock's `contain: paint` / `backdrop-filter` / `overflow` clip. */
|
|
44
|
+
.glass-dock-frame {
|
|
45
|
+
display: contents;
|
|
46
|
+
}
|
|
47
|
+
.glass-dock-frame[data-has-rail] {
|
|
48
|
+
display: inline-flex;
|
|
49
|
+
position: relative;
|
|
50
|
+
/* No containment, no overflow, no blur — the WHOLE point: the rail must paint
|
|
51
|
+
beyond the dock box. The wrapper shrink-wraps the dock (inline-flex) so its
|
|
52
|
+
box == the dock box and the rail anchors to the true edge. */
|
|
53
|
+
}
|
|
54
|
+
.glass-dock-frame[data-has-rail].vertical {
|
|
55
|
+
flex-direction: column;
|
|
56
|
+
align-items: stretch;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* The chrome-slot wrapper — a `position: absolute` sibling of `.glass-dock`,
|
|
60
|
+
anchored to the dock-frame (NOT the dock box), so the dock's clip never reaches it.
|
|
61
|
+
It paints nothing itself; `<DockRail>` owns the hairline + icon. */
|
|
62
|
+
.dock-hairline-slot {
|
|
63
|
+
position: absolute;
|
|
64
|
+
display: flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
pointer-events: none;
|
|
68
|
+
z-index: 1;
|
|
69
|
+
}
|
|
70
|
+
/* The end-icon control re-arms pointer events (the slot is pass-through). */
|
|
71
|
+
.dock-hairline-slot > * {
|
|
72
|
+
pointer-events: auto;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* AZ.W-RAIL3 — the slot hangs the floating carousel BELOW the dock's bottom edge
|
|
76
|
+
for BOTH orientations. The slot's top sits AT the dock's bottom edge
|
|
77
|
+
(`inset-block-start: 100%`) and the strip (a horizontal chip carousel) lives
|
|
78
|
+
wholly BELOW the dock. The slot anchors at the dock's LEADING (inline-start)
|
|
79
|
+
edge but is NOT clamped to the dock's width (`inset-inline-end: auto`), so a
|
|
80
|
+
carousel WIDER than a narrow vertical column overflows past the dock's inline
|
|
81
|
+
extent — the "floating carousel" that overflows OUTSIDE the dock (the box stays
|
|
82
|
+
INVIOLATE because the slot is `position: absolute`, never feeding the dock's
|
|
83
|
+
intrinsic size). The connective hairline (`.dock-hairline-extend::before`) is
|
|
84
|
+
center-aligned over the strip so it reads as a connector from the dock edge. */
|
|
85
|
+
.glass-dock-frame[data-has-rail].vertical .dock-hairline-slot {
|
|
86
|
+
inset-inline-start: 100%;
|
|
87
|
+
/* seat the carousel CENTERED beside the dock column. A top-anchored seat
|
|
88
|
+
collides with the page H1/breadcrumb band at scroll-top (any fixed offset
|
|
89
|
+
from the dock top lands in it at some viewport); the vertical center is
|
|
90
|
+
stable across viewport heights and reads as the carousel riding the dock's
|
|
91
|
+
midline, clear of the title band. */
|
|
92
|
+
inset-block-start: 50%;
|
|
93
|
+
inset-block-end: auto;
|
|
94
|
+
translate: 0 -50%;
|
|
95
|
+
flex-direction: row;
|
|
96
|
+
align-items: flex-start;
|
|
97
|
+
justify-content: flex-start;
|
|
98
|
+
}
|
|
99
|
+
.glass-dock-frame[data-has-rail]:not(.vertical) .dock-hairline-slot {
|
|
100
|
+
inset-block-end: 100%;
|
|
101
|
+
inset-inline-start: 0;
|
|
102
|
+
inset-inline-end: auto;
|
|
103
|
+
flex-direction: column;
|
|
104
|
+
align-items: flex-start;
|
|
105
|
+
justify-content: flex-end;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* AZ.W-RAIL3 — the FLOATING CAROUSEL strip. The hairline element is the wrapper
|
|
109
|
+
that carries (a) a VISIBLE connective hairline running from the dock edge down
|
|
110
|
+
to the strip (the user's "the hairline must visibly connect") and (b) the
|
|
111
|
+
`.dock-hairline-strip` — a flex row of detached glass chips, the floating
|
|
112
|
+
carousel that overflows OUTSIDE the dock box (the third-rail redirect: the
|
|
113
|
+
contextual facets are no longer in-dock layers; they are the rail's content). */
|
|
114
|
+
.dock-hairline-extend {
|
|
115
|
+
position: relative;
|
|
116
|
+
display: flex;
|
|
117
|
+
gap: 0;
|
|
118
|
+
}
|
|
119
|
+
/* Vertical dock — connector (a horizontal line) then the chip COLUMN, left-to-right
|
|
120
|
+
(the carousel rides BESIDE the dock in its trailing gutter). */
|
|
121
|
+
.dock-hairline-extend.vertical {
|
|
122
|
+
flex-direction: row;
|
|
123
|
+
align-items: flex-start;
|
|
124
|
+
}
|
|
125
|
+
/* Horizontal dock — the strip sits ABOVE: stack the chip-row then the connector
|
|
126
|
+
bottom-up (column-reverse puts the first child, the connector, at the BOTTOM,
|
|
127
|
+
nearest the dock's top edge — so a viewport-bottom-anchored dock keeps its
|
|
128
|
+
carousel ON-SCREEN above it). */
|
|
129
|
+
.dock-hairline-extend.horizontal {
|
|
130
|
+
flex-direction: column-reverse;
|
|
131
|
+
align-items: flex-start;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* R3 — the VISIBLE connective hairline. R1 — the `--border-hairline` token pair
|
|
135
|
+
(catch-light + under-shadow) + a faint background fallback so the whisper reads
|
|
136
|
+
even over a busy backdrop (the user audited "NO VISIBLE HAIRLINE"). The line
|
|
137
|
+
overruns by `--dock-rail-extend-length` (the beyond-edge extent); the
|
|
138
|
+
`min-{inline,block}-size` floor is the proof:rail-extend R3 overrun witness. */
|
|
139
|
+
.dock-hairline-extend::before {
|
|
140
|
+
content: "";
|
|
141
|
+
flex: 0 0 auto;
|
|
142
|
+
box-shadow: var(--border-hairline);
|
|
143
|
+
background: var(--dock-layer-rail-divider, color-mix(in srgb, var(--border) 45%, transparent));
|
|
144
|
+
}
|
|
145
|
+
/* Vertical dock connector — a HORIZONTAL line running right from the dock's
|
|
146
|
+
trailing edge to the chip column, seated near the dock's vertical center. */
|
|
147
|
+
.dock-hairline-extend.vertical::before {
|
|
148
|
+
block-size: 1px;
|
|
149
|
+
inline-size: var(--dock-rail-extend-length);
|
|
150
|
+
min-inline-size: var(--dock-rail-extend-length);
|
|
151
|
+
align-self: center;
|
|
152
|
+
margin-inline-end: 0.25rem;
|
|
153
|
+
}
|
|
154
|
+
/* Horizontal dock connector — a VERTICAL line running up from the dock's top
|
|
155
|
+
edge to the chip row, seated near the dock's leading control center. */
|
|
156
|
+
.dock-hairline-extend.horizontal::before {
|
|
157
|
+
inline-size: 1px;
|
|
158
|
+
block-size: var(--dock-rail-extend-length);
|
|
159
|
+
min-block-size: var(--dock-rail-extend-length);
|
|
160
|
+
margin-inline-start: calc(var(--dock-control-size, 1.75rem) * 0.5);
|
|
161
|
+
margin-block-start: 0.25rem;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* `extent="inset"` keeps the connector flush at the edge (no overrun). */
|
|
165
|
+
.dock-hairline-extend.extent-inset.vertical::before {
|
|
166
|
+
inline-size: 0;
|
|
167
|
+
min-inline-size: 0;
|
|
168
|
+
}
|
|
169
|
+
.dock-hairline-extend.extent-inset.horizontal::before {
|
|
170
|
+
block-size: 0;
|
|
171
|
+
min-block-size: 0;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* The carousel strip — a flex run of chips that SCROLLS when the chips exceed the
|
|
175
|
+
budget (the common 2-4-facet case fits with no scroll; a larger set cycles).
|
|
176
|
+
`scroll-snap` gives the carousel detent feel. The strip paints OUTSIDE the dock
|
|
177
|
+
box (it is in the `.dock-hairline-slot`, a `.glass-dock-frame` sibling — R4). */
|
|
178
|
+
.dock-hairline-strip {
|
|
179
|
+
display: flex;
|
|
180
|
+
align-items: flex-start;
|
|
181
|
+
gap: var(--dock-rail-strip-gap, 0.375rem);
|
|
182
|
+
scrollbar-width: none;
|
|
183
|
+
padding: 0.125rem;
|
|
184
|
+
}
|
|
185
|
+
.dock-hairline-strip::-webkit-scrollbar {
|
|
186
|
+
display: none;
|
|
187
|
+
}
|
|
188
|
+
/* Vertical dock → a COLUMN carousel beside the dock, scrolls on the block axis. */
|
|
189
|
+
.dock-hairline-extend.vertical .dock-hairline-strip {
|
|
190
|
+
flex-direction: column;
|
|
191
|
+
max-block-size: var(--dock-rail-strip-max, 60vh);
|
|
192
|
+
overflow-y: auto;
|
|
193
|
+
overflow-x: visible;
|
|
194
|
+
scroll-snap-type: y proximity;
|
|
195
|
+
}
|
|
196
|
+
/* Horizontal dock → a ROW carousel above the dock, scrolls on the inline axis. */
|
|
197
|
+
.dock-hairline-extend.horizontal .dock-hairline-strip {
|
|
198
|
+
flex-direction: row;
|
|
199
|
+
align-items: center;
|
|
200
|
+
max-inline-size: var(--dock-rail-strip-max, 60vw);
|
|
201
|
+
overflow-x: auto;
|
|
202
|
+
overflow-y: visible;
|
|
203
|
+
scroll-snap-type: x proximity;
|
|
204
|
+
}
|
|
205
|
+
.dock-hairline-strip > * {
|
|
206
|
+
scroll-snap-align: start;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* Each chip — a detached FLOATING glass pill (R4-1's register, now a label-bearing
|
|
210
|
+
carousel chip, auto-width). It is chrome OUTSIDE the dock substrate, so it
|
|
211
|
+
carries its OWN glass plate (the floating-tier fill + edge-light rim + soft
|
|
212
|
+
drop) rather than borrowing the transparent in-dock `.dock-icon-button` recipe
|
|
213
|
+
(which would read as a bare dark glyph — the R4-1 blob). Reads the SAME
|
|
214
|
+
`--dock-control-*` / glass tokens the dock speaks, so it re-tints under `.dark`
|
|
215
|
+
+ the adaptive bucket for free.
|
|
216
|
+
|
|
217
|
+
SPECIFICITY: the chip composes the `.dock-icon-button` base (the specular-track
|
|
218
|
+
+ glass register), which sets a FIXED square `width`/`padding` in
|
|
219
|
+
dock-controls.css — loaded AFTER this partial, so a bare `.dock-hairline-extend-
|
|
220
|
+
chip` (equal specificity) loses the source-order tie. Scoping the sizing/surface
|
|
221
|
+
overrides under `.dock-hairline-strip` (0,2,0) beats the base `.dock-icon-button`
|
|
222
|
+
(0,1,0) without `!important` on the geometry. */
|
|
223
|
+
.dock-hairline-strip .dock-hairline-extend-chip {
|
|
224
|
+
flex-shrink: 0;
|
|
225
|
+
/* override the fixed dock-icon-button square → an auto-width label pill */
|
|
226
|
+
inline-size: auto;
|
|
227
|
+
width: auto;
|
|
228
|
+
min-inline-size: 0;
|
|
229
|
+
block-size: auto;
|
|
230
|
+
height: auto;
|
|
231
|
+
gap: 0.375rem;
|
|
232
|
+
padding-inline: 0.625rem;
|
|
233
|
+
padding-block: 0.3125rem;
|
|
234
|
+
background: var(--glass-bg-floating);
|
|
235
|
+
/* §6 EASING DOCTRINE — the surface channel (bg/border/color/box-shadow) cross-
|
|
236
|
+
fades on `--ease-standard` (a bezier, NO overshoot), NEVER a spring (a
|
|
237
|
+
surface prop wobbling on a spring is the §6 violation). The scale/transform
|
|
238
|
+
stay on the dock-control spring untouched. */
|
|
239
|
+
transition:
|
|
240
|
+
background-color var(--duration-fast) var(--ease-standard),
|
|
241
|
+
box-shadow var(--duration-fast) var(--ease-standard),
|
|
242
|
+
border-color var(--duration-fast) var(--ease-standard),
|
|
243
|
+
color var(--duration-fast) var(--ease-standard);
|
|
244
|
+
backdrop-filter: var(--glass-blur-floating);
|
|
245
|
+
-webkit-backdrop-filter: var(--glass-blur-floating);
|
|
246
|
+
box-shadow:
|
|
247
|
+
var(--glass-edge-light),
|
|
248
|
+
var(--glass-specular),
|
|
249
|
+
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 22%, transparent);
|
|
250
|
+
border-radius: var(--radius-pill);
|
|
251
|
+
font-size: 0.75rem;
|
|
252
|
+
font-weight: 500;
|
|
253
|
+
color: color-mix(in srgb, var(--dock-fg-on-aurora, var(--foreground)) 82%, transparent);
|
|
254
|
+
white-space: nowrap;
|
|
255
|
+
}
|
|
256
|
+
.dark .dock-hairline-strip .dock-hairline-extend-chip {
|
|
257
|
+
box-shadow:
|
|
258
|
+
var(--glass-edge-light-dark),
|
|
259
|
+
var(--glass-specular-dark),
|
|
260
|
+
0 2px 6px -2px color-mix(in srgb, var(--shadow-color) 30%, transparent);
|
|
261
|
+
}
|
|
262
|
+
/* Floor the glyph at the chip's icon scale — the `.dock-icon-button` glyph rule
|
|
263
|
+
(a fixed `--dock-icon-glyph`) would over-size it inside the label pill. */
|
|
264
|
+
.dock-hairline-strip .dock-hairline-extend-chip svg {
|
|
265
|
+
inline-size: 0.875rem;
|
|
266
|
+
width: 0.875rem;
|
|
267
|
+
block-size: 0.875rem;
|
|
268
|
+
height: 0.875rem;
|
|
269
|
+
flex-shrink: 0;
|
|
270
|
+
}
|
|
271
|
+
.dock-hairline-extend-chip-label {
|
|
272
|
+
line-height: 1;
|
|
273
|
+
}
|
|
274
|
+
/* The hover lift — the dock-control register: the floating plate firms, the glyph
|
|
275
|
+
wakes. Rides the surface easing doctrine (§6). */
|
|
276
|
+
.dock-hairline-strip .dock-hairline-extend-chip:hover {
|
|
277
|
+
background: var(--dock-control-hover-bg, var(--glass-bg-resting));
|
|
278
|
+
color: var(--dock-fg-on-aurora, var(--foreground));
|
|
279
|
+
}
|
|
280
|
+
/* The ACTIVE chip — the selected facet reads as a glass tier ABOVE the rest fill
|
|
281
|
+
(the "selected reads as glass" register, the SAME tier `--dock-control-active-bg`
|
|
282
|
+
uses — NOT a saturated brand hue, per W-REGISTER-IOS). The glyph + label firm to
|
|
283
|
+
the full warm-ink. */
|
|
284
|
+
.dock-hairline-strip .dock-hairline-extend-chip.is-active {
|
|
285
|
+
background: var(--dock-control-active-bg, var(--glass-bg-floating));
|
|
286
|
+
color: var(--dock-fg-on-aurora, var(--foreground));
|
|
287
|
+
box-shadow:
|
|
288
|
+
var(--glass-edge-light),
|
|
289
|
+
var(--glass-specular),
|
|
290
|
+
0 0 0 1px color-mix(in srgb, var(--foreground) 12%, transparent),
|
|
291
|
+
0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 28%, transparent);
|
|
292
|
+
}
|
|
293
|
+
.dark .dock-hairline-strip .dock-hairline-extend-chip.is-active {
|
|
294
|
+
box-shadow:
|
|
295
|
+
var(--glass-edge-light-dark),
|
|
296
|
+
var(--glass-specular-dark),
|
|
297
|
+
0 0 0 1px color-mix(in srgb, var(--foreground) 18%, transparent),
|
|
298
|
+
0 3px 8px -2px color-mix(in srgb, var(--shadow-color) 36%, transparent);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
@@ -64,6 +64,23 @@
|
|
|
64
64
|
stacking-context guarantee). Covers every dock scale site. */
|
|
65
65
|
scale: 1;
|
|
66
66
|
position: relative;
|
|
67
|
+
/* AZ.W-ADAPTIVE-AUTO Arm 1 — the dock self-darkens over light backdrops by
|
|
68
|
+
default via the UNCONDITIONAL `:where(.glass-dock)` self-engage rule in
|
|
69
|
+
dock/morph.css (mirroring the overlay band's `ladder.css:169`): it re-points
|
|
70
|
+
the inheriting `--glass-tint-source`/`--glass-tint-strength` directly on the
|
|
71
|
+
dock root, so the shell + chassis + held/open tiers darken toward warm-ink
|
|
72
|
+
with NO consumer opt-in (a dock floats over arbitrary — frequently light —
|
|
73
|
+
page content). `--glass-backdrop: light` is KEPT here so a consumer's
|
|
74
|
+
DESCENDANT nested-glass inside the dock also reads the bright bucket via the
|
|
75
|
+
ancestor-querying `@container` block in dock/morph.css (CSS style queries
|
|
76
|
+
never self-match, so this declaration alone is inert for the dock's OWN
|
|
77
|
+
plate — the self-engage rule, not this token, darkens the dock). */
|
|
78
|
+
--glass-backdrop: light;
|
|
79
|
+
/* AY.W-A11Y-PERF O-4 — paint containment so the maximal-glass nested
|
|
80
|
+
backdrop-filter sample does not escape the dock box (the standard nested-
|
|
81
|
+
backdrop-cost mitigation; the Button-in-glass-in-dock stack re-samples the
|
|
82
|
+
already-blurred buffer at each level without it). */
|
|
83
|
+
contain: paint;
|
|
67
84
|
display: inline-flex;
|
|
68
85
|
align-items: center;
|
|
69
86
|
/* AW.W1 — the dock does NOT establish a default inline-size container.
|
|
@@ -243,27 +260,42 @@
|
|
|
243
260
|
scale var(--dock-motion-resize);
|
|
244
261
|
}
|
|
245
262
|
|
|
246
|
-
.
|
|
263
|
+
/* AZ.W-DOCK-TAXONOMY — the vertical dock's surface plate (the prior
|
|
264
|
+
`.variant-rail` block; "rail-ness" is now `orientation="vertical"` + a
|
|
265
|
+
shape/density choice, not a variant). */
|
|
266
|
+
.glass-dock.vertical {
|
|
247
267
|
padding: var(--dock-rail-padding, var(--dock-padding-inline, 0.5rem));
|
|
248
|
-
|
|
268
|
+
/* AZ.W-ADAPTIVE-AUTO Arm 1 — the vertical dock threads the SAME element-level
|
|
269
|
+
oklab tint wrapper the shell base carries (NOT the pre-substituted
|
|
270
|
+
`--glass-bg-dock` token alone, whose inner tint baked at the `:root` 0%
|
|
271
|
+
strength before the `:where(.glass-dock)` self-engage re-points the
|
|
272
|
+
inheriting tint tokens — the substitution-vs-inheritance trap §3a names).
|
|
273
|
+
Wrapping HERE lets the self-engage darken reach the vertical dock's OWN
|
|
274
|
+
plate. Zero-delta at the `0%` rest default (the mix is a no-op =
|
|
275
|
+
byte-identical to the flat dock bg). */
|
|
276
|
+
background: color-mix(
|
|
277
|
+
in oklab,
|
|
278
|
+
var(--glass-bg-dock, var(--glass-bg-wash)),
|
|
279
|
+
var(--glass-tint-source) var(--glass-tint-strength)
|
|
280
|
+
);
|
|
249
281
|
border-color: var(--glass-border-dock, var(--glass-border-wash));
|
|
250
282
|
}
|
|
251
283
|
|
|
252
|
-
.glass-dock.
|
|
284
|
+
.glass-dock.vertical.shape-pill {
|
|
253
285
|
border-radius: var(--radius-pill);
|
|
254
286
|
}
|
|
255
287
|
|
|
256
|
-
.glass-dock.
|
|
288
|
+
.glass-dock.vertical.shape-rounded {
|
|
257
289
|
border-radius: var(--radius-xl);
|
|
258
290
|
}
|
|
259
291
|
|
|
260
|
-
/* AW.W3b — horizontal-root shape rules. The `shape-*` class
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
.glass-dock
|
|
292
|
+
/* AW.W3b — horizontal-root shape rules. The `shape-*` class once bound ONLY under
|
|
293
|
+
the vertical surface; on a horizontal dock the prop silently no-op'd (the root
|
|
294
|
+
hardwired `--radius-dock` = `--radius-pill`). These rules close that
|
|
295
|
+
documented-but-dead prop — `shape="rounded"` / `shape="card"` now paint on a
|
|
296
|
+
horizontal dock. Scoped to `:not(.vertical)` so the vertical dock (which owns
|
|
297
|
+
its own radius above) is untouched. */
|
|
298
|
+
.glass-dock:not(.vertical).shape-rounded {
|
|
267
299
|
border-radius: var(--radius-xl);
|
|
268
300
|
}
|
|
269
301
|
|
|
@@ -275,7 +307,7 @@
|
|
|
275
307
|
prior two discrete `.shape-card` / `.shape-card.collapsed` rules + their
|
|
276
308
|
reliance on the deleted `border-radius var(--dock-motion-resize)` transition
|
|
277
309
|
are RETIRED for this single interpolation. */
|
|
278
|
-
.glass-dock
|
|
310
|
+
.glass-dock:not(.vertical).shape-card {
|
|
279
311
|
border-radius: calc(
|
|
280
312
|
var(--radius-pill) +
|
|
281
313
|
(var(--dock-card-radius) - var(--radius-pill)) *
|
|
@@ -295,80 +327,18 @@
|
|
|
295
327
|
condition tests the LITERAL `superellipse(2)` (a `var()` is not evaluable in
|
|
296
328
|
an `@supports` query) — the same Chrome-139 feature the token resolves to. */
|
|
297
329
|
@supports (corner-shape: superellipse(2)) {
|
|
298
|
-
.glass-dock
|
|
330
|
+
.glass-dock:not(.vertical).shape-card {
|
|
299
331
|
corner-shape: var(--corner-shape-bigdock);
|
|
300
332
|
}
|
|
301
333
|
}
|
|
302
334
|
|
|
303
|
-
/*
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
*
|
|
311
|
-
* The variant intentionally inherits the rail variant's vertical
|
|
312
|
-
* layout (orientation: vertical; flex-direction: column) — the
|
|
313
|
-
* orientation + fitContent computeds in GlassDock.vue branch on
|
|
314
|
-
* `variant === "instrument-strip"` alongside the existing rail
|
|
315
|
-
* branch. Only the surface vocabulary changes vs the rail:
|
|
316
|
-
* - Border-radius drops from `--radius-pill` to `--radius-card`
|
|
317
|
-
* (matches `<InstrumentChassis> { border-radius: var(--radius-card) }`).
|
|
318
|
-
* - Background plate routes through `--glass-bg-chassis` (0.28α
|
|
319
|
-
* per tokens.css §V) instead of `--glass-bg-wash`.
|
|
320
|
-
* - Border routes through `--glass-border-quiet` to match the
|
|
321
|
-
* chassis primitive's at-rest stroke.
|
|
322
|
-
* - Box-shadow routes through `--glass-shadow-quiet` plus the
|
|
323
|
-
* inset-bottom hairline matching the chassis primitive
|
|
324
|
-
* (instrument-chassis.css:42-45).
|
|
325
|
-
*
|
|
326
|
-
* The `.shape-pill` / `.shape-rounded` class hooks are still emitted
|
|
327
|
-
* by the template but no rule binds them under
|
|
328
|
-
* `.variant-instrument-strip` — chassis-strip carries ONE canonical
|
|
329
|
-
* border-radius (`--radius-card`), per the chassis family. */
|
|
330
|
-
.glass-dock.variant-instrument-strip {
|
|
331
|
-
padding: var(
|
|
332
|
-
--dock-instrument-strip-padding,
|
|
333
|
-
var(--dock-padding-inline, 0.75rem)
|
|
334
|
-
);
|
|
335
|
-
/* AX.W55 — the chassis-strip threads the SAME oklab tint wrapper the five
|
|
336
|
-
rungs + the dock shell (--glass-bg-dock) carry, so the adaptive darken
|
|
337
|
-
reaches it. Zero-delta at the `0%` rest default (the mix is 0% toward the
|
|
338
|
-
source = byte-identical to the flat `var(--glass-bg-chassis)`); it only
|
|
339
|
-
activates under the bright bucket below. */
|
|
340
|
-
background: color-mix(
|
|
341
|
-
in oklab,
|
|
342
|
-
var(--glass-bg-chassis, var(--glass-bg-wash)),
|
|
343
|
-
var(--glass-tint-source) var(--glass-tint-strength)
|
|
344
|
-
);
|
|
345
|
-
border: 1px solid var(--glass-border-quiet, var(--glass-border-resting));
|
|
346
|
-
border-radius: var(--radius-card);
|
|
347
|
-
box-shadow:
|
|
348
|
-
var(--glass-shadow-quiet, var(--shadow-dock)),
|
|
349
|
-
inset 0 -0.5px 0 0 rgb(0 0 0 / 0.06);
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
/* Engraved-bezel inner stroke — matches `<InstrumentChassis>::before`
|
|
353
|
-
* (instrument-chassis.css:85-93). The chassis-strip silhouette without
|
|
354
|
-
* this stroke reads as a flat plate; with it the strip reads as the
|
|
355
|
-
* polished sleeve of an instrument-panel module. The `::before`
|
|
356
|
-
* z-index sits above the chassis backdrop but below the slotted
|
|
357
|
-
* content (the MetricBadge stack), matching the chassis primitive's
|
|
358
|
-
* z-order. The host `.glass-dock` is already `position: relative`. */
|
|
359
|
-
.glass-dock.variant-instrument-strip::before {
|
|
360
|
-
content: "";
|
|
361
|
-
position: absolute;
|
|
362
|
-
inset: 0.5px;
|
|
363
|
-
border-radius: calc(var(--radius-card) - 0.5px);
|
|
364
|
-
border: 1px solid var(--surface-tint-4);
|
|
365
|
-
pointer-events: none;
|
|
366
|
-
z-index: 1;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
.dark .glass-dock.variant-instrument-strip::before {
|
|
370
|
-
border-color: var(--surface-tint-6);
|
|
371
|
-
}
|
|
335
|
+
/* AZ.W-DOCK-TAXONOMY — the `instrument-strip` chassis-strip variant is RETIRED
|
|
336
|
+
(the ≥2-consumer bar). It carried the vocabulary of the InstrumentRail
|
|
337
|
+
component RETIRED at AY W-IC1; with the `variant` discriminant gone and no
|
|
338
|
+
live `variant="instrument-strip"` call-site in src/ or demo/, the chassis
|
|
339
|
+
paint has zero consumers. The cross-repo speedtest SurveyResultDock cockpit
|
|
340
|
+
re-pins in its own migration (recorded in MIGRATION.md). A consumer needing
|
|
341
|
+
the chassis surface composes `<InstrumentChassis>` directly. */
|
|
372
342
|
|
|
373
343
|
.glass-dock:where(.fixed) {
|
|
374
344
|
z-index: var(--z-dock);
|
|
@@ -426,32 +396,20 @@
|
|
|
426
396
|
margin-block-start: var(--dock-layer-gap, 0.375rem);
|
|
427
397
|
}
|
|
428
398
|
|
|
429
|
-
/*
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
399
|
+
/* AZ.W-DOCK-TAXONOMY (move 2) — the VERTICAL dock's layer panes lay their content
|
|
400
|
+
out as a COLUMN. The dock body is now the SAME orientation-agnostic
|
|
401
|
+
`.dock-layers` full/summary morph pair the horizontal dock uses (the prior
|
|
402
|
+
static `.dock-layer--vertical-body` single-stack RETIRED — a vertical dock now
|
|
403
|
+
collapses its block axis too). The base `.dock-layer { display: flex;
|
|
404
|
+
align-items: center }` is row by default; here the full/summary panes flip to a
|
|
405
|
+
stretched column stack carrying the dock's `--dock-layer-gap` rhythm, so
|
|
406
|
+
authored item groups + `<DockSeparator>` rules read with the correct vertical
|
|
407
|
+
cadence. The block-axis morph aperture is owned by `.dock-layers` (layers.css —
|
|
408
|
+
`.glass-dock.vertical[data-morphing] .dock-layers` morphs `block-size`). */
|
|
409
|
+
.glass-dock.vertical .dock-layer {
|
|
440
410
|
flex-direction: column;
|
|
441
411
|
align-items: stretch;
|
|
442
412
|
gap: var(--dock-layer-gap, 0.375rem);
|
|
443
413
|
min-width: 0;
|
|
444
414
|
}
|
|
445
|
-
|
|
446
|
-
/* The OPTIONAL trailing `#collapsed` section (the vertical analogue of the
|
|
447
|
-
horizontal summary pane) — a persistent secondary group below a structural
|
|
448
|
-
`<DockSeparator>`, sharing the column's gap rhythm. Renders only when the
|
|
449
|
-
consumer authors a `#collapsed` slot (GlassDock.vue guards it), so a vertical
|
|
450
|
-
dock with no collapsed slot keeps the prior single-stack body. */
|
|
451
|
-
.glass-dock.vertical .dock-layer--vertical-section {
|
|
452
|
-
display: flex;
|
|
453
|
-
flex-direction: column;
|
|
454
|
-
align-items: stretch;
|
|
455
|
-
gap: var(--dock-layer-gap, 0.375rem);
|
|
456
|
-
}
|
|
457
415
|
}
|