@mui/x-tree-view 8.0.0-alpha.12 → 8.0.0-alpha.14

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 (123) hide show
  1. package/CHANGELOG.md +430 -0
  2. package/RichTreeView/RichTreeView.js +24 -5
  3. package/SimpleTreeView/SimpleTreeView.js +8 -6
  4. package/TreeItem/TreeItem.d.ts +2 -0
  5. package/TreeItem/TreeItem.js +46 -5
  6. package/TreeItem/TreeItem.types.d.ts +14 -0
  7. package/TreeItemIcon/TreeItemIcon.js +2 -0
  8. package/esm/RichTreeView/RichTreeView.js +24 -5
  9. package/esm/SimpleTreeView/SimpleTreeView.js +8 -6
  10. package/esm/TreeItem/TreeItem.d.ts +2 -0
  11. package/esm/TreeItem/TreeItem.js +45 -4
  12. package/esm/TreeItem/TreeItem.types.d.ts +14 -0
  13. package/esm/TreeItemIcon/TreeItemIcon.js +2 -0
  14. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +3 -2
  15. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +21 -9
  16. package/esm/hooks/useTreeViewApiRef.d.ts +1 -1
  17. package/esm/index.js +1 -1
  18. package/esm/internals/hooks/useSelector.js +4 -1
  19. package/esm/internals/index.d.ts +6 -1
  20. package/esm/internals/index.js +4 -1
  21. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -12
  22. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +4 -0
  23. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +40 -16
  24. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +157 -16
  25. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +172 -0
  26. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +13 -0
  27. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +49 -0
  28. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +2 -2
  29. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +16 -7
  30. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +2 -1
  31. package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  32. package/esm/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
  33. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
  34. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
  35. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
  36. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
  37. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +4 -4
  38. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +12 -12
  39. package/esm/internals/utils/selectors.d.ts +7 -0
  40. package/esm/internals/utils/selectors.js +9 -0
  41. package/esm/useTreeItem/useTreeItem.d.ts +1 -1
  42. package/esm/useTreeItem/useTreeItem.js +13 -0
  43. package/esm/useTreeItem/useTreeItem.types.d.ts +21 -0
  44. package/esm/utils/cache.d.ts +38 -0
  45. package/esm/utils/cache.js +31 -0
  46. package/esm/utils/index.d.ts +1 -0
  47. package/esm/utils/index.js +1 -0
  48. package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +3 -2
  49. package/hooks/useTreeItemUtils/useTreeItemUtils.js +22 -10
  50. package/hooks/useTreeViewApiRef.d.ts +1 -1
  51. package/index.js +1 -1
  52. package/internals/hooks/useSelector.js +5 -1
  53. package/internals/index.d.ts +6 -1
  54. package/internals/index.js +33 -0
  55. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -12
  56. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +4 -0
  57. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +40 -16
  58. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +157 -16
  59. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +172 -0
  60. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +14 -1
  61. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +49 -0
  62. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +1 -1
  63. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +16 -7
  64. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +2 -1
  65. package/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  66. package/internals/plugins/useTreeViewLazyLoading/index.js +5 -0
  67. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
  68. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +33 -0
  69. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
  70. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +5 -0
  71. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +4 -4
  72. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +12 -12
  73. package/internals/utils/selectors.d.ts +7 -0
  74. package/internals/utils/selectors.js +9 -0
  75. package/modern/RichTreeView/RichTreeView.js +24 -5
  76. package/modern/SimpleTreeView/SimpleTreeView.js +8 -6
  77. package/modern/TreeItem/TreeItem.d.ts +2 -0
  78. package/modern/TreeItem/TreeItem.js +45 -4
  79. package/modern/TreeItem/TreeItem.types.d.ts +14 -0
  80. package/modern/TreeItemIcon/TreeItemIcon.js +2 -0
  81. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +3 -2
  82. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +21 -9
  83. package/modern/hooks/useTreeViewApiRef.d.ts +1 -1
  84. package/modern/index.js +1 -1
  85. package/modern/internals/hooks/useSelector.js +4 -1
  86. package/modern/internals/index.d.ts +6 -1
  87. package/modern/internals/index.js +4 -1
  88. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -12
  89. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +4 -0
  90. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +40 -16
  91. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +157 -16
  92. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +172 -0
  93. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +13 -0
  94. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +49 -0
  95. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +2 -2
  96. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +16 -7
  97. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +2 -1
  98. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  99. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
  100. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
  101. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
  102. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
  103. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
  104. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +4 -4
  105. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +12 -12
  106. package/modern/internals/utils/selectors.d.ts +7 -0
  107. package/modern/internals/utils/selectors.js +9 -0
  108. package/modern/useTreeItem/useTreeItem.d.ts +1 -1
  109. package/modern/useTreeItem/useTreeItem.js +13 -0
  110. package/modern/useTreeItem/useTreeItem.types.d.ts +21 -0
  111. package/modern/utils/cache.d.ts +38 -0
  112. package/modern/utils/cache.js +31 -0
  113. package/modern/utils/index.d.ts +1 -0
  114. package/modern/utils/index.js +1 -0
  115. package/package.json +2 -2
  116. package/tsconfig.build.tsbuildinfo +1 -1
  117. package/useTreeItem/useTreeItem.d.ts +1 -1
  118. package/useTreeItem/useTreeItem.js +13 -0
  119. package/useTreeItem/useTreeItem.types.d.ts +21 -0
  120. package/utils/cache.d.ts +38 -0
  121. package/utils/cache.js +38 -0
  122. package/utils/index.d.ts +1 -0
  123. package/utils/index.js +16 -0
@@ -0,0 +1,38 @@
1
+ import { TreeViewItemMeta } from "../internals/models/index.js";
2
+ type DataSourceCacheDefaultConfig = {
3
+ /**
4
+ * Time To Live for each cache entry in milliseconds.
5
+ * After this time the cache entry will become stale and the next query will result in cache miss.
6
+ * @default 300000 (5 minutes)
7
+ */
8
+ ttl?: number;
9
+ };
10
+ export interface DataSourceCache {
11
+ /**
12
+ * Set the cache entry for the given key.
13
+ * @param {string} key The key of type `string`
14
+ * @param {TreeViewItemMeta[]} value The value to be stored in the cache
15
+ */
16
+ set: (key: string, value: TreeViewItemMeta[]) => void;
17
+ /**
18
+ * Get the cache entry for the given key.
19
+ * @param {string} key The key of type `string`
20
+ * @returns {TreeViewItemMeta[]} The value stored in the cache
21
+ */
22
+ get: (key: string) => TreeViewItemMeta[] | undefined | -1;
23
+ /**
24
+ * Clear the cache.
25
+ */
26
+ clear: () => void;
27
+ }
28
+ export declare class DataSourceCacheDefault {
29
+ private cache;
30
+ private ttl;
31
+ constructor({
32
+ ttl
33
+ }: DataSourceCacheDefaultConfig);
34
+ set(key: string, value: TreeViewItemMeta[]): void;
35
+ get(key: string): TreeViewItemMeta[] | undefined | -1;
36
+ clear(): void;
37
+ }
38
+ export {};
@@ -0,0 +1,31 @@
1
+ export class DataSourceCacheDefault {
2
+ constructor({
3
+ ttl = 300000
4
+ }) {
5
+ this.cache = void 0;
6
+ this.ttl = void 0;
7
+ this.cache = {};
8
+ this.ttl = ttl;
9
+ }
10
+ set(key, value) {
11
+ const expiry = Date.now() + this.ttl;
12
+ this.cache[key] = {
13
+ value,
14
+ expiry
15
+ };
16
+ }
17
+ get(key) {
18
+ const entry = this.cache[key];
19
+ if (!entry) {
20
+ return undefined;
21
+ }
22
+ if (Date.now() > entry.expiry) {
23
+ delete this.cache[key];
24
+ return -1;
25
+ }
26
+ return entry.value;
27
+ }
28
+ clear() {
29
+ this.cache = {};
30
+ }
31
+ }
@@ -0,0 +1 @@
1
+ export * from "./cache.js";
@@ -0,0 +1 @@
1
+ export * from "./cache.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-tree-view",
3
- "version": "8.0.0-alpha.12",
3
+ "version": "8.0.0-alpha.14",
4
4
  "description": "The community edition of the Tree View components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -41,7 +41,7 @@
41
41
  "react-transition-group": "^4.4.5",
42
42
  "reselect": "^5.1.1",
43
43
  "use-sync-external-store": "^1.4.0",
44
- "@mui/x-internals": "8.0.0-alpha.12"
44
+ "@mui/x-internals": "8.0.0-alpha.13"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@emotion/react": "^11.9.0",