@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
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mkbabb/glass-ui",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Glassmorphic design system
|
|
3
|
+
"version": "4.0.1",
|
|
4
|
+
"description": "Glassmorphic design system — Vue 3.5 components, reka-ui primitives, Tailwind CSS v4 tokens",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
"dock": [
|
|
23
23
|
"dist/dock.d.ts"
|
|
24
24
|
],
|
|
25
|
+
"drawer": [
|
|
26
|
+
"dist/drawer.d.ts"
|
|
27
|
+
],
|
|
28
|
+
"focus-scope": [
|
|
29
|
+
"dist/focus-scope.d.ts"
|
|
30
|
+
],
|
|
25
31
|
"search": [
|
|
26
32
|
"dist/search.d.ts"
|
|
27
33
|
],
|
|
@@ -31,6 +37,9 @@
|
|
|
31
37
|
"controls": [
|
|
32
38
|
"dist/controls.d.ts"
|
|
33
39
|
],
|
|
40
|
+
"color-swatch": [
|
|
41
|
+
"dist/color-swatch.d.ts"
|
|
42
|
+
],
|
|
34
43
|
"confirm-dialog": [
|
|
35
44
|
"dist/confirm-dialog.d.ts"
|
|
36
45
|
],
|
|
@@ -46,6 +55,12 @@
|
|
|
46
55
|
"stacked-icons": [
|
|
47
56
|
"dist/stacked-icons.d.ts"
|
|
48
57
|
],
|
|
58
|
+
"icon-chip": [
|
|
59
|
+
"dist/icon-chip.d.ts"
|
|
60
|
+
],
|
|
61
|
+
"border-progress": [
|
|
62
|
+
"dist/border-progress.d.ts"
|
|
63
|
+
],
|
|
49
64
|
"aurora": [
|
|
50
65
|
"dist/aurora.d.ts"
|
|
51
66
|
],
|
|
@@ -55,12 +70,24 @@
|
|
|
55
70
|
"color": [
|
|
56
71
|
"dist/color.d.ts"
|
|
57
72
|
],
|
|
73
|
+
"easing": [
|
|
74
|
+
"dist/easing.d.ts"
|
|
75
|
+
],
|
|
76
|
+
"fading-scroll": [
|
|
77
|
+
"dist/fading-scroll.d.ts"
|
|
78
|
+
],
|
|
58
79
|
"fourier-field": [
|
|
59
80
|
"dist/fourier-field.d.ts"
|
|
60
81
|
],
|
|
61
82
|
"fourier-math": [
|
|
62
83
|
"dist/fourier-math.d.ts"
|
|
63
84
|
],
|
|
85
|
+
"concentric": [
|
|
86
|
+
"dist/concentric.d.ts"
|
|
87
|
+
],
|
|
88
|
+
"dot-flow-field": [
|
|
89
|
+
"dist/dot-flow-field.d.ts"
|
|
90
|
+
],
|
|
64
91
|
"goo-blob": [
|
|
65
92
|
"dist/goo-blob.d.ts"
|
|
66
93
|
],
|
|
@@ -85,9 +112,15 @@
|
|
|
85
112
|
"paper-backdrop": [
|
|
86
113
|
"dist/paper-backdrop.d.ts"
|
|
87
114
|
],
|
|
115
|
+
"pager-dots": [
|
|
116
|
+
"dist/pager-dots.d.ts"
|
|
117
|
+
],
|
|
88
118
|
"toggle-chip": [
|
|
89
119
|
"dist/toggle-chip.d.ts"
|
|
90
120
|
],
|
|
121
|
+
"spa-view": [
|
|
122
|
+
"dist/spa-view.d.ts"
|
|
123
|
+
],
|
|
91
124
|
"sortable-list": [
|
|
92
125
|
"dist/sortable-list.d.ts"
|
|
93
126
|
],
|
|
@@ -118,8 +151,8 @@
|
|
|
118
151
|
"scrolling-text": [
|
|
119
152
|
"dist/scrolling-text.d.ts"
|
|
120
153
|
],
|
|
121
|
-
"
|
|
122
|
-
"dist/
|
|
154
|
+
"handmark": [
|
|
155
|
+
"dist/handmark.d.ts"
|
|
123
156
|
],
|
|
124
157
|
"glass-panel": [
|
|
125
158
|
"dist/glass-panel.d.ts"
|
|
@@ -245,6 +278,8 @@
|
|
|
245
278
|
"import": "./dist/tokens.js"
|
|
246
279
|
},
|
|
247
280
|
"./styles": "./dist/styles/index.css",
|
|
281
|
+
"./styles/critical": "./dist/styles/critical.css",
|
|
282
|
+
"./styles/deferred": "./dist/styles/deferred.css",
|
|
248
283
|
"./styles/fonts": "./dist/styles/fonts.css",
|
|
249
284
|
"./styles.css": "./dist/glass-ui.css",
|
|
250
285
|
"./fonts/*": "./dist/fonts/*",
|
|
@@ -252,6 +287,14 @@
|
|
|
252
287
|
"types": "./dist/dock.d.ts",
|
|
253
288
|
"import": "./dist/dock.js"
|
|
254
289
|
},
|
|
290
|
+
"./drawer": {
|
|
291
|
+
"types": "./dist/drawer.d.ts",
|
|
292
|
+
"import": "./dist/drawer.js"
|
|
293
|
+
},
|
|
294
|
+
"./focus-scope": {
|
|
295
|
+
"types": "./dist/focus-scope.d.ts",
|
|
296
|
+
"import": "./dist/focus-scope.js"
|
|
297
|
+
},
|
|
255
298
|
"./search": {
|
|
256
299
|
"types": "./dist/search.d.ts",
|
|
257
300
|
"import": "./dist/search.js"
|
|
@@ -264,6 +307,10 @@
|
|
|
264
307
|
"types": "./dist/controls.d.ts",
|
|
265
308
|
"import": "./dist/controls.js"
|
|
266
309
|
},
|
|
310
|
+
"./color-swatch": {
|
|
311
|
+
"types": "./dist/color-swatch.d.ts",
|
|
312
|
+
"import": "./dist/color-swatch.js"
|
|
313
|
+
},
|
|
267
314
|
"./confirm-dialog": {
|
|
268
315
|
"types": "./dist/confirm-dialog.d.ts",
|
|
269
316
|
"import": "./dist/confirm-dialog.js"
|
|
@@ -284,6 +331,14 @@
|
|
|
284
331
|
"types": "./dist/stacked-icons.d.ts",
|
|
285
332
|
"import": "./dist/stacked-icons.js"
|
|
286
333
|
},
|
|
334
|
+
"./icon-chip": {
|
|
335
|
+
"types": "./dist/icon-chip.d.ts",
|
|
336
|
+
"import": "./dist/icon-chip.js"
|
|
337
|
+
},
|
|
338
|
+
"./border-progress": {
|
|
339
|
+
"types": "./dist/border-progress.d.ts",
|
|
340
|
+
"import": "./dist/border-progress.js"
|
|
341
|
+
},
|
|
287
342
|
"./aurora": {
|
|
288
343
|
"types": "./dist/aurora.d.ts",
|
|
289
344
|
"import": "./dist/aurora.js"
|
|
@@ -296,6 +351,14 @@
|
|
|
296
351
|
"types": "./dist/color.d.ts",
|
|
297
352
|
"import": "./dist/color.js"
|
|
298
353
|
},
|
|
354
|
+
"./easing": {
|
|
355
|
+
"types": "./dist/easing.d.ts",
|
|
356
|
+
"import": "./dist/easing.js"
|
|
357
|
+
},
|
|
358
|
+
"./fading-scroll": {
|
|
359
|
+
"types": "./dist/fading-scroll.d.ts",
|
|
360
|
+
"import": "./dist/fading-scroll.js"
|
|
361
|
+
},
|
|
299
362
|
"./fourier-field": {
|
|
300
363
|
"types": "./dist/fourier-field.d.ts",
|
|
301
364
|
"import": "./dist/fourier-field.js"
|
|
@@ -304,6 +367,14 @@
|
|
|
304
367
|
"types": "./dist/fourier-math.d.ts",
|
|
305
368
|
"import": "./dist/fourier-math.js"
|
|
306
369
|
},
|
|
370
|
+
"./concentric": {
|
|
371
|
+
"types": "./dist/concentric.d.ts",
|
|
372
|
+
"import": "./dist/concentric.js"
|
|
373
|
+
},
|
|
374
|
+
"./dot-flow-field": {
|
|
375
|
+
"types": "./dist/dot-flow-field.d.ts",
|
|
376
|
+
"import": "./dist/dot-flow-field.js"
|
|
377
|
+
},
|
|
307
378
|
"./goo-blob": {
|
|
308
379
|
"types": "./dist/goo-blob.d.ts",
|
|
309
380
|
"import": "./dist/goo-blob.js"
|
|
@@ -348,10 +419,18 @@
|
|
|
348
419
|
"types": "./dist/paper-backdrop.d.ts",
|
|
349
420
|
"import": "./dist/paper-backdrop.js"
|
|
350
421
|
},
|
|
422
|
+
"./pager-dots": {
|
|
423
|
+
"types": "./dist/pager-dots.d.ts",
|
|
424
|
+
"import": "./dist/pager-dots.js"
|
|
425
|
+
},
|
|
351
426
|
"./toggle-chip": {
|
|
352
427
|
"types": "./dist/toggle-chip.d.ts",
|
|
353
428
|
"import": "./dist/toggle-chip.js"
|
|
354
429
|
},
|
|
430
|
+
"./spa-view": {
|
|
431
|
+
"types": "./dist/spa-view.d.ts",
|
|
432
|
+
"import": "./dist/spa-view.js"
|
|
433
|
+
},
|
|
355
434
|
"./sortable-list": {
|
|
356
435
|
"types": "./dist/sortable-list.d.ts",
|
|
357
436
|
"import": "./dist/sortable-list.js"
|
|
@@ -384,9 +463,9 @@
|
|
|
384
463
|
"types": "./dist/scrolling-text.d.ts",
|
|
385
464
|
"import": "./dist/scrolling-text.js"
|
|
386
465
|
},
|
|
387
|
-
"./
|
|
388
|
-
"types": "./dist/
|
|
389
|
-
"import": "./dist/
|
|
466
|
+
"./handmark": {
|
|
467
|
+
"types": "./dist/handmark.d.ts",
|
|
468
|
+
"import": "./dist/handmark.js"
|
|
390
469
|
},
|
|
391
470
|
"./glass-panel": {
|
|
392
471
|
"types": "./dist/glass-panel.d.ts",
|
|
@@ -555,9 +634,16 @@
|
|
|
555
634
|
"proof:runtime": "node scripts/proof-runtime.mjs",
|
|
556
635
|
"proof:theme": "node scripts/proof-theme-style.mjs",
|
|
557
636
|
"proof:components-css": "node scripts/proof-components-css.mjs",
|
|
637
|
+
"proof:dist-css": "node scripts/proof-dist-css.mjs",
|
|
558
638
|
"proof:resolution": "node scripts/proof-resolution-contract.mjs",
|
|
559
639
|
"proof:consumer-staleness": "node scripts/proof-consumer-staleness.mjs",
|
|
560
640
|
"proof:peer-conformance": "node scripts/proof-peer-conformance.mjs",
|
|
641
|
+
"proof:constellation-spine": "node scripts/proof-constellation-spine.mjs",
|
|
642
|
+
"proof:close-battery-parity": "node scripts/proof-close-battery-parity.mjs",
|
|
643
|
+
"proof:no-layout-animation": "node scripts/proof-no-layout-animation.mjs",
|
|
644
|
+
"proof:css-critical": "node scripts/proof-css-critical.mjs",
|
|
645
|
+
"proof:lighthouse": "node scripts/proof-lighthouse.mjs",
|
|
646
|
+
"proof:perf-producer": "node scripts/proof-perf-producer.mjs",
|
|
561
647
|
"proof:phantom-classes": "node scripts/proof-phantom-classes.mjs",
|
|
562
648
|
"proof:vt-names": "node scripts/proof-vt-names.mjs",
|
|
563
649
|
"proof:dock-animation-live": "node scripts/proof-dock-animation-live.mjs",
|
|
@@ -587,8 +673,12 @@
|
|
|
587
673
|
"proof:motion-demo": "node scripts/proof-motion-demo.mjs",
|
|
588
674
|
"proof:motion2": "node scripts/proof-motion2.mjs",
|
|
589
675
|
"proof:rail3": "node scripts/proof-rail3.mjs",
|
|
676
|
+
"proof:dock-sections": "node scripts/proof-dock-sections.mjs",
|
|
677
|
+
"proof:dock-morph-insitu": "node scripts/proof-dock-morph-insitu.mjs",
|
|
678
|
+
"proof:shell-hold": "node scripts/proof-shell-hold.mjs",
|
|
590
679
|
"proof:az-reflect": "node scripts/proof-az-reflect.mjs",
|
|
591
680
|
"proof:az-final": "node scripts/proof-az-final.mjs",
|
|
681
|
+
"proof:ba-final": "node scripts/proof-ba-final.mjs",
|
|
592
682
|
"proof:shell-identity": "node scripts/proof-shell-identity.mjs",
|
|
593
683
|
"proof:blob-studio": "node scripts/proof-blob-studio.mjs",
|
|
594
684
|
"proof:blob-studio-config": "node scripts/proof-blob-studio-config.mjs",
|
|
@@ -600,8 +690,50 @@
|
|
|
600
690
|
"proof:dock-css-split": "node scripts/proof-dock-controls-split.mjs",
|
|
601
691
|
"proof:design-idiom-localization": "node scripts/proof-design-idiom-localization.mjs",
|
|
602
692
|
"proof:hierarchy": "node scripts/proof-hierarchy.mjs",
|
|
693
|
+
"proof:eyebrow-union": "node scripts/proof-eyebrow-union.mjs",
|
|
694
|
+
"proof:drawer-abrogate": "node scripts/proof-drawer-abrogate.mjs",
|
|
695
|
+
"proof:card-padding": "node scripts/proof-card-padding.mjs",
|
|
696
|
+
"proof:doc-override-idiom": "node scripts/proof-doc-override-idiom.mjs",
|
|
697
|
+
"proof:lineage-probe": "node scripts/proof-lineage-probe.mjs",
|
|
698
|
+
"proof:concentric": "node scripts/proof-concentric.mjs",
|
|
699
|
+
"proof:crossrepo-asks": "node scripts/proof-crossrepo-asks.mjs",
|
|
700
|
+
"proof:strict-freshness-armed": "node scripts/proof-strict-freshness-armed.mjs",
|
|
701
|
+
"proof:live-verified-ledger:strict": "node scripts/proof-live-verified-ledger.mjs --tranche=AY --strict-freshness && node scripts/proof-live-verified-ledger.mjs --tranche=BB --strict-freshness",
|
|
702
|
+
"proof:precept-current": "node scripts/proof-precept-current.mjs",
|
|
703
|
+
"proof:aur-kuwahara": "node scripts/proof-aur-kuwahara.mjs",
|
|
704
|
+
"proof:flow-field": "node scripts/proof-flow-field.mjs",
|
|
705
|
+
"proof:nda-decided": "node scripts/proof-nda-decided.mjs",
|
|
706
|
+
"proof:aurora-curl-warp": "node scripts/proof-aurora-curl-warp.mjs",
|
|
707
|
+
"proof:spring-crisp": "node scripts/proof-spring-crisp.mjs",
|
|
708
|
+
"proof:spa-view": "node scripts/proof-spa-view.mjs",
|
|
709
|
+
"proof:card-tier-alpha": "node scripts/proof-card-tier-alpha.mjs",
|
|
710
|
+
"proof:dockmorph-cta": "node scripts/proof-dockmorph-cta.mjs",
|
|
711
|
+
"proof:gpu-substrate-single": "node scripts/proof-gpu-substrate-single.mjs",
|
|
712
|
+
"proof:desktop-reserve": "node scripts/proof-desktop-reserve.mjs",
|
|
713
|
+
"proof:pointer-velocity": "node scripts/proof-pointer-velocity.mjs",
|
|
714
|
+
"proof:border-progress": "node scripts/proof-border-progress.mjs",
|
|
715
|
+
"proof:demo-design": "node scripts/proof-demo-design.mjs",
|
|
716
|
+
"proof:no-dual-path": "node scripts/proof-no-dual-path.mjs",
|
|
717
|
+
"proof:liquid-reveal": "node scripts/proof-liquid-reveal.mjs",
|
|
718
|
+
"proof:glass-depth": "node scripts/proof-glass-depth.mjs",
|
|
719
|
+
"proof:metal-shimmer": "node scripts/proof-metal-shimmer.mjs",
|
|
720
|
+
"proof:glass-accent": "node scripts/proof-glass-accent.mjs",
|
|
721
|
+
"proof:lensing": "node scripts/proof-lensing.mjs",
|
|
722
|
+
"proof:press-unify": "node scripts/proof-press-unify.mjs",
|
|
723
|
+
"proof:scroll-motion": "node scripts/proof-scroll-motion.mjs",
|
|
724
|
+
"proof:drag-morph": "node scripts/proof-drag-morph.mjs",
|
|
725
|
+
"proof:display-tracking": "node scripts/proof-display-tracking.mjs",
|
|
726
|
+
"proof:paper-grid": "node scripts/proof-paper-grid.mjs",
|
|
727
|
+
"proof:control-tokens": "node scripts/proof-control-tokens.mjs",
|
|
728
|
+
"proof:button-glass": "node scripts/proof-button-glass.mjs",
|
|
729
|
+
"proof:phase-palette": "node scripts/proof-phase-palette.mjs",
|
|
730
|
+
"proof:aurora-swraster": "node scripts/proof-aurora-swraster.mjs",
|
|
731
|
+
"proof:on-glass-fg": "node scripts/proof-on-glass-fg.mjs",
|
|
732
|
+
"proof:dock-morph-family": "node scripts/proof-dock-morph-family.mjs",
|
|
603
733
|
"proof:suffuse": "node scripts/proof-suffuse.mjs",
|
|
734
|
+
"proof:suffuse2": "node scripts/proof-suffuse2.mjs",
|
|
604
735
|
"proof:colocation": "node scripts/proof-colocation.mjs",
|
|
736
|
+
"proof:claude-structure-sync": "node scripts/proof-claude-structure-sync.mjs",
|
|
605
737
|
"proof:tailwind-v4-idiom": "node scripts/proof-tailwind-v4-idiom.mjs",
|
|
606
738
|
"proof:au-w9-consumers": "node scripts/proof-au-w9-consumers.mjs",
|
|
607
739
|
"proof:shadow-contract": "node scripts/proof-shadow-contract.mjs",
|
|
@@ -720,15 +852,38 @@
|
|
|
720
852
|
"proof:readme-meta-clean": "node scripts/proof-readme-meta-clean.mjs",
|
|
721
853
|
"proof:convergence-fit-coherent": "node scripts/proof-convergence-fit-coherent.mjs",
|
|
722
854
|
"proof:adaptive-glass": "node scripts/proof-adaptive-glass.mjs",
|
|
855
|
+
"proof:dark-material": "node scripts/proof-dark-material.mjs",
|
|
856
|
+
"proof:no-gray": "node scripts/proof-no-gray.mjs",
|
|
857
|
+
"proof:surface-axis": "node scripts/proof-surface-axis.mjs",
|
|
858
|
+
"proof:menu-glass": "node scripts/proof-menu-glass.mjs",
|
|
859
|
+
"proof:pager-ring": "node scripts/proof-pager-ring.mjs",
|
|
860
|
+
"proof:icon-chip": "node scripts/proof-icon-chip.mjs",
|
|
861
|
+
"proof:easing-primitive": "node scripts/proof-easing-primitive.mjs",
|
|
862
|
+
"proof:handmark": "node scripts/proof-handmark.mjs",
|
|
863
|
+
"proof:ba-animate": "node scripts/proof-ba-animate.mjs",
|
|
864
|
+
"proof:stage": "node scripts/proof-stage.mjs",
|
|
865
|
+
"proof:fading-scroll": "node scripts/proof-fading-scroll.mjs",
|
|
866
|
+
"proof:emission": "node scripts/proof-emission.mjs",
|
|
867
|
+
"proof:goo-redress": "node scripts/proof-goo-redress.mjs",
|
|
868
|
+
"proof:glass-cal": "node scripts/proof-glass-cal.mjs",
|
|
869
|
+
"proof:dock-plate-clearance": "node scripts/proof-dock-plate-clearance.mjs",
|
|
870
|
+
"proof:atlas-ab": "node scripts/proof-atlas-ab.mjs",
|
|
871
|
+
"proof:config-chassis": "node scripts/proof-config-chassis.mjs",
|
|
872
|
+
"proof:progress-gradient": "node scripts/proof-progress-gradient.mjs",
|
|
873
|
+
"proof:demo-affordances": "node scripts/proof-demo-affordances.mjs",
|
|
874
|
+
"proof:fourier-studio": "node scripts/proof-fourier-studio.mjs",
|
|
723
875
|
"proof:dark-semantic-contrast": "node scripts/proof-dark-semantic-contrast.mjs",
|
|
724
876
|
"proof:glass-material-demo": "node scripts/proof-glass-material-demo.mjs",
|
|
725
877
|
"proof:blob-live-truth": "node scripts/proof-blob-live-truth.mjs",
|
|
726
878
|
"proof:blob-config-atoms": "node scripts/proof-blob-config-atoms.mjs",
|
|
727
879
|
"proof:blob3-strip": "node scripts/proof-blob3-strip.mjs",
|
|
728
880
|
"proof:blob-config": "node scripts/proof-blob-config.mjs",
|
|
729
|
-
"proof:tabs-
|
|
881
|
+
"proof:tabs-std": "node scripts/proof-tabs-std.mjs",
|
|
730
882
|
"proof:glass-material-sota": "node scripts/proof-glass-material-sota.mjs",
|
|
731
|
-
"proof:
|
|
883
|
+
"proof:no-dead-token": "node scripts/proof-no-dead-token.mjs",
|
|
884
|
+
"proof:affordance-contrast": "node scripts/proof-affordance-contrast.mjs",
|
|
885
|
+
"proof:datatable-split": "node scripts/proof-datatable-split.mjs",
|
|
886
|
+
"proof:dock-big-dock": "node scripts/proof-dock-big-dock.mjs",
|
|
732
887
|
"proof:reka-binding-idiom": "node scripts/proof-reka-binding-idiom.mjs",
|
|
733
888
|
"proof:animation-coherence": "node scripts/proof-animation-coherence.mjs",
|
|
734
889
|
"proof:design-md-current": "node scripts/proof-design-md-current.mjs",
|
|
@@ -740,37 +895,44 @@
|
|
|
740
895
|
"proof:blob-integration": "node scripts/proof-blob-integration.mjs",
|
|
741
896
|
"proof:gate-script-parity": "node scripts/proof-gate-script-parity.mjs",
|
|
742
897
|
"proof:all": "node scripts/gates.mjs --run local",
|
|
743
|
-
"proof:
|
|
898
|
+
"proof:full": "node scripts/gates.mjs --run full",
|
|
899
|
+
"proof:live-verified-ledger": "node scripts/proof-live-verified-ledger.mjs --tranche=BB",
|
|
744
900
|
"proof:live-verified-ledger:ay": "node scripts/proof-live-verified-ledger.mjs --tranche=AY",
|
|
745
901
|
"proof:live-verified-ledger:az": "node scripts/proof-live-verified-ledger.mjs --tranche=AZ",
|
|
746
902
|
"proof:live-verified-ledger:ax": "node scripts/proof-live-verified-ledger.mjs --tranche=AX",
|
|
903
|
+
"proof:live-verified-ledger:ba": "node scripts/proof-live-verified-ledger.mjs --tranche=BA",
|
|
904
|
+
"proof:live-verified-ledger:bb": "node scripts/proof-live-verified-ledger.mjs --tranche=BB",
|
|
747
905
|
"proof:disposition-live": "node scripts/proof-disposition-live.mjs",
|
|
748
906
|
"proof:gen-ci-fresh": "node scripts/proof-gen-ci-fresh.mjs",
|
|
749
907
|
"proof:gate-manifest-sound": "node scripts/proof-gate-manifest-sound.mjs",
|
|
908
|
+
"proof:ba-gestalt": "node scripts/proof-ba-gestalt.mjs",
|
|
909
|
+
"proof:visual-runner": "node scripts/proof-visual-runner.mjs",
|
|
750
910
|
"gates:verify-ci": "node scripts/gates.mjs --verify-ci",
|
|
751
911
|
"gates:emit-ci": "node scripts/gates.mjs --emit-ci",
|
|
912
|
+
"gates:pi": "node scripts/gates.mjs --run pi",
|
|
752
913
|
"profile:bundle": "node scripts/profile-bundle.mjs",
|
|
753
914
|
"profile:budget": "node scripts/profile-bundle.mjs --enforce",
|
|
754
915
|
"profile:aurora": "node scripts/profile-aurora.mjs",
|
|
755
916
|
"validate-consumers": "scripts/validate-consumers.sh",
|
|
756
917
|
"release": "bash scripts/release.sh",
|
|
757
|
-
"prepublishOnly": "npm run build && npm test"
|
|
918
|
+
"prepublishOnly": "npm run build && npm test && npm run proof:dist-css"
|
|
758
919
|
},
|
|
759
920
|
"engines": {
|
|
760
921
|
"node": ">=22"
|
|
761
922
|
},
|
|
762
923
|
"peerDependencies": {
|
|
763
924
|
"@lucide/vue": "^1.16.0",
|
|
764
|
-
"@mkbabb/keyframes.js": "^
|
|
765
|
-
"@mkbabb/
|
|
925
|
+
"@mkbabb/keyframes.js": "^4.0.0",
|
|
926
|
+
"@mkbabb/pencil-boil": "^0.4.1",
|
|
927
|
+
"@mkbabb/value.js": "^0.13.0 || ^1.0.0",
|
|
766
928
|
"@vueuse/core": "^14.0",
|
|
767
929
|
"class-variance-authority": "^0.7",
|
|
768
930
|
"clsx": "^2.0",
|
|
769
931
|
"embla-carousel-vue": "^8.0",
|
|
932
|
+
"perfect-freehand": "^1.2.3",
|
|
770
933
|
"reka-ui": "^2.0",
|
|
771
934
|
"tailwindcss": "^4.0",
|
|
772
935
|
"tw-animate-css": "^1.2.5",
|
|
773
|
-
"vaul-vue": "^0.4",
|
|
774
936
|
"vue": "^3.5"
|
|
775
937
|
},
|
|
776
938
|
"peerDependenciesMeta": {
|
|
@@ -783,19 +945,26 @@
|
|
|
783
945
|
"@mkbabb/keyframes.js": {
|
|
784
946
|
"optional": true
|
|
785
947
|
},
|
|
948
|
+
"@mkbabb/pencil-boil": {
|
|
949
|
+
"optional": true
|
|
950
|
+
},
|
|
786
951
|
"@mkbabb/value.js": {
|
|
787
952
|
"optional": true
|
|
788
953
|
},
|
|
954
|
+
"perfect-freehand": {
|
|
955
|
+
"optional": true
|
|
956
|
+
},
|
|
789
957
|
"tw-animate-css": {
|
|
790
958
|
"optional": true
|
|
791
959
|
}
|
|
792
960
|
},
|
|
793
961
|
"devDependencies": {
|
|
794
|
-
"@lucide/vue": "^1.
|
|
795
|
-
"@mkbabb/keyframes.js": "^4.
|
|
796
|
-
"@mkbabb/
|
|
797
|
-
"@
|
|
798
|
-
"@tailwindcss/
|
|
962
|
+
"@lucide/vue": "^1.20.0",
|
|
963
|
+
"@mkbabb/keyframes.js": "^4.3.0",
|
|
964
|
+
"@mkbabb/pencil-boil": "^0.4.1",
|
|
965
|
+
"@mkbabb/value.js": "^0.13.0 || ^1.0.0",
|
|
966
|
+
"@tailwindcss/postcss": "^4.3.1",
|
|
967
|
+
"@tailwindcss/vite": "^4.3.1",
|
|
799
968
|
"@types/node": "^24.12.3",
|
|
800
969
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
801
970
|
"@vue/test-utils": "^2.4.10",
|
|
@@ -804,15 +973,14 @@
|
|
|
804
973
|
"clsx": "^2.1.1",
|
|
805
974
|
"embla-carousel-vue": "^8.6.0",
|
|
806
975
|
"happy-dom": "^20.9.0",
|
|
807
|
-
"reka-ui": "^2.9
|
|
808
|
-
"tailwindcss": "^4.3.
|
|
976
|
+
"reka-ui": "^2.9",
|
|
977
|
+
"tailwindcss": "^4.3.1",
|
|
809
978
|
"tw-animate-css": "^1.2.5",
|
|
810
979
|
"typescript": "^6.0.3",
|
|
811
|
-
"
|
|
812
|
-
"
|
|
813
|
-
"vitest": "^4.1.7",
|
|
980
|
+
"vite": "^8",
|
|
981
|
+
"vitest": "^4.1.9",
|
|
814
982
|
"vue": "^3.5.34",
|
|
815
983
|
"vue-router": "^4.6.4",
|
|
816
|
-
"vue-tsc": "^3.3.
|
|
984
|
+
"vue-tsc": "^3.3.5"
|
|
817
985
|
}
|
|
818
986
|
}
|
|
@@ -134,39 +134,29 @@
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
/* ──
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
/* ── Metal shimmer: the metal-PARAMETERIZED text/border highlight sweep ──
|
|
138
|
+
* BB.W-METAL-SHIMMER — the ONE metal-agnostic sweep (the gold-only
|
|
139
|
+
* `gold-shimmer-slide` RETIRED onto it — clean break, no alias). The keyframe is
|
|
140
|
+
* PURE position (ZERO baked metal color): the metal hue is the recipe's job via
|
|
141
|
+
* the `--metal-shimmer-color`-bound gradient (see utilities/metal.css). The SAME
|
|
142
|
+
* keyframe sweeps a gold, silver, or bronze gradient depending only on the channel,
|
|
143
|
+
* usable for BOTH text-clip (the `.metal-*` text register) AND border/mask (the
|
|
144
|
+
* `.metal-*-border` swept RIM) — the position pass shifts whatever gradient the
|
|
145
|
+
* surface paints. The `200% 0`→`-200% 0` shape carries the gold READ exactly
|
|
146
|
+
* (byte-faithful to the retired `gold-shimmer-slide`). The slow `--duration-metal`
|
|
147
|
+
* (6s) clock is set at the consumer (the metal recipe), not baked here. */
|
|
148
|
+
@keyframes metal-shimmer-sweep {
|
|
140
149
|
0% { background-position: 200% 0; }
|
|
141
150
|
100% { background-position: -200% 0; }
|
|
142
151
|
}
|
|
143
152
|
|
|
144
|
-
/* ── Sparkle sweep
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* and the
|
|
148
|
-
*
|
|
149
|
-
*
|
|
153
|
+
/* ── Sparkle sweep RETIRED (BA.W-GLASS-CAL, H2a) ──
|
|
154
|
+
* The `@keyframes sparkle-sweep` + its reduced-motion stub are DELETED with the
|
|
155
|
+
* disco recipe family — the `btn-audacious` ::after star (its sole consumer) is
|
|
156
|
+
* gone, and the dock-tab primary tier collapsed onto the calm glass register.
|
|
157
|
+
* The `Complete!` celebratory shimmer rides the metal-shimmer-sweep / shimmer
|
|
158
|
+
* keyframes above, never sparkle-sweep.
|
|
150
159
|
*/
|
|
151
|
-
@keyframes sparkle-sweep {
|
|
152
|
-
0% {
|
|
153
|
-
transform: translate(-30%, -30%) scale(0.5);
|
|
154
|
-
opacity: 0;
|
|
155
|
-
}
|
|
156
|
-
25% {
|
|
157
|
-
opacity: 1;
|
|
158
|
-
}
|
|
159
|
-
100% {
|
|
160
|
-
transform: translate(180%, 180%) scale(1.2);
|
|
161
|
-
opacity: 0;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
@media (prefers-reduced-motion: reduce) {
|
|
166
|
-
@keyframes sparkle-sweep {
|
|
167
|
-
0%, 100% { opacity: 0; transform: none; }
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
160
|
|
|
171
161
|
/* ── Pulse dot bounce: dots variant of <Pulse> ──
|
|
172
162
|
*
|
|
@@ -333,9 +323,26 @@
|
|
|
333
323
|
dialog.glass-top-layer {
|
|
334
324
|
opacity: 0;
|
|
335
325
|
scale: var(--top-layer-enter-scale, 0.96);
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
326
|
+
/* BB.W-LIQUID-REVEAL — the coupled blur-settle decongest (the iOS
|
|
327
|
+
"light-bending modulation" arrival). The surface's OWN pixels decongest
|
|
328
|
+
`filter: blur(--top-layer-enter-blur)` → `blur(0)` AS it blooms (a `filter`
|
|
329
|
+
radius interp is compositor-safe; it rides the surface's pixels, so it does
|
|
330
|
+
NOT fight the resting glass-tier `backdrop-filter` plate blur — the
|
|
331
|
+
REVEAL-TOPLAYER-NO-BLUR fix, the twin of the `.glass-reveal` recipe's blur
|
|
332
|
+
leg, glass/reveal.css). */
|
|
333
|
+
filter: blur(var(--top-layer-enter-blur, 4px));
|
|
334
|
+
transition-property: opacity, scale, filter, display, overlay;
|
|
335
|
+
/* BA.W-GLASS-CAL Unit 3 — the enter rides the bouncy spring's OWN settle
|
|
336
|
+
clock (`--spring-bouncy-duration`, the 2%-band envelope settle) rather
|
|
337
|
+
than the generic `--duration-normal`, so the emphatic dialog/popover
|
|
338
|
+
entrance bounce reads fully instead of being clipped at 0.3s. The blur
|
|
339
|
+
decongest rides the no-overshoot `--ease-out` (EFFECTS), the scale the
|
|
340
|
+
bouncy spring (SPATIAL) — the W-MOTION-CANON split. */
|
|
341
|
+
transition-duration: var(--spring-bouncy-duration),
|
|
342
|
+
var(--spring-bouncy-duration), var(--spring-bouncy-duration),
|
|
343
|
+
var(--spring-bouncy-duration), var(--spring-bouncy-duration);
|
|
344
|
+
transition-timing-function: var(--spring-bouncy), var(--spring-bouncy),
|
|
345
|
+
var(--ease-out), linear, linear;
|
|
339
346
|
transition-behavior: allow-discrete;
|
|
340
347
|
}
|
|
341
348
|
|
|
@@ -345,9 +352,11 @@
|
|
|
345
352
|
dialog.glass-top-layer[open] {
|
|
346
353
|
opacity: 1;
|
|
347
354
|
scale: 1;
|
|
355
|
+
filter: blur(0);
|
|
348
356
|
@starting-style {
|
|
349
357
|
opacity: 0;
|
|
350
358
|
scale: var(--top-layer-enter-scale, 0.96);
|
|
359
|
+
filter: blur(var(--top-layer-enter-blur, 4px));
|
|
351
360
|
}
|
|
352
361
|
}
|
|
353
362
|
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* BB.W-BORDER-PROGRESS — progress IS the element's border.
|
|
2
|
+
*
|
|
3
|
+
* The masked-conic ring consumption (the registration lives in
|
|
4
|
+
* tokens/property-regs.css §18, mirroring the specular split: the @property reg
|
|
5
|
+
* there, the consumption here). The ring paints a `conic-gradient` MASK-COMPOSITED
|
|
6
|
+
* into the border band so ONLY the band paints AND it FOLLOWS the host
|
|
7
|
+
* `border-radius` — a `border-image` SQUARES the corners (measured inferior,
|
|
8
|
+
* forbidden), a floating-bar child re-introduces allocation (forbidden). The host
|
|
9
|
+
* INTERIOR is untouched: a glass card still transmits the backdrop THROUGH its
|
|
10
|
+
* content box (the AX.W54 glass-first identity — the ring is a border-band cut-out,
|
|
11
|
+
* not an opaque overlay).
|
|
12
|
+
*
|
|
13
|
+
* Compositor-only: the sweep rides the registered `--border-progress-fill`
|
|
14
|
+
* <percentage>; no layout property animates (`proof:no-layout-animation`). The
|
|
15
|
+
* unregistered fallback is safe (the `initial-value` paints the resting ring; the
|
|
16
|
+
* cross-fade collapses to it on a non-supporting engine — Chromium 85+/Safari
|
|
17
|
+
* 16.4+, within the deployment floor). */
|
|
18
|
+
|
|
19
|
+
.border-progress {
|
|
20
|
+
position: relative;
|
|
21
|
+
display: block;
|
|
22
|
+
border-radius: var(--border-progress-radius, 16px);
|
|
23
|
+
/* The host reserves the border band the ring paints into (allocation-free —
|
|
24
|
+
the content box is untouched, no reflow). */
|
|
25
|
+
padding: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* The ring layer — inset over the host, the border band the conic paints into.
|
|
29
|
+
The `border` width IS the band thickness; the conic is mask-composited so the
|
|
30
|
+
padding-box (interior) is EXCLUDED from the border-box (the radius-following
|
|
31
|
+
cut-out). */
|
|
32
|
+
.border-progress__ring {
|
|
33
|
+
position: absolute;
|
|
34
|
+
inset: 0;
|
|
35
|
+
border-radius: inherit;
|
|
36
|
+
border: var(--border-progress-width, 12px) solid transparent;
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
/* The spectrum conic, swept to --border-progress-fill. The colored arc runs
|
|
39
|
+
from the top (12 o'clock) clockwise to the fill fraction; past it is
|
|
40
|
+
transparent so the resting band shows ONLY the filled spectrum. */
|
|
41
|
+
background:
|
|
42
|
+
conic-gradient(
|
|
43
|
+
from 0deg,
|
|
44
|
+
var(--border-progress-spectrum, var(--section-color-7)),
|
|
45
|
+
transparent var(--border-progress-fill, 0%),
|
|
46
|
+
transparent 100%
|
|
47
|
+
);
|
|
48
|
+
/* THE RADIUS-FOLLOWING CUT-OUT — the house border-ring idiom: paint a
|
|
49
|
+
border-box fill, EXCLUDE a padding-box fill, leaving only the border band,
|
|
50
|
+
which follows `border-radius` exactly (a border-image cannot). */
|
|
51
|
+
-webkit-mask:
|
|
52
|
+
linear-gradient(#fff 0 0) padding-box,
|
|
53
|
+
linear-gradient(#fff 0 0) border-box;
|
|
54
|
+
-webkit-mask-composite: xor;
|
|
55
|
+
mask:
|
|
56
|
+
linear-gradient(#fff 0 0) padding-box,
|
|
57
|
+
linear-gradient(#fff 0 0) border-box;
|
|
58
|
+
mask-composite: exclude;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* THE COVERAGE AXIS — ONE conic-mask mechanism, two coverage masks (NOT a second
|
|
62
|
+
recipe). `bottom-edge` adds a SECOND mask layer scoping the painted band to the
|
|
63
|
+
bottom edge only; it composes WITH the border-band cut-out above (the mask
|
|
64
|
+
stack intersects), so the bottom register reuses the exact conic + radius
|
|
65
|
+
cut-out — the dock-orientation `dim`-idiom discipline (no parallel fork). */
|
|
66
|
+
.border-progress[data-coverage="bottom-edge"] .border-progress__ring {
|
|
67
|
+
-webkit-mask:
|
|
68
|
+
linear-gradient(#fff 0 0) padding-box,
|
|
69
|
+
linear-gradient(#fff 0 0) border-box,
|
|
70
|
+
linear-gradient(to top, #fff 0, #fff var(--border-progress-width, 12px), transparent var(--border-progress-width, 12px));
|
|
71
|
+
-webkit-mask-composite: xor, source-in;
|
|
72
|
+
mask:
|
|
73
|
+
linear-gradient(#fff 0 0) padding-box,
|
|
74
|
+
linear-gradient(#fff 0 0) border-box,
|
|
75
|
+
linear-gradient(to top, #fff 0, #fff var(--border-progress-width, 12px), transparent var(--border-progress-width, 12px));
|
|
76
|
+
mask-composite: exclude, intersect;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* The content box — the host's own surface (a glass card, a chassis). It is
|
|
80
|
+
untouched by the ring (backdrop-intact); the ring sits over the border band
|
|
81
|
+
only. */
|
|
82
|
+
.border-progress__content {
|
|
83
|
+
position: relative;
|
|
84
|
+
z-index: 1;
|
|
85
|
+
border-radius: inherit;
|
|
86
|
+
height: 100%;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* THE MILESTONE PULSE — a brief brightness bloom on a crossed phase edge. The
|
|
90
|
+
pulse is PRM-gated (no edge-pulse under reduced motion — the ring snaps to the
|
|
91
|
+
new value). Compositor-only (filter brightness, never a layout property). */
|
|
92
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
93
|
+
.border-progress[data-milestone] .border-progress__ring {
|
|
94
|
+
animation: border-progress-milestone-pulse
|
|
95
|
+
var(--spring-snappy-duration, 0.34s) var(--ease-out, ease-out);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@keyframes border-progress-milestone-pulse {
|
|
100
|
+
0% {
|
|
101
|
+
filter: brightness(1);
|
|
102
|
+
}
|
|
103
|
+
40% {
|
|
104
|
+
filter: brightness(1.35);
|
|
105
|
+
}
|
|
106
|
+
100% {
|
|
107
|
+
filter: brightness(1);
|
|
108
|
+
}
|
|
109
|
+
}
|