@mkbabb/glass-ui 3.13.0 → 4.0.1
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 +3 -1
- package/dist/CardAction-CW7a0m8M.js +253 -0
- package/dist/{CommandShortcut-RowNEO6i.js → CommandShortcut-DvZNQ_HF.js} +58 -53
- package/dist/ConfiguratorRow-BR4l-ixA.js +143 -0
- package/dist/{ContextMenuContent-CT3AS1WX.js → ContextMenuContent-uWnVxDab.js} +1 -1
- package/dist/{ContextMenuSubContent-BQmxTAdw.js → ContextMenuSubContent-xol4sD2q.js} +32 -37
- package/dist/{DataTable-BCddn3T3.js → DataTable-CuKwF7wr.js} +99 -97
- package/dist/DialogContent-DcKK8k9i.js +103 -0
- package/dist/{DialogFooter-Blu4t7tJ.js → DialogFooter-BZNX5aVr.js} +3 -3
- package/dist/FadingScroll-DI6hQhT9.js +76 -0
- package/dist/{HoverCardContent-Csywg3YF.js → HoverCardContent-b2uaAMRR.js} +1 -1
- package/dist/{HoverPopover-CISOJQuZ.js → HoverPopover-CbqbNwgU.js} +2 -2
- package/dist/IconChip-BTD-nay5.js +55 -0
- package/dist/{IconTooltip-DPzE09X9.js → IconTooltip-Bl8gFZ8d.js} +1 -1
- package/dist/{Input-DWQQIOC4.js → Input-h9v5LeXf.js} +1 -1
- package/dist/{MetricBadge-C9QMz1KT.js → MetricBadge-RHdBP72w.js} +1 -1
- package/dist/Notification-VUwexFUf.js +43 -0
- package/dist/NumberFieldContent-Cq7EzX-U.js +138 -0
- package/dist/PopoverContent-DL7E6vJP.js +127 -0
- package/dist/{Progress-DwlUKGbr.js → Progress-DctG61iZ.js} +98 -78
- package/dist/{ScrollingText-DfFrwSph.js → ScrollingText-yOpBzFYq.js} +2 -2
- package/dist/{SelectScrollDownButton-CiDUxfEj.js → SelectScrollDownButton-CrA8F0iV.js} +35 -20
- package/dist/{Switch-CsIuYP_e.js → Switch-CwYNf8bo.js} +1 -1
- package/dist/Toaster-Bw4xR8xV.js +274 -0
- package/dist/{ToggleGroupItem-D_AHlRw9.js → ToggleGroupItem-pEM9vIhs.js} +50 -37
- package/dist/{TooltipProvider-B3MkB_8P.js → TooltipProvider-rzvnXz60.js} +1 -1
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +16 -8
- package/dist/api/types-extra.d.ts +6 -0
- package/dist/api.js +2 -2
- package/dist/aurora.js +888 -230
- package/dist/badge.js +1 -1
- package/dist/border-progress.d.ts +1 -0
- package/dist/border-progress.js +106 -0
- package/dist/button-DYCUa-tH.js +126 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -2
- package/dist/card.js +2 -2
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +90 -151
- package/dist/collapsible.js +1 -1
- 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/compile-CQEFRTmx.js +19 -0
- package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
- package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +19 -0
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +51 -0
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +29 -0
- package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +30 -2
- package/dist/components/custom/aurora/constants/renderMode.d.ts +63 -10
- package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
- package/dist/components/custom/aurora/index.d.ts +3 -2
- package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +22 -0
- package/dist/components/custom/border-progress/constants.d.ts +59 -0
- package/dist/components/custom/border-progress/index.d.ts +4 -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/concentric/Concentric.vue.d.ts +39 -0
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +11 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +13 -0
- package/dist/components/custom/concentric/composables/ringField.d.ts +44 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +13 -0
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
- package/dist/components/custom/concentric/constants.d.ts +43 -0
- package/dist/components/custom/concentric/index.d.ts +5 -0
- package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
- package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
- package/dist/components/custom/constellation/Constellation.vue.d.ts +18 -206
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
- package/dist/components/custom/constellation/constellationField.d.ts +2 -369
- package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
- package/dist/components/custom/constellation/index.d.ts +1 -1
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +13 -4
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
- package/dist/components/custom/dock/DockRail.vue.d.ts +17 -16
- 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 -5
- package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +75 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
- package/dist/components/custom/dock/constants.d.ts +35 -0
- package/dist/components/custom/dock/index.d.ts +2 -0
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +38 -0
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +41 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +34 -0
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +18 -0
- package/dist/components/custom/dot-flow-field/constants.d.ts +48 -0
- package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +20 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
- package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
- package/dist/components/custom/easing/composables/useEasingPicker.d.ts +75 -0
- package/dist/components/custom/easing/constants.d.ts +28 -0
- package/dist/components/custom/easing/index.d.ts +3 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- 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 +19 -2
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +39 -0
- package/dist/components/custom/fourier-field/constants.d.ts +7 -0
- package/dist/components/custom/fourier-field/index.d.ts +1 -1
- package/dist/components/custom/fourier-field/math.d.ts +17 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +9 -1
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +4 -2
- package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +29 -12
- package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
- package/dist/components/custom/goo-blob/constants.d.ts +6 -1
- package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
- package/dist/components/custom/handmark/HandMark.vue.d.ts +29 -0
- package/dist/components/custom/handmark/brush.d.ts +269 -0
- package/dist/components/custom/handmark/composables/useHandMark.d.ts +89 -0
- package/dist/components/custom/handmark/constants.d.ts +39 -0
- package/dist/components/custom/handmark/freehand.d.ts +69 -0
- package/dist/components/custom/handmark/geometry.d.ts +52 -0
- package/dist/components/custom/handmark/index.d.ts +27 -0
- package/dist/components/custom/handmark/ink.d.ts +11 -0
- package/dist/components/custom/handmark/texture.d.ts +39 -0
- package/dist/components/custom/handmark/types.d.ts +62 -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 +82 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -2
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
- 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/spa-view/SpaView.vue.d.ts +50 -0
- package/dist/components/custom/spa-view/index.d.ts +2 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +29 -24
- package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
- package/dist/components/custom/tabs/constants.d.ts +9 -3
- package/dist/components/custom/tabs/index.d.ts +1 -1
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +15 -1
- 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/badge/index.d.ts +1 -1
- package/dist/components/ui/button/Button.vue.d.ts +5 -2
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/card/Card.vue.d.ts +34 -4
- package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
- package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
- package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
- package/dist/components/ui/card/index.d.ts +2 -0
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
- package/dist/components/ui/carousel/index.d.ts +0 -1
- package/dist/components/ui/command/Command.vue.d.ts +4 -1
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
- package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +12 -8
- package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
- package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
- package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
- package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
- package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
- package/dist/components/ui/drawer/constants.d.ts +45 -0
- package/dist/components/ui/drawer/index.d.ts +23 -15
- package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
- package/dist/components/ui/focus-scope/index.d.ts +2 -0
- package/dist/components/ui/index.d.ts +1 -1
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- 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/sheet/index.d.ts +1 -1
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
- package/dist/components/ui/toast/use-toast.d.ts +14 -0
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/composables/dark/index.d.ts +1 -1
- package/dist/composables/dark/useGlobalDark.d.ts +23 -1
- package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
- package/dist/composables/glass/index.d.ts +5 -2
- package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
- package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
- package/dist/composables/glass/vSpecular.d.ts +2 -0
- package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
- package/dist/composables/glass/webgpu/index.d.ts +2 -0
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +54 -0
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +84 -0
- package/dist/composables/motion/core/index.d.ts +1 -0
- package/dist/composables/motion/index.d.ts +4 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +59 -0
- package/dist/composables/motion/useDragMorph.d.ts +77 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
- package/dist/composables/motion/useLiquidPress.d.ts +71 -0
- package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
- package/dist/composables/motion/useNumericTransition.d.ts +3 -3
- package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
- package/dist/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/concentric.d.ts +1 -0
- package/dist/concentric.js +562 -0
- package/dist/configurator.js +3 -2
- package/dist/confirm-dialog.js +22 -24
- package/dist/constellation.js +93 -95
- package/dist/context-menu.js +3 -3
- package/dist/controls.js +10 -4
- package/dist/createCanvasLifecycle-CHD5XrDW.js +82 -0
- package/dist/dark.d.ts +1 -1
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +738 -442
- package/dist/{dockContext-BegmJVmx.js → dockContext-BNfyPLe9.js} +1 -1
- package/dist/dom.js +5 -5
- package/dist/dot-flow-field.d.ts +1 -0
- package/dist/dot-flow-field.js +604 -0
- package/dist/drawer.d.ts +1 -0
- package/dist/drawer.js +380 -0
- package/dist/{dropdown-menu-DzkkyBwX.js → dropdown-menu-CofSZuk8.js} +14 -15
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.d.ts +1 -0
- package/dist/easing.js +463 -0
- package/dist/expandable-container.js +45 -38
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/focus-scope.d.ts +1 -0
- package/dist/focus-scope.js +23 -0
- package/dist/forms.js +7 -7
- package/dist/fourier-field.js +135 -122
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +39 -36
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +154 -362
- package/dist/goo-blob.js +838 -227
- package/dist/handmark.d.ts +1 -0
- package/dist/handmark.js +707 -0
- 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 -3
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +6 -6
- package/dist/{math-U6-RrLmV.js → math-BINYmg5z.js} +11 -3
- package/dist/{menuItemVariants-DPiEarb0.js → menuItemVariants-D8VNHq22.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +25 -22
- package/dist/metric-stack.js +4 -8
- package/dist/motion-core.js +36 -35
- package/dist/motion-curves.js +1 -1
- package/dist/motion.js +157 -55
- 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/{presets-BKVyQfbt.js → presets-BW2b-fr1.js} +14 -1
- package/dist/{compile-B7NGOBcP.js → procedural-color.glsl-CIFsJhwI.js} +1 -155
- package/dist/procedural-color.wgsl-CToRHugY.js +224 -0
- 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.js +10 -12
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet-tZMg0E0w.js +218 -0
- package/dist/sheet.js +1 -1
- package/dist/{slider-B-JP2JlI.js → slider-DVb4HXU-.js} +7 -7
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/spa-view.d.ts +1 -0
- package/dist/spa-view.js +46 -0
- package/dist/styles/animations.css +40 -31
- package/dist/styles/border-progress.css +109 -0
- package/dist/styles/cards.css +76 -0
- package/dist/styles/components.css +1 -1
- package/dist/styles/configurator.css +35 -0
- package/dist/styles/critical-partition.mjs +140 -0
- package/dist/styles/critical.css +12 -0
- package/dist/styles/deferred.css +31 -0
- package/dist/styles/dock/density.css +64 -0
- package/dist/styles/dock/layers.css +54 -30
- package/dist/styles/dock/morph.css +124 -7
- package/dist/styles/dock/overflow.css +31 -2
- package/dist/styles/dock/rail-extend.css +168 -71
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +83 -16
- package/dist/styles/dock-controls/icon-button.css +11 -1
- package/dist/styles/dock-controls/tab-button.css +24 -83
- package/dist/styles/dock-controls/triggers.css +7 -0
- package/dist/styles/dock.css +38 -3
- package/dist/styles/drawer.css +127 -35
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/glass/deep.css +44 -0
- package/dist/styles/glass/ladder.css +154 -52
- package/dist/styles/glass/material.css +78 -15
- package/dist/styles/glass/reveal.css +136 -0
- package/dist/styles/glass/rim.css +100 -0
- package/dist/styles/glass/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +189 -15
- package/dist/styles/glass-refract.css +96 -44
- package/dist/styles/glass-specular-track.css +7 -0
- package/dist/styles/glass.css +8 -2
- package/dist/styles/hover-popover.css +7 -6
- package/dist/styles/icon-chip.css +211 -0
- package/dist/styles/index.css +78 -4
- package/dist/styles/instrument-chassis.css +107 -2
- package/dist/styles/menu.css +127 -0
- package/dist/styles/scroll-choreography.css +300 -0
- package/dist/styles/segmented-tabs.css +188 -86
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +22 -1
- package/dist/styles/theme/literals.css +11 -2
- package/dist/styles/theme/radius.css +6 -1
- package/dist/styles/tokens/color-radius.css +40 -13
- package/dist/styles/tokens/dark-arm.css +200 -20
- package/dist/styles/tokens/glass-deep.css +75 -0
- package/dist/styles/tokens/glass-fx.css +333 -0
- package/dist/styles/tokens/glass.css +95 -315
- package/dist/styles/tokens/light-dark.css +64 -22
- package/dist/styles/tokens/offsets.css +116 -0
- package/dist/styles/tokens/on-glass-fg.css +39 -0
- package/dist/styles/tokens/property-regs.css +130 -10
- package/dist/styles/tokens/scale-paper.css +155 -84
- package/dist/styles/tokens/scheme-motion.css +102 -46
- package/dist/styles/tokens/scroll-tokens.css +123 -0
- package/dist/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
- package/dist/styles/tokens.css +9 -3
- 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 +174 -0
- package/dist/styles/typography.css +23 -507
- package/dist/styles/utilities/a11y-overrides.css +33 -4
- package/dist/styles/utilities/animate.css +27 -24
- package/dist/styles/utilities/base-misc.css +255 -0
- package/dist/styles/utilities/base.css +100 -138
- package/dist/styles/utilities/btn.css +21 -202
- package/dist/styles/utilities/metal.css +189 -0
- package/dist/styles/utilities.css +14 -7
- package/dist/styles/view-transition.css +4 -1
- package/dist/switch.js +1 -1
- package/dist/tabs.js +275 -191
- 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-C5I3wWd8.js → useAnimatedNumber-BfUq2bUM.js} +1 -1
- package/dist/useCanvas2D-B8w_E3Rr.js +83 -0
- package/dist/useConfiguratorState-DNlOh6c8.js +161 -0
- package/dist/useDragMorph-DgxnsVJz.js +102 -0
- package/dist/{useGlobalDark-yhL4Wp-s.js → useGlobalDark-C28t0VWJ.js} +22 -3
- package/dist/useLiquidPress-kfb4KX79.js +39 -0
- package/dist/usePointerVelocityField-JbRd5CrM.js +137 -0
- package/dist/{useRAFLoop-Bxv0o6L5.js → useRAFLoop-UYa4zoiN.js} +1 -1
- package/dist/useSpring-C0jyvEJB.js +40 -0
- package/dist/useSpringMount-q1amq1SJ.js +71 -0
- package/dist/useSpringPress-BsqPr7FJ.js +34 -0
- package/dist/useSurfaceAxis-g0NloYEF.js +7 -0
- package/dist/{useTouchGate-Dg7MQI1G.js → useTouchGate-CBZTD4SD.js} +1 -1
- package/dist/vReveal-Czsb7zQC.js +10 -0
- package/dist/vSpecular-CQFmLNzA.js +68 -0
- package/dist/vendor-CKmzio-i.js +226 -0
- package/dist/watercolor-dot.js +12 -5
- package/package.json +193 -25
- package/src/styles/animations.css +40 -31
- package/src/styles/border-progress.css +109 -0
- package/src/styles/cards.css +76 -0
- package/src/styles/configurator.css +35 -0
- package/src/styles/critical-partition.mjs +140 -0
- package/src/styles/dock/density.css +64 -0
- package/src/styles/dock/layers.css +54 -30
- package/src/styles/dock/morph.css +124 -7
- package/src/styles/dock/overflow.css +31 -2
- package/src/styles/dock/rail-extend.css +168 -71
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +83 -16
- package/src/styles/dock-controls/icon-button.css +11 -1
- package/src/styles/dock-controls/tab-button.css +24 -83
- package/src/styles/dock-controls/triggers.css +7 -0
- package/src/styles/dock.css +38 -3
- package/src/styles/drawer.css +123 -35
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/glass/deep.css +44 -0
- package/src/styles/glass/ladder.css +154 -52
- package/src/styles/glass/material.css +78 -15
- package/src/styles/glass/reveal.css +136 -0
- package/src/styles/glass/rim.css +100 -0
- package/src/styles/glass/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +189 -15
- package/src/styles/glass-refract.css +96 -44
- package/src/styles/glass-specular-track.css +7 -0
- package/src/styles/glass.css +8 -2
- package/src/styles/hover-popover.css +7 -6
- package/src/styles/icon-chip.css +211 -0
- package/src/styles/index.css +78 -4
- package/src/styles/instrument-chassis.css +107 -2
- package/src/styles/menu.css +127 -0
- package/src/styles/scroll-choreography.css +300 -0
- package/src/styles/segmented-tabs.css +184 -84
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +22 -1
- package/src/styles/theme/literals.css +11 -2
- package/src/styles/theme/radius.css +6 -1
- package/src/styles/tokens/color-radius.css +40 -13
- package/src/styles/tokens/dark-arm.css +200 -20
- package/src/styles/tokens/glass-deep.css +75 -0
- package/src/styles/tokens/glass-fx.css +333 -0
- package/src/styles/tokens/glass.css +95 -315
- package/src/styles/tokens/light-dark.css +64 -22
- package/src/styles/tokens/offsets.css +116 -0
- package/src/styles/tokens/on-glass-fg.css +39 -0
- package/src/styles/tokens/property-regs.css +130 -10
- package/src/styles/tokens/scale-paper.css +155 -84
- package/src/styles/tokens/scheme-motion.css +102 -46
- package/src/styles/tokens/scroll-tokens.css +123 -0
- package/src/styles/tokens/{offsets-sizing.css → sizing.css} +88 -89
- package/src/styles/tokens.css +9 -3
- 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 +174 -0
- package/src/styles/typography.css +23 -507
- package/src/styles/utilities/a11y-overrides.css +33 -4
- package/src/styles/utilities/animate.css +27 -24
- package/src/styles/utilities/base-misc.css +255 -0
- package/src/styles/utilities/base.css +100 -138
- package/src/styles/utilities/btn.css +21 -202
- package/src/styles/utilities/metal.css +189 -0
- package/src/styles/utilities.css +14 -7
- package/src/styles/view-transition.css +4 -1
- package/dist/CardAction-Cj2eycQ2.js +0 -157
- package/dist/DialogContent-Dl9WkAoS.js +0 -100
- package/dist/Notification-DdwNxIrI.js +0 -100
- package/dist/NumberFieldContent-CqaN-SvN.js +0 -145
- package/dist/PopoverContent-BYwt2-4x.js +0 -121
- package/dist/TabsList-Dttss653.js +0 -105
- package/dist/Toaster-D6q4HtXu.js +0 -263
- package/dist/button-ChXMfsud.js +0 -81
- package/dist/check-njhk-vfu.js +0 -7
- package/dist/chevron-down-DKkxb4VV.js +0 -7
- package/dist/chevron-right-CPXbqQQz.js +0 -7
- package/dist/chevron-up-n_24SqI-.js +0 -7
- package/dist/components/custom/underline/GlassUnderline.vue.d.ts +0 -84
- package/dist/components/custom/underline/index.d.ts +0 -2
- package/dist/components/custom/underline/types.d.ts +0 -56
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
- package/dist/createLucideIcon-DydS2qgk.js +0 -43
- package/dist/minimize-2-BV31Ob_h.js +0 -38
- package/dist/search-BSGrf2Sk.js +0 -12
- package/dist/sheet-1fChZjtw.js +0 -214
- package/dist/underline.d.ts +0 -1
- package/dist/underline.js +0 -85
- package/dist/useCanvas2D-ClrQuZtp.js +0 -96
- package/dist/useConfiguratorState-DAoeHVue.js +0 -287
- package/dist/useSpecularTracking-Bo5su68i.js +0 -32
- package/dist/useSpringMount-CI2jOstM.js +0 -108
- package/dist/vReveal-CqaCz_mC.js +0 -44
- package/dist/x-BUwTKe50.js +0 -10
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-68dEXIAl.js} +0 -0
- /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-Bx0F_q5g.js} +0 -0
- /package/dist/{Label-r3WzWrsj.js → Label-C2ejNWeC.js} +0 -0
- /package/dist/{ModalOverlay-DVLI2VRr.js → ModalOverlay-D1VrWyoi.js} +0 -0
- /package/dist/{PaperBackdrop-DIXTtVq6.js → PaperBackdrop-Vf3tlpvd.js} +0 -0
- /package/dist/{SelectGroup-aumMgWLs.js → SelectGroup-DwwjicPY.js} +0 -0
- /package/dist/{SelectSeparator-BQ_1Fcbp.js → SelectSeparator-DXswVdRz.js} +0 -0
- /package/dist/{Separator-0JE6LtNu.js → Separator-pKF0oA4M.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
- /package/dist/{color-CUYeFbgd.js → color-DweYl7pE.js} +0 -0
- /package/dist/{constants-CS75AWHG.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-BM46COQ-.js → createContext-CpBNTRMI.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Za0Rmgag.js} +0 -0
- /package/dist/{resolveCanvasColor-BBiYfp8g.js → resolveCanvasColor-CUyHr5Uu.js} +0 -0
- /package/dist/{springPresets--YdWTHtm.js → springPresets-CFQGQfdl.js} +0 -0
- /package/dist/{useIntersectionPause-Cc-H9ees.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-iHludrxk.js → useInterval-CvK1mL92.js} +0 -0
- /package/dist/{useKeyboardShortcuts-Be3w_Rwk.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useLiquidFlex-BL0lLLN2.js → useLiquidFlex-mZPMiNXh.js} +0 -0
- /package/dist/{useResizeObserver-BhgdhOIj.js → useResizeObserver-Bpoi7tRE.js} +0 -0
- /package/dist/{useResolveTokenColor-Dvn2RZJW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
- /package/dist/{useScrollProgress-Dlvx-L3v.js → useScrollProgress-D7bYU2RK.js} +0 -0
- /package/dist/{useSortable-muI29agz.js → useSortable-DHjtZSEd.js} +0 -0
- /package/dist/{useTextHighlight-DmRYkOBx.js → useTextHighlight-CWEi25hf.js} +0 -0
- /package/dist/{useTimer-Dzarvzuk.js → useTimer-BHJOKr35.js} +0 -0
- /package/dist/{useUserInvalidAria-B2h6jAM_.js → useUserInvalidAria-y5namzeE.js} +0 -0
- /package/dist/{useViewportReady-B40FK4Pa.js → useViewportReady-anbac3m6.js} +0 -0
|
@@ -1,59 +1,111 @@
|
|
|
1
|
-
/*
|
|
2
|
-
*
|
|
3
|
-
*
|
|
1
|
+
/* BB.W-LENSING — the #glass-refract edge-lensing SVG filter, EVOLVED off the
|
|
2
|
+
* AW.W23 crude-radial garnish onto the real squircle bevel-profile + the typed
|
|
3
|
+
* `--glass-refract` axis driving the animatable displacement `scale` (the press
|
|
4
|
+
* lens-swell). Shipped as a library asset so `.glass-lens` works OUT OF THE BOX
|
|
5
|
+
* (no consumer hand-mounts a filter node).
|
|
4
6
|
*
|
|
5
|
-
* The refraction recipe is the canonical 3-primitive graph (kube.io /
|
|
7
|
+
* The refraction recipe is the canonical 3-primitive graph (kube.io / ekino /
|
|
6
8
|
* LogRocket, 2025):
|
|
7
9
|
*
|
|
8
|
-
* feImage —
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
10
|
+
* feImage — the displacement map computed from the convex-squircle
|
|
11
|
+
* surface profile f(x) = ⁴√(1 − (1 − x)⁴) (Apple's preferred
|
|
12
|
+
* corner curve) via Snell's law (n₁ = 1 air, n₂ = 1.5 glass).
|
|
13
|
+
* The map's R channel carries the x-shift and G the y-shift
|
|
14
|
+
* (neutral 128 = no shift). The squircle slope is near-flat past
|
|
15
|
+
* the outer ~14% band and STEEP at the rim, so the bend
|
|
16
|
+
* CONCENTRATES at the edge (thin interior) — the iOS edge-lensing
|
|
17
|
+
* read, NOT a uniform radial bulge (the retired AW.W23 placeholder).
|
|
18
|
+
* Encoding: TWO crossed linear gradients — a HORIZONTAL gradient
|
|
19
|
+
* drives the R channel (255 @0% → 128 across the flat interior →
|
|
20
|
+
* 0 @100%, the squircle ramp held in the bevel band) and a VERTICAL
|
|
21
|
+
* gradient drives the G channel the same way — SCREEN-composited
|
|
22
|
+
* over a black base so each channel carries its own axis EXACTLY
|
|
23
|
+
* (`screen(C, 0) = C`; the displacement map reads only R/G, B unused).
|
|
24
|
+
* The map carries ZERO color (the warm-cream identity HOLDS —
|
|
25
|
+
* refraction is DEPTH not hue). The asset is baked ONCE (the
|
|
26
|
+
* squircle CURVE is fixed, the Apple-preferred profile); only the
|
|
27
|
+
* `scale` param animates the magnitude (scope 2 — no map re-bake).
|
|
16
28
|
* feDisplacementMap— displaces the backdrop by the baked map (R = x-shift,
|
|
17
|
-
* G = y-shift, `scale` = max px
|
|
18
|
-
* feImage specular — a soft top-left specular highlight
|
|
19
|
-
*
|
|
20
|
-
*
|
|
29
|
+
* G = y-shift, `scale` = max px the `--glass-refract` axis drives).
|
|
30
|
+
* feImage specular — a soft warm top-left specular highlight (PRESERVED from HEAD —
|
|
31
|
+
* the polished-glass catch).
|
|
32
|
+
* feBlend screen — blended `screen` over the displaced backdrop.
|
|
21
33
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
34
|
+
* DDR-LENS-BAKE — the displacement `scale` is a BAKED LITERAL (`scale='28'`, the §10
|
|
35
|
+
* default depth), NOT a var()-driven axis. WHY (the reversal of BB.W-LENSING scope 2):
|
|
36
|
+
* the scope-2 design split the filter across `var(--…head) var(--glass-refract) var(--…tail)`
|
|
37
|
+
* to splice the typed `@property --glass-refract` value between a head ending `…scale='`
|
|
38
|
+
* and a tail beginning `'…`. That construction is doubly broken, proven on the real edge
|
|
39
|
+
* (Chromium, playwright):
|
|
40
|
+
* (1) PARSE — head/tail each carry a COMPLETE `url(…)`, so the composite is the three
|
|
41
|
+
* tokens `url("…") 28 url("…")`, which a `backdrop-filter` REJECTS. The lens
|
|
42
|
+
* computed-`backdrop-filter: none` — it never rendered. (A var() inside a single
|
|
43
|
+
* url() STRING token is not re-tokenised by the engine either — tested — so there
|
|
44
|
+
* is no CSS-legal path to a dynamic `scale` inside one self-contained data-URI.)
|
|
45
|
+
* (2) BUNDLER — the tail `url("'…")` starts with a bare quote, so a consumer's CSS
|
|
46
|
+
* url()-rewriter (vite/postcss) reads it as a relative asset path and fails
|
|
47
|
+
* `ENOENT: open ''`, breaking EVERY bundler-based consumer.
|
|
48
|
+
* The fix: ONE complete, valid `url("data:…scale='28'…")` token. A `data:` URI is the
|
|
49
|
+
* single form that both PARSES as a filter value AND is skipped by the url()-rewriter
|
|
50
|
+
* (the rewriter only resolves non-data/non-#/non-http content as a file). RE-LITIGATE-IF
|
|
51
|
+
* the platform ships a way to substitute a value into a url() string token (then the
|
|
52
|
+
* press-swell `scale` animation could return). TRADEOFF: the per-instance `:active`
|
|
53
|
+
* lens-swell (28→44 `scale` on press) is dropped — but it was already inert (it animated
|
|
54
|
+
* a value that reached no rendering filter), so the lived read is UNCHANGED (and the lens
|
|
55
|
+
* now actually renders). The `@property --glass-refract` reg + `--glass-refract-swell`
|
|
56
|
+
* knob are retired with it. The bevel-band width is the `--glass-refract-bevel` knob
|
|
57
|
+
* (default 14% — the iOS edge band); the baked stops fix the squircle CURVE, the knob
|
|
58
|
+
* documents the rim concentration the map encodes.
|
|
27
59
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
60
|
+
* The filter ships INLINE as a data-URI in the `backdrop-filter` declaration, so the
|
|
61
|
+
* consumer gets it with zero markup. `backdrop-filter: url(#…)` is Chromium-only (WebKit
|
|
62
|
+
* bug 245510 open, Firefox not shipping), so the whole decl sits behind
|
|
63
|
+
* `@supports (backdrop-filter: url(#…))`; a non-supporting engine paints the un-gated blur
|
|
64
|
+
* base alone (no broken `url()` reference — the no-workaround degrade floor, PRESERVED).
|
|
65
|
+
*
|
|
66
|
+
* CLASS RENAME (BB.W-LENSING scope 5 — clean break, no alias, BB inv-7). The AW.W23
|
|
67
|
+
* `.glass-refract` opt-in class is RENAMED to `.glass-lens` (the §2 vocabulary); the
|
|
68
|
+
* `--glass-refract*` AXIS/token names are KEPT (the lens magnitude is the refraction
|
|
69
|
+
* axis). Consumers (`<Button :liquid>`, the demo witness) compose `.glass-lens`. The
|
|
70
|
+
* rename is the only public-surface delta (MIGRATION.md row). The garnish stays PE-only
|
|
71
|
+
* over the blur base; it is NEVER promoted to the card/primitive substrate
|
|
72
|
+
* (feDisplacementMap is resize-expensive — only the `scale` param animates without
|
|
73
|
+
* rebuilding the map).
|
|
37
74
|
*/
|
|
38
75
|
|
|
39
76
|
@layer components {
|
|
40
|
-
/* The shipped filter graph as
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
77
|
+
/* The shipped filter graph as ONE self-contained data-URI SVG (`scale='28'` baked,
|
|
78
|
+
DDR-LENS-BAKE). A single `url("data:…")` token is the only form that PARSES as a
|
|
79
|
+
`backdrop-filter` value AND survives a consumer bundler's url()-rewrite (a `data:`
|
|
80
|
+
URI is skipped; any other `url("…")` content is mis-resolved as a file). The
|
|
81
|
+
`#glass-refract` id is resolvable in-document (the data-URI is self-contained). */
|
|
82
|
+
.glass-lens {
|
|
83
|
+
/* The bevel-band width the squircle map encodes (the iOS edge concentration).
|
|
84
|
+
Documents the rim thickness the baked stops fix; a consumer reads it to tune
|
|
85
|
+
the perceived rim band on a successor re-bake. */
|
|
86
|
+
--glass-refract-bevel: 14%;
|
|
87
|
+
|
|
88
|
+
/* The shipped filter — ONE complete, valid `url("data:…")` token carrying the
|
|
89
|
+
whole 3-primitive graph with the `scale='28'` baked in (the §10 default depth,
|
|
90
|
+
DDR-LENS-BAKE). A single self-contained `data:` URI is (a) the ONLY form that
|
|
91
|
+
PARSES as a `backdrop-filter` value — the prior var()-spliced head/tail emitted
|
|
92
|
+
`url("…") <n> url("…")`, three tokens a `backdrop-filter` rejects, so the lens
|
|
93
|
+
silently rendered `none`; and (b) bundler-SAFE — a consumer's CSS url()-rewriter
|
|
94
|
+
skips a `data:` URI but mis-resolves any `url("…")` whose content starts with a
|
|
95
|
+
bare char (the old tail began `'…` → ENOENT, breaking every bundler consumer).
|
|
96
|
+
See the DDR-LENS-BAKE note in the header for the lost-tunability tradeoff. */
|
|
97
|
+
--glass-refract-filter: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27glass-refract%27 x=%270%27 y=%270%27 width=%27100%25%27 height=%27100%25%27%3E%3CfeImage href=%27data:image/svg+xml,%253Csvg xmlns=%2522http://www.w3.org/2000/svg%2522 width=%2522100%2522 height=%2522100%2522%253E%253ClinearGradient id=%2522hx%2522 x1=%25220%2522 y1=%25220%2522 x2=%2522100%2525%2522 y2=%25220%2522%253E%253Cstop offset=%25220%2525%2522 stop-color=%2522rgb(255,0,0)%2522/%253E%253Cstop offset=%252214%2525%2522 stop-color=%2522rgb(128,0,0)%2522/%253E%253Cstop offset=%252286%2525%2522 stop-color=%2522rgb(128,0,0)%2522/%253E%253Cstop offset=%2522100%2525%2522 stop-color=%2522rgb(0,0,0)%2522/%253E%253C/linearGradient%253E%253ClinearGradient id=%2522vy%2522 x1=%25220%2522 y1=%25220%2522 x2=%25220%2522 y2=%2522100%2525%2522%253E%253Cstop offset=%25220%2525%2522 stop-color=%2522rgb(0,255,0)%2522/%253E%253Cstop offset=%252214%2525%2522 stop-color=%2522rgb(0,128,0)%2522/%253E%253Cstop offset=%252286%2525%2522 stop-color=%2522rgb(0,128,0)%2522/%253E%253Cstop offset=%2522100%2525%2522 stop-color=%2522rgb(0,0,0)%2522/%253E%253C/linearGradient%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522black%2522/%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522url(%2523hx)%2522/%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522url(%2523vy)%2522 style=%2522mix-blend-mode:screen%2522/%253E%253C/svg%253E%27 result=%27map%27/%3E%3CfeDisplacementMap in=%27SourceGraphic%27 in2=%27map%27 scale=%2728%27 xChannelSelector=%27R%27 yChannelSelector=%27G%27 result=%27disp%27/%3E%3CfeImage href=%27data:image/svg+xml,%253Csvg xmlns=%2522http://www.w3.org/2000/svg%2522 width=%2522100%2522 height=%2522100%2522%253E%253CradialGradient id=%2522s%2522 cx=%252230%2525%2522 cy=%252225%2525%2522 r=%252260%2525%2522%253E%253Cstop offset=%25220%2525%2522 stop-color=%2522rgba(255,255,255,0.5)%2522/%253E%253Cstop offset=%2522100%2525%2522 stop-color=%2522rgba(255,255,255,0)%2522/%253E%253C/radialGradient%253E%253Crect width=%2522100%2522 height=%2522100%2522 fill=%2522url(%2523s)%2522/%253E%253C/svg%253E%27 result=%27spec%27/%3E%3CfeBlend in=%27disp%27 in2=%27spec%27 mode=%27screen%27/%3E%3C/filter%3E%3C/svg%3E%23glass-refract");
|
|
47
98
|
}
|
|
48
99
|
|
|
49
|
-
/* The gated consuming selector
|
|
50
|
-
|
|
51
|
-
refraction composes the shipped `#glass-refract` filter OVER the host's
|
|
52
|
-
|
|
53
|
-
|
|
100
|
+
/* The gated consuming selector. The squircle map + the baked `scale='28'` ride
|
|
101
|
+
INSIDE the `@supports (backdrop-filter: url(#…))` block;
|
|
102
|
+
the refraction composes the shipped `#glass-refract` filter OVER the host's existing
|
|
103
|
+
blur — additive (the blur already painted, this bends + concentrates the refraction
|
|
104
|
+
at the rim where the engine supports it). A non-supporting engine never reaches this
|
|
105
|
+
block and paints the un-gated `--glass-blur-*` + `--glass-tint-*` base ALONE. */
|
|
54
106
|
@supports (backdrop-filter: url("#glass-refract")) {
|
|
55
|
-
.glass-material.glass-
|
|
56
|
-
.glass-
|
|
107
|
+
.glass-material.glass-lens,
|
|
108
|
+
.glass-lens {
|
|
57
109
|
-webkit-backdrop-filter: var(--glass-blur-resting) var(--glass-refract-filter);
|
|
58
110
|
|
|
59
111
|
backdrop-filter: var(--glass-blur-resting) var(--glass-refract-filter);
|
|
@@ -43,6 +43,13 @@
|
|
|
43
43
|
.glass-specular-track::before {
|
|
44
44
|
--specular-x: 50%;
|
|
45
45
|
--specular-y: 50%;
|
|
46
|
+
/* BB.W-LENSING — pin the EDGE-glint angle static too (the conic seats at its
|
|
47
|
+
`0deg` top-edge rest). The `useSpecularPointer` leaf already skips the angle
|
|
48
|
+
write under PRM; this is the CSS belt-and-braces pin so the rim glint never
|
|
49
|
+
drifts under reduce. The lens-swell drive also snaps (Button.vue / .tap-squish
|
|
50
|
+
PRM carve), so the whole motion-reactive lens reaches rest with no in-between
|
|
51
|
+
frames — the gesture functions, the physics off. */
|
|
52
|
+
--specular-angle: 0deg;
|
|
46
53
|
transition: none;
|
|
47
54
|
}
|
|
48
55
|
}
|
package/dist/styles/glass.css
CHANGED
|
@@ -40,11 +40,17 @@
|
|
|
40
40
|
* docs/precepts/design-idioms.md §cohesion-aware partials.
|
|
41
41
|
*/
|
|
42
42
|
|
|
43
|
-
/* CSS @import rules must precede every other rule. The
|
|
44
|
-
cascade order
|
|
43
|
+
/* CSS @import rules must precede every other rule. The seven partials @import in
|
|
44
|
+
cascade order (surface-axis.css AFTER ladder/surfaces so its [data-surface]
|
|
45
|
+
decoration attr rules win over the base rung by source order; BEFORE the
|
|
46
|
+
squircle + a11y @supports overrides, which must stay last): */
|
|
45
47
|
@import "./glass/material.css";
|
|
46
48
|
@import "./glass/ladder.css";
|
|
49
|
+
@import "./glass/rim.css";
|
|
47
50
|
@import "./glass/surfaces.css";
|
|
51
|
+
@import "./glass/surface-axis.css";
|
|
52
|
+
@import "./glass/reveal.css";
|
|
53
|
+
@import "./glass/deep.css";
|
|
48
54
|
@import "./glass/progress-rail.css";
|
|
49
55
|
@import "./glass/squircle.css";
|
|
50
56
|
@import "./glass/a11y-fallback.css";
|
|
@@ -37,10 +37,11 @@
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
/* The data-state animation grammar canonicalises onto `.
|
|
41
|
-
(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
/* The data-state animation grammar canonicalises onto `.glass-reveal`
|
|
41
|
+
(BB.W-LIQUID-REVEAL — off the retired `popover-animate` bezier zoom-95, clean
|
|
42
|
+
break). Authors compose `class="hover-popover-panel glass-reveal"` on the panel
|
|
43
|
+
root so the spring-clocked LIQUID-ENTER grammar (the coupled scale+fade+filter
|
|
44
|
+
blur-settle, glass/reveal.css) replaces the bespoke `hover-popover-in/out`
|
|
45
|
+
keyframes that lived here. The `prefers-reduced-motion` carve is handled at the
|
|
46
|
+
canonical site (`glass/reveal.css`'s reduced-motion block) so it cascades to all
|
|
46
47
|
popover-animation consumers automatically. */
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/* icon-chip.css — BA.W-ICON-CHIP: the <IconChip> section-color pop primitive.
|
|
2
|
+
*
|
|
3
|
+
* The library's SINGLE section-color icon-chip recipe — the brand's ONE color
|
|
4
|
+
* event per surface (the one-color-event rule, AZ.W-SUFFUSE / proof:suffuse):
|
|
5
|
+
* a `color-mix(… 25%, transparent)` backplate under a full-chroma glyph, walked
|
|
6
|
+
* over the 13-stop `--section-color-N` ramp (or a complete `tone` token). It
|
|
7
|
+
* OWNS the recipe the four inline `:style` pastes (icons.vue / empty-states.vue
|
|
8
|
+
* / auth-shell.vue / the MetricCell glyph-tint) collapsed onto, so the recipe
|
|
9
|
+
* lives ONCE and proof:suffuse asserts against one component, not N pastes.
|
|
10
|
+
*
|
|
11
|
+
* THE INTERPOLATION SPACE — `in srgb` (DELIBERATE, recorded). The backplate is
|
|
12
|
+
* a foreground-over-transparent overlay at a hand-tuned α stop — the SAME shape
|
|
13
|
+
* as the `--surface-tint-*` brand family, which CLAUDE.md fixes at `in srgb`
|
|
14
|
+
* (the brand-calibrated mix; switching the space shifts the resting α off its
|
|
15
|
+
* hand-set value). The chip is byte-faithful to the reference paste register
|
|
16
|
+
* (the binding W7 π target: stop-0 bg `color(srgb 0.915 0.484 0.671 / 0.25)`),
|
|
17
|
+
* so it preserves `in srgb` — the same brand-overlay path, NOT the glass-tint
|
|
18
|
+
* `in oklab` perceptual-mix path. (The spec text says `in oklab`; the resolution
|
|
19
|
+
* preserves the reference-faithful `in srgb` so the pop register does not shift
|
|
20
|
+
* — recorded in PROGRESS / the DELTA.)
|
|
21
|
+
*
|
|
22
|
+
* THE α STOP IS A TOKEN (BB.W-SUFFUSE3 c3). The hardcoded `25%` lifted onto
|
|
23
|
+
* `--icon-chip-plate-strength` (default `25%`, BYTE-IDENTICAL); the `:saturated`
|
|
24
|
+
* axis re-points it to ~40% for a louder focal pop — the STRENGTH varies, the
|
|
25
|
+
* `in srgb` space + the chip≤glyph ratio do NOT. The pop is ALIVE too: the
|
|
26
|
+
* reveal entrance + the hover-bloom GROW ride the per-spring CLOCK (the
|
|
27
|
+
* --spring-snappy/--spring-smooth registers), no longer the fixed bezier.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
:root {
|
|
31
|
+
/* The chip≤glyph proportion (d2, structural). The diameter floors at
|
|
32
|
+
`glyph × ratio` so the plate can NEVER paint under the glyph — a
|
|
33
|
+
consumer's tiny `size` is clamped. The default reproduces the reference
|
|
34
|
+
48/22 ≈ 2.18 register. Token-first: a consumer retunes without a
|
|
35
|
+
component edit. */
|
|
36
|
+
--icon-chip-glyph-ratio: 2.18;
|
|
37
|
+
/* The duotone fill α — a low-alpha fill of the same hue UNDER the
|
|
38
|
+
full-chroma stroke (the iOS/Material filled-tonal move). Mono-hue. */
|
|
39
|
+
--icon-chip-duotone-fill: 18%;
|
|
40
|
+
/* The backplate vibrancy stop (BB.W-SUFFUSE3 c3). The default reproduces
|
|
41
|
+
the reference 25% register BYTE-IDENTICALLY — the plate `color-mix`
|
|
42
|
+
reads this token instead of the hardcoded `25%`. The `:saturated` axis
|
|
43
|
+
re-points it to a louder focal stop (~40%); the STRENGTH changes, the
|
|
44
|
+
`in srgb` space + the chip≤glyph ratio do NOT (the recorded keep). Still
|
|
45
|
+
ONE color event per surface — a saturated chip is the same event,
|
|
46
|
+
louder, never a license for a second (proof:suffuse d3 counts the event
|
|
47
|
+
FAMILY, not the saturation). Token-first: a consumer retunes without a
|
|
48
|
+
component edit. */
|
|
49
|
+
--icon-chip-plate-strength: 25%;
|
|
50
|
+
/* The hover-bloom backplate lift (25% → ~35%) + the glow-ring spread. */
|
|
51
|
+
--icon-chip-bloom-mix: 35%;
|
|
52
|
+
--icon-chip-bloom-glow: 28%;
|
|
53
|
+
/* The reveal stagger step (consumed by the vReveal `--d` index). */
|
|
54
|
+
--icon-chip-reveal-step: 60ms;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.icon-chip {
|
|
58
|
+
/* The diameter FLOORS at glyph × ratio — the d2 proportion enforced in the
|
|
59
|
+
component, not a per-consumer hope. */
|
|
60
|
+
--_icon-chip-floor: calc(
|
|
61
|
+
var(--icon-chip-glyph-size, 22px) * var(--icon-chip-glyph-ratio)
|
|
62
|
+
);
|
|
63
|
+
inline-size: max(var(--icon-chip-size, 48px), var(--_icon-chip-floor));
|
|
64
|
+
block-size: max(var(--icon-chip-size, 48px), var(--_icon-chip-floor));
|
|
65
|
+
display: inline-flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
border-radius: var(--radius-pill, 9999px);
|
|
69
|
+
/* The backplate — the reference recipe (`in srgb`, the --icon-chip-plate-
|
|
70
|
+
strength α stop, default 25% — BB.W-SUFFUSE3 c3 lifts the hardcoded `25%`
|
|
71
|
+
onto the token, BYTE-IDENTICAL at default). */
|
|
72
|
+
background-color: color-mix(
|
|
73
|
+
in srgb,
|
|
74
|
+
var(--icon-chip-plate-color, var(--muted))
|
|
75
|
+
var(--icon-chip-plate-strength),
|
|
76
|
+
transparent
|
|
77
|
+
);
|
|
78
|
+
color: var(--icon-chip-event-color, var(--muted-foreground));
|
|
79
|
+
/* The §6 easing doctrine — surface props (bg/box-shadow) on the bezier
|
|
80
|
+
standard ease. The transform leg at REST (the leave direction, reverting
|
|
81
|
+
to base) is the NO-OVERSHOOT bezier (a bloom must never overshoot past
|
|
82
|
+
gone — §6 exit law, BB.W-SUFFUSE3 c2); the hover ENTER direction lifts
|
|
83
|
+
onto --spring-smooth on the .icon-chip--bloom:hover rule below. */
|
|
84
|
+
transition:
|
|
85
|
+
background-color var(--duration-fast, 150ms) var(--ease-standard),
|
|
86
|
+
box-shadow var(--duration-fast, 150ms) var(--ease-standard),
|
|
87
|
+
transform var(--duration-fast, 150ms) var(--ease-out);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.icon-chip__glyph {
|
|
91
|
+
display: block;
|
|
92
|
+
flex-shrink: 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* ── The bare register (the MetricCell leading-glyph tint — no backplate) ──── */
|
|
96
|
+
.icon-chip--bare {
|
|
97
|
+
inline-size: auto;
|
|
98
|
+
block-size: auto;
|
|
99
|
+
background-color: transparent;
|
|
100
|
+
border-radius: 0;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* ── The :saturated vibrancy axis (BB.W-SUFFUSE3 c3) ───────────────────────── */
|
|
104
|
+
/* A louder, more-chromatic backplate for a genuine focal pop — the plate
|
|
105
|
+
`color-mix` re-points off the 25% reference stop to ~40%. STILL the ONE color
|
|
106
|
+
event (the same event, louder — proof:suffuse d3 counts the event FAMILY, not
|
|
107
|
+
the saturation). The interpolation STAYS `in srgb` (the recorded reference-
|
|
108
|
+
register keep) and the chip≤glyph ratio is untouched. */
|
|
109
|
+
.icon-chip--saturated {
|
|
110
|
+
--icon-chip-plate-strength: 40%;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* ── The duotone axis — a low-alpha fill of the same hue UNDER the stroke ──── */
|
|
114
|
+
/* Lucide glyphs bake `fill: none` on the SVG root; CSS wins over the
|
|
115
|
+
presentation attribute, so the `[data-duotone] svg` rule reaches the inner
|
|
116
|
+
paths (they inherit `fill` from the root). Mono-hue, proportion-safe. */
|
|
117
|
+
.icon-chip--duotone[data-duotone] svg,
|
|
118
|
+
.icon-chip[data-duotone] .icon-chip__glyph {
|
|
119
|
+
fill: color-mix(
|
|
120
|
+
in srgb,
|
|
121
|
+
var(--icon-chip-event-color, var(--muted-foreground))
|
|
122
|
+
var(--icon-chip-duotone-fill),
|
|
123
|
+
transparent
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* ── The hover-bloom axis — the SMOOTH GLASS register (NO disco) ───────────── */
|
|
128
|
+
/* The backplate mix lifts, a soft same-hue glow ring appears, the glyph stroke
|
|
129
|
+
firms. DISCO FENCE: composes NO sparkle-sweep / btn-audacious / disco-grain —
|
|
130
|
+
the W-GLASS-CAL-retired-disco's calm replacement register only. */
|
|
131
|
+
@media (hover: hover) {
|
|
132
|
+
.icon-chip--bloom:hover {
|
|
133
|
+
background-color: color-mix(
|
|
134
|
+
in srgb,
|
|
135
|
+
var(--icon-chip-plate-color, var(--muted)) var(--icon-chip-bloom-mix),
|
|
136
|
+
transparent
|
|
137
|
+
);
|
|
138
|
+
box-shadow: 0 0 0 0.25rem
|
|
139
|
+
color-mix(
|
|
140
|
+
in srgb,
|
|
141
|
+
var(--icon-chip-event-color, var(--muted-foreground))
|
|
142
|
+
var(--icon-chip-bloom-glow),
|
|
143
|
+
transparent
|
|
144
|
+
);
|
|
145
|
+
/* The bloom GROW (BB.W-SUFFUSE3 c2) — the plate lifts a hair on the
|
|
146
|
+
§6 --spring-smooth transform register (enter smooth). The transition
|
|
147
|
+
is re-declared on :hover so the ENTER direction rides the spring; the
|
|
148
|
+
base rule's --ease-out transform leg governs the leave (no overshoot
|
|
149
|
+
past gone). The color legs stay on the bezier (base rule). */
|
|
150
|
+
transform: scale(var(--icon-chip-bloom-scale, 1.06));
|
|
151
|
+
transition:
|
|
152
|
+
background-color var(--duration-fast, 150ms) var(--ease-standard),
|
|
153
|
+
box-shadow var(--duration-fast, 150ms) var(--ease-standard),
|
|
154
|
+
transform var(--spring-smooth-duration) var(--spring-smooth);
|
|
155
|
+
}
|
|
156
|
+
/* The glyph stroke firms on the chip's own hover. */
|
|
157
|
+
.icon-chip--bloom:hover .icon-chip__glyph {
|
|
158
|
+
stroke-width: 2;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* ── The entrance-reveal axis — composes the shipped vReveal directive ─────── */
|
|
163
|
+
/* The directive writes `[data-reveal]` + `--d` (the stagger index); this rule
|
|
164
|
+
reacts ONLY on an opted-in chip (`.icon-chip--reveal`) so a non-reveal chip's
|
|
165
|
+
inert `[data-reveal]` hook never animates. PRM-gated. */
|
|
166
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
167
|
+
/* BB.W-SUFFUSE3 c1 — the pop-ENTRANCE rides the per-spring CLOCK, NOT the
|
|
168
|
+
fixed --duration-medium bezier. The animation-timing-function is the
|
|
169
|
+
--spring-snappy linear() string (peaks ~1.068) and the duration is
|
|
170
|
+
--spring-snappy-duration (0.34s, the W-GLASS-CAL per-spring clock), so the
|
|
171
|
+
`scale(0.85)→1` keyframe carries the snappy spring's ~+7% overshoot then
|
|
172
|
+
settles (the springy pop, not a flat fade-up). The opacity 0→1 is COUPLED
|
|
173
|
+
on the SAME clock (the W-MOTION-CANON P3 coupled-fade — plate + glyph
|
|
174
|
+
bloom as ONE continuous layer). Compositor-only: transform/opacity only
|
|
175
|
+
(the proof:motion-compositor floor holds). The per-spring clock is the
|
|
176
|
+
W-GLASS-CAL/W-MOTION-CANON fence — CONSUMED here, never re-generated. */
|
|
177
|
+
.icon-chip--reveal[data-reveal] {
|
|
178
|
+
animation: icon-chip-reveal var(--spring-snappy-duration)
|
|
179
|
+
var(--spring-snappy) both;
|
|
180
|
+
animation-delay: calc(var(--d, 0) * var(--icon-chip-reveal-step));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
@keyframes icon-chip-reveal {
|
|
185
|
+
from {
|
|
186
|
+
opacity: 0;
|
|
187
|
+
transform: scale(0.85) translateY(0.25rem);
|
|
188
|
+
}
|
|
189
|
+
to {
|
|
190
|
+
opacity: 1;
|
|
191
|
+
transform: none;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/* ── The deform axes collapse under reduced motion (the PRM guard) ─────────── */
|
|
196
|
+
/* BB.W-SUFFUSE3 c1/c2 — the spring deform drops under reduce: the bloom GROW
|
|
197
|
+
scale collapses to 1 (the color cross-fade may stay — the legibility cue is
|
|
198
|
+
not motion), and the reveal pop SNAPS to its endpoint (scale 1, opacity 1,
|
|
199
|
+
zero in-between frames) via `animation: none` (the chip still APPEARS — only
|
|
200
|
+
the spring/overshoot is off; the W-MOTION-CANON P6 keep-fade/drop-transform). */
|
|
201
|
+
@media (prefers-reduced-motion: reduce) {
|
|
202
|
+
.icon-chip--bloom:hover {
|
|
203
|
+
transform: none;
|
|
204
|
+
}
|
|
205
|
+
.icon-chip--bloom:hover .icon-chip__glyph {
|
|
206
|
+
stroke-width: inherit;
|
|
207
|
+
}
|
|
208
|
+
.icon-chip--reveal[data-reveal] {
|
|
209
|
+
animation: none;
|
|
210
|
+
}
|
|
211
|
+
}
|
package/dist/styles/index.css
CHANGED
|
@@ -94,6 +94,15 @@
|
|
|
94
94
|
* cascades into these control rules.
|
|
95
95
|
* 7. cards.css — .cartoon-surface, .paper-texture.
|
|
96
96
|
* Component utility layer.
|
|
97
|
+
* 7a. feedback-tone.css — the ONE shared tinted-glass tone register
|
|
98
|
+
* (BA.W-FEEDBACK-TONE): `.feedback-tone` +
|
|
99
|
+
* `.feedback-tone-{success,warning,info,destructive}`
|
|
100
|
+
* tint a glass rung a bounded % toward a house tone
|
|
101
|
+
* token on the EXISTING color-mix(in oklab, …) seam.
|
|
102
|
+
* Toast / Notification / Alert consume it (the three
|
|
103
|
+
* tone maps collapse). Loads after cards.css (it reads
|
|
104
|
+
* the same `--glass-bg-*` rung tokens cards.css/the
|
|
105
|
+
* ladder mint) and before floating-panel.css.
|
|
97
106
|
* 8. floating-panel.css — .floating-panel + .floating-panel-item.
|
|
98
107
|
* Component utility layer.
|
|
99
108
|
* 9. transitions.css — Vue <Transition> classes (fade, fade-slide,
|
|
@@ -105,6 +114,12 @@
|
|
|
105
114
|
* 10a. scroll-driven.css — native scroll-driven recipes (.scroll-progress
|
|
106
115
|
* + [data-scroll-reveal]); the `@supports`-gated
|
|
107
116
|
* primary over the JS-composable fallback (AQ.W5).
|
|
117
|
+
* 10a'. scroll-choreography.css — the SOTA scroll-CHOREOGRAPHY register
|
|
118
|
+
* (.scroll-build page-build / .scroll-cascade
|
|
119
|
+
* section-cascade / .scroll-pin scroll-pinned + the
|
|
120
|
+
* native .smooth-scroll opt-in) on the native
|
|
121
|
+
* scroll()/view()/timeline-scope substrate; NO
|
|
122
|
+
* Lenis/GSAP dep (BB.W-SCROLL-MOTION).
|
|
108
123
|
* 10b. view-transition.css — the `.gl-list-item` View-Transitions group
|
|
109
124
|
* recipe + `--vt-*` axes (AQ.W5; the
|
|
110
125
|
* `useViewTransition` substrate's CSS half).
|
|
@@ -114,14 +129,26 @@
|
|
|
114
129
|
* K W6 + Q.W3 Lane E), rainbow-vivid +
|
|
115
130
|
* rainbow-pastel. Consumes earlier animations +
|
|
116
131
|
* tokens.
|
|
132
|
+
* 11a. menu.css — BA.W-MENU-GLASS the glass MENU-ROW + MENU-SECTION
|
|
133
|
+
* register. AFTER utilities.css so `.glass-menu-row`'s
|
|
134
|
+
* `@layer components` hover/highlight rules source-
|
|
135
|
+
* order-win over `.interactive-item:hover` (same layer
|
|
136
|
+
* + specificity) — the cascade-trap-safe placement.
|
|
117
137
|
* 12. instrument-chassis.css — P-tranche component CSS (chassis bezel +
|
|
118
138
|
* groove dividers). Loaded after utilities so
|
|
119
139
|
* component-local recipes can override.
|
|
120
140
|
* 13. hover-popover.css — V.W3 popover-animation grammar.
|
|
121
141
|
* 14. drawer.css — AN.W3 detented bottom-sheet grammar (glass
|
|
122
142
|
* sheet surface + peek handle + snap-stop rules).
|
|
143
|
+
* 15. segmented-tabs.css — AX.W53 SegmentedTabs overflow/indicator grammar.
|
|
144
|
+
* 16. select.css — BA.W-EMISSION the PRECOMPILED Select content
|
|
145
|
+
* collision-bound (the `[data-slot="select-content"]`
|
|
146
|
+
* max-height rule) — moved off the dead arbitrary-
|
|
147
|
+
* bracket CVA class so the bound SHIPS in dist/glass-ui.css
|
|
148
|
+
* regardless of consumer JIT reach. A structural utility
|
|
149
|
+
* never depends on a content-scan; locked by proof:emission.
|
|
123
150
|
*
|
|
124
|
-
* Per-package component CSS lives at (12)-(
|
|
151
|
+
* Per-package component CSS lives at (12)-(16) (loaded after utilities so
|
|
125
152
|
* component-local recipes can override). New per-package CSS files append
|
|
126
153
|
* to that tail.
|
|
127
154
|
*/
|
|
@@ -135,20 +162,67 @@
|
|
|
135
162
|
@import "./dock.css";
|
|
136
163
|
@import "./dock-controls.css";
|
|
137
164
|
@import "./cards.css";
|
|
165
|
+
@import "./feedback-tone.css";
|
|
138
166
|
@import "./floating-panel.css";
|
|
139
167
|
@import "./transitions.css";
|
|
140
168
|
@import "./animations.css";
|
|
141
169
|
@import "./scroll-driven.css";
|
|
170
|
+
@import "./scroll-choreography.css";
|
|
142
171
|
@import "./view-transition.css";
|
|
143
172
|
@import "./utilities.css";
|
|
173
|
+
/* BA.W-MENU-GLASS — the glass menu-row + menu-section register. @import-ed AFTER
|
|
174
|
+
utilities.css (NOT the floating/transitions band the spec hinted) so the
|
|
175
|
+
`.glass-menu-row` `@layer components` hover/highlight rules source-order-WIN
|
|
176
|
+
over `.interactive-item:hover` (utilities/base.css, same layer + specificity) —
|
|
177
|
+
the cascade-trap-safe placement, mirroring glass/surface-axis.css's "import
|
|
178
|
+
AFTER ladder.css" discipline. */
|
|
179
|
+
@import "./menu.css";
|
|
144
180
|
@import "./configurator.css";
|
|
145
181
|
@import "./instrument-chassis.css";
|
|
146
182
|
@import "./hover-popover.css";
|
|
147
183
|
@import "./drawer.css";
|
|
148
184
|
@import "./segmented-tabs.css";
|
|
185
|
+
@import "./select.css";
|
|
186
|
+
/* BA.W-ICON-CHIP — the <IconChip> section-color pop recipe + the three axes
|
|
187
|
+
(duotone/bloom/reveal). A component partial; the token arms (--section-color-N
|
|
188
|
+
/ --muted) auto-flip under .dark so the chip is mode-robust by construction. */
|
|
189
|
+
@import "./icon-chip.css";
|
|
190
|
+
/* BB.W-BORDER-PROGRESS — progress IS the element's border: the masked-conic ring
|
|
191
|
+
consumption (the @property reg lives in tokens/property-regs.css §18). A
|
|
192
|
+
component partial; the conic + the radius-following mask-composite + the coverage
|
|
193
|
+
masks + the PRM milestone-pulse bracket. */
|
|
194
|
+
@import "./border-progress.css";
|
|
149
195
|
|
|
150
|
-
/* Ensure
|
|
151
|
-
(
|
|
196
|
+
/* Ensure Tailwind scans glass-ui's compiled component templates for the utility
|
|
197
|
+
classes they emit (CVA variant classes like text-destructive-foreground,
|
|
198
|
+
layout utilities like h-full/shrink-0).
|
|
199
|
+
|
|
200
|
+
BA.W-EMISSION — re-pointed from the DEAD components-mirror glob (the prior
|
|
201
|
+
`../components` target). That glob resolved correctly in glass-ui's OWN build
|
|
202
|
+
(`src/styles/index.css` → `src/components` carries the real `.vue` source), but the
|
|
203
|
+
SHIPPED dist copy of this file (`dist/styles/index.css`) resolved `../components` to
|
|
204
|
+
`dist/components/` — a
|
|
205
|
+
directory that carries ONLY `.d.ts` mirror files (zero `.js`, zero `.vue`). The
|
|
206
|
+
compiled render-functions live FLAT at `dist/*.js`. So in every consumer that
|
|
207
|
+
re-imported this `@source` line, Tailwind scanned an empty dir and glass-ui's own
|
|
208
|
+
arbitrary utilities silently died (the P9 / valuejs-fold register-B class).
|
|
209
|
+
|
|
210
|
+
`../*.js` reaches the compiled render-functions PRECISELY in the SHIPPED context:
|
|
211
|
+
in dist it is `dist/*.js` (the 150+ flat compiled chunks that carry glass-ui's
|
|
212
|
+
utility class strings — the surface the dead `../components` mirror NEVER held).
|
|
213
|
+
In glass-ui's OWN source build it is `src/*.js` (empty — glass-ui's own components
|
|
214
|
+
compile their CSS through vite, not this `@source`), so the directive is a no-op
|
|
215
|
+
in the own-build and never scans the `src/` shader/`.ts` tree (a bare `../` glob
|
|
216
|
+
tripped Tailwind's dev candidate-extractor on the shader template strings —
|
|
217
|
+
`Missing opening (`). This directive is a BACKSTOP for a consumer that imports
|
|
218
|
+
this exact cascade file — the PRIMARY self-emission path is
|
|
219
|
+
`vite.style-assets.ts emitComponentUtilities` (P9), which ships glass-ui's
|
|
220
|
+
component-utility RULES build-independently into `dist/styles/components.css`.
|
|
221
|
+
Fully-arbitrary BRACKET utilities (`[max-height:…]`, `[--slider-track-height:…]`)
|
|
222
|
+
are rejected by that path's `classish` token filter AND are not reliably reachable
|
|
223
|
+
by a JIT scan, so every STRUCTURAL bracket utility (geometry/bounds/sizing) is
|
|
224
|
+
pre-compiled into shipped CSS instead — never load-bearing on any consumer's
|
|
225
|
+
content-scan reach. Locked by proof:emission. */
|
|
152
226
|
/* AN.W1 — SFC scoped component CSS (folded so a single
|
|
153
227
|
@import "@mkbabb/glass-ui/styles" carries cascade + components) */
|
|
154
228
|
@import "../glass-ui.css";
|
|
@@ -157,4 +231,4 @@
|
|
|
157
231
|
…) shipped build-independently so a bare consumer paints them. */
|
|
158
232
|
@import "./components.css";
|
|
159
233
|
|
|
160
|
-
@source "
|
|
234
|
+
@source "../*.js";
|