@elliemae/ds-tree-model 3.32.0-rc.4 → 3.32.0-rc.6

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.
Files changed (39) hide show
  1. package/dist/cjs/adapters/arraish-tree/react-desc-prop-types.js +74 -0
  2. package/dist/cjs/adapters/arraish-tree/react-desc-prop-types.js.map +7 -0
  3. package/dist/cjs/adapters/arraish-tree/useArraishAsDSTree.js +7 -0
  4. package/dist/cjs/adapters/arraish-tree/useArraishAsDSTree.js.map +2 -2
  5. package/dist/cjs/adapters/treeview/useTreeviewAsDSTree.js.map +2 -2
  6. package/dist/cjs/index.js +2 -0
  7. package/dist/cjs/index.js.map +2 -2
  8. package/dist/cjs/react-desc-prop-types.js +71 -0
  9. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  10. package/dist/cjs/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js +144 -0
  11. package/dist/cjs/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js.map +7 -0
  12. package/dist/cjs/typescript-testing/typescript-use-ds-tree-valid.js +129 -0
  13. package/dist/cjs/typescript-testing/typescript-use-ds-tree-valid.js.map +7 -0
  14. package/dist/cjs/useDSTree.js +7 -0
  15. package/dist/cjs/useDSTree.js.map +2 -2
  16. package/dist/esm/adapters/arraish-tree/react-desc-prop-types.js +44 -0
  17. package/dist/esm/adapters/arraish-tree/react-desc-prop-types.js.map +7 -0
  18. package/dist/esm/adapters/arraish-tree/useArraishAsDSTree.js +10 -0
  19. package/dist/esm/adapters/arraish-tree/useArraishAsDSTree.js.map +2 -2
  20. package/dist/esm/adapters/treeview/useTreeviewAsDSTree.js.map +2 -2
  21. package/dist/esm/index.js +4 -2
  22. package/dist/esm/index.js.map +2 -2
  23. package/dist/esm/react-desc-prop-types.js +41 -0
  24. package/dist/esm/react-desc-prop-types.js.map +7 -0
  25. package/dist/esm/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js +121 -0
  26. package/dist/esm/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js.map +7 -0
  27. package/dist/esm/typescript-testing/typescript-use-ds-tree-valid.js +106 -0
  28. package/dist/esm/typescript-testing/typescript-use-ds-tree-valid.js.map +7 -0
  29. package/dist/esm/useDSTree.js +7 -0
  30. package/dist/esm/useDSTree.js.map +2 -2
  31. package/dist/types/adapters/arraish-tree/react-desc-prop-types.d.ts +54 -0
  32. package/dist/types/adapters/arraish-tree/useArraishAsDSTree.d.ts +4 -21
  33. package/dist/types/adapters/treeview/useTreeviewAsDSTree.d.ts +2 -18
  34. package/dist/types/index.d.ts +4 -2
  35. package/dist/types/react-desc-prop-types.d.ts +48 -0
  36. package/dist/types/typescript-testing/typescript-use-arraish-as-ds-tree-valid.d.ts +1 -0
  37. package/dist/types/typescript-testing/typescript-use-ds-tree-valid.d.ts +1 -0
  38. package/dist/types/useDSTree.d.ts +4 -18
  39. package/package.json +5 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/useDSTree.ts"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useMemo, useState } from 'react';\nimport { DSTree } from './DSTree.js';\nimport type { AddOptions, Item, MoveOptions, MutateOptions, RemoveOptions } from './types.js';\n\nexport const useDSTree = <T extends Item>(rootItem: T, opts: { getUniqueId: (item: T) => string | number }) => {\n const tree = useMemo(() => new DSTree(rootItem, opts), [opts, rootItem]);\n const [hash, setHash] = useState(tree.hash);\n\n const addNode = useCallback(\n (item: T, options?: AddOptions<T>) => {\n const cb: AddOptions<T>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.addNode(item, { ...options, callback: cb });\n },\n [tree],\n );\n\n const removeNode = useCallback(\n (id: string, options?: RemoveOptions<T>) => {\n const cb: RemoveOptions<T>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.removeNode(id, { ...options, callback: cb });\n },\n [tree],\n );\n\n const moveNode = useCallback(\n (id: string, options?: MoveOptions<T>) => {\n const cb: MoveOptions<T>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.moveNode(id, { ...options, callback: cb });\n },\n [tree],\n );\n\n const replaceNode = useCallback(\n (id: string, item: T, options?: MutateOptions<T>) => {\n const cb: MutateOptions<T>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.replaceNode(id, item, { ...options, callback: cb });\n },\n [tree],\n );\n\n return {\n hash,\n getRoot: tree.getRoot,\n getNode: tree.getNode,\n walk: tree.walk,\n walkParents: tree.walkParents,\n findNode: tree.findNode,\n findAllNodes: tree.findAllNodes,\n flatten: tree.flatten,\n addNode,\n removeNode,\n moveNode,\n replaceNode,\n getPath: tree.getPath,\n getPathIds: tree.getPathIds,\n };\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,aAAa,SAAS,gBAAgB;AAC/C,SAAS,cAAc;AAGhB,MAAM,YAAY,CAAiB,UAAa,SAAwD;AAC7G,QAAM,OAAO,QAAQ,MAAM,IAAI,OAAO,UAAU,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC;AACvE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK,IAAI;AAE1C,QAAM,UAAU;AAAA,IACd,CAAC,MAAS,YAA4B;AACpC,YAAM,KAAgC,CAAC,MAAM,WAAW;AACtD,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,QAAQ,MAAM,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACxD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,aAAa;AAAA,IACjB,CAAC,IAAY,YAA+B;AAC1C,YAAM,KAAmC,CAAC,MAAM,WAAW;AACzD,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,WAAW,IAAI,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACzD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,WAAW;AAAA,IACf,CAAC,IAAY,YAA6B;AACxC,YAAM,KAAiC,CAAC,MAAM,WAAW;AACvD,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,SAAS,IAAI,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACvD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,cAAc;AAAA,IAClB,CAAC,IAAY,MAAS,YAA+B;AACnD,YAAM,KAAmC,CAAC,MAAM,WAAW;AACzD,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,YAAY,IAAI,MAAM,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IAChE;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,SAAO;AAAA,IACL;AAAA,IACA,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,IACd,MAAM,KAAK;AAAA,IACX,aAAa,KAAK;AAAA,IAClB,UAAU,KAAK;AAAA,IACf,cAAc,KAAK;AAAA,IACnB,SAAS,KAAK;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,KAAK;AAAA,IACd,YAAY,KAAK;AAAA,EACnB;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useMemo, useState } from 'react';\nimport { DSTree } from './DSTree.js';\nimport type { AddOptions, MoveOptions, MutateOptions, RemoveOptions } from './types.js';\nimport { UseDSTreePropTypes, UseDSTreeReturnType, type UseDSTreeT } from './react-desc-prop-types.js';\nimport { describe } from '@elliemae/ds-props-helpers';\n\nexport const useDSTree: ((\n rootItem: UseDSTreeT.FirstParameter,\n opts: UseDSTreeT.SecondParameter,\n) => UseDSTreeT.OutputT) & { displayName: string } = (rootItem, opts) => {\n const tree = useMemo(() => new DSTree(rootItem, opts), [opts, rootItem]);\n const [hash, setHash] = useState(tree.hash);\n\n const addNode = useCallback(\n (item: UseDSTreeT.FirstParameter, options?: AddOptions<UseDSTreeT.FirstParameter>) => {\n const cb: AddOptions<UseDSTreeT.FirstParameter>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.addNode(item, { ...options, callback: cb });\n },\n [tree],\n );\n\n const removeNode = useCallback(\n (id: string, options?: RemoveOptions<UseDSTreeT.FirstParameter>) => {\n const cb: RemoveOptions<UseDSTreeT.FirstParameter>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.removeNode(id, { ...options, callback: cb });\n },\n [tree],\n );\n\n const moveNode = useCallback(\n (id: string, options?: MoveOptions<UseDSTreeT.FirstParameter>) => {\n const cb: MoveOptions<UseDSTreeT.FirstParameter>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.moveNode(id, { ...options, callback: cb });\n },\n [tree],\n );\n\n const replaceNode = useCallback(\n (id: string, item: UseDSTreeT.FirstParameter, options?: MutateOptions<UseDSTreeT.FirstParameter>) => {\n const cb: MutateOptions<UseDSTreeT.FirstParameter>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.replaceNode(id, item, { ...options, callback: cb });\n },\n [tree],\n );\n\n return {\n hash,\n getRoot: tree.getRoot,\n getNode: tree.getNode,\n walk: tree.walk,\n walkParents: tree.walkParents,\n findNode: tree.findNode,\n findAllNodes: tree.findAllNodes,\n flatten: tree.flatten,\n addNode,\n removeNode,\n moveNode,\n replaceNode,\n getPath: tree.getPath,\n getPathIds: tree.getPathIds,\n };\n};\n\nuseDSTree.displayName = 'useDSTree';\nexport const UseDSTreeWithSchema = describe(useDSTree);\nUseDSTreeWithSchema.propTypes = UseDSTreePropTypes;\nUseDSTreeWithSchema.returnType = UseDSTreeReturnType;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,aAAa,SAAS,gBAAgB;AAC/C,SAAS,cAAc;AAEvB,SAAS,oBAAoB,2BAA4C;AACzE,SAAS,gBAAgB;AAElB,MAAM,YAGwC,CAAC,UAAU,SAAS;AACvE,QAAM,OAAO,QAAQ,MAAM,IAAI,OAAO,UAAU,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC;AACvE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK,IAAI;AAE1C,QAAM,UAAU;AAAA,IACd,CAAC,MAAiC,YAAoD;AACpF,YAAM,KAAwD,CAAC,MAAM,WAAW;AAC9E,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,QAAQ,MAAM,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACxD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,aAAa;AAAA,IACjB,CAAC,IAAY,YAAuD;AAClE,YAAM,KAA2D,CAAC,MAAM,WAAW;AACjF,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,WAAW,IAAI,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACzD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,WAAW;AAAA,IACf,CAAC,IAAY,YAAqD;AAChE,YAAM,KAAyD,CAAC,MAAM,WAAW;AAC/E,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,SAAS,IAAI,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACvD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,cAAc;AAAA,IAClB,CAAC,IAAY,MAAiC,YAAuD;AACnG,YAAM,KAA2D,CAAC,MAAM,WAAW;AACjF,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,YAAY,IAAI,MAAM,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IAChE;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,SAAO;AAAA,IACL;AAAA,IACA,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,IACd,MAAM,KAAK;AAAA,IACX,aAAa,KAAK;AAAA,IAClB,UAAU,KAAK;AAAA,IACf,cAAc,KAAK;AAAA,IACnB,SAAS,KAAK;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,KAAK;AAAA,IACd,YAAY,KAAK;AAAA,EACnB;AACF;AAEA,UAAU,cAAc;AACjB,MAAM,sBAAsB,SAAS,SAAS;AACrD,oBAAoB,YAAY;AAChC,oBAAoB,aAAa;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,54 @@
1
+ import type { AddOptions, MoveOptions, MutateOptions, OverloadedItem, RemoveOptions } from '../../types.js';
2
+ import type { Node } from '../../Node.js';
3
+ import type { DSTree } from '../../DSTree.js';
4
+ import type { WeakValidationMap } from 'react';
5
+ export declare namespace UseArraishAsDSTreeT {
6
+ interface FirstParameterRequired {
7
+ }
8
+ interface FirstParameterDefault {
9
+ id: string | number;
10
+ idPart1: string | number;
11
+ idPart2: string | number;
12
+ name: string;
13
+ [children_key: `children${string}`]: FirstParameter[];
14
+ }
15
+ interface FirstParameterOptional {
16
+ isGroup?: boolean;
17
+ }
18
+ interface FirstParameter extends Partial<FirstParameterDefault>, FirstParameterOptional, FirstParameterRequired {
19
+ }
20
+ interface FirstParameterInternals extends FirstParameterDefault, FirstParameterOptional, FirstParameterRequired {
21
+ }
22
+ interface SecondParameterRequired {
23
+ getUniqueId: (node: FirstParameter) => string;
24
+ getChildrenKey: (node: FirstParameter) => keyof FirstParameter;
25
+ }
26
+ interface SecondParameterDefault {
27
+ }
28
+ interface SecondParameterOptional {
29
+ }
30
+ interface SecondParameter extends Partial<SecondParameterDefault>, SecondParameterOptional, SecondParameterRequired {
31
+ }
32
+ interface SecondParameterInternals extends SecondParameterDefault, SecondParameterOptional, SecondParameterRequired {
33
+ }
34
+ interface OutputT {
35
+ hash: number;
36
+ tree: DSTree<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;
37
+ getRoot: () => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;
38
+ getNode: (id: string | number) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;
39
+ walk: (callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean) => void;
40
+ walkParents: (callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean) => void;
41
+ findNode: (callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>> | null;
42
+ findAllNodes: (callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>[];
43
+ flatten: () => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>[];
44
+ addNode: (item: OverloadedItem<UseArraishAsDSTreeT.FirstParameter>, options?: AddOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;
45
+ removeNode: (id: string, options?: RemoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;
46
+ moveNode: (id: string, options?: MoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;
47
+ replaceNode: (id: string, item: OverloadedItem<UseArraishAsDSTreeT.FirstParameter>, options?: MutateOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;
48
+ getPath: (id: string | number) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>[];
49
+ getPathIds: (id: string | number) => (string | number)[];
50
+ getRestoredTree: () => UseArraishAsDSTreeT.FirstParameter[];
51
+ }
52
+ }
53
+ export declare const UseArraishAsDSTreePropTypes: (import("react").Validator<UseArraishAsDSTreeT.FirstParameter> | undefined)[];
54
+ export declare const UseArraishAsDSTreeReturnType: WeakValidationMap<unknown>;
@@ -1,22 +1,5 @@
1
- import type { AddOptions, MoveOptions, MutateOptions, RemoveOptions, OverloadedItem } from '../../types.js';
2
- export declare const useArraishAsDSTree: <T extends object = object>(treeData: T[], opts: {
3
- getChildrenKey: (node: T) => keyof T;
4
- getUniqueId: (node: T) => string;
5
- }) => {
6
- hash: number;
7
- tree: import("../../DSTree.js").DSTree<OverloadedItem<T>>;
8
- getRoot: () => import("../../Node.js").Node<OverloadedItem<T>>;
9
- getNode: (id: string | number) => import("../../Node.js").Node<OverloadedItem<T>>;
10
- walk: (callback: (node: import("../../Node.js").Node<OverloadedItem<T>>) => boolean) => void;
11
- walkParents: (callback: (node: import("../../Node.js").Node<OverloadedItem<T>>) => boolean) => void;
12
- findNode: (callback: (node: import("../../Node.js").Node<OverloadedItem<T>>) => boolean) => import("../../Node.js").Node<OverloadedItem<T>> | null;
13
- findAllNodes: (callback: (node: import("../../Node.js").Node<OverloadedItem<T>>) => boolean) => import("../../Node.js").Node<OverloadedItem<T>>[];
14
- flatten: () => import("../../Node.js").Node<OverloadedItem<T>>[];
15
- addNode: (item: OverloadedItem<T>, options?: AddOptions<OverloadedItem<T>> | undefined) => import("../../Node.js").Node<OverloadedItem<T>>;
16
- removeNode: (id: string, options?: RemoveOptions<OverloadedItem<T>> | undefined) => import("../../Node.js").Node<OverloadedItem<T>>;
17
- moveNode: (id: string, options?: MoveOptions<OverloadedItem<T>> | undefined) => import("../../Node.js").Node<OverloadedItem<T>>;
18
- replaceNode: (id: string, item: OverloadedItem<T>, options?: MutateOptions<OverloadedItem<T>> | undefined) => import("../../Node.js").Node<OverloadedItem<T>>;
19
- getPath: (id: string | number) => import("../../Node.js").Node<OverloadedItem<T>>[];
20
- getPathIds: (id: string | number) => (string | number)[];
21
- getRestoredTree: () => T[];
1
+ import { type UseArraishAsDSTreeT } from './react-desc-prop-types.js';
2
+ export declare const useArraishAsDSTree: ((treeData: UseArraishAsDSTreeT.FirstParameter[], opts: UseArraishAsDSTreeT.SecondParameter) => UseArraishAsDSTreeT.OutputT) & {
3
+ displayName: string;
22
4
  };
5
+ export declare const UseArraishAsDSTreeWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<UseArraishAsDSTreeT.FirstParameter[]>;
@@ -1,23 +1,7 @@
1
+ import type { UseArraishAsDSTreeT } from '../arraish-tree/react-desc-prop-types.js';
1
2
  type TreeviewItem<T extends object = object> = T & {
2
3
  id: string | number;
3
4
  children?: TreeviewItem[];
4
5
  };
5
- export declare const useTreeviewAsDSTree: <T extends TreeviewItem<object> = TreeviewItem<object>>(treeData: T[]) => {
6
- hash: number;
7
- tree: import("../../DSTree.js").DSTree<import("../../types.js").OverloadedItem<T>>;
8
- getRoot: () => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>;
9
- getNode: (id: string | number) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>;
10
- walk: (callback: (node: import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>) => boolean) => void;
11
- walkParents: (callback: (node: import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>) => boolean) => void;
12
- findNode: (callback: (node: import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>) => boolean) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>> | null;
13
- findAllNodes: (callback: (node: import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>) => boolean) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>[];
14
- flatten: () => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>[];
15
- addNode: (item: import("../../types.js").OverloadedItem<T>, options?: import("../../types.js").AddOptions<import("../../types.js").OverloadedItem<T>> | undefined) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>;
16
- removeNode: (id: string, options?: import("../../types.js").RemoveOptions<import("../../types.js").OverloadedItem<T>> | undefined) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>;
17
- moveNode: (id: string, options?: import("../../types.js").MoveOptions<import("../../types.js").OverloadedItem<T>> | undefined) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>;
18
- replaceNode: (id: string, item: import("../../types.js").OverloadedItem<T>, options?: import("../../types.js").MutateOptions<import("../../types.js").OverloadedItem<T>> | undefined) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>;
19
- getPath: (id: string | number) => import("../../Node.js").Node<import("../../types.js").OverloadedItem<T>>[];
20
- getPathIds: (id: string | number) => (string | number)[];
21
- getRestoredTree: () => T[];
22
- };
6
+ export declare const useTreeviewAsDSTree: <T extends TreeviewItem<UseArraishAsDSTreeT.FirstParameter> = TreeviewItem<UseArraishAsDSTreeT.FirstParameter>>(treeData: T[]) => UseArraishAsDSTreeT.OutputT;
23
7
  export {};
@@ -1,8 +1,10 @@
1
1
  export type { Item } from './types.js';
2
2
  export type { Node } from './Node.js';
3
3
  export { DSTree } from './DSTree.js';
4
- export { useDSTree } from './useDSTree.js';
4
+ export { useDSTree, UseDSTreeWithSchema } from './useDSTree.js';
5
+ export type { UseDSTreeT } from './react-desc-prop-types.js';
5
6
  export { fromTreeishArrayToDSTree } from './adapters/arraish-tree/fromTreeishArrayToDSTree.js';
6
7
  export { fromDSTreeToTreeishArray } from './adapters/arraish-tree/fromDSTreeToTreeishArray.js';
7
- export { useArraishAsDSTree } from './adapters/arraish-tree/useArraishAsDSTree.js';
8
+ export { useArraishAsDSTree, UseArraishAsDSTreeWithSchema } from './adapters/arraish-tree/useArraishAsDSTree.js';
9
+ export type { UseArraishAsDSTreeT } from './adapters/arraish-tree/react-desc-prop-types.js';
8
10
  export { useTreeviewAsDSTree } from './adapters/treeview/useTreeviewAsDSTree.js';
@@ -0,0 +1,48 @@
1
+ import type { AddOptions, MoveOptions, MutateOptions, RemoveOptions } from './types.js';
2
+ import type { Node } from './Node.js';
3
+ import type { WeakValidationMap } from 'react';
4
+ export declare namespace UseDSTreeT {
5
+ interface FirstParameterRequired {
6
+ dsId: string | number;
7
+ }
8
+ interface FirstParameterDefault {
9
+ label: string;
10
+ [key: string]: unknown;
11
+ }
12
+ interface FirstParameterOptional {
13
+ subitems?: FirstParameter[];
14
+ }
15
+ interface FirstParameter extends Partial<FirstParameterDefault>, FirstParameterOptional, FirstParameterRequired {
16
+ }
17
+ interface FirstParameterInternals extends FirstParameterDefault, FirstParameterOptional, FirstParameterRequired {
18
+ }
19
+ interface SecondParameterRequired {
20
+ getUniqueId: (item: FirstParameter) => string | number;
21
+ }
22
+ interface SecondParameterDefault {
23
+ }
24
+ interface SecondParameterOptional {
25
+ }
26
+ interface SecondParameter extends Partial<SecondParameterDefault>, SecondParameterOptional, SecondParameterRequired {
27
+ }
28
+ interface SecondParameterInternals extends SecondParameterDefault, SecondParameterOptional, SecondParameterRequired {
29
+ }
30
+ interface OutputT {
31
+ hash: number;
32
+ getRoot: () => Node<FirstParameter>;
33
+ getNode: (id: string | number) => Node<FirstParameter>;
34
+ walk: (callback: (node: Node<FirstParameter>) => boolean) => void;
35
+ walkParents: (callback: (node: Node<FirstParameter>) => boolean) => void;
36
+ findNode: (callback: (node: Node<FirstParameter>) => boolean) => Node<FirstParameter> | null;
37
+ findAllNodes: (callback: (node: Node<FirstParameter>) => boolean) => Node<FirstParameter>[];
38
+ flatten: () => Node<FirstParameter>[];
39
+ addNode: (item: FirstParameter, options?: AddOptions<FirstParameter> | undefined) => Node<FirstParameter>;
40
+ removeNode: (id: string, options?: RemoveOptions<FirstParameter> | undefined) => Node<FirstParameter>;
41
+ moveNode: (id: string, options?: MoveOptions<FirstParameter> | undefined) => Node<FirstParameter>;
42
+ replaceNode: (id: string, item: FirstParameter, options?: MutateOptions<FirstParameter> | undefined) => Node<FirstParameter>;
43
+ getPath: (id: string | number) => Node<FirstParameter>[];
44
+ getPathIds: (id: string | number) => (string | number)[];
45
+ }
46
+ }
47
+ export declare const UseDSTreePropTypes: WeakValidationMap<unknown>;
48
+ export declare const UseDSTreeReturnType: WeakValidationMap<unknown>;
@@ -1,19 +1,5 @@
1
- import type { AddOptions, Item, MoveOptions, MutateOptions, RemoveOptions } from './types.js';
2
- export declare const useDSTree: <T extends Item>(rootItem: T, opts: {
3
- getUniqueId: (item: T) => string | number;
4
- }) => {
5
- hash: number;
6
- getRoot: () => import("./Node.js").Node<T>;
7
- getNode: (id: string | number) => import("./Node.js").Node<T>;
8
- walk: (callback: (node: import("./Node.js").Node<T>) => boolean) => void;
9
- walkParents: (callback: (node: import("./Node.js").Node<T>) => boolean) => void;
10
- findNode: (callback: (node: import("./Node.js").Node<T>) => boolean) => import("./Node.js").Node<T> | null;
11
- findAllNodes: (callback: (node: import("./Node.js").Node<T>) => boolean) => import("./Node.js").Node<T>[];
12
- flatten: () => import("./Node.js").Node<T>[];
13
- addNode: (item: T, options?: AddOptions<T> | undefined) => import("./Node.js").Node<T>;
14
- removeNode: (id: string, options?: RemoveOptions<T> | undefined) => import("./Node.js").Node<T>;
15
- moveNode: (id: string, options?: MoveOptions<T> | undefined) => import("./Node.js").Node<T>;
16
- replaceNode: (id: string, item: T, options?: MutateOptions<T> | undefined) => import("./Node.js").Node<T>;
17
- getPath: (id: string | number) => import("./Node.js").Node<T>[];
18
- getPathIds: (id: string | number) => (string | number)[];
1
+ import { type UseDSTreeT } from './react-desc-prop-types.js';
2
+ export declare const useDSTree: ((rootItem: UseDSTreeT.FirstParameter, opts: UseDSTreeT.SecondParameter) => UseDSTreeT.OutputT) & {
3
+ displayName: string;
19
4
  };
5
+ export declare const UseDSTreeWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<UseDSTreeT.FirstParameter>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-tree-model",
3
- "version": "3.32.0-rc.4",
3
+ "version": "3.32.0-rc.6",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Tree Model",
6
6
  "files": [
@@ -38,9 +38,12 @@
38
38
  "access": "public",
39
39
  "typeSafety": false
40
40
  },
41
+ "dependencies": {
42
+ "@elliemae/ds-props-helpers": "3.32.0-rc.6"
43
+ },
41
44
  "devDependencies": {
42
45
  "@elliemae/pui-cli": "~9.0.0-next.31",
43
- "@elliemae/ds-monorepo-devops": "3.32.0-rc.4"
46
+ "@elliemae/ds-monorepo-devops": "3.32.0-rc.6"
44
47
  },
45
48
  "peerDependencies": {
46
49
  "lodash": "^4.17.21",