@mui/x-tree-view 8.2.0 → 8.3.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 (84) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/RichTreeView/RichTreeView.js +0 -6
  3. package/RichTreeView/RichTreeView.types.d.ts +1 -7
  4. package/SimpleTreeView/SimpleTreeView.js +0 -6
  5. package/SimpleTreeView/SimpleTreeView.types.d.ts +1 -7
  6. package/esm/RichTreeView/RichTreeView.js +0 -6
  7. package/esm/RichTreeView/RichTreeView.types.d.ts +1 -7
  8. package/esm/SimpleTreeView/SimpleTreeView.js +0 -6
  9. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +1 -7
  10. package/esm/index.js +1 -1
  11. package/esm/internals/corePlugins/useTreeViewId/index.d.ts +1 -1
  12. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +2 -2
  13. package/esm/internals/index.d.ts +2 -2
  14. package/esm/internals/index.js +1 -1
  15. package/esm/internals/models/plugin.d.ts +13 -22
  16. package/esm/internals/models/treeView.d.ts +0 -1
  17. package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +1 -1
  18. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +4 -3
  19. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +2 -2
  20. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +2 -2
  21. package/esm/internals/plugins/useTreeViewFocus/index.d.ts +1 -1
  22. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +2 -2
  23. package/esm/internals/plugins/useTreeViewItems/index.d.ts +1 -1
  24. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +1 -1
  25. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +2 -2
  26. package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +1 -1
  27. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +2 -2
  28. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +1 -1
  29. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +2 -2
  30. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +2 -3
  31. package/esm/internals/plugins/useTreeViewSelection/index.d.ts +1 -1
  32. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +4 -3
  33. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +2 -2
  34. package/esm/internals/useTreeView/{extractPluginParamsFromProps.d.ts → useExtractPluginParamsFromProps.d.ts} +8 -9
  35. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +51 -0
  36. package/esm/internals/useTreeView/useTreeView.js +3 -5
  37. package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -2
  38. package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +4 -8
  39. package/esm/internals/useTreeView/useTreeViewBuildContext.js +8 -7
  40. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +1 -1
  41. package/esm/internals/utils/tree.js +1 -1
  42. package/index.js +1 -1
  43. package/internals/corePlugins/useTreeViewId/index.d.ts +1 -1
  44. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +2 -2
  45. package/internals/index.d.ts +2 -2
  46. package/internals/index.js +1 -1
  47. package/internals/models/plugin.d.ts +13 -22
  48. package/internals/models/treeView.d.ts +0 -1
  49. package/internals/plugins/useTreeViewExpansion/index.d.ts +1 -1
  50. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +5 -4
  51. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +2 -2
  52. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +2 -2
  53. package/internals/plugins/useTreeViewFocus/index.d.ts +1 -1
  54. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +2 -2
  55. package/internals/plugins/useTreeViewItems/index.d.ts +1 -1
  56. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +1 -1
  57. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +2 -2
  58. package/internals/plugins/useTreeViewJSXItems/index.d.ts +1 -1
  59. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +2 -2
  60. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +1 -1
  61. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +2 -2
  62. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +2 -3
  63. package/internals/plugins/useTreeViewSelection/index.d.ts +1 -1
  64. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +5 -4
  65. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +2 -2
  66. package/internals/useTreeView/{extractPluginParamsFromProps.d.ts → useExtractPluginParamsFromProps.d.ts} +8 -9
  67. package/internals/useTreeView/useExtractPluginParamsFromProps.js +60 -0
  68. package/internals/useTreeView/useTreeView.js +3 -5
  69. package/internals/useTreeView/useTreeView.types.d.ts +1 -2
  70. package/internals/useTreeView/useTreeViewBuildContext.d.ts +4 -8
  71. package/internals/useTreeView/useTreeViewBuildContext.js +8 -7
  72. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +1 -1
  73. package/internals/utils/tree.js +1 -1
  74. package/package.json +4 -4
  75. package/esm/internals/useTreeView/extractPluginParamsFromProps.js +0 -42
  76. package/esm/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  77. package/esm/internals/useTreeView/useTreeViewPlugins.js +0 -0
  78. package/esm/internals/utils/models.d.ts +0 -7
  79. package/esm/internals/utils/models.js +0 -23
  80. package/internals/useTreeView/extractPluginParamsFromProps.js +0 -50
  81. package/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  82. package/internals/useTreeView/useTreeViewPlugins.js +0 -1
  83. package/internals/utils/models.d.ts +0 -7
  84. package/internals/utils/models.js +0 -30
package/CHANGELOG.md CHANGED
@@ -5,6 +5,113 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.3.0
9
+
10
+ _May 8, 2025_
11
+
12
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🎨 Added new styling options and shapes for `<FunnelChart />`, including `variant`, `borderRadius`, `pyramid`, and `step-pyramid` curves.
15
+ - 📚 Documentation improvements
16
+ - 🐞 Bugfixes
17
+
18
+ Special thanks go out to this community member for a valuable contribution:
19
+ @ptuukkan.
20
+ Team members who have contributed to this release:
21
+ @alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @rita-codes, @romgrk.
22
+
23
+ ### Data Grid
24
+
25
+ #### `@mui/x-data-grid@8.3.0`
26
+
27
+ - [DataGrid] Fix cell editing of computed columns with data source (#17684) @ptuukkan
28
+ - [DataGrid] Fix lazy loading crash with `isRowSelectable` prop (#17629) @MBilalShafi
29
+ - [DataGrid] Fix: use CSS nonce (#17726) @romgrk
30
+ - [DataGrid] Ignore `preProcessEditCellProps` for non-editable columns when starting a row update (#17732) @arminmeh
31
+ - [DataGrid] Avoid applying row selection propagation on filtered rows (#17739) @MBilalShafi
32
+
33
+ #### `@mui/x-data-grid-pro@8.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
34
+
35
+ Same changes as in `@mui/x-data-grid@8.3.0`.
36
+
37
+ #### `@mui/x-data-grid-premium@8.3.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
38
+
39
+ Same changes as in `@mui/x-data-grid-pro@8.3.0`.
40
+
41
+ ### Date and Time Pickers
42
+
43
+ #### `@mui/x-date-pickers@8.3.0`
44
+
45
+ - [DateTimePicker] Fix focus behavior on desktop variant (#17719) @LukasTy
46
+ - [pickers] Avoid `DigitalClock` stealing focus from a Picker open button on close (#17686) @LukasTy
47
+
48
+ #### `@mui/x-date-pickers-pro@8.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
49
+
50
+ Same changes as in `@mui/x-date-pickers@8.3.0`, plus:
51
+
52
+ - [DateRangePicker] Fix to reset range position after closing mobile Picker (#17631) @LukasTy
53
+
54
+ ### Charts
55
+
56
+ - The `<FunnelChart />` series now accepts a `variant='outlined'` prop for a simpler style.
57
+ <img width="398" alt="Screenshot 2025-05-06 at 20 36 12" src="https://github.com/user-attachments/assets/00fef14f-9026-421e-a4b6-7e081adce1e8" />
58
+
59
+ - Add a `borderRadius` property to `<FunnelChart />`. All funnels have `8px` as a default value.
60
+ <img width="386" alt="Screenshot 2025-05-06 at 14 00 20" src="https://github.com/user-attachments/assets/4f4cc0e7-01ce-4ed6-a0e1-a387f78def23" />
61
+
62
+ - Add a `pyramid` curve to `<FunnelChart />`, which allows creation of a pyramid-shaped funnel.
63
+ <img width="344" alt="Screenshot 2025-05-06 at 14 32 59" src="https://github.com/user-attachments/assets/0b2896e0-0478-4766-bb1b-258a4977a751" />
64
+
65
+ - Add a `step-pyramid` curve to `<FunnelChart />`, which creates a stepped-pyramid like shape.
66
+ <img width="344" alt="Screenshot 2025-05-06 at 14 33 03" src="https://github.com/user-attachments/assets/894f0ab3-7898-40fe-b0df-560feea4085a" />
67
+
68
+ #### `@mui/x-charts@8.3.0`
69
+
70
+ - [charts] Add charts toolbar with zoom options (#17615) @bernardobelchior
71
+ - [charts] Add zoom slider (#17496) @bernardobelchior
72
+ - [charts] Cleanup compiler warnings (#17360) @alexfauquette
73
+ - [charts] Fix `<PieArcLabel />` not taking `arcLabelRadius` into account (#17655) @bernardobelchior
74
+ - [charts] Fix spark line not having clip path (#17501) @bernardobelchior
75
+ - [charts] Fix type issue with ESM (#17624) @alexfauquette
76
+ - [charts] Improve `<MarkElement />` performance (#17546) @bernardobelchior
77
+ - [charts] Rename `materialSlots` internal constant (#17710) @bernardobelchior
78
+ - [charts] Update zoom slider design (#17682) @bernardobelchior
79
+ - [charts] Fix zoom being documented as available for heatmap (#17657) @bernardobelchior
80
+
81
+ #### `@mui/x-charts-pro@8.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
82
+
83
+ Same changes as in `@mui/x-charts@8.3.0`, plus:
84
+
85
+ - [charts-pro] Add `pyramid` curve to `<FunnelChart />` (#17665) @JCQuintas
86
+ - [charts-pro] Add `variant='outlined'` to `<FunnelChart />` series (#17661) @JCQuintas
87
+ - [charts-pro] Add a `borderRadius` property to `<FunnelChart />` (#17660) @JCQuintas
88
+
89
+ ### Tree View
90
+
91
+ #### `@mui/x-tree-view@8.3.0`
92
+
93
+ - [tree view] Bug fix - Escape does not cancel Drag n Drop (#17735) @rita-codes
94
+ - [tree view] Fix keyboard navigation error (#17685) @rita-codes
95
+ - [tree view] Continue cleaning the plugin system (#17386) @flaviendelangle
96
+
97
+ #### `@mui/x-tree-view-pro@8.3.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
98
+
99
+ Same changes as in `@mui/x-tree-view@8.3.0`.
100
+
101
+ ### Docs
102
+
103
+ - [charts] Add population pyramid demo (#17652) @bernardobelchior
104
+ - [charts] Fix randomised argos test (#17658) @JCQuintas
105
+ - [docs] Make preview messaging consistent in charts @bernardobelchior
106
+
107
+ ### Core
108
+
109
+ - [code-infra] Avoid `node` types in the built packages (#17533) @LukasTy
110
+ - [code-infra] Add `pkg.pr.new` publishing (#17402) @Janpot
111
+ - [code-infra] Normalize author package in org @oliviertassinari
112
+ - [code-infra] Remove required checkout step (#17729) @JCQuintas
113
+ - [docs-infra] Normalize netlify.toml in org @oliviertassinari
114
+
8
115
  ## 8.2.0
9
116
 
10
117
  _May 1, 2025_
@@ -189,12 +189,6 @@ process.env.NODE_ENV !== "production" ? RichTreeView.propTypes = {
189
189
  * @default 'content'
190
190
  */
191
191
  expansionTrigger: _propTypes.default.oneOf(['content', 'iconContainer']),
192
- /**
193
- * Unstable features, breaking changes might be introduced.
194
- * For each feature, if the flag is not explicitly set to `true`,
195
- * the feature will be fully disabled and any property / method call will not have any effect.
196
- */
197
- experimentalFeatures: _propTypes.default.object,
198
192
  /**
199
193
  * Used to determine the id of a given item.
200
194
  *
@@ -4,7 +4,7 @@ import { SxProps } from '@mui/system/styleFunctionSx';
4
4
  import { SlotComponentProps } from '@mui/utils/types';
5
5
  import { RichTreeViewClasses } from "./richTreeViewClasses.js";
6
6
  import { RichTreeViewPluginParameters, RichTreeViewPluginSignatures } from "./RichTreeView.plugins.js";
7
- import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
7
+ import { TreeViewPublicAPI } from "../internals/models/index.js";
8
8
  import { RichTreeViewItemsSlotProps, RichTreeViewItemsSlots } from "../internals/components/RichTreeViewItems.js";
9
9
  import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
10
10
  export interface RichTreeViewSlots extends TreeViewSlots, RichTreeViewItemsSlots {
@@ -44,10 +44,4 @@ export interface RichTreeViewProps<R extends {}, Multiple extends boolean | unde
44
44
  * The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
45
45
  */
46
46
  apiRef?: RichTreeViewApiRef;
47
- /**
48
- * Unstable features, breaking changes might be introduced.
49
- * For each feature, if the flag is not explicitly set to `true`,
50
- * the feature will be fully disabled and any property / method call will not have any effect.
51
- */
52
- experimentalFeatures?: TreeViewExperimentalFeatures<RichTreeViewPluginSignatures>;
53
47
  }
@@ -173,12 +173,6 @@ process.env.NODE_ENV !== "production" ? SimpleTreeView.propTypes = {
173
173
  * @default 'content'
174
174
  */
175
175
  expansionTrigger: _propTypes.default.oneOf(['content', 'iconContainer']),
176
- /**
177
- * Unstable features, breaking changes might be introduced.
178
- * For each feature, if the flag is not explicitly set to `true`,
179
- * the feature will be fully disabled and any property / method call will not have any effect.
180
- */
181
- experimentalFeatures: _propTypes.default.object,
182
176
  /**
183
177
  * This prop is used to help implement the accessibility logic.
184
178
  * If you don't provide this prop. It falls back to a randomly generated id.
@@ -4,7 +4,7 @@ import { SlotComponentProps } from '@mui/utils/types';
4
4
  import { SxProps } from '@mui/system/styleFunctionSx';
5
5
  import { SimpleTreeViewClasses } from "./simpleTreeViewClasses.js";
6
6
  import { SimpleTreeViewPluginParameters, SimpleTreeViewPluginSignatures } from "./SimpleTreeView.plugins.js";
7
- import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
7
+ import { TreeViewPublicAPI } from "../internals/models/index.js";
8
8
  import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
9
9
  export interface SimpleTreeViewSlots extends TreeViewSlots {
10
10
  /**
@@ -43,10 +43,4 @@ export interface SimpleTreeViewProps<Multiple extends boolean | undefined> exten
43
43
  * The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
44
44
  */
45
45
  apiRef?: SimpleTreeViewApiRef;
46
- /**
47
- * Unstable features, breaking changes might be introduced.
48
- * For each feature, if the flag is not explicitly set to `true`,
49
- * the feature will be fully disabled and any property / method call will not have any effect.
50
- */
51
- experimentalFeatures?: TreeViewExperimentalFeatures<SimpleTreeViewPluginSignatures>;
52
46
  }
@@ -182,12 +182,6 @@ process.env.NODE_ENV !== "production" ? RichTreeView.propTypes = {
182
182
  * @default 'content'
183
183
  */
184
184
  expansionTrigger: PropTypes.oneOf(['content', 'iconContainer']),
185
- /**
186
- * Unstable features, breaking changes might be introduced.
187
- * For each feature, if the flag is not explicitly set to `true`,
188
- * the feature will be fully disabled and any property / method call will not have any effect.
189
- */
190
- experimentalFeatures: PropTypes.object,
191
185
  /**
192
186
  * Used to determine the id of a given item.
193
187
  *
@@ -4,7 +4,7 @@ import { SxProps } from '@mui/system/styleFunctionSx';
4
4
  import { SlotComponentProps } from '@mui/utils/types';
5
5
  import { RichTreeViewClasses } from "./richTreeViewClasses.js";
6
6
  import { RichTreeViewPluginParameters, RichTreeViewPluginSignatures } from "./RichTreeView.plugins.js";
7
- import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
7
+ import { TreeViewPublicAPI } from "../internals/models/index.js";
8
8
  import { RichTreeViewItemsSlotProps, RichTreeViewItemsSlots } from "../internals/components/RichTreeViewItems.js";
9
9
  import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
10
10
  export interface RichTreeViewSlots extends TreeViewSlots, RichTreeViewItemsSlots {
@@ -44,10 +44,4 @@ export interface RichTreeViewProps<R extends {}, Multiple extends boolean | unde
44
44
  * The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
45
45
  */
46
46
  apiRef?: RichTreeViewApiRef;
47
- /**
48
- * Unstable features, breaking changes might be introduced.
49
- * For each feature, if the flag is not explicitly set to `true`,
50
- * the feature will be fully disabled and any property / method call will not have any effect.
51
- */
52
- experimentalFeatures?: TreeViewExperimentalFeatures<RichTreeViewPluginSignatures>;
53
47
  }
@@ -166,12 +166,6 @@ process.env.NODE_ENV !== "production" ? SimpleTreeView.propTypes = {
166
166
  * @default 'content'
167
167
  */
168
168
  expansionTrigger: PropTypes.oneOf(['content', 'iconContainer']),
169
- /**
170
- * Unstable features, breaking changes might be introduced.
171
- * For each feature, if the flag is not explicitly set to `true`,
172
- * the feature will be fully disabled and any property / method call will not have any effect.
173
- */
174
- experimentalFeatures: PropTypes.object,
175
169
  /**
176
170
  * This prop is used to help implement the accessibility logic.
177
171
  * If you don't provide this prop. It falls back to a randomly generated id.
@@ -4,7 +4,7 @@ import { SlotComponentProps } from '@mui/utils/types';
4
4
  import { SxProps } from '@mui/system/styleFunctionSx';
5
5
  import { SimpleTreeViewClasses } from "./simpleTreeViewClasses.js";
6
6
  import { SimpleTreeViewPluginParameters, SimpleTreeViewPluginSignatures } from "./SimpleTreeView.plugins.js";
7
- import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
7
+ import { TreeViewPublicAPI } from "../internals/models/index.js";
8
8
  import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
9
9
  export interface SimpleTreeViewSlots extends TreeViewSlots {
10
10
  /**
@@ -43,10 +43,4 @@ export interface SimpleTreeViewProps<Multiple extends boolean | undefined> exten
43
43
  * The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
44
44
  */
45
45
  apiRef?: SimpleTreeViewApiRef;
46
- /**
47
- * Unstable features, breaking changes might be introduced.
48
- * For each feature, if the flag is not explicitly set to `true`,
49
- * the feature will be fully disabled and any property / method call will not have any effect.
50
- */
51
- experimentalFeatures?: TreeViewExperimentalFeatures<SimpleTreeViewPluginSignatures>;
52
46
  }
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v8.2.0
2
+ * @mui/x-tree-view v8.3.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,2 +1,2 @@
1
1
  export { useTreeViewId } from "./useTreeViewId.js";
2
- export type { UseTreeViewIdSignature, UseTreeViewIdParameters, UseTreeViewIdDefaultizedParameters } from "./useTreeViewId.types.js";
2
+ export type { UseTreeViewIdSignature, UseTreeViewIdParameters, UseTreeViewIdParametersWithDefaults } from "./useTreeViewId.types.js";
@@ -6,7 +6,7 @@ export interface UseTreeViewIdParameters {
6
6
  */
7
7
  id?: string;
8
8
  }
9
- export type UseTreeViewIdDefaultizedParameters = UseTreeViewIdParameters;
9
+ export type UseTreeViewIdParametersWithDefaults = UseTreeViewIdParameters;
10
10
  export interface UseTreeViewIdState {
11
11
  id: {
12
12
  treeId: string | undefined;
@@ -15,6 +15,6 @@ export interface UseTreeViewIdState {
15
15
  }
16
16
  export type UseTreeViewIdSignature = TreeViewPluginSignature<{
17
17
  params: UseTreeViewIdParameters;
18
- defaultizedParams: UseTreeViewIdDefaultizedParameters;
18
+ paramsWithDefaults: UseTreeViewIdParametersWithDefaults;
19
19
  state: UseTreeViewIdState;
20
20
  }>;
@@ -4,7 +4,7 @@ export { RichTreeViewItems } from "./components/RichTreeViewItems.js";
4
4
  export type { RichTreeViewItemsSlots, RichTreeViewItemsSlotProps } from "./components/RichTreeViewItems.js";
5
5
  export { unstable_resetCleanupTracking, useInstanceEventHandler } from "./hooks/useInstanceEventHandler.js";
6
6
  export { useSelector } from "./hooks/useSelector.js";
7
- export type { TreeViewPlugin, TreeViewPluginSignature, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewState, TreeViewExperimentalFeatures, TreeViewItemMeta, TreeViewInstance, TreeViewItemPlugin, TreeViewUsedStore } from "./models/index.js";
7
+ export type { TreeViewPlugin, TreeViewPluginSignature, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewState, TreeViewItemMeta, TreeViewInstance, TreeViewItemPlugin, TreeViewUsedStore } from "./models/index.js";
8
8
  export type { TreeViewCorePluginParameters } from "./corePlugins/index.js";
9
9
  export { useTreeViewExpansion } from "./plugins/useTreeViewExpansion/index.js";
10
10
  export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters } from "./plugins/useTreeViewExpansion/index.js";
@@ -18,7 +18,7 @@ export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from
18
18
  export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
19
19
  export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsState } from "./plugins/useTreeViewItems/index.js";
20
20
  export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
21
- export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited as selectorIsAnItemEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
21
+ export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
22
22
  export type { UseTreeViewLabelSignature, UseTreeViewLabelParameters } from "./plugins/useTreeViewLabel/index.js";
23
23
  export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
24
24
  export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
@@ -14,7 +14,7 @@ export { useTreeViewKeyboardNavigation } from "./plugins/useTreeViewKeyboardNavi
14
14
  export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./plugins/useTreeViewItems/index.js";
15
15
  export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
16
16
  export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
17
- export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited as selectorIsAnItemEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
17
+ export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
18
18
  export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
19
19
  export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
20
20
  export { selectorDataSourceState, selectorGetTreeItemError } from "./plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { EventHandlers } from '@mui/utils/types';
3
- import { TreeViewExperimentalFeatures, TreeViewInstance } from "./treeView.js";
3
+ import { TreeViewInstance } from "./treeView.js";
4
4
  import type { MergeSignaturesProperty, OptionalIfEmpty } from "./helpers.js";
5
5
  import { TreeViewEventLookupElement } from "./events.js";
6
6
  import type { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
@@ -15,8 +15,7 @@ export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSigna
15
15
  /**
16
16
  * The Tree View parameters after being processed with the default values.
17
17
  */
18
- params: TreeViewUsedDefaultizedParams<TSignature>;
19
- experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
18
+ params: TreeViewUsedParamsWithDefaults<TSignature>;
20
19
  /**
21
20
  * The store that can be used to access the state of other plugins.
22
21
  */
@@ -35,12 +34,11 @@ type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
35
34
  } & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']>;
36
35
  export type TreeViewPluginSignature<T extends {
37
36
  params?: {};
38
- defaultizedParams?: {};
37
+ paramsWithDefaults?: {};
39
38
  instance?: {};
40
39
  publicAPI?: {};
41
40
  events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
42
41
  state?: {};
43
- experimentalFeatures?: string;
44
42
  dependencies?: readonly TreeViewAnyPluginSignature[];
45
43
  optionalDependencies?: readonly TreeViewAnyPluginSignature[];
46
44
  }> = {
@@ -53,9 +51,9 @@ export type TreeViewPluginSignature<T extends {
53
51
  /**
54
52
  * The params after being processed with the default values.
55
53
  */
56
- defaultizedParams: T extends {
57
- defaultizedParams: {};
58
- } ? T['defaultizedParams'] : {};
54
+ paramsWithDefaults: T extends {
55
+ paramsWithDefaults: {};
56
+ } ? T['paramsWithDefaults'] : {};
59
57
  /**
60
58
  * An imperative api available for internal use.
61
59
  */
@@ -78,9 +76,6 @@ export type TreeViewPluginSignature<T extends {
78
76
  state: T extends {
79
77
  state: {};
80
78
  } ? T['state'] : {};
81
- experimentalFeatures: T extends {
82
- experimentalFeatures: string;
83
- } ? { [key in T['experimentalFeatures']]?: boolean } : {};
84
79
  /**
85
80
  * Any plugins that this plugin depends on.
86
81
  */
@@ -98,17 +93,16 @@ export type TreeViewAnyPluginSignature = {
98
93
  state: any;
99
94
  instance: any;
100
95
  params: any;
101
- defaultizedParams: any;
96
+ paramsWithDefaults: any;
102
97
  dependencies: any;
103
98
  optionalDependencies: any;
104
99
  events: any;
105
- experimentalFeatures: any;
106
100
  publicAPI: any;
107
101
  };
108
102
  type TreeViewRequiredPlugins<TSignature extends TreeViewAnyPluginSignature> = [...TreeViewCorePluginSignatures, ...TSignature['dependencies']];
109
103
  type PluginPropertyWithDependencies<TSignature extends TreeViewAnyPluginSignature, TProperty extends keyof TreeViewAnyPluginSignature> = TSignature[TProperty] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, TProperty> & Partial<MergeSignaturesProperty<TSignature['optionalDependencies'], TProperty>>;
110
104
  export type TreeViewUsedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'params'>;
111
- export type TreeViewUsedDefaultizedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'defaultizedParams'>;
105
+ export type TreeViewUsedParamsWithDefaults<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'paramsWithDefaults'>;
112
106
  export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'instance'> & {
113
107
  /**
114
108
  * Private property only defined in TypeScript to be able to access the plugin signature from the instance object.
@@ -116,7 +110,6 @@ export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature>
116
110
  $$signature: TSignature;
117
111
  };
118
112
  export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']]>;
119
- type TreeViewUsedExperimentalFeatures<TSignature extends TreeViewAnyPluginSignature> = TreeViewExperimentalFeatures<[TSignature, ...TSignature['dependencies']], TSignature['optionalDependencies']>;
120
113
  export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
121
114
  export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
122
115
  itemId: TreeViewItemId;
@@ -139,22 +132,20 @@ export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
139
132
  *
140
133
  * @param {TreeViewUsedParams<TSignature>} options The options object.
141
134
  * @param {TreeViewUsedParams<TSignature>['params']} options.params The parameters before being processed with the default values.
142
- * @param {TreeViewUsedExperimentalFeatures<TSignature>} options.experimentalFeatures An object containing the experimental feature flags.
143
- * @returns {TSignature['defaultizedParams']} The parameters after being processed with the default values.
135
+ * @returns {TSignature['paramsWithDefaults']} The parameters after being processed with the default values.
144
136
  */
145
- getDefaultizedParams?: (options: {
137
+ applyDefaultValuesToParams?: (options: {
146
138
  params: TreeViewUsedParams<TSignature>;
147
- experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
148
- }) => TSignature['defaultizedParams'];
139
+ }) => TSignature['paramsWithDefaults'];
149
140
  /**
150
141
  * The initial state is computed after the default values are applied.
151
142
  * It sets up the state for the first render.
152
143
  * Other state modifications have to be done in effects and so could not be applied on the initial render.
153
144
  *
154
- * @param {TreeViewUsedDefaultizedParams<TSignature>} params The parameters after being processed with the default values.
145
+ * @param {TreeViewUsedParamsWithDefaults<TSignature>} params The parameters after being processed with the default values.
155
146
  * @returns {TSignature['state']} The initial state of the plugin.
156
147
  */
157
- getInitialState?: (params: TreeViewUsedDefaultizedParams<TSignature>) => TSignature['state'];
148
+ getInitialState?: (params: TreeViewUsedParamsWithDefaults<TSignature>) => TSignature['state'];
158
149
  /**
159
150
  * An object where each property used by the plugin is set to `true`.
160
151
  */
@@ -18,7 +18,6 @@ export interface TreeViewItemMeta {
18
18
  }
19
19
  export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
20
20
  export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
21
- export type TreeViewExperimentalFeatures<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;
22
21
  export type TreeViewStateCacheKey = {
23
22
  id: number;
24
23
  };
@@ -1,2 +1,2 @@
1
1
  export { useTreeViewExpansion } from "./useTreeViewExpansion.js";
2
- export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters, UseTreeViewExpansionDefaultizedParameters } from "./useTreeViewExpansion.types.js";
2
+ export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters, UseTreeViewExpansionParametersWithDefaults } from "./useTreeViewExpansion.types.js";
@@ -1,18 +1,19 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { useAssertModelConsistency } from '@mui/x-internals/useAssertModelConsistency';
2
3
  import useEventCallback from '@mui/utils/useEventCallback';
3
4
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
4
5
  import { selectorExpandedItems, selectorIsItemExpandable, selectorIsItemExpanded } from "./useTreeViewExpansion.selectors.js";
5
6
  import { getExpansionTrigger } from "./useTreeViewExpansion.utils.js";
6
7
  import { selectorItemMeta, selectorItemOrderedChildrenIds } from "../useTreeViewItems/useTreeViewItems.selectors.js";
7
8
  import { publishTreeViewEvent } from "../../utils/publishTreeViewEvent.js";
8
- import { useAssertModelConsistency } from "../../utils/models.js";
9
9
  export const useTreeViewExpansion = ({
10
10
  instance,
11
11
  store,
12
12
  params
13
13
  }) => {
14
14
  useAssertModelConsistency({
15
- state: 'expandedItems',
15
+ componentName: 'Tree View',
16
+ propName: 'expandedItems',
16
17
  controlled: params.expandedItems,
17
18
  defaultValue: params.defaultExpandedItems
18
19
  });
@@ -128,7 +129,7 @@ export const useTreeViewExpansion = ({
128
129
  };
129
130
  };
130
131
  const DEFAULT_EXPANDED_ITEMS = [];
131
- useTreeViewExpansion.getDefaultizedParams = ({
132
+ useTreeViewExpansion.applyDefaultValuesToParams = ({
132
133
  params
133
134
  }) => _extends({}, params, {
134
135
  defaultExpandedItems: params.defaultExpandedItems ?? DEFAULT_EXPANDED_ITEMS
@@ -71,7 +71,7 @@ export interface UseTreeViewExpansionParameters {
71
71
  */
72
72
  expansionTrigger?: 'content' | 'iconContainer';
73
73
  }
74
- export type UseTreeViewExpansionDefaultizedParameters = DefaultizedProps<UseTreeViewExpansionParameters, 'defaultExpandedItems'>;
74
+ export type UseTreeViewExpansionParametersWithDefaults = DefaultizedProps<UseTreeViewExpansionParameters, 'defaultExpandedItems'>;
75
75
  export interface UseTreeViewExpansionState {
76
76
  expansion: {
77
77
  expandedItems: string[];
@@ -90,7 +90,7 @@ interface UseTreeViewExpansionEventLookup {
90
90
  }
91
91
  export type UseTreeViewExpansionSignature = TreeViewPluginSignature<{
92
92
  params: UseTreeViewExpansionParameters;
93
- defaultizedParams: UseTreeViewExpansionDefaultizedParameters;
93
+ paramsWithDefaults: UseTreeViewExpansionParametersWithDefaults;
94
94
  instance: UseTreeViewExpansionInstance;
95
95
  publicAPI: UseTreeViewExpansionPublicAPI;
96
96
  modelNames: 'expandedItems';
@@ -1,6 +1,6 @@
1
- import { TreeViewUsedDefaultizedParams } from "../../models/index.js";
1
+ import { TreeViewUsedParamsWithDefaults } from "../../models/index.js";
2
2
  import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
3
3
  export declare const getExpansionTrigger: ({
4
4
  isItemEditable,
5
5
  expansionTrigger
6
- }: Pick<TreeViewUsedDefaultizedParams<UseTreeViewExpansionSignature>, "isItemEditable" | "expansionTrigger">) => "content" | "iconContainer";
6
+ }: Pick<TreeViewUsedParamsWithDefaults<UseTreeViewExpansionSignature>, "isItemEditable" | "expansionTrigger">) => "content" | "iconContainer";
@@ -1,2 +1,2 @@
1
1
  export { useTreeViewFocus } from "./useTreeViewFocus.js";
2
- export type { UseTreeViewFocusSignature, UseTreeViewFocusParameters, UseTreeViewFocusDefaultizedParameters } from "./useTreeViewFocus.types.js";
2
+ export type { UseTreeViewFocusSignature, UseTreeViewFocusParameters, UseTreeViewFocusParametersWithDefaults } from "./useTreeViewFocus.types.js";
@@ -28,7 +28,7 @@ export interface UseTreeViewFocusParameters {
28
28
  */
29
29
  onItemFocus?: (event: React.SyntheticEvent | null, itemId: string) => void;
30
30
  }
31
- export type UseTreeViewFocusDefaultizedParameters = UseTreeViewFocusParameters;
31
+ export type UseTreeViewFocusParametersWithDefaults = UseTreeViewFocusParameters;
32
32
  export interface UseTreeViewFocusState {
33
33
  focus: {
34
34
  focusedItemId: string | null;
@@ -36,7 +36,7 @@ export interface UseTreeViewFocusState {
36
36
  }
37
37
  export type UseTreeViewFocusSignature = TreeViewPluginSignature<{
38
38
  params: UseTreeViewFocusParameters;
39
- defaultizedParams: UseTreeViewFocusDefaultizedParameters;
39
+ paramsWithDefaults: UseTreeViewFocusParametersWithDefaults;
40
40
  instance: UseTreeViewFocusInstance;
41
41
  publicAPI: UseTreeViewFocusPublicAPI;
42
42
  state: UseTreeViewFocusState;
@@ -1,3 +1,3 @@
1
1
  export { useTreeViewItems } from "./useTreeViewItems.js";
2
- export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsDefaultizedParameters, UseTreeViewItemsState } from "./useTreeViewItems.types.js";
2
+ export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsParametersWithDefaults, UseTreeViewItemsState } from "./useTreeViewItems.types.js";
3
3
  export { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
@@ -300,7 +300,7 @@ useTreeViewItems.getInitialState = params => ({
300
300
  error: null
301
301
  })
302
302
  });
303
- useTreeViewItems.getDefaultizedParams = ({
303
+ useTreeViewItems.applyDefaultValuesToParams = ({
304
304
  params
305
305
  }) => _extends({}, params, {
306
306
  disabledItemsFocusable: params.disabledItemsFocusable ?? false,
@@ -137,7 +137,7 @@ export interface UseTreeViewItemsParameters<R extends {
137
137
  */
138
138
  itemChildrenIndentation?: string | number;
139
139
  }
140
- export type UseTreeViewItemsDefaultizedParameters<R extends {
140
+ export type UseTreeViewItemsParametersWithDefaults<R extends {
141
141
  children?: R[];
142
142
  }> = DefaultizedProps<UseTreeViewItemsParameters<R>, 'disabledItemsFocusable' | 'itemChildrenIndentation'>;
143
143
  interface UseTreeViewItemsEventLookup {
@@ -196,7 +196,7 @@ export interface UseTreeViewItemsState<R extends {}> {
196
196
  }
197
197
  export type UseTreeViewItemsSignature = TreeViewPluginSignature<{
198
198
  params: UseTreeViewItemsParameters<any>;
199
- defaultizedParams: UseTreeViewItemsDefaultizedParameters<any>;
199
+ paramsWithDefaults: UseTreeViewItemsParametersWithDefaults<any>;
200
200
  instance: UseTreeViewItemsInstance<any>;
201
201
  publicAPI: UseTreeViewItemsPublicAPI<any>;
202
202
  events: UseTreeViewItemsEventLookup;
@@ -1,2 +1,2 @@
1
1
  export { useTreeViewJSXItems } from "./useTreeViewJSXItems.js";
2
- export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters, UseTreeViewItemsDefaultizedParameters } from "./useTreeViewJSXItems.types.js";
2
+ export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters, UseTreeViewItemsParametersWithDefaults } from "./useTreeViewJSXItems.types.js";
@@ -26,10 +26,10 @@ export interface UseTreeViewItemsInstance {
26
26
  setJSXItemsOrderedChildrenIds: (parentId: TreeViewItemId | null, orderedChildrenIds: TreeViewItemId[]) => void;
27
27
  }
28
28
  export interface UseTreeViewJSXItemsParameters {}
29
- export interface UseTreeViewItemsDefaultizedParameters {}
29
+ export interface UseTreeViewItemsParametersWithDefaults {}
30
30
  export type UseTreeViewJSXItemsSignature = TreeViewPluginSignature<{
31
31
  params: UseTreeViewJSXItemsParameters;
32
- defaultizedParams: UseTreeViewItemsDefaultizedParameters;
32
+ paramsWithDefaults: UseTreeViewItemsParametersWithDefaults;
33
33
  instance: UseTreeViewItemsInstance;
34
34
  dependencies: [UseTreeViewItemsSignature, UseTreeViewKeyboardNavigationSignature];
35
35
  }>;
@@ -53,7 +53,7 @@ export const useTreeViewLabel = ({
53
53
  };
54
54
  };
55
55
  useTreeViewLabel.itemPlugin = useTreeViewLabelItemPlugin;
56
- useTreeViewLabel.getDefaultizedParams = ({
56
+ useTreeViewLabel.applyDefaultValuesToParams = ({
57
57
  params
58
58
  }) => _extends({}, params, {
59
59
  isItemEditable: params.isItemEditable ?? false
@@ -35,7 +35,7 @@ export interface UseTreeViewLabelParameters<R extends {}> {
35
35
  */
36
36
  isItemEditable?: boolean | ((item: R) => boolean);
37
37
  }
38
- export type UseTreeViewLabelDefaultizedParameters<R extends {}> = DefaultizedProps<UseTreeViewLabelParameters<R>, 'isItemEditable'>;
38
+ export type UseTreeViewLabelParametersWithDefaults<R extends {}> = DefaultizedProps<UseTreeViewLabelParameters<R>, 'isItemEditable'>;
39
39
  export interface UseTreeViewLabelState {
40
40
  label: {
41
41
  isItemEditable: ((item: any) => boolean) | boolean;
@@ -44,7 +44,7 @@ export interface UseTreeViewLabelState {
44
44
  }
45
45
  export type UseTreeViewLabelSignature = TreeViewPluginSignature<{
46
46
  params: UseTreeViewLabelParameters<any>;
47
- defaultizedParams: UseTreeViewLabelDefaultizedParameters<any>;
47
+ paramsWithDefaults: UseTreeViewLabelParametersWithDefaults<any>;
48
48
  publicAPI: UseTreeViewLabelPublicAPI;
49
49
  instance: UseTreeViewLabelInstance;
50
50
  state: UseTreeViewLabelState;