@salt-ds/core 1.62.0 → 1.64.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 (83) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/css/salt-core.css +168 -5
  3. package/dist-cjs/banner/Banner.js +8 -1
  4. package/dist-cjs/banner/Banner.js.map +1 -1
  5. package/dist-cjs/drawer/Drawer.js +3 -1
  6. package/dist-cjs/drawer/Drawer.js.map +1 -1
  7. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  8. package/dist-cjs/index.js +8 -0
  9. package/dist-cjs/index.js.map +1 -1
  10. package/dist-cjs/link/Link.css.js +1 -1
  11. package/dist-cjs/tree/Tree.css.js +6 -0
  12. package/dist-cjs/tree/Tree.css.js.map +1 -0
  13. package/dist-cjs/tree/Tree.js +308 -0
  14. package/dist-cjs/tree/Tree.js.map +1 -0
  15. package/dist-cjs/tree/TreeContext.js +37 -0
  16. package/dist-cjs/tree/TreeContext.js.map +1 -0
  17. package/dist-cjs/tree/TreeNode.css.js +6 -0
  18. package/dist-cjs/tree/TreeNode.css.js.map +1 -0
  19. package/dist-cjs/tree/TreeNode.js +109 -0
  20. package/dist-cjs/tree/TreeNode.js.map +1 -0
  21. package/dist-cjs/tree/TreeNodeExpansionIcon.css.js +6 -0
  22. package/dist-cjs/tree/TreeNodeExpansionIcon.css.js.map +1 -0
  23. package/dist-cjs/tree/TreeNodeExpansionIcon.js +67 -0
  24. package/dist-cjs/tree/TreeNodeExpansionIcon.js.map +1 -0
  25. package/dist-cjs/tree/TreeNodeLabel.css.js +6 -0
  26. package/dist-cjs/tree/TreeNodeLabel.css.js.map +1 -0
  27. package/dist-cjs/tree/TreeNodeLabel.js +30 -0
  28. package/dist-cjs/tree/TreeNodeLabel.js.map +1 -0
  29. package/dist-cjs/tree/TreeNodeTrigger.css.js +6 -0
  30. package/dist-cjs/tree/TreeNodeTrigger.css.js.map +1 -0
  31. package/dist-cjs/tree/TreeNodeTrigger.js +161 -0
  32. package/dist-cjs/tree/TreeNodeTrigger.js.map +1 -0
  33. package/dist-cjs/tree/treeModel.js +61 -0
  34. package/dist-cjs/tree/treeModel.js.map +1 -0
  35. package/dist-cjs/tree/useTree.js +343 -0
  36. package/dist-cjs/tree/useTree.js.map +1 -0
  37. package/dist-es/banner/Banner.js +8 -1
  38. package/dist-es/banner/Banner.js.map +1 -1
  39. package/dist-es/drawer/Drawer.js +3 -1
  40. package/dist-es/drawer/Drawer.js.map +1 -1
  41. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  42. package/dist-es/index.js +4 -0
  43. package/dist-es/index.js.map +1 -1
  44. package/dist-es/link/Link.css.js +1 -1
  45. package/dist-es/tree/Tree.css.js +4 -0
  46. package/dist-es/tree/Tree.css.js.map +1 -0
  47. package/dist-es/tree/Tree.js +306 -0
  48. package/dist-es/tree/Tree.js.map +1 -0
  49. package/dist-es/tree/TreeContext.js +32 -0
  50. package/dist-es/tree/TreeContext.js.map +1 -0
  51. package/dist-es/tree/TreeNode.css.js +4 -0
  52. package/dist-es/tree/TreeNode.css.js.map +1 -0
  53. package/dist-es/tree/TreeNode.js +107 -0
  54. package/dist-es/tree/TreeNode.js.map +1 -0
  55. package/dist-es/tree/TreeNodeExpansionIcon.css.js +4 -0
  56. package/dist-es/tree/TreeNodeExpansionIcon.css.js.map +1 -0
  57. package/dist-es/tree/TreeNodeExpansionIcon.js +65 -0
  58. package/dist-es/tree/TreeNodeExpansionIcon.js.map +1 -0
  59. package/dist-es/tree/TreeNodeLabel.css.js +4 -0
  60. package/dist-es/tree/TreeNodeLabel.css.js.map +1 -0
  61. package/dist-es/tree/TreeNodeLabel.js +28 -0
  62. package/dist-es/tree/TreeNodeLabel.js.map +1 -0
  63. package/dist-es/tree/TreeNodeTrigger.css.js +4 -0
  64. package/dist-es/tree/TreeNodeTrigger.css.js.map +1 -0
  65. package/dist-es/tree/TreeNodeTrigger.js +159 -0
  66. package/dist-es/tree/TreeNodeTrigger.js.map +1 -0
  67. package/dist-es/tree/treeModel.js +57 -0
  68. package/dist-es/tree/treeModel.js.map +1 -0
  69. package/dist-es/tree/useTree.js +341 -0
  70. package/dist-es/tree/useTree.js.map +1 -0
  71. package/dist-types/drawer/Drawer.d.ts +6 -0
  72. package/dist-types/file-drop-zone/FileDropZoneTrigger.d.ts +14 -2
  73. package/dist-types/index.d.ts +1 -0
  74. package/dist-types/tree/Tree.d.ts +36 -0
  75. package/dist-types/tree/TreeContext.d.ts +77 -0
  76. package/dist-types/tree/TreeNode.d.ts +25 -0
  77. package/dist-types/tree/TreeNodeExpansionIcon.d.ts +4 -0
  78. package/dist-types/tree/TreeNodeLabel.d.ts +4 -0
  79. package/dist-types/tree/TreeNodeTrigger.d.ts +8 -0
  80. package/dist-types/tree/index.d.ts +4 -0
  81. package/dist-types/tree/treeModel.d.ts +24 -0
  82. package/dist-types/tree/useTree.d.ts +68 -0
  83. package/package.json +1 -1
@@ -0,0 +1,68 @@
1
+ import { type ReactNode, type SyntheticEvent } from "react";
2
+ import { type TreeModel, type TreeNodeMeta } from "./treeModel";
3
+ export type { TreeModel, TreeNodeMeta } from "./treeModel";
4
+ export interface UseTreeProps {
5
+ /**
6
+ * Default expanded nodes (uncontrolled)
7
+ */
8
+ defaultExpanded?: string[];
9
+ /**
10
+ * Expanded nodes (controlled)
11
+ */
12
+ expanded?: string[];
13
+ /**
14
+ * Callback on expanded nodes change
15
+ */
16
+ onExpandedChange?: (event: SyntheticEvent, expanded: string[]) => void;
17
+ /**
18
+ * Default selected nodes (uncontrolled)
19
+ */
20
+ defaultSelected?: string[];
21
+ /**
22
+ * Selected nodes
23
+ */
24
+ selected?: string[];
25
+ /**
26
+ * Callback on selected nodes change
27
+ */
28
+ onSelectionChange?: (event: SyntheticEvent, selected: string[]) => void;
29
+ /**
30
+ * Sets multiselect mode with checkboxes and allows for multiple node selection
31
+ */
32
+ multiselect?: boolean;
33
+ /**
34
+ * Sets tree to disabled state, preventing all interaction
35
+ */
36
+ disabled?: boolean;
37
+ /**
38
+ * Tree children used to build the tree model for traversal an state management
39
+ */
40
+ children?: ReactNode;
41
+ }
42
+ export declare function useTree(props: UseTreeProps): {
43
+ expandedArray: string[];
44
+ setExpandedArray: import("react").Dispatch<import("react").SetStateAction<string[]>>;
45
+ expandedState: Set<string>;
46
+ toggleExpanded: (event: SyntheticEvent, value: string) => void;
47
+ selectedState: string[];
48
+ selectedSet: Set<string>;
49
+ setSelectedState: import("react").Dispatch<import("react").SetStateAction<string[]>>;
50
+ setVisibleSelectionState: (selection: string[]) => void;
51
+ select: (event: SyntheticEvent, value: string) => void;
52
+ multiselect: boolean;
53
+ disabled: boolean;
54
+ disabledIdsSet: Set<string>;
55
+ treeModel: TreeModel;
56
+ getNodeMeta: (value: string) => TreeNodeMeta | undefined;
57
+ getParent: (value: string) => string | undefined;
58
+ getChildren: (parentValue: string) => string[];
59
+ getDescendants: (value: string) => string[];
60
+ getAncestors: (value: string) => string[];
61
+ visibleNodes: string[];
62
+ tabbableNodeId: string | undefined;
63
+ registerElement: (value: string, element: HTMLElement) => () => void;
64
+ getElement: (value: string) => HTMLElement | undefined;
65
+ activeNode: string | undefined;
66
+ setActiveNode: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
67
+ indeterminateState: Set<string>;
68
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/core",
3
- "version": "1.62.0",
3
+ "version": "1.64.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",