@mkbabb/glass-ui 4.0.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/CardAction-8whJrLWt.js +268 -0
- package/dist/{CommandShortcut-DdtWXxOK.js → CommandShortcut-D3yxgHNn.js} +25 -14
- package/dist/ConfiguratorRow-CaP7U3ZA.js +143 -0
- package/dist/ContextMenuContent-B3ZsheLV.js +90 -0
- package/dist/{ContextMenuSubContent-B0Vs6atR.js → ContextMenuSubContent-DDRID3qC.js} +28 -33
- package/dist/{DataTable-C464Zbqd.js → DataTable-Bc9kUtu_.js} +4 -4
- package/dist/{DialogContent-DDE6pQBU.js → DialogContent-6JtTB5x2.js} +11 -8
- package/dist/DialogFooter-9phqcRIS.js +80 -0
- package/dist/DialogScrollContent-TTuovQst.js +93 -0
- package/dist/{FadingScroll-DwNnvKMs.js → FadingScroll-DLRbH5Xr.js} +1 -1
- package/dist/HoverCardContent-Bel1gdLZ.js +88 -0
- package/dist/{HoverPopover-Dpzwvc4t.js → HoverPopover-BcIxvyqZ.js} +2 -2
- package/dist/{IconChip-BDw1j5mu.js → IconChip-DhbdGdFQ.js} +2 -1
- package/dist/{IconTooltip-DSjasZIt.js → IconTooltip-B0zimd2H.js} +1 -1
- package/dist/Input-Cg9DF62r.js +57 -0
- package/dist/{MetricBadge-BpC0R_Ec.js → MetricBadge-RHdBP72w.js} +1 -1
- package/dist/Notification-CphK7AAm.js +43 -0
- package/dist/NumberFieldContent-D8cXeyO4.js +140 -0
- package/dist/PagerDots-Cjx96la-.js +98 -0
- package/dist/{PopoverContent-BTorlp--.js → PopoverContent-DL7E6vJP.js} +4 -4
- package/dist/{Progress-hAT4gqGH.js → Progress-CnqB7gLm.js} +4 -4
- package/dist/{ScrollingText-CUVFTWk2.js → ScrollingText-CTZbA_cG.js} +2 -2
- package/dist/{SelectScrollDownButton-C1jb3b3K.js → SelectScrollDownButton-DAKCBEdW.js} +65 -61
- package/dist/{SelectSeparator-DK2y1Bun.js → SelectSeparator-C2UGOkXF.js} +1 -1
- package/dist/Separator-DQcwC2TR.js +44 -0
- package/dist/Switch-B8RscmRu.js +49 -0
- package/dist/Toaster-D9qIHjBI.js +274 -0
- package/dist/ToggleGroupItem-BLtr3TJq.js +170 -0
- package/dist/TooltipProvider-BJ_Y5EGX.js +109 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +21 -33
- package/dist/api/types-extra.d.ts +37 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +1231 -260
- package/dist/badge.js +1 -1
- package/dist/border-progress.d.ts +1 -0
- package/dist/border-progress.js +98 -0
- package/dist/button-5dY1Dvhd.js +125 -0
- package/dist/button.js +1 -1
- package/dist/canvas.js +2 -3
- package/dist/card.js +2 -2
- package/dist/carousel.js +93 -110
- package/dist/collapsible.js +1 -1
- package/dist/color-Cs0-oxYL.js +116 -0
- package/dist/color.js +2 -2
- package/dist/command.js +1 -1
- package/dist/compile-nZ1xVYTp.js +19 -0
- package/dist/completion-seal.d.ts +1 -0
- package/dist/completion-seal.js +89 -0
- package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
- 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/color.d.ts +13 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +31 -0
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
- package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
- package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +37 -0
- package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +20 -2
- package/dist/components/custom/aurora/constants/renderMode.d.ts +77 -18
- package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
- 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 +2 -1
- package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
- package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
- package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +18 -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/completion-seal/CompletionSeal.vue.d.ts +21 -0
- package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
- package/dist/components/custom/completion-seal/constants.d.ts +46 -0
- package/dist/components/custom/completion-seal/index.d.ts +4 -0
- package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
- package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +18 -0
- package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +22 -0
- package/dist/components/custom/concentric/composables/ringField.d.ts +85 -0
- package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +14 -0
- package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
- package/dist/components/custom/concentric/constants.d.ts +67 -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/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
- package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
- package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
- package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
- package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
- package/dist/components/custom/constellation/constants.d.ts +33 -0
- package/dist/components/custom/constellation/constellationField.d.ts +31 -1
- package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
- package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
- package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
- package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
- package/dist/components/custom/constellation/index.d.ts +5 -5
- package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
- package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
- package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
- package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
- package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
- package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
- package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
- package/dist/components/custom/deck/constants.d.ts +14 -0
- package/dist/components/custom/deck/index.d.ts +8 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +25 -4
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
- package/dist/components/custom/dock/DockStack.vue.d.ts +65 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +4 -2
- package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +155 -0
- package/dist/components/custom/dock/composables/index.d.ts +2 -0
- package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +11 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
- package/dist/components/custom/dock/constants.d.ts +18 -14
- package/dist/components/custom/dock/index.d.ts +5 -2
- package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +42 -0
- package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +83 -0
- package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +39 -0
- package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +35 -0
- package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +31 -0
- package/dist/components/custom/dot-flow-field/constants.d.ts +69 -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 +4 -0
- package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
- package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
- package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +52 -0
- package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
- package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +27 -0
- package/dist/components/custom/dot-matrix/constants.d.ts +58 -0
- package/dist/components/custom/dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
- package/dist/components/custom/dot-matrix/shaders/dot-matrix.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 +80 -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 +11 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +43 -40
- package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +15 -0
- package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +20 -0
- package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
- package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +42 -0
- package/dist/components/custom/fourier-field/constants.d.ts +64 -0
- package/dist/components/custom/fourier-field/index.d.ts +23 -18
- package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
- package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +13 -3
- package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +18 -11
- package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
- package/dist/components/custom/goo-blob/constants.d.ts +1 -1
- package/dist/components/custom/goo-blob/index.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
- package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/types.d.ts +36 -0
- package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
- package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +50 -0
- package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +35 -0
- package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
- package/dist/components/custom/goo-dot-matrix/constants.d.ts +76 -0
- package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +11 -0
- package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +3 -0
- package/dist/components/custom/handmark/HandMark.vue.d.ts +1 -1
- package/dist/components/custom/icon-chip/types.d.ts +11 -1
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +3 -1
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
- package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
- package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +90 -0
- package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +16 -0
- package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +19 -0
- package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
- package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
- package/dist/components/custom/paper-grid/constants.d.ts +57 -0
- package/dist/components/custom/paper-grid/index.d.ts +5 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
- package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
- package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
- package/dist/components/custom/search/index.d.ts +2 -0
- package/dist/components/custom/search/searchVariants.d.ts +19 -0
- package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
- package/dist/components/custom/selectable-chip/index.d.ts +2 -0
- package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +23 -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/split-chars/SplitChars.vue.d.ts +39 -0
- package/dist/components/custom/split-chars/index.d.ts +1 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +12 -0
- package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
- package/dist/components/custom/tabs/constants.d.ts +20 -2
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +30 -17
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
- package/dist/components/ui/_shared/useControlSize.d.ts +46 -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 +79 -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 +3 -1
- 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/command/Command.vue.d.ts +1 -1
- package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
- package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
- package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
- package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +7 -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/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
- 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/hover-card/HoverCardContent.vue.d.ts +3 -0
- package/dist/components/ui/index.d.ts +1 -0
- package/dist/components/ui/input/Input.vue.d.ts +3 -0
- package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
- package/dist/components/ui/select/SelectContent.vue.d.ts +4 -1
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
- 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/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
- package/dist/composables/color/index.d.ts +2 -0
- package/dist/composables/color/useAccentTone.d.ts +34 -0
- 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/useVizChoreography.d.ts +123 -0
- package/dist/composables/glass/vSpecular.d.ts +2 -0
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +10 -0
- package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
- package/dist/composables/glass/webgl/shaders/flow.wgsl.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 +75 -0
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +85 -0
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
- package/dist/composables/motion/core/index.d.ts +4 -0
- package/dist/composables/motion/index.d.ts +4 -0
- package/dist/composables/motion/scrollReader.d.ts +25 -0
- package/dist/composables/motion/springPresets.d.ts +20 -1
- package/dist/composables/motion/useCharStagger.d.ts +44 -0
- package/dist/composables/motion/useDockCtaReceive.d.ts +84 -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/useScrollChrome.d.ts +58 -0
- package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
- package/dist/composables/motion/useSpringPress.d.ts +5 -5
- package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
- package/dist/composables/sidebar/index.d.ts +4 -1
- package/dist/composables/sidebar/types.d.ts +68 -3
- package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
- package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
- package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
- package/dist/composables/virtual/index.d.ts +4 -0
- package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
- package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
- package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
- package/dist/concentric.d.ts +1 -0
- package/dist/concentric.js +836 -0
- package/dist/configurator.js +3 -2
- package/dist/confirm-dialog.js +62 -49
- package/dist/constellation.js +635 -235
- package/dist/context-menu.js +3 -3
- package/dist/controls.js +2 -2
- package/dist/createCanvasLifecycle-Gh45Ce-p.js +93 -0
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck.d.ts +1 -0
- package/dist/deck.js +105 -0
- package/dist/dialog.js +4 -3
- package/dist/dock.js +819 -568
- package/dist/{dockContext-Bu1Avy-a.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 +894 -0
- package/dist/dot-matrix.d.ts +1 -0
- package/dist/dot-matrix.js +630 -0
- package/dist/dotMatrixField-D_x9_1qq.js +48 -0
- package/dist/drawer.d.ts +1 -0
- package/dist/drawer.js +380 -0
- package/dist/{dropdown-menu-BJ7E9js_.js → dropdown-menu-aJmV5SqE.js} +82 -79
- package/dist/dropdown-menu.js +1 -1
- package/dist/easing.d.ts +1 -0
- package/dist/easing.js +475 -0
- package/dist/expandable-container.js +46 -21
- package/dist/fading-scroll.js +1 -1
- package/dist/flow.glsl-B2P7e0MT.js +4 -0
- package/dist/focus-scope.d.ts +1 -0
- package/dist/focus-scope.js +23 -0
- package/dist/forms.js +65 -63
- package/dist/fourier-field.js +831 -172
- package/dist/fourier-math.js +1 -1
- package/dist/glass-panel.js +2 -2
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +187 -338
- package/dist/goo-blob.js +241 -692
- package/dist/goo-dot-matrix.d.ts +1 -0
- package/dist/goo-dot-matrix.js +591 -0
- package/dist/handmark.js +2 -2
- 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.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +70 -60
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +1 -1
- package/dist/metric-stack.js +14 -9
- package/dist/motion-core.js +58 -36
- package/dist/motion-curves.js +11 -1
- package/dist/motion.js +90 -53
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.js +2 -91
- package/dist/paper-backdrop.js +1 -1
- package/dist/paper-grid.d.ts +1 -0
- package/dist/paper-grid.js +788 -0
- package/dist/popover.js +1 -1
- package/dist/{presets-BW2b-fr1.js → presets-CvOUqtdY.js} +3 -3
- package/dist/{compile-EXXzEr1q.js → procedural-color.wgsl-m7Zgv35j.js} +2 -156
- package/dist/progress.js +1 -1
- package/dist/pulse.js +2 -2
- package/dist/reactive.js +1 -1
- package/dist/resolveCanvasColor-yPyIpJt9.js +93 -0
- package/dist/scrollReader-DI1NWxUw.js +42 -0
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +162 -308
- package/dist/select.js +3 -3
- package/dist/selectable-chip.d.ts +1 -0
- package/dist/selectable-chip.js +65 -0
- package/dist/separator.js +1 -1
- package/dist/{sheet-CquRYOAw.js → sheet-B2flBfLH.js} +5 -5
- package/dist/sheet.js +1 -1
- package/dist/sidebar.js +216 -114
- package/dist/{slider-DQ95MET2.js → slider-2A0rPn79.js} +3 -3
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +2 -2
- package/dist/spa-view.d.ts +1 -0
- package/dist/spa-view.js +46 -0
- package/dist/spectrum-walk-BVzA7Biz.js +33 -0
- package/dist/{springPresets-WXaLbu8u.js → springPresets-Ce7OYCm9.js} +12 -6
- package/dist/styles/animations.css +46 -12
- package/dist/styles/border-progress.css +109 -0
- package/dist/styles/cards.css +145 -0
- package/dist/styles/completion-seal.css +131 -0
- package/dist/styles/components.css +2 -3
- package/dist/styles/configurator.css +55 -0
- package/dist/styles/critical-partition.mjs +162 -0
- package/dist/styles/critical.css +12 -0
- package/dist/styles/deferred.css +33 -0
- package/dist/styles/dock/cta-seat.css +87 -0
- package/dist/styles/dock/density.css +198 -0
- package/dist/styles/dock/layers.css +101 -29
- package/dist/styles/dock/morph-bridge.css +54 -18
- package/dist/styles/dock/morph.css +132 -7
- package/dist/styles/dock/overflow.css +28 -2
- package/dist/styles/dock/search.css +68 -0
- package/dist/styles/dock/shape.css +124 -0
- package/dist/styles/dock/shell.css +77 -21
- package/dist/styles/dock/stack-rail.css +264 -0
- package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/dist/styles/dock-controls/icon-button.css +14 -0
- package/dist/styles/dock.css +43 -1
- package/dist/styles/drawer.css +81 -35
- package/dist/styles/glass/accent-tone.css +66 -0
- package/dist/styles/glass/control-surfaces.css +167 -0
- package/dist/styles/glass/deep.css +44 -0
- package/dist/styles/glass/ladder.css +147 -41
- package/dist/styles/glass/material.css +78 -15
- package/dist/styles/glass/reveal.css +136 -0
- package/dist/styles/glass/rim.css +110 -0
- package/dist/styles/glass/surfaces.css +148 -129
- package/dist/styles/glass-refract.css +96 -44
- package/dist/styles/glass-specular-track.css +7 -0
- package/dist/styles/glass.css +13 -0
- package/dist/styles/hover-popover.css +7 -6
- package/dist/styles/icon-chip.css +77 -15
- package/dist/styles/index.css +36 -9
- package/dist/styles/instrument-chassis.css +66 -3
- package/dist/styles/scroll-choreography.css +300 -0
- package/dist/styles/scroll-chrome.css +123 -0
- package/dist/styles/scroll-driven.css +38 -0
- package/dist/styles/segmented-tabs.css +81 -14
- package/dist/styles/theme/bridges.css +33 -0
- package/dist/styles/theme/literals.css +11 -2
- package/dist/styles/theme/radius.css +24 -2
- package/dist/styles/tokens/color-radius.css +13 -3
- package/dist/styles/tokens/dark-arm.css +137 -32
- package/dist/styles/tokens/glass-deep.css +100 -0
- package/dist/styles/tokens/glass-fx.css +376 -0
- package/dist/styles/tokens/glass.css +131 -351
- package/dist/styles/tokens/light-dark.css +16 -3
- package/dist/styles/tokens/offsets.css +143 -0
- package/dist/styles/tokens/on-glass-fg.css +39 -0
- package/dist/styles/tokens/property-regs.css +260 -0
- package/dist/styles/tokens/scale-paper.css +168 -96
- package/dist/styles/tokens/scheme-motion.css +114 -38
- package/dist/styles/tokens/scroll-tokens.css +123 -0
- package/dist/styles/tokens/sizing-config.css +110 -0
- package/{src/styles/tokens/offsets-sizing.css → dist/styles/tokens/sizing.css} +92 -204
- package/dist/styles/tokens.css +14 -3
- package/dist/styles/typography/semantic.css +26 -13
- package/dist/styles/typography/utilities.css +22 -7
- package/dist/styles/utilities/a11y-overrides.css +20 -5
- package/dist/styles/utilities/animate.css +27 -24
- package/dist/styles/utilities/base-misc.css +307 -0
- package/dist/styles/utilities/base.css +47 -261
- package/dist/styles/utilities/btn.css +17 -4
- package/dist/styles/utilities/components.css +31 -6
- package/dist/styles/utilities/metal.css +215 -0
- package/dist/styles/utilities.css +14 -7
- package/dist/switch.js +1 -1
- package/dist/tabs.js +220 -107
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +10 -10
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +2 -2
- package/dist/uniformBridgeWGPU-CtAKl45L.js +1204 -0
- package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-CLrxicG9.js} +1 -1
- package/dist/useConfiguratorState-4xblKfwd.js +162 -0
- package/dist/useControlSize-SH1UmJCi.js +9 -0
- package/dist/useDockCtaReceive-DfFkmgL1.js +82 -0
- package/dist/useDragMorph-BUgAC-zK.js +102 -0
- package/dist/useFuzzySearch-DIhcYtcw.js +177 -0
- package/dist/useGpuSubstrate-4pTcp6mX.js +294 -0
- package/dist/useLiquidPress-BooG97RY.js +39 -0
- package/dist/usePointerVelocityField-QLsy3_kv.js +91 -0
- package/dist/useScrollChrome-D66AVP7C.js +258 -0
- package/dist/useSpring-C0jyvEJB.js +40 -0
- package/dist/useSpringMount-BWDnKIwh.js +71 -0
- package/dist/useSpringPress-B1-Czp-V.js +36 -0
- package/dist/{useTouchGate-28Tk2-t2.js → useTouchGate-CBZTD4SD.js} +1 -1
- package/dist/useViewTransition-CUI1nAgn.js +95 -0
- package/dist/vSpecular-EX7loENl.js +68 -0
- package/dist/vendor-B2qOlYY3.js +239 -0
- package/dist/virtual.d.ts +1 -0
- package/dist/virtual.js +225 -0
- package/dist/watercolor-dot.js +117 -74
- package/package.json +252 -28
- package/src/styles/animations.css +46 -12
- package/src/styles/border-progress.css +109 -0
- package/src/styles/cards.css +145 -0
- package/src/styles/completion-seal.css +131 -0
- package/src/styles/configurator.css +55 -0
- package/src/styles/critical-partition.mjs +162 -0
- package/src/styles/dock/cta-seat.css +87 -0
- package/src/styles/dock/density.css +198 -0
- package/src/styles/dock/layers.css +101 -29
- package/src/styles/dock/morph-bridge.css +54 -18
- package/src/styles/dock/morph.css +132 -7
- package/src/styles/dock/overflow.css +28 -2
- package/src/styles/dock/search.css +68 -0
- package/src/styles/dock/shape.css +124 -0
- package/src/styles/dock/shell.css +77 -21
- package/src/styles/dock/stack-rail.css +264 -0
- package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
- package/src/styles/dock-controls/icon-button.css +14 -0
- package/src/styles/dock.css +43 -1
- package/src/styles/drawer.css +81 -35
- package/src/styles/glass/accent-tone.css +66 -0
- package/src/styles/glass/control-surfaces.css +167 -0
- package/src/styles/glass/deep.css +44 -0
- package/src/styles/glass/ladder.css +147 -41
- package/src/styles/glass/material.css +78 -15
- package/src/styles/glass/reveal.css +136 -0
- package/src/styles/glass/rim.css +110 -0
- package/src/styles/glass/surfaces.css +148 -129
- package/src/styles/glass-refract.css +96 -44
- package/src/styles/glass-specular-track.css +7 -0
- package/src/styles/glass.css +13 -0
- package/src/styles/hover-popover.css +7 -6
- package/src/styles/icon-chip.css +77 -15
- package/src/styles/index.css +27 -0
- package/src/styles/instrument-chassis.css +66 -3
- package/src/styles/scroll-choreography.css +300 -0
- package/src/styles/scroll-chrome.css +123 -0
- package/src/styles/scroll-driven.css +38 -0
- package/src/styles/segmented-tabs.css +81 -14
- package/src/styles/theme/bridges.css +33 -0
- package/src/styles/theme/literals.css +11 -2
- package/src/styles/theme/radius.css +24 -2
- package/src/styles/tokens/color-radius.css +13 -3
- package/src/styles/tokens/dark-arm.css +137 -32
- package/src/styles/tokens/glass-deep.css +100 -0
- package/src/styles/tokens/glass-fx.css +376 -0
- package/src/styles/tokens/glass.css +131 -351
- package/src/styles/tokens/light-dark.css +16 -3
- package/src/styles/tokens/offsets.css +143 -0
- package/src/styles/tokens/on-glass-fg.css +39 -0
- package/src/styles/tokens/property-regs.css +260 -0
- package/src/styles/tokens/scale-paper.css +168 -96
- package/src/styles/tokens/scheme-motion.css +114 -38
- package/src/styles/tokens/scroll-tokens.css +123 -0
- package/src/styles/tokens/sizing-config.css +110 -0
- package/{dist/styles/tokens/offsets-sizing.css → src/styles/tokens/sizing.css} +92 -204
- package/src/styles/tokens.css +14 -3
- package/src/styles/typography/semantic.css +26 -13
- package/src/styles/typography/utilities.css +22 -7
- package/src/styles/utilities/a11y-overrides.css +20 -5
- package/src/styles/utilities/animate.css +27 -24
- package/src/styles/utilities/base-misc.css +307 -0
- package/src/styles/utilities/base.css +47 -261
- package/src/styles/utilities/btn.css +17 -4
- package/src/styles/utilities/components.css +31 -6
- package/src/styles/utilities/metal.css +215 -0
- package/src/styles/utilities.css +14 -7
- package/dist/CardAction-XH4YBVEK.js +0 -158
- package/dist/ContextMenuContent-ON3x7cuk.js +0 -85
- package/dist/DialogFooter-8eZbdmPc.js +0 -165
- package/dist/HoverCardContent-DkMaQzH5.js +0 -83
- package/dist/Input-DVG_J0ne.js +0 -55
- package/dist/Notification-DKjKsQq8.js +0 -100
- package/dist/NumberFieldContent-1VtwDSgf.js +0 -145
- package/dist/Separator-BArl4OaB.js +0 -37
- package/dist/Switch-Dr--uLGH.js +0 -47
- package/dist/Toaster-Bm_HQSpc.js +0 -263
- package/dist/ToggleGroupItem-Dzk9hWsF.js +0 -157
- package/dist/TooltipProvider-B3MkB_8P.js +0 -104
- package/dist/button-BNDWhAZb.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/color-DweYl7pE.js +0 -86
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
- package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
- package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
- package/dist/createLucideIcon-DydS2qgk.js +0 -43
- package/dist/minimize-2-BV31Ob_h.js +0 -38
- package/dist/resolveCanvasColor-BBiYfp8g.js +0 -11
- package/dist/search-BSGrf2Sk.js +0 -12
- package/dist/styles/dock/rail-extend.css +0 -397
- package/dist/useCanvas2D-ClrQuZtp.js +0 -96
- package/dist/useConfiguratorState-kiIlun8I.js +0 -303
- package/dist/useRAFLoop-CdwJ7284.js +0 -109
- package/dist/useSpecularTracking-Bo5su68i.js +0 -32
- package/dist/useSpringMount-CvopqiFr.js +0 -108
- package/dist/useViewTransition-COsPjQVZ.js +0 -47
- package/dist/x-BUwTKe50.js +0 -10
- package/src/styles/dock/rail-extend.css +0 -397
- /package/dist/{CollapsibleContent-C_s6fG7r.js → CollapsibleContent-68dEXIAl.js} +0 -0
- /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-CxsHSyMj.js} +0 -0
- /package/dist/{Label-Ck9SWEKM.js → Label-C2ejNWeC.js} +0 -0
- /package/dist/{ModalOverlay-CkPRRgl_.js → ModalOverlay-D1VrWyoi.js} +0 -0
- /package/dist/{PaperBackdrop-nBKe0vkB.js → PaperBackdrop-CqwjnfLv.js} +0 -0
- /package/dist/{SelectGroup-Dcczq44n.js → SelectGroup-BFiod7X2.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-CBt_VvXa.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
- /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
- /package/dist/{constants-BPOqYJAm.js → constants--C2DkLW8.js} +0 -0
- /package/dist/{createContext-B2RaZ-b8.js → createContext-CpBNTRMI.js} +0 -0
- /package/dist/{math-DeuJwLFx.js → math-Eb0w3LqU.js} +0 -0
- /package/dist/{menuItemVariants-DWRQXBxJ.js → menuItemVariants-D8VNHq22.js} +0 -0
- /package/dist/{prng-Cg22zv8g.js → prng-B-d9eYX8.js} +0 -0
- /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-CmjB9E32.js} +0 -0
- /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-Dbozzjgm.js} +0 -0
- /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BPRp33Im.js} +0 -0
- /package/dist/{useLiquidFlex-C12hXwOZ.js → useLiquidFlex-UmA6LMZu.js} +0 -0
- /package/dist/{useResizeObserver-V6nq5gJb.js → useResizeObserver-Bpoi7tRE.js} +0 -0
- /package/dist/{useResolveTokenColor-NUG2zYAW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
- /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-c3yxmH6a.js} +0 -0
- /package/dist/{useSurfaceAxis-CMnF2zHb.js → useSurfaceAxis-g0NloYEF.js} +0 -0
- /package/dist/{useTimer-B_PAasDL.js → useTimer-BHJOKr35.js} +0 -0
- /package/dist/{useUserInvalidAria-CDfJuakL.js → useUserInvalidAria-y5namzeE.js} +0 -0
- /package/dist/{useViewportReady-CvBcCYDf.js → useViewportReady-anbac3m6.js} +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Component } from "vue";
|
|
2
|
+
export interface SpaViewProps {
|
|
3
|
+
/**
|
|
4
|
+
* The active view. Either a component (`<component :is>`) or a string key the
|
|
5
|
+
* default-slot resolves against. When `view`/`is` is set, SpaView renders the
|
|
6
|
+
* dynamic component directly; when unset, the default slot is the active view
|
|
7
|
+
* (the consumer drives `:is` inside the slot themselves).
|
|
8
|
+
*/
|
|
9
|
+
view?: Component | string;
|
|
10
|
+
/** Alias of `view` (the `:is` ergonomics — same dynamic-component target). */
|
|
11
|
+
is?: Component | string;
|
|
12
|
+
/**
|
|
13
|
+
* The LRU cap — the max number of cached inactive view instances. Threaded
|
|
14
|
+
* straight onto `<KeepAlive :max>`; when unset, KeepAlive's default (unbounded)
|
|
15
|
+
* applies. The visual-load-bearing register: a bounded admin shell sets `:max`
|
|
16
|
+
* to its tab count so the cache never grows without bound.
|
|
17
|
+
*/
|
|
18
|
+
max?: number;
|
|
19
|
+
/** KeepAlive include allowlist (component name / RegExp / array — pass-through). */
|
|
20
|
+
include?: string | RegExp | (string | RegExp)[];
|
|
21
|
+
/** KeepAlive exclude denylist (component name / RegExp / array — pass-through). */
|
|
22
|
+
exclude?: string | RegExp | (string | RegExp)[];
|
|
23
|
+
/**
|
|
24
|
+
* The Vue <Transition> recipe name driving the out-in cross-fade. Defaults to
|
|
25
|
+
* `"fade"` — the shared opacity-only compositor recipe (transitions.css). A
|
|
26
|
+
* consumer overrides it with another `mode="out-in"`-safe recipe name.
|
|
27
|
+
*/
|
|
28
|
+
transition?: string;
|
|
29
|
+
/**
|
|
30
|
+
* The stable key the transition keys off (a re-render WITHOUT a key change is
|
|
31
|
+
* not a view swap). Defaults to the resolved `view`/`is` target. A consumer
|
|
32
|
+
* driving the active view from the default slot supplies its own `:view-key`.
|
|
33
|
+
*/
|
|
34
|
+
viewKey?: string | number;
|
|
35
|
+
}
|
|
36
|
+
declare var __VLS_19: {};
|
|
37
|
+
type __VLS_Slots = {} & {
|
|
38
|
+
default?: (props: typeof __VLS_19) => any;
|
|
39
|
+
};
|
|
40
|
+
declare const __VLS_base: import("vue").DefineComponent<SpaViewProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SpaViewProps> & Readonly<{}>, {
|
|
41
|
+
transition: string;
|
|
42
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
43
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
44
|
+
declare const _default: typeof __VLS_export;
|
|
45
|
+
export default _default;
|
|
46
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
47
|
+
new (): {
|
|
48
|
+
$slots: S;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SplitChars — the component face of the per-glyph split. It renders the `text`
|
|
3
|
+
* prop into per-glyph `.char` spans (each carrying `--char-index`), wraps them in
|
|
4
|
+
* the shipped `.char-stagger` host (so the library CSS staggers them into a
|
|
5
|
+
* kinetic entrance on the per-spring `--spring-smooth` clock), and — by
|
|
6
|
+
* construction — keeps the word as ONE accessible name: the wrapper carries
|
|
7
|
+
* `aria-label="{text}"`, every glyph span is `aria-hidden`. AT hears "Fourier",
|
|
8
|
+
* never the spell-out.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* <SplitChars text="Fourier" />
|
|
12
|
+
* <SplitChars text="Hello World" by="word" as="h1" />
|
|
13
|
+
*
|
|
14
|
+
* The `text` PROP is the single source for BOTH the split AND the label — there
|
|
15
|
+
* is NO default slot (a slot would split arbitrary markup, so the accessible name
|
|
16
|
+
* would be ambiguous). The split re-runs on a `text` change (the watcher →
|
|
17
|
+
* `split()`). Engine-free: it composes `useCharStagger` (vue-only) + the shipped
|
|
18
|
+
* CSS; it adds NO animation engine and NO PRM logic (it inherits the recipe's
|
|
19
|
+
* carve — the split is structural, only the CSS `fade-in` is PRM-gated).
|
|
20
|
+
*/
|
|
21
|
+
import { type Component, type HTMLAttributes } from "vue";
|
|
22
|
+
import { type UseCharStaggerOptions } from "../../../composables/motion/useCharStagger";
|
|
23
|
+
type __VLS_Props = {
|
|
24
|
+
/** The word to split — REQUIRED. It is the single source for both the
|
|
25
|
+
* per-glyph split AND the accessible label (the load-bearing a11y fact). */
|
|
26
|
+
text: string;
|
|
27
|
+
/** The split unit. Default `"char"`. */
|
|
28
|
+
by?: UseCharStaggerOptions["by"];
|
|
29
|
+
/** Host tag/component (reka-ui Primitive `as`; default `"span"`) — set
|
|
30
|
+
* `as="h1"` to render the kinetic word as a heading. */
|
|
31
|
+
as?: string | Component;
|
|
32
|
+
class?: HTMLAttributes["class"];
|
|
33
|
+
};
|
|
34
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
35
|
+
as: string | Component;
|
|
36
|
+
by: "char" | "word" | "grapheme";
|
|
37
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
|
+
declare const _default: typeof __VLS_export;
|
|
39
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as SplitChars } from "./SplitChars.vue";
|
|
@@ -49,6 +49,17 @@ export interface SegmentedTabsProps {
|
|
|
49
49
|
* accessible name.
|
|
50
50
|
*/
|
|
51
51
|
responsive?: boolean | SegmentedTabsResponsive;
|
|
52
|
+
/**
|
|
53
|
+
* BC.W-LIQUID-TAB — the LIQUID TAB. The `pill` indicator is a physical lozenge
|
|
54
|
+
* you can GRAB and PULL: it follows the finger ~1:1, squishes on drag velocity,
|
|
55
|
+
* and flings to the nearest tab on release (`useDragMorph`). DEFAULT `true` — the
|
|
56
|
+
* pull is the iOS-27 primary affordance, ADDITIVE OVER the click/keyboard path
|
|
57
|
+
* (which stays byte-identical + fully operable — the drag is a pointer
|
|
58
|
+
* ENHANCEMENT, never the sole selection mechanism, WCAG 2.1.1). A consumer who
|
|
59
|
+
* wants click-only opts out with `:draggable="false"`. No-op on `underline` (the
|
|
60
|
+
* ink hairline has no indicator element to deform — `dragEnabled` gates it).
|
|
61
|
+
*/
|
|
62
|
+
draggable?: boolean;
|
|
52
63
|
class?: HTMLAttributes["class"];
|
|
53
64
|
}
|
|
54
65
|
type __VLS_Props = SegmentedTabsProps;
|
|
@@ -75,6 +86,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
75
86
|
}>, {
|
|
76
87
|
orientation: SegmentedTabsOrientation;
|
|
77
88
|
variant: SegmentedTabsVariant;
|
|
89
|
+
draggable: boolean;
|
|
78
90
|
responsive: boolean | SegmentedTabsResponsive;
|
|
79
91
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
80
92
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ComputedRef, Ref } from "vue";
|
|
2
|
+
import { type UseDragMorphReturn } from "../../../../composables/motion/useDragMorph";
|
|
3
|
+
import type { SegmentedTabOption } from "../SegmentedTabs.vue";
|
|
4
|
+
/**
|
|
5
|
+
* Package-private composable for `SegmentedTabs.vue` — BB.W-DRAG-MORPH, the LIQUID
|
|
6
|
+
* TAB (the `:draggable` axis). Carved out of the SFC at BB.W-CARVE4 to hold the
|
|
7
|
+
* no-god-module bound, mirroring the `useTabIndicator` colocation sibling; the SFC
|
|
8
|
+
* IMPORTS it and binds `drag.dragStyle`/`drag.dragging` in its template.
|
|
9
|
+
*
|
|
10
|
+
* When `:draggable`, the `pill` indicator is wired to `useDragMorph` with the snap
|
|
11
|
+
* targets resolved off the CENTER-ANCHORED button geometry (the SAME measure
|
|
12
|
+
* `useTabIndicator` runs — reused, never re-measured). Dragging the indicator follows
|
|
13
|
+
* the finger, squishes on velocity, and flings to the nearest tab center on release →
|
|
14
|
+
* `onSnap` writes the `model`. The drag is the `pill` material ONLY (the `underline`
|
|
15
|
+
* ink hairline has no `indicatorRef` element to deform). The squish reads the SAME
|
|
16
|
+
* `--tab-indicator-max-stretch` live cap the click squish does (the SOLE cap source);
|
|
17
|
+
* the drag's `--stretch` write composes the existing reciprocal CSS pairing — no
|
|
18
|
+
* second squish recipe.
|
|
19
|
+
*/
|
|
20
|
+
export interface UseTabDragMorphParams {
|
|
21
|
+
/** The active indicator element (the drag follow + squish target). */
|
|
22
|
+
indicatorRef: Ref<HTMLElement | null>;
|
|
23
|
+
/** True for the vertical (block-axis) orientation. */
|
|
24
|
+
isVertical: ComputedRef<boolean>;
|
|
25
|
+
/** True for the underline material (drag is a no-op there). */
|
|
26
|
+
isUnderline: ComputedRef<boolean>;
|
|
27
|
+
/** The `:draggable` prop (ADDITIVE, default false). */
|
|
28
|
+
draggable: () => boolean;
|
|
29
|
+
/** The strip's rendered options (the snap targets + the refresh trigger). */
|
|
30
|
+
stripOptions: ComputedRef<SegmentedTabOption[]>;
|
|
31
|
+
/** Per-option button refs, index-aligned to `stripOptions`. */
|
|
32
|
+
buttonRefs: Ref<HTMLElement[]>;
|
|
33
|
+
/** The single-select model — the fling-to-nearest commits the selection. */
|
|
34
|
+
model: Ref<string | undefined>;
|
|
35
|
+
}
|
|
36
|
+
export interface UseTabDragMorphReturn {
|
|
37
|
+
/** True when the drag is live (the `pill` material + the `:draggable` prop). */
|
|
38
|
+
dragEnabled: ComputedRef<boolean>;
|
|
39
|
+
/** The `useDragMorph` handle (the SFC binds `dragStyle`/`dragging`). */
|
|
40
|
+
drag: UseDragMorphReturn;
|
|
41
|
+
}
|
|
42
|
+
export declare function useTabDragMorph(params: UseTabDragMorphParams): UseTabDragMorphReturn;
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fallback for `--tab-indicator-max-stretch` when the cascade leaves it unset — the
|
|
3
|
-
* default ≈+
|
|
3
|
+
* default ≈+15% travel-squish cap. `--stretch = 1 + frac · (cap − 1)`, so a
|
|
4
4
|
* full-width jump reaches the cap and a tiny hop stays near 1. The token is the
|
|
5
5
|
* authority; this is the no-token floor.
|
|
6
|
+
*
|
|
7
|
+
* BC.W-LIQUID-TAB — lifted 1.08 → 1.15 so a FAST liquid-tab pull visibly swells the
|
|
8
|
+
* pill (the gel-squish READS as liquid, glass-dock-codebase.md §3.4) — still capped
|
|
9
|
+
* LOW (≤1.2, the anti-taffy-pull bar). The cap is shared by the click travel-squish
|
|
10
|
+
* AND the drag pull-morph (the SOLE cap source — the constant + the token in
|
|
11
|
+
* lockstep, never a fork); the volume-preserving reciprocal pairing
|
|
12
|
+
* (`scale: var(--stretch) calc(1/var(--stretch))`) is unchanged — only the magnitude
|
|
13
|
+
* lifts.
|
|
6
14
|
*/
|
|
7
|
-
export declare const DEFAULT_INDICATOR_MAX_STRETCH = 1.
|
|
15
|
+
export declare const DEFAULT_INDICATOR_MAX_STRETCH = 1.15;
|
|
8
16
|
/**
|
|
9
17
|
* The travel-progress fraction at which the squish RELEASES — the Material
|
|
10
18
|
* "grow then shrink" close, keyed to ARRIVAL (BA.W-TABS). The squish opens with
|
|
@@ -14,5 +22,15 @@ export declare const DEFAULT_INDICATOR_MAX_STRETCH = 1.08;
|
|
|
14
22
|
* release schedules off the calibrated clock (`--spring-snappy-duration`) scaled
|
|
15
23
|
* by this fraction, so the stretch peaks during travel and shrinks to fit AT
|
|
16
24
|
* arrival, never before.
|
|
25
|
+
*
|
|
26
|
+
* BC.W-UNDERLINE-TUNE — VERIFIED against the eased `snappy` (response 0.42 / ζ 0.78,
|
|
27
|
+
* the BC.W-SPRING-EASE re-derive). On that curve the position arrives (≥99% travel)
|
|
28
|
+
* at ~74% of the `--spring-snappy-duration` clock and the 90%-travel point lands at
|
|
29
|
+
* ~57% (mid-clock — the front-load gone). 0.82 releases the squish at ~279ms (= 0.82
|
|
30
|
+
* × 340ms), i.e. AT arrival (just past the ~74% arrival), so the stretch peaks DURING
|
|
31
|
+
* travel and shrinks to fit AT arrival — never before (0.82 ≥ the 0.74 arrival point).
|
|
32
|
+
* The position + squish now read ONE matched window: the desync (HEAD position-at-16%
|
|
33
|
+
* vs squish-at-82%) collapsed because the eased curve actually travels across the clock.
|
|
34
|
+
* KEPT at 0.82 — the eased arrival sits inside the release fraction; no nudge needed.
|
|
17
35
|
*/
|
|
18
36
|
export declare const INDICATOR_RELEASE_AT_ARRIVAL = 0.82;
|
|
@@ -1,32 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WatercolorDot — an organic pastel blob swatch
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* filter
|
|
2
|
+
* WatercolorDot — an organic pastel blob swatch. A CSS/SVG primitive (NO drawing
|
|
3
|
+
* context — no WebGL/WebGPU/Canvas2D; the deliberate suite counterexample, the mark
|
|
4
|
+
* that documents WHY it is not a GPU context): the blob shape is a deterministic
|
|
5
|
+
* per-vertex `border-radius` morph (seeded by `color + seed`), and the wet, bleeding
|
|
6
|
+
* edge is an SVG turbulence + displacement filter that is INTERNALISED — the component
|
|
7
|
+
* mounts its own namespaced `<filter>` so there is zero consumer plumbing. Mount the
|
|
8
|
+
* dot and the filter just works.
|
|
9
|
+
*
|
|
10
|
+
* Safari-safe by construction (USER-DEFECTS §H): the SVG `<filter>` rasterizes ONCE
|
|
11
|
+
* + caches (the HandMark `texture.ts` idiom) and NEVER re-rasterizes per frame; the
|
|
12
|
+
* `animate` liveness rides a seeded COMPOSITOR `transform` wobble the compositor
|
|
13
|
+
* accelerates without touching the filter graph (a per-frame `border-radius` paint
|
|
14
|
+
* under the filter is the §H Safari flash, retired here). The filter `seed` is
|
|
15
|
+
* per-instance off `hashString(color + seed)` so each dot's wet edge is uniquely
|
|
16
|
+
* displaced (no twelve-clones).
|
|
8
17
|
*
|
|
9
18
|
* Color arrives as a CSS string painted straight onto the swatch background — the
|
|
10
19
|
* dot needs no resolver because it does not feed a shader; the injected-color seam
|
|
11
|
-
* shape is "pass the CSS color in".
|
|
20
|
+
* shape is "pass the CSS color in". Warm-cream identity by default (the dot bakes no
|
|
21
|
+
* hue; the demo palette is presets-in-consumers).
|
|
12
22
|
*/
|
|
13
23
|
type __VLS_Props = {
|
|
14
24
|
/** CSS color painted as the swatch background (any CSS color form). */
|
|
15
25
|
color: string;
|
|
16
26
|
/**
|
|
17
|
-
* Render mode
|
|
27
|
+
* Render mode:
|
|
18
28
|
* `solid` (default) — the filled organic blob (the swatch background IS the
|
|
19
29
|
* color; the existing register, unchanged).
|
|
20
|
-
* `ghost` — the SAME seeded blob SILHOUETTE
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
30
|
+
* `ghost` — the SAME seeded blob SILHOUETTE traced as a DASHED outline: an
|
|
31
|
+
* SVG <ellipse> `stroke-dasharray` carrying the SAME wet
|
|
32
|
+
* `feDisplacementMap` filter, so the displacement wobbles the
|
|
33
|
+
* dashed ellipse INTO the seeded organic outline (a dashed
|
|
34
|
+
* OUTLINE following the silhouette — NOT a solid ring, NOT a CSS
|
|
35
|
+
* dashed rectangle). A low-alpha `color` fill is kept behind the
|
|
36
|
+
* stroke. A `ghost` of a given `color + seed` carries the SAME
|
|
37
|
+
* seeded `border-radius` silhouette the `solid` dot of that seed
|
|
38
|
+
* renders (both read the same `useWatercolorBlob` morph). The
|
|
26
39
|
* empty-palette-slot / placeholder affordance.
|
|
27
40
|
*/
|
|
28
41
|
variant?: "solid" | "ghost";
|
|
29
|
-
/** Run the rAF-driven
|
|
42
|
+
/** Run the rAF-driven compositor transform wobble (default false → static). */
|
|
30
43
|
animate?: boolean;
|
|
31
44
|
/** Host tag — `div` (decorative) or `button` (interactive). */
|
|
32
45
|
tag?: "div" | "button";
|
|
@@ -34,7 +47,7 @@ type __VLS_Props = {
|
|
|
34
47
|
cycleDuration?: number;
|
|
35
48
|
/** Border-radius range [lo, hi] as percentages (default [20, 80]). */
|
|
36
49
|
range?: [number, number];
|
|
37
|
-
/** Extra seed string mixed into the shape PRNG for
|
|
50
|
+
/** Extra seed string mixed into the shape + wet-edge PRNG for uniqueness. */
|
|
38
51
|
seed?: string;
|
|
39
52
|
};
|
|
40
53
|
declare var __VLS_11: {};
|
|
@@ -43,9 +56,9 @@ type __VLS_Slots = {} & {
|
|
|
43
56
|
};
|
|
44
57
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
45
58
|
animate: boolean;
|
|
59
|
+
range: [number, number];
|
|
46
60
|
variant: "solid" | "ghost";
|
|
47
61
|
seed: string;
|
|
48
|
-
range: [number, number];
|
|
49
62
|
tag: "div" | "button";
|
|
50
63
|
cycleDuration: number;
|
|
51
64
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Ref } from "vue";
|
|
2
2
|
export interface UseWatercolorBlobOptions {
|
|
3
|
-
/** Enable the rAF animation loop. */
|
|
3
|
+
/** Enable the rAF animation loop (drives a COMPOSITOR transform wobble). */
|
|
4
4
|
animate?: boolean;
|
|
5
5
|
/** Base cycle duration in ms (default 4000). */
|
|
6
6
|
cycleDuration?: number;
|
|
@@ -11,14 +11,19 @@ export interface UseWatercolorBlobOptions {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Drives a watercolor dot's organic blob shape. Deterministic given `color + seed`
|
|
14
|
-
* (seeds the PRNG), so the same color reproduces the same shape across mounts.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* (seeds the PRNG), so the same color reproduces the same shape across mounts. The
|
|
15
|
+
* seeded `border-radius` silhouette is set ONCE (the dot's identity) and is STATIC —
|
|
16
|
+
* the box never re-paints its radius per frame (the §H Safari fix: a per-frame
|
|
17
|
+
* `border-radius` write under the SVG filter forces the filter graph to RE-RASTERIZE
|
|
18
|
+
* every frame, which flashes Safari). In `animate` mode the liveness rides a seeded
|
|
19
|
+
* COMPOSITOR `transform` wobble (scale/skew/rotate) the compositor handles WITHOUT
|
|
20
|
+
* touching the cached filter — the HandMark static-filter idiom. `nudge()` retargets
|
|
21
|
+
* the wobble for a quick jiggle on hover.
|
|
18
22
|
*/
|
|
19
23
|
export declare function useWatercolorBlob(color: Ref<string> | (() => string), options?: UseWatercolorBlobOptions): {
|
|
20
24
|
borderRadius: Ref<string, string>;
|
|
21
25
|
hoverBorderRadius: Ref<string, string>;
|
|
26
|
+
transform: Ref<string, string>;
|
|
22
27
|
nudge: () => void;
|
|
23
28
|
};
|
|
24
29
|
export type WatercolorBlob = ReturnType<typeof useWatercolorBlob>;
|
|
@@ -2,3 +2,5 @@ export { menuItemVariants } from "./menuItemVariants";
|
|
|
2
2
|
export type { MenuItemVariants } from "./menuItemVariants";
|
|
3
3
|
export { surfaceClass } from "./useSurfaceAxis";
|
|
4
4
|
export type { Surface, SurfaceTier } from "./useSurfaceAxis";
|
|
5
|
+
export { controlSizeClass, switchSizeClass } from "./useControlSize";
|
|
6
|
+
export type { ControlSize } from "./useControlSize";
|
|
@@ -44,7 +44,7 @@ import { type VariantProps } from "class-variance-authority";
|
|
|
44
44
|
* opts in via `surface="accent"`.
|
|
45
45
|
*/
|
|
46
46
|
export declare const menuItemVariants: (props?: ({
|
|
47
|
-
surface?: "
|
|
47
|
+
surface?: "glass" | "accent" | null | undefined;
|
|
48
48
|
indicator?: "start" | "none" | "start-wide" | null | undefined;
|
|
49
49
|
density?: "comfortable" | "audacious" | null | undefined;
|
|
50
50
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared control-size axis — three rungs, ONE grammar. The meaningful
|
|
3
|
+
* control-size hierarchy rungs the input register needs (Button's `xs`/icon rungs
|
|
4
|
+
* are Button-specific — an input has no icon-only register, so they are NOT here).
|
|
5
|
+
*
|
|
6
|
+
* sm — the quieter/secondary control: the `--control-h-sm` height +
|
|
7
|
+
* `--control-text-sm` font (shorter + quieter).
|
|
8
|
+
* default — the canonical golden pill: the `--control-h-md` height +
|
|
9
|
+
* `--control-text` font (byte-identical to HEAD).
|
|
10
|
+
* lg — the primary/emphatic control: the `--control-h-lg` height with the
|
|
11
|
+
* base `--control-text` font (taller, same workhorse weight — matching
|
|
12
|
+
* Button's `lg`, where only the height grows).
|
|
13
|
+
*/
|
|
14
|
+
export type ControlSize = "sm" | "default" | "lg";
|
|
15
|
+
/**
|
|
16
|
+
* Resolve a `ControlSize` to the element-level token-override class string the
|
|
17
|
+
* `.input-pill` recipe reads. The `default` rung emits NO override (so the recipe
|
|
18
|
+
* falls back to the cohort `--control-h-md` / `--control-text` — byte-identical to
|
|
19
|
+
* HEAD); `sm`/`lg` re-point `--control-pill-h` / `--control-pill-text` to the
|
|
20
|
+
* chosen cohort rung.
|
|
21
|
+
*
|
|
22
|
+
* controlSizeClass() → "" (golden default)
|
|
23
|
+
* controlSizeClass("sm") → "[--control-pill-h:var(--control-h-sm)] [--control-pill-text:var(--control-text-sm)]"
|
|
24
|
+
* controlSizeClass("lg") → "[--control-pill-h:var(--control-h-lg)]"
|
|
25
|
+
*
|
|
26
|
+
* @param size the control-size rung (`default` · `sm` · `lg`)
|
|
27
|
+
*/
|
|
28
|
+
export declare function controlSizeClass(size?: ControlSize): string;
|
|
29
|
+
/**
|
|
30
|
+
* The Switch geometry rung. A Switch is a control-height-DERIVED geometry (the
|
|
31
|
+
* track/thumb/throw are NOT the bare cohort height — a switch track is shorter
|
|
32
|
+
* than an input), so it derives its `--switch-track-h` from the chosen
|
|
33
|
+
* `--control-h-*` rung (×0.6, the iOS proportion) and the rest of the
|
|
34
|
+
* `--switch-*` quad follows in Switch.vue:
|
|
35
|
+
*
|
|
36
|
+
* --switch-thumb = --switch-track-h − 0.25rem (the 2px×2 track border)
|
|
37
|
+
* --switch-track-w = --switch-track-h × 11/6 (the iOS track aspect)
|
|
38
|
+
* --switch-throw = --switch-track-w − --switch-thumb − 0.25rem
|
|
39
|
+
*
|
|
40
|
+
* The `default` rung (`--control-h-md`) resolves the HEAD `h-6 w-11` track +
|
|
41
|
+
* `h-5 w-5` thumb + `translate-x-5` throw EXACTLY (byte-identical). `sm`/`lg`
|
|
42
|
+
* re-point the anchor `--switch-track-h` so the whole quad scales in lockstep.
|
|
43
|
+
*
|
|
44
|
+
* @param size the control-size rung (`default` · `sm` · `lg`)
|
|
45
|
+
*/
|
|
46
|
+
export declare function switchSizeClass(size?: ControlSize): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from 'class-variance-authority';
|
|
2
2
|
export { default as Badge } from './Badge.vue';
|
|
3
3
|
export declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "default" | "
|
|
4
|
+
variant?: "default" | "outline" | "destructive" | "secondary" | "success" | "warning" | "info" | null | undefined;
|
|
5
5
|
size?: "sm" | "lg" | "md" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
export type BadgeVariants = VariantProps<typeof badgeVariants>;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import type { ButtonHTMLAttributes, HTMLAttributes } from 'vue';
|
|
2
2
|
import { type PrimitiveProps } from 'reka-ui';
|
|
3
3
|
import { type ButtonVariants } from '.';
|
|
4
|
+
import type { Surface } from '../_shared/useSurfaceAxis';
|
|
4
5
|
interface Props extends PrimitiveProps {
|
|
5
6
|
variant?: ButtonVariants['variant'];
|
|
6
7
|
size?: ButtonVariants['size'];
|
|
7
8
|
class?: HTMLAttributes['class'];
|
|
9
|
+
surface?: Surface;
|
|
10
|
+
liquid?: boolean;
|
|
8
11
|
type?: ButtonHTMLAttributes['type'];
|
|
9
12
|
disabled?: ButtonHTMLAttributes['disabled'];
|
|
10
13
|
}
|
|
11
|
-
declare var
|
|
14
|
+
declare var __VLS_13: {};
|
|
12
15
|
type __VLS_Slots = {} & {
|
|
13
|
-
default?: (props: typeof
|
|
16
|
+
default?: (props: typeof __VLS_13) => any;
|
|
14
17
|
};
|
|
15
18
|
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
16
19
|
as: import("reka-ui").AsTag | import("vue").Component;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from 'class-variance-authority';
|
|
2
2
|
export { default as Button } from './Button.vue';
|
|
3
3
|
export declare const buttonVariants: (props?: ({
|
|
4
|
-
variant?: "link" | "default" | "
|
|
5
|
-
size?: "default" | "
|
|
4
|
+
variant?: "link" | "default" | "glass" | "outline" | "primary-audacious" | "gold-audacious" | "destructive" | "secondary" | "accent" | "ghost" | "glass-wash" | "ai" | null | undefined;
|
|
5
|
+
size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-sm" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
export type ButtonVariants = VariantProps<typeof buttonVariants>;
|
|
@@ -11,8 +11,13 @@ import { type PrimitiveProps } from "reka-ui";
|
|
|
11
11
|
* overlay — heaviest (~0.95α + blur) : modal-on-modal, dialog over content
|
|
12
12
|
* opaque — `--glass-level:0` escape : the solid-card opt-out (AX.W54), maps to
|
|
13
13
|
* `.glass-opaque` through the same `glass-${tier}` rung as the rest
|
|
14
|
+
* deep — `--glass-blur-deep-*` OPT-IN : the maximal iOS-27 Liquid-Glass tier
|
|
15
|
+
* ABOVE the W-GLASS-CAL calm default (Apple saturate-1.5/blur-16px),
|
|
16
|
+
* maps to `.glass-floating glass-deep` (a base rung + the deep
|
|
17
|
+
* decoration, mirroring opaque) — the hero glass / CTA register
|
|
18
|
+
* (BB.W-DEEP-GLASS). The calm content default is byte-unchanged.
|
|
14
19
|
*/
|
|
15
|
-
export type CardTier = "wash" | "quiet" | "resting" | "floating" | "overlay" | "opaque";
|
|
20
|
+
export type CardTier = "wash" | "quiet" | "resting" | "floating" | "overlay" | "opaque" | "deep";
|
|
16
21
|
/**
|
|
17
22
|
* Surface decoration register — orthogonal to `tier`/`shadow`/`grain`.
|
|
18
23
|
*
|
|
@@ -46,6 +51,23 @@ export type CardSurface = "glass" | "cartoon" | "veil";
|
|
|
46
51
|
* was originally authored over (a local intensity-token override).
|
|
47
52
|
*/
|
|
48
53
|
export type CardSpecular = "off" | "subtle" | "full";
|
|
54
|
+
/**
|
|
55
|
+
* Decoration variant — the ONE new Atlas component (BC.W-SELECTION-CARD, the I5
|
|
56
|
+
* selection card). Default UNSET: a bare `<Card>` is byte-identical to HEAD; the
|
|
57
|
+
* variant is additive default-OFF (the no-op floor). `selection` binds
|
|
58
|
+
* `:data-variant="selection"` on the root and ROUTES the chromatic-rim (A-2,
|
|
59
|
+
* `--glass-accent`) + selected metal-shimmer (A-3, `.metal-*-border`) decoration
|
|
60
|
+
* through the SHARED BUILT seams — it mints NO new sub-system. The shape mirrors
|
|
61
|
+
* the `surface` axis exactly: a data-attr the CSS seam reads, ORTHOGONAL to
|
|
62
|
+
* `tier`/`surface`/`pressable` (a `variant="selection" surface="glass"
|
|
63
|
+
* tier="resting" pressable` card is valid). The hue is a CONSUMER value
|
|
64
|
+
* (`data-hue`/`data-hue-strength` per-instance); NO consumer hue enters a token.
|
|
65
|
+
*/
|
|
66
|
+
export type CardVariant = "selection";
|
|
67
|
+
/** The earned metal for a SELECTED selection-card (gold default — BA.W-PHASE-PALETTE
|
|
68
|
+
* "gold is earned" for the chosen item). Composes the BUILT `.metal-{name}-border`
|
|
69
|
+
* utility; NO forked keyframe, NO baked metal color. */
|
|
70
|
+
export type CardMetal = "gold" | "silver" | "bronze";
|
|
49
71
|
interface Props extends PrimitiveProps {
|
|
50
72
|
/** Surface tier; selects one rung of the glass ladder. Default `resting`. */
|
|
51
73
|
tier?: CardTier;
|
|
@@ -62,6 +84,15 @@ interface Props extends PrimitiveProps {
|
|
|
62
84
|
/** `::after` paper-grain overlay. Off for scroll panes (the grain conflicts
|
|
63
85
|
* with overflow:auto repaints). */
|
|
64
86
|
grain?: boolean;
|
|
87
|
+
/** BB.W-PAPER-GRID-TEXTURE — the GEOMETRIC paper register: a `::after`
|
|
88
|
+
* blueprint/graph-paper grid felt THROUGH the card interior (the math/grid
|
|
89
|
+
* brand pillar, read through the plate rather than only in the page
|
|
90
|
+
* margin). Default **OFF** — a bare card is byte-identical to HEAD; a
|
|
91
|
+
* document-register card opts in. ORTHOGONAL to `grain` (organic) — a card
|
|
92
|
+
* may carry BOTH the turbulence grain and the geometric grid. The register
|
|
93
|
+
* doctrine (paper-register cards opt in, instrument-glass surfaces do NOT)
|
|
94
|
+
* is a CONSUMER choice the default-OFF honors by construction. */
|
|
95
|
+
grid?: boolean;
|
|
65
96
|
/** Specular catch-light register (AX.W09). `off` (default) keeps the card
|
|
66
97
|
* CLEAN — no pointer-anchored lens, clean over any backplate (the §24
|
|
67
98
|
* three-consumer-confirmed default for a data/content card). `subtle` wakes
|
|
@@ -69,19 +100,63 @@ interface Props extends PrimitiveProps {
|
|
|
69
100
|
* hero/chrome opt-in); `full` runs the brighter pre-tune rung set for a busy
|
|
70
101
|
* backdrop. Only `glass` surfaces wire it; `cartoon` owns its own sticker lift. */
|
|
71
102
|
specular?: CardSpecular;
|
|
103
|
+
/** BB.W-PRESS-UNIFY — the interactive PRESS register, default **OFF**. A bare
|
|
104
|
+
* Card is a static content PLATE and never presses (a press on a static surface
|
|
105
|
+
* is the visual-load-bearing anti-pattern). A `:pressable` Card is a TAPPABLE
|
|
106
|
+
* LIST-CARD (a selectable result row, a navigable tile) — it gains the ONE
|
|
107
|
+
* interruptible coupled spring-press (`useLiquidPress`): the reciprocal X/Y squish
|
|
108
|
+
* + a sub-perceptual brightness lift on the `--card-press-t` drive, on the
|
|
109
|
+
* `--spring-snappy`-class clock, INTERRUPTIBLE (a rapid re-tap re-seats the spring
|
|
110
|
+
* velocity-continuously), PRM-instant (the press snaps with zero in-between
|
|
111
|
+
* frames). Card is the SECOND binary the dead `useSpringPress` primitive reaches
|
|
112
|
+
* (Button is the first — direct; Card via `useLiquidPress` which composes it — the
|
|
113
|
+
* J-inv-10 ≥2-consumer bar met; the dock control is the booked third). The press is
|
|
114
|
+
* compositor-only (`scale` + a custom property); the `.glass-press` CSS `:active`
|
|
115
|
+
* scale is the no-JS / SSR floor. */
|
|
116
|
+
pressable?: boolean;
|
|
117
|
+
/** BC.W-SELECTION-CARD — the selection decoration axis (the ONE new Atlas
|
|
118
|
+
* component). `selection` ROUTES the per-instance data-hue rim (A-2) +
|
|
119
|
+
* the selected metal-shimmer border (A-3) through the BUILT seams; default
|
|
120
|
+
* UNSET (a bare Card is byte-identical to HEAD). ORTHOGONAL to
|
|
121
|
+
* `tier`/`surface`/`pressable`. */
|
|
122
|
+
variant?: CardVariant;
|
|
123
|
+
/** BC.W-SELECTION-CARD — the chosen state of a `variant="selection"` card.
|
|
124
|
+
* When `true` the card composes the earned `.metal-${metal}-border` swept
|
|
125
|
+
* rim + lifts the accent-strength toward `--selection-accent-strength-selected`
|
|
126
|
+
* (rim-not-fill — the plate stays warm-cream translucent). The consumer wires
|
|
127
|
+
* the matching `aria-selected`/`aria-checked` role contract on the card. */
|
|
128
|
+
selected?: boolean;
|
|
129
|
+
/** BC.W-SELECTION-CARD — the metal of the SELECTED-state swept rim. `gold`
|
|
130
|
+
* (default) is earned for the chosen item; `silver`/`bronze` are the other
|
|
131
|
+
* two BUILT `.metal-*-border` quads. Only read when `variant="selection"` +
|
|
132
|
+
* `selected`. */
|
|
133
|
+
metal?: CardMetal;
|
|
134
|
+
/** BC.W-SELECTION-CARD — the per-instance data hue (a complete `<color>`) a
|
|
135
|
+
* `variant="selection"` card tints its RIM + catch-light glint toward (the
|
|
136
|
+
* A-2 `--glass-accent` consumer). The hue NEVER tints the plate background
|
|
137
|
+
* (the distinct-axis fence); unset → the neutral `transparent` no-op floor. */
|
|
138
|
+
dataHue?: string;
|
|
139
|
+
/** BC.W-SELECTION-CARD — the bounded accent strength override (a `<percentage>`,
|
|
140
|
+
* e.g. `"20%"`). Unset → the calm `--selection-accent-strength` default
|
|
141
|
+
* (≤ the W-GLASS-ACCENT rim ceiling). Bounded — a whisper at the rim, never a
|
|
142
|
+
* flooded plate. */
|
|
143
|
+
dataHueStrength?: string;
|
|
72
144
|
class?: HTMLAttributes["class"];
|
|
73
145
|
}
|
|
74
|
-
declare var
|
|
146
|
+
declare var __VLS_13: {};
|
|
75
147
|
type __VLS_Slots = {} & {
|
|
76
|
-
default?: (props: typeof
|
|
148
|
+
default?: (props: typeof __VLS_13) => any;
|
|
77
149
|
};
|
|
78
150
|
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
79
151
|
shadow: boolean;
|
|
80
|
-
|
|
152
|
+
grid: boolean;
|
|
81
153
|
surface: CardSurface;
|
|
154
|
+
as: import("reka-ui").AsTag | import("vue").Component;
|
|
82
155
|
tier: CardTier;
|
|
83
156
|
grain: boolean;
|
|
84
157
|
specular: CardSpecular;
|
|
158
|
+
pressable: boolean;
|
|
159
|
+
metal: CardMetal;
|
|
85
160
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
86
161
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
87
162
|
declare const _default: typeof __VLS_export;
|
|
@@ -5,30 +5,56 @@ import type { HTMLAttributes } from 'vue';
|
|
|
5
5
|
* AI.W1-α additive `shrink` modifier — when true, the header binds to the
|
|
6
6
|
* `--card-scroll` named scroll-timeline (emitted by the canonical
|
|
7
7
|
* `.card-scroll-host` utility on a scroll-overflow ancestor) and runs a
|
|
8
|
-
* 3-lane choreography as the host scrolls
|
|
8
|
+
* 3-lane choreography as the host scrolls. The 3 lanes are now
|
|
9
|
+
* COMPOSITOR-SAFE (transform/opacity only — BB.W-CARD-COMPOSITE) so ZERO
|
|
10
|
+
* reflow fires per scroll frame (the A'-3 CLS 1.03 worst-cluster killed):
|
|
9
11
|
*
|
|
10
|
-
* 1. Header
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
12
|
+
* 1. Header content compress (0..120px scroll range) — the header content
|
|
13
|
+
* slides up via `transform: translateY` as the host scrolls so the top
|
|
14
|
+
* breathing room visually compresses; the header box keeps its layout
|
|
15
|
+
* size (no padding reflow). The visual gestalt — ~0.5rem of top space
|
|
16
|
+
* collapses — reads identically.
|
|
17
|
+
* 2. Title shrink (0..120px) — `[data-slot="card-title"]` scales DOWN via
|
|
18
|
+
* `transform: scale(--card-title-shrink-ratio)` (origin: leading edge),
|
|
19
|
+
* so the glyph visually shrinks from `--type-heading` to roughly
|
|
20
|
+
* `--type-prose` while the text run lays out ONCE (no per-frame
|
|
21
|
+
* `font-size` text re-measure — the worst reflow lane, killed).
|
|
22
|
+
* 3. Description retire (0..80px, faster fade) —
|
|
23
|
+
* `[data-slot="card-description"]` fades `opacity: 1 → 0` AND collapses
|
|
24
|
+
* `transform: scaleY(1 → 0)` (origin: top) so the slot visually retires
|
|
25
|
+
* upward; the real-estate reclaim is the composited scaleY, NOT a
|
|
26
|
+
* `grid-template-rows` relayout.
|
|
27
|
+
* 4. Header background lift (0..120px — BB.W-SCROLL-CARD) — a `::before`
|
|
28
|
+
* BACKPLATE carrying the `--card-header-bg` tint fades `opacity: 0 → 1`
|
|
29
|
+
* on the same timeline, so a stuck header reads transparent over the
|
|
30
|
+
* body at scroll-top and lifts to the painted tint as it sticks. The
|
|
31
|
+
* opacity channel keeps the lift compositor-safe.
|
|
18
32
|
*
|
|
19
|
-
*
|
|
20
|
-
* (the
|
|
21
|
-
*
|
|
22
|
-
*
|
|
33
|
+
* BB.W-SCROLL-CARD — the two text lanes (2 + 3) re-target via `:slotted()`
|
|
34
|
+
* (the precise Vue scoped-CSS slotted-content selector, the MetricRow.vue
|
|
35
|
+
* idiom) so they MATCH a consumer-SLOTTED <CardTitle>/<CardDescription>; the
|
|
36
|
+
* prior `:deep()` enabler was the W-CARD-COMPOSITE minimal stopgap, replaced
|
|
37
|
+
* here by the precise tool (no descendant-leak sledgehammer).
|
|
38
|
+
*
|
|
39
|
+
* The choreography ORIGINALLY migrated verbatim from value.js's
|
|
40
|
+
* `PaneHeader.vue`, which animated LAYOUT properties (padding/font-size/
|
|
41
|
+
* grid-template-rows/margin) — a per-scroll-frame reflow storm (CLS 1.03,
|
|
42
|
+
* the A'-3 P0 that shipped at 4.0.0). BB.W-CARD-COMPOSITE re-expresses each
|
|
43
|
+
* lane as the compositor-transform equivalent the house already speaks
|
|
44
|
+
* (the `scroll-driven.css` scaleX/translateY/opacity idiom) — the visual
|
|
45
|
+
* choreography is IDENTICAL; only the mechanism changed. The
|
|
46
|
+
* `proof:no-layout-animation` gate makes the layout-property class
|
|
47
|
+
* structurally impossible to re-ship.
|
|
23
48
|
*
|
|
24
49
|
* **Required ancestor**: when `shrink` is true, `.card-scroll-host` MUST
|
|
25
50
|
* sit on the scroll-overflow ancestor (typically the same `<Card>` host's
|
|
26
51
|
* scroll wrapper). Without that host the named timeline never emits and
|
|
27
52
|
* the choreography sits idle. Documented in DESIGN.md `## Card` section.
|
|
28
53
|
*
|
|
29
|
-
* Sticky positioning
|
|
30
|
-
*
|
|
31
|
-
*
|
|
54
|
+
* Sticky positioning stays consumer-side (the consumer adds
|
|
55
|
+
* `class="sticky top-0 backdrop-blur-md"` etc. via `props.class`); the
|
|
56
|
+
* background TINT is now scroll-driven by lane 4 (the `::before` backplate),
|
|
57
|
+
* reading `--card-header-bg` as the canonical tint token.
|
|
32
58
|
*/
|
|
33
59
|
type __VLS_Props = {
|
|
34
60
|
/**
|