@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
|
@@ -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
|
*
|
|
@@ -62,6 +67,15 @@ interface Props extends PrimitiveProps {
|
|
|
62
67
|
/** `::after` paper-grain overlay. Off for scroll panes (the grain conflicts
|
|
63
68
|
* with overflow:auto repaints). */
|
|
64
69
|
grain?: boolean;
|
|
70
|
+
/** BB.W-PAPER-GRID-TEXTURE — the GEOMETRIC paper register: a `::after`
|
|
71
|
+
* blueprint/graph-paper grid felt THROUGH the card interior (the math/grid
|
|
72
|
+
* brand pillar, read through the plate rather than only in the page
|
|
73
|
+
* margin). Default **OFF** — a bare card is byte-identical to HEAD; a
|
|
74
|
+
* document-register card opts in. ORTHOGONAL to `grain` (organic) — a card
|
|
75
|
+
* may carry BOTH the turbulence grain and the geometric grid. The register
|
|
76
|
+
* doctrine (paper-register cards opt in, instrument-glass surfaces do NOT)
|
|
77
|
+
* is a CONSUMER choice the default-OFF honors by construction. */
|
|
78
|
+
grid?: boolean;
|
|
65
79
|
/** Specular catch-light register (AX.W09). `off` (default) keeps the card
|
|
66
80
|
* CLEAN — no pointer-anchored lens, clean over any backplate (the §24
|
|
67
81
|
* three-consumer-confirmed default for a data/content card). `subtle` wakes
|
|
@@ -69,19 +83,35 @@ interface Props extends PrimitiveProps {
|
|
|
69
83
|
* hero/chrome opt-in); `full` runs the brighter pre-tune rung set for a busy
|
|
70
84
|
* backdrop. Only `glass` surfaces wire it; `cartoon` owns its own sticker lift. */
|
|
71
85
|
specular?: CardSpecular;
|
|
86
|
+
/** BB.W-PRESS-UNIFY — the interactive PRESS register, default **OFF**. A bare
|
|
87
|
+
* Card is a static content PLATE and never presses (a press on a static surface
|
|
88
|
+
* is the visual-load-bearing anti-pattern). A `:pressable` Card is a TAPPABLE
|
|
89
|
+
* LIST-CARD (a selectable result row, a navigable tile) — it gains the ONE
|
|
90
|
+
* interruptible coupled spring-press (`useLiquidPress`): the reciprocal X/Y squish
|
|
91
|
+
* + a sub-perceptual brightness lift on the `--card-press-t` drive, on the
|
|
92
|
+
* `--spring-snappy`-class clock, INTERRUPTIBLE (a rapid re-tap re-seats the spring
|
|
93
|
+
* velocity-continuously), PRM-instant (the press snaps with zero in-between
|
|
94
|
+
* frames). Card is the SECOND binary the dead `useSpringPress` primitive reaches
|
|
95
|
+
* (Button is the first — direct; Card via `useLiquidPress` which composes it — the
|
|
96
|
+
* J-inv-10 ≥2-consumer bar met; the dock control is the booked third). The press is
|
|
97
|
+
* compositor-only (`scale` + a custom property); the `.glass-press` CSS `:active`
|
|
98
|
+
* scale is the no-JS / SSR floor. */
|
|
99
|
+
pressable?: boolean;
|
|
72
100
|
class?: HTMLAttributes["class"];
|
|
73
101
|
}
|
|
74
|
-
declare var
|
|
102
|
+
declare var __VLS_13: {};
|
|
75
103
|
type __VLS_Slots = {} & {
|
|
76
|
-
default?: (props: typeof
|
|
104
|
+
default?: (props: typeof __VLS_13) => any;
|
|
77
105
|
};
|
|
78
106
|
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
79
107
|
shadow: boolean;
|
|
108
|
+
grid: boolean;
|
|
109
|
+
surface: CardSurface;
|
|
80
110
|
as: import("reka-ui").AsTag | import("vue").Component;
|
|
81
111
|
tier: CardTier;
|
|
82
|
-
surface: CardSurface;
|
|
83
112
|
grain: boolean;
|
|
84
113
|
specular: CardSpecular;
|
|
114
|
+
pressable: boolean;
|
|
85
115
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
86
116
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
87
117
|
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
|
/**
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "vue";
|
|
2
|
+
import type { CardTier, CardSurface, CardSpecular } from "./Card.vue";
|
|
3
|
+
/** Props for `<ScrollCard>` — the first-class scroll-shrink card. */
|
|
4
|
+
export interface ScrollCardProps {
|
|
5
|
+
/** Card surface tier — forwarded to the inner `<Card>`. Default `resting`. */
|
|
6
|
+
tier?: CardTier;
|
|
7
|
+
/** Surface decoration register — forwarded to `<Card>`. Default `glass`. */
|
|
8
|
+
surface?: CardSurface;
|
|
9
|
+
/** Surface drop shadow — forwarded to `<Card>`. Default `true`. */
|
|
10
|
+
shadow?: boolean;
|
|
11
|
+
/** Specular catch-light — forwarded to `<Card>`. Default `off`. */
|
|
12
|
+
specular?: CardSpecular;
|
|
13
|
+
/** Max scroll-port height. The scroll region needs a bounded height for
|
|
14
|
+
* the `--card-scroll` timeline to have a scroll range. Default `18rem`. */
|
|
15
|
+
maxHeight?: string;
|
|
16
|
+
class?: HTMLAttributes["class"];
|
|
17
|
+
}
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
20
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ScrollCardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ScrollCardProps> & Readonly<{}>, {
|
|
21
|
+
shadow: boolean;
|
|
22
|
+
maxHeight: string;
|
|
23
|
+
surface: CardSurface;
|
|
24
|
+
tier: CardTier;
|
|
25
|
+
specular: CardSpecular;
|
|
26
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
27
|
+
default?: (props: {}) => any;
|
|
28
|
+
}>;
|
|
29
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
30
|
+
new (): {
|
|
31
|
+
$slots: S;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "vue";
|
|
2
|
+
/** Props for `<ScrollCardHeader>` — the larger-header-items scroll-shrink header. */
|
|
3
|
+
export interface ScrollCardHeaderProps {
|
|
4
|
+
/** A consumer that wants the header NOT pinned passes `:sticky="false"`. */
|
|
5
|
+
sticky?: boolean;
|
|
6
|
+
class?: HTMLAttributes["class"];
|
|
7
|
+
}
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ScrollCardHeaderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ScrollCardHeaderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
11
|
+
default?: (props: {}) => any;
|
|
12
|
+
}>;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { default as Card, type CardTier, type CardSurface, type CardSpecular, } from "./Card.vue";
|
|
2
2
|
export { default as CardHeader } from "./CardHeader.vue";
|
|
3
|
+
export { default as ScrollCard, type ScrollCardProps } from "./ScrollCard.vue";
|
|
4
|
+
export { default as ScrollCardHeader, type ScrollCardHeaderProps, } from "./ScrollCardHeader.vue";
|
|
3
5
|
export { default as CardTitle } from "./CardTitle.vue";
|
|
4
6
|
export { default as CardDescription } from "./CardDescription.vue";
|
|
5
7
|
export { default as CardContent } from "./CardContent.vue";
|
|
@@ -9,8 +9,8 @@ type __VLS_Slots = {} & {
|
|
|
9
9
|
default?: (props: typeof __VLS_10) => any;
|
|
10
10
|
};
|
|
11
11
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
12
|
-
size: "default" | "
|
|
13
|
-
variant: "link" | "default" | "solid" | "primary-audacious" | "gold-audacious" | "destructive" | "
|
|
12
|
+
size: "default" | "icon" | "xs" | "sm" | "lg" | "icon-sm" | null;
|
|
13
|
+
variant: "link" | "default" | "glass" | "outline" | "solid" | "primary-audacious" | "gold-audacious" | "destructive" | "secondary" | "accent" | "ghost" | "glass-wash" | "ai" | null;
|
|
14
14
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
15
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
16
16
|
declare const _default: typeof __VLS_export;
|
|
@@ -9,8 +9,8 @@ type __VLS_Slots = {} & {
|
|
|
9
9
|
default?: (props: typeof __VLS_10) => any;
|
|
10
10
|
};
|
|
11
11
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
12
|
-
size: "default" | "
|
|
13
|
-
variant: "link" | "default" | "solid" | "primary-audacious" | "gold-audacious" | "destructive" | "
|
|
12
|
+
size: "default" | "icon" | "xs" | "sm" | "lg" | "icon-sm" | null;
|
|
13
|
+
variant: "link" | "default" | "glass" | "outline" | "solid" | "primary-audacious" | "gold-audacious" | "destructive" | "secondary" | "accent" | "ghost" | "glass-wash" | "ai" | null;
|
|
14
14
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
15
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
16
16
|
declare const _default: typeof __VLS_export;
|
|
@@ -29,12 +29,12 @@ type __VLS_Slots = {} & {
|
|
|
29
29
|
};
|
|
30
30
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
31
31
|
select: (index: number) => any;
|
|
32
|
-
prev: () => any;
|
|
33
32
|
next: () => any;
|
|
33
|
+
prev: () => any;
|
|
34
34
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
35
35
|
onSelect?: ((index: number) => any) | undefined;
|
|
36
|
-
onPrev?: (() => any) | undefined;
|
|
37
36
|
onNext?: (() => any) | undefined;
|
|
37
|
+
onPrev?: (() => any) | undefined;
|
|
38
38
|
}>, {
|
|
39
39
|
loop: boolean;
|
|
40
40
|
orientation: "horizontal" | "vertical";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { default as Carousel } from './Carousel.vue';
|
|
2
2
|
export { default as CarouselContent } from './CarouselContent.vue';
|
|
3
|
-
export { default as CarouselDots } from './CarouselDots.vue';
|
|
4
3
|
export { default as CarouselItem } from './CarouselItem.vue';
|
|
5
4
|
export { default as CarouselNext } from './CarouselNext.vue';
|
|
6
5
|
export { default as CarouselPager } from './CarouselPager.vue';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type HTMLAttributes } from 'vue';
|
|
2
2
|
import type { ComboboxRootProps } from 'reka-ui';
|
|
3
|
+
import { type Surface } from '../_shared/useSurfaceAxis';
|
|
3
4
|
type __VLS_Props = ComboboxRootProps & {
|
|
4
5
|
class?: HTMLAttributes['class'];
|
|
6
|
+
surface?: Surface;
|
|
5
7
|
};
|
|
6
8
|
declare var __VLS_8: {};
|
|
7
9
|
type __VLS_Slots = {} & {
|
|
@@ -22,8 +24,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
22
24
|
} | undefined) => any) | undefined;
|
|
23
25
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
24
26
|
}>, {
|
|
25
|
-
modelValue: import("reka-ui").AcceptableValue | import("reka-ui").AcceptableValue[];
|
|
26
27
|
open: boolean;
|
|
28
|
+
surface: Surface;
|
|
29
|
+
modelValue: import("reka-ui").AcceptableValue | import("reka-ui").AcceptableValue[];
|
|
27
30
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
31
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
29
32
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { type HTMLAttributes } from 'vue';
|
|
2
2
|
import { type DialogContentProps } from 'reka-ui';
|
|
3
3
|
import { type SpringPreset } from '../../../composables/motion/useSpringMount';
|
|
4
|
+
import { type Surface } from '../_shared/useSurfaceAxis';
|
|
4
5
|
type __VLS_Props = DialogContentProps & {
|
|
5
6
|
class?: HTMLAttributes['class'];
|
|
6
|
-
/**
|
|
7
|
-
|
|
7
|
+
/** Surface decoration register (BA.W-SURFACE-AXIS) — the SHARED
|
|
8
|
+
* {glass·veil·opaque} axis. `glass` (translucent blur, default) renders the
|
|
9
|
+
* floating glass tier; `veil` overlays the borderless/rimless text-legibility
|
|
10
|
+
* plate; `opaque` sets `--glass-level:0` (the solid-card escape). Replaces the
|
|
11
|
+
* retired binary `variant: glass|opaque` (clean break). */
|
|
12
|
+
surface?: Surface;
|
|
8
13
|
/**
|
|
9
14
|
* Optional CSS `animation` shorthand forwarded to the portaled scrim
|
|
10
15
|
* via the `--scrim-animation` typed cascade variable. reka-ui's
|
|
@@ -66,7 +71,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
66
71
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
67
72
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
68
73
|
}>, {
|
|
69
|
-
|
|
74
|
+
surface: Surface;
|
|
70
75
|
showClose: boolean;
|
|
71
76
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
72
77
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,48 +1,61 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { DrawerMode } from './index';
|
|
1
|
+
import type { DrawerDirection, DrawerMode } from './index';
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* default `snapPoints: [0.12, 0.5, 1]` detent ladder. Every prop the mode sets
|
|
10
|
-
* is still overridable by an explicit prop — `mode` only supplies defaults.
|
|
3
|
+
* BB.W-DRAWER-ABROGATE — the Drawer root on the HOUSE reka `DialogRoot` substrate
|
|
4
|
+
* (the SAME shape `Dialog.vue` binds). vaul-vue is gone: reka owns the open-control,
|
|
5
|
+
* the portal, the focus management (trap when `modal`, free when `live-behind`) and
|
|
6
|
+
* the scrim; the house `useDrawerSnap` engine (provided here, bound in DrawerContent)
|
|
7
|
+
* owns the snap math vaul used to own.
|
|
11
8
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
9
|
+
* `mode` — additive shorthand (AN.W3). `"modal"` (default) keeps the iOS scale-down
|
|
10
|
+
* look: `modal: true` (reka focus-traps + page-occludes). `"live-behind"` is the
|
|
11
|
+
* non-modal peek/half/full bottom sheet — `modal: false` (no focus trap, no page
|
|
12
|
+
* `aria-hidden`, page-behind stays interactive — reka delivers this natively),
|
|
13
|
+
* `shouldScaleBackground: false`, and the direction-derived snap ladder. Every prop
|
|
14
|
+
* the mode sets is still overridable by an explicit prop — `mode` only supplies
|
|
15
|
+
* defaults.
|
|
16
|
+
*
|
|
17
|
+
* The snap props (`snapPoints`/`activeSnapPoint`/`direction`/`shouldScaleBackground`)
|
|
18
|
+
* are HOUSE props now (they were vaul's `DrawerRootProps` surface — preserved by
|
|
19
|
+
* shape so the consumer binding is byte-identical, but resolved by the house engine,
|
|
20
|
+
* not forwarded to reka, which knows only `open`/`defaultOpen`/`modal`).
|
|
18
21
|
*/
|
|
19
|
-
type __VLS_Props =
|
|
22
|
+
type __VLS_Props = {
|
|
23
|
+
/** The controlled open state (`v-model:open`). */
|
|
24
|
+
open?: boolean;
|
|
25
|
+
/** Initial open state for the uncontrolled case. */
|
|
26
|
+
defaultOpen?: boolean;
|
|
27
|
+
/** reka modality — defaulted by `mode`; an explicit value overrides. */
|
|
28
|
+
modal?: boolean;
|
|
29
|
+
/** Presentation mode shorthand. */
|
|
20
30
|
mode?: DrawerMode;
|
|
31
|
+
/** The detent ladder (fractions 0..1). When omitted, resolved from `direction` (BB-2). */
|
|
32
|
+
snapPoints?: (number | string)[];
|
|
33
|
+
/** The active detent fraction (`v-model:active-snap-point`). */
|
|
34
|
+
activeSnapPoint?: number | string | null;
|
|
35
|
+
/** Drag/slide axis (BB-2 default-ladder source). */
|
|
36
|
+
direction?: DrawerDirection;
|
|
37
|
+
/** iOS page scale-down on open (the modal look). Defaulted by `mode`. */
|
|
38
|
+
shouldScaleBackground?: boolean;
|
|
21
39
|
};
|
|
22
|
-
declare var
|
|
40
|
+
declare var __VLS_10: {};
|
|
23
41
|
type __VLS_Slots = {} & {
|
|
24
|
-
default?: (props: typeof
|
|
42
|
+
default?: (props: typeof __VLS_10) => any;
|
|
25
43
|
};
|
|
26
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
27
|
-
"update:open": (
|
|
28
|
-
|
|
29
|
-
drag: (percentageDragged: number) => any;
|
|
30
|
-
animationEnd: (open: boolean) => any;
|
|
31
|
-
release: (open: boolean) => any;
|
|
32
|
-
"update:activeSnapPoint": (val: string | number) => any;
|
|
44
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
45
|
+
"update:open": (value: boolean) => any;
|
|
46
|
+
"update:activeSnapPoint": (value: string | number | null) => any;
|
|
33
47
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
34
|
-
"onUpdate:open"?: ((
|
|
35
|
-
|
|
36
|
-
onDrag?: ((percentageDragged: number) => any) | undefined;
|
|
37
|
-
onAnimationEnd?: ((open: boolean) => any) | undefined;
|
|
38
|
-
onRelease?: ((open: boolean) => any) | undefined;
|
|
39
|
-
"onUpdate:activeSnapPoint"?: ((val: string | number) => any) | undefined;
|
|
48
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
49
|
+
"onUpdate:activeSnapPoint"?: ((value: string | number | null) => any) | undefined;
|
|
40
50
|
}>, {
|
|
41
|
-
|
|
51
|
+
direction: DrawerDirection;
|
|
42
52
|
open: boolean;
|
|
53
|
+
mode: DrawerMode;
|
|
54
|
+
defaultOpen: boolean;
|
|
43
55
|
modal: boolean;
|
|
44
|
-
shouldScaleBackground: boolean;
|
|
45
56
|
snapPoints: (number | string)[];
|
|
57
|
+
activeSnapPoint: number | string | null;
|
|
58
|
+
shouldScaleBackground: boolean;
|
|
46
59
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
47
60
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
48
61
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import { type HtmlHTMLAttributes } from 'vue';
|
|
2
|
+
import { type DialogContentProps } from 'reka-ui';
|
|
3
|
+
import { type Surface } from '../_shared/useSurfaceAxis';
|
|
3
4
|
/**
|
|
4
|
-
* `showOverlay` — render the scrim (AN.W3). Defaults `true` for the modal
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* is opt-out at the content level.
|
|
5
|
+
* `showOverlay` — render the scrim (AN.W3). Defaults `true` for the modal sheet. The
|
|
6
|
+
* live-behind pattern (`<Drawer mode="live-behind">`) passes `:show-overlay="false"`
|
|
7
|
+
* so the page-behind stays visible AND interactive; reka's `:modal="false"` already
|
|
8
|
+
* drops outside-pointer-capture + the focus trap, but a painted scrim would still
|
|
9
|
+
* visually occlude the live surface, so the overlay is opt-out at the content level.
|
|
10
10
|
*/
|
|
11
11
|
type __VLS_Props = DialogContentProps & {
|
|
12
12
|
class?: HtmlHTMLAttributes['class'];
|
|
13
13
|
showOverlay?: boolean;
|
|
14
|
+
/** Surface decoration register (BA.W-SURFACE-AXIS) — the SHARED
|
|
15
|
+
* {glass·veil·opaque} axis on top of the `.glass-drawer` recipe. */
|
|
16
|
+
surface?: Surface;
|
|
14
17
|
};
|
|
15
18
|
declare var __VLS_19: {};
|
|
16
19
|
type __VLS_Slots = {} & {
|
|
@@ -31,6 +34,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
31
34
|
onOpenAutoFocus?: ((event: Event) => any) | undefined;
|
|
32
35
|
onCloseAutoFocus?: ((event: Event) => any) | undefined;
|
|
33
36
|
}>, {
|
|
37
|
+
surface: Surface;
|
|
34
38
|
showOverlay: boolean;
|
|
35
39
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
36
40
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DialogDescriptionProps } from 'reka-ui';
|
|
2
2
|
import { type HtmlHTMLAttributes } from 'vue';
|
|
3
|
-
type __VLS_Props =
|
|
3
|
+
type __VLS_Props = DialogDescriptionProps & {
|
|
4
4
|
class?: HtmlHTMLAttributes['class'];
|
|
5
5
|
};
|
|
6
6
|
declare var __VLS_8: {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DialogTitleProps } from 'reka-ui';
|
|
2
2
|
import { type HtmlHTMLAttributes } from 'vue';
|
|
3
|
-
type __VLS_Props =
|
|
3
|
+
type __VLS_Props = DialogTitleProps & {
|
|
4
4
|
class?: HtmlHTMLAttributes['class'];
|
|
5
5
|
};
|
|
6
6
|
declare var __VLS_8: {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Ref } from "vue";
|
|
2
|
+
import type { DrawerDirection } from "../index";
|
|
3
|
+
/**
|
|
4
|
+
* The snap seam the root provides + the content consumes. The root resolves the
|
|
5
|
+
* effective ladder (consumer `snapPoints` ?? the direction-derived default) + the
|
|
6
|
+
* direction; the content binds the drag gesture against it. The read-only refs
|
|
7
|
+
* (`snapPoints`/`direction`) are root-derived computeds; `open`/`activeSnapPoint`
|
|
8
|
+
* are writable so the engine round-trips the open-control + the snap-fraction.
|
|
9
|
+
*/
|
|
10
|
+
export interface DrawerSnapContext {
|
|
11
|
+
/** The drawer's open state (mirrors the reka root's `v-model:open`). */
|
|
12
|
+
open: Ref<boolean>;
|
|
13
|
+
/** The resolved detent ladder (fractions 0..1; empty = full-slide side-lens). */
|
|
14
|
+
snapPoints: Readonly<Ref<readonly number[]>>;
|
|
15
|
+
/** The drag/slide axis. */
|
|
16
|
+
direction: Readonly<Ref<DrawerDirection>>;
|
|
17
|
+
/** The live active detent fraction (the `v-model:active-snap-point` writeback). */
|
|
18
|
+
activeSnapPoint: Ref<number | string | null>;
|
|
19
|
+
}
|
|
20
|
+
export declare const DRAWER_SNAP_KEY: import("vue").InjectionKey<DrawerSnapContext>;
|
|
21
|
+
export declare function provideDrawerSnapContext(context: DrawerSnapContext): void;
|
|
22
|
+
/**
|
|
23
|
+
* Befitting-silent — returns `null` for a `<DrawerContent>` rendered outside a
|
|
24
|
+
* `<Drawer>` (a misuse the optional context renders bare for, rather than throwing).
|
|
25
|
+
*/
|
|
26
|
+
export declare const useOptionalDrawerSnapContext: () => DrawerSnapContext | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import type { DrawerSnapContext } from "./drawerSnapContext";
|
|
3
|
+
export interface UseDrawerSnapOptions {
|
|
4
|
+
/** The content sheet element (the `--glass-drawer-t` host + the drag bound box). */
|
|
5
|
+
contentEl: Ref<HTMLElement | null>;
|
|
6
|
+
/** The handle element (the grip the user drags to cycle detents). */
|
|
7
|
+
handleEl: Ref<HTMLElement | null>;
|
|
8
|
+
/** The provided snap seam (the ladder, open ref, direction, snap-fraction writeback). */
|
|
9
|
+
ctx: DrawerSnapContext;
|
|
10
|
+
}
|
|
11
|
+
export interface UseDrawerSnapReturn {
|
|
12
|
+
/** Whether a pointer drag is in flight (drives the grip's "live" affordance). */
|
|
13
|
+
dragging: Ref<boolean>;
|
|
14
|
+
/** Programmatically settle to a detent fraction (the open-sheet re-snap seam). */
|
|
15
|
+
snapTo(fraction: number): void;
|
|
16
|
+
}
|
|
17
|
+
export declare function useDrawerSnap(options: UseDrawerSnapOptions): UseDrawerSnapReturn;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { DrawerDirection } from "./index";
|
|
2
|
+
/**
|
|
3
|
+
* The ONE drawer-snap spring authority — the sheet-settle (response, ζ) register the
|
|
4
|
+
* house `SpringProgress` snap engine (`useDrawerSnap.ts`) drives `--glass-drawer-t`
|
|
5
|
+
* off. This is the drawer's OWN settle clock — NOT a re-use of the dock's
|
|
6
|
+
* `DOCK_SPRING` morph-settle (the per-spring-clock §6 doctrine: each register is its
|
|
7
|
+
* own clock; a sheet that flings up to a detent settles slower + with a touch more
|
|
8
|
+
* give than the dock's crisp 0.32/0.7 box-morph). Co-located here so the pair is
|
|
9
|
+
* defined ONCE rather than at the top of the composable.
|
|
10
|
+
*
|
|
11
|
+
* `response 0.4` — the angular period (≈ the swing time); a hair looser than the
|
|
12
|
+
* dock so the sheet reads as a heavier surface settling. `dampingFraction 0.82` —
|
|
13
|
+
* the iOS "smooth" register: sub-perceptual overshoot (a settled sheet, not a
|
|
14
|
+
* bouncing one) while staying alive on a flung release.
|
|
15
|
+
*/
|
|
16
|
+
export declare const DRAWER_SNAP: {
|
|
17
|
+
readonly response: 0.4;
|
|
18
|
+
readonly dampingFraction: 0.82;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* BB-2 (the direction-aware default snap ladder fold) — the peek/half/full detent
|
|
22
|
+
* ladder a bottom/top sheet resolves when the consumer passes no `snapPoints`. The
|
|
23
|
+
* value (12% peek · 50% half · 100% full) is the `DEFAULT_LIVE_SNAP_POINTS` shape
|
|
24
|
+
* the prior vaul wrapper hardcoded, re-homed into the engine as the bottom/top
|
|
25
|
+
* default. A side-lens (left/right) sheet resolves a FULL-SLIDE instead (no detents)
|
|
26
|
+
* — `resolveDefaultSnapPoints` returns `[]` for the side axis.
|
|
27
|
+
*/
|
|
28
|
+
export declare const BOTTOM_SHEET_LADDER: readonly number[];
|
|
29
|
+
/**
|
|
30
|
+
* BB-2 — resolve the DEFAULT snap ladder from `direction` natively (retiring the
|
|
31
|
+
* Atlas `:snap-points="[]"` workaround). A bottom/top sheet gets the peek/half/full
|
|
32
|
+
* ladder; a left/right side-lens gets a full-slide (no detents — an empty ladder, so
|
|
33
|
+
* `useDrawerSnap` treats it as a single open/closed slide). A consumer-supplied
|
|
34
|
+
* `snapPoints` always wins over this default.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveDefaultSnapPoints(direction: DrawerDirection): readonly number[];
|
|
37
|
+
/**
|
|
38
|
+
* The drag-release velocity threshold (px/s). A flung drag whose release velocity
|
|
39
|
+
* exceeds this advances a detent in the drag direction (the `useDockState`-style
|
|
40
|
+
* velocity-aware decision); a slow release below it snaps to the NEAREST detent. The
|
|
41
|
+
* sign of the velocity selects the direction (toward-open vs toward-closed).
|
|
42
|
+
*/
|
|
43
|
+
export declare const DRAWER_FLING_VELOCITY = 450;
|
|
44
|
+
/** `Symbol()` label for the `DrawerSnapContext` injection key (`drawerSnapContext.ts`). */
|
|
45
|
+
export declare const DRAWER_SNAP_LABEL = "glass-ui:drawer-snap-context";
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
export { DrawerPortal, DrawerTrigger, DrawerClose } from
|
|
1
|
+
export { DialogPortal as DrawerPortal, DialogTrigger as DrawerTrigger, DialogClose as DrawerClose, } from "reka-ui";
|
|
2
2
|
/**
|
|
3
|
-
* Drawer
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* defaults. Explicit props still override the mode's defaults.
|
|
3
|
+
* Drawer drag/slide direction (BB.W-DRAWER-ABROGATE). `bottom` (default) + `top`
|
|
4
|
+
* are the peek/half/full bottom-sheet axes; `left`/`right` are the side-lens
|
|
5
|
+
* full-slide axes. The house snap engine (`useDrawerSnap`) resolves the default
|
|
6
|
+
* detent ladder FROM this (BB-2): bottom/top → `[0.12, 0.5, 1]`, left/right →
|
|
7
|
+
* a full-slide (no detents).
|
|
9
8
|
*/
|
|
10
|
-
export type
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
export type DrawerDirection = "top" | "bottom" | "left" | "right";
|
|
10
|
+
/**
|
|
11
|
+
* Drawer presentation mode (AN.W3). `"modal"` is the default iOS scale-down sheet —
|
|
12
|
+
* focus-trapped (reka `:modal="true"`), page-behind scaled. `"live-behind"` is the
|
|
13
|
+
* non-modal peek/half/full bottom sheet — reka `:modal="false"` (no focus trap, no
|
|
14
|
+
* page `aria-hidden`, page-behind at native size + interactive) — bundling the
|
|
15
|
+
* `modal:false` + `shouldScaleBackground:false` + the direction-derived snap ladder.
|
|
16
|
+
* Explicit props still override the mode's defaults.
|
|
17
|
+
*/
|
|
18
|
+
export type DrawerMode = "modal" | "live-behind";
|
|
19
|
+
export { default as Drawer } from "./Drawer.vue";
|
|
20
|
+
export { default as DrawerOverlay } from "./DrawerOverlay.vue";
|
|
21
|
+
export { default as DrawerContent } from "./DrawerContent.vue";
|
|
22
|
+
export { default as DrawerHeader } from "./DrawerHeader.vue";
|
|
23
|
+
export { default as DrawerFooter } from "./DrawerFooter.vue";
|
|
24
|
+
export { default as DrawerTitle } from "./DrawerTitle.vue";
|
|
25
|
+
export { default as DrawerDescription } from "./DrawerDescription.vue";
|