@mkbabb/glass-ui 3.2.0 → 3.4.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/dist/{CardFooter-3-VGho1J.js → CardFooter-C390imy7.js} +2 -2
- package/dist/{CollapsibleContent-wlmlDujU.js → CollapsibleContent-cauTbZEM.js} +1 -1
- package/dist/{CommandShortcut-C6lsz3pG.js → CommandShortcut-BiVyqipe.js} +5 -4
- package/dist/DataTable-FfkaAg2z.js +465 -0
- package/dist/DialogContent-IQ8_BRrC.js +100 -0
- package/dist/{DiscoGlyph-B7YooI2-.js → DiscoGlyph-BaZ8OawK.js} +1 -1
- package/dist/{GlyphFace-Bvk6OIas.js → GlyphFace-B_7vOmYn.js} +1 -1
- package/dist/HoverPopover-DTSYkJtw.js +96 -0
- package/dist/{IconTooltip-DXveGjx7.js → IconTooltip-BTyYn4mr.js} +1 -1
- package/dist/Input-CU9CNKmo.js +52 -0
- package/dist/{MetricBadge-J_GBCb8e.js → MetricBadge-BlrdbOGN.js} +1 -1
- package/dist/{NumberFieldContent-B6L6YrQz.js → NumberFieldContent-iOTQ5rGO.js} +8 -4
- package/dist/{PopoverContent-CxEEUL7Y.js → PopoverContent-B8WtJECb.js} +1 -1
- package/dist/Progress-DjM86vfb.js +254 -0
- package/dist/{ScrollingText-1Qjnwz6H.js → ScrollingText-P9o_DuMn.js} +1 -1
- package/dist/{SelectScrollDownButton-BvvvAbuh.js → SelectScrollDownButton-BGn3rjs9.js} +9 -8
- package/dist/TabsIndicator-DA0x9gPr.js +97 -0
- package/dist/{ToggleGroupItem-Cy7xHFEo.js → ToggleGroupItem-gyXj998A.js} +37 -40
- package/dist/UnderlineTabs-Cq_AD03t.js +39 -0
- package/dist/animated-digit.js +2 -2
- package/dist/api/index.d.ts +2 -0
- package/dist/api.js +1 -1
- package/dist/aurora.js +454 -271
- package/dist/{button-DS3ULf5i.js → button-Ckn3eDfB.js} +27 -22
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.js +2 -2
- package/dist/collapsible.js +1 -1
- package/dist/color-rkK4RMx2.js +33 -0
- package/dist/color.d.ts +1 -0
- package/dist/color.js +2 -0
- package/dist/command.js +1 -1
- package/dist/compile-DVgAxagk.js +106 -0
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +7 -7
- package/dist/components/custom/aurora/Aurora.vue.d.ts +3 -3
- package/dist/components/custom/aurora/composables/color.d.ts +3 -25
- package/dist/components/custom/aurora/composables/cursorModel.d.ts +45 -0
- package/dist/components/custom/aurora/composables/frameLoop.d.ts +30 -0
- package/dist/components/custom/aurora/composables/glSetup.d.ts +29 -0
- package/dist/components/custom/aurora/composables/runtime.d.ts +45 -35
- package/dist/components/custom/aurora/composables/uniformBridge.d.ts +67 -0
- package/dist/components/custom/aurora/composables/useAurora.d.ts +14 -1
- package/dist/components/custom/aurora/composables/useCursorInteraction.d.ts +1 -1
- package/dist/components/custom/aurora/constants/budget.d.ts +50 -0
- package/dist/components/custom/aurora/{presets.d.ts → constants/presets.d.ts} +2 -5
- package/dist/components/custom/aurora/constants/shaders/aurora.frag.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/brush.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/composition.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/flow.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +2 -0
- package/dist/components/custom/aurora/constants/shaders/tonemap.glsl.d.ts +1 -0
- package/dist/components/custom/aurora/index.d.ts +2 -2
- package/dist/components/custom/configurator/ConfiguratorLayer.vue.d.ts +14 -7
- package/dist/components/custom/configurator/density.d.ts +3 -8
- package/dist/components/custom/dock/DockBackgroundToggle.vue.d.ts +46 -0
- package/dist/components/custom/dock/DockIconButton.vue.d.ts +3 -3
- package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +2 -2
- package/dist/components/custom/dock/GlassDock.vue.d.ts +22 -18
- package/dist/components/custom/dock/composables/dockContext.d.ts +4 -4
- package/dist/components/custom/dock/composables/dockLayerContext.d.ts +13 -6
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +32 -8
- package/dist/components/custom/dock/index.d.ts +1 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
- package/dist/components/custom/glyph-face/keys.d.ts +3 -29
- package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +48 -0
- package/dist/components/custom/goo-blob/composables/easing.d.ts +6 -0
- package/dist/components/custom/goo-blob/composables/useBlobMood.d.ts +14 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/useBlobSatellites.d.ts +13 -0
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +42 -0
- package/dist/components/custom/goo-blob/index.d.ts +7 -0
- package/dist/components/custom/goo-blob/shaders/metaball.frag.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/metaball.vert.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/oklch-perturb.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/sdf-body.glsl.d.ts +1 -0
- package/dist/components/custom/goo-blob/shaders/watercolor-edges.glsl.d.ts +2 -0
- package/dist/components/custom/goo-blob/types.d.ts +77 -0
- package/dist/components/custom/hover-popover/HoverPopover.vue.d.ts +48 -9
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +2 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +2 -2
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +2 -2
- package/dist/components/custom/responsive-tabs/ResponsiveTabs.vue.d.ts +13 -7
- package/dist/components/custom/search/FuzzySearch.vue.d.ts +1 -1
- package/dist/components/custom/search/SearchBar.vue.d.ts +1 -1
- package/dist/components/custom/sortable-list/SortableHandle.vue.d.ts +7 -1
- package/dist/components/custom/sortable-list/context.d.ts +2 -3
- package/dist/components/custom/tabs/BouncyTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/BouncyToggle.vue.d.ts +7 -3
- package/dist/components/custom/tabs/UnderlineTabs.vue.d.ts +6 -3
- package/dist/components/custom/tabs/composables/useBouncySlider.d.ts +39 -0
- package/dist/components/custom/timeline/ContinuousMarkers.vue.d.ts +49 -0
- package/dist/components/custom/timeline/ContinuousRail.vue.d.ts +26 -0
- package/dist/components/custom/timeline/ContinuousTimeline.vue.d.ts +4 -4
- package/dist/components/custom/typewriter/TypewriterText.vue.d.ts +2 -2
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +45 -0
- package/dist/components/custom/watercolor-dot/index.d.ts +3 -0
- package/dist/components/custom/watercolor-dot/prng.d.ts +5 -0
- package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +24 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
- package/dist/components/ui/avatar/Avatar.vue.d.ts +1 -1
- package/dist/components/ui/avatar/AvatarImage.vue.d.ts +5 -1
- package/dist/components/ui/avatar/index.d.ts +1 -1
- package/dist/components/ui/badge/index.d.ts +2 -2
- package/dist/components/ui/button/Button.vue.d.ts +3 -1
- package/dist/components/ui/button/index.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
- package/dist/components/ui/combobox/Combobox.vue.d.ts +2 -2
- package/dist/components/ui/combobox/ComboboxInput.vue.d.ts +2 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -3
- package/dist/components/ui/command/CommandInput.vue.d.ts +2 -1
- package/dist/components/ui/data-table/DataTable.vue.d.ts +5 -4
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -0
- package/dist/components/ui/drawer/Drawer.vue.d.ts +4 -4
- package/dist/components/ui/input/Input.vue.d.ts +19 -1
- package/dist/components/ui/multi-select/MultiSelect.vue.d.ts +8 -4
- package/dist/components/ui/progress/Progress.vue.d.ts +26 -88
- package/dist/components/ui/progress/ProgressDefault.vue.d.ts +14 -0
- package/dist/components/ui/progress/ProgressGradient.vue.d.ts +25 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +36 -0
- package/dist/components/ui/progress/index.d.ts +5 -2
- package/dist/components/ui/progress/useProgressGeometry.d.ts +60 -0
- package/dist/components/ui/select/Select.vue.d.ts +2 -2
- package/dist/components/ui/select/SelectContent.vue.d.ts +1 -1
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +3 -0
- package/dist/components/ui/sheet/index.d.ts +1 -1
- package/dist/components/ui/slider/index.d.ts +12 -11
- package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
- package/dist/components/ui/textarea/Textarea.vue.d.ts +5 -1
- package/dist/components/ui/toast/Toast.vue.d.ts +4 -4
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/toggle/index.d.ts +1 -1
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +2 -3
- package/dist/composables/color/index.d.ts +49 -0
- package/dist/composables/context/createContext.d.ts +56 -0
- package/dist/composables/context/index.d.ts +1 -0
- package/dist/composables/dark/darkModeSyncScript.d.ts +23 -0
- package/dist/composables/dark/index.d.ts +3 -0
- package/dist/composables/dark/useGlobalDark.d.ts +19 -2
- package/dist/composables/dom/index.d.ts +0 -3
- package/dist/composables/dom/useClipboard.d.ts +35 -12
- package/dist/composables/dom/useDocumentVisibility.d.ts +20 -0
- package/dist/composables/glass/webgl/compile.d.ts +15 -0
- package/dist/composables/glass/webgl/shaders/procedural-color.glsl.d.ts +3 -0
- package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +55 -0
- package/dist/composables/motion/core/index.d.ts +1 -1
- package/dist/composables/motion/index.d.ts +1 -1
- package/dist/composables/motion/useCountup.d.ts +29 -0
- package/dist/composables/motion/useNumericTransition.d.ts +14 -3
- package/dist/composables/motion/vReveal.d.ts +2 -0
- package/dist/composables/sidebar/useSidebarState.d.ts +2 -2
- package/dist/composables/sortable/dragController.d.ts +44 -0
- package/dist/composables/sortable/dropResolver.d.ts +34 -0
- package/dist/composables/sortable/ghostRenderer.d.ts +44 -0
- package/dist/composables/sortable/index.d.ts +1 -1
- package/dist/composables/sortable/touchGate.d.ts +26 -0
- package/dist/composables/sortable/transitionTiming.d.ts +50 -0
- package/dist/composables/sortable/types.d.ts +133 -0
- package/dist/composables/sortable/useSortable.d.ts +25 -153
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +1 -1
- package/dist/controls.js +4 -4
- package/dist/createContext-DBMGRlx4.js +25 -0
- package/dist/dark.d.ts +2 -1
- package/dist/dark.js +9 -2
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +1 -1
- package/dist/disco-glyph.js +1 -1
- package/dist/dock.js +400 -261
- package/dist/dockContext-spUj_-E5.js +9 -0
- package/dist/dom.js +6 -6
- package/dist/{dropdown-menu-naE0skDg.js → dropdown-menu-EFjl5iKo.js} +1 -1
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +26 -20
- package/dist/fonts/README.md +21 -0
- package/dist/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/dist/forms.js +68 -59
- package/dist/glass-panel.js +1 -1
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +226 -328
- package/dist/glyph-face.js +2 -2
- package/dist/goo-blob.d.ts +1 -0
- package/dist/goo-blob.js +538 -0
- package/dist/header-ribbon.js +2 -2
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/instrument-chassis.js +1 -1
- package/dist/instrument-rail.js +1 -1
- package/dist/keys-BFoma9vm.js +9 -0
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +57 -39
- package/dist/metric-badge.js +1 -1
- package/dist/motion-core.js +82 -123
- package/dist/motion.js +62 -14
- package/dist/number-field.js +1 -1
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/{presets-BpTf63Hp.js → presets-1OhFpaIC.js} +1 -1
- package/dist/prng-Bz_1Tydc.js +15 -0
- package/dist/progress.js +2 -2
- package/dist/reactive.js +2 -2
- package/dist/responsive-tabs.js +38 -32
- package/dist/scrolling-text.js +1 -1
- package/dist/search.js +8 -8
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-wx8ifVFB.js → slider-BOh8ycfZ.js} +7 -11
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +36 -38
- package/dist/stacked-icons.js +2 -2
- package/dist/styles/animations.css +1 -1
- package/dist/styles/cards.css +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/dock-controls.css +486 -0
- package/dist/styles/dock.css +284 -450
- package/dist/styles/fonts.css +25 -0
- package/dist/styles/glass-specular-track.css +154 -0
- package/dist/styles/glass.css +74 -2
- package/dist/styles/index.css +21 -2
- package/dist/styles/instrument-chassis.css +11 -4
- package/dist/styles/theme.css +73 -21
- package/dist/styles/tokens.css +271 -140
- package/dist/styles/typography.css +14 -8
- package/dist/styles/utilities.css +36 -8
- package/dist/styles/view-transition.css +10 -4
- package/dist/switch.js +1 -1
- package/dist/tabs.js +139 -112
- package/dist/timeline.js +219 -158
- package/dist/toast.js +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tokens.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{useAnimatedNumber-BOxrS3a6.js → useAnimatedNumber-BF6r64lA.js} +1 -1
- package/dist/useClipboard-D8vFyRCa.js +97 -0
- package/dist/{useConfiguratorState-Dq2gNv4A.js → useConfiguratorState-DUtC1jxr.js} +82 -86
- package/dist/useGlobalDark-CWiaCoEw.js +34 -0
- package/dist/useIntersectionPause-DAdVPVp4.js +53 -0
- package/dist/useSortable-DnyGXKKY.js +246 -0
- package/dist/{useTouchGate-XX8gHfay.js → useTouchGate-CS5Csc2h.js} +1 -1
- package/dist/utils/prng.d.ts +4 -0
- package/dist/vReveal-u2wSG2El.js +35 -0
- package/dist/watercolor-dot.d.ts +1 -0
- package/dist/watercolor-dot.js +129 -0
- package/package.json +101 -16
- package/src/fonts/README.md +21 -0
- package/src/fonts/fraunces/fraunces-latin.woff2 +0 -0
- package/src/styles/animations.css +1 -1
- package/src/styles/cards.css +1 -1
- package/src/styles/dock-controls.css +486 -0
- package/src/styles/dock.css +284 -450
- package/src/styles/fonts.css +25 -0
- package/src/styles/glass-specular-track.css +154 -0
- package/src/styles/glass.css +74 -2
- package/src/styles/index.css +21 -2
- package/src/styles/instrument-chassis.css +11 -4
- package/src/styles/theme.css +73 -21
- package/src/styles/tokens.css +271 -140
- package/src/styles/typography.css +14 -8
- package/src/styles/utilities.css +36 -8
- package/src/styles/view-transition.css +10 -4
- package/dist/DataTable-BsrDYdoE.js +0 -460
- package/dist/DialogContent-B61rP8lj.js +0 -93
- package/dist/HoverPopover-BlEwqG7S.js +0 -96
- package/dist/Input-IFsIzId2.js +0 -30
- package/dist/Progress-Bs44qWEM.js +0 -126
- package/dist/UnderlineTabs-B4FV2zi_.js +0 -37
- package/dist/components/custom/aurora/shaders/aurora.frag.d.ts +0 -1
- package/dist/composables/dom/useBreakpoint.d.ts +0 -38
- package/dist/composables/dom/useIdleReady.d.ts +0 -63
- package/dist/composables/dom/useViewportReady.d.ts +0 -87
- package/dist/composables/glass/webgl/frostShader.d.ts +0 -27
- package/dist/composables/motion/useAnimatedNumberMap.d.ts +0 -29
- package/dist/composables/motion/useStagger.d.ts +0 -50
- package/dist/dockContext-DM58L1Jt.js +0 -16
- package/dist/keys-SIKQYNx1.js +0 -11
- package/dist/supportsCssTimeline-IQY3gfKD.js +0 -12
- package/dist/useGlobalDark-BUUTZvkU.js +0 -24
- package/dist/useIdleReady-sLhGo6CL.js +0 -162
- package/dist/useIntersectionPause-CUmANkoc.js +0 -39
- package/dist/useSortable-DLK9kwZp.js +0 -189
- /package/dist/{HoverCardContent-DGUhpRVt.js → HoverCardContent-ICfIMZX1.js} +0 -0
- /package/dist/{InstrumentChassis-CqKPBNqp.js → InstrumentChassis-DaHIZCqy.js} +0 -0
- /package/dist/{InstrumentRail-CCjvKkpB.js → InstrumentRail-B0qqLFN0.js} +0 -0
- /package/dist/{Label-D53EOwLE.js → Label-CZk-3nTc.js} +0 -0
- /package/dist/{PaperBackdrop-Ds-wDsKf.js → PaperBackdrop-D_YZW47j.js} +0 -0
- /package/dist/{SelectGroup-DAgcsfFw.js → SelectGroup-CMdoCjRE.js} +0 -0
- /package/dist/{SelectSeparator-DN1jzLaI.js → SelectSeparator-CaJnPF3_.js} +0 -0
- /package/dist/{Separator-DXxac0j8.js → Separator-C2XtAXRp.js} +0 -0
- /package/dist/{Switch-imA0Hdjs.js → Switch-x8n6husW.js} +0 -0
- /package/dist/{Toaster-Brs6QjBU.js → Toaster-DdhMKfus.js} +0 -0
- /package/dist/{TooltipProvider-MZFRxOvT.js → TooltipProvider-D-JrSqDu.js} +0 -0
- /package/dist/components/custom/aurora/{renderMode.d.ts → constants/renderMode.d.ts} +0 -0
- /package/dist/components/custom/aurora/{shaders → constants/shaders}/aurora.vert.d.ts +0 -0
- /package/dist/{constants-DfWPi8kh.js → constants-DsCdlK9I.js} +0 -0
- /package/dist/{sheet-BnvZRXPq.js → sheet-CQYYrkr9.js} +0 -0
- /package/dist/{useGlassRenderer-C98tZnJ7.js → useGlassRenderer-Dn3WpfG-.js} +0 -0
- /package/dist/{useInterval-B58LmYth.js → useInterval-CHVYFpXV.js} +0 -0
- /package/dist/{useResizeObserver-C_7GjpRn.js → useResizeObserver-DX-STszm.js} +0 -0
- /package/dist/{useTextHighlight-CLST6an0.js → useTextHighlight-Dmtofpk2.js} +0 -0
- /package/dist/{useTimer-6FoosoDY.js → useTimer-DGgoxTXL.js} +0 -0
- /package/dist/{useUserInvalidAria-BW5iyqWR.js → useUserInvalidAria-DmvZ_6Dx.js} +0 -0
- /package/dist/{useViewTransition-CUJM7fXT.js → useViewTransition-D4ssvnXZ.js} +0 -0
|
@@ -1,162 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* useSortable — pointer-capture drag-reorder for Vue lists.
|
|
3
3
|
*
|
|
4
|
-
* Headless composable that owns all pointer handling, drop-target
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* always looks exactly like what's being dragged regardless of the
|
|
10
|
-
* row's markup.
|
|
4
|
+
* Headless composable that owns all pointer handling, drop-target resolution,
|
|
5
|
+
* splice math, AND a DOM-clone drag ghost. Consumers spread the returned per-item
|
|
6
|
+
* binding on each row; the composable handles everything else. No `#preview` slot
|
|
7
|
+
* required — the ghost is a cloned snapshot of the row the user grabbed, so it
|
|
8
|
+
* always looks exactly like what's being dragged regardless of the row's markup.
|
|
11
9
|
*
|
|
12
|
-
* Why pointer events (not HTML5 DnD): HTML5 DnD is flaky inside
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* over the entire drag lifecycle and composes cleanly with other
|
|
10
|
+
* Why pointer events (not HTML5 DnD): HTML5 DnD is flaky inside reactive rendering
|
|
11
|
+
* loops, doesn't respect `user-select: none` ancestors, and can't render a
|
|
12
|
+
* non-ghost drag preview without fighting the browser. Pointer capture gives us
|
|
13
|
+
* direct control over the entire drag lifecycle and composes cleanly with other
|
|
17
14
|
* pointer-driven UI (canvas editors, pan/zoom, hover popovers).
|
|
18
15
|
*
|
|
19
|
-
* Cross-list drops via `group`: two or more SortableList
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* foreign group, the source's `onReorder` emits the removal
|
|
26
|
-
* and the target's `onInsert` receives the item + insertion
|
|
27
|
-
* index.
|
|
16
|
+
* Cross-list drops via `group`: two or more SortableList instances that share a
|
|
17
|
+
* group id accept items from each other. On drag move, the composable hit-tests
|
|
18
|
+
* the sibling instance registry; when the cursor crosses into a sibling instance,
|
|
19
|
+
* the drop target transfers to that instance. On drop into a foreign group, the
|
|
20
|
+
* source's `onReorder` emits the removal and the target's `onInsert` receives the
|
|
21
|
+
* item + insertion index.
|
|
28
22
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
23
|
+
* This module is the thin orchestrator. It composes five cohesive services:
|
|
24
|
+
* - dragController — the drag-state lifecycle + cross-list routing
|
|
25
|
+
* - dropResolver — pure collision/measure math + the instance registry
|
|
26
|
+
* - ghostRenderer — the snap-physics + visual clone
|
|
27
|
+
* - touchGate — the handle constraint + pointer-capture optimization
|
|
28
|
+
* - transitionTiming — the drop-target class grammar
|
|
33
29
|
*/
|
|
34
|
-
import {
|
|
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
|
-
/**
|
|
149
|
-
* True when a computed `border-radius` string has any non-zero
|
|
150
|
-
* corner. Computed values resolve to space-separated lengths
|
|
151
|
-
* (e.g. `"0px"`, `"6px"`, `"12px 12px 0px 0px"`) with an optional
|
|
152
|
-
* `/` separating the horizontal/vertical radii of elliptical
|
|
153
|
-
* corners. A radius is "zero" only when every numeric component
|
|
154
|
-
* parses to 0; a non-length token (`%`, `auto`) counts as
|
|
155
|
-
* non-zero so we never miss a rounded corner.
|
|
156
|
-
*
|
|
157
|
-
* Exported (not re-exported from the package barrel) for the D9 drag-ring
|
|
158
|
-
* regression test — keep it a pure string predicate.
|
|
159
|
-
*/
|
|
160
|
-
export declare function isNonZeroRadius(radius: string): boolean;
|
|
30
|
+
import type { SortableOptions, UseSortableReturn } from "./types";
|
|
31
|
+
import { isNonZeroRadius } from "./ghostRenderer";
|
|
161
32
|
export declare function useSortable<T>(options: SortableOptions<T>): UseSortableReturn;
|
|
162
|
-
export {};
|
|
33
|
+
export { isNonZeroRadius };
|
|
34
|
+
export type { SortableId, SortableContainerBinding, UseSortableReturn } from "./types";
|
package/dist/configurator.js
CHANGED
|
@@ -1,2 +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-
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./useConfiguratorState-DUtC1jxr.js";
|
|
2
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 };
|
package/dist/confirm-dialog.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./createLucideIcon-DuDoe_ra.js";
|
|
2
|
-
import { n as t } from "./button-
|
|
2
|
+
import { n as t } from "./button-Ckn3eDfB.js";
|
|
3
3
|
import { t as n } from "./_plugin-vue_export-helper-C1je1s0u.js";
|
|
4
4
|
import { Transition as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeModels as d, openBlock as f, renderSlot as p, toDisplayString as m, unref as h, useModel as g, withCtx as _, withKeys as v, withModifiers as y } from "vue";
|
|
5
5
|
var b = e("loader-circle", [["path", {
|
package/dist/controls.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./cn-DJXf4yaB.js";
|
|
2
2
|
import { t } from "./_plugin-vue_export-helper-C1je1s0u.js";
|
|
3
|
-
import { t as n } from "./useGlobalDark-
|
|
3
|
+
import { t as n } from "./useGlobalDark-CWiaCoEw.js";
|
|
4
4
|
import { computed as r, createBlock as i, createElementVNode as a, defineComponent as o, mergeProps as s, openBlock as c, resolveDynamicComponent as l, unref as u, useAttrs as d, watchEffect as f, withCtx as p } from "vue";
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/components/custom/controls/DarkModeToggle.vue
|
|
@@ -19,7 +19,7 @@ var m = /* @__PURE__ */ t(/* @__PURE__ */ o({
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
setup(t) {
|
|
22
|
-
let o = t, m = d(), h = r(() => e("dark-mode-toggle-button", "relative isolate inline-flex shrink-0 items-center justify-center", "cursor-pointer border-0 bg-transparent", "rounded-
|
|
22
|
+
let o = t, m = d(), h = r(() => e("dark-mode-toggle-button", "relative isolate inline-flex shrink-0 items-center justify-center", "cursor-pointer border-0 bg-transparent", "rounded-pill", "opacity-80", "focus-ring", m.class)), { isDark: g, toggleDark: _, setDisableTransitions: v } = n(), y = r(() => {
|
|
23
23
|
let { class: e, ...t } = m;
|
|
24
24
|
return o.passive ? t : {
|
|
25
25
|
type: "button",
|
|
@@ -37,7 +37,7 @@ var m = /* @__PURE__ */ t(/* @__PURE__ */ o({
|
|
|
37
37
|
default: p(() => [...n[1] ||= [a("svg", {
|
|
38
38
|
xmlns: "http://www.w3.org/2000/svg",
|
|
39
39
|
viewBox: "0 0 472.39 472.39",
|
|
40
|
-
class: "block h-full w-full fill-
|
|
40
|
+
class: "block h-full w-full fill-foreground"
|
|
41
41
|
}, [a("g", { class: "toggle-sun" }, [a("path", { d: "M403.21,167V69.18H305.38L236.2,0,167,69.18H69.18V167L0,236.2l69.18,69.18v97.83H167l69.18,69.18,69.18-69.18h97.83V305.38l69.18-69.18Zm-167,198.17a129,129,0,1,1,129-129A129,129,0,0,1,236.2,365.19Z" })]), a("g", { class: "toggle-circle" }, [a("circle", {
|
|
42
42
|
cx: "236.2",
|
|
43
43
|
cy: "236.2",
|
|
@@ -46,6 +46,6 @@ var m = /* @__PURE__ */ t(/* @__PURE__ */ o({
|
|
|
46
46
|
_: 1
|
|
47
47
|
}, 16, ["class", "data-size"]));
|
|
48
48
|
}
|
|
49
|
-
}), [["__scopeId", "data-v-
|
|
49
|
+
}), [["__scopeId", "data-v-10981347"]]);
|
|
50
50
|
//#endregion
|
|
51
51
|
export { m as DarkModeToggle };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { inject as e, provide as t } from "vue";
|
|
2
|
+
//#region src/composables/context/createContext.ts
|
|
3
|
+
function n(n, r) {
|
|
4
|
+
let i = Symbol(n);
|
|
5
|
+
return {
|
|
6
|
+
KEY: i,
|
|
7
|
+
provide: (e) => t(i, e),
|
|
8
|
+
use: () => {
|
|
9
|
+
let t = e(i);
|
|
10
|
+
if (!t) throw Error(r);
|
|
11
|
+
return t;
|
|
12
|
+
},
|
|
13
|
+
useOptional: () => e(i, null)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function r(n) {
|
|
17
|
+
let r = Symbol(n);
|
|
18
|
+
return {
|
|
19
|
+
KEY: r,
|
|
20
|
+
provide: (e) => t(r, e),
|
|
21
|
+
use: () => e(r, null)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { n, r as t };
|
package/dist/dark.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { useGlobalDark, installDarkModeSync } from "./composables/dark";
|
|
1
|
+
export { useGlobalDark, installDarkModeSync, darkModeSyncScript, DARK_MODE_STORAGE_KEY, } from "./composables/dark";
|
|
2
|
+
export type { UseGlobalDarkOptions, DarkModeSyncScriptOptions } from "./composables/dark";
|
package/dist/dark.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./useGlobalDark-
|
|
1
|
+
import { t as e } from "./useGlobalDark-CWiaCoEw.js";
|
|
2
2
|
import { nextTick as t, watch as n } from "vue";
|
|
3
3
|
//#region src/composables/dark/installDarkModeSync.ts
|
|
4
4
|
function r(r) {
|
|
@@ -10,4 +10,11 @@ function r(r) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
//#endregion
|
|
13
|
-
|
|
13
|
+
//#region src/composables/dark/darkModeSyncScript.ts
|
|
14
|
+
var i = "vueuse-color-scheme", a = "dark";
|
|
15
|
+
function o(e = {}) {
|
|
16
|
+
let t = e.storageKey ?? "vueuse-color-scheme";
|
|
17
|
+
return `(function(){try{var m=localStorage.getItem(${JSON.stringify(t)});var d=m==="${a}"||((m===null||m==="auto")&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches);var e=document.documentElement;e.classList.toggle("${a}",d);e.style.colorScheme=d?"dark":"light";}catch(_){}})();`;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { i as DARK_MODE_STORAGE_KEY, o as darkModeSyncScript, r as installDarkModeSync, e as useGlobalDark };
|
package/dist/data-table.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./DataTable-
|
|
1
|
+
import { n as e, t } from "./DataTable-FfkaAg2z.js";
|
|
2
2
|
export { t as DataTable, e as DataTablePagination };
|
package/dist/dialog.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as e, t } from "./DialogContent-
|
|
1
|
+
import { n as e, t } from "./DialogContent-IQ8_BRrC.js";
|
|
2
2
|
import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./DialogFooter-Er0wA3K6.js";
|
|
3
3
|
export { e as Dialog, s as DialogClose, t as DialogContent, o as DialogDescription, c as DialogFooter, n as DialogHeader, i as DialogScrollContent, r as DialogTitle, a as DialogTrigger };
|
package/dist/disco-glyph.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./DiscoGlyph-
|
|
1
|
+
import { t as e } from "./DiscoGlyph-BaZ8OawK.js";
|
|
2
2
|
export { e as DiscoGlyph };
|