Skip to content

Commit 2375a65

Browse files
[TreeView] Support experimental features from plugin's dependencies (#13632)
1 parent b285e50 commit 2375a65

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

packages/x-tree-view/src/internals/models/plugin.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ export type TreeViewPluginSignature<
6767
>;
6868
}
6969
: {};
70-
experimentalFeatures: T['experimentalFeatures'];
70+
experimentalFeatures: T extends { experimentalFeatures: string }
71+
? { [key in T['experimentalFeatures']]?: boolean }
72+
: {};
7173
dependencies: T extends { dependencies: Array<any> } ? T['dependencies'] : [];
7274
optionalDependencies: T extends { optionalDependencies: Array<any> }
7375
? T['optionalDependencies']

packages/x-tree-view/src/internals/models/treeView.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ export type TreeViewPublicAPI<
3838

3939
export type TreeViewExperimentalFeatures<
4040
TSignatures extends readonly TreeViewAnyPluginSignature[],
41-
> = { [key in MergeSignaturesProperty<TSignatures, 'experimentalFeatures'>]?: boolean };
41+
TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = [],
42+
> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;

packages/x-tree-view/src/internals/useTreeView/extractPluginParamsFromProps.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,6 @@ export const extractPluginParamsFromProps = <
7171
pluginParams: defaultizedPluginParams,
7272
slots: slots ?? ({} as any),
7373
slotProps: slotProps ?? ({} as any),
74-
experimentalFeatures: experimentalFeatures ?? {},
74+
experimentalFeatures: experimentalFeatures ?? ({} as any),
7575
};
7676
};

0 commit comments

Comments
 (0)