@elliemae/ds-drag-and-drop 2.1.0 → 2.2.0-alpha.3
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/cjs/hierarchy/customCollisionDetection.js +44 -50
- package/cjs/hierarchy/customCollisionDetection.js.map +7 -0
- package/cjs/hierarchy/getHierarchyKeyboardCoordinates.js +78 -91
- package/cjs/hierarchy/getHierarchyKeyboardCoordinates.js.map +7 -0
- package/cjs/hierarchy/index.js +28 -9
- package/cjs/hierarchy/index.js.map +7 -0
- package/cjs/hierarchy/types.js +27 -2
- package/cjs/hierarchy/types.js.map +7 -0
- package/cjs/hierarchy/useHierarchyActionHandlers.js +53 -35
- package/cjs/hierarchy/useHierarchyActionHandlers.js.map +7 -0
- package/cjs/hierarchy/useHierarchyAnnouncements.js +45 -26
- package/cjs/hierarchy/useHierarchyAnnouncements.js.map +7 -0
- package/cjs/hierarchy/useHierarchyDndkitConfig.js +77 -83
- package/cjs/hierarchy/useHierarchyDndkitConfig.js.map +7 -0
- package/cjs/hierarchy/useHierarchyPreviewHandlers.js +48 -27
- package/cjs/hierarchy/useHierarchyPreviewHandlers.js.map +7 -0
- package/cjs/index.js +29 -11
- package/cjs/index.js.map +7 -0
- package/cjs/tree/constants.js +41 -12
- package/cjs/tree/constants.js.map +7 -0
- package/cjs/tree/customCollisionDetection.js +64 -95
- package/cjs/tree/customCollisionDetection.js.map +7 -0
- package/cjs/tree/getTreeKeyboardCoordinates.js +87 -101
- package/cjs/tree/getTreeKeyboardCoordinates.js.map +7 -0
- package/cjs/tree/index.js +28 -9
- package/cjs/tree/index.js.map +7 -0
- package/cjs/tree/types.js +27 -2
- package/cjs/tree/types.js.map +7 -0
- package/cjs/tree/useTreeActionHandlers.js +66 -56
- package/cjs/tree/useTreeActionHandlers.js.map +7 -0
- package/cjs/tree/useTreeAnnouncements.js +53 -40
- package/cjs/tree/useTreeAnnouncements.js.map +7 -0
- package/cjs/tree/useTreeDndkitConfig.js +95 -91
- package/cjs/tree/useTreeDndkitConfig.js.map +7 -0
- package/cjs/tree/useTreePreviewHandlers.js +53 -37
- package/cjs/tree/useTreePreviewHandlers.js.map +7 -0
- package/cjs/tree/utilities.js +44 -30
- package/cjs/tree/utilities.js.map +7 -0
- package/esm/hierarchy/customCollisionDetection.js +15 -46
- package/esm/hierarchy/customCollisionDetection.js.map +7 -0
- package/esm/hierarchy/getHierarchyKeyboardCoordinates.js +42 -76
- package/esm/hierarchy/getHierarchyKeyboardCoordinates.js.map +7 -0
- package/esm/hierarchy/index.js +3 -1
- package/esm/hierarchy/index.js.map +7 -0
- package/esm/hierarchy/types.js +2 -1
- package/esm/hierarchy/types.js.map +7 -0
- package/esm/hierarchy/useHierarchyActionHandlers.js +24 -31
- package/esm/hierarchy/useHierarchyActionHandlers.js.map +7 -0
- package/esm/hierarchy/useHierarchyAnnouncements.js +14 -20
- package/esm/hierarchy/useHierarchyAnnouncements.js.map +7 -0
- package/esm/hierarchy/useHierarchyDndkitConfig.js +45 -66
- package/esm/hierarchy/useHierarchyDndkitConfig.js.map +7 -0
- package/esm/hierarchy/useHierarchyPreviewHandlers.js +15 -19
- package/esm/hierarchy/useHierarchyPreviewHandlers.js.map +7 -0
- package/esm/index.js +4 -2
- package/esm/index.js.map +7 -0
- package/esm/tree/constants.js +12 -10
- package/esm/tree/constants.js.map +7 -0
- package/esm/tree/customCollisionDetection.js +33 -89
- package/esm/tree/customCollisionDetection.js.map +7 -0
- package/esm/tree/getTreeKeyboardCoordinates.js +49 -84
- package/esm/tree/getTreeKeyboardCoordinates.js.map +7 -0
- package/esm/tree/index.js +3 -1
- package/esm/tree/index.js.map +7 -0
- package/esm/tree/types.js +2 -1
- package/esm/tree/types.js.map +7 -0
- package/esm/tree/useTreeActionHandlers.js +35 -50
- package/esm/tree/useTreeActionHandlers.js.map +7 -0
- package/esm/tree/useTreeAnnouncements.js +18 -30
- package/esm/tree/useTreeAnnouncements.js.map +7 -0
- package/esm/tree/useTreeDndkitConfig.js +59 -70
- package/esm/tree/useTreeDndkitConfig.js.map +7 -0
- package/esm/tree/useTreePreviewHandlers.js +19 -28
- package/esm/tree/useTreePreviewHandlers.js.map +7 -0
- package/esm/tree/utilities.js +13 -23
- package/esm/tree/utilities.js.map +7 -0
- package/package.json +1 -1
|
@@ -1,36 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const useTreePreviewHandlers =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} = _ref;
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { DropIndicatorPosition } from "./constants";
|
|
4
|
+
const useTreePreviewHandlers = ({
|
|
5
|
+
setOverId,
|
|
6
|
+
setActiveId,
|
|
7
|
+
setDropIndicatorPosition
|
|
8
|
+
}) => {
|
|
10
9
|
const resetState = useCallback(() => {
|
|
11
|
-
setOverId(
|
|
12
|
-
setActiveId(
|
|
13
|
-
document.body.style.setProperty(
|
|
10
|
+
setOverId("");
|
|
11
|
+
setActiveId("");
|
|
12
|
+
document.body.style.setProperty("cursor", "");
|
|
14
13
|
}, [setOverId, setActiveId]);
|
|
15
|
-
const handlePreviewDragStart = useCallback(
|
|
16
|
-
let {
|
|
17
|
-
active: {
|
|
18
|
-
id
|
|
19
|
-
}
|
|
20
|
-
} = _ref2;
|
|
14
|
+
const handlePreviewDragStart = useCallback(({ active: { id } }) => {
|
|
21
15
|
setActiveId(id);
|
|
22
16
|
setOverId(id);
|
|
23
17
|
setDropIndicatorPosition(DropIndicatorPosition.Inside);
|
|
24
|
-
document.body.style.setProperty(
|
|
18
|
+
document.body.style.setProperty("cursor", "grabbing");
|
|
25
19
|
}, [setActiveId, setDropIndicatorPosition, setOverId]);
|
|
26
20
|
const handlePreviewDragMove = useCallback(() => null, []);
|
|
27
|
-
const handlePreviewDragOver = useCallback(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
let {
|
|
31
|
-
over
|
|
32
|
-
} = _ref3;
|
|
33
|
-
setOverId((_over$id = over === null || over === void 0 ? void 0 : over.id) !== null && _over$id !== void 0 ? _over$id : '');
|
|
21
|
+
const handlePreviewDragOver = useCallback(({ over }) => {
|
|
22
|
+
setOverId(over?.id ?? "");
|
|
34
23
|
}, [setOverId]);
|
|
35
24
|
const handlePreviewDragEnd = useCallback(() => {
|
|
36
25
|
resetState();
|
|
@@ -46,5 +35,7 @@ const useTreePreviewHandlers = _ref => {
|
|
|
46
35
|
handlePreviewDragCancel
|
|
47
36
|
};
|
|
48
37
|
};
|
|
49
|
-
|
|
50
|
-
|
|
38
|
+
export {
|
|
39
|
+
useTreePreviewHandlers
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=useTreePreviewHandlers.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/tree/useTreePreviewHandlers.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback } from 'react';\nimport { DragStartEvent, DragOverEvent } from '@dnd-kit/core';\nimport type { useTreePreviewHandlersReturn, useTreePreviewHandlersArgs } from './types';\nimport { DropIndicatorPosition } from './constants';\n\nexport const useTreePreviewHandlers = ({\n setOverId,\n setActiveId,\n setDropIndicatorPosition,\n}: useTreePreviewHandlersArgs): useTreePreviewHandlersReturn => {\n const resetState = useCallback(() => {\n setOverId('');\n setActiveId('');\n\n document.body.style.setProperty('cursor', '');\n }, [setOverId, setActiveId]);\n\n const handlePreviewDragStart = useCallback(\n ({ active: { id } }: DragStartEvent) => {\n setActiveId(id);\n setOverId(id);\n setDropIndicatorPosition(DropIndicatorPosition.Inside);\n\n document.body.style.setProperty('cursor', 'grabbing');\n },\n [setActiveId, setDropIndicatorPosition, setOverId],\n );\n\n const handlePreviewDragMove = useCallback(() => null, []);\n\n const handlePreviewDragOver = useCallback(\n ({ over }: DragOverEvent) => {\n setOverId(over?.id ?? '');\n },\n [setOverId],\n );\n\n const handlePreviewDragEnd = useCallback(() => {\n resetState();\n }, [resetState]);\n\n const handlePreviewDragCancel = useCallback(() => {\n resetState();\n }, [resetState]);\n\n return {\n handlePreviewDragStart,\n handlePreviewDragMove,\n handlePreviewDragOver,\n handlePreviewDragEnd,\n handlePreviewDragCancel,\n };\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAGA;AAEO,MAAM,yBAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,MAC8D;AAC9D,QAAM,aAAa,YAAY,MAAM;AACnC,cAAU;AACV,gBAAY;AAEZ,aAAS,KAAK,MAAM,YAAY,UAAU;AAAA,KACzC,CAAC,WAAW;AAEf,QAAM,yBAAyB,YAC7B,CAAC,EAAE,QAAQ,EAAE,WAA2B;AACtC,gBAAY;AACZ,cAAU;AACV,6BAAyB,sBAAsB;AAE/C,aAAS,KAAK,MAAM,YAAY,UAAU;AAAA,KAE5C,CAAC,aAAa,0BAA0B;AAG1C,QAAM,wBAAwB,YAAY,MAAM,MAAM;AAEtD,QAAM,wBAAwB,YAC5B,CAAC,EAAE,WAA0B;AAC3B,cAAU,MAAM,MAAM;AAAA,KAExB,CAAC;AAGH,QAAM,uBAAuB,YAAY,MAAM;AAC7C;AAAA,KACC,CAAC;AAEJ,QAAM,0BAA0B,YAAY,MAAM;AAChD;AAAA,KACC,CAAC;AAEJ,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/esm/tree/utilities.js
CHANGED
|
@@ -1,47 +1,37 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const getMinDepth = item => {
|
|
7
|
-
if (item) return item.depth;
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { DropIndicatorPosition } from "./constants";
|
|
3
|
+
const getMinDepth = (item) => {
|
|
4
|
+
if (item)
|
|
5
|
+
return item.depth;
|
|
8
6
|
return 0;
|
|
9
7
|
};
|
|
10
|
-
|
|
11
8
|
const getProjection = (items, visibleItemsDictionary, overId, dropIndicatorPosition, isExpandable) => {
|
|
12
9
|
const overItemIndex = visibleItemsDictionary[overId].realIndex;
|
|
13
10
|
const previousItem = items[overItemIndex];
|
|
14
11
|
const nextItem = items[overItemIndex + 1];
|
|
15
|
-
|
|
16
12
|
if (dropIndicatorPosition === DropIndicatorPosition.Inside && isExpandable) {
|
|
17
13
|
return {
|
|
18
14
|
depth: visibleItemsDictionary[overId].depth + 1,
|
|
19
15
|
parentId: overId
|
|
20
16
|
};
|
|
21
17
|
}
|
|
22
|
-
|
|
23
18
|
if (dropIndicatorPosition === DropIndicatorPosition.Before) {
|
|
24
|
-
return {
|
|
25
|
-
depth: getMinDepth(previousItem),
|
|
26
|
-
parentId: previousItem.parentId
|
|
27
|
-
};
|
|
19
|
+
return { depth: getMinDepth(previousItem), parentId: previousItem.parentId };
|
|
28
20
|
}
|
|
29
|
-
|
|
30
|
-
return {
|
|
31
|
-
depth: getMinDepth(nextItem),
|
|
32
|
-
parentId: nextItem === null || nextItem === void 0 ? void 0 : nextItem.parentId
|
|
33
|
-
};
|
|
21
|
+
return { depth: getMinDepth(nextItem), parentId: nextItem?.parentId };
|
|
34
22
|
};
|
|
35
23
|
const removeChildrenOf = (items, id) => {
|
|
36
24
|
const excludeParentIds = [id];
|
|
37
|
-
return items.filter(item => {
|
|
25
|
+
return items.filter((item) => {
|
|
38
26
|
if (item.parentId !== null && excludeParentIds.includes(item.parentId)) {
|
|
39
27
|
excludeParentIds.push(item.uid);
|
|
40
28
|
return false;
|
|
41
29
|
}
|
|
42
|
-
|
|
43
30
|
return true;
|
|
44
31
|
});
|
|
45
32
|
};
|
|
46
|
-
|
|
47
|
-
|
|
33
|
+
export {
|
|
34
|
+
getProjection,
|
|
35
|
+
removeChildrenOf
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=utilities.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/tree/utilities.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { DropIndicatorPosition } from './constants';\n\nimport { Item } from './types';\n\nconst getMinDepth = (item: Item) => {\n if (item) return item.depth;\n return 0;\n};\n\nexport const getProjection = (\n items: Item[],\n visibleItemsDictionary: Record<string, Item>,\n overId: string,\n dropIndicatorPosition: DropIndicatorPosition,\n isExpandable: boolean,\n): { depth: number; parentId: string } => {\n const overItemIndex = visibleItemsDictionary[overId].realIndex;\n\n const previousItem = items[overItemIndex];\n const nextItem = items[overItemIndex + 1];\n\n if (dropIndicatorPosition === DropIndicatorPosition.Inside && isExpandable) {\n return {\n depth: visibleItemsDictionary[overId].depth + 1,\n parentId: overId,\n };\n }\n if (dropIndicatorPosition === DropIndicatorPosition.Before) {\n return { depth: getMinDepth(previousItem), parentId: previousItem.parentId };\n }\n return { depth: getMinDepth(nextItem), parentId: nextItem?.parentId };\n};\n\nexport const removeChildrenOf = (items: Item[], id: string): Item[] => {\n const excludeParentIds = [id];\n\n return items.filter((item) => {\n if (item.parentId !== null && excludeParentIds.includes(item.parentId)) {\n excludeParentIds.push(item.uid);\n return false;\n }\n return true;\n });\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AAIA,MAAM,cAAc,CAAC,SAAe;AAClC,MAAI;AAAM,WAAO,KAAK;AACtB,SAAO;AAAA;AAGF,MAAM,gBAAgB,CAC3B,OACA,wBACA,QACA,uBACA,iBACwC;AACxC,QAAM,gBAAgB,uBAAuB,QAAQ;AAErD,QAAM,eAAe,MAAM;AAC3B,QAAM,WAAW,MAAM,gBAAgB;AAEvC,MAAI,0BAA0B,sBAAsB,UAAU,cAAc;AAC1E,WAAO;AAAA,MACL,OAAO,uBAAuB,QAAQ,QAAQ;AAAA,MAC9C,UAAU;AAAA;AAAA;AAGd,MAAI,0BAA0B,sBAAsB,QAAQ;AAC1D,WAAO,EAAE,OAAO,YAAY,eAAe,UAAU,aAAa;AAAA;AAEpE,SAAO,EAAE,OAAO,YAAY,WAAW,UAAU,UAAU;AAAA;AAGtD,MAAM,mBAAmB,CAAC,OAAe,OAAuB;AACrE,QAAM,mBAAmB,CAAC;AAE1B,SAAO,MAAM,OAAO,CAAC,SAAS;AAC5B,QAAI,KAAK,aAAa,QAAQ,iBAAiB,SAAS,KAAK,WAAW;AACtE,uBAAiB,KAAK,KAAK;AAC3B,aAAO;AAAA;AAET,WAAO;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|