@vue-dnd-kit/core 1.6.0 → 2.0.0-alpha1
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 +5 -305
- package/dist/core.css +1 -0
- package/dist/external/components/DefaultOverlay.vue.d.ts +3 -0
- package/dist/external/components/DefaultOverlay.vue.d.ts.map +1 -0
- package/dist/external/components/DnDProvider.vue.d.ts +25 -0
- package/dist/external/components/DnDProvider.vue.d.ts.map +1 -0
- package/dist/external/composables/makeBoundingBox.d.ts +8 -0
- package/dist/external/composables/makeBoundingBox.d.ts.map +1 -0
- package/dist/external/composables/makeCustomOverlay.d.ts +2 -0
- package/dist/external/composables/makeCustomOverlay.d.ts.map +1 -0
- package/dist/external/composables/makeDraggable.d.ts +17 -0
- package/dist/external/composables/makeDraggable.d.ts.map +1 -0
- package/dist/external/composables/makeDroppable.d.ts +7 -0
- package/dist/external/composables/makeDroppable.d.ts.map +1 -0
- package/dist/external/composables/makeSelectableArea.d.ts +15 -0
- package/dist/external/composables/makeSelectableArea.d.ts.map +1 -0
- package/dist/external/composables/useDnDProvider.d.ts +3 -0
- package/dist/external/composables/useDnDProvider.d.ts.map +1 -0
- package/dist/external/index.d.ts +12 -0
- package/dist/external/index.d.ts.map +1 -0
- package/dist/external/types/entities.d.ts +144 -0
- package/dist/external/types/index.d.ts +4 -0
- package/dist/external/types/placement.d.ts +15 -0
- package/dist/external/types/pointer.d.ts +10 -0
- package/dist/external/types/provider.d.ts +64 -0
- package/dist/index.d.ts +2 -2133
- package/dist/internal/composables/useDnDProviderEvents.d.ts +3 -0
- package/dist/internal/composables/useDnDProviderEvents.d.ts.map +1 -0
- package/dist/internal/composables/useDnDProviderInternal.d.ts +3 -0
- package/dist/internal/composables/useDnDProviderInternal.d.ts.map +1 -0
- package/dist/internal/composables/useDnDProviderState.d.ts +4 -0
- package/dist/internal/composables/useDnDProviderState.d.ts.map +1 -0
- package/dist/internal/composables/useSizeObserver.d.ts +34 -0
- package/dist/internal/composables/useSizeObserver.d.ts.map +1 -0
- package/dist/internal/logic/hover.d.ts +8 -0
- package/dist/internal/logic/hover.d.ts.map +1 -0
- package/dist/internal/logic/keyboard.d.ts +7 -0
- package/dist/internal/logic/keyboard.d.ts.map +1 -0
- package/dist/internal/logic/payload.d.ts +8 -0
- package/dist/internal/logic/payload.d.ts.map +1 -0
- package/dist/internal/logic/pointer.d.ts +10 -0
- package/dist/internal/logic/pointer.d.ts.map +1 -0
- package/dist/internal/logic/scroll.d.ts +3 -0
- package/dist/internal/logic/scroll.d.ts.map +1 -0
- package/dist/internal/sensors/defaultCollision.d.ts +8 -0
- package/dist/internal/sensors/defaultCollision.d.ts.map +1 -0
- package/dist/internal/sensors/index.d.ts +3 -0
- package/dist/internal/sensors/index.d.ts.map +1 -0
- package/dist/internal/sensors/sensor.d.ts +53 -0
- package/dist/internal/sensors/sensor.d.ts.map +1 -0
- package/dist/internal/sensors/steps.d.ts +27 -0
- package/dist/internal/sensors/steps.d.ts.map +1 -0
- package/dist/internal/types/observer.d.ts +11 -0
- package/dist/internal/types/provider.d.ts +29 -0
- package/dist/internal/utils/constraints.d.ts +41 -0
- package/dist/internal/utils/constraints.d.ts.map +1 -0
- package/dist/internal/utils/disabled.d.ts +10 -0
- package/dist/internal/utils/disabled.d.ts.map +1 -0
- package/dist/internal/utils/dom.d.ts +45 -0
- package/dist/internal/utils/dom.d.ts.map +1 -0
- package/dist/internal/utils/drag-activation.d.ts +30 -0
- package/dist/internal/utils/drag-activation.d.ts.map +1 -0
- package/dist/internal/utils/events.d.ts +22 -0
- package/dist/internal/utils/events.d.ts.map +1 -0
- package/dist/internal/utils/geometry.d.ts +24 -0
- package/dist/internal/utils/geometry.d.ts.map +1 -0
- package/dist/internal/utils/groups.d.ts +9 -0
- package/dist/internal/utils/groups.d.ts.map +1 -0
- package/dist/internal/utils/keyboard.d.ts +6 -0
- package/dist/internal/utils/keyboard.d.ts.map +1 -0
- package/dist/internal/utils/namespaces.d.ts +19 -0
- package/dist/internal/utils/namespaces.d.ts.map +1 -0
- package/dist/internal/utils/observer.d.ts +28 -0
- package/dist/internal/utils/observer.d.ts.map +1 -0
- package/dist/internal/utils/placement.d.ts +29 -0
- package/dist/internal/utils/placement.d.ts.map +1 -0
- package/dist/internal/utils/pointer.d.ts +34 -0
- package/dist/internal/utils/pointer.d.ts.map +1 -0
- package/dist/internal/utils/provider.d.ts +13 -0
- package/dist/internal/utils/provider.d.ts.map +1 -0
- package/dist/internal/utils/selection.d.ts +28 -0
- package/dist/internal/utils/selection.d.ts.map +1 -0
- package/dist/internal/utils/session.d.ts +6 -0
- package/dist/internal/utils/session.d.ts.map +1 -0
- package/dist/vite.svg +1 -0
- package/dist/vue-dnd-kit-core.cjs.js +1 -1
- package/dist/vue-dnd-kit-core.cjs.js.map +1 -1
- package/dist/vue-dnd-kit-core.es.js +885 -825
- package/dist/vue-dnd-kit-core.es.js.map +1 -1
- package/package.json +74 -73
- package/LICENSE +0 -21
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { IDraggableEntity, IDraggingEntity, TPointerState } from '../../external/types';
|
|
2
|
+
import { IDnDProviderInternal } from '../types/provider';
|
|
3
|
+
/**
|
|
4
|
+
* Creates initial pointer state from event
|
|
5
|
+
*/
|
|
6
|
+
export declare function createPointerState(event: PointerEvent, offsetX?: number, offsetY?: number): TPointerState;
|
|
7
|
+
/**
|
|
8
|
+
* Calculates cursor offset as ratio (0–1) relative to element size
|
|
9
|
+
*/
|
|
10
|
+
export declare function calculateCursorOffset(event: PointerEvent, element: HTMLElement): {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Creates dragging entity with initial data
|
|
16
|
+
*/
|
|
17
|
+
export declare function createDraggingEntity(element: HTMLElement, draggableEntity?: IDraggableEntity): IDraggingEntity;
|
|
18
|
+
/**
|
|
19
|
+
* Инициализирует dragging для выбранных элементов
|
|
20
|
+
*/
|
|
21
|
+
export declare function initializeDraggingFromSelection(selectedSet: Set<HTMLElement>, draggableMap: Map<HTMLElement, IDraggableEntity>, draggingMap: Map<HTMLElement, IDraggingEntity>): void;
|
|
22
|
+
/**
|
|
23
|
+
* Initializes dragging for single element
|
|
24
|
+
*/
|
|
25
|
+
export declare function initializeDraggingFromElement(element: HTMLElement, draggableMap: Map<HTMLElement, IDraggableEntity>, draggingMap: Map<HTMLElement, IDraggingEntity>): void;
|
|
26
|
+
/**
|
|
27
|
+
* Starts dragging for the current provider state (initiatingDraggable + selectedSet)
|
|
28
|
+
*/
|
|
29
|
+
export declare function startDraggingForProvider(provider: IDnDProviderInternal): void;
|
|
30
|
+
/**
|
|
31
|
+
* Initializes dragging (chooses between selection and single element)
|
|
32
|
+
*/
|
|
33
|
+
export declare function initializeDragging(initiatingElement: HTMLElement, selectedSet: Set<HTMLElement>, draggableMap: Map<HTMLElement, IDraggableEntity>, draggingMap: Map<HTMLElement, IDraggingEntity>): void;
|
|
34
|
+
//# sourceMappingURL=pointer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,MAAU,EACnB,OAAO,GAAE,MAAU,GAClB,aAAa,CAMf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,WAAW,GACnB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAM1B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,gBAAgB,GACjC,eAAe,CAMjB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,EAC7B,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAChD,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,GAC7C,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAChD,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,GAC7C,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAS7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,WAAW,EAC9B,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,EAC7B,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAChD,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,GAC7C,IAAI,CAON"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IDraggableEntity, ISelectableAreaEntity } from '../../external/types';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
/**
|
|
4
|
+
* Utility for filtering entities by modifier keys.
|
|
5
|
+
*
|
|
6
|
+
* @param entityMap - Map of entities (e.g. selectableAreaMap or draggableEntityMap)
|
|
7
|
+
* @param visibleSet - Set of visible nodes
|
|
8
|
+
* @param modifiers - Ref with pressed keys
|
|
9
|
+
* @param isDisabled - Optional: override disabled check (e.g. isEffectivelyDisabledDraggable for draggables)
|
|
10
|
+
* @returns Set of filtered nodes with matching modifiers
|
|
11
|
+
*/
|
|
12
|
+
export declare const filterByModifiers: (entityMap: Map<HTMLElement, IDraggableEntity | ISelectableAreaEntity>, visibleSet: Set<HTMLElement>, modifiers: Ref<Set<string>>, isDisabled?: (node: HTMLElement) => boolean) => Set<HTMLElement>;
|
|
13
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,GAAG,CAAC,WAAW,EAAE,gBAAgB,GAAG,qBAAqB,CAAC,EACrE,YAAY,GAAG,CAAC,WAAW,CAAC,EAC5B,WAAW,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAC3B,aAAa,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,KAC1C,GAAG,CAAC,WAAW,CAyBjB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CSSProperties } from 'vue';
|
|
2
|
+
import { ICoordinates } from '../../external/types';
|
|
3
|
+
import { IDnDProviderInternal } from '../types/provider';
|
|
4
|
+
/**
|
|
5
|
+
* Converts viewport coordinates to container-relative coordinates.
|
|
6
|
+
* scroll - page scroll position (window.scrollX, window.scrollY)
|
|
7
|
+
*/
|
|
8
|
+
export declare const getRelativeCoordinates: (event: ICoordinates, container: HTMLElement | null, scroll?: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
}) => ICoordinates;
|
|
12
|
+
/**
|
|
13
|
+
* Returns CSS properties for bounded selection box within container
|
|
14
|
+
*/
|
|
15
|
+
export declare const getBoundedSelectionArea: (start: ICoordinates, current: ICoordinates, container: HTMLElement | null) => CSSProperties;
|
|
16
|
+
/**
|
|
17
|
+
* Checks if the event target is within the correct selectable area
|
|
18
|
+
*/
|
|
19
|
+
export declare const checkIsSelectableArea: (event: PointerEvent, container: HTMLElement) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Updates selectedSet based on selection box (pointer start → current)
|
|
22
|
+
*/
|
|
23
|
+
export declare const updateSelectionByBox: (provider: IDnDProviderInternal) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a DOMRect for the selection box from pointer coordinates
|
|
26
|
+
*/
|
|
27
|
+
export declare const getSelectionBoxRect: (start: ICoordinates, current: ICoordinates) => DOMRect;
|
|
28
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,YAAY,EACnB,WAAW,WAAW,GAAG,IAAI,EAC7B,SAAQ;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAmB,iBAclD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,YAAY,EACnB,SAAS,YAAY,EACrB,WAAW,WAAW,GAAG,IAAI,KAC5B,aAuBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,YAAY,EACnB,WAAW,WAAW,KACrB,OAWF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,oBAAoB,KAAG,IAyBrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,YAAY,EACnB,SAAS,YAAY,KACpB,OAUF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,oBAAoB,KAAG,IAUhE,CAAC"}
|
package/dist/vite.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var re=Object.defineProperty;var ae=(n,t,e)=>t in n?re(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var Z=(n,t,e)=>ae(n,typeof t!="symbol"?t+"":t,e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),q=require("@vueuse/core"),P=class P{};Z(P,"remove",(t,e)=>{if(!t||e===void 0)return;const[a]=t.splice(e,1);return a}),Z(P,"insert",(t,e,a)=>{!t||e===void 0||t.splice(e,0,a)}),Z(P,"move",(t,e,a,s)=>{if(!t||!a||e===void 0||s===void 0)return;const o=P.remove(t,e);P.insert(a,s,o)}),Z(P,"swap",(t,e,a,s)=>{if(!t||!a||e===void 0||s===void 0)return;const o=t[e],i=a[s];t[e]=i,a[s]=o}),Z(P,"copy",(t,e,a,s)=>{if(!t||e===void 0||!a||s===void 0)return;const o=t[e];P.insert(a,s,o)}),Z(P,"applyTransfer",t=>{var s,o,i,m,u,c,f;const e=t.hovered.element.value,a=t.hovered.zone.value;if(e){const g=(o=(s=t.elementsMap.value.get(e))==null?void 0:s.data)==null?void 0:o.source,l=(m=(i=t.elementsMap.value.get(e))==null?void 0:i.data)==null?void 0:m.index,v=t.draggingElements.value.values().next().value,d=(u=v==null?void 0:v.data)==null?void 0:u.index,p=d!==void 0&&l!==void 0&&d>l?1:-1;Array.from(t.draggingElements.value.values()).sort((h,S)=>{var L,D;return p*((((L=h.data)==null?void 0:L.index)||0)-(((D=S.data)==null?void 0:D.index)||0))}).forEach(h=>{var S,L;return P.move((S=h.data)==null?void 0:S.source,(L=h.data)==null?void 0:L.index,g,l)})}else if(a){const g=(f=(c=t.zonesMap.value.get(a))==null?void 0:c.data)==null?void 0:f.source,l=g==null?void 0:g.length;Array.from(t.draggingElements.value.values()).sort((d,p)=>{var w,h;return(((w=p.data)==null?void 0:w.index)||0)-(((h=d.data)==null?void 0:h.index)||0)}).forEach(d=>{var p,w;return P.move((p=d.data)==null?void 0:p.source,(w=d.data)==null?void 0:w.index,g,l)})}}),Z(P,"applyCopy",t=>{var s,o,i,m,u,c;const e=t.hovered.element.value,a=t.hovered.zone.value;if(e){const f=(o=(s=t.elementsMap.value.get(e))==null?void 0:s.data)==null?void 0:o.source,g=(m=(i=t.elementsMap.value.get(e))==null?void 0:i.data)==null?void 0:m.index;Array.from(t.draggingElements.value.values()).sort((v,d)=>{var p,w;return(((p=d.data)==null?void 0:p.index)||0)-(((w=v.data)==null?void 0:w.index)||0)}).forEach(v=>{var d,p;return P.copy((d=v.data)==null?void 0:d.source,(p=v.data)==null?void 0:p.index,f,g)})}else if(a){const f=(c=(u=t.zonesMap.value.get(a))==null?void 0:u.data)==null?void 0:c.source,g=f==null?void 0:f.length;Array.from(t.draggingElements.value.values()).sort((v,d)=>{var p,w;return(((p=d.data)==null?void 0:p.index)||0)-(((w=v.data)==null?void 0:w.index)||0)}).forEach(v=>{var d,p;return P.copy((d=v.data)==null?void 0:d.source,(p=v.data)==null?void 0:p.index,f,g)})}}),Z(P,"applySwap",t=>{var s,o,i,m,u,c,f,g;const e=t.hovered.element.value,a=t.hovered.zone.value;if(e&&t.draggingElements.value.size===1){const l=t.draggingElements.value.values().next().value;P.swap((s=l==null?void 0:l.data)==null?void 0:s.source,(o=l==null?void 0:l.data)==null?void 0:o.index,(m=(i=t.elementsMap.value.get(e))==null?void 0:i.data)==null?void 0:m.source,(c=(u=t.elementsMap.value.get(e))==null?void 0:u.data)==null?void 0:c.index)}else if(a){const l=(g=(f=t.zonesMap.value.get(a))==null?void 0:f.data)==null?void 0:g.source,v=l==null?void 0:l.length;Array.from(t.draggingElements.value.values()).sort((p,w)=>{var h,S;return(((h=w.data)==null?void 0:h.index)||0)-(((S=p.data)==null?void 0:S.index)||0)}).forEach(p=>{var w,h;return P.move((w=p.data)==null?void 0:w.source,(h=p.data)==null?void 0:h.index,l,v)})}}),Z(P,"applyRemove",t=>{Array.from(t.draggingElements.value.values()).sort((a,s)=>{var o,i;return(((o=s.data)==null?void 0:o.index)||0)-(((i=a.data)==null?void 0:i.index)||0)}).forEach(a=>{var s,o;(s=a.data)!=null&&s.source&&((o=a.data)==null?void 0:o.index)!==void 0&&P.remove(a.data.source,a.data.index)})}),Z(P,"applyInsert",(t,e)=>{var o,i,m,u,c,f;const a=t.hovered.element.value,s=t.hovered.zone.value;if(a&&e.length>0){const g=(i=(o=t.elementsMap.value.get(a))==null?void 0:o.data)==null?void 0:i.source,l=(u=(m=t.elementsMap.value.get(a))==null?void 0:m.data)==null?void 0:u.index;e.forEach(v=>{P.insert(g,l,v)})}else if(s){const g=(f=(c=t.zonesMap.value.get(s))==null?void 0:c.data)==null?void 0:f.source,l=g==null?void 0:g.length;e.forEach(v=>{P.insert(g,l,v)})}});let G=P;const T=q.createGlobalState(()=>{const n=r.shallowRef(!1),t=r.ref(new Map),e=r.computed(()=>t.value.size>0),a={component:r.ref(null),ref:r.shallowRef(null),options:r.shallowRef(null),animating:{enter:r.shallowRef(!1),leave:r.shallowRef(!1),appear:r.shallowRef(!1)}},s=r.ref(new Map),o=r.ref(new Set),i=r.ref(new Map),m=r.shallowRef(new Set),u=r.shallowRef(new Set),c=typeof window<"u"&&"IntersectionObserver"in window,f=c?new IntersectionObserver(x=>{x.forEach(y=>u.value[y.isIntersecting?"add":"delete"](y.target))}):null,g=c?new IntersectionObserver(x=>{x.forEach(y=>m.value[y.isIntersecting?"add":"delete"](y.target))}):null,l=(x,y)=>{f&&(x==="add"?f.observe(y):(f.unobserve(y),u.value.delete(y)))},v=(x,y)=>{g&&(x==="add"?g.observe(y):(g.unobserve(y),m.value.delete(y)))},d={start:r.shallowRef(null),current:r.shallowRef(null),offset:{percent:r.shallowRef(null),pixel:r.shallowRef(null)}},{KeyW:p,KeyS:w,KeyA:h,KeyD:S,ctrl:L,shift:D,alt:O,meta:C}=q.useMagicKeys(),M={zone:r.shallowRef(null),element:r.shallowRef(null)};return{draggingElements:t,isDragging:e,activeContainer:a,elementsMap:s,selectedElements:o,zonesMap:i,visibleZones:m,visibleElements:u,pointerPosition:d,keyboard:{w:p,s:w,a:h,d:S,ctrl:L,shift:D,alt:O,meta:C},hovered:M,isPending:n,handleDragElementIntersection:l,handleDropZoneIntersection:v}}),ne=n=>{const t=r.ref(null),{draggingElements:e,pointerPosition:a,isDragging:s,activeContainer:o}=T();return r.onMounted(()=>{o.ref=t,o.options.value=n??null}),r.onUnmounted(()=>{o.ref.value=null,o.options.value=null}),{elementRef:t,draggingElements:e,pointerPosition:a,isDragging:s,animating:o.animating}},le=["innerHTML"],se=r.defineComponent({__name:"DefaultOverlay",props:{styles:{}},setup(n){const{elementRef:t,pointerPosition:e,isDragging:a,draggingElements:s}=ne(),o=r.computed(()=>{var i,m,u,c;return{transform:`translate3d(${(((i=e.current.value)==null?void 0:i.x)??0)-(((m=e.offset.pixel.value)==null?void 0:m.x)??0)}px, ${(((u=e.current.value)==null?void 0:u.y)??0)-(((c=e.offset.pixel.value)==null?void 0:c.y)??0)}px, 0)`,zIndex:1e3,position:"fixed",top:0,left:0,transition:"0.3s cubic-bezier(0.165, 0.84, 0.44, 1)",...n.styles}});return(i,m)=>r.unref(a)?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"elementRef",ref:t,style:r.normalizeStyle(o.value)},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(s),([u,c])=>{var f,g;return r.openBlock(),r.createElementBlock(r.Fragment,{key:c.id},[c.layer?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(c.layer),{key:0,node:u,data:c.data,id:c.id,groups:c.groups},null,8,["node","data","id","groups"])):(r.openBlock(),r.createElementBlock("div",{key:1,innerHTML:c.initialHTML,style:r.normalizeStyle({width:`${(f=c.initialRect)==null?void 0:f.width}px`,height:`${(g=c.initialRect)==null?void 0:g.height}px`})},null,12,le))],64)}),128))],4)):r.createCommentVNode("",!0)}}),W=r.defineComponent({__name:"DragOverlay",props:{styles:{}},setup(n){const t=n,{activeContainer:e}=T(),a=r.computed(()=>({component:e.component.value??se,props:t}));return(s,o)=>r.unref(e).options.value?(r.openBlock(),r.createBlock(r.Transition,{key:0,name:r.unref(e).options.value.name,duration:r.unref(e).options.value.duration,"enter-from-class":r.unref(e).options.value.enterFromClass,"enter-to-class":r.unref(e).options.value.enterToClass,"enter-active-class":r.unref(e).options.value.enterActiveClass,"leave-from-class":r.unref(e).options.value.leaveFromClass,"leave-to-class":r.unref(e).options.value.leaveToClass,"leave-active-class":r.unref(e).options.value.leaveActiveClass,"appear-active-class":r.unref(e).options.value.appearActiveClass,"appear-from-class":r.unref(e).options.value.appearFromClass,"appear-to-class":r.unref(e).options.value.appearToClass,mode:r.unref(e).options.value.mode,type:r.unref(e).options.value.type,css:r.unref(e).options.value.css,appear:!0,persisted:r.unref(e).options.value.persisted,onEnter:r.unref(e).options.value.onEnter,onLeave:r.unref(e).options.value.onLeave,onBeforeEnter:r.unref(e).options.value.onBeforeEnter,onBeforeLeave:r.unref(e).options.value.onBeforeLeave,onBeforeAppear:r.unref(e).options.value.onBeforeAppear,onAfterEnter:r.unref(e).options.value.onAfterEnter,onAfterLeave:r.unref(e).options.value.onAfterLeave,onAfterAppear:r.unref(e).options.value.onAfterAppear},{default:r.withCtx(()=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(a.value.component||a.value),r.normalizeProps(r.guardReactiveProps(a.value.props||{})),null,16))]),_:1},8,["name","duration","enter-from-class","enter-to-class","enter-active-class","leave-from-class","leave-to-class","leave-active-class","appear-active-class","appear-from-class","appear-to-class","mode","type","css","persisted","onEnter","onLeave","onBeforeEnter","onBeforeLeave","onBeforeAppear","onAfterEnter","onAfterLeave","onAfterAppear"])):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(a.value.component||a.value),r.normalizeProps(r.mergeProps({key:1},a.value.props||{})),null,16))}}),oe={install(n,t){n.component("DragOverlay",W);const e=n.mount;n.mount=function(s){var m;const o=e.call(this,s),i=typeof s=="string"?document.querySelector(s):s;if(i&&i instanceof Element&&!i.querySelector("#vue-dnd-kit-overlay")){const u=document.createElement("div");u.id="vue-dnd-kit-overlay",u.style.pointerEvents="none",i.appendChild(u);const c=r.createVNode(W,{styles:(m=t==null?void 0:t.defaultOverlay)==null?void 0:m.styles});r.render(c,u),n.__VUE_DND_KIT_OVERLAY__={container:u,vnode:c,options:(t==null?void 0:t.defaultOverlay)||{}};const f=T();n.__VUE_DND_KIT_STORE__=f}return o};const a=n.unmount;n.unmount=function(){return n.__VUE_DND_KIT_OVERLAY__&&(r.render(null,n.__VUE_DND_KIT_OVERLAY__.container),delete n.__VUE_DND_KIT_OVERLAY__),a.call(this)}}},J=(n,t)=>n.x<t.x+t.width&&n.x+n.width>t.x&&n.y<t.y+t.height&&n.y+n.height>t.y,H=n=>{if(!n)return{x:0,y:0,width:0,height:0,bottom:0,left:0,right:0,top:0};const t=n.getBoundingClientRect();return{bottom:t.bottom,left:t.left,right:t.right,top:t.top,x:t.x,y:t.y,width:t.width,height:t.height}},$=n=>({x:n.x+n.width/2,y:n.y+n.height/2}),ue=(n,t)=>{const e=H(n);return{pixel:{x:t.x-e.x,y:t.y-e.y},percent:{x:(t.x-e.x)/e.width*100,y:(t.y-e.y)/e.height*100}}},Q=(n,t)=>{const e=t.x-n.x,a=t.y-n.y;return Math.sqrt(e*e+a*a)},ee=(n,t)=>{const e=Math.max(0,Math.min(n.x+n.width,t.x+t.width)-Math.max(n.x,t.x)),a=Math.max(0,Math.min(n.y+n.height,t.y+t.height)-Math.max(n.y,t.y)),s=e*a,o=n.width*n.height,i=t.width*t.height;return(s/o*100+s/i*100)/2},te="data-vue-dnd-kit-draggable",B=n=>{n.preventDefault()},Y=n=>({items:Array.from(n.draggingElements.value.values())}),ie=n=>{const{elementsMap:t,draggingElements:e,hovered:a,selectedElements:s,isDragging:o,visibleElements:i,handleDragElementIntersection:m}=T(),u=r.ref(null),c=r.computed(()=>a.element.value===u.value),f=r.shallowRef((n==null?void 0:n.id)||r.useId()),g=r.shallowRef((n==null?void 0:n.disabled)??!1),l=r.computed(()=>g.value||!u.value||!t.value.has(u.value)?!1:e.value.has(u.value)),v=r.computed(()=>{if(g.value||!u.value||!o.value||!i.value.has(u.value))return!1;const h=t.value.get(u.value);return h!=null&&h.groups.length?!Array.from(e.value.entries()).some(([S,L])=>L.groups.length?!L.groups.some(D=>h.groups.includes(D)):!1):!0}),d=r.computed(()=>{if(g.value||!u.value||!o.value||!i.value.has(u.value)||a.element.value!==u.value)return!1;const h=t.value.get(u.value);return h!=null&&h.groups.length?!Array.from(e.value.entries()).some(([S,L])=>L.groups.length?!L.groups.some(D=>h.groups.includes(D)):!1):!0});return{elementRef:u,registerElement:()=>{if(!u.value)throw new Error("ElementRef is not set");t.value.set(u.value,{node:u.value,groups:(n==null?void 0:n.groups)??[],layer:(n==null?void 0:n.layer)??null,defaultLayer:(n==null?void 0:n.layer)??null,events:(n==null?void 0:n.events)??{},data:(n==null?void 0:n.data)??null,id:f.value,disabled:g??!1}),m("add",u.value),u.value.addEventListener("dragstart",B),u.value.addEventListener("drag",B),u.value.setAttribute(te,"true"),u.value.setAttribute("draggable","false")},unregisterElement:()=>{u.value&&(t.value.delete(u.value),s.value.delete(u.value),u.value.removeEventListener("dragstart",B),u.value.removeEventListener("drag",B),u.value.removeAttribute(te),u.value.removeAttribute("draggable"))},isDragging:l,isOvered:c,isAllowed:v,isLazyAllowed:d,id:f}},k=(n,t)=>n?t.contains(n):!1,ce=n=>{var f,g;const t=H(n.activeContainer.ref.value),e=$(t),a=((f=n.pointerPosition.current.value)==null?void 0:f.x)??0,s=((g=n.pointerPosition.current.value)==null?void 0:g.y)??0,i=!(t&&a>=t.x&&a<=t.x+t.width&&s>=t.y&&s<=t.y+t.height),m=Array.from(n.draggingElements.value.keys()),u=Array.from(n.visibleElements.value.entries()).filter(([l,v])=>{if(!l)return!1;const d=H(l);return d&&t&&J(d,t)}).map(([l,v])=>{const d=H(l),p=$(d),w=a>=d.x&&a<=d.x+d.width&&s>=d.y&&s<=d.y+d.height,h=ee(d,t),S=Q(e,p);let L=0;for(const[D,O]of n.visibleElements.value.entries())D!==l&&D&&l&&k(l,D)&&L++;return{element:v,node:l,isPointerInElement:w,overlapPercent:h,depth:L,centerDistance:S}}).sort((l,v)=>{if(!i){if(l.isPointerInElement&&v.isPointerInElement)return v.depth-l.depth;if(l.isPointerInElement!==v.isPointerInElement)return l.isPointerInElement?-1:1}return Math.abs(l.overlapPercent-v.overlapPercent)<=1?l.centerDistance-v.centerDistance:v.overlapPercent-l.overlapPercent}),c=Array.from(n.visibleZones.value.entries()).filter(([l,v])=>{if(!l||m.some(p=>p&&k(l,p)))return!1;const d=H(l);return d&&t&&J(d,t)}).map(([l,v])=>{const d=H(l),p=$(d),w=a>=d.x&&a<=d.x+d.width&&s>=d.y&&s<=d.y+d.height,h=ee(d,t),S=Q(e,p);let L=0;for(const[D,O]of n.visibleZones.value.entries())D!==l&&D&&l&&k(l,D)&&L++;return{zone:v,node:l,isPointerInElement:w,overlapPercent:h,depth:L,centerDistance:S}}).sort((l,v)=>{if(!i){if(l.isPointerInElement&&v.isPointerInElement)return v.depth-l.depth;if(l.isPointerInElement!==v.isPointerInElement)return l.isPointerInElement?-1:1}return Math.abs(l.overlapPercent-v.overlapPercent)<=1?l.centerDistance-v.centerDistance:v.overlapPercent-l.overlapPercent});return[...u.map(l=>l.node),...c.map(l=>l.node)]},ve=(n,t)=>{const{pointerPosition:e,keyboard:a}=T(),s=(t==null?void 0:t.moveStep)||10;return{onKeyboardStart:u=>{var l;B(u);const c=H(n.value);(l=n.value)==null||l.blur();const f=c.x+c.width/2,g=c.y+c.height/2;e.start.value={x:f,y:g},e.current.value={x:f,y:g},e.offset.pixel.value={x:c.width/2,y:c.height/2},e.offset.percent.value={x:50,y:50}},onKeyboardMove:()=>{if(!e.current.value)return;const u=e.current.value.x,c=e.current.value.y;let f=u,g=c;a.w.value&&(g-=s),a.s.value&&(g+=s),a.a.value&&(f-=s),a.d.value&&(f+=s),e.current.value={x:f,y:g}},onKeyboardEnd:()=>{e.current.value=null,e.start.value=null,e.offset.pixel.value=null,e.offset.percent.value=null}}},de=n=>{const t=T();return{onPointerStart:o=>{t.pointerPosition.start.value={x:o.clientX,y:o.clientY},t.pointerPosition.current.value={x:o.clientX,y:o.clientY};const{pixel:i,percent:m}=ue(n.value,{x:o.clientX,y:o.clientY});t.pointerPosition.offset.pixel.value=i,t.pointerPosition.offset.percent.value=m},onPointerMove:o=>{t.isPending.value||(t.pointerPosition.current.value={x:o.clientX,y:o.clientY})},onPointerEnd:()=>{t.pointerPosition.current.value=null,t.pointerPosition.start.value=null,t.pointerPosition.offset.pixel.value=null,t.pointerPosition.offset.percent.value=null}}},fe=(n,t)=>{var O,C;const e=T(),{onPointerStart:a,onPointerMove:s,onPointerEnd:o}=de(n),{onKeyboardStart:i,onKeyboardMove:m,onKeyboardEnd:u}=ve(n,t==null?void 0:t.keyboard);let c=null;const f=M=>{var I,z;if(!M)return new Map;const x=e.selectedElements.value.has(M);if(e.selectedElements.value.size>0&&x){const U=new Map;return e.selectedElements.value.forEach(X=>{var A,_;const E=e.elementsMap.value.get(X);E&&U.set(X,{...E,initialHTML:((A=E.node)==null?void 0:A.outerHTML)??"",initialRect:(_=E.node)==null?void 0:_.getBoundingClientRect()})}),U}e.selectedElements.value.clear();const y=e.elementsMap.value.get(M);if(!y)return new Map;const b=new Map;return b.set(M,{...y,initialHTML:((I=y.node)==null?void 0:I.outerHTML)??"",initialRect:(z=y.node)==null?void 0:z.getBoundingClientRect()}),b},g=M=>{if(!M)return{element:null,zone:null};const x=Array.isArray(M)?M:[M],y=Array.from(e.draggingElements.value.keys()),b=Array.from(e.zonesMap.value.entries()).flatMap(([E,A])=>A.disabled?[E]:[]),I=Array.from(e.elementsMap.value.entries()).flatMap(([E,A])=>A.disabled?[E]:[]),z=x.find(E=>{if(!e.visibleZones.value.has(E))return!1;const A=e.zonesMap.value.get(E);return!(!A||A.disabled||b.some(K=>E===K||k(E,K))||y.some(K=>K&&(K===A.node||k(A.node,K)))||A.groups.length&&!!Array.from(e.draggingElements.value.values()).some(V=>V.groups.length?!V.groups.some(R=>A.groups.includes(R)):!1))});return z?{element:x.filter(E=>{if(!e.visibleElements.value.has(E)||!e.elementsMap.value.has(E))return!1;const A=e.elementsMap.value.get(E);if(A!=null&&A.disabled)return!1;const _=b.some(R=>E===R||k(E,R)),K=I.some(R=>E===R||k(E,R));return _||K?!1:!Array.from(e.draggingElements.value.values()).some(R=>R.groups.length?!R.groups.some(N=>{var F;return(F=e.elementsMap.value.get(E))==null?void 0:F.groups.includes(N)}):!1)}).find(E=>y.some(_=>_&&(_===E||k(E,_)||k(_,E)))?!1:E===z||k(E,z))||null,zone:z}:{element:null,zone:null}},l=((O=t==null?void 0:t.sensor)==null?void 0:O.setup)||ce,v=M=>{var z,U,X,E,A,_,K,V,R,N,F,j;const x=e.hovered.element.value,y=e.hovered.zone.value,b=M.element,I=M.zone;e.hovered.element.value=b,e.hovered.zone.value=I,x!==b&&(x&&((X=(U=(z=e.elementsMap.value.get(x))==null?void 0:z.events)==null?void 0:U.onLeave)==null||X.call(U,e,Y(e))),b&&((_=(A=(E=e.elementsMap.value.get(b))==null?void 0:E.events)==null?void 0:A.onHover)==null||_.call(A,e,Y(e)))),y!==I&&(y&&((R=(V=(K=e.zonesMap.value.get(y))==null?void 0:K.events)==null?void 0:V.onLeave)==null||R.call(V,e,Y(e))),I&&((j=(F=(N=e.zonesMap.value.get(I))==null?void 0:N.events)==null?void 0:F.onHover)==null||j.call(F,e,Y(e))))},d=q.useThrottleFn(()=>{const M=l(e),x=g(M);v(x)},((C=t==null?void 0:t.sensor)==null?void 0:C.throttle)??0),p=()=>{d(),c=requestAnimationFrame(p)},w=()=>p(),h=()=>{c!==null&&(o(),u(),cancelAnimationFrame(c),c=null)};return{activate:M=>{e.draggingElements.value=f(n.value),e.draggingElements.value.forEach(x=>{var y,b;return(b=(y=x.events).onStart)==null?void 0:b.call(y,e,Y(e))}),M instanceof PointerEvent?a(M):i(M),w()},track:M=>{e.draggingElements.value.forEach(x=>{var y,b;return(b=(y=x.events).onMove)==null?void 0:b.call(y,e,Y(e))}),M instanceof KeyboardEvent?m():s(M)},deactivate:async(M=!0)=>{var x,y;if(e.hovered.zone.value){const b=e.zonesMap.value.get(e.hovered.zone.value),I=(y=b==null?void 0:(x=b.events).onDrop)==null?void 0:y.call(x,e,Y(e));if(I instanceof Promise)try{e.isPending.value=!0;const z=await I;return z&&(M&&e.selectedElements.value.clear(),e.draggingElements.value.clear(),e.hovered.zone.value=null,e.hovered.element.value=null,h()),z}catch{return!1}finally{e.isPending.value=!1}else M&&e.selectedElements.value.clear(),e.draggingElements.value.clear(),e.hovered.zone.value=null,e.hovered.element.value=null,h()}else e.draggingElements.value.forEach(b=>{var I,z;return(z=(I=b.events).onEnd)==null?void 0:z.call(I,e,Y(e))}),M&&e.selectedElements.value.clear(),e.draggingElements.value.clear(),e.hovered.zone.value=null,e.hovered.element.value=null,h()}}},ge=q.createGlobalState(()=>{let n="",t="",e="",a=null,s=null,o=null,i=null,m=null;const{activeContainer:u,isPending:c,elementsMap:f}=T(),g=()=>{const p=document.body;n=p.style.userSelect,p.style.userSelect="none",window.addEventListener("contextmenu",B),window.addEventListener("selectstart",B),window.addEventListener("touchstart",B),window.addEventListener("touchmove",B)},l=()=>{const p=document.body;p.style.userSelect=n,p.style.touchAction=t,p.style.overscrollBehavior=e,window.removeEventListener("contextmenu",B),window.removeEventListener("selectstart",B),window.removeEventListener("touchstart",B),window.removeEventListener("touchmove",B)},v=()=>{a&&(document.removeEventListener("pointermove",a),a=null),s&&(document.removeEventListener("pointerup",s),s=null),o&&(o=null),i&&(document.removeEventListener("wheel",i),i=null),m&&(document.removeEventListener("keydown",m),document.removeEventListener("keypress",m),document.removeEventListener("keyup",m),m=null)};return{handleDragStart:(p,w,h)=>{if(!w.value||c.value)return;const S=f.value.get(w.value);if(S!=null&&S.disabled)return;v(),p.target.blur(),h!=null&&h.container&&(u.component.value=h.container);const{activate:L,track:D,deactivate:O}=fe(w,h);s=()=>{O(!0).then(C=>{C!==!1&&(u.component.value=null,l(),O(!0),v())})},o=()=>{u.component.value=null,l(),O(!1),v()},a=C=>D(C),i=C=>D(C),m=C=>{C.type==="keyup"&&(C.code==="Escape"&&(o==null||o()),C.code==="Enter"&&(s==null||s())),D(C)},g(),L(p),document.addEventListener("pointermove",a),document.addEventListener("pointerup",s),document.addEventListener("wheel",i),document.addEventListener("keydown",m),document.addEventListener("keypress",m),document.addEventListener("keyup",m)}}}),me=n=>{const{id:t,elementRef:e,isDragging:a,isOvered:s,isAllowed:o,isLazyAllowed:i,registerElement:m,unregisterElement:u}=ie(n),{pointerPosition:c}=T(),{handleDragStart:f}=ge(),g=l=>f(l,e,n);return r.onMounted(m),r.onBeforeUnmount(u),{pointerPosition:c,elementRef:e,isDragging:a,isOvered:s,isAllowed:o,isLazyAllowed:i,handleDragStart:g,id:t}},pe=n=>{const{zonesMap:t,hovered:e,draggingElements:a,isDragging:s,handleDropZoneIntersection:o}=T(),i=r.ref(null),m=r.computed(()=>e.zone.value===i.value),u=r.computed(()=>{if(!i.value||!s.value)return!1;const l=t.value.get(i.value);return l!=null&&l.groups.length?!Array.from(a.value.values()).some(v=>v.groups.length?!v.groups.some(d=>l.groups.includes(d)):!1):!0}),c=r.computed(()=>{if(!i.value||!s.value||e.zone.value!==i.value)return!1;const l=t.value.get(i.value);return l!=null&&l.groups.length?!Array.from(a.value.values()).some(v=>!v.groups.some(d=>l.groups.includes(d))):!0});return{elementRef:i,registerZone:()=>{if(!i.value)throw new Error("elementRef is not set");o("add",i.value),t.value.set(i.value,{node:i.value,groups:(n==null?void 0:n.groups)??[],events:(n==null?void 0:n.events)??{},data:(n==null?void 0:n.data)??void 0,disabled:(n==null?void 0:n.disabled)??!1}),i.value.setAttribute("data-dnd-droppable","true")},unregisterZone:()=>{i.value&&(o("remove",i.value),t.value.delete(i.value))},isOvered:m,isAllowed:u,isLazyAllowed:c}},he=n=>{const{elementRef:t,registerZone:e,unregisterZone:a,isOvered:s,isAllowed:o,isLazyAllowed:i}=pe(n);return r.onMounted(e),r.onBeforeUnmount(a),{elementRef:t,isOvered:s,isAllowed:o,isLazyAllowed:i}},ye=n=>{const{selectedElements:t,elementsMap:e}=T(),a=r.computed(()=>n.value?t.value.has(n.value):!1),s=r.computed(()=>{if(!n.value)return!1;for(const c of t.value)if(c&&k(c,n.value))return!0;return!1}),o=r.computed(()=>{if(!n.value)return!1;for(const c of t.value)if(c&&k(n.value,c))return!0;return!1}),i=()=>{n.value&&t.value.delete(n.value)},m=()=>{if(!(!n.value||!e.value.get(n.value))){if(s.value)for(const f of t.value)f&&k(f,n.value)&&t.value.delete(f);if(o.value)for(const f of t.value)f&&k(n.value,f)&&t.value.delete(f);t.value.add(n.value)}};return{handleUnselect:i,handleSelect:m,handleToggleSelect:()=>{n.value&&(t.value.has(n.value)?i():m())},isSelected:a,isParentOfSelected:s}};exports.DnDOperations=G;exports.default=oe;exports.getBoundingBox=H;exports.useDnDStore=T;exports.useDragContainer=ne;exports.useDraggable=me;exports.useDroppable=he;exports.useSelection=ye;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),v={SELECT_AREA:"data-dnd-kit-select-area",DRAGGABLE:"data-dnd-kit-draggable",DROPPABLE:"data-dnd-kit-droppable",CONSTRAINT_AREA:"data-dnd-kit-constraint-area"},k={SELECT_AREA:`[${v.SELECT_AREA}]`,DRAGGABLE:`[${v.DRAGGABLE}]`,CONSTRAINT_AREA:`[${v.CONSTRAINT_AREA}]`},Z="VueDnDKitProvider",$=(e,t,n,s)=>{const i=new Set;return t.forEach(a=>{const o=e.get(a),l=s?s(a):o?.disabled;if(!o||l)return;const c=o.modifier?.keys,u=o.modifier?.method;if(!c||!u||c.length===0){i.add(a);return}c[u](f=>n.value.has(f))&&i.add(a)}),i};let ee="",ue="",ge="";const z=e=>e.value?e.value instanceof HTMLElement?e.value:e.value.$el:null,C=(e,t)=>e!==t&&e.contains(t),fe=(e,t)=>!(e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom),G=()=>{const e=document.body;ee=e.style.userSelect,e.style.userSelect="none",window.addEventListener("contextmenu",h),window.addEventListener("selectstart",h),window.addEventListener("touchstart",h),window.addEventListener("touchmove",h)},H=()=>{const e=document.body;e.style.userSelect=ee,e.style.touchAction=ue,e.style.overscrollBehavior=ge,window.removeEventListener("contextmenu",h),window.removeEventListener("selectstart",h),window.removeEventListener("touchstart",h),window.removeEventListener("touchmove",h)},h=e=>e.preventDefault(),E=(e,t)=>{if(t.entities.draggableMap.get(e)?.disabled)return!0;for(const[s,i]of t.entities.draggableMap)if(i.disabled&&C(s,e))return!0;return!1},w=(e,t)=>{if(t.entities.droppableMap.get(e)?.disabled)return!0;for(const[s,i]of t.entities.droppableMap)if(i.disabled&&C(s,e))return!0;return!1},F=e=>{const t=new IntersectionObserver(n=>{n.forEach(s=>{const i=s.target;e[s.isIntersecting?"add":"delete"](i)})});return{observe:n=>t.observe(n),unobserve:n=>t.unobserve(n),disconnect:()=>t.disconnect()}},de=e=>{const t=new ResizeObserver(n=>{const s=n[0];if(!s)return;const{width:i,height:a}=s.contentRect;e.value={width:i,height:a}});return{observe:n=>t.observe(n),unobserve:n=>t.unobserve(n),disconnect:()=>t.disconnect()}},ye=e=>{const t=r.ref(null),n=de(t),s=r.watch(e,a=>{n.disconnect(),a&&n.observe(a)},{immediate:!0});return{overlaySize:t,overlaySizeObserver:{disconnect:()=>{s(),n.disconnect()}}}};function N(e,t=0,n=0){return{start:{x:e.clientX,y:e.clientY},current:{x:e.clientX,y:e.clientY},offset:{x:t,y:n}}}function te(e,t){const n=t.getBoundingClientRect(),s=n.width>0?(e.clientX-n.left)/n.width:.5,i=n.height>0?(e.clientY-n.top)/n.height:.5;return{x:s,y:i}}function ne(e,t){return{...t,initialHTML:e.innerHTML,initialRect:e.getBoundingClientRect()}}function me(e,t,n){e.forEach(s=>{const i=t.get(s);n.set(s,ne(s,i))}),e.clear()}function be(e,t,n){n.clear();const s=t.get(e);n.set(e,ne(e,s))}function O(e){e.entities.initiatingDraggable&&(e.state.value="dragging",he(e.entities.initiatingDraggable,e.entities.selectedSet,e.entities.draggableMap,e.entities.draggingMap))}function he(e,t,n,s){t.has(e)?me(t,n,s):(t.clear(),be(e,n,s))}function se(e,t,n,s){if(s||!n)return!0;const i=e.closest(n);return i?t.contains(i):!1}function De(e,t){if(!e||!t)return 1;const n=Math.abs(e.current.x-e.start.x),s=Math.abs(e.current.y-e.start.y);if(typeof t=="number"){const u=Math.sqrt(n*n+s*s);return Math.min(u/t,1)}const{x:i=0,y:a=0,condition:o="any"}=t;if(i===0&&a===0)return 1;const l=i>0?Math.min(n/i,1):1,c=a>0?Math.min(s/a,1):1;return o==="both"?Math.min(l,c):Math.max(l,c)}function ie(e,t,n){if(!n)return!0;const s=n.distance!=null,i=n.delay!=null;return!s&&!i?!0:s&&!i?e>=1:!s&&i?t>=1:(n.condition??"both")==="both"?e>=1&&t>=1:e>=1||t>=1}function pe(e){if(e.state.value!=="activating"||!e.entities.initiatingDraggable)return!1;const t=e.entities.draggableMap.get(e.entities.initiatingDraggable);return ie(e.distanceProgress.value,e.delay.progress,t?.activation)?(O(e),!0):!1}function ve(e,t){let n=null;const s=()=>{if(e.state.value!=="activating"||!e.entities.initiatingDraggable){n=null;return}const i=e.entities.draggableMap.get(e.entities.initiatingDraggable),a=i?.activation?.delay;if(!a){n=null;return}e.delay.progress=Math.min((Date.now()-e.delay.startTime)/(a*1e3),1),ie(e.distanceProgress.value,e.delay.progress,i?.activation)?(t(),n=null):n=requestAnimationFrame(s)};return n=requestAnimationFrame(s),{cancel:()=>{n!==null&&(cancelAnimationFrame(n),n=null)}}}function Ee(e,t){const n=e.closest(k.CONSTRAINT_AREA);return!n||!t.has(n)?null:{element:n,entity:t.get(n)}}function Me(e,t,n,s){return n==="x"?{x:e,y:s.top}:n==="y"?{x:s.left,y:t}:{x:e,y:t}}function Se(e,t,n,s,i){let a=e,o=t;return n!=="y"&&(a=Math.max(s.left,Math.min(s.right-i.width,e))),n!=="x"&&(o=Math.max(s.top,Math.min(s.bottom-i.height,t))),{x:a,y:o}}function Ae(e,t,n,s,i){if(!e||!t)return{x:0,y:0};const a=t.getBoundingClientRect(),o=a.width||i?.width||0,l=a.height||i?.height||0;let c=e.current.x-o*e.offset.x,u=e.current.y-l*e.offset.y;if(!n)return{x:c,y:u};const d=Ee(n,s);if(!d)return{x:c,y:u};const{element:f,entity:y}=d,g=f.getBoundingClientRect(),m=n.getBoundingClientRect(),b=Me(c,u,y.axis||"both",m);return y.restrictToArea?Se(b.x,b.y,y.axis||"both",g,a):b}const x={forDrag:["Enter","Space"],forCancel:["Escape"],forDrop:["Enter","Space"],forMove:["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","KeyW","KeyA","KeyS","KeyD"],forMoveFaster:["ShiftLeft","ShiftRight"]};function we(e){const t=r.shallowRef(),n=r.ref(),i={keys:{pressedKeys:r.ref(new Set),forDrag:[...x.forDrag],forCancel:[...x.forCancel],forDrop:[...x.forDrop],forMove:[...x.forMove],forMoveFaster:[...x.forMoveFaster]},step:8,moveFaster:4},a=r.reactive({draggableMap:new Map,droppableMap:new Map,selectableAreaMap:new Map,constraintsAreaMap:new Map,initiatingDraggable:void 0,selectingArea:void 0,draggingMap:new Map,selectedSet:new Set,modifiersSelectableAreaSet:r.computed(()=>$(a.selectableAreaMap,a.visibleSelectableAreaSet,i.keys.pressedKeys)),modifiersDraggableSet:r.computed(()=>$(a.draggableMap,a.visibleDraggableSet,i.keys.pressedKeys,R=>E(R,{entities:a}))),visibleDraggableSet:new Set,visibleDroppableSet:new Set,visibleSelectableAreaSet:new Set}),o=r.reactive({x:window.scrollX,y:window.scrollY}),l=r.reactive({progress:0,startTime:0}),c=r.computed(()=>{if(!n.value||!a.initiatingDraggable)return 0;const R=a.draggableMap.get(a.initiatingDraggable)?.activation?.distance;return R?De(n.value,R):1}),u=F(a.visibleDraggableSet),d=F(a.visibleDroppableSet),f=F(a.visibleSelectableAreaSet),{overlaySize:y,overlaySizeObserver:g}=ye(e),m=r.ref(),b=r.reactive({draggable:new Map,droppable:new Map}),p={throttle:r.shallowRef(0)},L=r.computed(()=>{o.y,o.x;const B=a.initiatingDraggable;return Ae(n.value,e.value,B||null,a.constraintsAreaMap,y.value)});return{state:t,pointer:n,entities:a,keyboard:i,scrollPosition:o,delay:l,distanceProgress:c,hovered:b,collision:p,overlay:{size:y,style:L,render:m,ref:e},lib:{draggableObserver:u,droppableObserver:d,selectableAreaObserver:f,overlaySizeObserver:g}}}const T=e=>{e.pointer.value=void 0,e.state.value=void 0,e.entities.selectingArea=void 0,e.entities.initiatingDraggable=void 0,e.delay.progress=0,e.delay.startTime=0,e.entities.draggingMap.clear(),e.hovered.draggable.clear(),e.hovered.droppable.clear()},ae=e=>{const t=e.entities.initiatingDraggable;if(!t)return;const s=e.entities.draggableMap.get(t)?.payload;if(!s)return;const i=s();if(!Array.isArray(i)||i.length<2)return;const[a,o,l]=i;return{index:Number(a),items:Array.isArray(o)?o:[],dropData:l}},S=e=>e.keys().next().value,xe=e=>e.target.closest(k.DRAGGABLE),M=e=>({payload:ae(e),provider:e}),I=(e,t,n)=>{const s=xe(t);if(!s||!e.entities.draggingMap.has(s))return;const i=M(e);e.entities.draggingMap.get(s)?.events?.[n]?.(i)},A=(e,t,n)=>{if(!t||E(t,e))return;const s=M(e);e.entities.draggableMap.get(t)?.events?.[n]?.(s)},D=(e,t)=>{const n=M(e);e.entities.draggableMap.forEach((s,i)=>{E(i,e)||s.events?.[t]?.(n)})},ke=(e,t,n)=>{if(t!==n){const s=M(e);t&&!w(t,e)&&e.entities.droppableMap.get(t)?.events?.onLeave?.(s),n&&!w(n,e)&&e.entities.droppableMap.get(n)?.events?.onEnter?.(s)}},Ce=(e,t,n)=>{if(t!==n){const s=M(e);t&&!E(t,e)&&e.entities.draggableMap.get(t)?.events?.onLeave?.(s),n&&!E(n,e)&&e.entities.draggableMap.get(n)?.events?.onHover?.(s)}},Le=(e,t)=>{const n=S(t.droppable);if(n&&!w(n,e)){const s=M(e);e.entities.droppableMap.get(n)?.events?.onLeave?.(s)}},oe=(e,t)=>{const n=S(t.droppable);if(n&&!w(n,e)){const s=M(e);e.entities.droppableMap.get(n)?.events?.onLeave?.(s)}},Be=(e,t)=>!e.length||!t.length?!0:e.some(n=>t.includes(n)),Re=(e,t,n)=>{if(!n)return{};const s=n.getBoundingClientRect(),i=Math.max(s.left,Math.min(e.x,t.x)),a=Math.max(s.top,Math.min(e.y,t.y)),o=Math.min(s.right,Math.max(e.x,t.x)),l=Math.min(s.bottom,Math.max(e.y,t.y)),c=Math.max(0,o-i),u=Math.max(0,l-a);return{left:`${i}px`,top:`${a}px`,width:`${c}px`,height:`${u}px`,position:"fixed",pointerEvents:"none",border:"1px solid #3b82f6",backgroundColor:"#3b82f61a"}},Pe=e=>{if(!e.pointer.value||!e.entities.selectingArea)return;const{selectingArea:t}=e.entities,n=Oe(e.pointer.value.start,e.pointer.value.current),s=e.entities.selectableAreaMap.get(t)?.groups??[];e.entities.visibleDraggableSet.forEach(i=>{if(!t.contains(i))return;if(E(i,e)){e.entities.selectedSet.delete(i);return}const o=e.entities.draggableMap.get(i)?.groups??[];if(!Be(s,o)){e.entities.selectedSet.delete(i);return}fe(n,i.getBoundingClientRect())?e.entities.selectedSet.add(i):e.entities.selectedSet.delete(i)})},Oe=(e,t)=>{const n=Math.min(e.x,t.x),s=Math.min(e.y,t.y),i=Math.max(e.x,t.x),a=Math.max(e.y,t.y),o=i-n,l=a-s;return new DOMRect(n,s,o,l)},Te=(e,t,n=5)=>{const s=n/2;return{left:e-s,top:t-s,width:n,height:n}},ze=e=>{const t=e.pointer.value?.current,n=t?.x??0,s=t?.y??0;return Te(n,s,5)},P=(e,t,n)=>{const s=e.left+e.width/2,i=e.top+e.height/2;if(n){const d=n.top??0,f=n.right??0,y=n.bottom??0,g=n.left??0,m=t.left+g,b=t.right-f,p=t.top+d,L=t.bottom-y;if(m<b&&p<L&&s>=m&&s<=b&&i>=p&&i<=L)return{top:!1,right:!1,bottom:!1,left:!1,center:!0}}const a=i-t.top,o=t.bottom-i,l=s-t.left,c=t.right-s,u=Math.min(a,o,l,c);return{top:a===u,bottom:o===u,left:l===u,right:c===u}},_e=(e,t)=>e.find(n=>n!==t&&C(t,n)),U=(e,t,n)=>{const s=S(t.droppable),i=S(t.draggable);t.draggable.clear(),t.droppable.clear();const a=ze(e),o=n.zones[0],l=n.elements[0];if(o&&l&&o===l&&e.entities.droppableMap.has(o)&&o){const f=o.getBoundingClientRect(),y=e.entities.draggableMap.get(o)?.placementMargins,g=P(a,f,y);if(g.center){t.droppable.set(o,g);const m=_e(n.elements,o);if(m){const b=m.getBoundingClientRect();t.draggable.set(m,P(a,b,void 0))}}else t.draggable.set(l,g),t.droppable.set(o,g)}else{if(o){const f=o.getBoundingClientRect();t.droppable.set(o,P(a,f))}if(l){const f=l.getBoundingClientRect(),y=e.entities.draggableMap.get(l)?.placementMargins;t.draggable.set(l,P(a,f,y))}}const u=S(t.droppable),d=S(t.draggable);ke(e,s,u),Ce(e,i,d)},Fe=(e,t)=>e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y,X=e=>{if(!e)return{x:0,y:0,width:0,height:0,top:0,left:0,right:0,bottom:0};const t=e.getBoundingClientRect();return{x:t.x,y:t.y,width:t.width,height:t.height,top:t.top,left:t.left,right:t.right,bottom:t.bottom}},q=e=>({x:e.x+e.width/2,y:e.y+e.height/2}),Ie=(e,t)=>Math.hypot(t.x-e.x,t.y-e.y),Ke=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),s=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y)),i=n*s,a=e.width*e.height,o=t.width*t.height;return a===0||o===0?0:(i/a*100+i/o*100)/2},Ge=(e,t,n)=>t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height,V=()=>!0,j=()=>0,He=()=>{const e={filterElements:V,filterZones:V,sortElements:j,sortZones:j},t=(s,i,a,o,l,c,u)=>{const d=new Set(o),f={containerBox:i,pointer:a},y=[...o].filter(g=>l(g,s)).map(g=>{const m=X(g);if(!u(m,f))return null;let b=0;for(const p of d)p!==g&&C(p,g)&&b++;return{node:g,box:m,meta:{isPointerInElement:Ge(m,a.x,a.y),overlapPercent:Ke(m,i),depth:b,centerDistance:Ie(q(i),q(m))}}}).filter(g=>g!==null);return y.sort((g,m)=>c(g,m,f)),y.map(g=>g.node)},n={container(s){return e.container=s,n},containerBox(s){return e.containerBox=s,n},elements(s){return e.elements=s,n},zones(s){return e.zones=s,n},filterElements(s){return e.filterElements=s,n},filterZones(s){return e.filterZones=s,n},collision(s){return e.collision=s,n},sortElements(s){return e.sortElements=s,n},sortZones(s){return e.sortZones=s,n},build(){const s=e;if(!s.container||!s.elements||!s.zones||!s.collision)throw new Error("sensor: container, elements, zones, collision are required");return i=>{const a=s.container(i);if(!a)return{elements:[],zones:[]};const o=s.containerBox?s.containerBox(i):X(a),l=i.pointer.value?.current??{x:0,y:0};return{elements:t(i,o,l,s.elements(i),s.filterElements,s.sortElements,s.collision),zones:t(i,o,l,s.zones(i),s.filterZones,s.sortZones,s.collision)}}}};return n},Ne=()=>He(),Ue=e=>e.overlay.ref?.value??null,Ye=e=>{const t=e.overlay.style?.value??{x:0,y:0},n=e.overlay.size?.value??null,{x:s,y:i}=t,a=n?.width??0,o=n?.height??0;return{x:s,y:i,width:a,height:o,top:i,left:s,right:s+a,bottom:i+o}},Ze=e=>e.entities.visibleDraggableSet,$e=e=>e.entities.visibleDroppableSet,Xe=(e,t)=>!t.entities.draggingMap.has(e),qe=(e,t)=>![...t.entities.draggingMap.keys()].some(n=>C(n,e)),Ve=(e,t)=>t.entities.draggableMap.has(e)?!E(e,t):t.entities.droppableMap.has(e)?!w(e,t):!0,W=(e,t)=>Xe(e,t)&&qe(e,t)&&Ve(e,t),je=(e,t)=>Fe(e,t.containerBox),J=(e,t,n)=>{if(n.pointer.x>=n.containerBox.x&&n.pointer.x<=n.containerBox.x+n.containerBox.width&&n.pointer.y>=n.containerBox.y&&n.pointer.y<=n.containerBox.y+n.containerBox.height){if(e.meta.isPointerInElement&&t.meta.isPointerInElement)return t.meta.depth-e.meta.depth;if(e.meta.isPointerInElement!==t.meta.isPointerInElement)return e.meta.isPointerInElement?-1:1}return Math.abs(e.meta.overlapPercent-t.meta.overlapPercent)<=1?e.meta.centerDistance-t.meta.centerDistance:t.meta.overlapPercent-e.meta.overlapPercent},Y=Ne().container(Ue).containerBox(Ye).elements(Ze).zones($e).filterElements(W).filterZones(W).collision(je).sortElements(J).sortZones(J).build();function Q(e){const n=(e.collision?.run??Y)(e);U(e,e.hovered,n)}function We(e,t){const n=e.collision?.throttle?.value??0;if(n<=0){Q(e);return}const s=Date.now();s-t.value>=n&&(t.value=s,Q(e))}async function re(e){const t=e.hovered.droppable.keys().next().value;if(!t||w(t,e))return!0;const n=e.entities.droppableMap.get(t),s={payload:ae(e),provider:e},i=n?.events?.onDrop?.(s);if(i!=null&&typeof i.then=="function")try{return await i,!0}catch{const o=e.entities.initiatingDraggable;return A(e,o,"onSelfDragCancel"),D(e,"onDragCancel"),oe(e,e.hovered),!1}return!0}function le(e){const t=e.entities.initiatingDraggable;A(e,t,"onSelfDragEnd"),D(e,"onDragEnd"),Le(e,e.hovered)}function Je(e){const t=e.entities.selectingArea;if(!t)return;const n=e.entities.selectableAreaMap.get(t),s=[...e.entities.selectedSet];n?.events?.onSelected?.(s)}const Qe=e=>{const t={current:null},n={value:0},s=async()=>{H(),t.current?.cancel(),t.current=null;const l=e.state.value;if(l==="dragging"){if(!await re(e)){T(e),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",i);return}le(e)}else l==="selecting"&&Je(e);T(e),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",i)},i=l=>{if(e.pointer.value){if(e.pointer.value.current={x:l.clientX,y:l.clientY},pe(e)){I(e,l,"onSelfDragStart"),D(e,"onDragStart");return}if(e.state.value==="dragging"){We(e,n);const c=e.entities.initiatingDraggable;A(e,c,"onSelfDragMove"),D(e,"onDragMove")}e.state.value==="selecting"&&Pe(e)}};return{pointerDown:l=>{document.addEventListener("pointerup",s),document.addEventListener("pointermove",i);const c=l.target,u=c.closest(k.SELECT_AREA),d=c.closest(k.DRAGGABLE);if(e.entities.modifiersSelectableAreaSet.size>0&&e.entities.modifiersSelectableAreaSet.has(u)){G(),e.pointer.value=N(l),e.state.value="selecting",e.entities.selectingArea=u;return}if(e.entities.modifiersDraggableSet.size>0&&e.entities.modifiersDraggableSet.has(d)){const f=e.entities.draggableMap.get(d);if(!se(c,d,f?.dragHandle))return;G(),e.entities.initiatingDraggable=d;const y=te(l,d);e.pointer.value=N(l,y.x,y.y),f?.activation?.distance||f?.activation?.delay?(e.state.value="activating",f?.activation?.delay&&(e.delay.startTime=Date.now(),t.current=ve(e,()=>{O(e),I(e,l,"onSelfDragStart"),D(e,"onDragStart")}))):(O(e),I(e,l,"onSelfDragStart"),D(e,"onDragStart"))}},pointerUp:s,pointerMove:i,cleanup:()=>{t.current?.cancel(),document.removeEventListener("pointerup",s),document.removeEventListener("pointermove",i),e.lib.draggableObserver.disconnect(),e.lib.droppableObserver.disconnect(),e.lib.selectableAreaObserver.disconnect(),e.lib.overlaySizeObserver.disconnect()}}},et={ArrowUp:{dx:0,dy:-1},ArrowDown:{dx:0,dy:1},ArrowLeft:{dx:-1,dy:0},ArrowRight:{dx:1,dy:0},KeyW:{dx:0,dy:-1},KeyA:{dx:-1,dy:0},KeyS:{dx:0,dy:1},KeyD:{dx:1,dy:0}},tt=e=>t=>{const{keys:n}=e.keyboard;if(n.pressedKeys.value.add(t.code),e.state.value==="dragging"){if(n.forCancel.includes(t.code)){t.preventDefault(),H(),A(e,e.entities.initiatingDraggable,"onSelfDragCancel"),D(e,"onDragCancel"),oe(e,e.hovered),T(e);return}if(n.forDrop.includes(t.code)){t.preventDefault(),(async()=>(await re(e)&&le(e),H(),T(e)))();return}const i=et[t.code];if(i&&n.forMove.includes(t.code)&&e.pointer.value){t.preventDefault();const a=n.forMoveFaster.some(u=>n.pressedKeys.value.has(u)),o=e.keyboard.step*(a?e.keyboard.moveFaster:1);e.pointer.value.current={x:e.pointer.value.current.x+i.dx*o,y:e.pointer.value.current.y+i.dy*o};const c=(e.collision?.run??Y)(e);U(e,e.hovered,c),A(e,e.entities.initiatingDraggable,"onSelfDragMove"),D(e,"onDragMove");return}return}if(n.forDrag.includes(t.code)){const i=document.activeElement;if(!i)return;const a=i.closest(k.DRAGGABLE);if(!a||e.entities.modifiersDraggableSet.size===0||!e.entities.modifiersDraggableSet.has(a))return;const o=e.entities.draggableMap.get(a);if(!se(i,a,o?.dragHandle,!0))return;t.preventDefault(),G();const l=a.getBoundingClientRect(),c=l.left+l.width/2,u=l.top+l.height/2,d={clientX:c,clientY:u};e.entities.initiatingDraggable=a;const f=te(d,a);e.pointer.value=N(d,f.x,f.y),O(e);const g=(e.collision?.run??Y)(e);U(e,e.hovered,g),A(e,a,"onSelfDragStart"),D(e,"onDragStart")}},nt=e=>t=>{e.keyboard.keys.pressedKeys.value.delete(t.code)},st=e=>()=>{e.keyboard.keys.pressedKeys.value.clear()},K={keyDown:tt,keyUp:nt,clear:st},it=e=>()=>{e.state.value&&(e.scrollPosition.x=window.scrollX,e.scrollPosition.y=window.scrollY)},at=e=>{const t=Qe(e),n=K.keyDown(e),s=K.keyUp(e),i=K.clear(e),a=it(e);r.onMounted(()=>{document.addEventListener("pointerdown",t.pointerDown),document.addEventListener("keydown",n),document.addEventListener("keyup",s),document.addEventListener("blur",i),document.addEventListener("scroll",a,!0)}),r.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",t.pointerDown),document.removeEventListener("pointerup",t.pointerUp),document.removeEventListener("pointermove",t.pointerMove),document.removeEventListener("keydown",n),document.removeEventListener("keyup",s),document.removeEventListener("blur",i),document.removeEventListener("scroll",a,!0),t.cleanup()})},_=()=>{const e=r.inject(Z);if(!e)throw Error("DnD provider not found");return e},ce=()=>{const e=_();return{overlay:e.overlay,delay:e.delay,distanceProgress:e.distanceProgress,entities:e.entities,pointer:e.pointer,state:e.state,scrollPosition:e.scrollPosition,keyboard:e.keyboard,hovered:e.hovered,collision:e.collision}},ot=r.defineComponent({__name:"DefaultOverlay",setup(e){const{entities:t,state:n,overlay:s}=ce();return(i,a)=>r.unref(n)==="dragging"?(r.openBlock(),r.createElementBlock("div",{key:0,class:"dnd-kit-default-overlay",style:r.normalizeStyle({"--position-x":r.unref(s).style.value.x+"px","--position-y":r.unref(s).style.value.y+"px"})},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(r.unref(t).draggingMap,([o,l])=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.unref(t).draggableMap.get(o)?.render?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(r.unref(t).draggableMap.get(o)?.render),{key:0,class:"test"})):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(o.tagName),{key:1,innerHTML:l.initialHTML,class:"test",style:r.normalizeStyle({width:l.initialRect.width+"px",height:l.initialRect.height+"px"})},null,8,["innerHTML","style"]))],64))),256))],4)):r.createCommentVNode("",!0)}}),rt=r.defineComponent({__name:"DnDProvider",setup(e){const t=r.useTemplateRef("overlayRef"),n=we(t);at(n);const s=r.computed(()=>n.overlay.render.value??ot);return r.provide(Z,n),(i,a)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.renderSlot(i.$slots,"default"),r.createElementVNode("div",{ref_key:"overlayRef",ref:t,class:"dnd-kit-overlay-container"},[r.renderSlot(i.$slots,"overlay",{overlay:s.value},()=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(s.value)))])],512)],64))}});function lt(e,t,n){const s=_();let i,a,o;return typeof t=="function"?(i={},a=t):(i=t??{},a=n),r.onMounted(()=>{o=z(e),o&&(o.addEventListener("dragstart",h),o.addEventListener("drag",h),o.addEventListener("dragend",h),o.setAttribute(v.DRAGGABLE,""),s.lib.draggableObserver.observe(o),s.entities.draggableMap.set(o,{render:i.render,disabled:i.disabled??!1,groups:i.groups??[],modifier:i.modifier,events:i.events,payload:a,dragHandle:i.dragHandle,activation:i.activation,placementMargins:i.placementMargins}))}),r.onBeforeUnmount(()=>{o&&(s.lib.draggableObserver.unobserve(o),s.entities.visibleDraggableSet.delete(o),s.entities.draggableMap.delete(o),s.entities.modifiersDraggableSet.delete(o))}),{}}const ct=(e,t)=>{const n=_(),s=r.computed(()=>e.value===n.entities.selectingArea);let i=null;r.onMounted(()=>{i=z(e),i&&(i.setAttribute(v.SELECT_AREA,""),n.lib.selectableAreaObserver.observe(i),n.entities.selectableAreaMap.set(i,{modifier:t?.modifier??{keys:["ControlLeft"],method:"every"},events:t?.events,disabled:t?.disabled??!1,groups:t?.groups??[]}))}),r.onBeforeUnmount(()=>{i&&(n.lib.selectableAreaObserver.unobserve(i),n.entities.visibleSelectableAreaSet.delete(i),n.entities.modifiersSelectableAreaSet.delete(i),n.entities.selectableAreaMap.delete(i))});const a=r.computed(()=>{n.scrollPosition.x,n.scrollPosition.y;const o=n.pointer.value;return!o||n.state.value!=="selecting"||!i?{}:Re(o.start,o.current,i)});return{isSelecting:s,style:a}};function ut(e,t){const n=r.inject(Z);if(!n)throw Error("DnD provider not found");let s=null;return r.onMounted(()=>{s=z(e),s&&(s.setAttribute(v.CONSTRAINT_AREA,""),n.entities.constraintsAreaMap.set(s,{axis:t?.axis||"both",restrictToArea:t?.restrictToArea||!1}))}),r.onBeforeUnmount(()=>{s&&n.entities.constraintsAreaMap.delete(s)}),{}}function gt(e,t={}){const n=_();let s=null;r.onMounted(()=>{s=z(e),s&&(s.setAttribute(v.DROPPABLE,""),n.lib.droppableObserver.observe(s),n.entities.droppableMap.set(s,{disabled:t.disabled??!1,groups:t.groups??[],events:t.events}))}),r.onBeforeUnmount(()=>{s&&(n.lib.droppableObserver.unobserve(s),n.entities.visibleDroppableSet.delete(s),n.entities.droppableMap.delete(s))})}exports.DnDProvider=rt;exports.makeBoundingBox=ut;exports.makeDraggable=lt;exports.makeDroppable=gt;exports.makeSelectableArea=ct;exports.useDnDProvider=ce;
|
|
2
2
|
//# sourceMappingURL=vue-dnd-kit-core.cjs.js.map
|