react-native-tree-multi-select 3.0.0-beta.3 → 3.0.0-beta.4
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 +84 -24
- package/lib/module/TreeView.js +36 -31
- package/lib/module/TreeView.js.map +1 -1
- package/lib/module/components/CheckboxView.js +8 -4
- package/lib/module/components/CheckboxView.js.map +1 -1
- package/lib/module/components/CustomExpandCollapseIcon.js +2 -2
- package/lib/module/components/CustomExpandCollapseIcon.js.map +1 -1
- package/lib/module/components/DragOverlay.js +17 -5
- package/lib/module/components/DragOverlay.js.map +1 -1
- package/lib/module/components/DropIndicator.js +2 -2
- package/lib/module/components/DropIndicator.js.map +1 -1
- package/lib/module/components/NodeList.js +74 -57
- package/lib/module/components/NodeList.js.map +1 -1
- package/lib/module/constants/treeView.constants.js +3 -0
- package/lib/module/constants/treeView.constants.js.map +1 -1
- package/lib/module/helpers/expandCollapse.helper.js.map +1 -1
- package/lib/module/helpers/moveTreeNode.helper.js +30 -0
- package/lib/module/helpers/moveTreeNode.helper.js.map +1 -1
- package/lib/module/helpers/selectAll.helper.js.map +1 -1
- package/lib/module/helpers/toggleCheckbox.helper.js +43 -60
- package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
- package/lib/module/hooks/useDragDrop.js +114 -19
- package/lib/module/hooks/useDragDrop.js.map +1 -1
- package/lib/module/{handlers/ScrollToNodeHandler.js → hooks/useScrollToNode.js} +27 -26
- package/lib/module/hooks/useScrollToNode.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/jest.setup.js +14 -1
- package/lib/module/jest.setup.js.map +1 -1
- package/lib/module/store/treeView.store.js +3 -0
- package/lib/module/store/treeView.store.js.map +1 -1
- package/lib/module/utils/typedMemo.js +3 -3
- package/lib/module/utils/typedMemo.js.map +1 -1
- package/lib/module/utils/useDeepCompareEffect.js +5 -5
- package/lib/module/utils/useDeepCompareEffect.js.map +1 -1
- package/lib/typescript/src/TreeView.d.ts +3 -3
- package/lib/typescript/src/TreeView.d.ts.map +1 -1
- package/lib/typescript/src/components/CheckboxView.d.ts +1 -2
- package/lib/typescript/src/components/CheckboxView.d.ts.map +1 -1
- package/lib/typescript/src/components/CustomExpandCollapseIcon.d.ts +1 -2
- package/lib/typescript/src/components/CustomExpandCollapseIcon.d.ts.map +1 -1
- package/lib/typescript/src/components/DragOverlay.d.ts +1 -0
- package/lib/typescript/src/components/DragOverlay.d.ts.map +1 -1
- package/lib/typescript/src/components/DropIndicator.d.ts +1 -2
- package/lib/typescript/src/components/DropIndicator.d.ts.map +1 -1
- package/lib/typescript/src/components/NodeList.d.ts.map +1 -1
- package/lib/typescript/src/constants/treeView.constants.d.ts +2 -0
- package/lib/typescript/src/constants/treeView.constants.d.ts.map +1 -1
- package/lib/typescript/src/helpers/expandCollapse.helper.d.ts +2 -2
- package/lib/typescript/src/helpers/expandCollapse.helper.d.ts.map +1 -1
- package/lib/typescript/src/helpers/moveTreeNode.helper.d.ts.map +1 -1
- package/lib/typescript/src/helpers/selectAll.helper.d.ts +4 -4
- package/lib/typescript/src/helpers/selectAll.helper.d.ts.map +1 -1
- package/lib/typescript/src/helpers/toggleCheckbox.helper.d.ts +3 -0
- package/lib/typescript/src/helpers/toggleCheckbox.helper.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useDragDrop.d.ts +18 -7
- package/lib/typescript/src/hooks/useDragDrop.d.ts.map +1 -1
- package/lib/typescript/src/{handlers/ScrollToNodeHandler.d.ts → hooks/useScrollToNode.d.ts} +13 -15
- package/lib/typescript/src/hooks/useScrollToNode.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/jest.setup.d.ts +1 -1
- package/lib/typescript/src/jest.setup.d.ts.map +1 -1
- package/lib/typescript/src/store/treeView.store.d.ts +2 -1
- package/lib/typescript/src/store/treeView.store.d.ts.map +1 -1
- package/lib/typescript/src/types/dragDrop.types.d.ts +10 -0
- package/lib/typescript/src/types/dragDrop.types.d.ts.map +1 -1
- package/lib/typescript/src/types/treeView.types.d.ts +69 -41
- package/lib/typescript/src/types/treeView.types.d.ts.map +1 -1
- package/lib/typescript/src/utils/typedMemo.d.ts +1 -1
- package/lib/typescript/src/utils/typedMemo.d.ts.map +1 -1
- package/lib/typescript/src/utils/useDeepCompareEffect.d.ts +2 -2
- package/lib/typescript/src/utils/useDeepCompareEffect.d.ts.map +1 -1
- package/package.json +32 -15
- package/src/TreeView.tsx +57 -35
- package/src/components/CheckboxView.tsx +7 -4
- package/src/components/CustomExpandCollapseIcon.tsx +2 -2
- package/src/components/DragOverlay.tsx +19 -6
- package/src/components/DropIndicator.tsx +2 -2
- package/src/components/NodeList.tsx +83 -59
- package/src/constants/treeView.constants.ts +4 -1
- package/src/helpers/expandCollapse.helper.ts +5 -5
- package/src/helpers/moveTreeNode.helper.ts +33 -0
- package/src/helpers/selectAll.helper.ts +10 -10
- package/src/helpers/toggleCheckbox.helper.ts +56 -68
- package/src/hooks/useDragDrop.ts +152 -30
- package/src/{handlers/ScrollToNodeHandler.tsx → hooks/useScrollToNode.ts} +48 -45
- package/src/index.tsx +9 -0
- package/src/jest.setup.ts +14 -1
- package/src/store/treeView.store.ts +6 -1
- package/src/types/dragDrop.types.ts +12 -0
- package/src/types/treeView.types.ts +76 -43
- package/src/utils/typedMemo.ts +3 -3
- package/src/utils/useDeepCompareEffect.ts +13 -7
- package/lib/module/handlers/ScrollToNodeHandler.js.map +0 -1
- package/lib/typescript/src/handlers/ScrollToNodeHandler.d.ts.map +0 -1
package/lib/module/jest.setup.js
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import "@testing-library/
|
|
3
|
+
import "@testing-library/react-native/extend-expect";
|
|
4
|
+
import { configure } from "@testing-library/react-native";
|
|
5
|
+
|
|
6
|
+
// Skip host component auto-detection which fails in RN 0.78+ jest environment.
|
|
7
|
+
// The type definition doesn't include hostComponentNames yet, but it works at runtime.
|
|
8
|
+
configure({
|
|
9
|
+
hostComponentNames: {
|
|
10
|
+
text: "Text",
|
|
11
|
+
textInput: "TextInput",
|
|
12
|
+
switch: "RCTSwitch",
|
|
13
|
+
scrollView: "RCTScrollView",
|
|
14
|
+
modal: "Modal"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
4
17
|
//# sourceMappingURL=jest.setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["jest.setup.ts"],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"names":["configure","hostComponentNames","text","textInput","switch","scrollView","modal"],"sourceRoot":"../../src","sources":["jest.setup.ts"],"mappings":";;AAAA,OAAO,6CAA6C;AACpD,SAASA,SAAS,QAAQ,+BAA+B;;AAEzD;AACA;AACCA,SAAS,CAAS;EACfC,kBAAkB,EAAE;IAChBC,IAAI,EAAE,MAAM;IACZC,SAAS,EAAE,WAAW;IACtBC,MAAM,EAAE,WAAW;IACnBC,UAAU,EAAE,eAAe;IAC3BC,KAAK,EAAE;EACX;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","treeViewStores","Map","typedStore","getTreeViewStore","id","has","store","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","selectionPropagation","toChildren","toParents","setSelectionPropagation","draggedNodeId","updateDraggedNodeId","invalidDragTargetIds","updateInvalidDragTargetIds","dropTargetNodeId","dropPosition","dropLevel","updateDropTarget","nodeId","position","level","cleanUpTreeViewStore","get","useTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["create","treeViewStores","Map","typedStore","getTreeViewStore","id","has","store","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","selectionPropagation","toChildren","toParents","setSelectionPropagation","draggedNodeId","updateDraggedNodeId","invalidDragTargetIds","updateInvalidDragTargetIds","dropTargetNodeId","dropPosition","dropLevel","updateDropTarget","nodeId","position","level","cleanUpTreeViewStore","get","deleteTreeViewStore","delete","useTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { memo } from "react";
|
|
4
4
|
|
|
5
|
-
/** wrapper for
|
|
6
|
-
export const typedMemo =
|
|
5
|
+
/** wrapper for memo that works with generic components. */
|
|
6
|
+
export const typedMemo = memo;
|
|
7
7
|
//# sourceMappingURL=typedMemo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["memo","typedMemo"],"sourceRoot":"../../../src","sources":["utils/typedMemo.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;;AAE5B;AACA,OAAO,MAAMC,SAAyB,GAAGD,IAAI","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { useEffect, useMemo, useRef } from "react";
|
|
4
4
|
import { fastIsEqual } from "fast-is-equal";
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -12,20 +12,20 @@ import { fastIsEqual } from "fast-is-equal";
|
|
|
12
12
|
*/
|
|
13
13
|
export default function useDeepCompareEffect(effect, deps) {
|
|
14
14
|
// Ref to track if it's the first render
|
|
15
|
-
const firstRenderRef =
|
|
15
|
+
const firstRenderRef = useRef(true);
|
|
16
16
|
|
|
17
17
|
// Memoized dependencies to avoid redundant `isEqual` checks
|
|
18
|
-
const memoizedDependencies =
|
|
18
|
+
const memoizedDependencies = useMemo(() => deps, [deps]);
|
|
19
19
|
|
|
20
20
|
// Ref to store the previous dependencies
|
|
21
|
-
const dependenciesRef =
|
|
21
|
+
const dependenciesRef = useRef(memoizedDependencies);
|
|
22
22
|
|
|
23
23
|
// Check for dependency changes
|
|
24
24
|
const dependenciesChanged = !fastIsEqual(dependenciesRef.current, memoizedDependencies);
|
|
25
25
|
if (dependenciesChanged) {
|
|
26
26
|
dependenciesRef.current = memoizedDependencies;
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
useEffect(() => {
|
|
29
29
|
if (firstRenderRef.current) {
|
|
30
30
|
firstRenderRef.current = false;
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","fastIsEqual","useDeepCompareEffect","effect","deps","firstRenderRef","memoizedDependencies","dependenciesRef","dependenciesChanged","current"],"sourceRoot":"../../../src","sources":["utils/useDeepCompareEffect.ts"],"mappings":";;AAAA,SACEA,SAAS,EACTC,OAAO,EACPC,MAAM,QAGD,OAAO;AACd,SAASC,WAAW,QAAQ,eAAe;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAC1CC,MAAsB,EACtBC,IAAoB,EACpB;EACA;EACA,MAAMC,cAAc,GAAGL,MAAM,CAAU,IAAI,CAAC;;EAE5C;EACA,MAAMM,oBAAoB,GAAGP,OAAO,CAAC,MAAMK,IAAI,EAAE,CAACA,IAAI,CAAC,CAAC;;EAExD;EACA,MAAMG,eAAe,GAAGP,MAAM,CAAiBM,oBAAoB,CAAC;;EAEpE;EACA,MAAME,mBAAmB,GAAG,CAACP,WAAW,CACtCM,eAAe,CAACE,OAAO,EACvBH,oBACF,CAAC;EACD,IAAIE,mBAAmB,EAAE;IACvBD,eAAe,CAACE,OAAO,GAAGH,oBAAoB;EAChD;EAEAR,SAAS,CAAC,MAAM;IACd,IAAIO,cAAc,CAACI,OAAO,EAAE;MAC1BJ,cAAc,CAACI,OAAO,GAAG,KAAK;IAChC;IAEA,OAAON,MAAM,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACK,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC7B","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type ForwardedRef } from "react";
|
|
2
2
|
import type { TreeViewProps, TreeViewRef } from "./types/treeView.types";
|
|
3
|
-
declare function _innerTreeView<ID>(props: TreeViewProps<ID>, ref:
|
|
3
|
+
declare function _innerTreeView<ID>(props: TreeViewProps<ID>, ref: ForwardedRef<TreeViewRef<ID>>): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
export declare const TreeView: <ID>(props: TreeViewProps<ID> & {
|
|
5
|
-
ref?:
|
|
5
|
+
ref?: ForwardedRef<TreeViewRef<ID>>;
|
|
6
6
|
}) => ReturnType<typeof _innerTreeView>;
|
|
7
7
|
export {};
|
|
8
8
|
//# sourceMappingURL=TreeView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQN,KAAK,YAAY,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAEX,aAAa,EACb,WAAW,EACX,MAAM,wBAAwB,CAAC;AA4BhC,iBAAS,cAAc,CAAC,EAAE,EACzB,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,EACxB,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,2CAmPlC;AAMD,eAAO,MAAM,QAAQ,GAJ4B,EAAE,SAC3C,aAAa,CAAC,EAAE,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;CAAE,KAC/D,UAAU,CAAC,OAAO,cAAc,CAEyB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import type { BuiltInCheckBoxViewProps } from "../types/treeView.types";
|
|
3
|
-
export declare const CheckboxView:
|
|
2
|
+
export declare const CheckboxView: import("react").MemoExoticComponent<typeof _CheckboxView>;
|
|
4
3
|
declare function _CheckboxView(props: BuiltInCheckBoxViewProps): import("react/jsx-runtime").JSX.Element;
|
|
5
4
|
export declare const defaultCheckboxViewStyles: {
|
|
6
5
|
mainView: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxView.d.ts","sourceRoot":"","sources":["../../../../src/components/CheckboxView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CheckboxView.d.ts","sourceRoot":"","sources":["../../../../src/components/CheckboxView.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACR,wBAAwB,EAE3B,MAAM,yBAAyB,CAAC;AAejC,eAAO,MAAM,YAAY,2DAAqC,CAAC;AAE/D,iBAAS,aAAa,CAAC,KAAK,EAAE,wBAAwB,2CAiErD;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;CAiBpC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { type ExpandIconProps } from "../types/treeView.types";
|
|
3
|
-
export declare const CustomExpandCollapseIcon:
|
|
2
|
+
export declare const CustomExpandCollapseIcon: import("react").MemoExoticComponent<typeof _CustomExpandCollapseIcon>;
|
|
4
3
|
declare function _CustomExpandCollapseIcon(props: ExpandIconProps): import("react/jsx-runtime").JSX.Element | null;
|
|
5
4
|
export {};
|
|
6
5
|
//# sourceMappingURL=CustomExpandCollapseIcon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomExpandCollapseIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/CustomExpandCollapseIcon.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomExpandCollapseIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/CustomExpandCollapseIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAqB/D,eAAO,MAAM,wBAAwB,uEAEpC,CAAC;AAEF,iBAAS,yBAAyB,CAAC,KAAK,EAAE,eAAe,kDAoBxD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Animated } from "react-native";
|
|
2
2
|
import type { __FlattenedTreeNode__, DragDropCustomizations, TreeItemCustomizations } from "../types/treeView.types";
|
|
3
3
|
interface DragOverlayProps<ID> extends TreeItemCustomizations<ID> {
|
|
4
|
+
storeId: string;
|
|
4
5
|
overlayY: Animated.Value;
|
|
5
6
|
overlayX: Animated.Value;
|
|
6
7
|
node: __FlattenedTreeNode__<ID>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/DragOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EACR,qBAAqB,EAErB,sBAAsB,EACtB,sBAAsB,EACzB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DragOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/DragOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EACR,qBAAqB,EAErB,sBAAsB,EACtB,sBAAsB,EACzB,MAAM,yBAAyB,CAAC;AAQjC,UAAU,gBAAgB,CAAC,EAAE,CAAE,SAAQ,sBAAsB,CAAC,EAAE,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;CACvD;AAED,iBAAS,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,2CA2EpD;AAED,eAAO,MAAM,WAAW,qBAA0B,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { Animated } from "react-native";
|
|
3
2
|
import type { DropPosition } from "../types/dragDrop.types";
|
|
4
3
|
interface DropIndicatorProps {
|
|
@@ -8,6 +7,6 @@ interface DropIndicatorProps {
|
|
|
8
7
|
targetLevel: number;
|
|
9
8
|
indentationMultiplier: number;
|
|
10
9
|
}
|
|
11
|
-
export declare const DropIndicator:
|
|
10
|
+
export declare const DropIndicator: import("react").NamedExoticComponent<DropIndicatorProps>;
|
|
12
11
|
export {};
|
|
13
12
|
//# sourceMappingURL=DropIndicator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/DropIndicator.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DropIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/DropIndicator.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,kBAAkB;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,aAAa,0DAgDxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../../src/components/NodeList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGR,aAAa,EAGhB,MAAM,yBAAyB,CAAC;AAwBjC,QAAA,MAAM,QAAQ,kBAAuB,CAAC;AACtC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,2CAkP9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeView.constants.d.ts","sourceRoot":"","sources":["../../../../src/constants/treeView.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"treeView.constants.d.ts","sourceRoot":"","sources":["../../../../src/constants/treeView.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
|
|
@@ -10,11 +10,11 @@ export declare function handleToggleExpand<ID>(storeId: string, id: ID): void;
|
|
|
10
10
|
/**
|
|
11
11
|
* Expand all nodes in the tree.
|
|
12
12
|
*/
|
|
13
|
-
export declare function expandAll(storeId: string): void;
|
|
13
|
+
export declare function expandAll<ID>(storeId: string): void;
|
|
14
14
|
/**
|
|
15
15
|
* Collapse all nodes in the tree.
|
|
16
16
|
*/
|
|
17
|
-
export declare function collapseAll(storeId: string): void;
|
|
17
|
+
export declare function collapseAll<ID>(storeId: string): void;
|
|
18
18
|
/**
|
|
19
19
|
* Expand tree nodes of given ids. If the id is of a child, it also expands
|
|
20
20
|
* its ancestors up to the root.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAoC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAoC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QAM5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QAK9C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAC1B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,EAAE,EAAE,EACT,0BAA0B,GAAE,OAAe,QA0B9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QA6B3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moveTreeNode.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/moveTreeNode.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAC3B,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EACpB,aAAa,EAAE,EAAE,EACjB,YAAY,EAAE,EAAE,EAChB,QAAQ,EAAE,YAAY,GACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"moveTreeNode.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/moveTreeNode.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAC3B,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EACpB,aAAa,EAAE,EAAE,EACjB,YAAY,EAAE,EAAE,EAChB,QAAQ,EAAE,YAAY,GACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,CAkBhB"}
|
|
@@ -4,25 +4,25 @@ import { type TreeNode } from "../types/treeView.types";
|
|
|
4
4
|
*
|
|
5
5
|
* If there is no search text, then it selects all nodes; otherwise, it selects all visible nodes.
|
|
6
6
|
*/
|
|
7
|
-
export declare function selectAllFiltered(storeId: string): void;
|
|
7
|
+
export declare function selectAllFiltered<ID>(storeId: string): void;
|
|
8
8
|
/**
|
|
9
9
|
* Unselects all nodes that are currently visible due to the applied filter.
|
|
10
10
|
*
|
|
11
11
|
* If there is no search text, then it unselects all nodes; otherwise, it unselects all visible nodes.
|
|
12
12
|
*/
|
|
13
|
-
export declare function unselectAllFiltered(storeId: string): void;
|
|
13
|
+
export declare function unselectAllFiltered<ID>(storeId: string): void;
|
|
14
14
|
/**
|
|
15
15
|
* Selects all nodes in the tree.
|
|
16
16
|
*
|
|
17
17
|
* This function selects all nodes by adding all node ids to the checked set and clearing the indeterminate set.
|
|
18
18
|
*/
|
|
19
|
-
export declare function selectAll(storeId: string): void;
|
|
19
|
+
export declare function selectAll<ID>(storeId: string): void;
|
|
20
20
|
/**
|
|
21
21
|
* Unselects all nodes in the tree.
|
|
22
22
|
*
|
|
23
23
|
* This function unselects all nodes by clearing both the checked and indeterminate sets.
|
|
24
24
|
*/
|
|
25
|
-
export declare function unselectAll(storeId: string): void;
|
|
25
|
+
export declare function unselectAll<ID>(storeId: string): void;
|
|
26
26
|
/**
|
|
27
27
|
* Get the ids of the innermost children in the tree
|
|
28
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectAll.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/selectAll.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"selectAll.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/selectAll.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QAWpD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QAWtD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QAc5C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QAO9C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAC5C,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GAClC,EAAE,EAAE,CAgBN"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { CheckboxValueType } from "../types/treeView.types";
|
|
2
|
+
/** Derive the tri-state checkbox value from checked and indeterminate booleans. */
|
|
3
|
+
export declare function getCheckboxValue(isChecked: boolean, isIndeterminate: boolean): CheckboxValueType;
|
|
1
4
|
/**
|
|
2
5
|
* Function to toggle checkbox state for a tree structure.
|
|
3
6
|
* It sets the checked and indeterminate state for all affected nodes in the tree after an action to check/uncheck is made.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggleCheckbox.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/toggleCheckbox.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toggleCheckbox.helper.d.ts","sourceRoot":"","sources":["../../../../src/helpers/toggleCheckbox.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,yBAAyB,CAAC;AAG3E,mFAAmF;AACnF,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,OAAO,EAClB,eAAe,EAAE,OAAO,GACzB,iBAAiB,CAGnB;AA2CD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAC/B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,EAAE,EAAE,EACT,UAAU,CAAC,EAAE,OAAO,QA0JvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QA6D3D"}
|
|
@@ -1,25 +1,36 @@
|
|
|
1
|
+
import { MutableRefObject, RefObject } from "react";
|
|
1
2
|
import { Animated, type PanResponderInstance } from "react-native";
|
|
2
3
|
import type { FlashList } from "@shopify/flash-list";
|
|
3
4
|
import type { __FlattenedTreeNode__, TreeNode } from "../types/treeView.types";
|
|
4
|
-
import type { DragEndEvent, DropTarget } from "../types/dragDrop.types";
|
|
5
|
+
import type { DragCancelEvent, DragEndEvent, DragStartEvent, DropTarget } from "../types/dragDrop.types";
|
|
5
6
|
interface UseDragDropParams<ID> {
|
|
6
7
|
storeId: string;
|
|
7
8
|
flattenedNodes: __FlattenedTreeNode__<ID>[];
|
|
8
|
-
flashListRef:
|
|
9
|
-
containerRef:
|
|
9
|
+
flashListRef: RefObject<FlashList<__FlattenedTreeNode__<ID>> | null>;
|
|
10
|
+
containerRef: RefObject<{
|
|
10
11
|
measureInWindow: (cb: (x: number, y: number, w: number, h: number) => void) => void;
|
|
11
12
|
} | null>;
|
|
12
13
|
dragEnabled: boolean;
|
|
14
|
+
onDragStart?: (event: DragStartEvent<ID>) => void;
|
|
13
15
|
onDragEnd?: (event: DragEndEvent<ID>) => void;
|
|
16
|
+
onDragCancel?: (event: DragCancelEvent<ID>) => void;
|
|
14
17
|
longPressDuration: number;
|
|
15
18
|
autoScrollThreshold: number;
|
|
16
19
|
autoScrollSpeed: number;
|
|
17
|
-
internalDataRef:
|
|
18
|
-
measuredItemHeightRef:
|
|
20
|
+
internalDataRef: MutableRefObject<TreeNode<ID>[] | null>;
|
|
21
|
+
measuredItemHeightRef: MutableRefObject<number>;
|
|
19
22
|
dragOverlayOffset: number;
|
|
20
23
|
autoExpandDelay: number;
|
|
21
24
|
/** Pixels per nesting level, used for magnetic overlay shift. */
|
|
22
25
|
indentationMultiplier: number;
|
|
26
|
+
/** Callback to determine if a drop is allowed on a specific target. */
|
|
27
|
+
canDrop?: (draggedNode: TreeNode<ID>, targetNode: TreeNode<ID>, position: "above" | "below" | "inside") => boolean;
|
|
28
|
+
/** Maximum nesting depth allowed. */
|
|
29
|
+
maxDepth?: number;
|
|
30
|
+
/** Callback to determine if a node can accept children. */
|
|
31
|
+
canNodeHaveChildren?: (node: TreeNode<ID>) => boolean;
|
|
32
|
+
/** Callback to determine if a node can be dragged. */
|
|
33
|
+
canDrag?: (node: TreeNode<ID>) => boolean;
|
|
23
34
|
}
|
|
24
35
|
interface UseDragDropReturn<ID> {
|
|
25
36
|
panResponder: PanResponderInstance;
|
|
@@ -32,8 +43,8 @@ interface UseDragDropReturn<ID> {
|
|
|
32
43
|
handleNodeTouchStart: (nodeId: ID, pageY: number, locationY: number, nodeIndex: number) => void;
|
|
33
44
|
handleNodeTouchEnd: () => void;
|
|
34
45
|
cancelLongPressTimer: () => void;
|
|
35
|
-
scrollOffsetRef:
|
|
36
|
-
headerOffsetRef:
|
|
46
|
+
scrollOffsetRef: MutableRefObject<number>;
|
|
47
|
+
headerOffsetRef: MutableRefObject<number>;
|
|
37
48
|
}
|
|
38
49
|
export declare function useDragDrop<ID>(params: UseDragDropParams<ID>): UseDragDropReturn<ID>;
|
|
39
50
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDragDrop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDragDrop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* useScrollToNode Hook
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Provides an imperative handle to scroll to a specified node within a tree view.
|
|
5
5
|
* The scrolling action is orchestrated via a two-step "milestone" mechanism that ensures the target
|
|
6
6
|
* node is both expanded in the tree and that the rendered list reflects this expansion before the scroll
|
|
7
7
|
* is performed.
|
|
@@ -31,15 +31,8 @@
|
|
|
31
31
|
* This design ensures that the scroll action is performed only after the target node is fully present
|
|
32
32
|
* in the UI, thus preventing issues with attempting to scroll to an element that does not exist yet.
|
|
33
33
|
*/
|
|
34
|
-
import
|
|
34
|
+
import { type Dispatch, type MutableRefObject, type RefObject, type SetStateAction } from "react";
|
|
35
35
|
import { type __FlattenedTreeNode__ } from "../types/treeView.types";
|
|
36
|
-
interface Props<ID> {
|
|
37
|
-
storeId: string;
|
|
38
|
-
flashListRef: React.MutableRefObject<any>;
|
|
39
|
-
flattenedFilteredNodes: __FlattenedTreeNode__<ID>[];
|
|
40
|
-
setInitialScrollIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
41
|
-
initialScrollNodeID: ID | undefined;
|
|
42
|
-
}
|
|
43
36
|
export interface ScrollToNodeParams<ID> {
|
|
44
37
|
nodeId: ID;
|
|
45
38
|
expandScrolledNode?: boolean;
|
|
@@ -50,9 +43,14 @@ export interface ScrollToNodeParams<ID> {
|
|
|
50
43
|
export interface ScrollToNodeHandlerRef<ID> {
|
|
51
44
|
scrollToNodeID: (params: ScrollToNodeParams<ID>) => void;
|
|
52
45
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
46
|
+
interface UseScrollToNodeParams<ID> {
|
|
47
|
+
storeId: string;
|
|
48
|
+
scrollToNodeHandlerRef: RefObject<ScrollToNodeHandlerRef<ID>>;
|
|
49
|
+
flashListRef: MutableRefObject<any>;
|
|
50
|
+
flattenedFilteredNodes: __FlattenedTreeNode__<ID>[];
|
|
51
|
+
setInitialScrollIndex: Dispatch<SetStateAction<number>>;
|
|
52
|
+
initialScrollNodeID: ID | undefined;
|
|
53
|
+
}
|
|
54
|
+
export declare function useScrollToNode<ID>(params: UseScrollToNodeParams<ID>): void;
|
|
57
55
|
export {};
|
|
58
|
-
//# sourceMappingURL=
|
|
56
|
+
//# sourceMappingURL=useScrollToNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollToNode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useScrollToNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGrE,MAAM,WAAW,kBAAkB,CAAC,EAAE;IACpC,MAAM,EAAE,EAAE,CAAC;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB,CAAC,EAAE;IACxC,cAAc,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;CAC1D;AAQD,UAAU,qBAAqB,CAAC,EAAE;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,sBAAsB,EAAE,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IACpD,qBAAqB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,mBAAmB,EAAE,EAAE,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,CAAC,QAiJpE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { TreeNode, NodeRowProps, TreeViewProps, TreeViewRef, TreeFlatListProps, ExpandIconProps, CheckBoxViewProps, CheckboxValueType, BuiltInCheckBoxViewStyleProps, SelectionPropagation, DragDropCustomizations, DragOverlayStyleProps, DragOverlayComponentProps, DropIndicatorStyleProps, DropIndicatorComponentProps } from "./types/treeView.types";
|
|
2
|
-
import type { DragEndEvent, DropPosition } from "./types/dragDrop.types";
|
|
1
|
+
import type { TreeNode, NodeRowProps, TreeViewProps, TreeViewRef, TreeFlatListProps, ExpandIconProps, CheckBoxViewProps, CheckboxValueType, BuiltInCheckBoxViewStyleProps, SelectionPropagation, DragAndDropOptions, DragDropCustomizations, DragOverlayStyleProps, DragOverlayComponentProps, DropIndicatorStyleProps, DropIndicatorComponentProps, DragHandleProps } from "./types/treeView.types";
|
|
2
|
+
import type { DragCancelEvent, DragEndEvent, DragStartEvent, DropPosition } from "./types/dragDrop.types";
|
|
3
3
|
export * from "./TreeView";
|
|
4
4
|
export * from "./components/CheckboxView";
|
|
5
5
|
export { moveTreeNode } from "./helpers/moveTreeNode.helper";
|
|
6
|
-
export
|
|
6
|
+
export { deleteTreeViewStore } from "./store/treeView.store";
|
|
7
|
+
export type { TreeNode, NodeRowProps, TreeViewProps, TreeViewRef, TreeFlatListProps, ExpandIconProps, CheckBoxViewProps, CheckboxValueType, BuiltInCheckBoxViewStyleProps, SelectionPropagation, DragAndDropOptions, DragCancelEvent, DragEndEvent, DragStartEvent, DropPosition, DragDropCustomizations, DragOverlayStyleProps, DragOverlayComponentProps, DropIndicatorStyleProps, DropIndicatorComponentProps, DragHandleProps, };
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACR,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACf,MAAM,wBAAwB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,YAAY,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,GAClB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "@testing-library/
|
|
1
|
+
import "@testing-library/react-native/extend-expect";
|
|
2
2
|
//# sourceMappingURL=jest.setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../src/jest.setup.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../src/jest.setup.ts"],"names":[],"mappings":"AAAA,OAAO,6CAA6C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { type StoreApi, type UseBoundStore } from "zustand";
|
|
1
2
|
import type { SelectionPropagation, TreeNode } from "../types/treeView.types";
|
|
2
3
|
import type { DropPosition } from "../types/dragDrop.types";
|
|
3
|
-
import { type StoreApi, type UseBoundStore } from "zustand";
|
|
4
4
|
export type TreeViewState<ID> = {
|
|
5
5
|
checked: Set<ID>;
|
|
6
6
|
updateChecked: (checked: Set<ID>) => void;
|
|
@@ -33,5 +33,6 @@ export type TreeViewState<ID> = {
|
|
|
33
33
|
cleanUpTreeViewStore: () => void;
|
|
34
34
|
};
|
|
35
35
|
export declare function getTreeViewStore<ID>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
|
|
36
|
+
export declare function deleteTreeViewStore(id: string): void;
|
|
36
37
|
export declare function useTreeViewStore<ID = string>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
|
|
37
38
|
//# sourceMappingURL=treeView.store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeView.store.d.ts","sourceRoot":"","sources":["../../../../src/store/treeView.store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"treeView.store.d.ts","sourceRoot":"","sources":["../../../../src/store/treeView.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import type { TreeNode } from "./treeView.types";
|
|
2
2
|
/** Where a node is dropped relative to the target: as a sibling above/below, or as a child inside */
|
|
3
3
|
export type DropPosition = "above" | "below" | "inside";
|
|
4
|
+
/** Event payload passed to the onDragStart callback when a drag begins */
|
|
5
|
+
export interface DragStartEvent<ID = string> {
|
|
6
|
+
/** The id of the node being dragged */
|
|
7
|
+
draggedNodeId: ID;
|
|
8
|
+
}
|
|
9
|
+
/** Event payload passed to the onDragCancel callback when a drag is cancelled without a drop */
|
|
10
|
+
export interface DragCancelEvent<ID = string> {
|
|
11
|
+
/** The id of the node that was being dragged */
|
|
12
|
+
draggedNodeId: ID;
|
|
13
|
+
}
|
|
4
14
|
/** Event payload passed to the onDragEnd callback after a successful drop */
|
|
5
15
|
export interface DragEndEvent<ID = string> {
|
|
6
16
|
/** The id of the node that was dragged */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dragDrop.types.d.ts","sourceRoot":"","sources":["../../../../src/types/dragDrop.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qGAAqG;AACrG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,6EAA6E;AAC7E,MAAM,WAAW,YAAY,CAAC,EAAE,GAAG,MAAM;IACrC,0CAA0C;IAC1C,aAAa,EAAE,EAAE,CAAC;IAClB,mEAAmE;IACnE,YAAY,EAAE,EAAE,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,EAAE,YAAY,CAAC;IACvB,6CAA6C;IAC7C,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU,CAAC,EAAE,GAAG,MAAM;IACnC,4CAA4C;IAC5C,YAAY,EAAE,EAAE,CAAC;IACjB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,EAAE,YAAY,CAAC;IACvB,sGAAsG;IACtG,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"dragDrop.types.d.ts","sourceRoot":"","sources":["../../../../src/types/dragDrop.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qGAAqG;AACrG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,0EAA0E;AAC1E,MAAM,WAAW,cAAc,CAAC,EAAE,GAAG,MAAM;IACvC,uCAAuC;IACvC,aAAa,EAAE,EAAE,CAAC;CACrB;AAED,gGAAgG;AAChG,MAAM,WAAW,eAAe,CAAC,EAAE,GAAG,MAAM;IACxC,gDAAgD;IAChD,aAAa,EAAE,EAAE,CAAC;CACrB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY,CAAC,EAAE,GAAG,MAAM;IACrC,0CAA0C;IAC1C,aAAa,EAAE,EAAE,CAAC;IAClB,mEAAmE;IACnE,YAAY,EAAE,EAAE,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,EAAE,YAAY,CAAC;IACvB,6CAA6C;IAC7C,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU,CAAC,EAAE,GAAG,MAAM;IACnC,4CAA4C;IAC5C,YAAY,EAAE,EAAE,CAAC;IACjB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,EAAE,YAAY,CAAC;IACvB,sGAAsG;IACtG,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;CACxB"}
|