@mkbabb/glass-ui 7.0.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/DialogContent-4hzLiaCQ.js +152 -0
- package/dist/DotRing-Blh4Mc3Q.js +27 -0
- package/dist/{DropdownMenuTrigger-ClIq8RJE.js → DropdownMenuTrigger-8UZsBtZ8.js} +5 -5
- package/dist/Surface-i1tWC-Ga.js +48 -0
- package/dist/aurora.d.ts +1 -1
- package/dist/aurora.js +219 -209
- package/dist/axes.d.ts +1 -1
- package/dist/axes.js +1 -22
- package/dist/badge-owUOaaba.js +63 -0
- package/dist/badge.d.ts +1 -1
- package/dist/badge.js +2 -2
- package/dist/blob-config.d.ts +1 -1
- package/dist/blob.d.ts +1 -1
- package/dist/blob.js +5 -5
- package/dist/button-yvGPb0Bx.js +110 -0
- package/dist/button.d.ts +1 -1
- package/dist/button.js +1 -1
- package/dist/canvas.d.ts +1 -1
- package/dist/canvas.js +2 -2
- package/dist/{card-Bk96VI2R.js → card-3HFFpC7_.js} +51 -95
- package/dist/card.d.ts +1 -1
- package/dist/card.js +2 -2
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +187 -175
- package/dist/checkbox-BnXuGgJ3.js +64 -0
- package/dist/checkbox.d.ts +1 -0
- package/dist/checkbox.js +2 -0
- package/dist/chip.d.ts +1 -1
- package/dist/chip.js +129 -2
- package/dist/{class-names-Cpy5eaBk.js → class-names-q-UGOkHH.js} +15 -1
- package/dist/{collapsible-BAP95XTt.js → collapsible-B7O6m-Ch.js} +2 -2
- package/dist/collapsible.d.ts +1 -1
- package/dist/collapsible.js +1 -1
- package/dist/color.d.ts +1 -1
- package/dist/color.js +18 -18
- package/dist/{color.wgsl-Ct5o9dpf.js → color.wgsl-B0N3mKMb.js} +168 -167
- package/dist/command-BuBnYpxF.js +340 -0
- package/dist/command.d.ts +1 -1
- package/dist/command.js +1 -1
- package/dist/component-styles.css +4 -0
- package/dist/components/_shared/axes.d.ts +4 -1
- package/dist/components/_shared/class-names.d.ts +1 -1
- package/dist/components/_shared/control.d.ts +11 -0
- package/dist/components/_shared/feedback/DotRing.vue.d.ts +3 -0
- package/dist/components/_shared/feedback/dot-ring.css +1 -0
- package/dist/components/_shared/feedback/feedback-tone.css +1 -0
- package/dist/components/_shared/{fieldControl.d.ts → field/control.d.ts} +1 -1
- package/dist/components/_shared/focus.d.ts +11 -0
- package/dist/components/_shared/index.d.ts +2 -2
- package/dist/components/_shared/interaction.d.ts +1 -1
- package/dist/components/_shared/menu/menu.css +1 -0
- package/dist/components/_shared/menu/rowClass.d.ts +2 -0
- package/dist/components/_shared/overlay/content.d.ts +40 -0
- package/dist/components/_shared/overlay/index.d.ts +12 -0
- package/dist/components/{dock/composables → _shared/overlay}/isTeleportedTarget.d.ts +5 -0
- package/dist/components/_shared/overlay/participation.d.ts +66 -0
- package/dist/components/_shared/overlay/placement.d.ts +22 -0
- package/dist/components/_shared/selection.d.ts +39 -0
- package/dist/components/_shared/surface/resolve.d.ts +17 -0
- package/dist/components/_shared/useMotionAxis.d.ts +1 -7
- package/dist/components/accordion/Accordion.vue.d.ts +1 -1
- package/dist/components/accordion/index.d.ts +4 -4
- package/dist/components/alert/Alert.vue.d.ts +1 -1
- package/dist/components/alert/AlertDescription.vue.d.ts +2 -2
- package/dist/components/alert/AlertTitle.vue.d.ts +2 -2
- package/dist/components/alert/index.d.ts +9 -9
- package/dist/components/aurora/Aurora.vue.d.ts +4 -4
- package/dist/components/aurora/composables/atoms-fields.d.ts +1 -1
- package/dist/components/aurora/composables/atoms.d.ts +3 -3
- package/dist/components/aurora/composables/auroraFallbackGround.d.ts +1 -1
- package/dist/components/aurora/composables/auroraImageSource.d.ts +2 -2
- package/dist/components/aurora/composables/color.d.ts +3 -4
- package/dist/components/aurora/composables/frameLoop.d.ts +4 -4
- package/dist/components/aurora/composables/glSetup.d.ts +5 -10
- package/dist/components/aurora/composables/runtime.d.ts +2 -2
- package/dist/{composables/glass → components/aurora/composables}/textureUpload.d.ts +0 -13
- package/dist/components/aurora/composables/uniformBridge.d.ts +3 -20
- package/dist/components/aurora/composables/uniformBridgeWGPU.d.ts +2 -2
- package/dist/components/aurora/composables/uniformBridgeWGPUImage.d.ts +2 -2
- package/dist/components/aurora/composables/useAurora.d.ts +4 -4
- package/dist/components/aurora/composables/useCursorInteraction.d.ts +2 -2
- package/dist/components/aurora/composables/wgpuSetup.d.ts +5 -5
- package/dist/components/aurora/constants/budget.d.ts +0 -36
- package/dist/components/aurora/constants/presets.d.ts +2 -2
- package/dist/components/aurora/constants/shaders/aurora-image.frag.d.ts +0 -2
- package/dist/components/aurora/constants/shaders/aurora-image.wgsl.d.ts +0 -2
- package/dist/components/aurora/index.d.ts +15 -14
- package/dist/components/avatar/AvatarImage.vue.d.ts +1 -6
- package/dist/components/avatar/index.d.ts +3 -3
- package/dist/components/badge/Badge.vue.d.ts +2 -9
- package/dist/components/badge/index.d.ts +12 -11
- package/dist/components/blob/Blob.vue.d.ts +4 -4
- package/dist/components/blob/composables/blobSimulation.d.ts +5 -5
- package/dist/components/blob/composables/buildMetaballProgram.d.ts +1 -1
- package/dist/components/blob/composables/resolveBlobSurface.d.ts +1 -1
- package/dist/components/blob/composables/satelliteKinematics.d.ts +1 -1
- package/dist/components/blob/composables/uniformBridgeWGPU.d.ts +4 -4
- package/dist/components/blob/composables/uploadBlobUniforms.d.ts +5 -5
- package/dist/components/blob/composables/useBlobMood.d.ts +1 -1
- package/dist/components/blob/composables/useBlobPointer.d.ts +0 -3
- package/dist/components/blob/composables/useBlobSatellites.d.ts +1 -1
- package/dist/components/blob/composables/useMetaballRenderer.d.ts +6 -6
- package/dist/components/blob/composables/wgpuSetup.d.ts +5 -5
- package/dist/components/blob/config.d.ts +3 -3
- package/dist/components/blob/constants.d.ts +1 -3
- package/dist/components/blob/index.d.ts +8 -8
- package/dist/components/blob/presets.d.ts +1 -1
- package/dist/components/button/Button.vue.d.ts +15 -9
- package/dist/components/button/index.d.ts +1 -1
- package/dist/components/button/styles.css +1 -1
- package/dist/components/card/Card.vue.d.ts +20 -23
- package/dist/components/card/CardHeader.vue.d.ts +8 -1
- package/dist/components/card/index.d.ts +6 -7
- package/dist/components/card/scroll.css +1 -0
- package/dist/components/card/styles.css +1 -1
- package/dist/components/carousel/Carousel.vue.d.ts +14 -19
- package/dist/components/carousel/CarouselContent.vue.d.ts +2 -12
- package/dist/components/carousel/CarouselItem.vue.d.ts +14 -3
- package/dist/components/carousel/CarouselPager.vue.d.ts +2 -2
- package/dist/components/carousel/index.d.ts +7 -6
- package/dist/components/carousel/projection.d.ts +23 -0
- package/dist/components/carousel/styles.css +1 -0
- package/dist/components/carousel/types.d.ts +47 -0
- package/dist/components/carousel/useCarousel.d.ts +4 -21
- package/dist/components/checkbox/Checkbox.vue.d.ts +6 -6
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/chip/Chip.vue.d.ts +2 -2
- package/dist/components/chip/accent-tone.css +1 -0
- package/dist/components/chip/chipVariants.d.ts +1 -1
- package/dist/components/chip/index.d.ts +3 -3
- package/dist/components/chip/types.d.ts +2 -2
- package/dist/components/collapsible/CollapsibleTrigger.vue.d.ts +1 -1
- package/dist/components/collapsible/index.d.ts +3 -3
- package/dist/components/command/Command.vue.d.ts +5 -3
- package/dist/components/command/CommandDialog.vue.d.ts +9 -5
- package/dist/components/command/CommandEmpty.vue.d.ts +1 -1
- package/dist/components/command/CommandGroup.vue.d.ts +1 -1
- package/dist/components/command/CommandInput.vue.d.ts +1 -1
- package/dist/components/command/CommandItem.vue.d.ts +3 -3
- package/dist/components/command/CommandList.vue.d.ts +8 -8
- package/dist/components/command/CommandSeparator.vue.d.ts +1 -1
- package/dist/components/command/index.d.ts +11 -10
- package/dist/components/command/types.d.ts +8 -3
- package/dist/components/configurator/Configurator.vue.d.ts +1 -1
- package/dist/components/configurator/ConfiguratorRow.vue.d.ts +1 -1
- package/dist/components/configurator/index.d.ts +6 -6
- package/dist/components/configurator/styles.css +1 -1
- package/dist/components/configurator/useConfiguratorState.d.ts +1 -1
- package/dist/components/constellation/Constellation.vue.d.ts +3 -5
- package/dist/components/constellation/composables/createConstellationField.d.ts +1 -1
- package/dist/components/constellation/composables/useConstellation.d.ts +2 -2
- package/dist/components/constellation/constants.d.ts +1 -1
- package/dist/components/constellation/constellationField.d.ts +3 -4
- package/dist/components/constellation/constellationInteraction.d.ts +1 -5
- package/dist/components/constellation/constellationRender.d.ts +1 -3
- package/dist/components/constellation/constellationTypes.d.ts +0 -11
- package/dist/components/constellation/constellationWell.d.ts +1 -1
- package/dist/components/constellation/index.d.ts +8 -6
- package/dist/components/dark-mode-toggle/dark-mode-toggle.css +1 -1
- package/dist/components/dark-mode-toggle/index.d.ts +2 -2
- package/dist/components/data-table/DataTable.vue.d.ts +1 -1
- package/dist/components/data-table/composables/useDataTableResponsive.d.ts +1 -1
- package/dist/components/data-table/index.d.ts +2 -2
- package/dist/components/{number-field/NumberFieldContent.vue.d.ts → deck/DeckSlide.vue.d.ts} +12 -1
- package/dist/components/deck/DeckStage.vue.d.ts +36 -0
- package/dist/components/deck/composables/useDeck.d.ts +35 -10
- package/dist/components/deck/composables/useDeckCapture.d.ts +26 -0
- package/dist/components/deck/composables/useDeckHashSync.d.ts +8 -0
- package/dist/components/deck/composables/useDeckKeyboard.d.ts +16 -8
- package/dist/components/deck/composables/useDeckSnap.d.ts +20 -0
- package/dist/components/deck/composables/useDeckSwipe.d.ts +13 -0
- package/dist/components/deck/composables/useEdgeZones.d.ts +14 -0
- package/dist/components/deck/constants.d.ts +0 -3
- package/dist/components/deck/index.d.ts +22 -6
- package/dist/components/deck/slideContext.d.ts +21 -0
- package/dist/components/deck/styles/capture.css +1 -0
- package/dist/components/deck/styles/index.css +1 -0
- package/dist/components/deck/styles/reveal.css +1 -0
- package/dist/components/deck/styles/stage.css +1 -0
- package/dist/components/deck/styles/turn.css +1 -0
- package/dist/components/deck/types.d.ts +26 -0
- package/dist/components/deck/window.d.ts +27 -0
- package/dist/components/dialog/Dialog.vue.d.ts +13 -0
- package/dist/components/dialog/DialogContent.vue.d.ts +23 -27
- package/dist/components/dialog/DialogFooter.vue.d.ts +2 -2
- package/dist/components/dialog/DialogHeader.vue.d.ts +2 -2
- package/dist/components/dialog/ModalOverlay.vue.d.ts +44 -23
- package/dist/components/dialog/index.d.ts +7 -8
- package/dist/components/dialog/styles.css +1 -0
- package/dist/components/dock/DockControl.vue.d.ts +8 -4
- package/dist/components/dock/DockCrossfade.vue.d.ts +3 -3
- package/dist/components/dock/DockLayer.vue.d.ts +1 -1
- package/dist/components/dock/DockLayerGroup.vue.d.ts +13 -13
- package/dist/components/dock/DockSeparator.vue.d.ts +23 -18
- package/dist/components/dock/GlassDock.vue.d.ts +4 -4
- package/dist/components/dock/composables/dockContext.d.ts +29 -5
- package/dist/components/dock/composables/dockCrossfadeContext.d.ts +5 -5
- package/dist/components/dock/composables/dockMorphMeasure.d.ts +0 -1
- package/dist/components/dock/composables/dockSwitcherContext.d.ts +29 -0
- package/dist/components/dock/composables/index.d.ts +10 -10
- package/dist/components/dock/composables/useDockHold.d.ts +21 -6
- package/dist/components/dock/composables/useDockSearch.d.ts +5 -5
- package/dist/components/dock/composables/useDockShellProps.d.ts +10 -34
- package/dist/components/dock/composables/useDockState.d.ts +17 -4
- package/dist/components/dock/constants.d.ts +17 -3
- package/dist/components/dock/index.d.ts +15 -15
- package/dist/components/dock/styles/adaptive-legibility.css +1 -1
- package/dist/components/dock/styles/controls/icon-button.css +1 -1
- package/dist/components/dock/styles/controls/tab-button.css +1 -1
- package/dist/components/dock/styles/controls/touch-floor.css +1 -1
- package/dist/components/dock/styles/controls/triggers.css +1 -1
- package/dist/components/dock/styles/controls.css +1 -1
- package/dist/components/dock/styles/crossfade.css +1 -1
- package/dist/components/dock/styles/cta-seat.css +1 -1
- package/dist/components/dock/styles/density.css +1 -1
- package/dist/components/dock/styles/dock.css +1 -1
- package/dist/components/dock/styles/index.css +1 -1
- package/dist/components/dock/styles/layer-group.css +1 -1
- package/dist/components/dock/styles/layers.css +1 -1
- package/dist/components/dock/styles/morph.css +1 -1
- package/dist/components/dock/styles/overflow.css +1 -1
- package/dist/components/dock/styles/search.css +1 -1
- package/dist/components/dock/styles/shape.css +1 -1
- package/dist/components/dock/styles/shell-regions.css +1 -1
- package/dist/components/dock/styles/shell.css +1 -1
- package/dist/components/easing/EasingCurve.vue.d.ts +51 -0
- package/dist/components/easing/EasingPicker.vue.d.ts +16 -32
- package/dist/components/easing/constants.d.ts +15 -13
- package/dist/components/easing/index.d.ts +5 -3
- package/dist/components/easing/{composables/useEasingPicker.d.ts → usePicker.d.ts} +27 -23
- package/dist/components/expandable-container/ExpandableContainer.vue.d.ts +1 -1
- package/dist/components/expandable-container/index.d.ts +1 -1
- package/dist/components/fading-scroll/constants.d.ts +2 -9
- package/dist/components/fading-scroll/index.d.ts +2 -2
- package/dist/components/fourier-field/FourierField.vue.d.ts +6 -8
- package/dist/components/fourier-field/composables/fourierFieldGLSetup.d.ts +4 -4
- package/dist/components/fourier-field/composables/fourierFieldWGPUSetup.d.ts +4 -4
- package/dist/components/fourier-field/composables/uniformBridgeWGPU.d.ts +2 -4
- package/dist/components/fourier-field/composables/useFourierField.d.ts +4 -4
- package/dist/components/fourier-field/constants.d.ts +1 -1
- package/dist/components/fourier-field/index.d.ts +7 -9
- package/dist/components/handmark/HandMark.vue.d.ts +5 -5
- package/dist/components/handmark/composables/useHandMark.d.ts +4 -4
- package/dist/components/handmark/geometry.d.ts +1 -4
- package/dist/components/handmark/index.d.ts +10 -8
- package/dist/components/handmark/ink.d.ts +1 -1
- package/dist/components/handmark/texture.d.ts +2 -2
- package/dist/components/handmark/types.d.ts +1 -1
- package/dist/components/index.d.ts +30 -32
- package/dist/components/infinite-scroll/InfiniteScroll.vue.d.ts +3 -3
- package/dist/components/infinite-scroll/composables/index.d.ts +2 -2
- package/dist/components/infinite-scroll/composables/useInfiniteScroll.d.ts +1 -1
- package/dist/components/infinite-scroll/index.d.ts +2 -2
- package/dist/components/input/Input.vue.d.ts +10 -5
- package/dist/components/input/index.d.ts +3 -2
- package/dist/components/input/types.d.ts +49 -9
- package/dist/components/label/index.d.ts +1 -1
- package/dist/components/labeled-field/LabeledField.vue.d.ts +4 -4
- package/dist/components/labeled-field/LabeledInput.vue.d.ts +1 -1
- package/dist/components/labeled-field/LabeledSlider.vue.d.ts +1 -1
- package/dist/components/labeled-field/LabeledSwitch.vue.d.ts +1 -1
- package/dist/components/labeled-field/index.d.ts +5 -6
- package/dist/components/labeled-field/types.d.ts +5 -14
- package/dist/components/{dropdown-menu → menu}/DropdownMenu.vue.d.ts +2 -2
- package/dist/components/{dropdown-menu → menu}/DropdownMenuCheckboxItem.vue.d.ts +2 -2
- package/dist/components/{dropdown-menu → menu}/DropdownMenuContent.vue.d.ts +4 -7
- package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioGroup.vue.d.ts +1 -1
- package/dist/components/{dropdown-menu → menu}/DropdownMenuRadioItem.vue.d.ts +1 -1
- package/dist/components/{dropdown-menu → menu}/DropdownMenuSubContent.vue.d.ts +7 -7
- package/dist/components/{dropdown-menu → menu}/DropdownMenuTrigger.vue.d.ts +1 -1
- package/dist/components/{dropdown-menu → menu}/index.d.ts +15 -15
- package/dist/components/metric/Metric.vue.d.ts +7 -5
- package/dist/components/metric/MetricRow.vue.d.ts +4 -12
- package/dist/components/metric/MetricStack.vue.d.ts +2 -2
- package/dist/components/metric/coalesce-metric.d.ts +30 -2
- package/dist/components/metric/index.d.ts +6 -5
- package/dist/components/metric/styles.css +1 -1
- package/dist/components/metric/types.d.ts +25 -13
- package/dist/components/music-staff/MusicStaff.vue.d.ts +22 -0
- package/dist/components/music-staff/glyphs.d.ts +74 -0
- package/dist/components/music-staff/index.d.ts +4 -0
- package/dist/components/music-staff/midiAdapter.d.ts +22 -0
- package/dist/components/music-staff/staffGeometry.d.ts +216 -0
- package/dist/components/music-staff/styles.css +1 -0
- package/dist/components/number-field/NumberField.vue.d.ts +7 -2
- package/dist/components/number-field/NumberFieldStep.vue.d.ts +31 -0
- package/dist/components/number-field/context.d.ts +4 -0
- package/dist/components/number-field/index.d.ts +3 -5
- package/dist/components/pager-dots/PagerDots.vue.d.ts +22 -10
- package/dist/components/pager-dots/index.d.ts +3 -2
- package/dist/components/pager-dots/worm.d.ts +42 -0
- package/dist/components/popover/Popover.vue.d.ts +23 -1
- package/dist/components/popover/PopoverContent.vue.d.ts +17 -14
- package/dist/components/popover/PopoverTrigger.vue.d.ts +1 -1
- package/dist/components/popover/index.d.ts +3 -3
- package/dist/components/popover/popoverContext.d.ts +10 -0
- package/dist/components/progress/Progress.vue.d.ts +5 -5
- package/dist/components/progress/index.d.ts +2 -2
- package/dist/components/progress/types.d.ts +16 -6
- package/dist/components/radio-group/RadioGroup.vue.d.ts +5 -7
- package/dist/components/radio-group/RadioGroupItem.vue.d.ts +3 -2
- package/dist/components/radio-group/index.d.ts +4 -4
- package/dist/components/scroll-progress-rim/ScrollProgressRim.vue.d.ts +2 -14
- package/dist/components/scroll-progress-rim/index.d.ts +2 -3
- package/dist/components/scroll-progress-rim/styles.css +1 -1
- package/dist/components/scroll-progress-rim/types.d.ts +20 -2
- package/dist/components/search/SearchBar.vue.d.ts +3 -3
- package/dist/components/search/composables/fuzzySearchIndex.d.ts +1 -1
- package/dist/components/search/composables/index.d.ts +5 -5
- package/dist/components/search/composables/useFuzzySearch.d.ts +1 -1
- package/dist/components/search/index.d.ts +8 -9
- package/dist/components/search/searchVariants.d.ts +3 -4
- package/dist/components/select/Select.vue.d.ts +2 -2
- package/dist/components/select/SelectContent.vue.d.ts +4 -9
- package/dist/components/select/SelectItem.vue.d.ts +1 -1
- package/dist/components/select/SelectScrollButton.vue.d.ts +18 -0
- package/dist/components/select/SelectTrigger.vue.d.ts +1 -8
- package/dist/components/select/SelectValue.vue.d.ts +4 -6
- package/dist/components/select/index.d.ts +18 -16
- package/dist/components/separator/Separator.vue.d.ts +1 -1
- package/dist/components/separator/index.d.ts +1 -1
- package/dist/components/sheet/SheetContent.vue.d.ts +60 -0
- package/dist/components/sheet/detents/projection.d.ts +42 -0
- package/dist/components/sheet/detents/use.d.ts +27 -0
- package/dist/components/sheet/index.d.ts +4 -0
- package/dist/components/sheet/motion.d.ts +29 -0
- package/dist/components/sheet/styles.css +1 -0
- package/dist/components/skeleton/index.d.ts +1 -1
- package/dist/components/slider/Slider.vue.d.ts +2 -3
- package/dist/components/slider/index.d.ts +2 -2
- package/dist/components/slider/styles.css +1 -0
- package/dist/components/slider/types.d.ts +13 -4
- package/dist/components/sortable-list/SortableItem.vue.d.ts +1 -1
- package/dist/components/sortable-list/SortableList.vue.d.ts +1 -2
- package/dist/components/sortable-list/context.d.ts +1 -1
- package/dist/components/sortable-list/drag.d.ts +52 -0
- package/dist/components/sortable-list/ghost.d.ts +40 -0
- package/dist/components/sortable-list/index.d.ts +4 -4
- package/dist/components/sortable-list/motion.d.ts +75 -0
- package/dist/components/sortable-list/resolve.d.ts +56 -0
- package/dist/components/sortable-list/{composables/types.d.ts → types.d.ts} +14 -7
- package/dist/components/sortable-list/{composables/useSortable.d.ts → useSortable.d.ts} +2 -4
- package/dist/components/status-dot/StatusDot.vue.d.ts +10 -3
- package/dist/components/status-dot/index.d.ts +3 -2
- package/dist/components/status-dot/states.d.ts +4 -0
- package/dist/components/surface/Surface.vue.d.ts +31 -14
- package/dist/components/surface/index.d.ts +2 -2
- package/dist/components/switch/Switch.vue.d.ts +7 -12
- package/dist/components/switch/index.d.ts +2 -2
- package/dist/components/table/index.d.ts +8 -8
- package/dist/components/tabs/SegmentedTabs.vue.d.ts +9 -13
- package/dist/components/tabs/composables/useTabDragMorph.d.ts +2 -2
- package/dist/components/tabs/composables/useTabResponsive.d.ts +1 -1
- package/dist/components/tabs/composables/useTabRovingFocus.d.ts +15 -7
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/styles/drag.css +1 -1
- package/dist/components/tabs/styles/segmented.css +1 -1
- package/dist/components/textarea/Textarea.vue.d.ts +10 -5
- package/dist/components/textarea/index.d.ts +2 -2
- package/dist/components/textarea/types.d.ts +34 -11
- package/dist/components/timeline/Timeline.vue.d.ts +41 -0
- package/dist/components/timeline/geometry.d.ts +53 -78
- package/dist/components/timeline/index.d.ts +2 -2
- package/dist/components/timeline/types.d.ts +42 -42
- package/dist/components/toast/Toast.vue.d.ts +3 -3
- package/dist/components/toast/index.d.ts +8 -8
- package/dist/components/toast/use-toast.d.ts +9 -2
- package/dist/components/toggle-group/ToggleGroup.vue.d.ts +29 -40
- package/dist/components/toggle-group/ToggleGroupItem.vue.d.ts +7 -7
- package/dist/components/toggle-group/context.d.ts +28 -0
- package/dist/components/toggle-group/index.d.ts +2 -3
- package/dist/components/tooltip/TooltipContent.vue.d.ts +3 -8
- package/dist/components/tooltip/TooltipTrigger.vue.d.ts +1 -1
- package/dist/components/tooltip/index.d.ts +4 -4
- package/dist/components/typewriter/TypewriterText.vue.d.ts +12 -32
- package/dist/components/typewriter/composables/useTypewriter.d.ts +1 -1
- package/dist/components/typewriter/index.d.ts +7 -7
- package/dist/components/typewriter/types.d.ts +1 -1
- package/dist/components/typewriter/utils/timing.d.ts +1 -1
- package/dist/components/typewriter/utils/typoStateMachine.d.ts +1 -1
- package/dist/composables/color/accent-tone-solve.d.ts +1 -1
- package/dist/composables/color/index.d.ts +7 -7
- package/dist/composables/context/index.d.ts +1 -1
- package/dist/composables/dark/index.d.ts +5 -5
- package/dist/composables/dom/index.d.ts +10 -10
- package/dist/composables/dom/useDragVelocity.d.ts +7 -0
- package/dist/composables/glass/backdropLuminanceSample.d.ts +20 -22
- package/dist/composables/glass/backdropSampleMath.d.ts +10 -0
- package/dist/composables/glass/canvas2d/index.d.ts +3 -3
- package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +2 -10
- package/dist/composables/glass/index.d.ts +5 -7
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +3 -4
- package/dist/composables/glass/useSpecularTracking.d.ts +1 -1
- package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +13 -22
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +10 -13
- package/dist/composables/glass/webgl/visibility.d.ts +1 -1
- package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +10 -13
- package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +3 -4
- package/dist/composables/glass/webgpu/webgpuCanvasTypes.d.ts +9 -11
- package/dist/composables/glass/webgpu/webgpuDevice.d.ts +0 -17
- package/dist/composables/keyboard/index.d.ts +1 -1
- package/dist/composables/motion/core/constants.d.ts +7 -0
- package/dist/composables/motion/core/index.d.ts +21 -21
- package/dist/composables/motion/core/motionTempo.d.ts +0 -2
- package/dist/composables/motion/dissolve/dissolveGrammar.d.ts +88 -0
- package/dist/composables/motion/engage/engageEnvelopes.d.ts +45 -0
- package/dist/composables/motion/engage/engageLadder.d.ts +86 -0
- package/dist/composables/motion/index.d.ts +14 -14
- package/dist/composables/motion/morph/eyeglass.d.ts +141 -0
- package/dist/composables/motion/morph/useDockCtaReceive.d.ts +6 -6
- package/dist/composables/motion/morph/useElementMorph.d.ts +4 -4
- package/dist/composables/motion/morph/useLeadTrail.d.ts +30 -28
- package/dist/composables/motion/morph/useSelectionGroup.d.ts +61 -23
- package/dist/composables/motion/morph/useSelectionIndicator.d.ts +52 -22
- package/dist/composables/motion/number/useAnimatedNumberMap.d.ts +1 -1
- package/dist/composables/motion/pointer/pointerFieldMappings.d.ts +1 -1
- package/dist/composables/motion/pointer/useRoutePointer.d.ts +1 -1
- package/dist/composables/motion/reveal/useLiquidReveal.d.ts +7 -6
- package/dist/composables/motion/route/routeGrammar.d.ts +60 -0
- package/dist/composables/motion/route/useRouteTransition.d.ts +45 -0
- package/dist/composables/motion/scroll/useScrollProgress.d.ts +7 -14
- package/dist/composables/motion/scroll/useScrollScene.d.ts +5 -4
- package/dist/composables/motion/spring/springPresets.d.ts +13 -27
- package/dist/composables/motion/spring/springProjection.d.ts +3 -4
- package/dist/composables/motion/spring/useLiquidPress.d.ts +2 -2
- package/dist/composables/motion/spring/useSpring.d.ts +3 -3
- package/dist/composables/motion/spring/useSpringMount.d.ts +6 -3
- package/dist/composables/motion/spring/useSpringPress.d.ts +6 -6
- package/dist/composables/reactive/index.d.ts +2 -2
- package/dist/composables/sidebar/index.d.ts +10 -10
- package/dist/composables/sidebar/useClickDelegate.d.ts +1 -1
- package/dist/composables/sidebar/useLazyLoader.d.ts +1 -1
- package/dist/composables/sidebar/useScrollTo.d.ts +1 -1
- package/dist/composables/sidebar/useScrollTracker.d.ts +1 -1
- package/dist/composables/sidebar/useSidebarState.d.ts +1 -1
- package/dist/composables/sidebar/useTreeIndex.d.ts +1 -1
- package/dist/{configurator-M5OaIlJd.js → configurator-BoeScnDL.js} +5 -5
- package/dist/configurator.d.ts +1 -1
- package/dist/configurator.js +1 -1
- package/dist/{constants-nBz23tJE.js → constants-Dk96HZHu.js} +2 -2
- package/dist/constellation.d.ts +1 -1
- package/dist/constellation.js +136 -135
- package/dist/content-CWO-XL7o.js +18 -0
- package/dist/control-Da4XeT43.js +11 -0
- package/dist/{field-control.css_vue_type_style_index_0_src_true_lang-CeLay9Tk.js → control.css_vue_type_style_index_0_src_true_lang-BIdufaDG.js} +1 -1
- package/dist/{createCanvasLifecycle-DbXRwjU_.js → createCanvasLifecycle-hJHobVTn.js} +2 -5
- package/dist/dark-mode-toggle.d.ts +1 -1
- package/dist/dark-mode-toggle.js +2 -2
- package/dist/dark.d.ts +1 -1
- package/dist/data-table-_RrOEdiw.js +493 -0
- package/dist/data-table.d.ts +1 -1
- package/dist/data-table.js +1 -1
- package/dist/deck-Ci6YjB5e.js +453 -0
- package/dist/deck.d.ts +1 -1
- package/dist/deck.js +2 -94
- package/dist/dialog-CbRnTRtg.js +78 -0
- package/dist/dialog.d.ts +1 -1
- package/dist/dialog.js +3 -2
- package/dist/dock.d.ts +1 -1
- package/dist/dock.js +546 -519
- package/dist/dom.d.ts +1 -1
- package/dist/dom.js +57 -35
- package/dist/easing.d.ts +1 -1
- package/dist/easing.js +686 -515
- package/dist/expandable-container.d.ts +1 -1
- package/dist/expandable-container.js +80 -78
- package/dist/{fading-scroll-DhxXIhm2.js → fading-scroll-CTeW3KNS.js} +30 -30
- package/dist/fading-scroll.d.ts +1 -1
- package/dist/fading-scroll.js +1 -1
- package/dist/focus-Duf7EpUu.js +13 -0
- package/dist/fourier-field.d.ts +1 -1
- package/dist/fourier-field.js +84 -86
- package/dist/fourier-math.d.ts +1 -1
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +123 -472
- package/dist/handmark.d.ts +1 -1
- package/dist/handmark.js +1 -1
- package/dist/index.d.ts +41 -42
- package/dist/infinite-scroll.d.ts +1 -1
- package/dist/infinite-scroll.js +56 -43
- package/dist/input-Bls2A4Tt.js +54 -0
- package/dist/input.d.ts +1 -0
- package/dist/input.js +2 -0
- package/dist/keyboard.d.ts +1 -1
- package/dist/label-BQEZhnK_.js +53 -0
- package/dist/label.d.ts +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.d.ts +1 -1
- package/dist/labeled-field.js +64 -148
- package/dist/menu-wLu1XGKn.js +501 -0
- package/dist/menu.d.ts +1 -0
- package/dist/{dropdown-menu.js → menu.js} +2 -2
- package/dist/metric.d.ts +1 -1
- package/dist/metric.js +79 -132
- package/dist/motion-D4uYE0UM.js +61 -0
- package/dist/motion-core.d.ts +1 -1
- package/dist/motion-core.js +185 -52
- package/dist/motion.d.ts +1 -1
- package/dist/motion.js +160 -178
- package/dist/music-staff.d.ts +1 -0
- package/dist/music-staff.js +915 -0
- package/dist/number-field-NFAwQ0HK.js +111 -0
- package/dist/number-field.d.ts +1 -1
- package/dist/number-field.js +2 -2
- package/dist/pager-dots.d.ts +1 -1
- package/dist/pager-dots.js +362 -2
- package/dist/participation-B0hdsIRo.js +42 -0
- package/dist/popover-DBMKTPkL.js +181 -0
- package/dist/popover.d.ts +1 -1
- package/dist/popover.js +1 -1
- package/dist/progress-DF8dWZIX.js +74 -0
- package/dist/progress.d.ts +1 -1
- package/dist/progress.js +1 -1
- package/dist/radio-group-Ci8o-pDx.js +85 -0
- package/dist/radio-group.d.ts +1 -0
- package/dist/radio-group.js +2 -0
- package/dist/reactive.d.ts +1 -1
- package/dist/resolve-DdrNvBby.js +6 -0
- package/dist/{resolveCanvasColor-DS_6DBxA.js → resolveCanvasColor-6MCrswTB.js} +3 -4
- package/dist/rowClass-DYOXwxhO.js +10 -0
- package/dist/scroll-progress-rim.d.ts +1 -1
- package/dist/scroll-progress-rim.js +48 -42
- package/dist/search.d.ts +1 -1
- package/dist/search.js +28 -319
- package/dist/select-CDgwGH_P.js +290 -0
- package/dist/select.d.ts +1 -1
- package/dist/select.js +2 -2
- package/dist/separator-CN11t406.js +73 -0
- package/dist/separator.d.ts +1 -1
- package/dist/separator.js +1 -1
- package/dist/sheet-BEFvnO_u.js +340 -0
- package/dist/sheet.d.ts +1 -0
- package/dist/sheet.js +3 -0
- package/dist/sidebar.d.ts +1 -1
- package/dist/slider-gsc8jDIo.js +227 -0
- package/dist/slider.d.ts +1 -1
- package/dist/slider.js +1 -1
- package/dist/sortable-list.d.ts +1 -1
- package/dist/sortable-list.js +411 -286
- package/dist/springPresets-Cbe0Voqg.js +52 -0
- package/dist/status-dot-BpnqOP5N.js +56 -0
- package/dist/status-dot.d.ts +1 -1
- package/dist/status-dot.js +2 -42
- package/dist/styles/accessibility.css +1 -1
- package/dist/styles/animations.css +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/fonts.css +1 -1
- package/dist/styles/glass/a11y-fallback.css +1 -1
- package/dist/styles/glass/control-bit.css +1 -0
- package/dist/styles/glass/control-edge.css +1 -0
- package/dist/styles/glass/control-surfaces.css +1 -1
- package/dist/styles/glass/deep.css +1 -1
- package/dist/styles/glass/defined.css +1 -1
- package/dist/styles/glass/dissolve.css +1 -0
- package/dist/styles/glass/focus-veil.css +1 -0
- package/dist/styles/glass/glass-atom.css +1 -1
- package/dist/styles/glass/glass-capsule.css +1 -1
- package/dist/styles/glass/glass-chip.css +1 -1
- package/dist/styles/glass/grasp.css +1 -0
- package/dist/styles/glass/ladder-undershadow.css +1 -1
- package/dist/styles/glass/ladder.css +1 -1
- package/dist/styles/glass/liquid-enter.css +1 -1
- package/dist/styles/glass/liquid-fill.css +1 -1
- package/dist/styles/glass/mark.css +1 -0
- package/dist/styles/glass/material.css +1 -1
- package/dist/styles/glass/overlay-plate.css +1 -0
- package/dist/styles/glass/reveal.css +1 -1
- package/dist/styles/glass/rim.css +1 -1
- package/dist/styles/glass/squircle.css +1 -1
- package/dist/styles/glass/surface-axis.css +1 -1
- package/dist/styles/glass/surfaces-pager.css +1 -1
- package/dist/styles/glass/surfaces.css +1 -1
- package/dist/styles/glass/track-flow.css +1 -0
- package/dist/styles/glass/value-marks.css +1 -0
- package/dist/styles/glass/veil.css +1 -0
- package/dist/styles/glass-specular-track.css +1 -1
- package/dist/styles/glass.css +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/paper.css +1 -1
- package/dist/styles/scroll-choreography.css +1 -1
- package/dist/styles/scroll-chrome.css +1 -1
- package/dist/styles/scroll-driven.css +1 -1
- package/dist/styles/theme/bridges.css +1 -1
- package/dist/styles/theme/dark.css +1 -1
- package/dist/styles/theme/literals.css +1 -1
- package/dist/styles/theme/radius.css +1 -1
- package/dist/styles/theme.css +1 -1
- package/dist/styles/tokens/color-radius.css +1 -1
- package/dist/styles/tokens/dark-arm-glass.css +1 -1
- package/dist/styles/tokens/dark-arm.css +1 -1
- package/dist/styles/tokens/glass-deep.css +1 -1
- package/dist/styles/tokens/glass-fx.css +1 -1
- package/dist/styles/tokens/glass.css +1 -1
- package/dist/styles/tokens/light-dark.css +1 -1
- package/dist/styles/tokens/manifest.d.ts +4 -4
- package/dist/styles/tokens/motion-registers.css +1 -1
- package/dist/styles/tokens/offsets.css +1 -1
- package/dist/styles/tokens/on-glass-fg.css +1 -1
- package/dist/styles/tokens/property-regs-specular.css +1 -1
- package/dist/styles/tokens/property-regs.css +1 -1
- package/dist/styles/tokens/scale-paper.css +1 -1
- package/dist/styles/tokens/scheme-motion.css +1 -1
- package/dist/styles/tokens/scheme-spring.css +1 -1
- package/dist/styles/tokens/scroll-tokens.css +1 -1
- package/dist/styles/tokens/shadow.css +1 -1
- package/dist/styles/tokens/sizing-config.css +1 -1
- package/dist/styles/tokens/sizing.css +1 -1
- package/dist/styles/tokens.css +1 -1
- package/dist/styles/tokens.d.ts +2 -2
- package/dist/styles/track-well.css +1 -0
- package/dist/styles/transitions.css +1 -1
- package/dist/styles/typography/scale.css +1 -1
- package/dist/styles/typography/semantic.css +1 -1
- package/dist/styles/typography/utilities.css +1 -1
- package/dist/styles/typography.css +1 -1
- package/dist/styles/utilities/a11y-overrides.css +1 -1
- package/dist/styles/utilities/base-misc.css +1 -1
- package/dist/styles/utilities/base.css +1 -1
- package/dist/styles/utilities/btn.css +1 -1
- package/dist/styles/utilities/components.css +1 -1
- package/dist/styles/utilities/metal.css +1 -1
- package/dist/styles/utilities/responsive.css +1 -1
- package/dist/styles/utilities.css +1 -1
- package/dist/styles/view-transition.css +1 -1
- package/dist/styles/viz-reveal.css +1 -1
- package/dist/{supportsCssTimeline-C2zyWpl8.js → supportsCssTimeline-Di9gzleG.js} +5 -4
- package/dist/surface.d.ts +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch-DxZzDrmV.js +49 -0
- package/dist/switch.d.ts +1 -1
- package/dist/switch.js +1 -1
- package/dist/tabs-CYscnq5H.js +268 -0
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +2 -311
- package/dist/textarea.d.ts +1 -0
- package/dist/textarea.js +58 -0
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.js +238 -528
- package/dist/{toast-CH5mnsYT.js → toast-9c6Kp58L.js} +52 -50
- package/dist/toast.d.ts +1 -1
- package/dist/toast.js +1 -1
- package/dist/toggle-group-11aPGMfE.js +125 -0
- package/dist/toggle-group.d.ts +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.js +12 -10
- package/dist/tooltip-DqKMZ4dn.js +142 -0
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.d.ts +1 -1
- package/dist/typewriter.js +10 -32
- package/dist/useAccentTone-DFAh1osB.js +47 -0
- package/dist/{useDockCtaReceive-DkrOTM0q.js → useDockCtaReceive-BSSgD6mu.js} +2 -2
- package/dist/{useDragMorph-BogSV_nv.js → useDragMorph-B363RUbF.js} +59 -59
- package/dist/{useDragVelocity-6ONX0sr0.js → useDragVelocity-C5BkKiNf.js} +28 -24
- package/dist/useIntersectionPause-CzKR3EyP.js +57 -0
- package/dist/useLeadTrail-DQWdpFN1.js +83 -0
- package/dist/{useLiquidPress-BOxuDkKa.js → useLiquidPress-h1scrPtP.js} +1 -1
- package/dist/{useTouchGate-B4mzQcHJ.js → useResolveTokenColor-CspQv_ik.js} +24 -1
- package/dist/useScrollChrome-BJbWV32F.js +162 -0
- package/dist/useScrollProgress-Bq-KPaKM.js +41 -0
- package/dist/{useScrollTrigger-BDdqptlc.js → useScrollTrigger-Abe5dEeO.js} +25 -26
- package/dist/useSelectionGroup-zsEwitF6.js +291 -0
- package/dist/{useSpringMount-uQ8QL9Ff.js → useSpringMount-OA-0mTNv.js} +5 -6
- package/dist/vReveal-B5WYGofz.js +44 -0
- package/dist/{valueDomain-SbVzoHMH.js → valueDomain-DXRzfc8l.js} +1 -1
- package/package.json +53 -92
- package/dist/FeedbackMark-DZq5001h.js +0 -23
- package/dist/Input-9BlLluik.js +0 -77
- package/dist/PagerDots-BEq0MgtH.js +0 -311
- package/dist/Surface-kFQeYrYv.js +0 -82
- package/dist/animated-digit.d.ts +0 -1
- package/dist/animated-digit.js +0 -44
- package/dist/badge-u65NClWn.js +0 -62
- package/dist/button-Bu9F4uU6.js +0 -98
- package/dist/chip-DFZQr6rV.js +0 -129
- package/dist/command-SFqDQ65h.js +0 -320
- package/dist/completion-seal.d.ts +0 -1
- package/dist/completion-seal.js +0 -132
- package/dist/components/_shared/FeedbackMark.vue.d.ts +0 -11
- package/dist/components/_shared/control-size.d.ts +0 -2
- package/dist/components/_shared/disclosure.css +0 -1
- package/dist/components/_shared/feedback-tone.css +0 -1
- package/dist/components/_shared/feedback.d.ts +0 -7
- package/dist/components/_shared/field-control.css +0 -1
- package/dist/components/_shared/field-surfaces.css +0 -1
- package/dist/components/_shared/floating.d.ts +0 -14
- package/dist/components/_shared/menu.css +0 -1
- package/dist/components/_shared/menuRowClass.d.ts +0 -2
- package/dist/components/_shared/resolveSurfaceClass.d.ts +0 -3
- package/dist/components/animated-digit/AnimatedDigit.vue.d.ts +0 -55
- package/dist/components/animated-digit/index.d.ts +0 -2
- package/dist/components/avatar/styles.css +0 -1
- package/dist/components/card/CardAction.vue.d.ts +0 -17
- package/dist/components/card/card-scroll.css +0 -1
- package/dist/components/carousel/interface.d.ts +0 -22
- package/dist/components/checkbox/styles.css +0 -1
- package/dist/components/combobox/Combobox.vue.d.ts +0 -22
- package/dist/components/combobox/ComboboxAnchor.vue.d.ts +0 -14
- package/dist/components/combobox/ComboboxEmpty.vue.d.ts +0 -14
- package/dist/components/combobox/ComboboxGroup.vue.d.ts +0 -14
- package/dist/components/combobox/ComboboxInput.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxItem.vue.d.ts +0 -18
- package/dist/components/combobox/ComboboxItemIndicator.vue.d.ts +0 -14
- package/dist/components/combobox/ComboboxList.vue.d.ts +0 -29
- package/dist/components/combobox/ComboboxTrigger.vue.d.ts +0 -16
- package/dist/components/combobox/index.d.ts +0 -10
- package/dist/components/combobox/types.d.ts +0 -87
- package/dist/components/command/dialogContext.d.ts +0 -6
- package/dist/components/command/styles.css +0 -1
- package/dist/components/completion-seal/CompletionSeal.vue.d.ts +0 -28
- package/dist/components/completion-seal/composables/useCompletionSeal.d.ts +0 -37
- package/dist/components/completion-seal/constants.d.ts +0 -66
- package/dist/components/completion-seal/index.d.ts +0 -4
- package/dist/components/completion-seal/styles.css +0 -1
- package/dist/components/data-table/styles.css +0 -1
- package/dist/components/deck/DeckPager.vue.d.ts +0 -29
- package/dist/components/dialog/DialogClose.vue.d.ts +0 -16
- package/dist/components/dialog/DialogTrigger.vue.d.ts +0 -16
- package/dist/components/dialog/dialogStageContext.d.ts +0 -7
- package/dist/components/dialog/placement.css +0 -1
- package/dist/components/dialog/sheet-motion.d.ts +0 -17
- package/dist/components/drawer/Drawer.vue.d.ts +0 -82
- package/dist/components/drawer/DrawerContent.vue.d.ts +0 -39
- package/dist/components/drawer/DrawerDescription.vue.d.ts +0 -17
- package/dist/components/drawer/DrawerFooter.vue.d.ts +0 -17
- package/dist/components/drawer/DrawerHeader.vue.d.ts +0 -17
- package/dist/components/drawer/DrawerOverlay.vue.d.ts +0 -8
- package/dist/components/drawer/DrawerTitle.vue.d.ts +0 -17
- package/dist/components/drawer/composables/drawerSnapContext.d.ts +0 -34
- package/dist/components/drawer/composables/useDrawerSnap.d.ts +0 -26
- package/dist/components/drawer/constants.d.ts +0 -32
- package/dist/components/drawer/index.d.ts +0 -33
- package/dist/components/drawer/styles.css +0 -1
- package/dist/components/dropdown-menu/styles.css +0 -1
- package/dist/components/easing/EasingConfigurator.vue.d.ts +0 -33
- package/dist/components/expandable-container/styles.css +0 -1
- package/dist/components/fourier-field/presets.d.ts +0 -54
- package/dist/components/header-ribbon/HeaderRibbon.vue.d.ts +0 -13
- package/dist/components/header-ribbon/index.d.ts +0 -2
- package/dist/components/header-ribbon/styles.css +0 -1
- package/dist/components/header-ribbon/types.d.ts +0 -10
- package/dist/components/instrument-chassis/InstrumentChassis.vue.d.ts +0 -23
- package/dist/components/instrument-chassis/index.d.ts +0 -2
- package/dist/components/instrument-chassis/styles.css +0 -1
- package/dist/components/instrument-chassis/types.d.ts +0 -13
- package/dist/components/labeled-field/LabeledSelect.vue.d.ts +0 -20
- package/dist/components/liquid-grid/LiquidGrid.vue.d.ts +0 -46
- package/dist/components/liquid-grid/composables/liquidGrid.d.ts +0 -113
- package/dist/components/liquid-grid/composables/liquidGridGLSetup.d.ts +0 -18
- package/dist/components/liquid-grid/composables/liquidGridWGPUSetup.d.ts +0 -21
- package/dist/components/liquid-grid/composables/uniformBridgeWGPU.d.ts +0 -16
- package/dist/components/liquid-grid/composables/useLiquidGrid.d.ts +0 -32
- package/dist/components/liquid-grid/constants.d.ts +0 -92
- package/dist/components/liquid-grid/index.d.ts +0 -5
- package/dist/components/liquid-grid/shaders/liquid-grid.glsl.d.ts +0 -4
- package/dist/components/liquid-grid/shaders/liquid-grid.wgsl.d.ts +0 -1
- package/dist/components/metric/MetricCell.vue.d.ts +0 -26
- package/dist/components/number-field/NumberFieldDecrement.vue.d.ts +0 -18
- package/dist/components/number-field/NumberFieldIncrement.vue.d.ts +0 -18
- package/dist/components/number-field/styles.css +0 -1
- package/dist/components/pager-dots/composables/usePagerWorm.d.ts +0 -26
- package/dist/components/pager-dots/constants.d.ts +0 -14
- package/dist/components/pager-dots/pagerWindow.d.ts +0 -9
- package/dist/components/paper-backdrop/PaperBackdrop.vue.d.ts +0 -8
- package/dist/components/paper-backdrop/index.d.ts +0 -2
- package/dist/components/pulse/Pulse.vue.d.ts +0 -14
- package/dist/components/pulse/index.d.ts +0 -2
- package/dist/components/radio-group/styles.css +0 -1
- package/dist/components/search/FuzzySearch.vue.d.ts +0 -24
- package/dist/components/select/SelectScrollDownButton.vue.d.ts +0 -17
- package/dist/components/select/SelectScrollUpButton.vue.d.ts +0 -17
- package/dist/components/sortable-list/composables/dragController.d.ts +0 -29
- package/dist/components/sortable-list/composables/dropResolver.d.ts +0 -34
- package/dist/components/sortable-list/composables/ghostRenderer.d.ts +0 -44
- package/dist/components/sortable-list/composables/index.d.ts +0 -1
- package/dist/components/sortable-list/composables/touchGate.d.ts +0 -26
- package/dist/components/sortable-list/composables/transitionTiming.d.ts +0 -50
- package/dist/components/switch/styles.css +0 -1
- package/dist/components/tabs/constants.d.ts +0 -1
- package/dist/components/tags-input/TagsInput.vue.d.ts +0 -41
- package/dist/components/tags-input/TagsInputInput.vue.d.ts +0 -10
- package/dist/components/tags-input/TagsInputItem.vue.d.ts +0 -19
- package/dist/components/tags-input/TagsInputItemDelete.vue.d.ts +0 -17
- package/dist/components/tags-input/TagsInputItemText.vue.d.ts +0 -7
- package/dist/components/tags-input/context.d.ts +0 -5
- package/dist/components/tags-input/index.d.ts +0 -5
- package/dist/components/tags-input/styles.css +0 -1
- package/dist/components/timeline/ContinuousMarkers.vue.d.ts +0 -47
- package/dist/components/timeline/ContinuousRail.vue.d.ts +0 -23
- package/dist/components/timeline/ContinuousTimeline.vue.d.ts +0 -117
- package/dist/components/timeline/GlassTimeline.vue.d.ts +0 -113
- package/dist/components/timeline/ScrubberTimeline.vue.d.ts +0 -45
- package/dist/components/timeline/SegmentedTimeline.vue.d.ts +0 -45
- package/dist/components/toggle-group/styles.css +0 -1
- package/dist/components/toggle-group/toggleGroupContext.d.ts +0 -9
- package/dist/components/typewriter/composables/index.d.ts +0 -1
- package/dist/components/watercolor-dot/WatercolorDot.vue.d.ts +0 -61
- package/dist/components/watercolor-dot/index.d.ts +0 -3
- package/dist/components/watercolor-dot/prng.d.ts +0 -5
- package/dist/components/watercolor-dot/useWatercolorBlob.d.ts +0 -28
- package/dist/composables/glass/ambientHueHistogram.d.ts +0 -27
- package/dist/composables/glass/useSpecularPointer.d.ts +0 -52
- package/dist/composables/glass/wave/index.d.ts +0 -4
- package/dist/composables/glass/wave/waveField.d.ts +0 -136
- package/dist/composables/glass/wave/waveField.glsl.d.ts +0 -1
- package/dist/composables/glass/wave/waveField.wgsl.d.ts +0 -1
- package/dist/composables/glass/webgpu/index.d.ts +0 -3
- package/dist/composables/index.d.ts +0 -9
- package/dist/composables/motion/number/useCountup.d.ts +0 -30
- package/dist/composables/motion/number/useNumericTransition.d.ts +0 -56
- package/dist/composables/motion/reveal/bloomUpField.d.ts +0 -29
- package/dist/composables/motion/reveal/useBloomUp.d.ts +0 -33
- package/dist/composables/motion/reveal/useStaggerReveal.d.ts +0 -28
- package/dist/composables/motion/reveal/useTextHighlight.d.ts +0 -41
- package/dist/composables/motion/scroll/useScrollPin.d.ts +0 -49
- package/dist/data-table-BygKg6ZA.js +0 -491
- package/dist/dialog-TNRDkcE4.js +0 -385
- package/dist/dockContext-BUTlGRNJ.js +0 -13
- package/dist/drawer.d.ts +0 -1
- package/dist/drawer.js +0 -496
- package/dist/dropdown-menu-BlbnvMaZ.js +0 -507
- package/dist/dropdown-menu.d.ts +0 -1
- package/dist/floating-dB5TD88k.js +0 -7
- package/dist/flow.wgsl-Cd2GUkPx.js +0 -4
- package/dist/fonts/README.md +0 -120
- package/dist/fonts/fira-code/OFL.txt +0 -93
- package/dist/fonts/plus-jakarta-sans/OFL.txt +0 -93
- package/dist/forms.d.ts +0 -5
- package/dist/forms.js +0 -403
- package/dist/header-ribbon.d.ts +0 -1
- package/dist/header-ribbon.js +0 -43
- package/dist/instrument-chassis.d.ts +0 -1
- package/dist/instrument-chassis.js +0 -54
- package/dist/label-DnMqH7jr.js +0 -55
- package/dist/liquid-grid.d.ts +0 -1
- package/dist/liquid-grid.js +0 -1065
- package/dist/menuRowClass-Nh7CtMON.js +0 -12
- package/dist/number-field-Boe09SvX.js +0 -154
- package/dist/paper-backdrop.d.ts +0 -1
- package/dist/paper-backdrop.js +0 -23
- package/dist/popover-BQGYXZyO.js +0 -244
- package/dist/progress-DClbhRAT.js +0 -88
- package/dist/pulse.d.ts +0 -1
- package/dist/pulse.js +0 -42
- package/dist/resolveSurfaceClass-DCZ4PZcy.js +0 -6
- package/dist/select-BcBAyLXA.js +0 -336
- package/dist/separator-CgZInrX-.js +0 -75
- package/dist/slider-DzqeQmMu.js +0 -162
- package/dist/springPresets-rCii5KqX.js +0 -52
- package/dist/styles/draw-in.css +0 -1
- package/dist/styles/glass/accent-tone.css +0 -1
- package/dist/styles/glass/grain-overlay.css +0 -1
- package/dist/styles/glass/material-roles.css +0 -1
- package/dist/styles/glass-refract.css +0 -1
- package/dist/styles/tokens/manifest.ts +0 -56
- package/dist/styles/tokens.ts +0 -54
- package/dist/switch-DZjQuFLa.js +0 -54
- package/dist/toggle-group-O6jBo7AE.js +0 -150
- package/dist/tooltip-Drx5qnw_.js +0 -148
- package/dist/useAccentTone-DyInfHXE.js +0 -23
- package/dist/useAnimatedNumber-WPtMz0AN.js +0 -40
- package/dist/useDocumentVisibility-Dh_TGXsU.js +0 -21
- package/dist/useIntersectionPause-B5mAU6XY.js +0 -39
- package/dist/useLeadTrail-AW1-zZcd.js +0 -74
- package/dist/useRAFLoop-B3YlWK4M.js +0 -98
- package/dist/useResolveTokenColor-B2FfJnd9.js +0 -24
- package/dist/useScrollProgress-CSFYXIZT.js +0 -43
- package/dist/useSelectionGroup-B5XplBbo.js +0 -132
- package/dist/useTabRovingFocus-YnWh-Ytr.js +0 -169
- package/dist/useTextHighlight-mfwNIC1f.js +0 -112
- package/dist/useUserInvalidAria-0GNrddMX.js +0 -25
- package/dist/watercolor-dot.d.ts +0 -1
- package/dist/watercolor-dot.js +0 -149
- /package/dist/components/_shared/{disclosure-context.d.ts → disclosure/disclosure-context.d.ts} +0 -0
- /package/dist/components/_shared/{valueDomain.d.ts → field/valueDomain.d.ts} +0 -0
- /package/dist/components/{dropdown-menu → menu}/DropdownMenuGroup.vue.d.ts +0 -0
- /package/dist/components/{dropdown-menu → menu}/DropdownMenuItem.vue.d.ts +0 -0
- /package/dist/components/{dropdown-menu → menu}/DropdownMenuLabel.vue.d.ts +0 -0
- /package/dist/components/{dropdown-menu → menu}/DropdownMenuSeparator.vue.d.ts +0 -0
- /package/dist/components/{dropdown-menu → menu}/DropdownMenuShortcut.vue.d.ts +0 -0
- /package/dist/components/{dropdown-menu → menu}/DropdownMenuSub.vue.d.ts +0 -0
- /package/dist/components/{dropdown-menu → menu}/DropdownMenuSubTrigger.vue.d.ts +0 -0
- /package/dist/components/{dropdown-menu/useMenuTrigger.d.ts → menu/context.d.ts} +0 -0
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import type { TimelineSegment } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* <GlassTimeline> — dispatcher SFC for three structurally-distinct
|
|
4
|
-
* timeline variants.
|
|
5
|
-
*
|
|
6
|
-
* - `variant="scrubber"` (default): single-track normalized 0..1 scrubber
|
|
7
|
-
* with full keyboard a11y (role=slider + arrow-key step + shift-step).
|
|
8
|
-
* Delegates to `<ScrubberTimeline>`.
|
|
9
|
-
*
|
|
10
|
-
* - `variant="segmented"`: adjacent gradient bands,
|
|
11
|
-
* one per phase, with boundary dots that emit `hover` + `click` events
|
|
12
|
-
* carrying the segment key + payload. Delegates to `<SegmentedTimeline>`.
|
|
13
|
-
*
|
|
14
|
-
* - `variant="continuous"`: one rounded-pill rail
|
|
15
|
-
* substrate with N absolute-positioned region children. Delegates to
|
|
16
|
-
* `<ContinuousTimeline>`. The continuous variant owns the popover
|
|
17
|
-
* portal CSS contract (non-scoped <style> block; see ContinuousTimeline).
|
|
18
|
-
*
|
|
19
|
-
* Per-segment gradient: either `{from, to}` (expanded as 90deg L→R linear
|
|
20
|
-
* gradient) or a raw CSS gradient string consumed verbatim. Falls back
|
|
21
|
-
* to `--timeline-segment-default-gradient` when omitted.
|
|
22
|
-
*
|
|
23
|
-
* The three variant SFCs + `geometry.ts` shared math live alongside in
|
|
24
|
-
* the same package. Consumer imports through
|
|
25
|
-
* `@mkbabb/glass-ui/timeline` are unchanged.
|
|
26
|
-
*/
|
|
27
|
-
type __VLS_Props = {
|
|
28
|
-
/** Variant — default `scrubber`. */
|
|
29
|
-
variant?: "scrubber" | "segmented" | "continuous";
|
|
30
|
-
/** 0..1 scrubber position. Required for scrubber variant. */
|
|
31
|
-
modelValue?: number;
|
|
32
|
-
/** Tooltip caret text (scrubber variant only). */
|
|
33
|
-
label?: string;
|
|
34
|
-
/** Phase descriptors (segmented + continuous variants). */
|
|
35
|
-
segments?: TimelineSegment[];
|
|
36
|
-
/**
|
|
37
|
-
* Optional aria-label for the continuous variant's rail
|
|
38
|
-
* (role=progressbar). Falls back to a comma-joined list of segment
|
|
39
|
-
* labels when omitted.
|
|
40
|
-
*/
|
|
41
|
-
ariaLabel?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Current segment key (continuous variant).
|
|
44
|
-
* Stamps `data-current="true"` on the matching marker so consumers
|
|
45
|
-
* can distinguish the active
|
|
46
|
-
* phase from the transient hovered phase.
|
|
47
|
-
*/
|
|
48
|
-
currentSegmentKey?: string;
|
|
49
|
-
/**
|
|
50
|
-
* Disable the default per-marker
|
|
51
|
-
* HoverPopover (continuous variant). The dot still emits
|
|
52
|
-
* `hover` / `click` events.
|
|
53
|
-
*/
|
|
54
|
-
disablePopover?: boolean;
|
|
55
|
-
};
|
|
56
|
-
declare var __VLS_13: {
|
|
57
|
-
segment: TimelineSegment;
|
|
58
|
-
}, __VLS_16: {
|
|
59
|
-
segment: TimelineSegment | null;
|
|
60
|
-
source: "idle" | "current" | "hovered";
|
|
61
|
-
currentKey: string | null;
|
|
62
|
-
hoveredKey: string | null;
|
|
63
|
-
};
|
|
64
|
-
type __VLS_Slots = {} & {
|
|
65
|
-
popoverContent?: (props: typeof __VLS_13) => any;
|
|
66
|
-
} & {
|
|
67
|
-
detail?: (props: typeof __VLS_16) => any;
|
|
68
|
-
};
|
|
69
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
70
|
-
"update:modelValue": (v: number) => any;
|
|
71
|
-
click: (payload: {
|
|
72
|
-
key: string;
|
|
73
|
-
segment: TimelineSegment;
|
|
74
|
-
}) => any;
|
|
75
|
-
hover: (payload: {
|
|
76
|
-
key: string;
|
|
77
|
-
segment: TimelineSegment;
|
|
78
|
-
}) => any;
|
|
79
|
-
hoverEnd: (payload: {
|
|
80
|
-
key: string;
|
|
81
|
-
segment: TimelineSegment;
|
|
82
|
-
}) => any;
|
|
83
|
-
scrubStart: () => any;
|
|
84
|
-
scrubEnd: () => any;
|
|
85
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
86
|
-
"onUpdate:modelValue"?: ((v: number) => any) | undefined;
|
|
87
|
-
onClick?: ((payload: {
|
|
88
|
-
key: string;
|
|
89
|
-
segment: TimelineSegment;
|
|
90
|
-
}) => any) | undefined;
|
|
91
|
-
onHover?: ((payload: {
|
|
92
|
-
key: string;
|
|
93
|
-
segment: TimelineSegment;
|
|
94
|
-
}) => any) | undefined;
|
|
95
|
-
onHoverEnd?: ((payload: {
|
|
96
|
-
key: string;
|
|
97
|
-
segment: TimelineSegment;
|
|
98
|
-
}) => any) | undefined;
|
|
99
|
-
onScrubStart?: (() => any) | undefined;
|
|
100
|
-
onScrubEnd?: (() => any) | undefined;
|
|
101
|
-
}>, {
|
|
102
|
-
modelValue: number;
|
|
103
|
-
variant: "scrubber" | "segmented" | "continuous";
|
|
104
|
-
disablePopover: boolean;
|
|
105
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
106
|
-
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
107
|
-
declare const _default: typeof __VLS_export;
|
|
108
|
-
export default _default;
|
|
109
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
110
|
-
new (): {
|
|
111
|
-
$slots: S;
|
|
112
|
-
};
|
|
113
|
-
};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* <ScrubberTimeline> — single-track normalized 0..1 scrubber.
|
|
3
|
-
*
|
|
4
|
-
* Internal variant SFC dispatched from <GlassTimeline variant="scrubber">.
|
|
5
|
-
* Owns the single-track contract: pointer-capture drag, keyboard
|
|
6
|
-
* a11y (role=slider + arrow-key step + shift-step), `label` tooltip caret.
|
|
7
|
-
*
|
|
8
|
-
* The `aria-valuenow` binding coerces `Number(modelValue ?? 0)`
|
|
9
|
-
* so a numeric attribute always renders (axe `aria-required-attr` regression).
|
|
10
|
-
*
|
|
11
|
-
* The head is a warm-glass
|
|
12
|
-
* liquid lozenge. The four cartoon beats COMPOSE shipped engines only (no new
|
|
13
|
-
* motion engine): travel rides a `useSpring`/SpringProgress position written
|
|
14
|
-
* to `transform: translateX()` (NEVER `style.left` — Safari composites
|
|
15
|
-
* transform, not left); `useLiquidFlex` `"tanh"` velocity-squish multiplies
|
|
16
|
-
* into the SAME matrix (vol-preserving, cap ≤1.12); `useLiquidPress` grab
|
|
17
|
-
* anticipation; the velocity term is the head spring's own derivative (the
|
|
18
|
-
* self-extinguishing per-frame velocity SpringProgress already computes — the
|
|
19
|
-
* GOLDEN §0 "drive off the spring derivative" path, no free-running rAF); the
|
|
20
|
-
* fill LAGS the head on a slower spring clock; release settles ζ<1 on the
|
|
21
|
-
* cartoon-punch clock; a one-shot accent-flood ripples on landing. Always
|
|
22
|
-
* visible (the
|
|
23
|
-
* `opacity:0`-until-hover is RETIRED — the affordance must be present during
|
|
24
|
-
* keyboard/touch scrub). The bead seats φ-INSIDE the channel; the 44px touch
|
|
25
|
-
* target is an invisible `::before` halo, decoupled from the visible bead.
|
|
26
|
-
*/
|
|
27
|
-
type __VLS_Props = {
|
|
28
|
-
/** 0..1 scrubber position. */
|
|
29
|
-
modelValue?: number;
|
|
30
|
-
/** Tooltip caret text. */
|
|
31
|
-
label?: string;
|
|
32
|
-
};
|
|
33
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
|
-
"update:modelValue": (v: number) => any;
|
|
35
|
-
scrubStart: () => any;
|
|
36
|
-
scrubEnd: () => any;
|
|
37
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
38
|
-
"onUpdate:modelValue"?: ((v: number) => any) | undefined;
|
|
39
|
-
onScrubStart?: (() => any) | undefined;
|
|
40
|
-
onScrubEnd?: (() => any) | undefined;
|
|
41
|
-
}>, {
|
|
42
|
-
modelValue: number;
|
|
43
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
44
|
-
declare const _default: typeof __VLS_export;
|
|
45
|
-
export default _default;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { TimelineSegment } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* <SegmentedTimeline> — adjacent gradient bands with boundary dots.
|
|
4
|
-
*
|
|
5
|
-
* Internal variant SFC dispatched from <GlassTimeline variant="segmented">.
|
|
6
|
-
* Suitable for compact multi-phase progress timelines. Gradient endpoints
|
|
7
|
-
* map to per-phase chart-color tokens. Visual shape: N rectangles in a row.
|
|
8
|
-
*
|
|
9
|
-
* Each cell owns its own gradient background and per-state fill; the
|
|
10
|
-
* boundary dot is a button anchored to the right edge of each cell
|
|
11
|
-
* (the boundary between this cell and the next, or the timeline
|
|
12
|
-
* terminus).
|
|
13
|
-
*/
|
|
14
|
-
type __VLS_Props = {
|
|
15
|
-
segments?: TimelineSegment[];
|
|
16
|
-
};
|
|
17
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
18
|
-
click: (payload: {
|
|
19
|
-
key: string;
|
|
20
|
-
segment: TimelineSegment;
|
|
21
|
-
}) => any;
|
|
22
|
-
hover: (payload: {
|
|
23
|
-
key: string;
|
|
24
|
-
segment: TimelineSegment;
|
|
25
|
-
}) => any;
|
|
26
|
-
hoverEnd: (payload: {
|
|
27
|
-
key: string;
|
|
28
|
-
segment: TimelineSegment;
|
|
29
|
-
}) => any;
|
|
30
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
31
|
-
onClick?: ((payload: {
|
|
32
|
-
key: string;
|
|
33
|
-
segment: TimelineSegment;
|
|
34
|
-
}) => any) | undefined;
|
|
35
|
-
onHover?: ((payload: {
|
|
36
|
-
key: string;
|
|
37
|
-
segment: TimelineSegment;
|
|
38
|
-
}) => any) | undefined;
|
|
39
|
-
onHoverEnd?: ((payload: {
|
|
40
|
-
key: string;
|
|
41
|
-
segment: TimelineSegment;
|
|
42
|
-
}) => any) | undefined;
|
|
43
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
44
|
-
declare const _default: typeof __VLS_export;
|
|
45
|
-
export default _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer components { .toggle-group { display: inline-flex; inline-size: fit-content; max-inline-size: 100%; align-items: center; gap: 0.25rem; vertical-align: middle; scroll-padding-inline: 0.25rem; overscroll-behavior-inline: contain; } .toggle-group[data-type="single"] { justify-content: safe center; padding: 0.25rem; border-radius: calc(var(--radius-pill) + 0.25rem); background: var(--glass-bg-quiet); -webkit-backdrop-filter: var(--glass-cell-backdrop-filter, var(--glass-blur-quiet)); backdrop-filter: var(--glass-cell-backdrop-filter, var(--glass-blur-quiet)); box-shadow: var(--glass-rim-top), var(--glass-rim-bottom), inset 0 1px 2px var(--tab-track-recess-ink); } .toggle-group[data-orientation="vertical"] { flex-direction: column; align-items: stretch; } .toggle-group__item { --toggle-group-item-size: var(--control-h-md); display: inline-flex; flex: none; min-inline-size: var(--toggle-group-item-size); min-block-size: var(--toggle-group-item-size); align-items: center; justify-content: center; gap: 0.5rem; padding-inline: 0.75rem; border: 1px solid transparent; border-radius: var(--radius-pill); background: transparent; color: var(--muted-foreground); font: inherit; font-size: var(--control-text); font-weight: 500; line-height: 1; white-space: nowrap; cursor: pointer; appearance: none; touch-action: manipulation; user-select: none; --scale-press: var(--scale-press-sm); } .toggle-group__item[data-size="sm"] { --toggle-group-item-size: var(--control-h-sm); padding-inline: 0.625rem; font-size: var(--control-text-sm); } .toggle-group__item[data-size="lg"] { --toggle-group-item-size: var(--control-h-lg); padding-inline: 1.25rem; } .toggle-group__item[data-variant="outline"] { border-color: var(--control-surface-border); background: var(--control-surface-bg); -webkit-backdrop-filter: var(--glass-cell-backdrop-filter, var(--control-surface-blur)); backdrop-filter: var(--glass-cell-backdrop-filter, var(--control-surface-blur)); } .toggle-group__item:hover:not(:disabled) { background: var(--control-surface-bg-hover); color: var(--foreground); } .toggle-group__item[data-state="on"] { border-color: color-mix(in oklab, var(--primary) 28%, transparent); background: var(--accent); color: var(--accent-foreground); box-shadow: var(--shadow-sm); } .toggle-group__item:disabled { opacity: var(--opacity-disabled); cursor: not-allowed; pointer-events: none; } .toggle-group__item > svg { flex: none; pointer-events: none; } @media (forced-colors: active) { .toggle-group[data-type="single"], .toggle-group__item[data-variant="outline"] { border: 1px solid ButtonText; background: Canvas; box-shadow: none; } .toggle-group__item[data-state="on"] { border-color: Highlight; background: Highlight; color: HighlightText; } } }
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export type ToggleGroupVariant = "default" | "outline";
|
|
2
|
-
export type ToggleGroupSize = "sm" | "md" | "lg";
|
|
3
|
-
export interface ToggleGroupContext {
|
|
4
|
-
variant?: ToggleGroupVariant | null;
|
|
5
|
-
size?: ToggleGroupSize | null;
|
|
6
|
-
}
|
|
7
|
-
export declare const TOGGLE_GROUP_KEY: import("vue").InjectionKey<ToggleGroupContext>;
|
|
8
|
-
export declare function provideToggleGroupContext(context: ToggleGroupContext): void;
|
|
9
|
-
export declare const useOptionalToggleGroupContext: () => ToggleGroupContext | null;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useTypewriter } from "./useTypewriter";
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
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
|
-
* `border-radius` silhouette (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).
|
|
17
|
-
*
|
|
18
|
-
* Color arrives as a CSS string painted straight onto the swatch background — the
|
|
19
|
-
* dot needs no resolver because it does not feed a shader; the injected-color seam
|
|
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).
|
|
22
|
-
*/
|
|
23
|
-
type __VLS_Props = {
|
|
24
|
-
/** CSS color painted as the swatch background (any CSS color form). */
|
|
25
|
-
color: string;
|
|
26
|
-
/**
|
|
27
|
-
* Render mode:
|
|
28
|
-
* `solid` (default) — the filled organic blob (the swatch background IS the
|
|
29
|
-
* color; the existing register, unchanged).
|
|
30
|
-
* `ghost` — the SAME seeded blob SILHOUETTE traced as a DASHED outline: a
|
|
31
|
-
* dashed CSS BORDER reading the SAME seeded `border-radius`
|
|
32
|
-
* silhouette the solid dot fills (`borderRadius`), carrying
|
|
33
|
-
* the SAME wet `feDisplacementMap` filter so the displacement
|
|
34
|
-
* wobbles the dashed border INTO the seeded organic outline. A
|
|
35
|
-
* CSS dashed border hugs its own `border-radius`, so the outline
|
|
36
|
-
* follows the seeded blob EXACTLY — NOT an ellipse, NOT a circle,
|
|
37
|
-
* NOT a dashed rectangle. A low-alpha `color` fill is kept behind
|
|
38
|
-
* the border. A `ghost` of a given `color + seed` traces the SAME
|
|
39
|
-
* outline the `solid` dot of that seed fills (both read the same
|
|
40
|
-
* `useWatercolorBlob` silhouette — the ONE shape source). The empty-
|
|
41
|
-
* palette-slot / placeholder affordance.
|
|
42
|
-
*/
|
|
43
|
-
variant?: "solid" | "ghost";
|
|
44
|
-
/** Run the rAF-driven compositor transform wobble (default false → static). */
|
|
45
|
-
animate?: boolean;
|
|
46
|
-
/** Base morph cycle duration in ms (default 4000). */
|
|
47
|
-
cycleDuration?: number;
|
|
48
|
-
/** Border-radius range [lo, hi] as percentages (default [20, 80]). */
|
|
49
|
-
range?: [number, number];
|
|
50
|
-
/** Extra seed string mixed into the shape + wet-edge PRNG for uniqueness. */
|
|
51
|
-
seed?: string;
|
|
52
|
-
};
|
|
53
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
54
|
-
animate: boolean;
|
|
55
|
-
range: [number, number];
|
|
56
|
-
seed: string;
|
|
57
|
-
variant: "solid" | "ghost";
|
|
58
|
-
cycleDuration: number;
|
|
59
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
60
|
-
declare const _default: typeof __VLS_export;
|
|
61
|
-
export default _default;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { mulberry32, hashString } from "../../composables/glass/procedural/prng";
|
|
2
|
-
/** Generate 8 random border-radius percentages in [lo, hi] using the given PRNG. */
|
|
3
|
-
export declare function randomRadii(rng: () => number, lo: number, hi: number): number[];
|
|
4
|
-
/** Serialise 8 radii into a CSS `border-radius` shorthand (4 corners / 4 corners). */
|
|
5
|
-
export declare function radiiToCSS(r: number[]): string;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type Ref } from "vue";
|
|
2
|
-
export interface UseWatercolorBlobOptions {
|
|
3
|
-
/** Enable the rAF animation loop (drives a COMPOSITOR transform wobble). */
|
|
4
|
-
animate?: boolean;
|
|
5
|
-
/** Base cycle duration in ms (default 4000). */
|
|
6
|
-
cycleDuration?: number;
|
|
7
|
-
/** Border-radius range [lo, hi] as percentages (default [20, 80]). */
|
|
8
|
-
range?: [number, number];
|
|
9
|
-
/** Extra seed string mixed into the hash for unique shapes. */
|
|
10
|
-
seed?: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
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. 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. The wobble is driven
|
|
21
|
-
* by the library's ONE `useRAFLoop` — parked when the tab is
|
|
22
|
-
* hidden, frozen under `prefers-reduced-motion` — never a hand-rolled zombie rAF.
|
|
23
|
-
*/
|
|
24
|
-
export declare function useWatercolorBlob(color: Ref<string> | (() => string), options?: UseWatercolorBlobOptions): {
|
|
25
|
-
borderRadius: Ref<string, string>;
|
|
26
|
-
transform: Ref<string, string>;
|
|
27
|
-
};
|
|
28
|
-
export type WatercolorBlob = ReturnType<typeof useWatercolorBlob>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/** A 12-bucket chroma×alpha-weighted OKLCh hue accumulator over the SAME pixel pass. */
|
|
2
|
-
export interface HueHistogram {
|
|
3
|
-
/** chroma×alpha mass per hue bucket (the bucket weight). */
|
|
4
|
-
weight: Float64Array;
|
|
5
|
-
/** Σ chroma×alpha·cos(h) per bucket (for the circular-mean refine). */
|
|
6
|
-
sumCos: Float64Array;
|
|
7
|
-
/** Σ chroma×alpha·sin(h) per bucket. */
|
|
8
|
-
sumSin: Float64Array;
|
|
9
|
-
/** total chroma×alpha mass (the null-detection denominator numerator). */
|
|
10
|
-
totalMass: number;
|
|
11
|
-
/** total pixels accumulated (the null-mass denominator). */
|
|
12
|
-
n: number;
|
|
13
|
-
}
|
|
14
|
-
export declare function makeHueHistogram(): HueHistogram;
|
|
15
|
-
/**
|
|
16
|
-
* Bin ONE sRGB pixel (composited triple, already over-white) into the histogram,
|
|
17
|
-
* weighted by its OKLCh chroma × the source alpha — a low-chroma/gray pixel
|
|
18
|
-
* contributes ~0. The sRGB→OKLCh math is value.js's primitives (NOT hand-rolled).
|
|
19
|
-
*/
|
|
20
|
-
export declare function accumulateHuePixel(h: HueHistogram, r: number, g: number, b: number, alpha: number): void;
|
|
21
|
-
/**
|
|
22
|
-
* Resolve the histogram → a complete `oklch()` ambient-hue string, or `transparent`
|
|
23
|
-
* for a NULL (gray) sample. The modal bucket's chroma-weighted CIRCULAR MEAN is the
|
|
24
|
-
* picked hue; it is emitted at the FIXED sub-perceptual chroma/L (a HUE event, never
|
|
25
|
-
* the backdrop's saturation).
|
|
26
|
-
*/
|
|
27
|
-
export declare function resolveAmbientHue(h: HueHistogram): string;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { type ComputedRef, type CSSProperties, type MaybeRefOrGetter } from "vue";
|
|
2
|
-
/**
|
|
3
|
-
* `useSpecularPointer` — the EVOLUTION of `useSpecularTracking`. It
|
|
4
|
-
* writes the catch-light POSITION (`--mouse-x`/`--mouse-y`, as today) PLUS the
|
|
5
|
-
* `--specular-angle` channel — the pointer's angle-from-center the EDGE-glint conic
|
|
6
|
-
* sweep reads (the `.glass-material::before` recipe, material.css). The angle feed is
|
|
7
|
-
* what turns the centered disc into a motion-reactive RIM glint (the glass-THICKNESS
|
|
8
|
-
* read); the leaf is the ONE shared specular source the hover/button waves consume.
|
|
9
|
-
*
|
|
10
|
-
* SINGLE-SOURCE (the reconcile, EXTENDED here — NOT a fork). There is
|
|
11
|
-
* exactly ONE position-write core: `createSpecularWriter` (useSpecularTracking.ts) —
|
|
12
|
-
* the rAF-coalesced, cached-PRM, scope-dispose seam. This composable WRAPS that core;
|
|
13
|
-
* the angle is DERIVED in the sink from the SAME `(x, y)` percentage the core already
|
|
14
|
-
* computes (`angle = atan2(y - 50, x - 50)`), so there is NO duplicate
|
|
15
|
-
* `getBoundingClientRect`, `--mouse-x` write — the core owns the layout read + the
|
|
16
|
-
* coordinate math, this leaf only adds the angle derivation onto the existing sink.
|
|
17
|
-
* `useSpecularTracking` (the position-only delivery) STAYS for the bare-position call
|
|
18
|
-
* sites; `useSpecularPointer` is the angle-adding delivery for an edge-glint consumer.
|
|
19
|
-
* Both wrap the ONE core — never two copies of the rAF/PRM/coordinate logic.
|
|
20
|
-
*
|
|
21
|
-
* PRM-aware by construction (the wrapped core skips the write under
|
|
22
|
-
* `prefers-reduced-motion: reduce` — the CSS bracket pins `--specular-x/y` to the
|
|
23
|
-
* centred 50% and `--specular-angle` to its `0deg` static rest). The composable
|
|
24
|
-
* disposes the core (cancel the pending rAF + drop the cached PRM listener) on scope
|
|
25
|
-
* teardown.
|
|
26
|
-
*
|
|
27
|
-
* The optional press coupling.
|
|
28
|
-
* A consumer may pass `press` (a 0..1 press scalar — a `useLiquidPress` `.value`, or
|
|
29
|
-
* any press signal); it is folded reactively into the emitted style as the ONE
|
|
30
|
-
* `--glass-btn-press-t` channel the `.glass-material::before` specular magnitude reads
|
|
31
|
-
* (material.css). Reusing the SINGLE press channel (never a forked `--*-press-t`) keeps
|
|
32
|
-
* ONE drive, two legs — the gleam SWELLS + SETTLES with the press spring. The merge is
|
|
33
|
-
* a `computed` so the press tracks the spring INDEPENDENTLY of pointer moves (a press
|
|
34
|
-
* settles while the pointer is still). SOFT-GATED: when `press` is OMITTED the emitted
|
|
35
|
-
* style carries NO press channel (the CSS `--glass-btn-press-t` default 0 holds — no
|
|
36
|
-
* hard press dependency), and the position/angle write is unchanged.
|
|
37
|
-
*/
|
|
38
|
-
export interface UseSpecularPointerOptions {
|
|
39
|
-
/** Optional 0..1 press scalar (soft-gated) folded into `--glass-btn-press-t`. */
|
|
40
|
-
press?: MaybeRefOrGetter<number>;
|
|
41
|
-
}
|
|
42
|
-
export interface UseSpecularPointer {
|
|
43
|
-
/**
|
|
44
|
-
* Bind to the host element's `:style`. Carries `--mouse-x/--mouse-y` +
|
|
45
|
-
* `--specular-angle` (+ the press-coupled `--glass-btn-press-t` when `press` is
|
|
46
|
-
* supplied).
|
|
47
|
-
*/
|
|
48
|
-
specularStyle: ComputedRef<CSSProperties>;
|
|
49
|
-
/** Bind to the host's `@pointermove`. Schedules the rAF-coalesced position+angle write (PRM-gated). */
|
|
50
|
-
onPointerMove: (event: PointerEvent) => void;
|
|
51
|
-
}
|
|
52
|
-
export declare function useSpecularPointer(options?: UseSpecularPointerOptions): UseSpecularPointer;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type { Vec2, CellDriver } from "./waveField";
|
|
2
|
-
export { travelingEnvelope, curlScalar, cellTwist, cellDriver, cellHeight, faceRelief, facePlateau, waveFlow, cursorSwirl, heightField, waveSwell, cellWarpBeforeHeight, } from "./waveField";
|
|
3
|
-
export { WAVE_FIELD_GLSL } from "./waveField.glsl";
|
|
4
|
-
export { WAVE_FIELD_WGSL } from "./waveField.wgsl";
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/** A 2-vector. */
|
|
2
|
-
export interface Vec2 {
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* The directed-twist magnitude FLOOR (the visibility cure — shared across JS↔GLSL↔WGSL).
|
|
8
|
-
* The curl scalar alone sits ~|0.3|, damping the crest twist to a whisper; a cell in the
|
|
9
|
-
* crest band always rotates at least this fraction of `twistMax` so the wave READS.
|
|
10
|
-
*/
|
|
11
|
-
export declare const TWIST_FLOOR = 0.62;
|
|
12
|
-
/**
|
|
13
|
-
* A moving Gaussian crest band sweeping along `waveDir` at angular speed `waveOmega`.
|
|
14
|
-
* Returns the envelope in [0,1]: ~0 where the wave has NOT reached, ~1 at the crest,
|
|
15
|
-
* relaxing back to ~0 behind it. `coord` is the wave phase at a point; `crest` wraps it
|
|
16
|
-
* to a single 0..1 cycle and `env` is the Gaussian about the cycle midpoint. The crest
|
|
17
|
-
* "passes OVER and THROUGH" the field — the cells are calm ahead, twist HARD at the
|
|
18
|
-
* crest, relax behind.
|
|
19
|
-
*/
|
|
20
|
-
export declare function travelingEnvelope(pivot: Vec2, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number): number;
|
|
21
|
-
/**
|
|
22
|
-
* The curl-noise vorticity read at the cell center — a smooth low-frequency scalar in
|
|
23
|
-
* roughly [-1,1] that DIRECTS the per-cell twist so adjacent cells lean TOGETHER (a
|
|
24
|
-
* flowing read, never per-cell noise). The host supplies `curlFn(p) -> Vec2` (the shared
|
|
25
|
-
* divergence-free curl of its own noise basis); this takes the x-component as the signed
|
|
26
|
-
* director and folds a slow time drift so the flow itself evolves. Basis-agnostic.
|
|
27
|
-
*/
|
|
28
|
-
export declare function curlScalar(curlFn: (p: Vec2) => Vec2, cc: Vec2, t: number): number;
|
|
29
|
-
/** The cell pivot `cc` + the spring-eased crest envelope `env` a cell rides. */
|
|
30
|
-
export interface CellDriver {
|
|
31
|
-
/** The PRE-twist cell center (the per-cell pivot the twist rotates about). */
|
|
32
|
-
cc: Vec2;
|
|
33
|
-
/** The traveling-Gaussian crest envelope × amp at that pivot ([0,1] · amp). */
|
|
34
|
-
env: number;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* The pre-twist driver for the grid coordinate `g`: floor `g` to its cell, return that cell's
|
|
38
|
-
* center `cc` + the traveling-wave crest envelope `env` evaluated AT that center (= `cellHeight`,
|
|
39
|
-
* so there is provably ONE envelope). FOLD A: the face must sample its height/relief at THIS
|
|
40
|
-
* pre-twist `cc`, NOT at `floor(twisted_g)` (the crest twist crosses the cell boundary → the
|
|
41
|
-
* face would light a NEIGHBOUR cell). `cellTwist` rides the SAME driver, so twist and face fuse.
|
|
42
|
-
*/
|
|
43
|
-
export declare function cellDriver(g: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, amp: number): CellDriver;
|
|
44
|
-
/**
|
|
45
|
-
* Twist the grid coordinate `g` about its OWN cell center, gated by the traveling wave
|
|
46
|
-
* and directed by the curl flow. The pivot is the cell center (a per-cell constant) so the
|
|
47
|
-
* box rotates about its middle — the cell stays in place but TWISTS (a windmill of warped
|
|
48
|
-
* boxes where the crest passes; calm square cells elsewhere). `amp` is the spring-eased
|
|
49
|
-
* envelope amplitude the JS host drives (the liquid-weight inertia). Returns the twisted
|
|
50
|
-
* coordinate (still in grid space; the host evaluates its extraction at it).
|
|
51
|
-
*
|
|
52
|
-
* FOLD C — the `TWIST_FLOOR` is CREST-GATED: the floor is multiplied by the crest envelope so
|
|
53
|
-
* OFF-crest cells relax to near-flat (calm paper) and only the crest band crinkles. Without
|
|
54
|
-
* this every cell crinkles regardless of the wave (static foil, no traveling read).
|
|
55
|
-
*/
|
|
56
|
-
export declare function cellTwist(curlFn: (p: Vec2) => Vec2, g: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, twistMax: number, shearMax: number, amp: number): Vec2;
|
|
57
|
-
/**
|
|
58
|
-
* The sheet displacement at a cell center `cc` — the EXACT traveling-wave scalar the twist
|
|
59
|
-
* rides (`travelingEnvelope · amp`), surfaced as a named leaf fn so the face reads ONE
|
|
60
|
-
* envelope. Range [0,1]·amp: ~0 ahead of, behind the crest, ~amp at the crest. `cellTwist`
|
|
61
|
-
* (via `cellDriver`) calls this, so a sign drift reds the numeric parity gate everywhere.
|
|
62
|
-
*/
|
|
63
|
-
export declare function cellHeight(cc: Vec2, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, amp: number): number;
|
|
64
|
-
/**
|
|
65
|
-
* The central-difference slope of `cellHeight` across a cell (`ε = 0.5·cellSize`) — the lit-fold
|
|
66
|
-
* normal source. Pure, derivative-FREE (NO `dFdx` on the height) → Safari WebGL2-safe by
|
|
67
|
-
* construction (only the Golus AA uses `fwidth`). Returns ∇H = (∂H/∂x, ∂H/∂y) at `cc`.
|
|
68
|
-
*/
|
|
69
|
-
export declare function faceRelief(cc: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, amp: number): Vec2;
|
|
70
|
-
/**
|
|
71
|
-
* Soft inset-square coverage inside a (warped) cell — the filled FACE plateau. `d` is the
|
|
72
|
-
* distance into the cell from the nearest gutter (per axis, on the triangle-wave the Golus
|
|
73
|
-
* grid already uses); `smoothstep(inset, inset+2·aa, d)` floors the face to a soft-edged tile
|
|
74
|
-
* that retreats as `inset` grows (the squash). The shaders pass `aa = fwidth(g)` (crisp at any
|
|
75
|
-
* DPR — the Golus precedent); the JS round-trip passes a fixed `uvDeriv` (reproducible).
|
|
76
|
-
* Returns face coverage [0..1].
|
|
77
|
-
*/
|
|
78
|
-
export declare function facePlateau(g: Vec2, inset: number, uvDeriv: Vec2): number;
|
|
79
|
-
/**
|
|
80
|
-
* A LOCAL Gaussian-gated rotation about the cursor — the finger twists the cells around
|
|
81
|
-
* it (the re-aimed `cursorBulge`: a swirl, not a radial push). `strength` is the peak
|
|
82
|
-
* twist angle at the cursor; `radius` the Gaussian falloff (grid units). Returns the
|
|
83
|
-
* swirled coordinate.
|
|
84
|
-
*/
|
|
85
|
-
export declare function cursorSwirl(g: Vec2, cursor: Vec2, strength: number, radius: number): Vec2;
|
|
86
|
-
/**
|
|
87
|
-
* The `waveFlow` second-flow FREQUENCY RATIO (shared across JS↔GLSL↔WGSL — the round-trip fence).
|
|
88
|
-
* The secondary counter-flow term samples the curl at `warpFreq · this` so it drifts on a slightly
|
|
89
|
-
* different spatial scale (the anti-loop variety) while staying the SAME order of magnitude as the
|
|
90
|
-
* primary. `0.6 · 1.833333 ≈ 1.1` reproduces concentric's unit-scale pair; the GLSL/WGSL
|
|
91
|
-
* transcriptions carry the identical literal.
|
|
92
|
-
*/
|
|
93
|
-
export declare const WAVE_FLOW_SECOND_RATIO = 1.833333;
|
|
94
|
-
/**
|
|
95
|
-
* A CONTINUOUS divergence-free flow warp gated by the traveling wave — the SMOOTH twin of
|
|
96
|
-
* `cellTwist` for surfaces that need an unbroken coordinate (the level-set contours shatter
|
|
97
|
-
* into a mesh under the per-cell discontinuity; they need this continuous warp). The curl
|
|
98
|
-
* flow direction is read at `g` itself (no per-cell pivot → no seam), its magnitude gated by
|
|
99
|
-
* the SAME traveling Gaussian crest sweeping along `waveDir`. So the contours flow + twist as
|
|
100
|
-
* the wave passes OVER and THROUGH them, with NO cell-boundary discontinuity. Returns the
|
|
101
|
-
* warped coordinate.
|
|
102
|
-
*
|
|
103
|
-
* the LOCALLY-AFFINE frequency law. `warpFreq` is the HOST-supplied spatial
|
|
104
|
-
* frequency (in the caller's OWN coordinate units) at which the curl-flow potential is sampled.
|
|
105
|
-
* The caller passes a frequency an ORDER OF MAGNITUDE BELOW its own grid/contour frequency, so
|
|
106
|
-
* the warp-displacement gradient is ~constant across any ONE cell (the warp Jacobian is locally
|
|
107
|
-
* affine): the major gridlines bow as ONE smooth continuous curve across the frame, NEVER the
|
|
108
|
-
* per-cell crackle a cell-scale sampling frequency produces. liquid-grid feeds a CELL-scale
|
|
109
|
-
* coordinate (`uv · gridScale`, span ~14–40 cells) so it passes a tiny `warpFreq` (~0.03 →
|
|
110
|
-
* wavelength of MANY cells); concentric feeds a UNIT-scale domain (`vUv`, span ~1) so it passes
|
|
111
|
-
* the unit-scale `0.6`. The amplitude is UNCHANGED (the curl magnitude is the intrinsic q-space
|
|
112
|
-
* gradient at the fixed `CURL_EPS`, independent of `warpFreq` — only the spatial frequency drops,
|
|
113
|
-
* the bow amplitude `twistMax · env` is preserved). The `t·` drift coefficients are host-agnostic
|
|
114
|
-
* (they set the flow's temporal evolution rate in q-space, independent of `warpFreq`).
|
|
115
|
-
*/
|
|
116
|
-
export declare function waveFlow(curlFn: (p: Vec2) => Vec2, g: Vec2, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, twistMax: number, amp: number, warpFreq?: number): Vec2;
|
|
117
|
-
/**
|
|
118
|
-
* A LOW-octave value-noise topography H(p) — the scalar field concentric extracts level-set
|
|
119
|
-
* contours of. `octaves` LOW (3) keeps the nested loops CLEAN (not high-freq speckle — the
|
|
120
|
-
* legibility floor). The host supplies its `noiseFn(x,y)` (the SAME value-noise basis its
|
|
121
|
-
* `potentialFBM` uses, basis-agnostic). Returns the un-normalized height.
|
|
122
|
-
*/
|
|
123
|
-
export declare function heightField(noiseFn: (x: number, y: number) => number, p: Vec2, octaves: number, seed: number): number;
|
|
124
|
-
/**
|
|
125
|
-
* The ω=√(g·k) breathing swell — a slow global rise/fall the topography rides so basins
|
|
126
|
-
* inflate/deflate with weight (the deep-water dispersion the suite shares). A pure
|
|
127
|
-
* f(t) the host adds onto H. `phase` lets a host offset its own swell.
|
|
128
|
-
*/
|
|
129
|
-
export declare function waveSwell(t: number, phase: number): number;
|
|
130
|
-
/**
|
|
131
|
-
* The cell-warp applied BEFORE the height eval (concentric's `cellWarpBeforeHeight`). It
|
|
132
|
-
* is the SAME `cellTwist` paper-grid runs — concentric warps the SAMPLING coordinate so
|
|
133
|
-
* the contours twist/flow as the traveling wave crosses (kinship with paper-grid). A thin
|
|
134
|
-
* alias for the gate's by-name assert + the host's call-site clarity.
|
|
135
|
-
*/
|
|
136
|
-
export declare function cellWarpBeforeHeight(curlFn: (p: Vec2) => Vec2, g: Vec2, cellSize: number, t: number, waveDir: Vec2, waveK: number, waveOmega: number, waveSigma: number, twistMax: number, shearMax: number, amp: number): Vec2;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const WAVE_FIELD_GLSL = "\n#ifndef WAVE_FIELD_TAU\n#define WAVE_FIELD_TAU 6.283185307179586\n#endif\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfloat travelingEnvelope(vec2 pivot, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma) {\n float coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n float crest = fract(coord / WAVE_FIELD_TAU);\n float z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfloat curlScalar(vec2 cc, float t) {\n vec2 f = curlFBM(vec2(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\n#ifndef WAVE_FIELD_TWIST_FLOOR\n#define WAVE_FIELD_TWIST_FLOOR 0.62\n#endif\nfloat directedTwist(float s, float floorMag) {\n float mag = max(floorMag, abs(s));\n float sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// Defined ABOVE cellTwist: cellTwist rides cellHeight via the driver so twist + face read ONE\n// envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfloat cellHeight(vec2 cc, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma, float amp) {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (floor(twisted_g) at the\n// crest lights a neighbouring cell). cc is in .xy and env in .z.\nvec3 cellDriver(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float cs = max(cellSize, 1e-3);\n vec2 cc = (floor(g / cs) + 0.5) * cs;\n float env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nvec2 faceRelief(vec2 cc, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float amp) {\n float eps = max(cellSize, 1e-3) * 0.5;\n float hxp = cellHeight(cc + vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hxm = cellHeight(cc - vec2(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hyp = cellHeight(cc + vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n float hym = cellHeight(cc - vec2(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the distance\n// into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats as it grows\n// (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfloat facePlateau(vec2 g, float inset, vec2 uvDeriv) {\n vec2 tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n float d = min(tri.x, tri.y);\n float aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nvec2 cellTwist(vec2 g, float cellSize, float t, vec2 waveDir, float waveK, float waveOmega,\n float waveSigma, float twistMax, float shearMax, float amp) {\n vec3 drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n vec2 cc = drv.xy;\n float env = drv.z;\n float floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n float theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n float shear = shearMax * env * directedTwist(curlScalar(cc + vec2(17.3, 9.1), t), floorMag);\n vec2 local = g - cc;\n float ct = cos(theta);\n float st = sin(theta);\n vec2 rot = vec2(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x += shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// warpFreq is the host-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as one smooth curve, no sub-cell crackle). LiquidGrid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nvec2 waveFlow(vec2 g, float t, vec2 waveDir, float waveK, float waveOmega, float waveSigma,\n float twistMax, float amp, float warpFreq) {\n float env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n vec2 f = curlFBM(vec2(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n float wf2 = warpFreq * 1.833333;\n vec2 f2 = curlFBM(vec2(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n float k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nvec2 cursorSwirl(vec2 g, vec2 cursor, float strength, float radius) {\n vec2 to = g - cursor;\n float d2 = dot(to, to);\n float r = max(radius, 1e-4);\n float theta = strength * exp(-d2 / (2.0 * r * r));\n float ct = cos(theta);\n float st = sin(theta);\n return cursor + vec2(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfloat heightField(vec2 p, float octavesF, float seed) {\n float v = 0.0;\n float amp = 0.5;\n float freq = 1.0;\n float px = p.x + seed;\n float py = p.y - seed;\n int n = int(clamp(octavesF, 1.0, 6.0));\n for (int i = 0; i < 6; i++) {\n if (i >= n) break;\n v += amp * valueNoise(px * freq, py * freq);\n float rx = 0.8 * px - 0.6 * py;\n float ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq *= 2.0;\n amp *= 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfloat waveSwell(float t, float phase) {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const WAVE_FIELD_WGSL = "\nconst WAVE_FIELD_TAU: f32 = 6.283185307179586;\n\n// The traveling-wave envelope \u2014 a moving Gaussian crest band sweeping along waveDir.\nfn travelingEnvelope(pivot: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32) -> f32 {\n let coord = dot(pivot, waveDir) * waveK - t * waveOmega;\n let crest = fract(coord / WAVE_FIELD_TAU);\n let z = (crest - 0.5) * 2.0;\n return exp(-(z * z) / max(waveSigma, 1e-3));\n}\n\n// The curl-direction scalar \u2014 the smooth low-freq director the per-cell twist follows.\nfn curlScalar(cc: vec2f, t: f32) -> f32 {\n let f = curlFBM(vec2f(cc.x * 0.5 + t * 0.08, cc.y * 0.5 - t * 0.06));\n return clamp(f.x, -1.0, 1.0);\n}\n\n// The directed-twist FLOOR (the visibility cure): keep the curl SIGN (adjacent cells lean\n// together) but floor the magnitude so a crest-band cell ALWAYS rotates decisively.\nconst WAVE_FIELD_TWIST_FLOOR: f32 = 0.62;\nfn directedTwist(s: f32, floorMag: f32) -> f32 {\n let mag = max(floorMag, abs(s));\n let sgn = tanh(s * 6.0);\n return sgn * mag;\n}\n\n// \u2500\u2500 The FACE leaf (the structurally-absent RE-INVENT \u2014 height-lit filled cell interior) \u2500\u2500\n// DECLARED ABOVE cellTwist (no WGSL forward declaration): cellTwist rides cellHeight via the\n// driver so twist + face read ONE envelope.\n\n// The sheet displacement at a cell center = the EXACT traveling-wave scalar the twist rides.\nfn cellHeight(cc: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32, amp: f32) -> f32 {\n return travelingEnvelope(cc, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n}\n\n// The pre-twist driver (FOLD A): the cell pivot cc + the crest envelope env the twist AND the\n// face both ride. The face samples height/relief at THIS pre-twist cc (the crest twist crosses\n// the cell boundary \u2192 floor(twisted_g) would light a neighbouring cell). cc is in .xy and env in .z.\nfn cellDriver(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec3f {\n let cs = max(cellSize, 1e-3);\n let cc = (floor(g / cs) + 0.5) * cs;\n let env = cellHeight(cc, t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec3f(cc, env);\n}\n\n// The central-difference slope of cellHeight across a cell (eps = 0.5\u00B7cellSize) \u2014 derivative-\n// FREE (NO dFdx on the height) \u2192 Safari WebGL2-safe. Returns \u2207H.\nfn faceRelief(cc: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, amp: f32) -> vec2f {\n let eps = max(cellSize, 1e-3) * 0.5;\n let hxp = cellHeight(cc + vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hxm = cellHeight(cc - vec2f(eps, 0.0), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hyp = cellHeight(cc + vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n let hym = cellHeight(cc - vec2f(0.0, eps), t, waveDir, waveK, waveOmega, waveSigma, amp);\n return vec2f((hxp - hxm) / (2.0 * eps), (hyp - hym) / (2.0 * eps));\n}\n\n// Soft inset-square coverage inside a (warped) cell \u2014 the filled FACE plateau. d is the\n// distance into the cell from the nearest gutter (the Golus triangle-wave); the inset retreats\n// as it grows (the squash). aa = the shader's fwidth(g) (JS passes a fixed uvDeriv).\nfn facePlateau(g: vec2f, inset: f32, uvDeriv: vec2f) -> f32 {\n let tri = 1.0 - abs(fract(g) * 2.0 - 1.0);\n let d = min(tri.x, tri.y);\n let aa = max(uvDeriv.x, uvDeriv.y) * 1.5;\n return smoothstep(inset, inset + 2.0 * aa, d);\n}\n\n// The cell-local twist about each cell's own center, gated by the traveling wave + directed\n// by the curl flow. amp is the spring-eased envelope amplitude the JS host drives. FOLD C: the\n// TWIST_FLOOR is crest-gated by env so OFF-crest cells relax to flat calm paper (the traveling\n// read, not static foil).\nfn cellTwist(g: vec2f, cellSize: f32, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32,\n waveSigma: f32, twistMax: f32, shearMax: f32, amp: f32) -> vec2f {\n let drv = cellDriver(g, cellSize, t, waveDir, waveK, waveOmega, waveSigma, amp);\n let cc = drv.xy;\n let env = drv.z;\n let floorMag = WAVE_FIELD_TWIST_FLOOR * env; // FOLD C: crest-gated floor\n let theta = twistMax * env * directedTwist(curlScalar(cc, t), floorMag);\n let shear = shearMax * env * directedTwist(curlScalar(cc + vec2f(17.3, 9.1), t), floorMag);\n let local = g - cc;\n let ct = cos(theta);\n let st = sin(theta);\n var rot = vec2f(ct * local.x - st * local.y, st * local.x + ct * local.y);\n rot.x = rot.x + shear * rot.y; // a small skew so the box MORPHS, not just rotates\n return cc + rot;\n}\n\n// The CONTINUOUS traveling-wave FLOW warp \u2014 the SMOOTH twin of cellTwist (no per-cell seam;\n// for the level-set contours that shatter into a mesh under the cell discontinuity).\n// warpFreq is the host-supplied curl-sampling spatial frequency (the caller's\n// own coordinate units): an order of magnitude BELOW its grid frequency so the warp is locally\n// affine (major lines bow as one smooth curve, no sub-cell crackle). LiquidGrid (cell-scale g0)\n// passes ~0.03; concentric (unit-scale p) passes 0.6. The 1.833333 second-flow ratio transcribes\n// WAVE_FLOW_SECOND_RATIO. Amplitude unchanged \u2014 curl magnitude is the intrinsic gradient at the\n// fixed CURL_EPS, independent of warpFreq; the t-drift is host-agnostic.\nfn waveFlow(g: vec2f, t: f32, waveDir: vec2f, waveK: f32, waveOmega: f32, waveSigma: f32,\n twistMax: f32, amp: f32, warpFreq: f32) -> vec2f {\n let env = travelingEnvelope(g, t, waveDir, waveK, waveOmega, waveSigma) * amp;\n let f = curlFBM(vec2f(g.x * warpFreq + t * 0.05, g.y * warpFreq - t * 0.04));\n let wf2 = warpFreq * 1.833333;\n let f2 = curlFBM(vec2f(g.x * wf2 - t * 0.03, g.y * wf2 + t * 0.035));\n let k = twistMax * env;\n return g + (f + f2 * 0.5) * k;\n}\n\n// The local cursor swirl \u2014 the finger twists the cells around it (re-aimed cursorBulge).\nfn cursorSwirl(g: vec2f, cursor: vec2f, strength: f32, radius: f32) -> vec2f {\n let to = g - cursor;\n let d2 = dot(to, to);\n let r = max(radius, 1e-4);\n let theta = strength * exp(-d2 / (2.0 * r * r));\n let ct = cos(theta);\n let st = sin(theta);\n return cursor + vec2f(ct * to.x - st * to.y, st * to.x + ct * to.y);\n}\n\n// The LOW-octave value-noise topography \u2014 the scalar field concentric extracts contours of.\nfn heightField(p: vec2f, octavesF: f32, seed: f32) -> f32 {\n var v = 0.0;\n var amp = 0.5;\n var freq = 1.0;\n var px = p.x + seed;\n var py = p.y - seed;\n let n = i32(clamp(octavesF, 1.0, 6.0));\n for (var i = 0; i < 6; i = i + 1) {\n if (i >= n) { break; }\n v = v + amp * valueNoise(px * freq, py * freq);\n let rx = 0.8 * px - 0.6 * py;\n let ry = 0.6 * px + 0.8 * py;\n px = rx;\n py = ry;\n freq = freq * 2.0;\n amp = amp * 0.5;\n }\n return v;\n}\n\n// The \u03C9=\u221A(g\u00B7k) breathing swell \u2014 basins inflate/deflate with weight.\nfn waveSwell(t: f32, phase: f32) -> f32 {\n return sin(t * 0.35 + phase) * 0.5 + sin(t * 0.21 + phase * 1.7) * 0.5;\n}\n";
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { createWebGPUCanvas, supportsWebGPU, WebGPUInitError, type WebGPUCanvasFrame, type WebGPUCanvasHandle, type WebGPUCanvasOptions, type WebGPUSuspendReason, } from "./useWebGPUCanvas";
|
|
2
|
-
export { createGpuSubstrate, type GpuBackend, type GpuSubstrateHandle, type GpuSubstrateOptions, } from "./useGpuSubstrate";
|
|
3
|
-
export { sizeBacking, type BackingSize, type DprPolicy, } from "../webgl/createCanvasLifecycle";
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from "./dark";
|
|
2
|
-
export * from "./keyboard";
|
|
3
|
-
export * from "./reactive";
|
|
4
|
-
export * from "./dom";
|
|
5
|
-
export * from "./motion";
|
|
6
|
-
export * from "./motion/core";
|
|
7
|
-
export * from "./glass";
|
|
8
|
-
export * from "./sidebar";
|
|
9
|
-
export * from "../components/infinite-scroll/composables";
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type Ref } from "vue";
|
|
2
|
-
/** The `useCountup` return shape. */
|
|
3
|
-
export interface UseCountupReturn {
|
|
4
|
-
/** Animate the count-ups inside the currently-active slide/region. */
|
|
5
|
-
runActive: () => void;
|
|
6
|
-
/** Snap EVERY `[data-countup]` in the document to its end value (still capture). */
|
|
7
|
-
settle: () => void;
|
|
8
|
-
/** Cancel every in-flight tween (also runs on scope-dispose). */
|
|
9
|
-
cancel: () => void;
|
|
10
|
-
}
|
|
11
|
-
export interface UseCountupOptions {
|
|
12
|
-
/**
|
|
13
|
-
* Easing applied to tween progress — a value.js-FREE callable
|
|
14
|
-
* `(p: number) => number` over `[0, 1]`. A callable keeps the
|
|
15
|
-
* `NumericAnimation` engine off the value.js boundary (a string name would
|
|
16
|
-
* dynamic-import the value.js easing registry).
|
|
17
|
-
*/
|
|
18
|
-
easeFn: (p: number) => number;
|
|
19
|
-
/** When it returns true, `runActive` is a no-op (e.g. export/print mode). */
|
|
20
|
-
skip?: () => boolean;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Walk `[data-countup]` figures under `hostRef` and tween each from 0 → target.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* const { runActive, settle } = useCountup(deckRef, { easeFn: (p) => p });
|
|
27
|
-
* // on slide-activate: runActive();
|
|
28
|
-
* // on still-capture: settle();
|
|
29
|
-
*/
|
|
30
|
-
export declare function useCountup(hostRef: Ref<HTMLElement | null>, opts: UseCountupOptions): UseCountupReturn;
|