@mkbabb/glass-ui 0.2.0 → 2.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 +170 -70
- package/dist/CardFooter-Yi0xtLLd.js +129 -0
- package/dist/CollapsibleContent-DHRuXE3P.js +52 -0
- package/dist/CommandShortcut-_INFUMu6.js +285 -0
- package/dist/ContextMenuContent-CvXfU5qz.js +85 -0
- package/dist/ContextMenuSubContent-DCkweFW9.js +250 -0
- package/dist/DataTable-Ce00dbHD.js +460 -0
- package/dist/DialogContent-CmCijgX9.js +93 -0
- package/dist/DialogFooter-DRdaCok0.js +165 -0
- package/dist/DiscoGlyph-wRA02zAJ.js +132 -0
- package/dist/GlyphFace-BnPMUZ16.js +51 -0
- package/dist/HoverCardContent-4nN5-5bz.js +83 -0
- package/dist/HoverPopover-Btv4RQfv.js +80 -0
- package/dist/IconTooltip-ge_mBSWR.js +25 -0
- package/dist/Input-CbakTe3B.js +32 -0
- package/dist/InstrumentChassis-DOaVYyWq.js +65 -0
- package/dist/InstrumentRail-jHDqXj70.js +44 -0
- package/dist/Label-C8QMJSsf.js +32 -0
- package/dist/MetricBadge-DRBB18Xq.js +78 -0
- package/dist/ModalOverlay-DKLVY-cj.js +53 -0
- package/dist/Notification-DrI1DT2v.js +99 -0
- package/dist/PaperBackdrop-Bc2drCqJ.js +31 -0
- package/dist/PopoverContent-BCH4eYs8.js +121 -0
- package/dist/Progress-CCH-2UBR.js +126 -0
- package/dist/ScrollingText-7P8skg5W.js +40 -0
- package/dist/SelectGroup-O69GTQ77.js +31 -0
- package/dist/SelectScrollDownButton-yu8EYUnu.js +235 -0
- package/dist/SelectSeparator-GTHxKO0a.js +49 -0
- package/dist/Separator-_NCypg_C.js +37 -0
- package/dist/Switch-CL0uxu8F.js +41 -0
- package/dist/Toaster-DY8_jtHv.js +255 -0
- package/dist/ToggleGroupItem-BYG_8M9M.js +152 -0
- package/dist/TooltipProvider-C5QLSPto.js +104 -0
- package/dist/UnderlineTabs-BtrUcXn-.js +64 -0
- package/dist/_plugin-vue_export-helper-n-_DRHWS.js +8 -0
- package/dist/animated-digit.d.ts +1 -0
- package/dist/animated-digit.js +44 -0
- package/dist/api/index.d.ts +30 -0
- package/dist/api.js +2 -0
- package/dist/aurora.d.ts +1 -0
- package/dist/aurora.js +541 -0
- package/dist/badge-BbxVKZfw.js +49 -0
- package/dist/badge.d.ts +1 -0
- package/dist/badge.js +2 -0
- package/dist/button-BlOW34DT.js +70 -0
- package/dist/button.d.ts +1 -0
- package/dist/button.js +2 -0
- package/dist/card.d.ts +1 -0
- package/dist/card.js +2 -0
- package/dist/carousel.d.ts +2 -0
- package/dist/carousel.js +394 -0
- package/dist/check-dwgetki8.js +7 -0
- package/dist/chevron-down-DILQA1t6.js +7 -0
- package/dist/chevron-right-fS7fal2t.js +7 -0
- package/dist/chevron-up-BtYjYQOS.js +7 -0
- package/dist/cn-DJXf4yaB.js +97 -0
- package/dist/collapsible.d.ts +1 -0
- package/dist/collapsible.js +2 -0
- package/dist/command.d.ts +1 -0
- package/dist/command.js +2 -0
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +48 -0
- package/dist/components/custom/animated-digit/index.d.ts +2 -0
- package/dist/components/custom/aurora/Aurora.vue.d.ts +95 -0
- package/dist/components/custom/aurora/composables/color.d.ts +39 -0
- package/dist/components/custom/aurora/composables/configSource.d.ts +10 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +54 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +67 -0
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +25 -0
- package/dist/components/custom/aurora/index.d.ts +9 -0
- package/dist/components/custom/aurora/presets.d.ts +121 -0
- package/dist/components/custom/aurora/renderMode.d.ts +30 -0
- package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +1 -0
- package/dist/components/custom/aurora/shaders/aurora.vert.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +102 -0
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +68 -0
- package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +63 -0
- package/dist/components/custom/configurator/density.d.ts +30 -0
- package/dist/components/custom/configurator/index.d.ts +6 -0
- package/dist/components/custom/configurator/useConfiguratorState.d.ts +45 -0
- package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +32 -0
- package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +23 -0
- package/dist/components/custom/disco-glyph/DiscoGlyph.vue.d.ts +58 -0
- package/dist/components/custom/disco-glyph/index.d.ts +1 -0
- package/dist/components/custom/dock/DockDropdownTrigger.vue.d.ts +29 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +30 -0
- package/dist/components/custom/dock/DockLayer.vue.d.ts +34 -0
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +43 -0
- package/dist/components/custom/dock/DockSelectTrigger.vue.d.ts +29 -0
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +39 -0
- package/dist/components/custom/dock/GlassDock.vue.d.ts +96 -0
- package/dist/components/custom/dock/composables/dockContext.d.ts +40 -0
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +29 -0
- package/dist/components/custom/dock/composables/index.d.ts +7 -0
- package/dist/components/custom/dock/composables/isTeleportedTarget.d.ts +9 -0
- package/dist/components/custom/dock/composables/useDockState.d.ts +70 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +34 -0
- package/dist/components/custom/dock/index.d.ts +9 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +40 -0
- package/dist/components/custom/glass-carousel/GlassCarousel.vue.d.ts +36 -0
- package/dist/components/custom/glass-carousel/GlassCarouselItem.vue.d.ts +28 -0
- package/dist/components/custom/glass-carousel/index.d.ts +4 -0
- package/dist/components/custom/glass-carousel/useGlassCarousel.d.ts +30 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +41 -0
- package/dist/components/custom/glass-panel/index.d.ts +2 -0
- package/dist/components/custom/glyph-face/GlyphFace.vue.d.ts +64 -0
- package/dist/components/custom/glyph-face/index.d.ts +2 -0
- package/dist/components/custom/glyph-face/keys.d.ts +35 -0
- package/dist/components/custom/header-ribbon/HeaderRibbon.vue.d.ts +31 -0
- package/dist/components/custom/header-ribbon/index.d.ts +2 -0
- package/dist/components/custom/header-ribbon/types.d.ts +7 -0
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +71 -0
- package/dist/components/custom/hover-popover/index.d.ts +1 -0
- package/dist/components/custom/icon-tooltip/IconTooltip.vue.d.ts +16 -0
- package/dist/components/custom/infinite-scroll/InfiniteScroll.vue.d.ts +33 -0
- package/dist/components/custom/infinite-scroll/composables/types.d.ts +21 -0
- package/dist/components/custom/infinite-scroll/composables/useInfiniteScroll.d.ts +9 -0
- package/dist/components/custom/instrument-chassis/ChassisDivider.vue.d.ts +30 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +82 -0
- package/dist/components/custom/instrument-chassis/index.d.ts +3 -0
- package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +91 -0
- package/dist/components/custom/instrument-rail/index.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +36 -0
- package/dist/components/custom/labeled-field/LabeledInput.vue.d.ts +15 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +18 -0
- package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +16 -0
- package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +13 -0
- package/dist/components/custom/labeled-field/index.d.ts +5 -0
- package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +39 -0
- package/dist/components/custom/metric-badge/index.d.ts +1 -0
- package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +97 -0
- package/dist/components/custom/metric-cell/index.d.ts +2 -0
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +103 -0
- package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +92 -0
- package/dist/components/custom/metric-stack/index.d.ts +4 -0
- package/dist/components/custom/paper-backdrop/PaperBackdrop.vue.d.ts +21 -0
- package/dist/components/custom/paper-backdrop/index.d.ts +2 -0
- package/dist/components/custom/pulse/Pulse.vue.d.ts +53 -0
- package/dist/components/custom/pulse/index.d.ts +1 -0
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +67 -0
- package/dist/components/custom/responsive-tabs/index.d.ts +2 -0
- package/dist/components/custom/scrolling-text/ScrollingText.vue.d.ts +20 -0
- package/dist/components/custom/scrolling-text/index.d.ts +1 -0
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +16 -0
- package/dist/components/custom/search/SearchBar.vue.d.ts +30 -0
- package/dist/components/custom/search/composables/fuzzySearchIndex.d.ts +42 -0
- package/dist/components/custom/search/composables/types.d.ts +31 -0
- package/dist/components/custom/search/composables/useFuzzySearch.d.ts +12 -0
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +32 -0
- package/dist/components/custom/sortable-list/SortableItem.vue.d.ts +38 -0
- package/dist/components/custom/sortable-list/SortableList.vue.d.ts +76 -0
- package/dist/components/custom/sortable-list/context.d.ts +26 -0
- package/dist/components/custom/sortable-list/index.d.ts +4 -0
- package/dist/components/custom/stacked-icons/StackedIconGroup.vue.d.ts +30 -0
- package/dist/components/custom/stacked-icons/index.d.ts +2 -0
- package/dist/components/custom/stacked-icons/types.d.ts +18 -0
- package/dist/components/custom/status-dot/StatusDot.vue.d.ts +18 -0
- package/dist/components/custom/status-dot/index.d.ts +1 -0
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +24 -0
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +56 -0
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +17 -0
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +118 -0
- package/dist/components/custom/timeline/GlassTimeline.vue.d.ts +114 -0
- package/dist/components/custom/timeline/ScrubberTimeline.vue.d.ts +29 -0
- package/dist/components/custom/timeline/SegmentedTimeline.vue.d.ts +46 -0
- package/dist/components/custom/timeline/geometry.d.ts +100 -0
- package/dist/components/custom/timeline/index.d.ts +2 -0
- package/dist/components/custom/timeline/types.d.ts +57 -0
- package/dist/components/custom/toggle-chip/ToggleChip.vue.d.ts +39 -0
- package/dist/components/custom/toggle-chip/index.d.ts +17 -0
- package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +85 -0
- package/dist/components/custom/typewriter/composables/useTypewriter.d.ts +22 -0
- package/dist/components/custom/typewriter/types.d.ts +137 -0
- package/dist/components/custom/typewriter/utils/keyboard.d.ts +15 -0
- package/dist/components/custom/typewriter/utils/pausePatterns.d.ts +28 -0
- package/dist/components/custom/typewriter/utils/timing.d.ts +17 -0
- package/dist/components/custom/typewriter/utils/typoStateMachine.d.ts +24 -0
- package/dist/components/ui/_shared/ModalOverlay.vue.d.ts +90 -0
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +32 -0
- package/dist/components/ui/_shared/useStalePropWarning.d.ts +27 -0
- package/dist/components/ui/accordion/Accordion.vue.d.ts +19 -0
- package/dist/components/ui/accordion/AccordionContent.vue.d.ts +18 -0
- package/dist/components/ui/accordion/AccordionItem.vue.d.ts +18 -0
- package/dist/components/ui/accordion/AccordionTrigger.vue.d.ts +20 -0
- package/dist/components/ui/accordion/index.d.ts +4 -0
- package/dist/components/ui/alert/Alert.vue.d.ts +19 -0
- package/dist/components/ui/alert/AlertDescription.vue.d.ts +17 -0
- package/dist/components/ui/alert/AlertTitle.vue.d.ts +17 -0
- package/dist/components/ui/alert/index.d.ts +8 -0
- package/dist/components/ui/avatar/Avatar.vue.d.ts +23 -0
- package/dist/components/ui/avatar/AvatarFallback.vue.d.ts +14 -0
- package/dist/components/ui/avatar/AvatarImage.vue.d.ts +4 -0
- package/dist/components/ui/avatar/index.d.ts +9 -0
- package/dist/components/ui/badge/Badge.vue.d.ts +20 -0
- package/dist/components/ui/badge/index.d.ts +7 -0
- package/dist/components/ui/button/Button.vue.d.ts +23 -0
- package/dist/components/ui/button/index.d.ts +7 -0
- package/dist/components/ui/card/Card.vue.d.ts +56 -0
- package/dist/components/ui/card/CardContent.vue.d.ts +17 -0
- package/dist/components/ui/card/CardDescription.vue.d.ts +17 -0
- package/dist/components/ui/card/CardFooter.vue.d.ts +17 -0
- package/dist/components/ui/card/CardHeader.vue.d.ts +55 -0
- package/dist/components/ui/card/CardTitle.vue.d.ts +17 -0
- package/dist/components/ui/card/index.d.ts +6 -0
- package/dist/components/ui/carousel/Carousel.vue.d.ts +37 -0
- package/dist/components/ui/carousel/CarouselContent.vue.d.ts +16 -0
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +4 -0
- package/dist/components/ui/carousel/CarouselItem.vue.d.ts +14 -0
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +22 -0
- package/dist/components/ui/carousel/CarouselPager.vue.d.ts +10 -0
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +22 -0
- package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +51 -0
- package/dist/components/ui/carousel/index.d.ts +10 -0
- package/dist/components/ui/carousel/interface.d.ts +20 -0
- package/dist/components/ui/carousel/useCarousel.d.ts +20 -0
- package/dist/components/ui/checkbox/Checkbox.vue.d.ts +22 -0
- package/dist/components/ui/checkbox/index.d.ts +1 -0
- package/dist/components/ui/collapsible/Collapsible.vue.d.ts +20 -0
- package/dist/components/ui/collapsible/CollapsibleContent.vue.d.ts +14 -0
- package/dist/components/ui/collapsible/CollapsibleTrigger.vue.d.ts +14 -0
- package/dist/components/ui/collapsible/index.d.ts +3 -0
- package/dist/components/ui/combobox/Combobox.vue.d.ts +29 -0
- package/dist/components/ui/combobox/ComboboxAnchor.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxEmpty.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxGroup.vue.d.ts +19 -0
- package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +22 -0
- package/dist/components/ui/combobox/ComboboxItem.vue.d.ts +22 -0
- package/dist/components/ui/combobox/ComboboxItemIndicator.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxList.vue.d.ts +32 -0
- package/dist/components/ui/combobox/ComboboxSeparator.vue.d.ts +18 -0
- package/dist/components/ui/combobox/ComboboxViewport.vue.d.ts +18 -0
- package/dist/components/ui/combobox/index.d.ts +11 -0
- package/dist/components/ui/command/Command.vue.d.ts +35 -0
- package/dist/components/ui/command/CommandDialog.vue.d.ts +18 -0
- package/dist/components/ui/command/CommandEmpty.vue.d.ts +18 -0
- package/dist/components/ui/command/CommandGroup.vue.d.ts +19 -0
- package/dist/components/ui/command/CommandInput.vue.d.ts +8 -0
- package/dist/components/ui/command/CommandItem.vue.d.ts +22 -0
- package/dist/components/ui/command/CommandList.vue.d.ts +30 -0
- package/dist/components/ui/command/CommandSeparator.vue.d.ts +18 -0
- package/dist/components/ui/command/CommandShortcut.vue.d.ts +17 -0
- package/dist/components/ui/command/index.d.ts +9 -0
- package/dist/components/ui/context-menu/ContextMenu.vue.d.ts +18 -0
- package/dist/components/ui/context-menu/ContextMenuCheckboxItem.vue.d.ts +24 -0
- package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +30 -0
- package/dist/components/ui/context-menu/ContextMenuItem.vue.d.ts +23 -0
- package/dist/components/ui/context-menu/ContextMenuLabel.vue.d.ts +19 -0
- package/dist/components/ui/context-menu/ContextMenuRadioGroup.vue.d.ts +18 -0
- package/dist/components/ui/context-menu/ContextMenuRadioItem.vue.d.ts +22 -0
- package/dist/components/ui/context-menu/ContextMenuSeparator.vue.d.ts +8 -0
- package/dist/components/ui/context-menu/ContextMenuShortcut.vue.d.ts +17 -0
- package/dist/components/ui/context-menu/ContextMenuSubContent.vue.d.ts +34 -0
- package/dist/components/ui/context-menu/ContextMenuSubTrigger.vue.d.ts +19 -0
- package/dist/components/ui/context-menu/ContextMenuTrigger.vue.d.ts +14 -0
- package/dist/components/ui/context-menu/index.d.ts +12 -0
- package/dist/components/ui/data-table/DataTable.vue.d.ts +81 -0
- package/dist/components/ui/data-table/DataTablePagination.vue.d.ts +13 -0
- package/dist/components/ui/data-table/types.d.ts +56 -0
- package/dist/components/ui/dialog/Dialog.vue.d.ts +18 -0
- package/dist/components/ui/dialog/DialogClose.vue.d.ts +14 -0
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +71 -0
- package/dist/components/ui/dialog/DialogDescription.vue.d.ts +18 -0
- package/dist/components/ui/dialog/DialogFooter.vue.d.ts +17 -0
- package/dist/components/ui/dialog/DialogHeader.vue.d.ts +17 -0
- package/dist/components/ui/dialog/DialogScrollContent.vue.d.ts +33 -0
- package/dist/components/ui/dialog/DialogTitle.vue.d.ts +18 -0
- package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +14 -0
- package/dist/components/ui/dialog/index.d.ts +9 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +30 -0
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +32 -0
- package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +18 -0
- package/dist/components/ui/drawer/DrawerFooter.vue.d.ts +17 -0
- package/dist/components/ui/drawer/DrawerHeader.vue.d.ts +17 -0
- package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +8 -0
- package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +18 -0
- package/dist/components/ui/drawer/index.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/DropdownMenu.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue.d.ts +24 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +32 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuGroup.vue.d.ts +14 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuItem.vue.d.ts +19 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuLabel.vue.d.ts +19 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuRadioItem.vue.d.ts +22 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSeparator.vue.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuShortcut.vue.d.ts +17 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSub.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +34 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuTrigger.vue.d.ts +14 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +15 -0
- package/dist/components/ui/hover-card/HoverCard.vue.d.ts +18 -0
- package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +20 -0
- package/dist/components/ui/hover-card/HoverCardTrigger.vue.d.ts +14 -0
- package/dist/components/ui/hover-card/index.d.ts +3 -0
- package/dist/components/ui/index.d.ts +41 -0
- package/dist/components/ui/input/Input.vue.d.ts +13 -0
- package/dist/components/ui/input/index.d.ts +1 -0
- package/dist/components/ui/label/Label.vue.d.ts +18 -0
- package/dist/components/ui/label/index.d.ts +1 -0
- package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +43 -0
- package/dist/components/ui/metric-pill/index.d.ts +1 -0
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +24 -0
- package/dist/components/ui/multi-select/index.d.ts +7 -0
- package/dist/components/ui/notification/Notification.vue.d.ts +16 -0
- package/dist/components/ui/notification/index.d.ts +1 -0
- package/dist/components/ui/number-field/NumberField.vue.d.ts +22 -0
- package/dist/components/ui/number-field/NumberFieldContent.vue.d.ts +17 -0
- package/dist/components/ui/number-field/NumberFieldDecrement.vue.d.ts +18 -0
- package/dist/components/ui/number-field/NumberFieldIncrement.vue.d.ts +18 -0
- package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +3 -0
- package/dist/components/ui/number-field/index.d.ts +5 -0
- package/dist/components/ui/popover/Popover.vue.d.ts +18 -0
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +39 -0
- package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +14 -0
- package/dist/components/ui/popover/index.d.ts +3 -0
- package/dist/components/ui/progress/Progress.vue.d.ts +111 -0
- package/dist/components/ui/progress/index.d.ts +2 -0
- package/dist/components/ui/radio-group/RadioGroup.vue.d.ts +22 -0
- package/dist/components/ui/radio-group/RadioGroupItem.vue.d.ts +8 -0
- package/dist/components/ui/radio-group/index.d.ts +2 -0
- package/dist/components/ui/section/Section.vue.d.ts +73 -0
- package/dist/components/ui/section/index.d.ts +1 -0
- package/dist/components/ui/select/Select.vue.d.ts +21 -0
- package/dist/components/ui/select/SelectContent.vue.d.ts +30 -0
- package/dist/components/ui/select/SelectGroup.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectItem.vue.d.ts +21 -0
- package/dist/components/ui/select/SelectLabel.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectSeparator.vue.d.ts +8 -0
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +22 -0
- package/dist/components/ui/select/SelectValue.vue.d.ts +14 -0
- package/dist/components/ui/select/index.d.ts +10 -0
- package/dist/components/ui/separator/Separator.vue.d.ts +9 -0
- package/dist/components/ui/separator/index.d.ts +1 -0
- package/dist/components/ui/sheet/Sheet.vue.d.ts +18 -0
- package/dist/components/ui/sheet/SheetClose.vue.d.ts +14 -0
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +53 -0
- package/dist/components/ui/sheet/SheetDescription.vue.d.ts +18 -0
- package/dist/components/ui/sheet/SheetFooter.vue.d.ts +17 -0
- package/dist/components/ui/sheet/SheetHeader.vue.d.ts +17 -0
- package/dist/components/ui/sheet/SheetTitle.vue.d.ts +18 -0
- package/dist/components/ui/sheet/SheetTrigger.vue.d.ts +14 -0
- package/dist/components/ui/sheet/index.d.ts +13 -0
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +32 -0
- package/dist/components/ui/skeleton/index.d.ts +1 -0
- package/dist/components/ui/slider/Slider.vue.d.ts +26 -0
- package/dist/components/ui/slider/index.d.ts +31 -0
- package/dist/components/ui/switch/Switch.vue.d.ts +12 -0
- package/dist/components/ui/switch/index.d.ts +1 -0
- package/dist/components/ui/table/Table.vue.d.ts +17 -0
- package/dist/components/ui/table/TableBody.vue.d.ts +17 -0
- package/dist/components/ui/table/TableCaption.vue.d.ts +17 -0
- package/dist/components/ui/table/TableCell.vue.d.ts +17 -0
- package/dist/components/ui/table/TableEmpty.vue.d.ts +20 -0
- package/dist/components/ui/table/TableHead.vue.d.ts +17 -0
- package/dist/components/ui/table/TableHeader.vue.d.ts +17 -0
- package/dist/components/ui/table/TableRow.vue.d.ts +17 -0
- package/dist/components/ui/table/index.d.ts +8 -0
- package/dist/components/ui/tabs/Tabs.vue.d.ts +19 -0
- package/dist/components/ui/tabs/TabsContent.vue.d.ts +18 -0
- package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +8 -0
- package/dist/components/ui/tabs/TabsList.vue.d.ts +18 -0
- package/dist/components/ui/tabs/TabsTrigger.vue.d.ts +18 -0
- package/dist/components/ui/tabs/index.d.ts +5 -0
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +28 -0
- package/dist/components/ui/tags-input/TagsInputInput.vue.d.ts +8 -0
- package/dist/components/ui/tags-input/TagsInputItem.vue.d.ts +18 -0
- package/dist/components/ui/tags-input/TagsInputItemDelete.vue.d.ts +18 -0
- package/dist/components/ui/tags-input/TagsInputItemText.vue.d.ts +8 -0
- package/dist/components/ui/tags-input/index.d.ts +5 -0
- package/dist/components/ui/textarea/Textarea.vue.d.ts +13 -0
- package/dist/components/ui/textarea/index.d.ts +1 -0
- package/dist/components/ui/toast/Toast.vue.d.ts +104 -0
- package/dist/components/ui/toast/ToastAction.vue.d.ts +18 -0
- package/dist/components/ui/toast/ToastClose.vue.d.ts +8 -0
- package/dist/components/ui/toast/ToastDescription.vue.d.ts +18 -0
- package/dist/components/ui/toast/ToastTitle.vue.d.ts +18 -0
- package/dist/components/ui/toast/Toaster.vue.d.ts +3 -0
- package/dist/components/ui/toast/index.d.ts +8 -0
- package/dist/components/ui/toast/use-toast.d.ts +155 -0
- package/dist/components/ui/toggle/Toggle.vue.d.ts +29 -0
- package/dist/components/ui/toggle/index.d.ts +26 -0
- package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +25 -0
- package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +21 -0
- package/dist/components/ui/toggle-group/index.d.ts +2 -0
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +21 -0
- package/dist/components/ui/tooltip/Tooltip.vue.d.ts +18 -0
- package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +26 -0
- package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts +14 -0
- package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts +14 -0
- package/dist/components/ui/tooltip/index.d.ts +4 -0
- package/dist/composables/dark/index.d.ts +1 -0
- package/dist/composables/dark/useGlobalDark.d.ts +7 -0
- package/dist/composables/dom/index.d.ts +6 -0
- package/dist/composables/dom/useBreakpoint.d.ts +38 -0
- package/dist/composables/dom/useClipboard.d.ts +45 -0
- package/dist/composables/dom/useResizeObserver.d.ts +50 -0
- package/dist/composables/dom/useTokenColor.d.ts +27 -0
- package/dist/composables/dom/useTouchGate.d.ts +18 -0
- package/dist/composables/dom/useViewportReady.d.ts +87 -0
- package/dist/composables/glass/index.d.ts +1 -0
- package/dist/composables/glass/useGlassRenderer.d.ts +37 -0
- package/dist/composables/glass/webgl/frostShader.d.ts +27 -0
- package/dist/composables/index.d.ts +9 -0
- package/dist/composables/keyboard/index.d.ts +1 -0
- package/dist/composables/keyboard/useKeyboardShortcuts.d.ts +33 -0
- package/dist/composables/motion/constants.d.ts +19 -0
- package/dist/composables/motion/index.d.ts +14 -0
- package/dist/composables/motion/installDarkModeSync.d.ts +1 -0
- package/dist/composables/motion/useAnimatedNumber.d.ts +40 -0
- package/dist/composables/motion/useAnimatedNumberMap.d.ts +29 -0
- package/dist/composables/motion/useIntersectionPause.d.ts +33 -0
- package/dist/composables/motion/useNumericTransition.d.ts +32 -0
- package/dist/composables/motion/useRAFLoop.d.ts +43 -0
- package/dist/composables/motion/useScrollProgress.d.ts +23 -0
- package/dist/composables/motion/useSpring.d.ts +66 -0
- package/dist/composables/motion/useSpringMount.d.ts +52 -0
- package/dist/composables/motion/useSpringOrchestrator.d.ts +15 -0
- package/dist/composables/motion/useSpringPress.d.ts +46 -0
- package/dist/composables/motion/useStagger.d.ts +50 -0
- package/dist/composables/motion/useStaggerReveal.d.ts +22 -0
- package/dist/composables/reactive/index.d.ts +2 -0
- package/dist/composables/reactive/useInterval.d.ts +24 -0
- package/dist/composables/reactive/useTimer.d.ts +24 -0
- package/dist/composables/sidebar/index.d.ts +7 -0
- package/dist/composables/sidebar/types.d.ts +44 -0
- package/dist/composables/sidebar/useScrollTracker.d.ts +12 -0
- package/dist/composables/sidebar/useSidebarFollow.d.ts +16 -0
- package/dist/composables/sidebar/useSidebarState.d.ts +39 -0
- package/dist/composables/sidebar/useTreeIndex.d.ts +37 -0
- package/dist/composables/sortable/index.d.ts +1 -0
- package/dist/composables/sortable/useSortable.d.ts +149 -0
- package/dist/configurator.d.ts +1 -0
- package/dist/configurator.js +2 -0
- package/dist/confirm-dialog.d.ts +1 -0
- package/dist/confirm-dialog.js +69 -0
- package/dist/context-menu.d.ts +1 -0
- package/dist/context-menu.js +3 -0
- package/dist/controls.d.ts +1 -0
- package/dist/controls.js +51 -0
- package/dist/createLucideIcon-Bn9a1b70.js +43 -0
- package/dist/dark.d.ts +1 -0
- package/dist/dark.js +2 -0
- package/dist/data-table.d.ts +1 -0
- package/dist/data-table.js +2 -0
- package/dist/dialog.d.ts +1 -0
- package/dist/dialog.js +3 -0
- package/dist/disco-glyph.d.ts +1 -0
- package/dist/disco-glyph.js +2 -0
- package/dist/dock.d.ts +1 -0
- package/dist/dock.js +548 -0
- package/dist/dockContext-BDGSrwsV.js +16 -0
- package/dist/dom.d.ts +1 -0
- package/dist/dom.js +4 -0
- package/dist/dropdown-menu-2K-SGkZU.js +363 -0
- package/dist/dropdown-menu.d.ts +1 -0
- package/dist/dropdown-menu.js +2 -0
- package/dist/expandable-container.d.ts +1 -0
- package/dist/expandable-container.js +64 -0
- package/dist/fonts/README.md +95 -0
- package/dist/fonts/fira-code/OFL.txt +93 -0
- package/dist/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
- package/dist/fonts/fira-code/fira-code-latin.woff2 +0 -0
- package/dist/fonts/plus-jakarta-sans/OFL.txt +93 -0
- package/dist/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
- package/dist/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
- package/dist/forms.d.ts +3 -0
- package/dist/forms.js +311 -0
- package/dist/glass-carousel.d.ts +1 -0
- package/dist/glass-carousel.js +207 -0
- package/dist/glass-panel.d.ts +1 -0
- package/dist/glass-panel.js +44 -0
- package/dist/glass-ui.css +2 -1
- package/dist/glass-ui.js +1150 -10018
- package/dist/glyph-face.d.ts +1 -0
- package/dist/glyph-face.js +3 -0
- package/dist/header-ribbon.d.ts +1 -0
- package/dist/header-ribbon.js +63 -0
- package/dist/hover-card.d.ts +1 -0
- package/dist/hover-card.js +2 -0
- package/dist/hover-popover.d.ts +1 -0
- package/dist/hover-popover.js +2 -0
- package/dist/icon-tooltip.d.ts +1 -0
- package/dist/icon-tooltip.js +2 -0
- package/dist/index.d.ts +49 -6619
- package/dist/infinite-scroll.d.ts +2 -0
- package/dist/infinite-scroll.js +73 -0
- package/dist/instrument-chassis.d.ts +1 -0
- package/dist/instrument-chassis.js +2 -0
- package/dist/instrument-rail.d.ts +1 -0
- package/dist/instrument-rail.js +2 -0
- package/dist/keyboard.d.ts +1 -0
- package/dist/keyboard.js +2 -0
- package/dist/keys-DVkcUktU.js +11 -0
- package/dist/label.d.ts +1 -0
- package/dist/label.js +2 -0
- package/dist/labeled-field.d.ts +1 -0
- package/dist/labeled-field.js +194 -0
- package/dist/menuItemVariants-B2nDL7zH.js +30 -0
- package/dist/metric-badge.d.ts +1 -0
- package/dist/metric-badge.js +2 -0
- package/dist/metric-cell.d.ts +1 -0
- package/dist/metric-cell.js +54 -0
- package/dist/metric-stack.d.ts +1 -0
- package/dist/metric-stack.js +107 -0
- package/dist/minimize-2-LsCJ_eNt.js +38 -0
- package/dist/motion.d.ts +1 -0
- package/dist/motion.js +286 -0
- package/dist/notification.d.ts +1 -0
- package/dist/notification.js +2 -0
- package/dist/paper-backdrop.d.ts +1 -0
- package/dist/paper-backdrop.js +2 -0
- package/dist/popover.d.ts +1 -0
- package/dist/popover.js +2 -0
- package/dist/presets-BMzCDrmR.js +71 -0
- package/dist/progress.d.ts +1 -0
- package/dist/progress.js +2 -0
- package/dist/pulse.d.ts +1 -0
- package/dist/pulse.js +54 -0
- package/dist/reactive.d.ts +1 -0
- package/dist/reactive.js +3 -0
- package/dist/responsive-tabs.d.ts +1 -0
- package/dist/responsive-tabs.js +89 -0
- package/dist/scrolling-text.d.ts +1 -0
- package/dist/scrolling-text.js +2 -0
- package/dist/search-ocd8tmL9.js +12 -0
- package/dist/search.d.ts +1 -0
- package/dist/search.js +425 -0
- package/dist/select.d.ts +1 -0
- package/dist/select.js +4 -0
- package/dist/separator.d.ts +1 -0
- package/dist/separator.js +2 -0
- package/dist/sheet-CLVkb3AO.js +214 -0
- package/dist/sheet.d.ts +1 -0
- package/dist/sheet.js +2 -0
- package/dist/sidebar.d.ts +1 -0
- package/dist/sidebar.js +304 -0
- package/dist/slider-BQaLYFLh.js +133 -0
- package/dist/slider.d.ts +1 -0
- package/dist/slider.js +2 -0
- package/dist/sortable-list.d.ts +1 -0
- package/dist/sortable-list.js +82 -0
- package/dist/stacked-icons.d.ts +1 -0
- package/dist/stacked-icons.js +83 -0
- package/dist/status-dot.d.ts +1 -0
- package/dist/status-dot.js +55 -0
- package/dist/styles/animations.css +298 -0
- package/dist/styles/cards.css +44 -0
- package/dist/styles/disco-glyph.css +26 -0
- package/dist/styles/dock.css +1085 -0
- package/dist/styles/floating-panel.css +34 -0
- package/dist/styles/fonts.css +143 -0
- package/dist/styles/glass.css +277 -0
- package/dist/styles/glyph-face.css +92 -0
- package/dist/styles/hover-popover.css +44 -0
- package/dist/styles/index.css +96 -0
- package/dist/styles/instrument-chassis.css +313 -0
- package/dist/styles/instrument-rail.css +128 -0
- package/dist/styles/paper.css +68 -0
- package/dist/styles/theme.css +358 -0
- package/dist/styles/tokens.css +1495 -0
- package/dist/styles/transitions.css +245 -0
- package/dist/styles/typography.css +553 -0
- package/dist/styles/utilities.css +893 -0
- package/dist/tabs.d.ts +1 -0
- package/dist/tabs.js +206 -0
- package/dist/timeline.d.ts +1 -0
- package/dist/timeline.js +466 -0
- package/dist/toast.d.ts +1 -0
- package/dist/toast.js +2 -0
- package/dist/toggle-chip.d.ts +1 -0
- package/dist/toggle-chip.js +71 -0
- package/dist/toggle-group.d.ts +1 -0
- package/dist/toggle-group.js +2 -0
- package/dist/tokens.d.ts +53 -0
- package/dist/tokens.js +16 -0
- package/dist/tooltip.d.ts +1 -0
- package/dist/tooltip.js +2 -0
- package/dist/typewriter.d.ts +1 -0
- package/dist/typewriter.js +860 -0
- package/dist/useAnimatedNumber-DcvTR9B4.js +51 -0
- package/dist/useBreakpoint-BHlX-MhR.js +134 -0
- package/dist/useConfiguratorState-BlaevW0S.js +266 -0
- package/dist/useGlassRenderer-DMDdMH55.js +69 -0
- package/dist/useGlobalDark-PMiP5Jku.js +24 -0
- package/dist/useIntersectionPause-CXYfYg_C.js +39 -0
- package/dist/useInterval-COlTCeVa.js +18 -0
- package/dist/useKeyboardShortcuts-B1ev1YEC.js +99 -0
- package/dist/useResizeObserver-F4aRR4Cj.js +44 -0
- package/dist/useSortable-Ck0rBJ4g.js +175 -0
- package/dist/useSpringMount-BTRBNzXP.js +113 -0
- package/dist/useTimer-lp5NlH4w.js +20 -0
- package/dist/useTouchGate-BhhEMlwJ.js +84 -0
- package/dist/utils/cn.d.ts +27 -0
- package/dist/x-cdWAmO-q.js +10 -0
- package/package.json +514 -26
- package/src/fonts/README.md +95 -0
- package/src/fonts/fira-code/OFL.txt +93 -0
- package/src/fonts/fira-code/fira-code-latin-ext.woff2 +0 -0
- package/src/fonts/fira-code/fira-code-latin.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/OFL.txt +93 -0
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin-ext.woff2 +0 -0
- package/src/fonts/plus-jakarta-sans/plus-jakarta-sans-latin.woff2 +0 -0
- package/src/styles/animations.css +172 -107
- package/src/styles/cards.css +30 -52
- package/src/styles/disco-glyph.css +26 -0
- package/src/styles/dock.css +991 -127
- package/src/styles/floating-panel.css +22 -37
- package/src/styles/fonts.css +143 -0
- package/src/styles/glass.css +131 -120
- package/src/styles/glyph-face.css +92 -0
- package/src/styles/hover-popover.css +44 -0
- package/src/styles/index.css +73 -3
- package/src/styles/instrument-chassis.css +313 -0
- package/src/styles/instrument-rail.css +128 -0
- package/src/styles/paper.css +68 -0
- package/src/styles/theme.css +292 -72
- package/src/styles/tokens.css +1345 -183
- package/src/styles/transitions.css +227 -208
- package/src/styles/typography.css +498 -222
- package/src/styles/utilities.css +629 -433
- package/src/components/custom/aurora/Aurora.vue +0 -34
- package/src/components/custom/aurora/composables/color.ts +0 -122
- package/src/components/custom/aurora/composables/useAurora.ts +0 -355
- package/src/components/custom/aurora/index.ts +0 -8
- package/src/components/custom/confirm-dialog/ConfirmDialog.vue +0 -88
- package/src/components/custom/controls/DarkModeToggle.vue +0 -96
- package/src/components/custom/dock/DockLayerGroup.vue +0 -21
- package/src/components/custom/dock/DockPopover.vue +0 -263
- package/src/components/custom/dock/GlassDock.vue +0 -276
- package/src/components/custom/dock/composables/index.ts +0 -16
- package/src/components/custom/dock/composables/isTeleportedTarget.ts +0 -19
- package/src/components/custom/dock/composables/useDockActionBar.ts +0 -33
- package/src/components/custom/dock/composables/useDockState.ts +0 -301
- package/src/components/custom/dock/composables/useDockTransition.ts +0 -146
- package/src/components/custom/dock/composables/useLayerTransition.ts +0 -135
- package/src/components/custom/dock/composables/usePopupMutex.ts +0 -83
- package/src/components/custom/dock/index.ts +0 -9
- package/src/components/custom/expandable-container/ExpandableContainer.vue +0 -64
- package/src/components/custom/glass-panel/GlassPanel.vue +0 -98
- package/src/components/custom/glass-panel/index.ts +0 -2
- package/src/components/custom/icon-tooltip/IconTooltip.vue +0 -20
- package/src/components/custom/index.ts +0 -15
- package/src/components/custom/infinite-scroll/InfiniteScroll.vue +0 -55
- package/src/components/custom/infinite-scroll/composables/types.ts +0 -23
- package/src/components/custom/infinite-scroll/composables/useInfiniteScroll.ts +0 -73
- package/src/components/custom/labeled-field/LabeledInput.vue +0 -29
- package/src/components/custom/labeled-field/LabeledSelect.vue +0 -59
- package/src/components/custom/labeled-field/LabeledSlider.vue +0 -32
- package/src/components/custom/labeled-field/LabeledSwitch.vue +0 -27
- package/src/components/custom/labeled-field/index.ts +0 -4
- package/src/components/custom/metaballs/MetaballCanvas.vue +0 -23
- package/src/components/custom/metaballs/index.ts +0 -4
- package/src/components/custom/metaballs/shaders.ts +0 -63
- package/src/components/custom/metaballs/types.ts +0 -29
- package/src/components/custom/metaballs/useMetaballs.ts +0 -252
- package/src/components/custom/search/FuzzySearch.vue +0 -589
- package/src/components/custom/search/SearchBar.vue +0 -44
- package/src/components/custom/search/composables/fuzzySearchIndex.ts +0 -224
- package/src/components/custom/search/composables/types.ts +0 -34
- package/src/components/custom/search/composables/useFuzzySearch.ts +0 -115
- package/src/components/custom/sidebar/ProgressiveSidebar.vue +0 -256
- package/src/components/custom/sidebar/composables/index.ts +0 -6
- package/src/components/custom/sidebar/composables/useScrollTracker.ts +0 -242
- package/src/components/custom/sidebar/composables/useSidebarFollow.ts +0 -247
- package/src/components/custom/sidebar/composables/useSidebarState.ts +0 -72
- package/src/components/custom/sidebar/composables/useTreeIndex.ts +0 -152
- package/src/components/custom/sidebar/index.ts +0 -15
- package/src/components/custom/sidebar/types.ts +0 -50
- package/src/components/custom/tabs/BouncyTabs.vue +0 -39
- package/src/components/custom/tabs/BouncyToggle.vue +0 -352
- package/src/components/custom/tabs/UnderlineTabs.vue +0 -115
- package/src/components/custom/timeline/GlassTimeline.vue +0 -174
- package/src/components/custom/timeline/index.ts +0 -1
- package/src/components/custom/typewriter/TypewriterText.vue +0 -239
- package/src/components/custom/typewriter/composables/useTypewriter.ts +0 -413
- package/src/components/custom/typewriter/types.ts +0 -159
- package/src/components/custom/typewriter/utils/keyboard.ts +0 -213
- package/src/components/custom/typewriter/utils/pausePatterns.ts +0 -55
- package/src/components/custom/typewriter/utils/timing.ts +0 -104
- package/src/components/custom/typewriter/utils/typoStateMachine.ts +0 -197
- package/src/components/index.ts +0 -2
- package/src/components/ui/accordion/Accordion.vue +0 -19
- package/src/components/ui/accordion/AccordionContent.vue +0 -24
- package/src/components/ui/accordion/AccordionItem.vue +0 -24
- package/src/components/ui/accordion/AccordionTrigger.vue +0 -39
- package/src/components/ui/accordion/index.ts +0 -4
- package/src/components/ui/alert/Alert.vue +0 -20
- package/src/components/ui/alert/AlertDescription.vue +0 -17
- package/src/components/ui/alert/AlertTitle.vue +0 -17
- package/src/components/ui/alert/index.ts +0 -23
- package/src/components/ui/avatar/Avatar.vue +0 -21
- package/src/components/ui/avatar/AvatarFallback.vue +0 -11
- package/src/components/ui/avatar/AvatarImage.vue +0 -9
- package/src/components/ui/avatar/index.ts +0 -24
- package/src/components/ui/badge/Badge.vue +0 -16
- package/src/components/ui/badge/index.ts +0 -25
- package/src/components/ui/button/Button.vue +0 -26
- package/src/components/ui/button/index.ts +0 -43
- package/src/components/ui/card/Card.vue +0 -28
- package/src/components/ui/card/CardContent.vue +0 -14
- package/src/components/ui/card/CardDescription.vue +0 -14
- package/src/components/ui/card/CardFooter.vue +0 -14
- package/src/components/ui/card/CardHeader.vue +0 -14
- package/src/components/ui/card/CardTitle.vue +0 -21
- package/src/components/ui/card/index.ts +0 -6
- package/src/components/ui/carousel/Carousel.vue +0 -53
- package/src/components/ui/carousel/CarouselContent.vue +0 -35
- package/src/components/ui/carousel/CarouselItem.vue +0 -24
- package/src/components/ui/carousel/CarouselNext.vue +0 -40
- package/src/components/ui/carousel/CarouselPrevious.vue +0 -40
- package/src/components/ui/carousel/index.ts +0 -10
- package/src/components/ui/carousel/interface.ts +0 -26
- package/src/components/ui/carousel/useCarousel.ts +0 -56
- package/src/components/ui/checkbox/Checkbox.vue +0 -33
- package/src/components/ui/checkbox/index.ts +0 -1
- package/src/components/ui/collapsible/Collapsible.vue +0 -15
- package/src/components/ui/collapsible/CollapsibleContent.vue +0 -11
- package/src/components/ui/collapsible/CollapsibleTrigger.vue +0 -11
- package/src/components/ui/collapsible/index.ts +0 -3
- package/src/components/ui/combobox/Combobox.vue +0 -17
- package/src/components/ui/combobox/ComboboxAnchor.vue +0 -23
- package/src/components/ui/combobox/ComboboxEmpty.vue +0 -21
- package/src/components/ui/combobox/ComboboxGroup.vue +0 -27
- package/src/components/ui/combobox/ComboboxInput.vue +0 -41
- package/src/components/ui/combobox/ComboboxItem.vue +0 -24
- package/src/components/ui/combobox/ComboboxItemIndicator.vue +0 -23
- package/src/components/ui/combobox/ComboboxList.vue +0 -29
- package/src/components/ui/combobox/ComboboxSeparator.vue +0 -21
- package/src/components/ui/combobox/ComboboxViewport.vue +0 -23
- package/src/components/ui/combobox/index.ts +0 -12
- package/src/components/ui/command/Command.vue +0 -30
- package/src/components/ui/command/CommandDialog.vue +0 -21
- package/src/components/ui/command/CommandEmpty.vue +0 -20
- package/src/components/ui/command/CommandGroup.vue +0 -29
- package/src/components/ui/command/CommandInput.vue +0 -33
- package/src/components/ui/command/CommandItem.vue +0 -26
- package/src/components/ui/command/CommandList.vue +0 -27
- package/src/components/ui/command/CommandSeparator.vue +0 -23
- package/src/components/ui/command/CommandShortcut.vue +0 -14
- package/src/components/ui/command/index.ts +0 -9
- package/src/components/ui/context-menu/ContextMenu.vue +0 -15
- package/src/components/ui/context-menu/ContextMenuCheckboxItem.vue +0 -40
- package/src/components/ui/context-menu/ContextMenuContent.vue +0 -36
- package/src/components/ui/context-menu/ContextMenuGroup.vue +0 -11
- package/src/components/ui/context-menu/ContextMenuItem.vue +0 -34
- package/src/components/ui/context-menu/ContextMenuLabel.vue +0 -25
- package/src/components/ui/context-menu/ContextMenuPortal.vue +0 -11
- package/src/components/ui/context-menu/ContextMenuRadioGroup.vue +0 -19
- package/src/components/ui/context-menu/ContextMenuRadioItem.vue +0 -40
- package/src/components/ui/context-menu/ContextMenuSeparator.vue +0 -20
- package/src/components/ui/context-menu/ContextMenuShortcut.vue +0 -14
- package/src/components/ui/context-menu/ContextMenuSub.vue +0 -19
- package/src/components/ui/context-menu/ContextMenuSubContent.vue +0 -35
- package/src/components/ui/context-menu/ContextMenuSubTrigger.vue +0 -34
- package/src/components/ui/context-menu/ContextMenuTrigger.vue +0 -13
- package/src/components/ui/context-menu/index.ts +0 -14
- package/src/components/ui/data-table/DataTable.vue +0 -167
- package/src/components/ui/data-table/DataTablePagination.vue +0 -112
- package/src/components/ui/data-table/types.ts +0 -48
- package/src/components/ui/dialog/Dialog.vue +0 -14
- package/src/components/ui/dialog/DialogClose.vue +0 -11
- package/src/components/ui/dialog/DialogContent.vue +0 -61
- package/src/components/ui/dialog/DialogDescription.vue +0 -24
- package/src/components/ui/dialog/DialogFooter.vue +0 -19
- package/src/components/ui/dialog/DialogHeader.vue +0 -16
- package/src/components/ui/dialog/DialogScrollContent.vue +0 -65
- package/src/components/ui/dialog/DialogTitle.vue +0 -29
- package/src/components/ui/dialog/DialogTrigger.vue +0 -11
- package/src/components/ui/dialog/index.ts +0 -9
- package/src/components/ui/drawer/Drawer.vue +0 -19
- package/src/components/ui/drawer/DrawerContent.vue +0 -28
- package/src/components/ui/drawer/DrawerDescription.vue +0 -20
- package/src/components/ui/drawer/DrawerFooter.vue +0 -14
- package/src/components/ui/drawer/DrawerHeader.vue +0 -14
- package/src/components/ui/drawer/DrawerOverlay.vue +0 -18
- package/src/components/ui/drawer/DrawerTitle.vue +0 -20
- package/src/components/ui/drawer/index.ts +0 -8
- package/src/components/ui/dropdown-menu/DropdownMenu.vue +0 -14
- package/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +0 -40
- package/src/components/ui/dropdown-menu/DropdownMenuContent.vue +0 -44
- package/src/components/ui/dropdown-menu/DropdownMenuGroup.vue +0 -11
- package/src/components/ui/dropdown-menu/DropdownMenuItem.vue +0 -28
- package/src/components/ui/dropdown-menu/DropdownMenuLabel.vue +0 -24
- package/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +0 -19
- package/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +0 -40
- package/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue +0 -22
- package/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue +0 -14
- package/src/components/ui/dropdown-menu/DropdownMenuSub.vue +0 -19
- package/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue +0 -36
- package/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +0 -33
- package/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue +0 -13
- package/src/components/ui/dropdown-menu/index.ts +0 -16
- package/src/components/ui/hover-card/HoverCard.vue +0 -14
- package/src/components/ui/hover-card/HoverCardContent.vue +0 -41
- package/src/components/ui/hover-card/HoverCardTrigger.vue +0 -11
- package/src/components/ui/hover-card/index.ts +0 -3
- package/src/components/ui/index.ts +0 -41
- package/src/components/ui/input/Input.vue +0 -24
- package/src/components/ui/input/index.ts +0 -1
- package/src/components/ui/label/Label.vue +0 -27
- package/src/components/ui/label/index.ts +0 -1
- package/src/components/ui/multi-select/MultiSelect.vue +0 -141
- package/src/components/ui/multi-select/index.ts +0 -7
- package/src/components/ui/notification/Notification.vue +0 -85
- package/src/components/ui/notification/index.ts +0 -1
- package/src/components/ui/number-field/NumberField.vue +0 -23
- package/src/components/ui/number-field/NumberFieldContent.vue +0 -14
- package/src/components/ui/number-field/NumberFieldDecrement.vue +0 -25
- package/src/components/ui/number-field/NumberFieldIncrement.vue +0 -25
- package/src/components/ui/number-field/NumberFieldInput.vue +0 -8
- package/src/components/ui/number-field/index.ts +0 -5
- package/src/components/ui/popover/Popover.vue +0 -15
- package/src/components/ui/popover/PopoverContent.vue +0 -61
- package/src/components/ui/popover/PopoverTrigger.vue +0 -11
- package/src/components/ui/popover/index.ts +0 -3
- package/src/components/ui/progress/Progress.vue +0 -39
- package/src/components/ui/progress/index.ts +0 -1
- package/src/components/ui/radio-group/RadioGroup.vue +0 -25
- package/src/components/ui/radio-group/RadioGroupItem.vue +0 -39
- package/src/components/ui/radio-group/index.ts +0 -2
- package/src/components/ui/scroll-area/ScrollArea.vue +0 -29
- package/src/components/ui/scroll-area/ScrollBar.vue +0 -30
- package/src/components/ui/scroll-area/index.ts +0 -2
- package/src/components/ui/scroll-pane/ScrollPane.vue +0 -25
- package/src/components/ui/scroll-pane/ScrollPaneHeader.vue +0 -75
- package/src/components/ui/scroll-pane/index.ts +0 -2
- package/src/components/ui/select/Select.vue +0 -15
- package/src/components/ui/select/SelectContent.vue +0 -57
- package/src/components/ui/select/SelectGroup.vue +0 -19
- package/src/components/ui/select/SelectItem.vue +0 -47
- package/src/components/ui/select/SelectItemText.vue +0 -11
- package/src/components/ui/select/SelectLabel.vue +0 -13
- package/src/components/ui/select/SelectScrollDownButton.vue +0 -24
- package/src/components/ui/select/SelectScrollUpButton.vue +0 -24
- package/src/components/ui/select/SelectSeparator.vue +0 -17
- package/src/components/ui/select/SelectTrigger.vue +0 -45
- package/src/components/ui/select/SelectValue.vue +0 -11
- package/src/components/ui/select/index.ts +0 -11
- package/src/components/ui/separator/Separator.vue +0 -35
- package/src/components/ui/separator/index.ts +0 -1
- package/src/components/ui/sheet/Sheet.vue +0 -14
- package/src/components/ui/sheet/SheetClose.vue +0 -11
- package/src/components/ui/sheet/SheetContent.vue +0 -56
- package/src/components/ui/sheet/SheetDescription.vue +0 -22
- package/src/components/ui/sheet/SheetFooter.vue +0 -19
- package/src/components/ui/sheet/SheetHeader.vue +0 -16
- package/src/components/ui/sheet/SheetTitle.vue +0 -22
- package/src/components/ui/sheet/SheetTrigger.vue +0 -11
- package/src/components/ui/sheet/index.ts +0 -31
- package/src/components/ui/skeleton/Skeleton.vue +0 -14
- package/src/components/ui/skeleton/index.ts +0 -1
- package/src/components/ui/slider/Slider.vue +0 -66
- package/src/components/ui/slider/index.ts +0 -1
- package/src/components/ui/switch/Switch.vue +0 -37
- package/src/components/ui/switch/index.ts +0 -1
- package/src/components/ui/table/Table.vue +0 -16
- package/src/components/ui/table/TableBody.vue +0 -14
- package/src/components/ui/table/TableCaption.vue +0 -14
- package/src/components/ui/table/TableCell.vue +0 -14
- package/src/components/ui/table/TableEmpty.vue +0 -39
- package/src/components/ui/table/TableFooter.vue +0 -16
- package/src/components/ui/table/TableHead.vue +0 -21
- package/src/components/ui/table/TableHeader.vue +0 -14
- package/src/components/ui/table/TableRow.vue +0 -21
- package/src/components/ui/table/index.ts +0 -9
- package/src/components/ui/tabs/Tabs.vue +0 -15
- package/src/components/ui/tabs/TabsContent.vue +0 -22
- package/src/components/ui/tabs/TabsIndicator.vue +0 -22
- package/src/components/ui/tabs/TabsList.vue +0 -25
- package/src/components/ui/tabs/TabsTrigger.vue +0 -29
- package/src/components/ui/tabs/index.ts +0 -5
- package/src/components/ui/tags-input/TagsInput.vue +0 -22
- package/src/components/ui/tags-input/TagsInputInput.vue +0 -19
- package/src/components/ui/tags-input/TagsInputItem.vue +0 -22
- package/src/components/ui/tags-input/TagsInputItemDelete.vue +0 -24
- package/src/components/ui/tags-input/TagsInputItemText.vue +0 -19
- package/src/components/ui/tags-input/index.ts +0 -5
- package/src/components/ui/textarea/Textarea.vue +0 -24
- package/src/components/ui/textarea/index.ts +0 -1
- package/src/components/ui/toast/Toast.vue +0 -57
- package/src/components/ui/toast/ToastAction.vue +0 -30
- package/src/components/ui/toast/ToastClose.vue +0 -31
- package/src/components/ui/toast/ToastDescription.vue +0 -25
- package/src/components/ui/toast/ToastTitle.vue +0 -25
- package/src/components/ui/toast/Toaster.vue +0 -31
- package/src/components/ui/toast/index.ts +0 -8
- package/src/components/ui/toast/use-toast.ts +0 -136
- package/src/components/ui/toggle/Toggle.vue +0 -35
- package/src/components/ui/toggle/index.ts +0 -27
- package/src/components/ui/toggle-group/ToggleGroup.vue +0 -34
- package/src/components/ui/toggle-group/ToggleGroupItem.vue +0 -35
- package/src/components/ui/toggle-group/index.ts +0 -2
- package/src/components/ui/tooltip/Tooltip.vue +0 -14
- package/src/components/ui/tooltip/TooltipContent.vue +0 -31
- package/src/components/ui/tooltip/TooltipProvider.vue +0 -11
- package/src/components/ui/tooltip/TooltipTrigger.vue +0 -11
- package/src/components/ui/tooltip/index.ts +0 -4
- package/src/composables/glass/index.ts +0 -8
- package/src/composables/glass/useGlassRenderer.ts +0 -252
- package/src/composables/glass/webgl/frostShader.ts +0 -221
- package/src/composables/glass/webgpu/glassShader.wgsl +0 -173
- package/src/composables/index.ts +0 -32
- package/src/composables/infinite-scroll/index.ts +0 -2
- package/src/composables/infinite-scroll/types.ts +0 -25
- package/src/composables/infinite-scroll/useInfiniteScroll.ts +0 -101
- package/src/composables/interaction/index.ts +0 -5
- package/src/composables/interaction/useHeightTransition.ts +0 -82
- package/src/composables/interaction/useHoverPopover.ts +0 -64
- package/src/composables/interaction/useHoverToggle.ts +0 -103
- package/src/composables/interaction/useLeaveTimer.ts +0 -17
- package/src/composables/interaction/useTouchGate.ts +0 -207
- package/src/composables/pagination/index.ts +0 -2
- package/src/composables/pagination/useOffsetPagination.ts +0 -70
- package/src/composables/prng.ts +0 -32
- package/src/composables/useCharSplit.ts +0 -31
- package/src/composables/useClipboard.ts +0 -46
- package/src/composables/useGlobalDark.ts +0 -61
- package/src/composables/useKeyboardShortcuts.ts +0 -205
- package/src/composables/useWatercolorBlob.ts +0 -136
- package/src/composables/virtual/index.ts +0 -22
- package/src/composables/virtual/useVirtualSectionWindow.ts +0 -338
- package/src/composables/virtual/useWindowedStore.ts +0 -86
- package/src/composables/virtual/virtualSectionLayout.ts +0 -212
- package/src/index.ts +0 -9
- package/src/styles/scroll-pane.css +0 -10
- package/src/utils/cn.ts +0 -6
- /package/{src/components/custom/confirm-dialog/index.ts → dist/components/custom/confirm-dialog/index.d.ts} +0 -0
- /package/{src/components/custom/controls/index.ts → dist/components/custom/controls/index.d.ts} +0 -0
- /package/{src/components/custom/expandable-container/index.ts → dist/components/custom/expandable-container/index.d.ts} +0 -0
- /package/{src/components/custom/icon-tooltip/index.ts → dist/components/custom/icon-tooltip/index.d.ts} +0 -0
- /package/{src/components/custom/infinite-scroll/composables/index.ts → dist/components/custom/infinite-scroll/composables/index.d.ts} +0 -0
- /package/{src/components/custom/infinite-scroll/index.ts → dist/components/custom/infinite-scroll/index.d.ts} +0 -0
- /package/{src/components/custom/search/composables/index.ts → dist/components/custom/search/composables/index.d.ts} +0 -0
- /package/{src/components/custom/search/index.ts → dist/components/custom/search/index.d.ts} +0 -0
- /package/{src/components/custom/tabs/index.ts → dist/components/custom/tabs/index.d.ts} +0 -0
- /package/{src/components/custom/typewriter/composables/index.ts → dist/components/custom/typewriter/composables/index.d.ts} +0 -0
- /package/{src/components/custom/typewriter/index.ts → dist/components/custom/typewriter/index.d.ts} +0 -0
- /package/{src/components/ui/data-table/index.ts → dist/components/ui/data-table/index.d.ts} +0 -0
- /package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter, type Ref } from "vue";
|
|
2
|
+
export interface UseSpringOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Angular period of oscillation in seconds. Roughly: how long the spring
|
|
5
|
+
* takes to swing through one cycle if undamped. Default 0.5 (iOS smooth).
|
|
6
|
+
*/
|
|
7
|
+
response?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Damping ratio ζ. `1` is critically damped (fastest settle, no
|
|
10
|
+
* overshoot); `< 1` rings (overshoots target); `> 1` is overdamped
|
|
11
|
+
* (sluggish, monotone). Default 0.86 (iOS smooth preset).
|
|
12
|
+
*/
|
|
13
|
+
dampingFraction?: number;
|
|
14
|
+
/** Starting position. Default 0. */
|
|
15
|
+
initial?: number;
|
|
16
|
+
/** Starting velocity (units/s). Default 0. */
|
|
17
|
+
initialVelocity?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Position settle threshold. When |value - target| AND |velocity| both
|
|
20
|
+
* drop below their respective thresholds, the spring snaps to target
|
|
21
|
+
* and stops integrating. Default 1e-3.
|
|
22
|
+
*/
|
|
23
|
+
settleThreshold?: number;
|
|
24
|
+
/** Velocity settle threshold (units/s). Default 1e-3. */
|
|
25
|
+
velocitySettleThreshold?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Honor `prefers-reduced-motion: reduce` by snapping to target
|
|
28
|
+
* immediately rather than springing. Default true.
|
|
29
|
+
*/
|
|
30
|
+
respectReducedMotion?: boolean;
|
|
31
|
+
/** Per-frame side-effect hook. Receives the current spring value. */
|
|
32
|
+
onValue?: (value: number, velocity: number) => void;
|
|
33
|
+
}
|
|
34
|
+
export interface SpringRef {
|
|
35
|
+
/** Reactive spring position. Bind in templates. */
|
|
36
|
+
value: Readonly<Ref<number>>;
|
|
37
|
+
/** Reactive spring velocity (units/s). */
|
|
38
|
+
velocity: Readonly<Ref<number>>;
|
|
39
|
+
/** True when the spring has settled at target. */
|
|
40
|
+
isSettled: Readonly<Ref<boolean>>;
|
|
41
|
+
/** Force value to target immediately and stop the loop. */
|
|
42
|
+
snap: () => void;
|
|
43
|
+
/** Reset value + velocity (default 0/0), then stop the loop. */
|
|
44
|
+
reset: (value?: number, velocity?: number) => void;
|
|
45
|
+
/** Stop the spring and detach the target watcher. */
|
|
46
|
+
dispose: () => void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Track a live numeric target with iOS-style spring physics.
|
|
50
|
+
*
|
|
51
|
+
* Wraps `SpringProgress.play(onFrame)` from `@mkbabb/keyframes.js`. The
|
|
52
|
+
* engine owns rAF + analytic ODE integration; this composable wires the
|
|
53
|
+
* reactive surface, target-source tracking, and PRM fast-path.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const target = ref(0)
|
|
58
|
+
* const { value, isSettled } = useSpring(target, {
|
|
59
|
+
* response: 0.4,
|
|
60
|
+
* dampingFraction: 0.7,
|
|
61
|
+
* })
|
|
62
|
+
* // ...
|
|
63
|
+
* target.value = 100 // value damps toward 100 with overshoot per ζ
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare function useSpring(target: MaybeRefOrGetter<number | null | undefined>, options?: UseSpringOptions): SpringRef;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type SpringRef } from "./useSpring";
|
|
3
|
+
/** Named iOS spring presets (mirrors X1 §2.3 / tokens.css §2). */
|
|
4
|
+
export type SpringPreset = "smooth" | "snappy" | "bouncy" | "gentle";
|
|
5
|
+
export interface UseSpringMountOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Reactive open-state mirror from the host's DialogContext. Accepts
|
|
8
|
+
* both `Ref<boolean>` and `Readonly<Ref<boolean>>` — reka-ui's
|
|
9
|
+
* DialogContext exposes the readonly variant; our internal use of
|
|
10
|
+
* `.value` is read-only here, so the Readonly satisfies the contract.
|
|
11
|
+
*/
|
|
12
|
+
open: Readonly<Ref<boolean>>;
|
|
13
|
+
/** Preset name (default `smooth`). */
|
|
14
|
+
preset?: SpringPreset;
|
|
15
|
+
/** Honor `prefers-reduced-motion`. Default true. */
|
|
16
|
+
respectReducedMotion?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Dismiss-position threshold as a fraction of full travel. When pointer
|
|
19
|
+
* release crosses this, the target snaps to 1 and on-settle fires
|
|
20
|
+
* `onDismiss`. Default 0.3 (iOS sheet convention).
|
|
21
|
+
*/
|
|
22
|
+
dismissThreshold?: number;
|
|
23
|
+
/** Called once the dismiss-spring has settled. Wire to `onOpenChange(false)`. */
|
|
24
|
+
onDismiss?: () => void;
|
|
25
|
+
}
|
|
26
|
+
export interface SpringMountRef {
|
|
27
|
+
/** Position 0 (mounted) → 1 (dismissed). Bind to `transform: translateY` or scale. */
|
|
28
|
+
position: SpringRef["value"];
|
|
29
|
+
/** True while pointer is actively dragging. */
|
|
30
|
+
isDragging: Readonly<Ref<boolean>>;
|
|
31
|
+
/**
|
|
32
|
+
* Pointer handlers for the Sheet drag-dismiss gesture. Spread onto the
|
|
33
|
+
* sheet content (`v-bind="dragHandlers"`). Pass a getter for the sheet
|
|
34
|
+
* height so the threshold is computed against real pixels.
|
|
35
|
+
*/
|
|
36
|
+
dragHandlers: {
|
|
37
|
+
onPointerdown: (e: PointerEvent) => void;
|
|
38
|
+
onPointermove: (e: PointerEvent) => void;
|
|
39
|
+
onPointerup: (e: PointerEvent) => void;
|
|
40
|
+
onPointercancel: (e: PointerEvent) => void;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Spring-driven mount with optional pointer drag-dismiss.
|
|
45
|
+
*
|
|
46
|
+
* The spring target lives between 0 (fully mounted) and 1 (fully dismissed).
|
|
47
|
+
* The host watches `open` to seat the entrance (1 → 0). Pointer drags
|
|
48
|
+
* re-seat the target mid-flight; on release the threshold decides bounce
|
|
49
|
+
* vs. dismiss. The mid-flight re-target preserves spring continuity per
|
|
50
|
+
* SpringProgress (G-W2-3 verified).
|
|
51
|
+
*/
|
|
52
|
+
export declare function useSpringMount(options: UseSpringMountOptions): SpringMountRef;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useNumericTransition, type SpringSnapshot, type UseNumericTransitionOptions } from "./useNumericTransition";
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Renamed to `useNumericTransition` at AL.W9-δ to reclaim the
|
|
4
|
+
* "spring" name for the physics-based `useSpring` composable. This shim
|
|
5
|
+
* resolves to the same implementation and will be removed at the next
|
|
6
|
+
* major version (v3.0). Migrate to `useNumericTransition`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const useSpringOrchestrator: typeof useNumericTransition;
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Renamed to `UseNumericTransitionOptions` at AL.W9-δ. This
|
|
11
|
+
* shim will be removed at the next major version (v3.0). Migrate to
|
|
12
|
+
* `UseNumericTransitionOptions`.
|
|
13
|
+
*/
|
|
14
|
+
export type UseSpringOrchestratorOptions<K extends string> = UseNumericTransitionOptions<K>;
|
|
15
|
+
export type { SpringSnapshot };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type UseSpringOptions, type SpringRef } from "./useSpring";
|
|
2
|
+
export interface UseSpringPressOptions extends UseSpringOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Spring `response`. Default 0.25s (iOS tap-press canonical; faster
|
|
5
|
+
* than the default `useSpring` 0.5s to keep press feedback under the
|
|
6
|
+
* 100ms perception threshold).
|
|
7
|
+
*/
|
|
8
|
+
response?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Spring `dampingFraction`. Default 0.7 (overshoots ~5% — feels
|
|
11
|
+
* springy but doesn't ring).
|
|
12
|
+
*/
|
|
13
|
+
dampingFraction?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface SpringPressRef extends SpringRef {
|
|
16
|
+
/** Call on `pointerdown`. Drives target to 1. */
|
|
17
|
+
press: () => void;
|
|
18
|
+
/** Call on `pointerup` / `pointercancel` / `pointerleave`. Drives target to 0. */
|
|
19
|
+
release: () => void;
|
|
20
|
+
/** Convenience: handlers ready to spread onto an element. */
|
|
21
|
+
handlers: {
|
|
22
|
+
onPointerdown: () => void;
|
|
23
|
+
onPointerup: () => void;
|
|
24
|
+
onPointercancel: () => void;
|
|
25
|
+
onPointerleave: () => void;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Spring-physics press feedback. Returns a `value` ref animating between
|
|
30
|
+
* 0 (released) and 1 (pressed) with iOS-style overshoot, plus handlers
|
|
31
|
+
* to wire into an element's pointer events.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```vue
|
|
35
|
+
* <script setup>
|
|
36
|
+
* const { value, handlers } = useSpringPress()
|
|
37
|
+
* </script>
|
|
38
|
+
* <template>
|
|
39
|
+
* <button
|
|
40
|
+
* v-bind="handlers"
|
|
41
|
+
* :style="{ transform: `scale(${1 - value * 0.05})` }"
|
|
42
|
+
* />
|
|
43
|
+
* </template>
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function useSpringPress(options?: UseSpringPressOptions): SpringPressRef;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
export interface UseStaggerOptions {
|
|
3
|
+
/** Count of staggered slots. Each slot maps to one boolean in `revealed`. */
|
|
4
|
+
items: number;
|
|
5
|
+
/**
|
|
6
|
+
* Delay between consecutive reveals.
|
|
7
|
+
*
|
|
8
|
+
* Default 80ms — mirrors the `--motion-stagger-default` token in
|
|
9
|
+
* `tokens.css` (AJ-W4-κ canon). Consumers driving per-row CSS
|
|
10
|
+
* `animation-delay` cascades on the same surface should also read
|
|
11
|
+
* `--motion-stagger-default` so the JS-driven cascade (this composable)
|
|
12
|
+
* and the CSS-driven cascade stay in lockstep.
|
|
13
|
+
*
|
|
14
|
+
* The two adjacent canon tiers are:
|
|
15
|
+
* - `--motion-stagger-tight: 40ms` — dense row cascades
|
|
16
|
+
* - `--motion-stagger-relaxed: 120ms` — wide series cascades
|
|
17
|
+
*/
|
|
18
|
+
delayMs?: number;
|
|
19
|
+
/** Delay before the first reveal fires. Default 0. */
|
|
20
|
+
initialDelayMs?: number;
|
|
21
|
+
/** Auto-start on creation. Default true. */
|
|
22
|
+
immediate?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* When true, honour `prefers-reduced-motion: reduce` by flipping every
|
|
25
|
+
* slot true synchronously instead of cascading the timeline. Mirrors
|
|
26
|
+
* the canonical opt-in on `useAnimatedNumber` and the global
|
|
27
|
+
* `transitions.css` / `utilities.css` reduced-motion brackets. SSR
|
|
28
|
+
* environments (no `window.matchMedia`) treat the option as a no-op.
|
|
29
|
+
* Default true.
|
|
30
|
+
*/
|
|
31
|
+
respectReducedMotion?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface UseStaggerControls {
|
|
34
|
+
/** Per-slot reveal state. `revealed.value[i]` flips true at `initialDelayMs + i * delayMs`. */
|
|
35
|
+
revealed: Ref<boolean[]>;
|
|
36
|
+
/** Re-arm the cascade. Resets `revealed` to all-false then fires the timeline. */
|
|
37
|
+
start: () => void;
|
|
38
|
+
/** Reset to all-false. Cancels any pending reveals. */
|
|
39
|
+
reset: () => void;
|
|
40
|
+
/** True once every slot has flipped. */
|
|
41
|
+
isComplete: Ref<boolean>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Drive a fixed-count staggered reveal off a single timer cascade.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const { revealed, start } = useStagger({ items: visible.value.length, delayMs: 80, initialDelayMs: 80, immediate: false });
|
|
48
|
+
* watch(allComplete, (done, prev) => { if (done && !prev) start(); });
|
|
49
|
+
*/
|
|
50
|
+
export declare function useStagger(options: UseStaggerOptions): UseStaggerControls;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface StaggerRevealConfig {
|
|
2
|
+
/** Delay between each target becoming `revealed`. Default 60ms. */
|
|
3
|
+
staggerMs?: number;
|
|
4
|
+
/** When true (default), a target stays revealed after first entering the viewport. */
|
|
5
|
+
once?: boolean;
|
|
6
|
+
/** IntersectionObserver rootMargin. Default `0px`. */
|
|
7
|
+
rootMargin?: string;
|
|
8
|
+
/** IntersectionObserver threshold. Default 0.15. */
|
|
9
|
+
threshold?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Sequence entrance animations for a list/grid. Each registered target
|
|
13
|
+
* gets a staggered `revealed` flag once it crosses the viewport threshold.
|
|
14
|
+
* Consumers bind the flag to a Tailwind class (e.g. `opacity-100 translate-y-0`)
|
|
15
|
+
* and let CSS transitions handle the visual entry.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useStaggerReveal(options?: StaggerRevealConfig): {
|
|
18
|
+
targets: import("vue").Ref<HTMLElement[], HTMLElement[]>;
|
|
19
|
+
register: (el: HTMLElement | null, index?: number) => void;
|
|
20
|
+
revealed: Record<number, boolean>;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
export interface UseIntervalOptions {
|
|
3
|
+
/** Start the interval immediately. Default: true. */
|
|
4
|
+
immediate?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface UseIntervalControls {
|
|
7
|
+
/** True while an interval is running. */
|
|
8
|
+
readonly isActive: Readonly<Ref<boolean>>;
|
|
9
|
+
/** Start the interval, replacing any running interval. */
|
|
10
|
+
start: (delay?: number) => void;
|
|
11
|
+
/** Alias for start(). */
|
|
12
|
+
restart: (delay?: number) => void;
|
|
13
|
+
/** Stop the running interval. */
|
|
14
|
+
stop: () => void;
|
|
15
|
+
/** Alias for stop(), useful when replacing clearInterval(). */
|
|
16
|
+
clear: () => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Vue-scope-aware setInterval replacement.
|
|
20
|
+
*
|
|
21
|
+
* Safe to call outside setup/effect scopes. In a scope it auto-cleans on
|
|
22
|
+
* disposal; outside a scope callers use the returned controls explicitly.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useInterval(callback: () => void, delay?: number, options?: UseIntervalOptions): UseIntervalControls;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
export interface UseTimerOptions {
|
|
3
|
+
/** Start the timeout immediately. Default: true. */
|
|
4
|
+
immediate?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface UseTimerControls {
|
|
7
|
+
/** True while a timeout is pending. */
|
|
8
|
+
readonly isActive: Readonly<Ref<boolean>>;
|
|
9
|
+
/** Schedule the timeout, replacing any pending timeout. */
|
|
10
|
+
start: (delay?: number) => void;
|
|
11
|
+
/** Alias for start(). */
|
|
12
|
+
restart: (delay?: number) => void;
|
|
13
|
+
/** Cancel the pending timeout. */
|
|
14
|
+
stop: () => void;
|
|
15
|
+
/** Alias for stop(), useful when replacing clearTimeout(). */
|
|
16
|
+
clear: () => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Vue-scope-aware setTimeout replacement.
|
|
20
|
+
*
|
|
21
|
+
* Safe to call outside setup/effect scopes. In a scope it auto-cleans on
|
|
22
|
+
* disposal; outside a scope callers use the returned controls explicitly.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useTimer(callback: () => void, delay?: number, options?: UseTimerOptions): UseTimerControls;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { useScrollTracker } from "./useScrollTracker";
|
|
2
|
+
export { useSidebarFollow } from "./useSidebarFollow";
|
|
3
|
+
export type { SidebarFollowOptions } from "./useSidebarFollow";
|
|
4
|
+
export { useSidebarState } from "./useSidebarState";
|
|
5
|
+
export type { UseSidebarStateOptions, GenericSidebarState } from "./useSidebarState";
|
|
6
|
+
export { useTreeIndex, buildTreeIndex, isActive, isInActiveChain } from "./useTreeIndex";
|
|
7
|
+
export type { TreeNode, TreeIndexEntry, SidebarSection, SidebarIndexEntry, SidebarState, ScrollTrackerOptions, } from "./types";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Ref, ComputedRef } from "vue";
|
|
2
|
+
/** Minimal interface for tree-structured content with scroll targets. */
|
|
3
|
+
export interface TreeNode {
|
|
4
|
+
id: string;
|
|
5
|
+
children?: TreeNode[];
|
|
6
|
+
}
|
|
7
|
+
/** Generic flat index entry for a tree node. */
|
|
8
|
+
export interface TreeIndexEntry<T extends TreeNode = TreeNode> {
|
|
9
|
+
node: T;
|
|
10
|
+
depth: number;
|
|
11
|
+
/** ID of the root-level ancestor (self.id when depth === 0). */
|
|
12
|
+
rootId: string;
|
|
13
|
+
/** Direct parent ID (self.id for root nodes). */
|
|
14
|
+
parentId: string | null;
|
|
15
|
+
/** Index within root-level nodes. */
|
|
16
|
+
rootIndex: number;
|
|
17
|
+
}
|
|
18
|
+
/** A section in the sidebar tree. */
|
|
19
|
+
export interface SidebarSection extends TreeNode {
|
|
20
|
+
title: string;
|
|
21
|
+
children?: SidebarSection[];
|
|
22
|
+
level?: number;
|
|
23
|
+
}
|
|
24
|
+
/** Flat index entry for a sidebar section. */
|
|
25
|
+
export type SidebarIndexEntry = TreeIndexEntry<SidebarSection>;
|
|
26
|
+
/** Options for scroll tracking. */
|
|
27
|
+
export interface ScrollTrackerOptions {
|
|
28
|
+
/** IntersectionObserver rootMargin. Default: "-20% 0px -60% 0px" */
|
|
29
|
+
rootMargin?: string;
|
|
30
|
+
threshold?: number;
|
|
31
|
+
}
|
|
32
|
+
/** Reactive state returned by `useSidebarState`. */
|
|
33
|
+
export interface SidebarState {
|
|
34
|
+
sections: SidebarSection[];
|
|
35
|
+
activeId: Ref<string | null>;
|
|
36
|
+
activeRootId: ComputedRef<string | null>;
|
|
37
|
+
treeIndex: Map<string, SidebarIndexEntry>;
|
|
38
|
+
isExpanded(id: string): boolean;
|
|
39
|
+
toggleSection(id: string): void;
|
|
40
|
+
navigateTo(id: string): void;
|
|
41
|
+
scrollToTop(): void;
|
|
42
|
+
isActive(id: string): boolean;
|
|
43
|
+
isInActiveChain(id: string): boolean;
|
|
44
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MaybeRefOrGetter, Ref } from "vue";
|
|
2
|
+
import type { TreeNode, TreeIndexEntry, ScrollTrackerOptions } from "./types";
|
|
3
|
+
export declare function useScrollTracker<T extends TreeNode>(roots: MaybeRefOrGetter<T[]>, index: MaybeRefOrGetter<Map<string, TreeIndexEntry<T>>>, options?: ScrollTrackerOptions & {
|
|
4
|
+
getChildren?: (node: T) => T[] | undefined;
|
|
5
|
+
scrollContainer?: Ref<HTMLElement | null>;
|
|
6
|
+
}): {
|
|
7
|
+
activeId: Ref<string | null, string | null>;
|
|
8
|
+
activeRootId: import("vue").ComputedRef<string | null>;
|
|
9
|
+
forceRecalculate: () => void;
|
|
10
|
+
lockTracking: () => void;
|
|
11
|
+
unlockTracking: () => void;
|
|
12
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Ref } from "vue";
|
|
2
|
+
export interface SidebarFollowOptions {
|
|
3
|
+
/** The sidebar nav element to auto-scroll. */
|
|
4
|
+
sidebarEl: Ref<HTMLElement | null>;
|
|
5
|
+
/** Currently active section ID. */
|
|
6
|
+
activeId: Ref<string | null>;
|
|
7
|
+
/** Currently active root section ID. */
|
|
8
|
+
activeRootId?: Ref<string | null>;
|
|
9
|
+
/** External scroll source (page container) to listen to. */
|
|
10
|
+
scrollSource?: Ref<HTMLElement | null>;
|
|
11
|
+
/** Damping factor (0-1, default 0.22). Lower = slower approach. */
|
|
12
|
+
damping?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function useSidebarFollow(options: SidebarFollowOptions): {
|
|
15
|
+
queueSidebarFollow: (immediate?: boolean) => void;
|
|
16
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Ref, MaybeRefOrGetter } from "vue";
|
|
2
|
+
import type { TreeNode, TreeIndexEntry, SidebarSection, SidebarState } from "./types";
|
|
3
|
+
export interface UseSidebarStateOptions<T extends TreeNode = SidebarSection> {
|
|
4
|
+
sections: T[];
|
|
5
|
+
/**
|
|
6
|
+
* Currently active leaf section id. Accepts a `Ref`, a getter, or a raw
|
|
7
|
+
* value — `toValue` is applied internally so cross-package Vue version
|
|
8
|
+
* skew doesn't impose a `Ref` symbol-identity check at the call site.
|
|
9
|
+
*/
|
|
10
|
+
activeId: MaybeRefOrGetter<string | null>;
|
|
11
|
+
/** Currently active root-level section id. Same `MaybeRefOrGetter` shape. */
|
|
12
|
+
activeRootId: MaybeRefOrGetter<string | null>;
|
|
13
|
+
scrollTo: (id: string) => void;
|
|
14
|
+
scrollToTop: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Optional accessor for child nodes. Defaults to `node.children`.
|
|
17
|
+
* Pass when your tree stores children under a different property
|
|
18
|
+
* (e.g. `subsections`) — symmetric with `useTreeIndex` / `useScrollTracker`.
|
|
19
|
+
*/
|
|
20
|
+
getChildren?: (node: T) => T[] | undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Generic return shape — when called with a custom `T`, `treeIndex` is keyed
|
|
24
|
+
* to `TreeIndexEntry<T>` rather than the canonical `SidebarIndexEntry`.
|
|
25
|
+
*/
|
|
26
|
+
export interface GenericSidebarState<T extends TreeNode> {
|
|
27
|
+
sections: T[];
|
|
28
|
+
activeId: Ref<string | null>;
|
|
29
|
+
activeRootId: import("vue").ComputedRef<string | null>;
|
|
30
|
+
treeIndex: Map<string, TreeIndexEntry<T>>;
|
|
31
|
+
isExpanded(id: string): boolean;
|
|
32
|
+
toggleSection(id: string): void;
|
|
33
|
+
navigateTo(id: string): void;
|
|
34
|
+
scrollToTop(): void;
|
|
35
|
+
isActive(id: string): boolean;
|
|
36
|
+
isInActiveChain(id: string): boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare function useSidebarState(options: UseSidebarStateOptions<SidebarSection>): SidebarState;
|
|
39
|
+
export declare function useSidebarState<T extends TreeNode>(options: UseSidebarStateOptions<T>): GenericSidebarState<T>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { TreeNode, TreeIndexEntry, SidebarSection, SidebarIndexEntry } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Builds a flat index of all nodes in a tree for O(1) lookup with hierarchy
|
|
4
|
+
* metadata. Returns the index plus `isActive`, `isInActiveChain`, and
|
|
5
|
+
* `isDescendant` helpers that close over the index.
|
|
6
|
+
*
|
|
7
|
+
* Accepts an optional `getChildren` callback so callers with custom tree
|
|
8
|
+
* shapes (e.g. nodes whose children live under a different property name)
|
|
9
|
+
* don't need to conform to `TreeNode.children`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useTreeIndex<T extends TreeNode>(roots: T[], options?: {
|
|
12
|
+
getChildren?: (node: T) => T[] | undefined;
|
|
13
|
+
}): {
|
|
14
|
+
index: Map<string, TreeIndexEntry<T>>;
|
|
15
|
+
isActive: (id: string, activeId: string | null) => boolean;
|
|
16
|
+
isInActiveChain: (id: string, activeId: string | null) => boolean;
|
|
17
|
+
isDescendant: (childId: string, ancestorId: string) => boolean;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Builds a flat index of all nodes in a sidebar tree for O(1) lookup with
|
|
21
|
+
* hierarchy metadata. Pure function, no Vue reactivity.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildTreeIndex(roots: SidebarSection[]): Map<string, SidebarIndexEntry>;
|
|
24
|
+
/**
|
|
25
|
+
* Check if `id` is the active section.
|
|
26
|
+
*
|
|
27
|
+
* Pure-function variant for non-reactive callers. The composable returned by
|
|
28
|
+
* `useTreeIndex` includes the same helper.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isActive(id: string, activeId: string | null): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Check if `id` is an ancestor of or equal to `activeId`.
|
|
33
|
+
*
|
|
34
|
+
* Pure-function variant for non-reactive callers. The composable returned by
|
|
35
|
+
* `useTreeIndex` includes the same helper.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isInActiveChain(id: string, activeId: string | null, index: Map<string, SidebarIndexEntry>, _roots: SidebarSection[]): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useSortable, type UseSortableReturn, type SortableId, } from "./useSortable";
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useSortable — pointer-capture drag-reorder for Vue lists.
|
|
3
|
+
*
|
|
4
|
+
* Headless composable that owns all pointer handling, drop-target
|
|
5
|
+
* resolution, splice math, AND a DOM-clone drag ghost. Consumers
|
|
6
|
+
* spread the returned per-item binding on each row; the composable
|
|
7
|
+
* handles everything else. No `#preview` slot required — the
|
|
8
|
+
* ghost is a cloned snapshot of the row the user grabbed, so it
|
|
9
|
+
* always looks exactly like what's being dragged regardless of the
|
|
10
|
+
* row's markup.
|
|
11
|
+
*
|
|
12
|
+
* Why pointer events (not HTML5 DnD): HTML5 DnD is flaky inside
|
|
13
|
+
* reactive rendering loops, doesn't respect `user-select: none`
|
|
14
|
+
* ancestors, and can't render a non-ghost drag preview without
|
|
15
|
+
* fighting the browser. Pointer capture gives us direct control
|
|
16
|
+
* over the entire drag lifecycle and composes cleanly with other
|
|
17
|
+
* pointer-driven UI (canvas editors, pan/zoom, hover popovers).
|
|
18
|
+
*
|
|
19
|
+
* Cross-list drops via `group`: two or more SortableList
|
|
20
|
+
* instances that share a group id accept items from each other.
|
|
21
|
+
* On drag move, the composable hit-tests `elementFromPoint` for
|
|
22
|
+
* any `[data-sortable-container]` element matching the same
|
|
23
|
+
* group; when the cursor crosses into a sibling instance, the
|
|
24
|
+
* drop target transfers to that instance. On drop into a
|
|
25
|
+
* foreign group, the source's `onReorder` emits the removal
|
|
26
|
+
* and the target's `onInsert` receives the item + insertion
|
|
27
|
+
* index.
|
|
28
|
+
*
|
|
29
|
+
* Drop resolution walks registered row elements via a data
|
|
30
|
+
* attribute rather than subscribing to each row's bounding-box
|
|
31
|
+
* reactively — that keeps the cost at O(rows) per pointermove
|
|
32
|
+
* frame and avoids a layout thrash storm.
|
|
33
|
+
*/
|
|
34
|
+
import { type ComputedRef, type Ref } from "vue";
|
|
35
|
+
/**
|
|
36
|
+
* Identifier type for sortable rows. Must be stable across
|
|
37
|
+
* reorders (e.g. a record id, not a positional index).
|
|
38
|
+
*/
|
|
39
|
+
export type SortableId = string | number;
|
|
40
|
+
interface SortableOptions<T> {
|
|
41
|
+
/** The reactive array being reordered. */
|
|
42
|
+
items: Ref<readonly T[]> | ComputedRef<readonly T[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Extract a stable id from an item. The id is used both as
|
|
45
|
+
* the drop-target key (via `data-sortable-id`) and as the
|
|
46
|
+
* row registration key. Two items with the same id in the
|
|
47
|
+
* same list is undefined behavior.
|
|
48
|
+
*/
|
|
49
|
+
getId: (item: T) => SortableId;
|
|
50
|
+
/**
|
|
51
|
+
* Called once per successful same-list drop with the full
|
|
52
|
+
* reordered array. Also called with the post-removal array
|
|
53
|
+
* when an item is transferred OUT to another list in the
|
|
54
|
+
* same group.
|
|
55
|
+
*/
|
|
56
|
+
onReorder: (next: T[]) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Cross-list group id. Instances that share a group id
|
|
59
|
+
* accept drops from each other. Undefined (the default)
|
|
60
|
+
* isolates this instance — drags stay within the same list.
|
|
61
|
+
*/
|
|
62
|
+
group?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Called when a foreign item is dropped into this list. The
|
|
65
|
+
* consumer is responsible for the insert (typically by
|
|
66
|
+
* calling its own onReorder counterpart to mutate the
|
|
67
|
+
* source-of-truth). The item type is `unknown` because the
|
|
68
|
+
* source list may own a different T — the group id is the
|
|
69
|
+
* only contract that asserts compatibility.
|
|
70
|
+
*/
|
|
71
|
+
onInsert?: (index: number, item: unknown) => void;
|
|
72
|
+
/**
|
|
73
|
+
* Optional grip constraint. When set, drag only starts if
|
|
74
|
+
* the pointerdown target is (or is a descendant of) an
|
|
75
|
+
* element matching this selector. Defaults to
|
|
76
|
+
* `[data-sortable-handle]` — the selector that
|
|
77
|
+
* <SortableHandle> emits. Pass `null` to allow drag from
|
|
78
|
+
* anywhere on the row.
|
|
79
|
+
*/
|
|
80
|
+
handleSelector?: string | null;
|
|
81
|
+
/**
|
|
82
|
+
* Axis constraint for drop resolution. `"y"` uses row
|
|
83
|
+
* midpoint Y (vertical list), `"x"` uses row midpoint X
|
|
84
|
+
* (horizontal list). Default: `"y"`.
|
|
85
|
+
*/
|
|
86
|
+
axis?: "x" | "y";
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Handlers + attrs to spread on a row element. `SortableList`
|
|
90
|
+
* calls `registerItem(id)` once per row and forwards these via
|
|
91
|
+
* a `v-bind` on the row's root.
|
|
92
|
+
*/
|
|
93
|
+
interface SortableRowBinding {
|
|
94
|
+
/**
|
|
95
|
+
* Template ref callback. Spread on the row's root element
|
|
96
|
+
* via `:ref="binding.ref"`.
|
|
97
|
+
*/
|
|
98
|
+
ref: (el: Element | null) => void;
|
|
99
|
+
/** Data attribute set — includes `data-sortable-id`. */
|
|
100
|
+
dataAttrs: Record<string, string>;
|
|
101
|
+
/**
|
|
102
|
+
* Reactive class object — carries the drop-target hint
|
|
103
|
+
* classes (`is-sortable-drop-above` / `-below`) when this
|
|
104
|
+
* row is the live drop target during a drag.
|
|
105
|
+
*/
|
|
106
|
+
class: ComputedRef<Record<string, boolean>>;
|
|
107
|
+
/** Pointerdown handler — spread as `@pointerdown`. */
|
|
108
|
+
onPointerdown: (e: PointerEvent) => void;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Container binding — spread on the list's root element so the
|
|
112
|
+
* composable can hit-test it during cross-list drags.
|
|
113
|
+
*/
|
|
114
|
+
export interface SortableContainerBinding {
|
|
115
|
+
ref: (el: Element | null) => void;
|
|
116
|
+
dataAttrs: Record<string, string>;
|
|
117
|
+
}
|
|
118
|
+
export interface UseSortableReturn {
|
|
119
|
+
/**
|
|
120
|
+
* Register a row by its stable id. Returns the binding
|
|
121
|
+
* object the row should spread on its root element.
|
|
122
|
+
* Idempotent — calling with the same id returns the same
|
|
123
|
+
* binding so Vue's `v-bind` stays stable across rerenders.
|
|
124
|
+
*/
|
|
125
|
+
registerItem: (id: SortableId) => SortableRowBinding;
|
|
126
|
+
/**
|
|
127
|
+
* Binding to spread on the list's container element. Marks
|
|
128
|
+
* it as a drop target for cross-list drags in the same
|
|
129
|
+
* group and exposes the container bounding rect for hit
|
|
130
|
+
* testing.
|
|
131
|
+
*/
|
|
132
|
+
container: SortableContainerBinding;
|
|
133
|
+
/** True while a drag is in progress. */
|
|
134
|
+
isDragging: ComputedRef<boolean>;
|
|
135
|
+
/** Id of the row currently being dragged, or null. */
|
|
136
|
+
dragId: ComputedRef<SortableId | null>;
|
|
137
|
+
/**
|
|
138
|
+
* Live pointer position in page coordinates while a drag
|
|
139
|
+
* is in progress.
|
|
140
|
+
*/
|
|
141
|
+
dragPosition: ComputedRef<{
|
|
142
|
+
x: number;
|
|
143
|
+
y: number;
|
|
144
|
+
} | null>;
|
|
145
|
+
/** Index the drop will land at, or null when no target. */
|
|
146
|
+
dropIndex: ComputedRef<number | null>;
|
|
147
|
+
}
|
|
148
|
+
export declare function useSortable<T>(options: SortableOptions<T>): UseSortableReturn;
|
|
149
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./components/custom/configurator";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-BlaevW0S.js";
|
|
2
|
+
export { e as CONFIGURATOR_DENSITY_KEY, t as Configurator, i as ConfiguratorLayer, n as ConfiguratorRow, r as provideConfiguratorDensity, o as useConfiguratorState, a as useOptionalConfiguratorDensity };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./components/custom/confirm-dialog";
|