treege 0.20.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +4 -2
  2. package/README.md +0 -1
  3. package/dist/main.js +2284 -2296
  4. package/dist/main.umd.cjs +36 -36
  5. package/dist/src/components/DataDisplay/Tree/Tree.d.ts +2 -2
  6. package/dist/src/components/DataDisplay/ViewerJSON/ViewerJSON.d.ts +1 -1
  7. package/dist/src/features/Treege/components/Forms/FormTreeCardMutation/useFormTreeCardMutation.d.ts +1 -1
  8. package/dist/src/features/Treege/components/{DynamicSelectFieldFromTree → Inputs/DynamicSelectFieldFromTree}/DynamicSelectFieldFromTree.d.ts +2 -2
  9. package/dist/src/features/Treege/components/{FieldSelect → Inputs/FieldSelect}/FieldSelect.d.ts +1 -1
  10. package/dist/src/features/Treege/components/TreeGrid/useTreeGrid.d.ts +1 -1
  11. package/dist/src/features/Treege/reducer/treeReducer.d.ts +6 -6
  12. package/dist/src/features/Treege/type/TreeNode.d.ts +9 -6
  13. package/dist/src/locales/en/translation-en.d.ts +1 -0
  14. package/dist/src/locales/fr/translation-fr.d.ts +1 -0
  15. package/dist/src/utils/tree/appendNode/appendNode.d.ts +8 -6
  16. package/dist/src/utils/tree/appendNode/test/mock.d.ts +1 -1
  17. package/dist/src/utils/tree/findNodeByUUIDInTree/findNodeByUUIDInTree.d.ts +9 -0
  18. package/dist/src/utils/tree/findParentNodeByUUIDInTree/findParentNodeByUUIDInTree.d.ts +10 -0
  19. package/dist/src/utils/tree/{getNamesInTree/getNamesInTree.d.ts → getNamesFromTree/getNamesFromTree.d.ts} +2 -2
  20. package/dist/src/utils/tree/getNode/getNode.d.ts +2 -2
  21. package/dist/src/utils/tree/index.d.ts +4 -4
  22. package/dist/src/utils/tree/removeNode/removeNode.d.ts +3 -3
  23. package/dist/src/utils/tree/removeNode/test/mock.d.ts +1 -1
  24. package/dist/src/utils/tree/updateNodeInTree/test/mock.d.ts +1 -1
  25. package/dist/src/utils/tree/updateNodeInTree/updateNodeInTree.d.ts +5 -5
  26. package/package.json +2 -3
  27. package/dist/src/utils/tree/findNodeByNameInTree/findNodeByNameInTree.d.ts +0 -9
  28. package/dist/src/utils/tree/findParentNodeByNameInTree/findParentNodeByNameInTree.d.ts +0 -10
  29. package/dist/src/utils/tree/getNamesInTree/test/getNamesInTree.d.ts +0 -1
  30. /package/dist/src/features/Treege/components/{DynamicSelectWarning → Feedback/DynamicSelectWarning}/DynamicSelectWarning.d.ts +0 -0
  31. /package/dist/src/features/Treege/components/{DynamicSelectWarning → Feedback/DynamicSelectWarning}/index.d.ts +0 -0
  32. /package/dist/src/features/Treege/components/{EndPointWarning → Feedback/EndPointWarning}/EndPointWarning.d.ts +0 -0
  33. /package/dist/src/features/Treege/components/{EndPointWarning → Feedback/EndPointWarning}/index.d.ts +0 -0
  34. /package/dist/src/features/Treege/components/{ButtonCreateTree → Inputs/ButtonCreateTree}/ButtonCreateTree.d.ts +0 -0
  35. /package/dist/src/features/Treege/components/{ButtonCreateTree → Inputs/ButtonCreateTree}/useButtonCreateTree.d.ts +0 -0
  36. /package/dist/src/features/Treege/components/{DynamicSelectFieldFromTree → Inputs/DynamicSelectFieldFromTree}/index.d.ts +0 -0
  37. /package/dist/src/features/Treege/components/{FieldSelect → Inputs/FieldSelect}/index.d.ts +0 -0
  38. /package/dist/src/features/Treege/components/{FieldSelect → Inputs/FieldSelect}/useFieldSelect.d.ts +0 -0
  39. /package/dist/src/features/Treege/components/{FieldSelectAutocompleteCreatable → Inputs/FieldSelectAutocompleteCreatable}/FieldSelectAutocompleteCreatable.d.ts +0 -0
  40. /package/dist/src/features/Treege/components/{FieldSelectAutocompleteCreatable → Inputs/FieldSelectAutocompleteCreatable}/index.d.ts +0 -0
  41. /package/dist/src/utils/tree/{findNodeByNameInTree → findNodeByUUIDInTree}/test/mock.d.ts +0 -0
  42. /package/dist/src/utils/tree/{findParentNodeByNameInTree → findParentNodeByUUIDInTree}/test/mock.d.ts +0 -0
  43. /package/dist/src/utils/tree/{getNamesInTree → getNamesFromTree}/test/mock.d.ts +0 -0
@@ -1,7 +1,7 @@
1
- import { TreeRenderCustomNodeElementFn } from '../../../features/Treege/type/TreeNode';
1
+ import { TreeNode, TreeRenderCustomNodeElementFn } from '../../../features/Treege/type/TreeNode';
2
2
 
3
3
  interface TreeProps {
4
- data: any;
4
+ data: TreeNode | null;
5
5
  renderCustomNodeElement?: TreeRenderCustomNodeElementFn;
6
6
  nodeSize?: {
7
7
  x: number;
@@ -1,6 +1,6 @@
1
1
  interface ViewerJSONProps {
2
2
  value: unknown;
3
- onChange?: (value: any) => void;
3
+ onChange?: (value: string) => void;
4
4
  }
5
5
  declare const ViewerJSON: ({ value, onChange }: ViewerJSONProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export default ViewerJSON;
@@ -66,7 +66,7 @@ declare const useFormTreeCardMutation: () => {
66
66
  tag: string | null;
67
67
  treeSelected: string;
68
68
  type: "number" | "text" | "address" | "select" | "time" | "switch" | "hidden" | "email" | "file" | "password" | "tel" | "url" | "date" | "dateRange" | "timeRange" | "checkbox" | "tree" | "radio" | "autocomplete" | "dynamicSelect";
69
- uniqueNameErrorMessage: string;
69
+ uuid: string;
70
70
  values: {
71
71
  id: string;
72
72
  label: string;
@@ -3,7 +3,7 @@ import { SelectChangeEvent } from '@tracktor/design-system';
3
3
  interface DynamicSelectFieldFromTreeProps {
4
4
  value: string | null;
5
5
  onChange?: (event: SelectChangeEvent<string | undefined>, newValue: string | undefined) => void;
6
- currentName: string;
6
+ currentUUID: string;
7
7
  }
8
- declare const DynamicSelectFieldFromTree: ({ value, onChange, currentName }: DynamicSelectFieldFromTreeProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const DynamicSelectFieldFromTree: ({ value, onChange, currentUUID }: DynamicSelectFieldFromTreeProps) => import("react/jsx-runtime").JSX.Element;
9
9
  export default DynamicSelectFieldFromTree;
@@ -1,4 +1,4 @@
1
- import { TreeNodeField } from '../../type/TreeNode';
1
+ import { TreeNodeField } from '../../../type/TreeNode';
2
2
  import { SelectChangeEvent } from '@tracktor/design-system';
3
3
 
4
4
  interface FieldsSelectProps {
@@ -2,7 +2,7 @@ declare const useTreeGrid: () => {
2
2
  closeModal: () => void;
3
3
  getTitleModalDelete: () => "Are you sure to delete « {{name}} »";
4
4
  getTitleModalMutation: () => "Add a field" | "Add a field to « {{name}} »" | "Edit field « {{name}} »";
5
- handleChangeTree: (tree: any) => false | undefined;
5
+ handleChangeTree: (tree: string) => false | undefined;
6
6
  isDeleteModal: boolean;
7
7
  isModalMutationOpen: boolean;
8
8
  };
@@ -7,22 +7,22 @@ export declare const treeReducerActionType: {
7
7
  readonly resetTree: "resetTree";
8
8
  readonly setTree: "setTree";
9
9
  };
10
- export declare const appendTreeCard: (path: string | null, name: string, children: TreeNode) => {
10
+ export declare const appendTreeCard: (path: string | null, uuid: string, children: TreeNode) => {
11
11
  children: TreeNode;
12
- name: string;
13
12
  path: string | null;
14
13
  type: "appendTreeCard";
14
+ uuid: string;
15
15
  };
16
- export declare const replaceTreeCard: (path: string | null, name: string, children: TreeNode) => {
16
+ export declare const replaceTreeCard: (path: string | null, uuid: string, children: TreeNode) => {
17
17
  children: TreeNode;
18
- name: string;
19
18
  path: string | null;
20
19
  type: "replaceTreeCard";
20
+ uuid: string;
21
21
  };
22
- export declare const deleteTreeCard: (path: string | "", name: string) => {
23
- name: string;
22
+ export declare const deleteTreeCard: (path: string | "", uuid: string) => {
24
23
  path: string;
25
24
  type: "deleteTreeCard";
25
+ uuid: string;
26
26
  };
27
27
  export declare const resetTree: () => {
28
28
  type: "resetTree";
@@ -1,5 +1,5 @@
1
1
  import { default as fields } from '../../../constants/fields';
2
- import { CustomNodeElementProps, RawNodeDatum } from 'react-d3-tree/lib/types/types/common';
2
+ import { CustomNodeElementProps } from 'react-d3-tree/lib/types/types/common';
3
3
  import { HierarchyPointNode } from 'd3-hierarchy';
4
4
 
5
5
  export interface TreeValues {
@@ -25,8 +25,8 @@ export interface Route {
25
25
  pathKey?: PathKey;
26
26
  params?: Params[];
27
27
  }
28
- export interface TreeNode extends Omit<RawNodeDatum, "attributes" | "children"> {
29
- name: string;
28
+ export interface TreeNode {
29
+ uuid: string;
30
30
  attributes: {
31
31
  depth: number;
32
32
  tag?: string;
@@ -38,7 +38,8 @@ export interface TreeNode extends Omit<RawNodeDatum, "attributes" | "children">
38
38
  isDecision?: boolean;
39
39
  isLeaf?: boolean;
40
40
  isRoot?: boolean;
41
- label: string;
41
+ label?: string;
42
+ name: string;
42
43
  required?: boolean;
43
44
  step?: string;
44
45
  type: (typeof fields)[number]["type"];
@@ -60,7 +61,8 @@ export interface TreeNode extends Omit<RawNodeDatum, "attributes" | "children">
60
61
  isDecision?: never;
61
62
  isLeaf?: boolean;
62
63
  isRoot?: never;
63
- label: string;
64
+ label?: string;
65
+ name?: never;
64
66
  required?: never;
65
67
  step?: never;
66
68
  type?: never;
@@ -88,7 +90,8 @@ export interface TreeNodeField {
88
90
  isDecision?: boolean;
89
91
  isLeaf?: boolean;
90
92
  isRoot?: boolean;
91
- label: string;
93
+ label?: string;
94
+ name?: string;
92
95
  required?: boolean;
93
96
  step?: string;
94
97
  type: (typeof fields)[number]["type"];
@@ -20,6 +20,7 @@ declare const TRANSLATION_EN: {
20
20
  readonly show: "Show";
21
21
  readonly tag: "Tag";
22
22
  readonly type: "Type";
23
+ readonly uuid: "UUID";
23
24
  readonly validate: "Validate";
24
25
  readonly value: "Value";
25
26
  readonly values: "Values";
@@ -20,6 +20,7 @@ declare const TRANSLATION_FR: {
20
20
  readonly show: "Afficher";
21
21
  readonly tag: "Tag";
22
22
  readonly type: "Type";
23
+ readonly uuid: "UUID";
23
24
  readonly validate: "Valider";
24
25
  readonly value: "Valeur";
25
26
  readonly values: "Valeurs";
@@ -3,17 +3,17 @@ import { TreeNode } from '../../../features/Treege/type/TreeNode';
3
3
  interface AppendChildParams {
4
4
  tree: TreeNode | null;
5
5
  path: string | null;
6
- name: string;
6
+ uuid: string;
7
7
  child: TreeNode;
8
8
  }
9
9
  /**
10
10
  * Append child to tree
11
11
  * @param tree
12
12
  * @param path
13
- * @param name
13
+ * @param uuid
14
14
  * @param child
15
15
  */
16
- declare const appendNode: ({ tree, path, name, child }: AppendChildParams) => TreeNode | {
16
+ declare const appendNode: ({ tree, path, uuid, child }: AppendChildParams) => TreeNode | {
17
17
  attributes: {
18
18
  isLeaf: boolean;
19
19
  isRoot: boolean;
@@ -25,7 +25,8 @@ declare const appendNode: ({ tree, path, name, child }: AppendChildParams) => Tr
25
25
  off?: string | undefined;
26
26
  } | undefined;
27
27
  isDecision?: boolean | undefined;
28
- label: string;
28
+ label?: string | undefined;
29
+ name: string;
29
30
  required?: boolean | undefined;
30
31
  step?: string | undefined;
31
32
  type: "number" | "text" | "address" | "select" | "time" | "switch" | "hidden" | "email" | "file" | "password" | "tel" | "url" | "date" | "dateRange" | "timeRange" | "checkbox" | "tree" | "radio" | "autocomplete" | "dynamicSelect";
@@ -47,7 +48,8 @@ declare const appendNode: ({ tree, path, name, child }: AppendChildParams) => Tr
47
48
  helperText?: string | undefined;
48
49
  messages?: undefined;
49
50
  isDecision?: undefined;
50
- label: string;
51
+ label?: string | undefined;
52
+ name?: undefined;
51
53
  required?: undefined;
52
54
  step?: undefined;
53
55
  type?: undefined;
@@ -62,7 +64,7 @@ declare const appendNode: ({ tree, path, name, child }: AppendChildParams) => Tr
62
64
  parentRef?: string | undefined;
63
65
  initialQuery?: boolean | undefined;
64
66
  };
65
- name: string;
67
+ uuid: string;
66
68
  children: TreeNode[];
67
69
  treeId?: string | undefined;
68
70
  };
@@ -5,7 +5,7 @@ type Mock = {
5
5
  output: TreeNode;
6
6
  treePath: string | null;
7
7
  newChild: TreeNode;
8
- name: string;
8
+ uuid: string;
9
9
  };
10
10
  declare const addFirstNodeInTreeMock: Mock;
11
11
  declare const initialiseTree: Mock;
@@ -0,0 +1,9 @@
1
+ import { TreeNode } from '../../../features/Treege/type/TreeNode';
2
+
3
+ /**
4
+ * Get node by uuid in current tree
5
+ * @param node
6
+ * @param uuid
7
+ */
8
+ declare const findNodeByUUIDInTree: (node: TreeNode | null, uuid: string) => TreeNode | null;
9
+ export default findNodeByUUIDInTree;
@@ -0,0 +1,10 @@
1
+ import { TreeNode } from '../../../features/Treege/type/TreeNode';
2
+
3
+ /**
4
+ * Get parent node by uuid in current tree
5
+ * @param node
6
+ * @param uuid
7
+ * @param parentNode
8
+ */
9
+ declare const findParentNodeByUUIDInTree: (node: TreeNode | null, uuid: string, parentNode?: TreeNode | null) => TreeNode | null;
10
+ export default findParentNodeByUUIDInTree;
@@ -4,5 +4,5 @@ import { TreeNode } from '../../../features/Treege/type/TreeNode';
4
4
  * Get all names from tree
5
5
  * @param tree
6
6
  */
7
- declare const getNamesInTree: (tree: TreeNode | null) => string[];
8
- export default getNamesInTree;
7
+ declare const getNamesFromTree: (tree: TreeNode | null) => string[];
8
+ export default getNamesFromTree;
@@ -4,7 +4,7 @@ import { TreeNode } from '../../../features/Treege/type/TreeNode';
4
4
  * Get node
5
5
  * @param node
6
6
  * @param path
7
- * @param name
7
+ * @param uuid
8
8
  */
9
- declare const getNode: (node: TreeNode, path: string | null, name: string) => TreeNode | null;
9
+ declare const getNode: (node: TreeNode, path: string | null, uuid: string) => TreeNode | null;
10
10
  export default getNode;
@@ -1,10 +1,10 @@
1
1
  import { default as updateNodeInTree } from './updateNodeInTree/updateNodeInTree';
2
- import { default as getNamesInTree } from './getNamesInTree/getNamesInTree';
3
- import { default as findParentNodeByNameInTree } from './findParentNodeByNameInTree/findParentNodeByNameInTree';
4
- import { default as findNodeByNameInTree } from './findNodeByNameInTree/findNodeByNameInTree';
2
+ import { default as getNamesFromTree } from './getNamesFromTree/getNamesFromTree';
3
+ import { default as findParentNodeByUUIDInTree } from './findParentNodeByUUIDInTree/findParentNodeByUUIDInTree';
4
+ import { default as findNodeByUUIDInTree } from './findNodeByUUIDInTree/findNodeByUUIDInTree';
5
5
  import { default as removeNode } from './removeNode/removeNode';
6
6
  import { default as getTree } from './getTree/getTree';
7
7
  import { default as getNode } from './getNode/getNode';
8
8
  import { default as appendNode } from './appendNode/appendNode';
9
9
 
10
- export { getTree, updateNodeInTree, appendNode, removeNode, findParentNodeByNameInTree, findNodeByNameInTree, getNamesInTree, getNode };
10
+ export { getTree, updateNodeInTree, appendNode, removeNode, findParentNodeByUUIDInTree, findNodeByUUIDInTree, getNamesFromTree, getNode };
@@ -3,13 +3,13 @@ import { TreeNode } from '../../../features/Treege/type/TreeNode';
3
3
  interface RemoveNodeParams {
4
4
  tree: TreeNode;
5
5
  path: string;
6
- name: string;
6
+ uuid: string;
7
7
  }
8
8
  /**
9
9
  * Remove node from tree
10
10
  * @param tree
11
11
  * @param path
12
- * @param name
12
+ * @param uuid
13
13
  */
14
- declare const removeNode: ({ tree, path, name }: RemoveNodeParams) => TreeNode;
14
+ declare const removeNode: ({ tree, path, uuid }: RemoveNodeParams) => TreeNode;
15
15
  export default removeNode;
@@ -4,7 +4,7 @@ type Mock = {
4
4
  tree: TreeNode;
5
5
  output: TreeNode;
6
6
  treePath: string;
7
- name: string;
7
+ uuid: string;
8
8
  };
9
9
  declare const removeNodeInTreeMock: Mock;
10
10
  declare const removeTreeInTreeMock: Mock;
@@ -5,7 +5,7 @@ type Mock = {
5
5
  output: TreeNode;
6
6
  treePath: string;
7
7
  newChild: TreeNode;
8
- name: string;
8
+ uuid: string;
9
9
  };
10
10
  declare const updatedFirstNodeInTreeMock: Mock;
11
11
  declare const updatedNodeInOtherTreeMock: Mock;
@@ -3,15 +3,15 @@ import { TreeNode } from '../../../features/Treege/type/TreeNode';
3
3
  interface UpdatedNodeParams {
4
4
  tree: TreeNode;
5
5
  path: string;
6
- name: string;
7
- child: TreeNode;
6
+ uuid: string;
7
+ children: TreeNode;
8
8
  }
9
9
  /**
10
10
  * Update node in tree
11
11
  * @param tree
12
12
  * @param path
13
- * @param name
14
- * @param child
13
+ * @param uuid
14
+ * @param children
15
15
  */
16
- declare const updateNodeInTree: ({ tree, path, name, child }: UpdatedNodeParams) => TreeNode;
16
+ declare const updateNodeInTree: ({ tree, path, uuid, children }: UpdatedNodeParams) => TreeNode;
17
17
  export default updateNodeInTree;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "treege",
3
3
  "description": "Form decision tree generator",
4
4
  "license": "ISC",
5
- "version": "0.20.1",
5
+ "version": "1.0.0",
6
6
  "type": "module",
7
7
  "types": "./dist/main.d.ts",
8
8
  "main": "./dist/main.umd.cjs",
@@ -29,7 +29,6 @@
29
29
  "lint:fix": "eslint . --fix",
30
30
  "preview": "vite preview",
31
31
  "test": "yarn lint && vitest",
32
- "test:coverage": "vitest run --coverage",
33
32
  "test:ui": "vitest --ui",
34
33
  "prepare": "yarn run build && husky install"
35
34
  },
@@ -63,7 +62,7 @@
63
62
  "typescript": "^5.2.2",
64
63
  "vite": "^5.2.7",
65
64
  "vite-plugin-dts": "^3.8.1",
66
- "vitest": "^0.34.6"
65
+ "vitest": "^1.4.0"
67
66
  },
68
67
  "peerDependencies": {
69
68
  "react": ">=18.0.0",
@@ -1,9 +0,0 @@
1
- import { TreeNode } from '../../../features/Treege/type/TreeNode';
2
-
3
- /**
4
- * Get node by name in current tree
5
- * @param node
6
- * @param name
7
- */
8
- declare const findNodeByNameInTree: (node: TreeNode | null, name: string) => TreeNode | null;
9
- export default findNodeByNameInTree;
@@ -1,10 +0,0 @@
1
- import { TreeNode } from '../../../features/Treege/type/TreeNode';
2
-
3
- /**
4
- * Get parent node by name in current tree
5
- * @param node
6
- * @param name
7
- * @param parentNode
8
- */
9
- declare const findParentNodeByNameInTree: (node: TreeNode | null, name: string, parentNode?: TreeNode | null) => TreeNode | null;
10
- export default findParentNodeByNameInTree;