@mkbabb/glass-ui 3.12.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CardAction-XH4YBVEK.js +158 -0
- package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-DdtWXxOK.js} +58 -53
- package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-B0Vs6atR.js} +4 -4
- package/dist/{DataTable-CUHMukiQ.js → DataTable-C464Zbqd.js} +99 -97
- package/dist/DialogContent-DDE6pQBU.js +103 -0
- package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-8eZbdmPc.js} +2 -2
- package/dist/FadingScroll-DwNnvKMs.js +76 -0
- package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-Dpzwvc4t.js} +1 -1
- package/dist/IconChip-BDw1j5mu.js +54 -0
- package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DSjasZIt.js} +1 -1
- package/dist/MetricBadge-BpC0R_Ec.js +79 -0
- package/dist/{Notification-DLMhblXR.js → Notification-DKjKsQq8.js} +10 -10
- package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-1VtwDSgf.js} +3 -3
- package/dist/PopoverContent-BTorlp--.js +127 -0
- package/dist/{Progress-iEuD9pxG.js → Progress-hAT4gqGH.js} +97 -77
- package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-CUVFTWk2.js} +2 -2
- package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-C1jb3b3K.js} +24 -8
- package/dist/{Switch-Ch-k3Rv-.js → Switch-Dr--uLGH.js} +2 -2
- package/dist/{Toaster-1rYWrmAm.js → Toaster-Bm_HQSpc.js} +55 -52
- package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-Dzk9hWsF.js} +18 -22
- package/dist/animated-digit.js +3 -3
- package/dist/api/index.d.ts +10 -4
- package/dist/api.js +1 -1
- package/dist/aurora.js +113 -98
- package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
- package/dist/badge.js +1 -1
- package/dist/{button-DN39cGqL.js → button-BNDWhAZb.js} +12 -12
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +101 -145
- 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/collapsible.js +1 -1
- package/dist/{color-C5ls_QF7.js → color-DweYl7pE.js} +9 -7
- package/dist/color-swatch.d.ts +1 -0
- package/dist/color-swatch.js +47 -0
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +16 -45
- package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
- 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/color-swatch/ColorSwatch.vue.d.ts +22 -0
- package/dist/components/custom/color-swatch/index.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
- package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
- package/dist/components/custom/constellation/Constellation.vue.d.ts +23 -143
- package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -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 +3 -403
- package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
- package/dist/components/custom/constellation/constellationTypes.d.ts +369 -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 +89 -0
- package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
- package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -6
- 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 +83 -0
- package/dist/components/custom/dock/index.d.ts +5 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +15 -37
- package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
- package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
- package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
- package/dist/components/custom/fading-scroll/index.d.ts +2 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +7 -0
- package/dist/components/custom/fourier-field/index.d.ts +1 -1
- package/dist/components/custom/fourier-field/math.d.ts +34 -0
- package/dist/components/custom/fourier-field/presets.d.ts +54 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -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 +21 -8
- package/dist/components/custom/goo-blob/constants.d.ts +57 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
- package/dist/components/custom/handmark/brush.d.ts +33 -6
- package/dist/components/custom/handmark/{useHandMark.d.ts → composables/useHandMark.d.ts} +6 -4
- package/dist/components/custom/handmark/constants.d.ts +39 -0
- package/dist/components/custom/handmark/geometry.d.ts +14 -12
- package/dist/components/custom/handmark/index.d.ts +8 -2
- package/dist/components/custom/handmark/types.d.ts +9 -0
- package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
- package/dist/components/custom/icon-chip/index.d.ts +2 -0
- package/dist/components/custom/icon-chip/types.d.ts +72 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -4
- 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/pager-dots/PagerDots.vue.d.ts +39 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +20 -25
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
- package/dist/components/custom/tabs/constants.d.ts +18 -0
- package/dist/components/custom/tabs/index.d.ts +1 -1
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +14 -0
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
- package/dist/components/ui/card/Card.vue.d.ts +16 -4
- package/dist/components/ui/carousel/index.d.ts +0 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -0
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
- package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
- 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/useGlobalDark.d.ts +14 -12
- 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/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +3 -3
- package/dist/constellation.js +373 -261
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +48 -14
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +901 -372
- package/dist/dockContext-Bu1Avy-a.js +17 -0
- package/dist/dom.js +5 -5
- package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-BJ7E9js_.js} +11 -8
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +44 -81
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/forms.js +5 -5
- package/dist/fourier-field.js +140 -104
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +90 -21
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +230 -236
- package/dist/goo-blob.js +264 -228
- package/dist/handmark.js +203 -159
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-chip.d.ts +1 -0
- package/dist/icon-chip.js +2 -0
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +3 -5
- 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-DeuJwLFx.js} +26 -2
- package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DWRQXBxJ.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +29 -22
- 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 -136
- 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/pager-dots.d.ts +1 -0
- package/dist/pager-dots.js +91 -0
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/progress.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/scrolling-text.js +1 -1
- package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
- package/dist/search.js +10 -10
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet-CquRYOAw.js +218 -0
- package/dist/sheet.js +1 -1
- package/dist/{slider-ClgpP7EB.js → slider-DQ95MET2.js} +8 -8
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/springPresets-WXaLbu8u.js +40 -0
- package/dist/stacked-icons.js +6 -6
- package/dist/styles/animations.css +25 -125
- package/dist/styles/cards.css +55 -0
- package/dist/styles/components.css +4 -1
- package/dist/styles/configurator.css +77 -0
- package/dist/styles/dock/density.css +19 -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 +66 -1
- package/dist/styles/dock/rail-extend.css +397 -0
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +97 -110
- package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/dist/styles/dock-controls/icon-button.css +143 -0
- package/dist/styles/dock-controls/tab-button.css +143 -0
- package/dist/styles/dock-controls/touch-floor.css +94 -0
- package/dist/styles/dock-controls/triggers.css +135 -0
- package/dist/styles/dock-controls.css +30 -595
- package/dist/styles/dock.css +8 -3
- package/dist/styles/drawer.css +48 -0
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/floating-panel.css +17 -0
- package/dist/styles/glass/a11y-fallback.css +245 -0
- package/dist/styles/glass/ladder.css +383 -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/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +382 -0
- package/dist/styles/glass-refract.css +2 -0
- package/dist/styles/glass.css +34 -1188
- package/dist/styles/hover-popover.css +2 -0
- package/dist/styles/icon-chip.css +149 -0
- package/dist/styles/index.css +94 -18
- package/dist/styles/instrument-chassis.css +46 -0
- package/dist/styles/menu.css +127 -0
- package/dist/styles/paper.css +2 -68
- package/dist/styles/segmented-tabs.css +346 -0
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +347 -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 +287 -0
- package/dist/styles/tokens/dark-arm.css +308 -0
- package/dist/styles/tokens/glass.css +500 -0
- package/dist/styles/tokens/light-dark.css +187 -0
- package/dist/styles/tokens/offsets-sizing.css +562 -0
- package/dist/styles/tokens/property-regs.css +162 -0
- package/dist/styles/tokens/scale-paper.css +409 -0
- package/dist/styles/tokens/scheme-motion.css +352 -0
- package/dist/styles/tokens/shadow.css +166 -0
- package/dist/styles/tokens.css +22 -2360
- package/dist/styles/transitions.css +7 -7
- package/dist/styles/typography/scale.css +153 -0
- package/dist/styles/typography/semantic.css +220 -0
- package/dist/styles/typography/utilities.css +159 -0
- package/dist/styles/typography.css +23 -453
- package/dist/styles/utilities/a11y-overrides.css +169 -0
- package/dist/styles/utilities/animate.css +26 -0
- package/dist/styles/utilities/base.css +541 -0
- package/dist/styles/utilities/btn.css +218 -0
- package/dist/styles/utilities/components.css +317 -0
- package/dist/styles/utilities.css +19 -1318
- package/dist/styles/view-transition.css +4 -52
- package/dist/switch.js +1 -1
- package/dist/tabs.js +161 -181
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +3 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
- package/dist/useConfiguratorState-kiIlun8I.js +303 -0
- package/dist/useLiquidFlex-C12hXwOZ.js +30 -0
- package/dist/useRAFLoop-CdwJ7284.js +109 -0
- package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-D7bYU2RK.js} +1 -1
- package/dist/useSpecularTracking-Bo5su68i.js +32 -0
- package/dist/useSpringMount-CvopqiFr.js +108 -0
- package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
- package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-28Tk2-t2.js} +1 -1
- package/dist/useViewTransition-COsPjQVZ.js +47 -0
- package/dist/utils/coalesceMetric.d.ts +29 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/vReveal-D9k0jADx.js +10 -0
- package/dist/watercolor-dot.js +22 -13
- package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
- package/package.json +134 -50
- package/src/styles/animations.css +25 -125
- package/src/styles/cards.css +53 -0
- package/src/styles/configurator.css +77 -0
- package/src/styles/dock/density.css +19 -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 +66 -1
- package/src/styles/dock/rail-extend.css +397 -0
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +97 -110
- package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/src/styles/dock-controls/icon-button.css +143 -0
- package/src/styles/dock-controls/tab-button.css +143 -0
- package/src/styles/dock-controls/touch-floor.css +94 -0
- package/src/styles/dock-controls/triggers.css +135 -0
- package/src/styles/dock-controls.css +30 -595
- package/src/styles/dock.css +8 -3
- package/src/styles/drawer.css +42 -0
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/floating-panel.css +15 -0
- package/src/styles/glass/a11y-fallback.css +245 -0
- package/src/styles/glass/ladder.css +383 -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/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +382 -0
- package/src/styles/glass.css +34 -1188
- package/src/styles/icon-chip.css +149 -0
- package/src/styles/index.css +93 -17
- package/src/styles/instrument-chassis.css +42 -0
- package/src/styles/menu.css +127 -0
- package/src/styles/paper.css +2 -68
- package/src/styles/segmented-tabs.css +340 -0
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +347 -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 +287 -0
- package/src/styles/tokens/dark-arm.css +308 -0
- package/src/styles/tokens/glass.css +500 -0
- package/src/styles/tokens/light-dark.css +187 -0
- package/src/styles/tokens/offsets-sizing.css +562 -0
- package/src/styles/tokens/property-regs.css +162 -0
- package/src/styles/tokens/scale-paper.css +409 -0
- package/src/styles/tokens/scheme-motion.css +352 -0
- package/src/styles/tokens/shadow.css +166 -0
- package/src/styles/tokens.css +22 -2360
- package/src/styles/transitions.css +7 -7
- package/src/styles/typography/scale.css +153 -0
- package/src/styles/typography/semantic.css +220 -0
- package/src/styles/typography/utilities.css +159 -0
- package/src/styles/typography.css +23 -453
- package/src/styles/utilities/a11y-overrides.css +169 -0
- package/src/styles/utilities/animate.css +26 -0
- package/src/styles/utilities/base.css +541 -0
- package/src/styles/utilities/btn.css +218 -0
- package/src/styles/utilities/components.css +317 -0
- package/src/styles/utilities.css +19 -1318
- package/src/styles/view-transition.css +4 -52
- package/dist/CardAction-DuArVky-.js +0 -157
- package/dist/DeckProgress-Dmk4_AKN.js +0 -23
- package/dist/DialogContent-BRkT1cjP.js +0 -100
- package/dist/InstrumentRail-CUJ05YVG.js +0 -44
- package/dist/MetricBadge-BZVWIxNy.js +0 -80
- package/dist/PopoverContent-BId6ggf_.js +0 -121
- package/dist/TabsList-B8CVOQPC.js +0 -101
- 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/instrument-rail/InstrumentRail.vue.d.ts +0 -91
- package/dist/components/custom/instrument-rail/index.d.ts +0 -2
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
- 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/instrument-rail.d.ts +0 -1
- package/dist/instrument-rail.js +0 -2
- package/dist/sheet-VZEtNFvO.js +0 -214
- package/dist/styles/instrument-rail.css +0 -127
- package/dist/useConfiguratorState-DxAqksK6.js +0 -287
- 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/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
- /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-ON3x7cuk.js} +0 -0
- /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-DkMaQzH5.js} +0 -0
- /package/dist/{Input-xuDwALQR.js → Input-DVG_J0ne.js} +0 -0
- /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
- /package/dist/{Label-zRfbQdCn.js → Label-Ck9SWEKM.js} +0 -0
- /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-CkPRRgl_.js} +0 -0
- /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-nBKe0vkB.js} +0 -0
- /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-DK2y1Bun.js} +0 -0
- /package/dist/{Separator-D7sD7RKj.js → Separator-BArl4OaB.js} +0 -0
- /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
- /package/dist/{compile-BOXjLUxu.js → compile-EXXzEr1q.js} +0 -0
- /package/dist/{constants-yKeKnE84.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-B44Sah_H.js → createContext-B2RaZ-b8.js} +0 -0
- /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
- /package/dist/{presets-BP_ALM0m.js → presets-BW2b-fr1.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
- /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
- /package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-C28t0VWJ.js} +0 -0
- /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-Dsmqwi03.js → useInterval-CNdua40W.js} +0 -0
- /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-V6nq5gJb.js} +0 -0
- /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
- /package/dist/{useSortable-C8ReQ50P.js → useSortable-BVqlJRBR.js} +0 -0
- /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-NmBM5V_4.js} +0 -0
- /package/dist/{useTimer-3xqf_54b.js → useTimer-B_PAasDL.js} +0 -0
- /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-CDfJuakL.js} +0 -0
- /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-CvBcCYDf.js} +0 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/* ════════════════════════════════════════════════════════════════════════
|
|
2
|
+
The standardized SegmentedTabs grammar (BA.W-TABS). ONE indicator engine,
|
|
3
|
+
TWO materials, ONE orientation axis.
|
|
4
|
+
|
|
5
|
+
· PILL (DEFAULT) — THE GLASS MATERIAL. The track rides `--glass-bg-quiet`
|
|
6
|
+
+ a hairline edge; the active indicator is the selected-reads-as-
|
|
7
|
+
glass plate (`--glass-bg-floating`, the W-REGISTER-IOS tier — a
|
|
8
|
+
glass tint FORWARD of the track, NEVER a saturated hue, never an
|
|
9
|
+
opaque `bg-card`). It GLIDES + SQUISHES. Absorbs the retired
|
|
10
|
+
`segmented` value (one register — the user kept it by name).
|
|
11
|
+
· UNDERLINE — THE PAPER MATERIAL. NO plate, NO blur, NO track surface — the
|
|
12
|
+
2px `--foreground` ink hairline riding the shared `.paper-ink-mark`
|
|
13
|
+
register (W-SURFACE-AXIS mints it; CONSUMED here, never re-minted).
|
|
14
|
+
The engine drives the hairline's inline position/width only. It
|
|
15
|
+
SLIDES (no squish — a hairline does not deform).
|
|
16
|
+
|
|
17
|
+
ORIENTATION is axis-derived (horizontal default · vertical). The vertical
|
|
18
|
+
indicator tracks the BLOCK axis (the R10-2 horizontal-only-utilities slab class
|
|
19
|
+
is structurally impossible — the engine keys off a computed `dim`). Vertical
|
|
20
|
+
underline = the leading-edge ink rail (the math-paper `border-l` read).
|
|
21
|
+
|
|
22
|
+
Carved out of the SFC `<style scoped>` into a styles/ partial (the drawer.css
|
|
23
|
+
precedent), `@import`-ed into styles/index.css in cascade order. Every selector
|
|
24
|
+
is class/attribute-based (no Vue `data-v-*` scope hash), so the rules paint
|
|
25
|
+
un-scoped — the `.segmented-tabs`-family classes the template emits carry them.
|
|
26
|
+
|
|
27
|
+
`--bouncy-track-trim` is the token the track padding, the indicator
|
|
28
|
+
`inset-block`, AND the `anchor()` offset all read so they cannot drift (the W20
|
|
29
|
+
magic-number lock). `--stretch` is the JS-written travel-squish scalar (1 at
|
|
30
|
+
rest); the indicator pairs it reciprocally (stretch X, compress Y →
|
|
31
|
+
volume-preserving). The glide + squish read ONE clock — `--tab-indicator-duration`
|
|
32
|
+
(= `--spring-snappy-duration`, the W-GLASS-CAL calibrated snappy settle, ~0.34s)
|
|
33
|
+
— so the channels cannot desync and the generic-300ms sub-pixel tail is gone.
|
|
34
|
+
════════════════════════════════════════════════════════════════════════ */
|
|
35
|
+
|
|
36
|
+
/* ── The PILL track (the glass material — DEFAULT) ── */
|
|
37
|
+
.segmented-tabs {
|
|
38
|
+
--bouncy-track-trim: 0.1875rem;
|
|
39
|
+
--bouncy-track-radius: 0.4375rem;
|
|
40
|
+
--bouncy-slider-radius: 0.3125rem;
|
|
41
|
+
/* The travel-squish axis — 1 at rest; useTabIndicator writes it transiently
|
|
42
|
+
on selection, the indicator pairs it volume-preserving. */
|
|
43
|
+
--stretch: 1;
|
|
44
|
+
position: relative;
|
|
45
|
+
display: inline-grid;
|
|
46
|
+
grid-auto-flow: column;
|
|
47
|
+
grid-auto-columns: 1fr;
|
|
48
|
+
padding: var(--bouncy-track-trim);
|
|
49
|
+
border-radius: var(--bouncy-track-radius);
|
|
50
|
+
/* BA.W-TABS — the pill track rides the glass quiet tier (the warm glass
|
|
51
|
+
material, the no-gray register) + a hairline edge. NOT a `--surface-tint`
|
|
52
|
+
gray plate (the R10-5 no-gray cut). */
|
|
53
|
+
background: var(--glass-bg-quiet);
|
|
54
|
+
backdrop-filter: var(--glass-blur-quiet);
|
|
55
|
+
-webkit-backdrop-filter: var(--glass-blur-quiet);
|
|
56
|
+
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--border) 24%, transparent);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* ── The vertical orientation axis (the block stack) ── */
|
|
60
|
+
.segmented-tabs--vertical {
|
|
61
|
+
display: inline-flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
grid-auto-flow: unset;
|
|
64
|
+
grid-auto-columns: unset;
|
|
65
|
+
align-items: stretch;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@media (min-width: 640px) {
|
|
69
|
+
.segmented-tabs {
|
|
70
|
+
--bouncy-track-trim: 0.25rem;
|
|
71
|
+
--bouncy-track-radius: 0.5rem;
|
|
72
|
+
--bouncy-slider-radius: 0.375rem;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* ── The shared indicator body (the PILL plate) ── */
|
|
77
|
+
.segmented-indicator {
|
|
78
|
+
position: absolute;
|
|
79
|
+
/* BA.W-TABS — the active pill indicator rides the glass FLOATING tier (the
|
|
80
|
+
W-REGISTER-IOS "selected reads as glass" register), reading FORWARD of the
|
|
81
|
+
quiet-tier track. A glass tint, NEVER a saturated `--foreground` fill or an
|
|
82
|
+
opaque `bg-card`. */
|
|
83
|
+
background: var(--glass-bg-floating);
|
|
84
|
+
backdrop-filter: var(--glass-blur-floating);
|
|
85
|
+
-webkit-backdrop-filter: var(--glass-blur-floating);
|
|
86
|
+
z-index: 0;
|
|
87
|
+
inset-block: var(--bouncy-track-trim);
|
|
88
|
+
border-radius: var(--bouncy-slider-radius);
|
|
89
|
+
box-shadow:
|
|
90
|
+
0 1px 3px rgba(0, 0, 0, 0.08),
|
|
91
|
+
0 0 0 1px color-mix(in srgb, var(--border) 30%, transparent);
|
|
92
|
+
/* The volume-preserving travel-squish: stretch along X, compress Y in
|
|
93
|
+
inverse proportion. `transform-origin: center` → a symmetric width-flex
|
|
94
|
+
as it travels (the indicator grows wider mid-travel, settles to fit). */
|
|
95
|
+
transform-origin: center;
|
|
96
|
+
scale: var(--stretch) calc(1 / var(--stretch));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* Vertical: the indicator deforms on the BLOCK axis (compress X / stretch Y) and
|
|
100
|
+
pads on the inline axis instead. */
|
|
101
|
+
.segmented-tabs--vertical .segmented-indicator {
|
|
102
|
+
inset-block: auto;
|
|
103
|
+
inset-inline: var(--bouncy-track-trim);
|
|
104
|
+
scale: calc(1 / var(--stretch)) var(--stretch);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
108
|
+
.segmented-indicator {
|
|
109
|
+
/* ONE composited transform pair (translate+scale) on ONE calibrated
|
|
110
|
+
clock — the glide + the squish share `--tab-indicator-duration` so they
|
|
111
|
+
cannot desync (the R10-2 multi-property-desync class collapsed). */
|
|
112
|
+
transition: scale var(--tab-indicator-duration) var(--spring-snappy);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Fallback (JS-measured) path — the indicator is moved by inline
|
|
117
|
+
`transform`/`width` writes; animate those alongside the squish scale on the ONE
|
|
118
|
+
calibrated clock. */
|
|
119
|
+
.segmented-indicator--js {
|
|
120
|
+
transition:
|
|
121
|
+
transform var(--tab-indicator-duration) var(--spring-snappy),
|
|
122
|
+
width var(--tab-indicator-duration) var(--spring-snappy),
|
|
123
|
+
height var(--tab-indicator-duration) var(--spring-snappy),
|
|
124
|
+
scale var(--tab-indicator-duration) var(--spring-snappy),
|
|
125
|
+
opacity var(--duration-fast) ease;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* Anchor path — the indicator tethers to the active button's `anchor-name`.
|
|
129
|
+
`inset` reads the anchor's edges; the browser interpolates `inset` between
|
|
130
|
+
buttons on selection (the glide), and the JS `--stretch` write deforms it
|
|
131
|
+
(the squish) on the SAME calibrated clock. */
|
|
132
|
+
@supports (position-anchor: --x) {
|
|
133
|
+
.segmented-indicator--anchor {
|
|
134
|
+
position-anchor: --gl-tab-active;
|
|
135
|
+
/* The four edge longhands tether to the active button's anchor edges (the
|
|
136
|
+
inline-trimmed band over the full anchor block extent). NO `inset-block:
|
|
137
|
+
auto` shorthand here — it would reset the block longhands above it to auto
|
|
138
|
+
and collapse the indicator to height 0 (the live-found clobber). */
|
|
139
|
+
inset-block-start: calc(anchor(top) + 0.1875rem);
|
|
140
|
+
inset-block-end: calc(anchor(bottom) + 0.1875rem);
|
|
141
|
+
inset-inline-start: anchor(left);
|
|
142
|
+
inset-inline-end: anchor(right);
|
|
143
|
+
opacity: 1;
|
|
144
|
+
}
|
|
145
|
+
/* Vertical: the anchor band runs the FULL block extent of the active button
|
|
146
|
+
(the indicator tracks the column, not the row) with the inline axis trimmed. */
|
|
147
|
+
.segmented-tabs--vertical .segmented-indicator--anchor {
|
|
148
|
+
inset-block-start: anchor(top);
|
|
149
|
+
inset-block-end: anchor(bottom);
|
|
150
|
+
inset-inline-start: calc(anchor(left) + 0.1875rem);
|
|
151
|
+
inset-inline-end: calc(anchor(right) + 0.1875rem);
|
|
152
|
+
}
|
|
153
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
154
|
+
.segmented-indicator--anchor {
|
|
155
|
+
transition:
|
|
156
|
+
inset var(--tab-indicator-duration) var(--spring-snappy),
|
|
157
|
+
scale var(--tab-indicator-duration) var(--spring-snappy);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
.segmented-tabs:not(.segmented-tabs--underline) .segmented-tab[aria-pressed="true"],
|
|
161
|
+
.segmented-tabs:not(.segmented-tabs--underline) .segmented-tab[aria-selected="true"] {
|
|
162
|
+
anchor-name: --gl-tab-active;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
@media (min-width: 640px) {
|
|
167
|
+
.segmented-indicator {
|
|
168
|
+
inset-block: 0.25rem;
|
|
169
|
+
border-radius: 0.375rem;
|
|
170
|
+
}
|
|
171
|
+
.segmented-tabs--vertical .segmented-indicator {
|
|
172
|
+
inset-block: auto;
|
|
173
|
+
inset-inline: 0.25rem;
|
|
174
|
+
}
|
|
175
|
+
@supports (position-anchor: --x) {
|
|
176
|
+
.segmented-indicator--anchor {
|
|
177
|
+
inset-block-start: calc(anchor(top) + 0.25rem);
|
|
178
|
+
inset-block-end: calc(anchor(bottom) + 0.25rem);
|
|
179
|
+
}
|
|
180
|
+
.segmented-tabs--vertical .segmented-indicator--anchor {
|
|
181
|
+
inset-block-start: anchor(top);
|
|
182
|
+
inset-block-end: anchor(bottom);
|
|
183
|
+
inset-inline-start: calc(anchor(left) + 0.25rem);
|
|
184
|
+
inset-inline-end: calc(anchor(right) + 0.25rem);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* ── The tab buttons ── */
|
|
190
|
+
.segmented-tab {
|
|
191
|
+
position: relative;
|
|
192
|
+
z-index: 10;
|
|
193
|
+
border: none;
|
|
194
|
+
background: none;
|
|
195
|
+
font-weight: 500;
|
|
196
|
+
cursor: pointer;
|
|
197
|
+
white-space: nowrap;
|
|
198
|
+
padding: 0.25rem 0.625rem;
|
|
199
|
+
border-radius: 0.3125rem;
|
|
200
|
+
font: inherit;
|
|
201
|
+
font-size: 0.8125rem;
|
|
202
|
+
color: var(--muted-foreground);
|
|
203
|
+
transition: color var(--duration-fast) ease;
|
|
204
|
+
/* AQ.W3 identity base — keep `scale:1; translate:0` so a hover/press
|
|
205
|
+
transform never mints a stacking context that severs `anchor()`
|
|
206
|
+
resolution (the WAAPI press writes `transform` transiently — harmless). */
|
|
207
|
+
scale: 1;
|
|
208
|
+
translate: 0;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
@media (min-width: 640px) {
|
|
212
|
+
.segmented-tab {
|
|
213
|
+
padding: 0.3125rem 0.75rem;
|
|
214
|
+
font-size: 0.875rem;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.segmented-tab[aria-pressed="true"],
|
|
219
|
+
.segmented-tab[aria-selected="true"] {
|
|
220
|
+
color: var(--foreground);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.segmented-tab.is-disabled {
|
|
224
|
+
opacity: 0.4;
|
|
225
|
+
cursor: not-allowed;
|
|
226
|
+
pointer-events: none;
|
|
227
|
+
filter: blur(0.5px);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* ── Underline variant ── (THE PAPER MATERIAL — the panel-nav `role=tablist` strip)
|
|
231
|
+
NO plate, NO blur, NO track surface — only the ink hairline paints. */
|
|
232
|
+
.segmented-tabs--underline {
|
|
233
|
+
display: flex;
|
|
234
|
+
grid-auto-flow: unset;
|
|
235
|
+
grid-auto-columns: unset;
|
|
236
|
+
gap: 0.25rem;
|
|
237
|
+
padding: 0;
|
|
238
|
+
background: none;
|
|
239
|
+
backdrop-filter: none;
|
|
240
|
+
-webkit-backdrop-filter: none;
|
|
241
|
+
box-shadow: none;
|
|
242
|
+
border-radius: 0;
|
|
243
|
+
/* BA.W-SURFACE-AXIS scope 8 — the underline indicator COMPOSES the shared
|
|
244
|
+
`.paper-ink-mark` PAPER ink-hairline register (the 2px --foreground ink mark
|
|
245
|
+
on a paper surface — no plate, no blur, no glass). The register tokens are
|
|
246
|
+
declared here on the host; the `::before` pseudo reads them. ≥2 consumers
|
|
247
|
+
with the math-paper section rail (a HORIZONTAL underline here, a VERTICAL
|
|
248
|
+
left-edge rail there — the SAME mark register, parameterized weight/color).
|
|
249
|
+
The register itself lives in glass/surface-axis.css (CONSUMED, never
|
|
250
|
+
re-minted — a shape gap triumvirates at the minting wave). */
|
|
251
|
+
--paper-ink-mark-weight: 2px;
|
|
252
|
+
--paper-ink-mark-color: var(--foreground);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/* Vertical underline = the leading-edge ink rail (the math-paper `border-l` read).
|
|
256
|
+
The hairline runs the block extent of the active tab on its inline-start edge. */
|
|
257
|
+
.segmented-tabs--underline.segmented-tabs--vertical {
|
|
258
|
+
flex-direction: column;
|
|
259
|
+
align-items: stretch;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/* The active tab is the anchor the underline rule tethers to. */
|
|
263
|
+
.segmented-tabs--underline .segmented-tab[aria-selected="true"] {
|
|
264
|
+
anchor-name: --gl-tab-active;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/* The underline indicator pseudo, position-anchored to the active tab; the
|
|
268
|
+
browser interpolates `inset` between anchors on selection on the ONE calibrated
|
|
269
|
+
clock, and the `scale` reads the same `--stretch` squish the slider does (one
|
|
270
|
+
indicator grammar). */
|
|
271
|
+
.segmented-tabs--underline::before {
|
|
272
|
+
content: "";
|
|
273
|
+
position: absolute;
|
|
274
|
+
position-anchor: --gl-tab-active;
|
|
275
|
+
/* BA.W-SURFACE-AXIS scope 8 — the 2px ink mark reads the shared
|
|
276
|
+
`.paper-ink-mark` register (weight + --foreground ink) the host declares. */
|
|
277
|
+
inset-block-start: calc(anchor(bottom) - var(--paper-ink-mark-weight, 2px));
|
|
278
|
+
inset-inline-start: anchor(left);
|
|
279
|
+
inset-inline-end: anchor(right);
|
|
280
|
+
block-size: var(--paper-ink-mark-weight, 2px);
|
|
281
|
+
background: var(--paper-ink-mark-color, var(--foreground));
|
|
282
|
+
border-radius: var(--radius-sm);
|
|
283
|
+
transform-origin: center;
|
|
284
|
+
scale: var(--stretch) 1;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/* Vertical underline pseudo — the ink mark is a VERTICAL leading-edge rail (the
|
|
288
|
+
`border-l` read): a 2px-wide column on the active tab's inline-start edge,
|
|
289
|
+
running its full block extent. */
|
|
290
|
+
.segmented-tabs--underline.segmented-tabs--vertical::before {
|
|
291
|
+
inset-block-start: anchor(top);
|
|
292
|
+
inset-block-end: anchor(bottom);
|
|
293
|
+
inset-inline-start: calc(anchor(left) - var(--paper-ink-mark-weight, 2px));
|
|
294
|
+
inset-inline-end: auto;
|
|
295
|
+
block-size: auto;
|
|
296
|
+
inline-size: var(--paper-ink-mark-weight, 2px);
|
|
297
|
+
scale: 1 var(--stretch);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
301
|
+
.segmented-tabs--underline::before {
|
|
302
|
+
/* control register — the glide + the squish on the ONE calibrated clock. */
|
|
303
|
+
transition:
|
|
304
|
+
inset var(--tab-indicator-duration) var(--spring-snappy),
|
|
305
|
+
scale var(--tab-indicator-duration) var(--spring-snappy);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/* Fallback — static underline when anchor positioning is absent. */
|
|
310
|
+
@supports not (position-anchor: --x) {
|
|
311
|
+
.segmented-tabs--underline::before {
|
|
312
|
+
display: none;
|
|
313
|
+
}
|
|
314
|
+
.segmented-tabs--underline .segmented-tab[aria-selected="true"] {
|
|
315
|
+
border-bottom: var(--paper-ink-mark-weight, 2px) solid var(--foreground);
|
|
316
|
+
}
|
|
317
|
+
.segmented-tabs--underline.segmented-tabs--vertical .segmented-tab[aria-selected="true"] {
|
|
318
|
+
border-bottom: none;
|
|
319
|
+
border-inline-start: var(--paper-ink-mark-weight, 2px) solid var(--foreground);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.segmented-tabs--underline .segmented-tab {
|
|
324
|
+
padding: 0.375rem 0.75rem;
|
|
325
|
+
font-size: inherit;
|
|
326
|
+
border-radius: 0.25rem;
|
|
327
|
+
/* The tab-text colour cross-fade rides the fast generic clock (the §6 doctrine
|
|
328
|
+
— a colour shift is a bezier ease, never a spring), matching the pill tab
|
|
329
|
+
buttons. The INDICATOR glide is the only channel on the calibrated spring
|
|
330
|
+
clock. */
|
|
331
|
+
transition: color var(--duration-fast) ease;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.segmented-tabs--underline.segmented-tabs--vertical .segmented-tab {
|
|
335
|
+
text-align: start;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.segmented-tabs--underline .segmented-tab:hover {
|
|
339
|
+
color: color-mix(in oklab, var(--foreground) 70%, transparent);
|
|
340
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* select.css — the Select content collision-bound, pre-compiled (BA.W-EMISSION).
|
|
3
|
+
*
|
|
4
|
+
* THE DEFECT (BA-VJS-A2-WO1 / valuejs-fold A-2): SelectContent.vue authored its
|
|
5
|
+
* collision-bound as a Tailwind ARBITRARY-BRACKET utility
|
|
6
|
+
* [max-height:var(--reka-popper-available-height,60dvh)]
|
|
7
|
+
* which is correct in SOURCE but compiles ONLY into a `dist/*.js` render-function
|
|
8
|
+
* chunk no consumer content-scan reaches (and the P9 emitComponentUtilities
|
|
9
|
+
* safelist rejects fully-arbitrary bracket tokens by construction). So in every
|
|
10
|
+
* consumer the bound NEVER painted — `getComputedStyle(content).maxHeight === "none"`
|
|
11
|
+
* — and a 16-item dropdown rendered 745px tall, overflowing a 900px viewport by
|
|
12
|
+
* 125px (the value.js U-DROPDOWN capture, the binding RED evidence).
|
|
13
|
+
*
|
|
14
|
+
* THE FIX: move the bound to a PRECOMPILED rule that ships in `dist/glass-ui.css`
|
|
15
|
+
* regardless of consumer JIT reach — it is a plain attribute-selector rule, not a
|
|
16
|
+
* Tailwind utility, so it always emits. The cap is the kf donor's default
|
|
17
|
+
* `min(24rem, 60dvh)` (kf design-idioms.css `--easing-dropdown-max-h`; the U8
|
|
18
|
+
* bounded-scroll reference), TIGHTENED by reka's measured
|
|
19
|
+
* `--reka-popper-available-height` on a short viewport via the inner `min()`.
|
|
20
|
+
* `overflow-y: auto` (already on the content via the CVA base) gives the inner
|
|
21
|
+
* scroll. The behaviour is identical to the authored class — it now SHIPS.
|
|
22
|
+
*
|
|
23
|
+
* --select-content-max-h is the ONE retint knob (a consumer widens/narrows the cap
|
|
24
|
+
* by overriding it on any ancestor). The default folds reka's available-height in:
|
|
25
|
+
* when reka reports a height (popper measured), the bound is the MIN of that and
|
|
26
|
+
* the 24rem/60dvh ceiling, so the panel never exceeds the viewport AND never grows
|
|
27
|
+
* past the comfortable ceiling.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
:root {
|
|
31
|
+
/* The comfortable ceiling — the kf donor default. */
|
|
32
|
+
--select-content-max-h: min(24rem, 60dvh);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
[data-slot="select-content"] {
|
|
36
|
+
/* The collision-bound: the comfortable ceiling, tightened by reka's measured
|
|
37
|
+
available height on a short viewport. `--reka-popper-available-height` is
|
|
38
|
+
written by reka-ui's popper-positioner; on a tall viewport it exceeds the
|
|
39
|
+
ceiling (so the ceiling wins) and on a short one it clamps the panel to the
|
|
40
|
+
space below the trigger (so the panel bottoms inside the viewport). When reka
|
|
41
|
+
has not yet measured, the fallback is the ceiling alone. */
|
|
42
|
+
max-height: min(
|
|
43
|
+
var(--select-content-max-h),
|
|
44
|
+
var(--reka-popper-available-height, var(--select-content-max-h))
|
|
45
|
+
);
|
|
46
|
+
/* The inner-scroll affordance ships with the bound (the CVA base also sets
|
|
47
|
+
overflow-y-auto; restated here so the bound + scroll travel together as one
|
|
48
|
+
precompiled contract). */
|
|
49
|
+
overflow-y: auto;
|
|
50
|
+
}
|