@mkbabb/glass-ui 5.0.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -27
- package/dist/DropdownMenuTrigger-BzQtd9lt.js +65 -0
- package/dist/{FadingScroll-BSRLqQCx.js → FadingScroll-C1ZWEjmG.js} +32 -25
- package/dist/{Input-DKf-XwUM.js → Input-B4WQ_CMc.js} +1 -1
- package/dist/{PagerDots-BP6jh7z4.js → PagerDots-BoTQ7g5l.js} +123 -95
- package/dist/{accent-tone-solve-CBw3L0cy.js → accent-tone-solve-Dii9ePhK.js} +1 -1
- package/dist/animated-digit.js +1 -1
- package/dist/aurora.js +324 -314
- package/dist/blob-config.d.ts +0 -4
- package/dist/blob-config.js +1 -1
- package/dist/blob.js +280 -261
- package/dist/{button-BXzhydVB.js → button-32mg6xA8.js} +63 -56
- package/dist/button.js +1 -1
- package/dist/canvas.js +1 -1
- package/dist/{CardAction-2uUvjMQK.js → card-16xmzIr3.js} +29 -11
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -2
- package/dist/carousel.js +26 -95
- package/dist/chip.d.ts +0 -9
- package/dist/chip.js +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color-swatch.js +1 -0
- package/dist/color.js +87 -3
- package/dist/{CommandShortcut-fmdbsEJL.js → command-BjPjUU9z.js} +56 -51
- package/dist/command.js +1 -1
- package/dist/completion-seal.js +64 -55
- package/dist/components/_shared/ModalOverlay.vue.d.ts +5 -52
- package/dist/components/_shared/field-surfaces.css +1 -0
- package/dist/components/_shared/menuItemVariants.d.ts +2 -2
- package/dist/components/_shared/useMotionAxis.d.ts +2 -2
- package/dist/components/_shared/valueDomain.d.ts +6 -0
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +1 -1
- package/dist/components/aurora/Aurora.vue.d.ts +7 -1
- package/dist/components/aurora/composables/runtime.d.ts +5 -3
- package/dist/components/aurora/composables/useAurora.d.ts +4 -2
- package/dist/components/avatar/AvatarImage.vue.d.ts +3 -1
- package/dist/components/badge/index.d.ts +2 -2
- package/dist/components/blob/Blob.vue.d.ts +11 -0
- package/dist/components/blob/composables/useMetaballRenderer.d.ts +2 -0
- package/dist/components/button/Button.vue.d.ts +4 -2
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/card/Card.vue.d.ts +4 -4
- package/dist/components/card/ScrollCard.vue.d.ts +1 -1
- package/dist/components/card/styles.css +1 -0
- package/dist/components/carousel/Carousel.vue.d.ts +2 -2
- package/dist/components/carousel/CarouselNext.vue.d.ts +1 -1
- package/dist/components/carousel/CarouselPrevious.vue.d.ts +1 -1
- package/dist/components/carousel/index.d.ts +0 -1
- package/dist/components/carousel/useCarousel.d.ts +2 -2
- package/dist/components/combobox/ComboboxList.vue.d.ts +1 -1
- package/dist/components/combobox/index.d.ts +1 -3
- package/dist/components/command/Command.vue.d.ts +1 -1
- package/dist/components/command/CommandDialog.vue.d.ts +9 -6
- package/dist/components/completion-seal/styles.css +1 -0
- package/dist/components/constellation/Constellation.vue.d.ts +6 -1
- package/dist/components/constellation/composables/useConstellation.d.ts +3 -16
- package/dist/components/constellation/constants.d.ts +6 -16
- package/dist/components/constellation/constellationField.d.ts +3 -5
- package/dist/components/constellation/constellationInteraction.d.ts +1 -1
- package/dist/components/constellation/constellationRender.d.ts +11 -21
- package/dist/components/constellation/constellationTypes.d.ts +12 -9
- package/dist/components/constellation/index.d.ts +1 -1
- package/dist/components/controls/DarkModeToggle.vue.d.ts +0 -2
- package/dist/components/data-table/DataTable.vue.d.ts +14 -2
- package/dist/components/data-table/index.d.ts +1 -2
- package/dist/components/data-table/types.d.ts +26 -1
- package/dist/components/deck/constants.d.ts +0 -10
- package/dist/components/deck/index.d.ts +0 -1
- package/dist/components/dialog/DialogContent.vue.d.ts +7 -1
- package/dist/components/dialog/index.d.ts +0 -1
- package/dist/components/dock/DockControl.vue.d.ts +4 -4
- package/dist/components/dock/DockStack.vue.d.ts +2 -2
- package/dist/components/dock/GlassDock.vue.d.ts +1 -0
- package/dist/components/dock/composables/dockMorphContext.d.ts +2 -0
- package/dist/components/dock/composables/dockMorphMeasure.d.ts +11 -1
- package/dist/components/dock/composables/useDockClickIntegrity.d.ts +4 -0
- package/dist/components/dock/composables/useDockOverflowFit.d.ts +3 -3
- package/dist/components/dock/composables/useDockPopover.d.ts +2 -0
- package/dist/components/dock/composables/useDockShellProps.d.ts +7 -0
- package/dist/components/dock/composables/useDockState.d.ts +2 -2
- package/dist/components/dock/constants.d.ts +0 -12
- package/dist/components/dock/index.d.ts +1 -0
- package/dist/components/dock/styles/adaptive-legibility.css +1 -0
- package/dist/components/dock/styles/controls/icon-button.css +1 -0
- package/dist/{styles/dock-controls → components/dock/styles/controls}/touch-floor.css +1 -1
- package/dist/components/dock/styles/controls.css +1 -0
- package/dist/{styles/dock → components/dock/styles}/density.css +1 -1
- package/dist/components/dock/styles/dock.css +1 -0
- package/dist/components/dock/styles/index.css +1 -0
- package/dist/components/dock/styles/layer-group.css +1 -0
- package/dist/components/dock/styles/layers.css +1 -0
- package/dist/components/dock/styles/overflow.css +1 -0
- package/dist/components/dock/styles/popover.css +1 -0
- package/dist/components/dock/styles/shape.css +1 -0
- package/dist/components/dock/styles/shell.css +1 -0
- package/dist/components/drawer/Drawer.vue.d.ts +3 -3
- package/dist/components/drawer/composables/drawerSnapContext.d.ts +3 -1
- package/dist/components/drawer/constants.d.ts +6 -6
- package/dist/components/drawer/index.d.ts +4 -6
- package/dist/components/drawer/styles.css +1 -0
- package/dist/components/dropdown-menu/DropdownMenuContent.vue.d.ts +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger.vue.d.ts +9 -3
- package/dist/components/dropdown-menu/index.d.ts +0 -1
- package/dist/components/easing/EasingConfigurator.vue.d.ts +1 -1
- package/dist/components/easing/EasingPicker.vue.d.ts +2 -2
- package/dist/components/easing/composables/useEasingPicker.d.ts +4 -0
- package/dist/components/easing/constants.d.ts +2 -0
- package/dist/components/fading-scroll/composables/useFadingScroll.d.ts +3 -3
- package/dist/components/fourier-field/FourierField.vue.d.ts +7 -1
- package/dist/components/fourier-field/composables/useFourierField.d.ts +2 -1
- package/dist/components/handmark/HandMark.vue.d.ts +1 -1
- package/dist/components/handmark/geometry.d.ts +1 -1
- package/dist/components/handmark/index.d.ts +4 -6
- package/dist/components/icon-chip/styles.css +1 -0
- package/dist/components/index.d.ts +0 -1
- package/dist/components/infinite-scroll/index.d.ts +1 -0
- package/dist/components/instrument-chassis/styles.css +1 -0
- package/dist/components/labeled-field/LabeledField.vue.d.ts +12 -2
- package/dist/components/labeled-field/LabeledInput.vue.d.ts +10 -3
- package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +4 -0
- package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +2 -1
- package/dist/components/metric-stack/MetricStack.vue.d.ts +1 -1
- package/dist/components/pager-dots/PagerDots.vue.d.ts +1 -1
- package/dist/components/popover/PopoverContent.vue.d.ts +1 -1
- package/dist/components/progress/Progress.vue.d.ts +5 -40
- package/dist/components/progress/ProgressDefault.vue.d.ts +1 -17
- package/dist/components/progress/ProgressGradient.vue.d.ts +1 -0
- package/dist/components/progress/ProgressLiquid.vue.d.ts +1 -0
- package/dist/components/progress/index.d.ts +0 -5
- package/dist/components/progress/valueMarks.css +1 -0
- package/dist/components/pulse/Pulse.vue.d.ts +2 -2
- package/dist/components/scroll-progress-rim/styles.css +1 -0
- package/dist/components/search/FuzzySearch.vue.d.ts +4 -2
- package/dist/components/search/SearchBar.vue.d.ts +2 -2
- package/dist/components/search/searchVariants.d.ts +1 -1
- package/dist/components/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/select/index.d.ts +0 -2
- package/dist/components/skeleton/Skeleton.vue.d.ts +1 -1
- package/dist/components/slider/Slider.vue.d.ts +2 -0
- package/dist/components/split-chars/SplitChars.vue.d.ts +1 -1
- package/dist/components/surface/Surface.vue.d.ts +1 -1
- package/dist/components/table/Table.vue.d.ts +4 -0
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +10 -0
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/styles/drag.css +1 -0
- package/dist/components/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/timeline/ContinuousTimeline.vue.d.ts +1 -1
- package/dist/components/timeline/GlassTimeline.vue.d.ts +4 -4
- package/dist/components/toast/Toast.vue.d.ts +3 -3
- package/dist/components/toast/use-toast.d.ts +4 -4
- package/dist/components/typewriter/TypewriterText.vue.d.ts +1 -4
- package/dist/components/typewriter/composables/useTypewriter.d.ts +0 -1
- package/dist/components/typewriter/utils/graphemes.d.ts +1 -0
- package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +2 -2
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +31 -0
- package/dist/composables/glass/webgpu/rendererStatus.d.ts +13 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +3 -0
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +2 -0
- package/dist/composables/motion/springProjection.d.ts +16 -0
- package/dist/composables/motion/useAnimatedNumber.d.ts +1 -6
- package/dist/composables/motion/useCountup.d.ts +1 -6
- package/dist/composables/motion/useDockCtaReceive.d.ts +55 -0
- package/dist/composables/motion/useElementMorph.d.ts +8 -0
- package/dist/composables/motion/useLiquidPress.d.ts +12 -4
- package/dist/composables/motion/useNumericTransition.d.ts +2 -0
- package/dist/composables/motion/useTextHighlight.d.ts +2 -1
- package/dist/configurator-CSENXXSy.js +311 -0
- package/dist/configurator.js +2 -3
- package/dist/constellation.js +235 -571
- package/dist/controls.js +55 -63
- package/dist/{createCanvasLifecycle-DlrcvWbb.js → createCanvasLifecycle-hsFkQVdl.js} +32 -32
- package/dist/dark-DIH-blY1.js +70 -0
- package/dist/dark.d.ts +1 -2
- package/dist/dark.js +2 -20
- package/dist/{DataTable-Bxya8nBn.js → data-table-DveMdgBM.js} +231 -120
- package/dist/data-table.js +2 -2
- package/dist/deck.js +10 -21
- package/dist/dialog-BzQxKrUr.js +281 -0
- package/dist/dialog.js +2 -3
- package/dist/dock.js +561 -428
- package/dist/{dockContext-d-WpJN2Z.js → dockContext-4S9qP0Z4.js} +1 -1
- package/dist/dom.js +196 -7
- package/dist/drawer.js +111 -66
- package/dist/dropdown-menu-DORIA52F.js +378 -0
- package/dist/dropdown-menu.js +3 -2
- package/dist/easing.d.ts +0 -9
- package/dist/easing.js +334 -187
- package/dist/expandable-container.js +12 -4
- package/dist/fading-scroll.js +1 -1
- package/dist/focus-scope.js +1 -1
- package/dist/forms.js +37 -78
- package/dist/fourier-field.js +273 -263
- package/dist/fourier-math.d.ts +0 -6
- package/dist/fourier-math.js +112 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +131 -195
- package/dist/handmark.d.ts +0 -2
- package/dist/handmark.js +82 -82
- package/dist/header-ribbon.js +41 -30
- package/dist/{IconChip-CwLmBJ_K.js → icon-chip-BWuxz1-u.js} +1 -1
- package/dist/icon-chip.js +1 -1
- package/dist/{IconTooltip-D9sbK-Mk.js → icon-tooltip-CO6rw0dZ.js} +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/infinite-scroll.d.ts +0 -1
- package/dist/infinite-scroll.js +17 -15
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +104 -2
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +95 -69
- package/dist/liquid-grid.js +173 -162
- package/dist/metric-badge.js +3 -3
- package/dist/metric-cell.js +2 -2
- package/dist/metric-stack.js +1 -1
- package/dist/motion-core.js +15 -16
- package/dist/motion-curves.d.ts +0 -20
- package/dist/motion.js +59 -58
- package/dist/{Notification-DQv2cOh9.js → notification-DVs7ODMg.js} +17 -8
- package/dist/notification.js +1 -1
- package/dist/{NumberFieldContent-BkE7xPS9.js → number-field-PvkGedHk.js} +2 -2
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +1 -1
- package/dist/paper-backdrop.js +31 -2
- package/dist/{PopoverContent-DOtszFWK.js → popover-WMgyRSyN.js} +7 -2
- package/dist/popover.js +1 -1
- package/dist/procedural-color.wgsl-B9mLK7v0.js +377 -0
- package/dist/progress-C-HHuFZy.js +192 -0
- package/dist/progress.js +2 -2
- package/dist/pulse.js +3 -1
- package/dist/reactive.js +19 -3
- package/dist/rendererStatus-C2-zC2Q-.js +40 -0
- package/dist/{resolveCanvasColor-B3L-akX0.js → resolveCanvasColor-yarP5bdk.js} +1 -1
- package/dist/scroll-progress-rim.js +1 -1
- package/dist/search.js +187 -146
- package/dist/{SelectScrollDownButton-CDtwaWkZ.js → select-BIv4R3Ir.js} +109 -44
- package/dist/select.js +2 -4
- package/dist/separator-CBU94kTM.js +62 -0
- package/dist/separator.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/slider-Cc_qw6GA.js +166 -0
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +43 -43
- package/dist/styles/accessibility.css +1 -0
- package/dist/styles/components.css +1 -1
- package/dist/styles/glass/control-surfaces.css +1 -1
- package/dist/styles/glass/glass-capsule.css +1 -1
- package/dist/styles/glass/ladder.css +1 -1
- package/dist/styles/glass/liquid-fill.css +1 -1
- package/dist/styles/glass/material-roles.css +1 -0
- package/dist/styles/glass/material.css +1 -1
- package/dist/styles/glass/surface-axis.css +1 -1
- package/dist/styles/glass/surfaces-pager.css +1 -1
- package/dist/styles/glass/surfaces.css +1 -1
- package/dist/styles/glass.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/theme/bridges.css +1 -1
- package/dist/styles/tokens/glass-fx.css +1 -1
- package/dist/styles/tokens/glass.css +1 -1
- package/dist/styles/tokens/offsets.css +1 -1
- package/dist/styles/tokens/scale-paper.css +1 -1
- package/dist/styles/tokens/scheme-spring.css +1 -1
- package/dist/styles/tokens/shadow.css +1 -1
- package/dist/styles/tokens.d.ts +53 -0
- package/dist/styles/tokens.ts +58 -0
- package/dist/styles/typography/scale.css +1 -1
- package/dist/styles/typography/semantic.css +1 -1
- package/dist/styles/typography/utilities.css +1 -1
- package/dist/styles/utilities/base.css +1 -1
- package/dist/styles/utilities/btn.css +1 -1
- package/dist/styles/utilities/components.css +1 -1
- package/dist/styles/utilities.css +1 -1
- package/dist/{Switch-BPBfhMU3.js → switch-Boj4Ucn5.js} +1 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +51 -45
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/{ToggleGroupItem-DNWx2aSW.js → toggle-group-BPchFsns.js} +10 -7
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -53
- package/dist/tokens.js +1 -1
- package/dist/{TooltipProvider-GtfYdSVf.js → tooltip-BmOQJzh0.js} +1 -0
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +151 -166
- package/dist/{useAccentTone-D25DxviG.js → useAccentTone-C-p6WdPe.js} +1 -1
- package/dist/{useAnimatedNumber-2XC4aRB6.js → useAnimatedNumber-BRVVaFFc.js} +1 -1
- package/dist/useDockCtaReceive-CK-RLASa.js +257 -0
- package/dist/{useGooMorph-CU1pwuC6.js → useGooMorph-D1F6QJlH.js} +140 -59
- package/dist/{useIntersectionPause-Cmt5Tnv9.js → useIntersectionPause-B-dbxl9w.js} +1 -1
- package/dist/useLiquidPress-BYcwwGQV.js +68 -0
- package/dist/{useRAFLoop-CvOo_kgb.js → useRAFLoop-BtwQ9DyY.js} +1 -1
- package/dist/{useScrollProgress-C-yImzhU.js → useScrollProgress-DZI4nf4v.js} +1 -1
- package/dist/{useSelectionGroup-Btpf24aY.js → useSelectionGroup-LDzBdR1Y.js} +3 -3
- package/dist/{useTabRovingFocus-CG1H1k1J.js → useTabRovingFocus-DkLYwo4L.js} +1 -1
- package/dist/{useTouchGate-BlegwvwL.js → useTouchGate-Cj5fOkTv.js} +1 -1
- package/dist/valueDomain-B8L04u3U.js +13 -0
- package/dist/watercolor-dot.js +5 -3
- package/package.json +5 -12
- package/src/styles/accessibility.css +48 -0
- package/src/styles/glass/glass-capsule.css +2 -2
- package/src/styles/glass/ladder.css +1 -1
- package/src/styles/glass/material-roles.css +18 -0
- package/src/styles/glass/material.css +18 -12
- package/src/styles/glass.css +5 -5
- package/src/styles/index.css +38 -30
- package/src/styles/theme/bridges.css +0 -6
- package/src/styles/tokens/glass-fx.css +1 -5
- package/src/styles/tokens/glass.css +1 -2
- package/src/styles/tokens/offsets.css +0 -1
- package/src/styles/tokens/property-regs.css +11 -10
- package/src/styles/tokens/scale-paper.css +0 -1
- package/src/styles/tokens/scheme-motion.css +3 -0
- package/src/styles/tokens/scheme-spring.css +0 -10
- package/src/styles/tokens/shadow.css +3 -29
- package/src/styles/tokens.ts +58 -0
- package/src/styles/typography/scale.css +5 -2
- package/src/styles/typography/semantic.css +5 -5
- package/src/styles/typography/utilities.css +5 -5
- package/src/styles/utilities/base.css +5 -5
- package/src/styles/utilities/btn.css +6 -27
- package/src/styles/utilities.css +4 -6
- package/dist/ConfiguratorRow-BV6zPjTM.js +0 -151
- package/dist/DialogContent-Bl4v10AC.js +0 -192
- package/dist/DialogFooter-C0v4Hz2F.js +0 -168
- package/dist/PaperBackdrop-BYwE8_kg.js +0 -31
- package/dist/Progress-uWLyXE7J.js +0 -308
- package/dist/SelectGroup-BuEptUsa.js +0 -31
- package/dist/SelectSeparator-4QGephvr.js +0 -49
- package/dist/Separator-DqJ6PfOd.js +0 -44
- package/dist/color-Bp5jmv4Z.js +0 -86
- package/dist/components/carousel/GlassCarouselPager.vue.d.ts +0 -50
- package/dist/components/combobox/ComboboxSeparator.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxViewport.vue.d.ts +0 -18
- package/dist/components/constellation/composables/constellationGLSetup.d.ts +0 -10
- package/dist/components/constellation/composables/constellationWGPUSetup.d.ts +0 -19
- package/dist/components/constellation/composables/uniformBridgeWGPU.d.ts +0 -66
- package/dist/components/constellation/shaders/constellation-lines.glsl.d.ts +0 -2
- package/dist/components/constellation/shaders/constellation-lines.wgsl.d.ts +0 -1
- package/dist/components/constellation/shaders/constellation-points.glsl.d.ts +0 -2
- package/dist/components/constellation/shaders/constellation-points.wgsl.d.ts +0 -1
- package/dist/components/deck/composables/useDeckSpring.d.ts +0 -22
- package/dist/components/dialog/DialogScrollContent.vue.d.ts +0 -33
- package/dist/components/progress/ProgressSectioned.vue.d.ts +0 -47
- package/dist/components/progress/useProgressGeometry.d.ts +0 -60
- package/dist/components/section/Section.vue.d.ts +0 -73
- package/dist/components/section/index.d.ts +0 -1
- package/dist/components/stacked-icons/StackedIconGroup.vue.d.ts +0 -30
- package/dist/components/stacked-icons/index.d.ts +0 -2
- package/dist/components/stacked-icons/types.d.ts +0 -19
- package/dist/dropdown-menu-DaGlVdp9.js +0 -421
- package/dist/math-CIEcwsYi.js +0 -112
- package/dist/procedural-color.wgsl-ByduxnzV.js +0 -4
- package/dist/slider-Cxuj_W_H.js +0 -151
- package/dist/stacked-icons.d.ts +0 -1
- package/dist/stacked-icons.js +0 -98
- package/dist/styles/cards.css +0 -1
- package/dist/styles/completion-seal.css +0 -1
- package/dist/styles/dock/adaptive-legibility.css +0 -1
- package/dist/styles/dock/dock.css +0 -1
- package/dist/styles/dock/layer-group.css +0 -1
- package/dist/styles/dock/layers.css +0 -1
- package/dist/styles/dock/overflow.css +0 -1
- package/dist/styles/dock/popover.css +0 -1
- package/dist/styles/dock/shape.css +0 -1
- package/dist/styles/dock/shell.css +0 -1
- package/dist/styles/dock-controls/icon-button.css +0 -1
- package/dist/styles/dock-controls.css +0 -1
- package/dist/styles/dock.css +0 -1
- package/dist/styles/drawer.css +0 -1
- package/dist/styles/icon-chip.css +0 -1
- package/dist/styles/instrument-chassis.css +0 -1
- package/dist/styles/scroll-progress-rim.css +0 -1
- package/dist/styles/select.css +0 -1
- package/dist/styles/tabs/segmented-tabs-drag.css +0 -1
- package/dist/styles/utilities/animate.css +0 -0
- package/dist/useConfiguratorState-Dq35N_7t.js +0 -167
- package/dist/useDockCtaReceive-BgMmeINo.js +0 -161
- package/dist/useGlobalDark-DjKMEQE2.js +0 -53
- package/dist/useGpuSubstrate-DcY584kE.js +0 -347
- package/dist/useInterval-ZATRi-1T.js +0 -18
- package/dist/useKeyboardShortcuts-ynVmNFo3.js +0 -104
- package/dist/useLiquidPress-BXNHydZh.js +0 -40
- package/dist/useTextHighlight-C46Le9u_.js +0 -72
- package/dist/useViewportReady-c0isoKL8.js +0 -191
- package/src/styles/card-scroll.css +0 -189
- package/src/styles/cards.css +0 -485
- package/src/styles/completion-seal.css +0 -205
- package/src/styles/configurator.css +0 -359
- package/src/styles/dialog-placement.css +0 -68
- package/src/styles/dock/adaptive-legibility.css +0 -119
- package/src/styles/dock/crossfade.css +0 -139
- package/src/styles/dock/cta-seat.css +0 -87
- package/src/styles/dock/density.css +0 -458
- package/src/styles/dock/dock.css +0 -199
- package/src/styles/dock/fisheye.css +0 -81
- package/src/styles/dock/layer-group.css +0 -329
- package/src/styles/dock/layers.css +0 -438
- package/src/styles/dock/morph.css +0 -455
- package/src/styles/dock/overflow.css +0 -332
- package/src/styles/dock/popover.css +0 -249
- package/src/styles/dock/search.css +0 -68
- package/src/styles/dock/section.css +0 -59
- package/src/styles/dock/shape.css +0 -188
- package/src/styles/dock/shell-regions.css +0 -73
- package/src/styles/dock/shell.css +0 -500
- package/src/styles/dock-controls/dark-mode-toggle.css +0 -123
- package/src/styles/dock-controls/icon-button.css +0 -221
- package/src/styles/dock-controls/tab-button.css +0 -143
- package/src/styles/dock-controls/touch-floor.css +0 -119
- package/src/styles/dock-controls/triggers.css +0 -157
- package/src/styles/dock-controls.css +0 -92
- package/src/styles/dock.css +0 -219
- package/src/styles/drawer.css +0 -434
- package/src/styles/feedback-tone.css +0 -104
- package/src/styles/icon-chip.css +0 -256
- package/src/styles/instrument-chassis.css +0 -449
- package/src/styles/menu.css +0 -187
- package/src/styles/scroll-progress-rim.css +0 -87
- package/src/styles/segmented-tabs.css +0 -424
- package/src/styles/select.css +0 -201
- package/src/styles/tabs/segmented-tabs-drag.css +0 -200
- package/src/styles/utilities/animate.css +0 -29
- /package/dist/{coalesce-metric-B8o7zT9u.js → coalesce-metric-znAcLzkB.js} +0 -0
- /package/dist/{CollapsibleContent-DiHcB_HH.js → collapsible-bPzS1aQk.js} +0 -0
- /package/dist/{compile-C55K3P9g.js → compile-DK3Fri1B.js} +0 -0
- /package/dist/{styles → components/_shared}/feedback-tone.css +0 -0
- /package/dist/{styles → components/_shared}/menu.css +0 -0
- /package/dist/{styles → components/card}/card-scroll.css +0 -0
- /package/dist/{styles/configurator.css → components/configurator/styles.css} +0 -0
- /package/dist/{styles/dock-controls → components/controls}/dark-mode-toggle.css +0 -0
- /package/dist/{styles/dialog-placement.css → components/dialog/placement.css} +0 -0
- /package/dist/{styles/dock-controls → components/dock/styles/controls}/tab-button.css +0 -0
- /package/dist/{styles/dock-controls → components/dock/styles/controls}/triggers.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/crossfade.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/cta-seat.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/fisheye.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/morph.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/search.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/section.css +0 -0
- /package/dist/{styles/dock → components/dock/styles}/shell-regions.css +0 -0
- /package/dist/{styles/segmented-tabs.css → components/tabs/styles/segmented.css} +0 -0
- /package/dist/{constants-D8lSMkOz.js → constants-DRZmNIY-.js} +0 -0
- /package/dist/{createContext-BQ1Gy_LB.js → createContext-FU0n5MGK.js} +0 -0
- /package/dist/{flow.glsl-CVqPSj8_.js → flow.glsl-DEGFGE11.js} +0 -0
- /package/dist/{FocusScope-BzKwhsBn.js → focus-scope-DUTKveod.js} +0 -0
- /package/dist/{InstrumentChassis-Dss5Tjcm.js → instrument-chassis-Cvstg4_U.js} +0 -0
- /package/dist/{Label-C84TaQiw.js → label-Cj38tJKG.js} +0 -0
- /package/dist/{menuItemVariants-DbO-Fr74.js → menuItemVariants-D6AOzzND.js} +0 -0
- /package/dist/{pointerFieldMappings-4VtmkOWv.js → pointerFieldMappings-CZojkgKj.js} +0 -0
- /package/dist/{presets-B07HzyKd.js → presets-CxeNvxuO.js} +0 -0
- /package/dist/{prng-B0PLRmR6.js → prng-Dz2_9RJu.js} +0 -0
- /package/dist/{scrollReader-DzYqPQ6V.js → scrollReader-C2oK9Hb8.js} +0 -0
- /package/dist/{supportsCssTimeline-Ie4xJFbD.js → supportsCssTimeline-Dz-GVxXM.js} +0 -0
- /package/dist/{Toaster-C_-WeU9W.js → toast-kAbchIN2.js} +0 -0
- /package/dist/{useControlSize-DJwe-7ZQ.js → useControlSize-CFfOk8I-.js} +0 -0
- /package/dist/{useDocumentVisibility-CpJGUgcJ.js → useDocumentVisibility-YeBDGqtI.js} +0 -0
- /package/dist/{useDragMorph-65ihHePq.js → useDragMorph-7ygF9O0m.js} +0 -0
- /package/dist/{useDragVelocity-BWcNMCux.js → useDragVelocity-CbMZEBaC.js} +0 -0
- /package/dist/{useFuzzySearch-KslRxiJY.js → useFuzzySearch-BOgep7RE.js} +0 -0
- /package/dist/{useLeadTrail-DOH4XkL1.js → useLeadTrail-BYu8dq4G.js} +0 -0
- /package/dist/{usePointerVelocityField-CwXyeW0Z.js → usePointerVelocityField-BdvnO0py.js} +0 -0
- /package/dist/{useResizeObserver-DDuoBeBo.js → useResizeObserver-BcUTquV7.js} +0 -0
- /package/dist/{useResolveTokenColor-DVT5kwv6.js → useResolveTokenColor-C07e-qaT.js} +0 -0
- /package/dist/{useRoutePointer-DL7I0gY4.js → useRoutePointer-BDNMFN73.js} +0 -0
- /package/dist/{useSpringMount-CNvvgGiC.js → useSpringMount-C6-DBx4e.js} +0 -0
- /package/dist/{useTimer-CkDV8SC2.js → useTimer-D8koDvJS.js} +0 -0
- /package/dist/{useUserInvalidAria-Bkruei7M.js → useUserInvalidAria-Cr4nR3tu.js} +0 -0
- /package/dist/{vReveal-DUmiEkX_.js → vReveal-DZfWl9XI.js} +0 -0
- /package/dist/{vSpecular-DlYN0UZy.js → vSpecular-CQFmLNzA.js} +0 -0
- /package/dist/{writeVelocityWeight-D1rvdxJu.js → writeVelocityWeight-D_AcvTsE.js} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/components/_shared/valueDomain.ts
|
|
2
|
+
var e = (e, t) => Number.isFinite(e) && Number.isFinite(t) && t > e;
|
|
3
|
+
function t(t, n, r) {
|
|
4
|
+
return e(n, r) ? (Math.min(r, Math.max(n, typeof t == "number" && Number.isFinite(t) ? t : n)) - n) / (r - n) : 0;
|
|
5
|
+
}
|
|
6
|
+
function n(t, n, r) {
|
|
7
|
+
return !t?.length || !e(n, r) ? [] : [...new Set(t.filter((e) => Number.isFinite(e) && e > n && e < r))].sort((e, t) => e - t).map((e) => ({
|
|
8
|
+
value: e,
|
|
9
|
+
position: (e - n) / (r - n)
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { n, t };
|
package/dist/watercolor-dot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./_plugin-vue_export-helper-C1je1s0u.js";
|
|
2
|
-
import { t } from "./useRAFLoop-
|
|
3
|
-
import { n, t as r } from "./prng-
|
|
2
|
+
import { t } from "./useRAFLoop-BtwQ9DyY.js";
|
|
3
|
+
import { n, t as r } from "./prng-Dz2_9RJu.js";
|
|
4
4
|
import { computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, normalizeClass as u, normalizeStyle as d, openBlock as f, ref as p, renderSlot as m, resolveDynamicComponent as h, toRef as g, useId as _, watch as v, withCtx as y } from "vue";
|
|
5
5
|
//#region src/components/watercolor-dot/prng.ts
|
|
6
6
|
function b(e, t, n) {
|
|
@@ -116,6 +116,7 @@ var T = {
|
|
|
116
116
|
let D = i(() => t.animate ? S.borderRadius.value : x.value ? S.hoverBorderRadius.value : S.borderRadius.value), O = i(() => t.animate ? S.transform.value : "none");
|
|
117
117
|
return (t, r) => (f(), a(h(e.tag), {
|
|
118
118
|
class: u(["watercolor-swatch", e.animate && "watercolor-animated"]),
|
|
119
|
+
type: e.tag === "button" ? "button" : void 0,
|
|
119
120
|
"data-testid": "watercolor-swatch",
|
|
120
121
|
"data-variant": e.variant,
|
|
121
122
|
style: d({
|
|
@@ -164,10 +165,11 @@ var T = {
|
|
|
164
165
|
_: 3
|
|
165
166
|
}, 40, [
|
|
166
167
|
"class",
|
|
168
|
+
"type",
|
|
167
169
|
"data-variant",
|
|
168
170
|
"style"
|
|
169
171
|
]));
|
|
170
172
|
}
|
|
171
|
-
}), [["__scopeId", "data-v-
|
|
173
|
+
}), [["__scopeId", "data-v-2abd7f65"]]);
|
|
172
174
|
//#endregion
|
|
173
175
|
export { D as WatercolorDot, r as hashString, n as mulberry32, x as radiiToCSS, b as randomRadii, w as useWatercolorBlob };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mkbabb/glass-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "Glassmorphic design system — Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -232,9 +232,6 @@
|
|
|
232
232
|
"spa-view": [
|
|
233
233
|
"dist/spa-view.d.ts"
|
|
234
234
|
],
|
|
235
|
-
"stacked-icons": [
|
|
236
|
-
"dist/stacked-icons.d.ts"
|
|
237
|
-
],
|
|
238
235
|
"status-dot": [
|
|
239
236
|
"dist/status-dot.d.ts"
|
|
240
237
|
],
|
|
@@ -549,10 +546,6 @@
|
|
|
549
546
|
"types": "./dist/spa-view.d.ts",
|
|
550
547
|
"import": "./dist/spa-view.js"
|
|
551
548
|
},
|
|
552
|
-
"./stacked-icons": {
|
|
553
|
-
"types": "./dist/stacked-icons.d.ts",
|
|
554
|
-
"import": "./dist/stacked-icons.js"
|
|
555
|
-
},
|
|
556
549
|
"./status-dot": {
|
|
557
550
|
"types": "./dist/status-dot.d.ts",
|
|
558
551
|
"import": "./dist/status-dot.js"
|
|
@@ -598,7 +591,7 @@
|
|
|
598
591
|
"iter-test": "vitest run --reporter=verbose",
|
|
599
592
|
"iter-test-watch": "vitest --watch",
|
|
600
593
|
"prepare": "node scripts/install-hooks.mjs && (test -f dist/glass-ui.js -a -f dist/index.d.ts || npm run build)",
|
|
601
|
-
"prepublishOnly": "npm run
|
|
594
|
+
"prepublishOnly": "npm run typecheck && npm run build && npm test",
|
|
602
595
|
"profile:aurora": "node scripts/profile-aurora.mjs",
|
|
603
596
|
"profile:bundle": "node scripts/profile-bundle.mjs",
|
|
604
597
|
"release": "bash scripts/release.sh",
|
|
@@ -612,7 +605,7 @@
|
|
|
612
605
|
"peerDependencies": {
|
|
613
606
|
"@lucide/vue": "^1.16.0",
|
|
614
607
|
"@mkbabb/keyframes.js": "^5.2.0",
|
|
615
|
-
"@mkbabb/pencil-boil": "^0.
|
|
608
|
+
"@mkbabb/pencil-boil": "^0.9.2",
|
|
616
609
|
"@mkbabb/value.js": "^3.1.0",
|
|
617
610
|
"@vueuse/core": "^14.0",
|
|
618
611
|
"class-variance-authority": "^0.7",
|
|
@@ -650,8 +643,8 @@
|
|
|
650
643
|
"devDependencies": {
|
|
651
644
|
"@lucide/vue": "^1.20.0",
|
|
652
645
|
"highlight.js": "^11.11.1",
|
|
653
|
-
"@mkbabb/keyframes.js": "
|
|
654
|
-
"@mkbabb/pencil-boil": "
|
|
646
|
+
"@mkbabb/keyframes.js": "5.3.4",
|
|
647
|
+
"@mkbabb/pencil-boil": "0.9.2",
|
|
655
648
|
"@mkbabb/value.js": "^3.1.0",
|
|
656
649
|
"@tailwindcss/postcss": "^4.3.1",
|
|
657
650
|
"@tailwindcss/vite": "^4.3.1",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/* Terminal accessibility cascade: adaptations replace the completed product
|
|
2
|
+
paint instead of competing with later component rules. */
|
|
3
|
+
@import "./glass/a11y-fallback.css";
|
|
4
|
+
@import "./utilities/a11y-overrides.css";
|
|
5
|
+
|
|
6
|
+
/* Selection and validation keep a non-hue boundary when contrast is requested.
|
|
7
|
+
The system-color arm yields fully to the user's forced palette. */
|
|
8
|
+
@media (prefers-contrast: more) {
|
|
9
|
+
:is(
|
|
10
|
+
[aria-current]:not([aria-current="false"]),
|
|
11
|
+
[aria-selected="true"],
|
|
12
|
+
[aria-pressed="true"],
|
|
13
|
+
[aria-checked="true"],
|
|
14
|
+
[data-state="checked"],
|
|
15
|
+
[data-state="on"]
|
|
16
|
+
) {
|
|
17
|
+
border-color: currentColor !important;
|
|
18
|
+
border-style: solid !important;
|
|
19
|
+
border-width: 2px !important;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:is([aria-invalid="true"], :user-invalid) {
|
|
23
|
+
border-color: var(--destructive) !important;
|
|
24
|
+
border-style: solid !important;
|
|
25
|
+
border-width: 2px !important;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@media (forced-colors: active) {
|
|
30
|
+
:is(
|
|
31
|
+
[aria-current]:not([aria-current="false"]),
|
|
32
|
+
[aria-selected="true"],
|
|
33
|
+
[aria-pressed="true"],
|
|
34
|
+
[aria-checked="true"],
|
|
35
|
+
[data-state="checked"],
|
|
36
|
+
[data-state="on"]
|
|
37
|
+
) {
|
|
38
|
+
border-color: Highlight !important;
|
|
39
|
+
border-style: solid !important;
|
|
40
|
+
border-width: 2px !important;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:is([aria-invalid="true"], :user-invalid) {
|
|
44
|
+
border-color: Mark !important;
|
|
45
|
+
border-style: solid !important;
|
|
46
|
+
border-width: 2px !important;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -129,14 +129,14 @@
|
|
|
129
129
|
scale of its own — the translate/squish are the morph primitive's writes) */
|
|
130
130
|
scale: 1.015;
|
|
131
131
|
}
|
|
132
|
-
.glass-capsule-hover:active {
|
|
132
|
+
.glass-capsule-hover:not([data-press-armed]):active {
|
|
133
133
|
/* the --scale-press snap */
|
|
134
134
|
scale: var(--scale-press-sm, 0.97);
|
|
135
135
|
}
|
|
136
136
|
@media (prefers-reduced-motion: reduce) {
|
|
137
137
|
/* the lift is motion; the specular catch (a static legibility cue) stays. */
|
|
138
138
|
.glass-capsule-hover:hover,
|
|
139
|
-
.glass-capsule-hover:active {
|
|
139
|
+
.glass-capsule-hover:not([data-press-armed]):active {
|
|
140
140
|
scale: 1;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
(the census measured the raw page-muted at WCAG 3.3-4.27 dark, BELOW AA): the feedback
|
|
369
369
|
TONE-TINTED plates (`.feedback-tone` — Alert / Notification / Toast, the AlertDescription
|
|
370
370
|
caption + mono labels), the selected-glass capsule CHIPS + overflow PUCKS (`.glass-capsule`
|
|
371
|
-
— selectable-chip / toggle-chip /
|
|
371
|
+
— selectable-chip / toggle-chip / tags-input, idle `text-muted-foreground`
|
|
372
372
|
ink), and the `.metric-badge` mono label. These plates composite BRIGHTER than the calm
|
|
373
373
|
quiet plate (the quiet content plate lands L≈0.28; a tone-tinted / selected chip plate
|
|
374
374
|
lands L≈0.30-0.35), so a subordinate light ink loses contrast on them — they need the
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* The public material hierarchy. Content and elevated content own their paint here;
|
|
2
|
+
functional glass and transient overlays keep their component-specific anatomy. */
|
|
3
|
+
@layer components {
|
|
4
|
+
[data-material="content-field"] {
|
|
5
|
+
background: var(--background);
|
|
6
|
+
color: var(--foreground);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* A content card is elevation, not another glass pane. Keep nested controls free
|
|
10
|
+
to remain functional glass by changing only the card root's paint. */
|
|
11
|
+
[data-material="elevated-content"][data-surface="glass"] {
|
|
12
|
+
background: var(--card);
|
|
13
|
+
border-color: var(--border-soft);
|
|
14
|
+
box-shadow: var(--card-shadow);
|
|
15
|
+
backdrop-filter: none;
|
|
16
|
+
-webkit-backdrop-filter: none;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -395,21 +395,27 @@
|
|
|
395
395
|
--specular-intensity: var(--glass-specular-intensity-active, 0.16);
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
/*
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
on the dock-control `::before`, line-disjoint from the shared recipe above. */
|
|
406
|
-
.dock-icon-button:is(.is-active, .active, [aria-pressed="true"], [aria-expanded="true"], [aria-current="page"])::before,
|
|
407
|
-
.dock-tab-button:is(.is-active, .active, [aria-pressed="true"], [aria-expanded="true"], [aria-current="page"])::before,
|
|
408
|
-
.dock-select-trigger:is(.is-active, .active, [aria-pressed="true"], [aria-expanded="true"], [aria-current="page"])::before,
|
|
409
|
-
.dock-dropdown-trigger:is(.is-active, .active, [aria-pressed="true"], [aria-expanded="true"], [aria-current="page"])::before {
|
|
398
|
+
/* Selected and dragged controls hold the same interaction lens used during
|
|
399
|
+
press. Semantics choose the state attribute; the material owns its paint. */
|
|
400
|
+
:is(.glass-material, .glass-wash, .glass-quiet, .glass-resting, .glass-floating,
|
|
401
|
+
.glass-overlay, .glass-specular-track, .dock-icon-button, .dock-tab-button,
|
|
402
|
+
.dock-select-trigger, .dock-dropdown-trigger):is(.is-active, .active, [data-active],
|
|
403
|
+
[data-dragging], [data-state="checked"], [data-state="on"], [aria-pressed="true"],
|
|
404
|
+
[aria-selected="true"], [aria-expanded="true"], [aria-current="page"])::before {
|
|
410
405
|
--specular-intensity: var(--glass-specular-intensity-active, 0.16);
|
|
411
406
|
}
|
|
412
407
|
|
|
408
|
+
/* Disabled glass keeps its neutral separating hairline but cannot wake the
|
|
409
|
+
interaction lens through hover, press, or retained state. Content ink is
|
|
410
|
+
untouched; each control continues to own its disabled legibility. */
|
|
411
|
+
:is(.glass-material, .glass-wash, .glass-quiet, .glass-resting, .glass-floating,
|
|
412
|
+
.glass-overlay, .glass-specular-track, .dock-icon-button, .dock-tab-button,
|
|
413
|
+
.dock-select-trigger, .dock-dropdown-trigger):is(:disabled, [data-disabled],
|
|
414
|
+
[aria-disabled="true"])::before {
|
|
415
|
+
--specular-intensity: var(--glass-specular-intensity-rest, 0);
|
|
416
|
+
transition: none;
|
|
417
|
+
}
|
|
418
|
+
|
|
413
419
|
/* BB.W-LENSING (scope 2) — the `:active` LENS-SWELL is RETIRED (DDR-LENS-BAKE,
|
|
414
420
|
glass-refract.css header). The swell drove the displacement `scale` by mutating
|
|
415
421
|
the `--glass-refract` axis on the `--glass-btn-press-t` press drive (28 rest → 44
|
package/src/styles/glass.css
CHANGED
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
* under the 500-line no-god-module bound), @import-ed below in CASCADE ORDER.
|
|
36
36
|
* The base ladder splits into three adjacent `@layer components` blocks
|
|
37
37
|
* (material · ladder · surfaces) — same layer, same source order, so the carve
|
|
38
|
-
* is isomorphic. The squircle `@supports` arm
|
|
39
|
-
*
|
|
38
|
+
* is isomorphic. The squircle `@supports` arm stays after the base ladder;
|
|
39
|
+
* accessibility modes load once at the end of styles/index.css. See
|
|
40
40
|
* docs/precepts/design-idioms.md §cohesion-aware partials.
|
|
41
41
|
*/
|
|
42
42
|
|
|
43
43
|
/* CSS @import rules must precede every other rule. The seven partials @import in
|
|
44
44
|
cascade order (surface-axis.css AFTER ladder/surfaces so its [data-surface]
|
|
45
45
|
decoration attr rules win over the base rung by source order; BEFORE the
|
|
46
|
-
squircle
|
|
46
|
+
squircle override): */
|
|
47
47
|
@import "./glass/material.css";
|
|
48
48
|
@import "./glass/ladder.css";
|
|
49
49
|
/* BI.W-STYLE-REDRAIN — the .glass-opaque level-0 escape + the content-aware under-shadow
|
|
@@ -91,6 +91,7 @@
|
|
|
91
91
|
slider/progress recipes. */
|
|
92
92
|
@import "./glass/liquid-fill.css";
|
|
93
93
|
@import "./glass/surface-axis.css";
|
|
94
|
+
@import "./glass/material-roles.css";
|
|
94
95
|
@import "./glass/reveal.css";
|
|
95
96
|
/* BD.W-LIQUID-ENTRANCE-GENERAL — the UNIVERSAL `.liquid-enter` mount recipe
|
|
96
97
|
(the four coupled channels as @keyframes-on-mount + the `.is-cel` cel-slam + the
|
|
@@ -103,8 +104,7 @@
|
|
|
103
104
|
decoration ON a base rung (the .glass-opaque/.glass-deep precedent), @import-ed
|
|
104
105
|
IMMEDIATELY AFTER deep.css (same @layer components, source-order-after so its cohort
|
|
105
106
|
fills win over control-surfaces.css/surfaces.css at equal specificity) and BEFORE the
|
|
106
|
-
squircle
|
|
107
|
+
squircle override. */
|
|
107
108
|
@import "./glass/defined.css";
|
|
108
109
|
@import "./glass/progress-rail.css";
|
|
109
110
|
@import "./glass/squircle.css";
|
|
110
|
-
@import "./glass/a11y-fallback.css";
|
package/src/styles/index.css
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
* from (1) so MUST come after them; defines the
|
|
63
63
|
* `dark` variant selector consumed by the cascade.
|
|
64
64
|
* 4. glass.css — thin @import root over glass/{material,ladder,
|
|
65
|
-
* surfaces,progress-rail,squircle
|
|
65
|
+
* surfaces,progress-rail,squircle}.css.
|
|
66
66
|
* .glass-{wash,quiet,resting,floating,overlay}
|
|
67
67
|
* 5-rung ladder + .glass-card / -pill / -btn.
|
|
68
68
|
* Consumes tokens (1) + theme aliases (3).
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
* over the glass tiers.
|
|
76
76
|
* 5. paper.css — paper underpaint + grain overlay utilities.
|
|
77
77
|
* Pairs with (4) for paper-on-glass compositions.
|
|
78
|
-
* 6. dock.css
|
|
78
|
+
* 6. components/dock/styles/index.css — the dock CORE: the `@property --dock-morph-t`
|
|
79
79
|
* registration, the shared cross-control four-state
|
|
80
80
|
* comma-groups, and the `@import`s of the cohesive
|
|
81
81
|
* `dock/*.css` partials (shell · morph · density ·
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
* each < 500 lines, all in the SAME @layer components
|
|
85
85
|
* so the cascade is isomorphic). Component utility
|
|
86
86
|
* layer; consumes (1) + (3).
|
|
87
|
-
* 6b. dock
|
|
87
|
+
* 6b. components/dock/styles/controls.css — the dock CONTROL families
|
|
88
88
|
* dock.css (AU.W8b.3): .dock-icon-button,
|
|
89
89
|
* .dark-mode-toggle-button, .dock-tab-button + tiers,
|
|
90
90
|
* .dock-select-trigger / .dock-dropdown-trigger, and
|
|
@@ -92,9 +92,9 @@
|
|
|
92
92
|
* components; MUST load directly after dock.css so
|
|
93
93
|
* the shared :where()/comma-group contract in (6)
|
|
94
94
|
* cascades into these control rules.
|
|
95
|
-
* 7.
|
|
95
|
+
* 7. components/card/styles.css — card and shared card-surface recipes.
|
|
96
96
|
* Component utility layer.
|
|
97
|
-
* 7a. feedback-tone.css
|
|
97
|
+
* 7a. components/_shared/feedback-tone.css — the shared tinted-glass tone register
|
|
98
98
|
* (BA.W-FEEDBACK-TONE): `.feedback-tone` +
|
|
99
99
|
* `.feedback-tone-{success,warning,info,destructive}`
|
|
100
100
|
* tint a glass rung a bounded % toward a house tone
|
|
@@ -135,29 +135,29 @@
|
|
|
135
135
|
* recipe + `--vt-*` axes (AQ.W5; the
|
|
136
136
|
* `useViewTransition` substrate's CSS half).
|
|
137
137
|
* 11. utilities.css — thin @import root over utilities/{animate,base,
|
|
138
|
-
* components,btn
|
|
138
|
+
* components,btn}.css. focus-ring,
|
|
139
139
|
* btn-audacious + btn-interactive (press cluster;
|
|
140
140
|
* K W6 + Q.W3 Lane E), rainbow-vivid +
|
|
141
141
|
* rainbow-pastel. Consumes earlier animations +
|
|
142
142
|
* tokens.
|
|
143
|
-
* 11a. menu.css
|
|
143
|
+
* 11a. components/_shared/menu.css — the glass MENU-ROW + MENU-SECTION
|
|
144
144
|
* register. AFTER utilities.css so `.glass-menu-row`'s
|
|
145
145
|
* `@layer components` hover/highlight rules source-
|
|
146
146
|
* order-win over `.interactive-item:hover` (same layer
|
|
147
147
|
* + specificity) — the cascade-trap-safe placement.
|
|
148
|
-
* 12. instrument-chassis.css —
|
|
148
|
+
* 12. components/instrument-chassis/styles.css — chassis bezel +
|
|
149
149
|
* groove dividers). Loaded after utilities so
|
|
150
150
|
* component-local recipes can override.
|
|
151
|
-
* 13. drawer.css
|
|
151
|
+
* 13. components/drawer/styles.css — detented bottom-sheet grammar (glass
|
|
152
152
|
* sheet surface + peek handle + snap-stop rules).
|
|
153
|
-
* 15.
|
|
154
|
-
* 16.
|
|
153
|
+
* 15. components/tabs/styles/* — SegmentedTabs overflow/indicator grammar.
|
|
154
|
+
* 16. components/_shared/field-surfaces.css — precompiled field/list surfaces
|
|
155
155
|
* collision-bound (the `[data-slot="select-content"]`
|
|
156
156
|
* max-height rule) — moved off the dead arbitrary-
|
|
157
157
|
* bracket CVA class so the bound SHIPS in dist/glass-ui.css
|
|
158
158
|
* regardless of consumer JIT reach. A structural utility
|
|
159
159
|
* never depends on a content-scan; locked by proof:emission.
|
|
160
|
-
* 17. dialog
|
|
160
|
+
* 17. components/dialog/placement.css — precompiled Dialog
|
|
161
161
|
* side-slide positioning (the `[data-slot="dialog-content"]
|
|
162
162
|
* [data-placement]` position/inset/size rules — the Sheet
|
|
163
163
|
* fold) — the overlay-band emission INVERSE: moved off the
|
|
@@ -165,9 +165,12 @@
|
|
|
165
165
|
* drawer so the positioning SHIPS regardless of consumer JIT
|
|
166
166
|
* reach; locked by proof:emission.
|
|
167
167
|
*
|
|
168
|
+
* 18. accessibility.css — terminal reduced-transparency/contrast/motion,
|
|
169
|
+
* forced-colors, and coarse-input adaptations.
|
|
170
|
+
*
|
|
168
171
|
* Per-package component CSS lives at (12)-(17) (loaded after utilities so
|
|
169
|
-
* component-local recipes can override).
|
|
170
|
-
*
|
|
172
|
+
* component-local recipes can override). Accessibility then replaces the
|
|
173
|
+
* completed paint as one terminal product mode.
|
|
171
174
|
*/
|
|
172
175
|
@import "./tokens.css";
|
|
173
176
|
@import "./typography.css";
|
|
@@ -176,10 +179,10 @@
|
|
|
176
179
|
@import "./glass-specular-track.css";
|
|
177
180
|
@import "./glass-refract.css";
|
|
178
181
|
@import "./paper.css";
|
|
179
|
-
@import "
|
|
180
|
-
@import "
|
|
181
|
-
@import "
|
|
182
|
-
@import "
|
|
182
|
+
@import "../components/dock/styles/index.css";
|
|
183
|
+
@import "../components/dock/styles/controls.css";
|
|
184
|
+
@import "../components/card/styles.css";
|
|
185
|
+
@import "../components/_shared/feedback-tone.css";
|
|
183
186
|
@import "./transitions.css";
|
|
184
187
|
@import "./animations.css";
|
|
185
188
|
@import "./viz-reveal.css";
|
|
@@ -189,7 +192,7 @@
|
|
|
189
192
|
choreography (lifted out of the CardHeader.vue <style scoped> block into ONE
|
|
190
193
|
global, un-hashed home; the shared @keyframes title-collapse SCALE leg). A
|
|
191
194
|
scroll-choreography partial — bucketed DEFERRED in critical-partition.mjs. */
|
|
192
|
-
@import "
|
|
195
|
+
@import "../components/card/card-scroll.css";
|
|
193
196
|
@import "./scroll-chrome.css";
|
|
194
197
|
@import "./view-transition.css";
|
|
195
198
|
@import "./utilities.css";
|
|
@@ -199,21 +202,21 @@
|
|
|
199
202
|
over `.interactive-item:hover` (utilities/base.css, same layer + specificity) —
|
|
200
203
|
the cascade-trap-safe placement, mirroring glass/surface-axis.css's "import
|
|
201
204
|
AFTER ladder.css" discipline. */
|
|
202
|
-
@import "
|
|
203
|
-
@import "
|
|
204
|
-
@import "
|
|
205
|
+
@import "../components/_shared/menu.css";
|
|
206
|
+
@import "../components/configurator/styles.css";
|
|
207
|
+
@import "../components/instrument-chassis/styles.css";
|
|
205
208
|
/* BI.W-OVERLAY-UNION — hover-popover.css DELETED: <HoverPopover> folded onto the
|
|
206
209
|
sealed <Popover trigger="hover"> union; its content rides the shared
|
|
207
210
|
glass-floating + glass-reveal recipe, so the bespoke .hover-popover-panel
|
|
208
211
|
substrate is dead. (clean break, no alias.) */
|
|
209
|
-
@import "
|
|
210
|
-
@import "
|
|
212
|
+
@import "../components/drawer/styles.css";
|
|
213
|
+
@import "../components/tabs/styles/segmented.css";
|
|
211
214
|
/* BI.W-STYLE-REDRAIN — the SegmentedTabs additive DECORATION tail (the .glass-drag-lift
|
|
212
215
|
pull affordance + the data-eyeglass iOS-27 loupe register) carved out of
|
|
213
216
|
segmented-tabs.css to hold the no-god-module 500-line bound; @import-ed IMMEDIATELY
|
|
214
217
|
AFTER it (unlayered, unique selectors, source-order-after — byte-isomorphic). */
|
|
215
|
-
@import "
|
|
216
|
-
@import "
|
|
218
|
+
@import "../components/tabs/styles/drag.css";
|
|
219
|
+
@import "../components/_shared/field-surfaces.css";
|
|
217
220
|
/* BI.W-DIALOG-PLACEMENT — the overlay-band Dialog side-slide structural positioning,
|
|
218
221
|
precompiled (the emission INVERSE, terminalized onto Dialog `placement` — the Sheet
|
|
219
222
|
fold): a [data-slot="dialog-content"][data-placement] rule so the side sheet's
|
|
@@ -221,13 +224,13 @@
|
|
|
221
224
|
content-scan reach (off the dead CVA geometry utilities that broke the D7 configurator
|
|
222
225
|
drawer). :where()-wrapped so a consumer sizing utility still wins. Locked by
|
|
223
226
|
proof:emission (overlay-band inverse clause). */
|
|
224
|
-
@import "
|
|
227
|
+
@import "../components/dialog/placement.css";
|
|
225
228
|
/* BA.W-ICON-CHIP — the <IconChip> section-color pop recipe + the three axes
|
|
226
229
|
(duotone/bloom/reveal). A component partial; the token arms (--section-color-N
|
|
227
230
|
/ --muted) auto-flip under .dark so the chip is mode-robust by construction. */
|
|
228
|
-
@import "
|
|
231
|
+
@import "../components/icon-chip/styles.css";
|
|
229
232
|
/* The thin, radius-following masked scroll-progress band. */
|
|
230
|
-
@import "
|
|
233
|
+
@import "../components/scroll-progress-rim/styles.css";
|
|
231
234
|
|
|
232
235
|
/* BC.W-AX-COMPLETION-SEAL — the hero-scale earned-GOLD completion seal: a one-shot
|
|
233
236
|
gold-draw mark (a `stroke-dashoffset` wipe on the 4 `@property` motion tokens
|
|
@@ -235,7 +238,7 @@
|
|
|
235
238
|
tokens/property-regs.css §18). The ink reads the W-PHASE-PALETTE earned-gold
|
|
236
239
|
register; the glint composes the W-AX-METAL-GLOW catch-light. One-shot, PRM-gated,
|
|
237
240
|
compositor-only — the feedback-surface partial. */
|
|
238
|
-
@import "
|
|
241
|
+
@import "../components/completion-seal/styles.css";
|
|
239
242
|
|
|
240
243
|
/* BI.W-DRAW-IN — the codified self-drawing arrival register (`.draw-rule` /
|
|
241
244
|
`[data-draw-in]`). A hairline / divider / underline draws ITSELF in via
|
|
@@ -247,6 +250,11 @@
|
|
|
247
250
|
PRM-static. */
|
|
248
251
|
@import "./draw-in.css";
|
|
249
252
|
|
|
253
|
+
/* Accessibility is a terminal product mode, not a mid-cascade patch. This one
|
|
254
|
+
import owns reduced transparency/contrast/motion, forced colors, and coarse
|
|
255
|
+
target adaptation after every material and component recipe. */
|
|
256
|
+
@import "./accessibility.css";
|
|
257
|
+
|
|
250
258
|
/* Ensure Tailwind scans glass-ui's compiled component templates for the utility
|
|
251
259
|
classes they emit (CVA variant classes like text-destructive-foreground,
|
|
252
260
|
layout utilities like h-full/shrink-0).
|
|
@@ -350,12 +350,6 @@
|
|
|
350
350
|
(the documented public register the consumers reach by name; the JS path
|
|
351
351
|
reads it via useSpringPress + --glass-btn-press-t). */
|
|
352
352
|
--ease-spring-press: var(--spring-press);
|
|
353
|
-
/* BC.W-DECK — the deck slide-transition spring's @theme alias (the documented
|
|
354
|
-
public register a consumer's slide `transition-timing-function` reaches by
|
|
355
|
-
name: `ease-spring-deck`). --spring-deck aliases --spring-smooth; the headless
|
|
356
|
-
library mints the register, the deck consumer reads it (presets-in-consumers). */
|
|
357
|
-
--ease-spring-deck: var(--spring-deck);
|
|
358
|
-
|
|
359
353
|
--ease-standard: var(--motion-ease-standard);
|
|
360
354
|
--ease-out: var(--motion-ease-out);
|
|
361
355
|
--ease-in: var(--motion-ease-in);
|
|
@@ -408,7 +408,6 @@
|
|
|
408
408
|
--glass-shadow-overlay: var(--shadow-2xl),
|
|
409
409
|
0 0 0 0.5px color-mix(in srgb, var(--shadow-color) 8%, transparent),
|
|
410
410
|
var(--glass-highlight);
|
|
411
|
-
--glass-shadow: var(--glass-shadow-quiet);
|
|
412
411
|
|
|
413
412
|
/* ─────────────────────────────────────────────────────────────
|
|
414
413
|
AL-W1-α augmented — SPINE 8th tier (HOUSING register)
|
|
@@ -423,11 +422,8 @@
|
|
|
423
422
|
The 4 tokens here cover the minimum viable substrate the SLIM
|
|
424
423
|
Y4/Y6/Y7 retention set ratified. The 35 rejected axes (saturate
|
|
425
424
|
band, edge-light per tier, depth-shadow per tier, tier-up macro)
|
|
426
|
-
stay rejected per the conservative-creation mandate.
|
|
427
|
-
--glass-spine-opacity/-blur — no var() consumer, pinned by InstrumentChassis.spine-variant.test.ts; Batch-6 re-anchor.)
|
|
425
|
+
stay rejected per the conservative-creation mandate.
|
|
428
426
|
───────────────────────────────────────────────────────────── */
|
|
429
|
-
--glass-spine-opacity: 0;
|
|
430
|
-
--glass-spine-blur: 0px;
|
|
431
427
|
--glass-spine-border: var(--surface-tint-8);
|
|
432
428
|
--glass-spine-vignette: radial-gradient(
|
|
433
429
|
ellipse at 50% 0%,
|
|
@@ -310,9 +310,8 @@
|
|
|
310
310
|
P3 [6%,10%] band (below 6% reads flat, above 10% reads like a filled plate). The
|
|
311
311
|
`.glass-well` class (glass/surface-axis.css) composes it AT the element (so a
|
|
312
312
|
per-scope `--glass-well-tone` override re-resolves — the substitution-vs-
|
|
313
|
-
inheritance discipline)
|
|
313
|
+
inheritance discipline). */
|
|
314
314
|
--glass-well-tone: 8%;
|
|
315
|
-
--glass-bg-well: color-mix(in oklab, var(--card), var(--foreground) var(--glass-well-tone));
|
|
316
315
|
|
|
317
316
|
/* ── BE.W-TINTED-CHIP — the per-INSTANCE PLATE-FILL tint axis (`--glass-fill-tint`
|
|
318
317
|
/ `--glass-fill-strength`) ──────────────────────────────────────────────────
|
|
@@ -92,7 +92,6 @@
|
|
|
92
92
|
|
|
93
93
|
--max-width-input: 24rem;
|
|
94
94
|
--input-min-width-sm: 5rem;
|
|
95
|
-
--min-width-input-sm: var(--input-min-width-sm);
|
|
96
95
|
/* AU.W8b.4 — canonical popover width (Combobox list + anchor). Lifts the
|
|
97
96
|
`w-[200px]` arbitrary-value wrap to the `w-popover` @theme utility. */
|
|
98
97
|
--popover-width: 200px;
|
|
@@ -416,21 +416,22 @@
|
|
|
416
416
|
}
|
|
417
417
|
|
|
418
418
|
/* BI.W-TEMPO (M11 / N6) — the GOVERNING motion TIME scalar (the one application
|
|
419
|
-
point). ONE registered inheriting number co-scales
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
419
|
+
point). ONE registered inheriting number co-scales the CSS spring clocks (the
|
|
420
|
+
`--spring-<name>-duration` reader), the canonical `sheet-animate` panel/scrim
|
|
421
|
+
enter and exit clocks, and the JS spring RESPONSES (each spring engine reads it via
|
|
422
|
+
`motionTempo()` and scales `response *= tempo` at construction). Because
|
|
423
|
+
`duration ∝ response` (ωₙ = 2π/response), scaling the CSS
|
|
424
424
|
clock by tempo ≡ scaling response by tempo — so the M1 CSS==JS parity holds at ANY
|
|
425
425
|
tempo (G2). It serves the "options for longer" clause of UF-G1 (a global motion
|
|
426
426
|
time knob a consumer sets on `:root`).
|
|
427
427
|
|
|
428
428
|
Registered with the EXACT `--ui-scale`/`--motion-weight`/`--glass-level` typed
|
|
429
|
-
cascading-scalar idiom
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
429
|
+
cascading-scalar idiom. The global owner is `:root`: root-computed spring readers,
|
|
430
|
+
portaled element-local readers, and element-agnostic JS engines all observe that
|
|
431
|
+
value without a portal bridge. Element-local readers may additionally honor a
|
|
432
|
+
nearer inherited override; root-computed spring tokens intentionally do not
|
|
433
|
+
re-resolve through that substitution trap. `initial-value: 1` is the IDENTITY
|
|
434
|
+
(RATIFIED judgment (c) — the per-
|
|
434
435
|
register tightening is M1 + REGISTER-TABLE's exit/enter-menu clocks, NOT a global
|
|
435
436
|
scale): at 1.0 the reader resolves `settle * 1` byte-identical to the flat clock,
|
|
436
437
|
so the axis is a no-op at rest. A malformed override CLAMPS to the initial 1 (the
|
|
@@ -84,7 +84,6 @@
|
|
|
84
84
|
`--ring`); this is the SOLE `--focus-ring-color` reader (the one retint knob). */
|
|
85
85
|
--focus-ring-shadow: 0 0 0 var(--focus-ring-width) color-mix(in srgb, var(--focus-ring-color) 30%, transparent),
|
|
86
86
|
0 0 8px color-mix(in srgb, var(--focus-ring-color) 15%, transparent);
|
|
87
|
-
--focus-ring: var(--focus-ring-shadow);
|
|
88
87
|
|
|
89
88
|
/* BB.W-INVALID-RING — the destructive twin of --focus-ring-shadow. The
|
|
90
89
|
aria-invalid ring is ONE register: every form control (Input/Textarea/
|
|
@@ -93,6 +93,9 @@
|
|
|
93
93
|
The CALM card register keeps `--duration-fast`/`--duration-normal` — a `<Card>` is
|
|
94
94
|
not an interactive control. */
|
|
95
95
|
--duration-control: 0.12s;
|
|
96
|
+
/* Base clocks stay independently tunable. The canonical `sheet-animate` reader
|
|
97
|
+
multiplies its panel/fast legs by `--motion-tempo`; unrelated color and ambient
|
|
98
|
+
effects may continue to consume these bases without claiming global co-scale. */
|
|
96
99
|
--duration-fast: 0.2s;
|
|
97
100
|
--duration-normal: 0.3s;
|
|
98
101
|
--duration-slow: 0.45s;
|
|
@@ -185,16 +185,6 @@
|
|
|
185
185
|
same way (no overshoot under reduce — the vestibular floor). */
|
|
186
186
|
--transition-liquid-spatial: var(--spring-smooth);
|
|
187
187
|
|
|
188
|
-
/* ── DECK SLIDE-TRANSITION CURVE (BC.W-DECK) ──
|
|
189
|
-
The full-viewport keyboard-paged deck's slide transition rides the SAME
|
|
190
|
-
`--spring-smooth` register the deck's `DECK_SPRING` samples (the calm-settle
|
|
191
|
-
`.smooth` family; the (response, ζ) pair lives in deck/constants.ts) — an
|
|
192
|
-
ALIAS, NOT a new spring family (the donor's own fence + the W-GLASS-CAL spring
|
|
193
|
-
fence). `--spring-deck: var(--spring-smooth)` so a deck slide reads as a calm
|
|
194
|
-
settle, not a bounce; the JS half (`installDeckSpring`) consumes keyframes.js
|
|
195
|
-
`springTimingFunction(DECK_SPRING)` for the count-up easing. */
|
|
196
|
-
--spring-deck: var(--spring-smooth);
|
|
197
|
-
|
|
198
188
|
/* ── GOO-MORPH SLIDE-TRANSITION FLOW CURVE (BD.W-GOO-CAROUSEL-DECK) ──
|
|
199
189
|
The per-consumer dwell-flow curve the ONE `useGooMorph` engine reads off its
|
|
200
190
|
`tokenPrefix` (`--{prefix}-flow`/`-duration`/`-max-stretch`). This is NOT a new
|