@mkbabb/glass-ui 3.1.1 → 3.3.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/{CardFooter-CSGcJkqa.js → CardFooter-C390imy7.js} +3 -3
- package/dist/{CollapsibleContent-CVMOcYlV.js → CollapsibleContent-cauTbZEM.js} +1 -1
- package/dist/{CommandShortcut-DWT19a2Y.js → CommandShortcut-BiVyqipe.js} +7 -6
- package/dist/{ContextMenuSubContent-gAFxJ-qi.js → ContextMenuSubContent-DrWkXKQP.js} +4 -4
- package/dist/DataTable-FfkaAg2z.js +465 -0
- package/dist/DialogContent-IQ8_BRrC.js +100 -0
- package/dist/{DialogFooter-ClrNEOVU.js → DialogFooter-Er0wA3K6.js} +2 -2
- package/dist/{DiscoGlyph-C3JfMnRV.js → DiscoGlyph-BaZ8OawK.js} +1 -1
- package/dist/{GlyphFace-BRS8vUb7.js → GlyphFace-B_7vOmYn.js} +1 -1
- package/dist/HoverPopover-DTSYkJtw.js +96 -0
- package/dist/{IconTooltip-BkaA7tZ2.js → IconTooltip-BTyYn4mr.js} +1 -1
- package/dist/Input-CU9CNKmo.js +52 -0
- package/dist/{MetricBadge-DmAihkXd.js → MetricBadge-BlrdbOGN.js} +2 -2
- package/dist/{Notification-OqIpADml.js → Notification-DP_ApJLo.js} +3 -3
- package/dist/{NumberFieldContent-DTH9gb_N.js → NumberFieldContent-iOTQ5rGO.js} +9 -5
- package/dist/{PopoverContent-EiklFrna.js → PopoverContent-B8WtJECb.js} +1 -1
- package/dist/Progress-DjM86vfb.js +254 -0
- package/dist/{ScrollingText-BFd0i2zJ.js → ScrollingText-P9o_DuMn.js} +2 -2
- package/dist/{SelectScrollDownButton-Dth8-wXQ.js → SelectScrollDownButton-BGn3rjs9.js} +12 -11
- package/dist/TabsIndicator-DA0x9gPr.js +97 -0
- package/dist/{Toaster-Bjlunvq4.js → Toaster-DdhMKfus.js} +1 -1
- package/dist/{ToggleGroupItem-OesUouE7.js → ToggleGroupItem-gyXj998A.js} +37 -40
- package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
- package/dist/animated-digit.js +3 -3
- package/dist/api/index.d.ts +2 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +471 -320
- package/dist/badge.js +1 -1
- package/dist/{button-C0aHmBbt.js → button-Ckn3eDfB.js} +27 -22
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +6 -6
- package/dist/{check-dwgetki8.js → check-CdkxGxXJ.js} +1 -1
- package/dist/{chevron-down-DILQA1t6.js → chevron-down-pBY8sYfV.js} +1 -1
- package/dist/{chevron-right-fS7fal2t.js → chevron-right-BjeKC22V.js} +1 -1
- package/dist/{chevron-up-BtYjYQOS.js → chevron-up-DBeNHUm1.js} +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-rkK4RMx2.js +33 -0
- package/dist/color.d.ts +1 -0
- package/dist/color.js +2 -0
- package/dist/command.js +1 -1
- package/dist/compile-DVgAxagk.js +106 -0
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
- package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
- package/dist/components/custom/aurora/composables/color.d.ts +42 -16
- package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
- package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
- package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +3 -6
- package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
- package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/index.d.ts +4 -3
- package/dist/components/custom/configurator/Configurator.vue.d.ts +26 -0
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
- package/dist/components/custom/configurator/density.d.ts +3 -8
- package/dist/components/custom/configurator/index.d.ts +1 -1
- package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +15 -4
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
- package/dist/components/custom/dock/GlassDock.vue.d.ts +34 -13
- package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
- package/dist/components/custom/dock/index.d.ts +1 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
- package/dist/components/custom/glyph-face/keys.d.ts +3 -29
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
- package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
- package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
- package/dist/components/custom/goo-blob/index.d.ts +7 -0
- package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
- package/dist/components/custom/goo-blob/types.d.ts +77 -0
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
- package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
- package/dist/components/custom/sortable-list/context.d.ts +2 -3
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
- package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
- package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
- package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
- package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
- package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
- package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
- package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
- package/dist/components/ui/avatar/index.d.ts +1 -1
- package/dist/components/ui/badge/index.d.ts +2 -2
- package/dist/components/ui/button/Button.vue.d.ts +3 -1
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
- package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -3
- package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
- package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
- package/dist/components/ui/input/Input.vue.d.ts +19 -1
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
- package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
- package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
- package/dist/components/ui/progress/index.d.ts +5 -2
- package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
- package/dist/components/ui/select/Select.vue.d.ts +2 -2
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/slider/index.d.ts +12 -11
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
- package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
- 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/toggleGroupContext.d.ts +2 -3
- package/dist/composables/color/index.d.ts +49 -0
- package/dist/composables/context/createContext.d.ts +56 -0
- package/dist/composables/context/index.d.ts +1 -0
- package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
- package/dist/composables/dark/index.d.ts +3 -0
- package/dist/composables/dark/useGlobalDark.d.ts +19 -2
- package/dist/composables/dom/index.d.ts +1 -3
- package/dist/composables/dom/useClipboard.d.ts +35 -12
- package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
- package/dist/composables/dom/useTextHighlight.d.ts +40 -0
- package/dist/composables/glass/webgl/compile.d.ts +15 -0
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
- package/dist/composables/motion/core/index.d.ts +2 -1
- package/dist/composables/motion/index.d.ts +1 -1
- package/dist/composables/motion/useCountup.d.ts +29 -0
- package/dist/composables/motion/usePrioritizedTask.d.ts +41 -0
- package/dist/composables/motion/vReveal.d.ts +2 -0
- package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
- package/dist/composables/sortable/dragController.d.ts +44 -0
- package/dist/composables/sortable/dropResolver.d.ts +34 -0
- package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
- package/dist/composables/sortable/index.d.ts +1 -1
- package/dist/composables/sortable/touchGate.d.ts +26 -0
- package/dist/composables/sortable/transitionTiming.d.ts +50 -0
- package/dist/composables/sortable/types.d.ts +133 -0
- package/dist/composables/sortable/useSortable.d.ts +25 -140
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +3 -3
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +5 -5
- package/dist/createContext-DBMGRlx4.js +25 -0
- package/dist/dark.d.ts +2 -1
- package/dist/dark.js +9 -2
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/disco-glyph.js +1 -1
- package/dist/dock.js +410 -254
- package/dist/dockContext-spUj_-E5.js +9 -0
- package/dist/dom.js +6 -5
- package/dist/{dropdown-menu-BvRUamNs.js → dropdown-menu-EFjl5iKo.js} +4 -4
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +28 -22
- package/dist/fonts/README.md +21 -0
- package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/dist/forms.js +70 -61
- package/dist/glass-carousel.js +59 -52
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +159 -254
- package/dist/glyph-face.js +2 -2
- package/dist/goo-blob.d.ts +1 -0
- package/dist/goo-blob.js +538 -0
- package/dist/header-ribbon.js +3 -3
- 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 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/instrument-rail.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/keys-BFoma9vm.js +9 -0
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +57 -39
- package/dist/metric-badge.js +1 -1
- package/dist/metric-stack.js +1 -1
- package/dist/{minimize-2-LsCJ_eNt.js → minimize-2-BP27-qBY.js} +1 -1
- package/dist/motion-core.js +154 -135
- package/dist/motion.js +63 -15
- 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-a-D93K1S.js → presets-1OhFpaIC.js} +5 -5
- package/dist/prng-Bz_1Tydc.js +15 -0
- package/dist/progress.js +2 -2
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/responsive-tabs.js +38 -32
- package/dist/scrolling-text.js +1 -1
- package/dist/{search-DBAiUABx.js → search-DBG8qaRs.js} +1 -1
- package/dist/search.js +153 -149
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/{sheet-CukNDezz.js → sheet-CQYYrkr9.js} +3 -3
- package/dist/sheet.js +1 -1
- package/dist/{slider-DJvHkTRe.js → slider-BOh8ycfZ.js} +8 -12
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +37 -39
- package/dist/stacked-icons.js +2 -2
- package/dist/styles/animations.css +1 -1
- package/dist/styles/cards.css +1 -1
- package/dist/styles/components.css +45 -0
- package/dist/styles/dock-controls.css +486 -0
- package/dist/styles/dock.css +325 -431
- package/dist/styles/fonts.css +25 -0
- package/dist/styles/glass-specular-track.css +154 -0
- package/dist/styles/glass.css +74 -2
- package/dist/styles/index.css +25 -2
- package/dist/styles/instrument-chassis.css +11 -4
- package/dist/styles/theme.css +73 -21
- package/dist/styles/tokens.css +282 -140
- package/dist/styles/typography.css +14 -8
- package/dist/styles/utilities.css +92 -8
- package/dist/styles/view-transition.css +10 -4
- package/dist/switch.js +1 -1
- package/dist/tabs.js +148 -106
- package/dist/timeline.js +220 -159
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-DKQYVB7s.js → useAnimatedNumber-BF6r64lA.js} +1 -1
- package/dist/useClipboard-D8vFyRCa.js +97 -0
- package/dist/useConfiguratorState-DUtC1jxr.js +276 -0
- package/dist/useGlobalDark-CWiaCoEw.js +34 -0
- package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
- package/dist/useSortable-DnyGXKKY.js +246 -0
- package/dist/useTextHighlight-Dmtofpk2.js +72 -0
- package/dist/{useTouchGate-D9Zvrzyc.js → useTouchGate-CS5Csc2h.js} +1 -1
- package/dist/{useViewTransition-DYIK6Gzb.js → useViewTransition-D4ssvnXZ.js} +5 -3
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/platformSupport.d.ts +8 -0
- package/dist/utils/prng.d.ts +4 -0
- package/dist/vReveal-u2wSG2El.js +35 -0
- package/dist/watercolor-dot.d.ts +1 -0
- package/dist/watercolor-dot.js +129 -0
- package/dist/{x-q7pJa83X.js → x-C4pz9nbD.js} +1 -1
- package/package.json +110 -16
- package/src/fonts/README.md +21 -0
- package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/src/styles/animations.css +1 -1
- package/src/styles/cards.css +1 -1
- package/src/styles/dock-controls.css +486 -0
- package/src/styles/dock.css +325 -431
- package/src/styles/fonts.css +25 -0
- package/src/styles/glass-specular-track.css +154 -0
- package/src/styles/glass.css +74 -2
- package/src/styles/index.css +21 -2
- package/src/styles/instrument-chassis.css +11 -4
- package/src/styles/theme.css +73 -21
- package/src/styles/tokens.css +282 -140
- package/src/styles/typography.css +14 -8
- package/src/styles/utilities.css +92 -8
- package/src/styles/view-transition.css +10 -4
- package/dist/DataTable-R8-Zidms.js +0 -460
- package/dist/DialogContent-2fALDSvc.js +0 -93
- package/dist/HoverPopover-CWFCfLx3.js +0 -96
- package/dist/Input-DDpFn568.js +0 -30
- package/dist/Progress-FApA9fm_.js +0 -126
- package/dist/UnderlineTabs-DAWMLmJG.js +0 -37
- package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
- package/dist/composables/dom/useBreakpoint.d.ts +0 -38
- package/dist/composables/dom/useIdleReady.d.ts +0 -63
- package/dist/composables/dom/useViewportReady.d.ts +0 -87
- package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
- package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
- package/dist/composables/motion/useStagger.d.ts +0 -50
- package/dist/dockContext-D5NZCWJs.js +0 -16
- package/dist/keys-CaTQS-vx.js +0 -11
- package/dist/useConfiguratorState-CtRBE0m_.js +0 -268
- package/dist/useGlobalDark-B0WvLJE3.js +0 -24
- package/dist/useIdleReady-Cmkhm03v.js +0 -162
- package/dist/useIntersectionPause-IY2CwPQb.js +0 -39
- package/dist/useSortable-Cq2Y1JLO.js +0 -175
- /package/dist/{ContextMenuContent-otjFIu8v.js → ContextMenuContent-De01_83g.js} +0 -0
- /package/dist/{HoverCardContent-DaGrgJBO.js → HoverCardContent-ICfIMZX1.js} +0 -0
- /package/dist/{InstrumentChassis-CnHTMxds.js → InstrumentChassis-DaHIZCqy.js} +0 -0
- /package/dist/{InstrumentRail-C6dEbi8E.js → InstrumentRail-B0qqLFN0.js} +0 -0
- /package/dist/{Label-DJty89bp.js → Label-CZk-3nTc.js} +0 -0
- /package/dist/{ModalOverlay-iWiAgbYH.js → ModalOverlay-B_CBtqcE.js} +0 -0
- /package/dist/{PaperBackdrop-CeZ-w0R0.js → PaperBackdrop-D_YZW47j.js} +0 -0
- /package/dist/{SelectGroup-DdR4tdDY.js → SelectGroup-CMdoCjRE.js} +0 -0
- /package/dist/{SelectSeparator-CXm_hlqA.js → SelectSeparator-CaJnPF3_.js} +0 -0
- /package/dist/{Separator-D8AUMhxY.js → Separator-C2XtAXRp.js} +0 -0
- /package/dist/{Switch-Cr1t_F_U.js → Switch-x8n6husW.js} +0 -0
- /package/dist/{TooltipProvider-DE78vbEP.js → TooltipProvider-D-JrSqDu.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-Dq1MygBL.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{badge-x46my_Fo.js → badge-Cl6JZ1B7.js} +0 -0
- /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
- /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
- /package/dist/{constants-DwBwnG8N.js → constants-DsCdlK9I.js} +0 -0
- /package/dist/{createLucideIcon-Bn9a1b70.js → createLucideIcon-DuDoe_ra.js} +0 -0
- /package/dist/{menuItemVariants-BsbGNq9C.js → menuItemVariants-C2QlXqT3.js} +0 -0
- /package/dist/{useGlassRenderer-Ds-nmrGz.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
- /package/dist/{useInterval-DVgGUf_y.js → useInterval-CHVYFpXV.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Dpw_RUcB.js → useKeyboardShortcuts-BQfnAHHW.js} +0 -0
- /package/dist/{useResizeObserver-Cg9npuM3.js → useResizeObserver-DX-STszm.js} +0 -0
- /package/dist/{useSpringMount-Cfk1XK1R.js → useSpringMount-CnizvZGm.js} +0 -0
- /package/dist/{useTimer-NAaj9zNq.js → useTimer-DGgoxTXL.js} +0 -0
- /package/dist/{useUserInvalidAria-DVu1eTXG.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
/* Dock CONTROL-family styles — carved out of dock.css at AU.W8b.3.
|
|
2
|
+
*
|
|
3
|
+
* dock.css keeps the shell / density / grain / layer-crossfade contract + the
|
|
4
|
+
* shared cross-control four-state contract (the `:focus-visible` / `:disabled`
|
|
5
|
+
* comma-groups + the motion-token `:where()` group, which reference these
|
|
6
|
+
* control selectors but are shared, not per-control). This file owns the FIVE
|
|
7
|
+
* control families themselves:
|
|
8
|
+
* 1. `.dock-icon-button` (base / --compact / hover / active / focus / active-paint)
|
|
9
|
+
* 2. `.dark-mode-toggle-button` (sizes / hover / focus)
|
|
10
|
+
* 3. `.dock-tab-button` (base / states / tier-primary audacious / tier-secondary)
|
|
11
|
+
* 4. `.dock-select-trigger` / `.dock-dropdown-trigger` (base / states / __chevron / open-flip)
|
|
12
|
+
* 5. the `@media (pointer: coarse)` per-button touch-target floor on `.dock-icon-button`
|
|
13
|
+
*
|
|
14
|
+
* AU.W8b.2 — the per-family parent+state clusters use native `&`-nesting
|
|
15
|
+
* (Baseline Widely available 2023; Lightning CSS down-compiles so the shipped
|
|
16
|
+
* `dist` CSS is flat with IDENTICAL specificity). The cross-family comma-groups
|
|
17
|
+
* stay in dock.css UN-nested (nesting under one control would change coverage).
|
|
18
|
+
*
|
|
19
|
+
* Imported by index.css directly after dock.css in the same `@layer components`
|
|
20
|
+
* (cascade rung 6b) — no new subpath; it ships inside `/styles`. */
|
|
21
|
+
|
|
22
|
+
@layer components {
|
|
23
|
+
/* AV.W9.3 — momentum-gated dock-control press spring. The `:active` squish
|
|
24
|
+
toward `--scale-press-dock` settles on a NO-OVERSHOOT spring (Apple,
|
|
25
|
+
"Designing Fluid Interfaces": default 100% damping — no bounce — for a tap;
|
|
26
|
+
reserve bounce for surfaces driven by gesture MOMENTUM). The dock controls
|
|
27
|
+
are tap surfaces (no momentum), so the press re-binds `--dock-press-spring`
|
|
28
|
+
from the bouncy preset (`--spring-bouncy`, ~+20% overshoot, defined in
|
|
29
|
+
tokens.css §-2) to `--spring-smooth` — the critically-damped (ζ≈1, ~0.4%
|
|
30
|
+
peak) iOS tap curve. Token-routed (an existing spring preset, never a raw
|
|
31
|
+
cubic-bezier); the `--duration-fast` prefix is kept so the squish-back stays
|
|
32
|
+
quick. Every dock-control `scale var(--dock-press-spring)` press transition
|
|
33
|
+
(and the select chevron's `rotate`) inherits this one binding. A future
|
|
34
|
+
momentum-gated surface (none today) would override this back to a bouncy
|
|
35
|
+
preset on its own scope. The `:where()` group keeps zero specificity so a
|
|
36
|
+
consumer override of `--dock-press-spring` still wins. */
|
|
37
|
+
:where(
|
|
38
|
+
.dock-icon-button,
|
|
39
|
+
.dock-tab-button,
|
|
40
|
+
.dock-select-trigger,
|
|
41
|
+
.dock-dropdown-trigger
|
|
42
|
+
) {
|
|
43
|
+
--dock-press-spring: var(--duration-fast) var(--spring-smooth);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.dock-icon-button {
|
|
47
|
+
display: inline-flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: center;
|
|
50
|
+
flex-shrink: 0;
|
|
51
|
+
/* AQ.W3 §W3.2 identity base */
|
|
52
|
+
scale: 1;
|
|
53
|
+
width: var(--dock-control-size, var(--size-icon-btn));
|
|
54
|
+
height: var(--dock-control-size, var(--size-icon-btn));
|
|
55
|
+
padding: var(--dock-icon-padding, 0);
|
|
56
|
+
cursor: pointer;
|
|
57
|
+
border: none;
|
|
58
|
+
background: transparent;
|
|
59
|
+
border-radius: var(--dock-control-radius, var(--radius-pill));
|
|
60
|
+
/* Foreground base routes through `--dock-fg-on-aurora` (defaults to
|
|
61
|
+
`--foreground`, byte-identical to before) so a consumer floating the
|
|
62
|
+
dock over an aurora can lift contrast per-backdrop. The muted icon
|
|
63
|
+
weight mixes that base down with `--opacity-icon-muted`. */
|
|
64
|
+
color: color-mix(
|
|
65
|
+
in srgb,
|
|
66
|
+
var(--dock-fg-on-aurora, var(--foreground))
|
|
67
|
+
calc(var(--opacity-icon-muted) * 100%),
|
|
68
|
+
transparent
|
|
69
|
+
);
|
|
70
|
+
outline: none;
|
|
71
|
+
transition:
|
|
72
|
+
background-color var(--dock-motion-fast),
|
|
73
|
+
color var(--dock-motion-fast),
|
|
74
|
+
/* AT.W7-dock-b — `scale` carries the press micro-feedback spring
|
|
75
|
+
(transform-scoped only; the surface fades stay on the flat ease). */
|
|
76
|
+
scale var(--dock-press-spring),
|
|
77
|
+
opacity var(--dock-motion-fast),
|
|
78
|
+
/* AT.W7-dock-b — the glass specular highlight fades in on hover. */
|
|
79
|
+
box-shadow var(--dock-motion-fast);
|
|
80
|
+
|
|
81
|
+
/* AT.W7-dock-b — glass icon-hover. The icon-button hover now reads as a
|
|
82
|
+
glass surface, not a flat `--muted` plate: a translucent card-tinted fill
|
|
83
|
+
composes with the specular `--glass-highlight` token (the inset top-edge
|
|
84
|
+
glass highlight every glass tier carries — `--dock-icon-hover-shadow`
|
|
85
|
+
defaults to it). Coherent with the dock's glass tier and the
|
|
86
|
+
`[data-tier="secondary"]` recipe below. A consumer retunes the fill via
|
|
87
|
+
`--dock-icon-hover-bg` and the specular via `--dock-icon-hover-shadow`. */
|
|
88
|
+
&:hover:not(:disabled) {
|
|
89
|
+
background: var(
|
|
90
|
+
--dock-icon-hover-bg,
|
|
91
|
+
color-mix(in srgb, var(--card) 55%, transparent)
|
|
92
|
+
);
|
|
93
|
+
color: var(--btn-hover-color, var(--foreground));
|
|
94
|
+
scale: var(--scale-hover-dock);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* The specular highlight is scoped to `:not(:focus-visible)` so it never
|
|
98
|
+
clobbers the focus ring box-shadow (the shared `:focus-visible` group in
|
|
99
|
+
dock.css) when a control is both hovered and keyboard-focused —
|
|
100
|
+
the ring wins, the specular yields. */
|
|
101
|
+
&:hover:not(:disabled):not(:focus-visible) {
|
|
102
|
+
box-shadow: var(--dock-icon-hover-shadow, var(--glass-highlight));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&:active:not(:disabled) {
|
|
106
|
+
scale: var(--scale-press-dock);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
&:focus:not(:focus-visible) {
|
|
110
|
+
box-shadow: none;
|
|
111
|
+
outline: none;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* O.W6 Lane B — token-ladder active paint. Defaults match the prior
|
|
115
|
+
hardcoded recipe (--muted bg + --foreground color, no transform / border
|
|
116
|
+
/ shadow). Consumers override the active variant via the
|
|
117
|
+
`--dock-active-{bg,color,scale,border,shadow}` cohort scoped to a parent
|
|
118
|
+
(e.g. bbnf-buddy `ToolsLayer.vue` audacious active treatment) — no
|
|
119
|
+
`:deep()` escapes required. See tokens.css §10 (dock geometry block). */
|
|
120
|
+
&:is(.is-active, .active, [aria-expanded="true"], [aria-pressed="true"]) {
|
|
121
|
+
background: var(--dock-active-bg);
|
|
122
|
+
color: var(--dock-active-color);
|
|
123
|
+
scale: var(--dock-active-scale);
|
|
124
|
+
border: var(--dock-active-border);
|
|
125
|
+
box-shadow: var(--dock-active-shadow);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* focus-visible ring + disabled paint hoisted to the shared `:where()`
|
|
130
|
+
group in dock.css. The box-shadow fade transition lives on the base
|
|
131
|
+
`.dock-icon-button` rule (AT.W7-dock-b added `box-shadow` there for the
|
|
132
|
+
glass specular hover), so no per-state transition override is needed. */
|
|
133
|
+
|
|
134
|
+
.dock-icon-button--compact {
|
|
135
|
+
width: var(--dock-compact-control-size, auto);
|
|
136
|
+
height: var(--dock-compact-control-size, auto);
|
|
137
|
+
min-width: var(--dock-compact-control-min-width, 0);
|
|
138
|
+
padding: var(--dock-compact-control-padding, 0.25rem);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.dark-mode-toggle-button {
|
|
142
|
+
width: var(--dark-mode-toggle-size, 2.25rem);
|
|
143
|
+
height: var(--dark-mode-toggle-size, 2.25rem);
|
|
144
|
+
min-width: var(--dark-mode-toggle-size, 2.25rem);
|
|
145
|
+
min-height: var(--dark-mode-toggle-size, 2.25rem);
|
|
146
|
+
max-width: var(--dark-mode-toggle-size, 2.25rem);
|
|
147
|
+
max-height: var(--dark-mode-toggle-size, 2.25rem);
|
|
148
|
+
aspect-ratio: 1;
|
|
149
|
+
padding: var(--dark-mode-toggle-padding, 0.375rem);
|
|
150
|
+
transition:
|
|
151
|
+
opacity var(--dock-motion-standard),
|
|
152
|
+
background-color var(--dock-motion-standard),
|
|
153
|
+
box-shadow var(--dock-motion-fast);
|
|
154
|
+
|
|
155
|
+
& > svg {
|
|
156
|
+
width: 100%;
|
|
157
|
+
height: 100%;
|
|
158
|
+
max-width: 100%;
|
|
159
|
+
max-height: 100%;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&:hover,
|
|
163
|
+
&:focus {
|
|
164
|
+
background: var(--surface-tint-10);
|
|
165
|
+
opacity: 1;
|
|
166
|
+
outline: none;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
&:focus-visible {
|
|
170
|
+
box-shadow: var(--focus-ring-shadow);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
&[data-size="sm"] {
|
|
174
|
+
--dark-mode-toggle-size: 1.75rem;
|
|
175
|
+
--dark-mode-toggle-padding: 0.25rem;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
&[data-size="md"] {
|
|
179
|
+
--dark-mode-toggle-size: 2.25rem;
|
|
180
|
+
--dark-mode-toggle-padding: 0.375rem;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
&[data-size="lg"] {
|
|
184
|
+
--dark-mode-toggle-size: 2.75rem;
|
|
185
|
+
--dark-mode-toggle-padding: 0.5rem;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
&[data-size="control"] {
|
|
189
|
+
--dark-mode-toggle-size: var(--control-size, 2.25rem);
|
|
190
|
+
--dark-mode-toggle-padding: var(--control-icon-padding, 0.375rem);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.dark-mode-toggle-button[data-size="dock"],
|
|
195
|
+
.glass-dock
|
|
196
|
+
.dark-mode-toggle-button:not([data-size="sm"]):not([data-size="lg"]):not(
|
|
197
|
+
[data-size="control"]
|
|
198
|
+
) {
|
|
199
|
+
--dark-mode-toggle-size: var(--dock-control-size, var(--size-icon-btn));
|
|
200
|
+
--dark-mode-toggle-padding: var(--dock-icon-padding, 0);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.dock-tab-button {
|
|
204
|
+
display: inline-flex;
|
|
205
|
+
align-items: center;
|
|
206
|
+
flex-shrink: 0;
|
|
207
|
+
/* P.W4 Lane B inline-absorb: the `--dock-tab-h` density-keyed height
|
|
208
|
+
knob (parallel to DockIconButton's --dock-control-size) merged
|
|
209
|
+
here from the prior DockTabButton.vue scoped style block. The
|
|
210
|
+
density rungs that set `--dock-tab-h` per tier live in dock.css
|
|
211
|
+
(the `.glass-dock[data-density="…"]` blocks) — Q.W3
|
|
212
|
+
Lane A consolidated them out of utilities.css, closing the
|
|
213
|
+
cascade-order split-brain. When a parent <GlassDock density="…">
|
|
214
|
+
sets `--dock-tab-h`, the tab-button reserves that row even when
|
|
215
|
+
the glyph + padding sum would ride lower. Falls through to
|
|
216
|
+
`--dock-tab-min-height` (kept for audacious-tier callers) and
|
|
217
|
+
finally to `auto`. R3-spec / audit-E P0-3. */
|
|
218
|
+
min-height: var(--dock-tab-h, var(--dock-tab-min-height, auto));
|
|
219
|
+
padding-inline: var(--dock-tab-padding-inline, 0.75rem);
|
|
220
|
+
padding-block: var(--dock-tab-padding-block, 0.375rem);
|
|
221
|
+
border: none;
|
|
222
|
+
background: transparent;
|
|
223
|
+
border-radius: var(--dock-control-radius, var(--radius-pill));
|
|
224
|
+
/* Default font-size carries through to text-only tab content; consumers
|
|
225
|
+
wrapping content in an explicit type utility (e.g. `text-hero`,
|
|
226
|
+
`text-display`) on an inner <span> win because Tailwind v4 ships
|
|
227
|
+
@utility blocks in @layer utilities, which ranks above @layer
|
|
228
|
+
components — so this declaration is a fallback, not a ceiling. */
|
|
229
|
+
font-size: var(--type-small);
|
|
230
|
+
line-height: 1;
|
|
231
|
+
color: var(--muted-foreground);
|
|
232
|
+
text-decoration: none;
|
|
233
|
+
cursor: pointer;
|
|
234
|
+
white-space: nowrap;
|
|
235
|
+
outline: none;
|
|
236
|
+
/* AQ.W3 §W3.2 identity base */
|
|
237
|
+
scale: 1;
|
|
238
|
+
transition:
|
|
239
|
+
background-color var(--dock-motion-fast),
|
|
240
|
+
color var(--dock-motion-fast),
|
|
241
|
+
/* AT.W7-dock-b — press micro-feedback spring (transform-scoped). */ scale
|
|
242
|
+
var(--dock-press-spring);
|
|
243
|
+
|
|
244
|
+
&:hover:not(:disabled) {
|
|
245
|
+
background: var(--surface-tint-8);
|
|
246
|
+
color: var(--foreground);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
&:active:not(:disabled) {
|
|
250
|
+
scale: var(--scale-press-dock);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
&:focus:not(:focus-visible) {
|
|
254
|
+
box-shadow: none;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/* focus-visible ring + disabled paint hoisted to the shared `:where()`
|
|
258
|
+
group in dock.css. */
|
|
259
|
+
|
|
260
|
+
&:is(.is-active, .active, [aria-current="page"], [aria-pressed="true"]) {
|
|
261
|
+
background: var(--surface-tint-10);
|
|
262
|
+
color: var(--foreground);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/* Tier — primary ────────────────────────────────────────────
|
|
267
|
+
*
|
|
268
|
+
* Per W2.7 §9, §12, §13, §17. The primary tier composes three at-rest
|
|
269
|
+
* marks (top-highlight, bottom under-shadow, baseline glass) with three
|
|
270
|
+
* disco accents on hover (specular swap, sparkle sweep, disco-grain).
|
|
271
|
+
*
|
|
272
|
+
* Reservation: disco fires on hover only. At rest the button reads as
|
|
273
|
+
* a Vignelli-restrained composed glass surface. The `--phase-color`
|
|
274
|
+
* cascade (provided by `<InstrumentChassis>` via `data-phase`) tints
|
|
275
|
+
* the disco-grain radial only on hover; idle is neutral.
|
|
276
|
+
*
|
|
277
|
+
* K.W6 Lane B — the canonical disco-grain + sparkle-sweep + specular
|
|
278
|
+
* recipe lifted to `@utility btn-audacious` (utilities.css). The Vue
|
|
279
|
+
* <DockTabButton> attaches `btn-audacious` automatically when the
|
|
280
|
+
* consumer passes `data-tier="primary"`. The dock-local rules below
|
|
281
|
+
* are STRICTLY the dock extension: structural shell (padding, base
|
|
282
|
+
* surface tint, min-height) + phase-tint extensions (hover radial
|
|
283
|
+
* uses `--phase-color`, plus the `[data-phase]` `::before` halo).
|
|
284
|
+
*/
|
|
285
|
+
.dock-tab-button[data-tier="primary"] {
|
|
286
|
+
--dock-tab-min-height: 4rem;
|
|
287
|
+
padding-inline: 1.5rem;
|
|
288
|
+
background: color-mix(in srgb, var(--card) 60%, transparent);
|
|
289
|
+
color: var(--foreground);
|
|
290
|
+
|
|
291
|
+
/* Phase-tint hover override — same disco-grain composition as
|
|
292
|
+
* `btn-audacious`, but the radial uses `--phase-color` (instrument-
|
|
293
|
+
* cluster axis) instead of the canonical `--primary`. The `--paper-
|
|
294
|
+
* clean-texture` overlay and `--glass-specular` shadow stack are
|
|
295
|
+
* inherited from the underlying `btn-audacious` utility. */
|
|
296
|
+
&:hover:not(:disabled) {
|
|
297
|
+
--glass-grain-opacity: var(--glass-grain-opacity-disco, 0.08);
|
|
298
|
+
background-image:
|
|
299
|
+
var(--paper-clean-texture),
|
|
300
|
+
radial-gradient(
|
|
301
|
+
ellipse at 30% 30%,
|
|
302
|
+
color-mix(
|
|
303
|
+
in srgb,
|
|
304
|
+
var(--phase-color, var(--foreground)) 18%,
|
|
305
|
+
transparent
|
|
306
|
+
),
|
|
307
|
+
transparent 70%
|
|
308
|
+
);
|
|
309
|
+
background-blend-mode: overlay, normal;
|
|
310
|
+
background-size: var(--paper-texture-size), auto;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/* Q.W3.A.4 — phase-tint backplate halo at the pill wrapper.
|
|
314
|
+
*
|
|
315
|
+
* The inner `<GlyphFace>` halo (`.glyph-face-backplate { inset: -25% }`)
|
|
316
|
+
* gets clipped by the pill's `overflow: hidden`; the halo never escapes
|
|
317
|
+
* the inner glyph wrapper. This `::before` lifts the phase-tint to the
|
|
318
|
+
* pill itself so the glow composes with the whole CTA. Scoped to
|
|
319
|
+
* active phases — at idle / ready the pill stays neutral and inherits
|
|
320
|
+
* the W2.7 reservation ("disco fires on hover only"). */
|
|
321
|
+
&[data-phase]:not([data-phase="ready"]):not([data-phase="idle"])::before {
|
|
322
|
+
content: "";
|
|
323
|
+
position: absolute;
|
|
324
|
+
inset: 0;
|
|
325
|
+
border-radius: inherit;
|
|
326
|
+
background: radial-gradient(
|
|
327
|
+
ellipse at 30% 30%,
|
|
328
|
+
color-mix(
|
|
329
|
+
in srgb,
|
|
330
|
+
var(--phase-color, var(--foreground)) 18%,
|
|
331
|
+
transparent
|
|
332
|
+
)
|
|
333
|
+
0%,
|
|
334
|
+
transparent 70%
|
|
335
|
+
);
|
|
336
|
+
pointer-events: none;
|
|
337
|
+
z-index: -1;
|
|
338
|
+
opacity: 1;
|
|
339
|
+
transition: opacity var(--duration-fast) var(--ease-standard);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/* Tier — secondary ──────────────────────────────────────────
|
|
344
|
+
*
|
|
345
|
+
* Companion to `data-tier="primary"`. Carries the same edge-light +
|
|
346
|
+
* edge-shadow skeu vocabulary at quieter weight: no disco accent, no
|
|
347
|
+
* sparkle, no curvature radial. Composes for icon-button consumers
|
|
348
|
+
* (chassis ActionCluster, SettingsCog) where the surface needs a
|
|
349
|
+
* glass-tier read but not the audacious primary punch. Per P.W1.B
|
|
350
|
+
* audit-C §3 — closes the four bare `<DockIconButton>` consumer sites
|
|
351
|
+
* (cog + back + retake + stop) without redefining the family. The
|
|
352
|
+
* secondary tier is a cross-control comma-group (tab + icon button), so it
|
|
353
|
+
* stays flat — nesting under one control would change coverage.
|
|
354
|
+
*/
|
|
355
|
+
.dock-tab-button[data-tier="secondary"],
|
|
356
|
+
.dock-icon-button[data-tier="secondary"] {
|
|
357
|
+
background: color-mix(in srgb, var(--card) 50%, transparent);
|
|
358
|
+
border: 1px solid var(--glass-border-quiet);
|
|
359
|
+
box-shadow: var(--border-hairline), var(--glass-highlight);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.dock-tab-button[data-tier="secondary"]:hover:not(:disabled),
|
|
363
|
+
.dock-icon-button[data-tier="secondary"]:hover:not(:disabled) {
|
|
364
|
+
background: color-mix(in srgb, var(--card) 65%, transparent);
|
|
365
|
+
box-shadow:
|
|
366
|
+
var(--glass-specular),
|
|
367
|
+
0 0.5px 0 0 rgb(0 0 0 / 0.06);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.dock-select-trigger,
|
|
371
|
+
.dock-dropdown-trigger {
|
|
372
|
+
display: inline-flex;
|
|
373
|
+
align-items: center;
|
|
374
|
+
justify-content: center;
|
|
375
|
+
flex-shrink: 0;
|
|
376
|
+
/* AQ.W3 §W3.2 identity base */
|
|
377
|
+
scale: 1;
|
|
378
|
+
gap: var(--dock-trigger-gap, 0.25rem);
|
|
379
|
+
min-height: var(--dock-trigger-min-height, auto);
|
|
380
|
+
padding: var(--dock-trigger-padding-block, 0.25rem)
|
|
381
|
+
var(--dock-trigger-padding-inline, 0.5rem);
|
|
382
|
+
white-space: nowrap;
|
|
383
|
+
cursor: pointer;
|
|
384
|
+
border: none;
|
|
385
|
+
background: transparent;
|
|
386
|
+
border-radius: var(--dock-control-radius, var(--radius-pill));
|
|
387
|
+
/* Shares the dock-icon-button legibility base (`--dock-fg-on-aurora`). */
|
|
388
|
+
color: color-mix(
|
|
389
|
+
in srgb,
|
|
390
|
+
var(--dock-fg-on-aurora, var(--foreground))
|
|
391
|
+
calc(var(--opacity-icon-muted) * 100%),
|
|
392
|
+
transparent
|
|
393
|
+
);
|
|
394
|
+
outline: none;
|
|
395
|
+
transition:
|
|
396
|
+
background-color var(--dock-motion-fast),
|
|
397
|
+
color var(--dock-motion-fast),
|
|
398
|
+
/* AT.W7-dock-b — press micro-feedback spring (transform-scoped). */ scale
|
|
399
|
+
var(--dock-press-spring),
|
|
400
|
+
opacity var(--dock-motion-fast);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
.dock-select-trigger:hover:not(:disabled),
|
|
404
|
+
.dock-dropdown-trigger:hover:not(:disabled) {
|
|
405
|
+
background: var(--muted);
|
|
406
|
+
color: var(--btn-hover-color, var(--foreground));
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.dock-dropdown-trigger:hover:not(:disabled) {
|
|
410
|
+
scale: var(--scale-hover-dock);
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.dock-select-trigger:active:not(:disabled),
|
|
414
|
+
.dock-dropdown-trigger:active:not(:disabled) {
|
|
415
|
+
scale: var(--scale-press-dock);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.dock-select-trigger:focus:not(:focus-visible),
|
|
419
|
+
.dock-dropdown-trigger:focus:not(:focus-visible) {
|
|
420
|
+
box-shadow: none;
|
|
421
|
+
outline: none;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/* focus-visible ring + disabled paint hoisted to the shared `:where()`
|
|
425
|
+
group in dock.css; this rule adds only the box-shadow fade transition.
|
|
426
|
+
`scale` keeps the AT.W7-dock-b press micro-feedback spring. */
|
|
427
|
+
.dock-select-trigger:focus-visible,
|
|
428
|
+
.dock-dropdown-trigger:focus-visible {
|
|
429
|
+
transition:
|
|
430
|
+
background-color var(--dock-motion-fast),
|
|
431
|
+
color var(--dock-motion-fast),
|
|
432
|
+
scale var(--dock-press-spring),
|
|
433
|
+
opacity var(--dock-motion-fast),
|
|
434
|
+
box-shadow var(--dock-motion-fast);
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.dock-select-trigger:is(
|
|
438
|
+
.is-active,
|
|
439
|
+
.active,
|
|
440
|
+
[aria-expanded="true"],
|
|
441
|
+
[aria-pressed="true"]
|
|
442
|
+
),
|
|
443
|
+
.dock-dropdown-trigger:is(
|
|
444
|
+
.is-active,
|
|
445
|
+
.active,
|
|
446
|
+
[aria-expanded="true"],
|
|
447
|
+
[aria-pressed="true"]
|
|
448
|
+
) {
|
|
449
|
+
background: var(--muted);
|
|
450
|
+
color: var(--foreground);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
.dock-select-trigger__chevron {
|
|
454
|
+
width: var(--dock-trigger-icon-size, 0.75rem);
|
|
455
|
+
height: var(--dock-trigger-icon-size, 0.75rem);
|
|
456
|
+
flex-shrink: 0;
|
|
457
|
+
opacity: 0.5;
|
|
458
|
+
/* Individual-transform identity base (AQ.W3 §W3.2) — `rotate:` longhand
|
|
459
|
+
for family consistency (not a stacking-context hazard: child glyph).
|
|
460
|
+
AT.W7-dock-b — the open/close flip carries the press micro-feedback
|
|
461
|
+
spring (transform-scoped). */
|
|
462
|
+
rotate: 0deg;
|
|
463
|
+
transition: rotate var(--dock-press-spring);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.dock-select-trigger[data-state="open"] .dock-select-trigger__chevron {
|
|
467
|
+
rotate: 180deg;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/* O.W6 Lane D — Touch-target floor (speedtest AC.W6 F2.AA-03 / WCAG
|
|
471
|
+
2.5.5), button-level half. The dock-width-math half (the
|
|
472
|
+
`.glass-dock[data-density]` `--dock-control-size` lift) STAYS in dock.css
|
|
473
|
+
(shell / width-math). This per-button floor reaches a STANDALONE
|
|
474
|
+
DockIconButton (a routed settings gear, no dock wrapper) that reads the
|
|
475
|
+
bare `--size-icon-btn` and would otherwise fall below the 44px WCAG
|
|
476
|
+
target. It holds the touch box regardless of ancestry; the in-dock
|
|
477
|
+
`.glass-dock[data-density]` rule is more specific and also reserves the
|
|
478
|
+
slot in the dock's width-math. Compact buttons opt out — they are
|
|
479
|
+
auto-sized affordances, not primary targets. */
|
|
480
|
+
@media (pointer: coarse) {
|
|
481
|
+
.dock-icon-button:not(.dock-icon-button--compact) {
|
|
482
|
+
min-block-size: var(--dock-touch-target, 2.75rem);
|
|
483
|
+
min-inline-size: var(--dock-touch-target, 2.75rem);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|