@mui/x-tree-view-pro 7.12.0 → 7.13.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.
- package/{build/CHANGELOG.md → CHANGELOG.md} +151 -2
- package/{build/RichTreeViewPro → RichTreeViewPro}/RichTreeViewPro.js +21 -3
- package/{build/RichTreeViewPro → RichTreeViewPro}/RichTreeViewPro.plugins.d.ts +3 -3
- package/{build/RichTreeViewPro → RichTreeViewPro}/RichTreeViewPro.plugins.js +2 -2
- package/{build/index.js → index.js} +1 -1
- package/{build/modern/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +5 -4
- package/{build/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.d.ts +1 -1
- package/{build/internals → internals}/utils/releaseInfo.js +1 -1
- package/{build/modern → modern}/RichTreeViewPro/RichTreeViewPro.js +21 -3
- package/{build/modern → modern}/RichTreeViewPro/RichTreeViewPro.plugins.js +2 -2
- package/{build/modern → modern}/index.js +1 -1
- package/{build → modern}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +5 -4
- package/{build/modern → modern}/internals/utils/releaseInfo.js +1 -1
- package/{build/node → node}/RichTreeViewPro/RichTreeViewPro.js +21 -3
- package/{build/node → node}/RichTreeViewPro/RichTreeViewPro.plugins.js +1 -1
- package/{build/node → node}/index.js +1 -1
- package/{build/node → node}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.js +5 -4
- package/{build/node → node}/internals/utils/releaseInfo.js +1 -1
- package/package.json +17 -20
- package/build/LICENSE +0 -11
- package/build/README.md +0 -26
- package/build/package.json +0 -59
- package/src/RichTreeViewPro/RichTreeViewPro.plugins.ts +0 -54
- package/src/RichTreeViewPro/RichTreeViewPro.test.tsx +0 -20
- package/src/RichTreeViewPro/RichTreeViewPro.tsx +0 -383
- package/src/RichTreeViewPro/RichTreeViewPro.types.ts +0 -80
- package/src/RichTreeViewPro/index.ts +0 -8
- package/src/RichTreeViewPro/richTreeViewProClasses.ts +0 -18
- package/src/index.ts +0 -17
- package/src/internals/index.ts +0 -1
- package/src/internals/plugins/useTreeViewItemsReordering/index.ts +0 -7
- package/src/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.ts +0 -155
- package/src/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.test.tsx +0 -370
- package/src/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.ts +0 -278
- package/src/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.ts +0 -160
- package/src/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.ts +0 -199
- package/src/internals/utils/releaseInfo.ts +0 -15
- package/src/internals/zero-styled/index.ts +0 -8
- package/src/themeAugmentation/components.d.ts +0 -13
- package/src/themeAugmentation/index.js +0 -1
- package/src/themeAugmentation/index.ts +0 -3
- package/src/themeAugmentation/overrides.d.ts +0 -13
- package/src/themeAugmentation/props.d.ts +0 -12
- package/src/themeAugmentation/themeAugmentation.spec.ts +0 -26
- package/tsconfig.build.json +0 -21
- package/tsconfig.build.tsbuildinfo +0 -1
- package/tsconfig.json +0 -14
- /package/{build/RichTreeViewPro → RichTreeViewPro}/RichTreeViewPro.d.ts +0 -0
- /package/{build/RichTreeViewPro → RichTreeViewPro}/RichTreeViewPro.types.d.ts +0 -0
- /package/{build/RichTreeViewPro → RichTreeViewPro}/RichTreeViewPro.types.js +0 -0
- /package/{build/RichTreeViewPro → RichTreeViewPro}/index.d.ts +0 -0
- /package/{build/RichTreeViewPro → RichTreeViewPro}/index.js +0 -0
- /package/{build/RichTreeViewPro → RichTreeViewPro}/package.json +0 -0
- /package/{build/RichTreeViewPro → RichTreeViewPro}/richTreeViewProClasses.d.ts +0 -0
- /package/{build/RichTreeViewPro → RichTreeViewPro}/richTreeViewProClasses.js +0 -0
- /package/{build/index.d.ts → index.d.ts} +0 -0
- /package/{build/internals → internals}/index.d.ts +0 -0
- /package/{build/internals → internals}/index.js +0 -0
- /package/{build/internals → internals}/package.json +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/index.d.ts +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/index.js +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.d.ts +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.d.ts +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.d.ts +0 -0
- /package/{build/internals → internals}/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +0 -0
- /package/{build/internals → internals}/utils/releaseInfo.d.ts +0 -0
- /package/{build/internals → internals}/zero-styled/index.d.ts +0 -0
- /package/{build/internals → internals}/zero-styled/index.js +0 -0
- /package/{build/modern → modern}/RichTreeViewPro/RichTreeViewPro.types.js +0 -0
- /package/{build/modern → modern}/RichTreeViewPro/index.js +0 -0
- /package/{build/modern → modern}/RichTreeViewPro/richTreeViewProClasses.js +0 -0
- /package/{build/modern → modern}/internals/index.js +0 -0
- /package/{build/modern → modern}/internals/plugins/useTreeViewItemsReordering/index.js +0 -0
- /package/{build/modern → modern}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +0 -0
- /package/{build/modern → modern}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +0 -0
- /package/{build/modern → modern}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +0 -0
- /package/{build/modern → modern}/internals/zero-styled/index.js +0 -0
- /package/{build/modern → modern}/themeAugmentation/index.js +0 -0
- /package/{build/node → node}/RichTreeViewPro/RichTreeViewPro.types.js +0 -0
- /package/{build/node → node}/RichTreeViewPro/index.js +0 -0
- /package/{build/node → node}/RichTreeViewPro/richTreeViewProClasses.js +0 -0
- /package/{build/node → node}/internals/index.js +0 -0
- /package/{build/node → node}/internals/plugins/useTreeViewItemsReordering/index.js +0 -0
- /package/{build/node → node}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.itemPlugin.js +0 -0
- /package/{build/node → node}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.types.js +0 -0
- /package/{build/node → node}/internals/plugins/useTreeViewItemsReordering/useTreeViewItemsReordering.utils.js +0 -0
- /package/{build/node → node}/internals/zero-styled/index.js +0 -0
- /package/{build/node → node}/themeAugmentation/index.js +0 -0
- /package/{build/themeAugmentation → themeAugmentation}/components.d.ts +0 -0
- /package/{build/themeAugmentation → themeAugmentation}/index.d.ts +0 -0
- /package/{build/themeAugmentation → themeAugmentation}/index.js +0 -0
- /package/{build/themeAugmentation → themeAugmentation}/overrides.d.ts +0 -0
- /package/{build/themeAugmentation → themeAugmentation}/package.json +0 -0
- /package/{build/themeAugmentation → themeAugmentation}/props.d.ts +0 -0
package/build/package.json
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@mui/x-tree-view-pro",
|
|
3
|
-
"version": "7.12.0",
|
|
4
|
-
"description": "The Pro plan edition of the Tree View components (MUI X).",
|
|
5
|
-
"author": "MUI Team",
|
|
6
|
-
"main": "./node/index.js",
|
|
7
|
-
"license": "SEE LICENSE IN LICENSE",
|
|
8
|
-
"bugs": {
|
|
9
|
-
"url": "https://github.com/mui/mui-x/issues"
|
|
10
|
-
},
|
|
11
|
-
"homepage": "https://mui.com/x/react-tree-view/",
|
|
12
|
-
"funding": {
|
|
13
|
-
"type": "opencollective",
|
|
14
|
-
"url": "https://opencollective.com/mui-org"
|
|
15
|
-
},
|
|
16
|
-
"sideEffects": false,
|
|
17
|
-
"publishConfig": {
|
|
18
|
-
"access": "public"
|
|
19
|
-
},
|
|
20
|
-
"keywords": [
|
|
21
|
-
"react",
|
|
22
|
-
"react-component",
|
|
23
|
-
"mui",
|
|
24
|
-
"mui-x",
|
|
25
|
-
"material-ui",
|
|
26
|
-
"material design",
|
|
27
|
-
"treeview"
|
|
28
|
-
],
|
|
29
|
-
"repository": {
|
|
30
|
-
"type": "git",
|
|
31
|
-
"url": "https://github.com/mui/mui-x.git",
|
|
32
|
-
"directory": "packages/x-tree-view-pro"
|
|
33
|
-
},
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@babel/runtime": "^7.25.0",
|
|
36
|
-
"@mui/system": "^5.16.5",
|
|
37
|
-
"@mui/utils": "^5.16.5",
|
|
38
|
-
"@mui/x-internals": "workspace:*",
|
|
39
|
-
"@mui/x-license": "workspace:*",
|
|
40
|
-
"@mui/x-tree-view": "workspace:*",
|
|
41
|
-
"@types/react-transition-group": "^4.4.10",
|
|
42
|
-
"clsx": "^2.1.1",
|
|
43
|
-
"prop-types": "^15.8.1",
|
|
44
|
-
"react-transition-group": "^4.4.5"
|
|
45
|
-
},
|
|
46
|
-
"peerDependencies": {
|
|
47
|
-
"@emotion/react": "^11.9.0",
|
|
48
|
-
"@emotion/styled": "^11.8.1",
|
|
49
|
-
"@mui/material": "^5.15.14",
|
|
50
|
-
"react": "^17.0.0 || ^18.0.0",
|
|
51
|
-
"react-dom": "^17.0.0 || ^18.0.0"
|
|
52
|
-
},
|
|
53
|
-
"engines": {
|
|
54
|
-
"node": ">=14.0.0"
|
|
55
|
-
},
|
|
56
|
-
"private": false,
|
|
57
|
-
"module": "./index.js",
|
|
58
|
-
"types": "./index.d.ts"
|
|
59
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useTreeViewItems,
|
|
3
|
-
UseTreeViewItemsParameters,
|
|
4
|
-
useTreeViewExpansion,
|
|
5
|
-
UseTreeViewExpansionParameters,
|
|
6
|
-
useTreeViewSelection,
|
|
7
|
-
UseTreeViewSelectionParameters,
|
|
8
|
-
useTreeViewFocus,
|
|
9
|
-
UseTreeViewFocusParameters,
|
|
10
|
-
useTreeViewKeyboardNavigation,
|
|
11
|
-
useTreeViewIcons,
|
|
12
|
-
UseTreeViewIconsParameters,
|
|
13
|
-
ConvertPluginsIntoSignatures,
|
|
14
|
-
MergeSignaturesProperty,
|
|
15
|
-
TreeViewCorePluginParameters,
|
|
16
|
-
} from '@mui/x-tree-view/internals';
|
|
17
|
-
import {
|
|
18
|
-
useTreeViewItemsReordering,
|
|
19
|
-
UseTreeViewItemsReorderingParameters,
|
|
20
|
-
} from '../internals/plugins/useTreeViewItemsReordering';
|
|
21
|
-
|
|
22
|
-
export const RICH_TREE_VIEW_PRO_PLUGINS = [
|
|
23
|
-
useTreeViewItems,
|
|
24
|
-
useTreeViewExpansion,
|
|
25
|
-
useTreeViewSelection,
|
|
26
|
-
useTreeViewFocus,
|
|
27
|
-
useTreeViewKeyboardNavigation,
|
|
28
|
-
useTreeViewIcons,
|
|
29
|
-
useTreeViewItemsReordering,
|
|
30
|
-
] as const;
|
|
31
|
-
|
|
32
|
-
export type RichTreeViewProPluginSignatures = ConvertPluginsIntoSignatures<
|
|
33
|
-
typeof RICH_TREE_VIEW_PRO_PLUGINS
|
|
34
|
-
>;
|
|
35
|
-
|
|
36
|
-
export type RichTreeViewProPluginSlots = MergeSignaturesProperty<
|
|
37
|
-
RichTreeViewProPluginSignatures,
|
|
38
|
-
'slots'
|
|
39
|
-
>;
|
|
40
|
-
|
|
41
|
-
export type RichTreeViewProPluginSlotProps = MergeSignaturesProperty<
|
|
42
|
-
RichTreeViewProPluginSignatures,
|
|
43
|
-
'slotProps'
|
|
44
|
-
>;
|
|
45
|
-
|
|
46
|
-
// We can't infer this type from the plugin, otherwise we would lose the generics.
|
|
47
|
-
export interface RichTreeViewProPluginParameters<R extends {}, Multiple extends boolean | undefined>
|
|
48
|
-
extends TreeViewCorePluginParameters,
|
|
49
|
-
UseTreeViewItemsParameters<R>,
|
|
50
|
-
UseTreeViewExpansionParameters,
|
|
51
|
-
UseTreeViewFocusParameters,
|
|
52
|
-
UseTreeViewSelectionParameters<Multiple>,
|
|
53
|
-
UseTreeViewIconsParameters,
|
|
54
|
-
UseTreeViewItemsReorderingParameters {}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { createRenderer } from '@mui/internal-test-utils';
|
|
3
|
-
import {
|
|
4
|
-
RichTreeViewPro,
|
|
5
|
-
richTreeViewProClasses as classes,
|
|
6
|
-
} from '@mui/x-tree-view-pro/RichTreeViewPro';
|
|
7
|
-
import { describeConformance } from 'test/utils/describeConformance';
|
|
8
|
-
|
|
9
|
-
describe('<RichTreeViewPro />', () => {
|
|
10
|
-
const { render } = createRenderer();
|
|
11
|
-
|
|
12
|
-
describeConformance(<RichTreeViewPro items={[]} />, () => ({
|
|
13
|
-
classes,
|
|
14
|
-
inheritComponent: 'ul',
|
|
15
|
-
render,
|
|
16
|
-
refInstanceof: window.HTMLUListElement,
|
|
17
|
-
muiName: 'MuiRichTreeViewPro',
|
|
18
|
-
skip: ['componentProp', 'componentsProp', 'themeVariants'],
|
|
19
|
-
}));
|
|
20
|
-
});
|
|
@@ -1,383 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import composeClasses from '@mui/utils/composeClasses';
|
|
4
|
-
import { useLicenseVerifier, Watermark } from '@mui/x-license';
|
|
5
|
-
import useSlotProps from '@mui/utils/useSlotProps';
|
|
6
|
-
import { TreeItem, TreeItemProps } from '@mui/x-tree-view/TreeItem';
|
|
7
|
-
import { useTreeView, TreeViewProvider, warnOnce } from '@mui/x-tree-view/internals';
|
|
8
|
-
import { styled, createUseThemeProps } from '../internals/zero-styled';
|
|
9
|
-
import { getRichTreeViewProUtilityClass } from './richTreeViewProClasses';
|
|
10
|
-
import { RichTreeViewProProps } from './RichTreeViewPro.types';
|
|
11
|
-
import {
|
|
12
|
-
RICH_TREE_VIEW_PRO_PLUGINS,
|
|
13
|
-
RichTreeViewProPluginSignatures,
|
|
14
|
-
} from './RichTreeViewPro.plugins';
|
|
15
|
-
import { getReleaseInfo } from '../internals/utils/releaseInfo';
|
|
16
|
-
|
|
17
|
-
const useThemeProps = createUseThemeProps('MuiRichTreeViewPro');
|
|
18
|
-
|
|
19
|
-
const useUtilityClasses = <R extends {}, Multiple extends boolean | undefined>(
|
|
20
|
-
ownerState: RichTreeViewProProps<R, Multiple>,
|
|
21
|
-
) => {
|
|
22
|
-
const { classes } = ownerState;
|
|
23
|
-
|
|
24
|
-
const slots = {
|
|
25
|
-
root: ['root'],
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
return composeClasses(slots, getRichTreeViewProUtilityClass, classes);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export const RichTreeViewProRoot = styled('ul', {
|
|
32
|
-
name: 'MuiRichTreeViewPro',
|
|
33
|
-
slot: 'Root',
|
|
34
|
-
overridesResolver: (props, styles) => styles.root,
|
|
35
|
-
})<{ ownerState: RichTreeViewProProps<any, any> }>({
|
|
36
|
-
padding: 0,
|
|
37
|
-
margin: 0,
|
|
38
|
-
listStyle: 'none',
|
|
39
|
-
outline: 0,
|
|
40
|
-
position: 'relative',
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
type RichTreeViewProComponent = (<R extends {}, Multiple extends boolean | undefined = undefined>(
|
|
44
|
-
props: RichTreeViewProProps<R, Multiple> & React.RefAttributes<HTMLUListElement>,
|
|
45
|
-
) => React.JSX.Element) & { propTypes?: any };
|
|
46
|
-
|
|
47
|
-
function WrappedTreeItem<R extends {}>({
|
|
48
|
-
slots,
|
|
49
|
-
slotProps,
|
|
50
|
-
label,
|
|
51
|
-
id,
|
|
52
|
-
itemId,
|
|
53
|
-
children,
|
|
54
|
-
}: Pick<RichTreeViewProProps<R, any>, 'slots' | 'slotProps'> &
|
|
55
|
-
Pick<TreeItemProps, 'id' | 'itemId' | 'children'> & { label: string }) {
|
|
56
|
-
const Item = slots?.item ?? TreeItem;
|
|
57
|
-
const itemProps = useSlotProps({
|
|
58
|
-
elementType: Item,
|
|
59
|
-
externalSlotProps: slotProps?.item,
|
|
60
|
-
additionalProps: { itemId, id, label },
|
|
61
|
-
ownerState: { itemId, label },
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
return <Item {...itemProps}>{children}</Item>;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
WrappedTreeItem.propTypes = {
|
|
68
|
-
// ----------------------------- Warning --------------------------------
|
|
69
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
70
|
-
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
71
|
-
// ----------------------------------------------------------------------
|
|
72
|
-
/**
|
|
73
|
-
* The content of the component.
|
|
74
|
-
*/
|
|
75
|
-
children: PropTypes.node,
|
|
76
|
-
/**
|
|
77
|
-
* The id of the item.
|
|
78
|
-
*/
|
|
79
|
-
itemId: PropTypes.string.isRequired,
|
|
80
|
-
label: PropTypes.string.isRequired,
|
|
81
|
-
/**
|
|
82
|
-
* The props used for each component slot.
|
|
83
|
-
* @default {}
|
|
84
|
-
*/
|
|
85
|
-
slotProps: PropTypes.object,
|
|
86
|
-
/**
|
|
87
|
-
* Overridable component slots.
|
|
88
|
-
* @default {}
|
|
89
|
-
*/
|
|
90
|
-
slots: PropTypes.object,
|
|
91
|
-
} as any;
|
|
92
|
-
|
|
93
|
-
const releaseInfo = getReleaseInfo();
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
*
|
|
97
|
-
* Demos:
|
|
98
|
-
*
|
|
99
|
-
* - [Tree View](https://mui.com/x/react-tree-view/)
|
|
100
|
-
*
|
|
101
|
-
* API:
|
|
102
|
-
*
|
|
103
|
-
* - [RichTreeView API](https://mui.com/x/api/tree-view/rich-tree-view/)
|
|
104
|
-
*/
|
|
105
|
-
const RichTreeViewPro = React.forwardRef(function RichTreeViewPro<
|
|
106
|
-
R extends {},
|
|
107
|
-
Multiple extends boolean | undefined = undefined,
|
|
108
|
-
>(inProps: RichTreeViewProProps<R, Multiple>, ref: React.Ref<HTMLUListElement>) {
|
|
109
|
-
const props = useThemeProps({ props: inProps, name: 'MuiRichTreeViewPro' });
|
|
110
|
-
|
|
111
|
-
useLicenseVerifier('x-tree-view-pro', releaseInfo);
|
|
112
|
-
|
|
113
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
114
|
-
if ((props as any).children != null) {
|
|
115
|
-
warnOnce([
|
|
116
|
-
'MUI X: The `RichTreeViewPro` component does not support JSX children.',
|
|
117
|
-
'If you want to add items, you need to use the `items` prop.',
|
|
118
|
-
'Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/.',
|
|
119
|
-
]);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const { getRootProps, contextValue, instance } = useTreeView<
|
|
124
|
-
RichTreeViewProPluginSignatures,
|
|
125
|
-
typeof props
|
|
126
|
-
>({
|
|
127
|
-
plugins: RICH_TREE_VIEW_PRO_PLUGINS,
|
|
128
|
-
rootRef: ref,
|
|
129
|
-
props,
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
const { slots, slotProps } = props;
|
|
133
|
-
const classes = useUtilityClasses(props);
|
|
134
|
-
|
|
135
|
-
const Root = slots?.root ?? RichTreeViewProRoot;
|
|
136
|
-
const rootProps = useSlotProps({
|
|
137
|
-
elementType: Root,
|
|
138
|
-
externalSlotProps: slotProps?.root,
|
|
139
|
-
className: classes.root,
|
|
140
|
-
getSlotProps: getRootProps,
|
|
141
|
-
ownerState: props as RichTreeViewProProps<any, any>,
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
const itemsToRender = instance.getItemsToRender();
|
|
145
|
-
|
|
146
|
-
const renderItem = ({
|
|
147
|
-
label,
|
|
148
|
-
itemId,
|
|
149
|
-
id,
|
|
150
|
-
children,
|
|
151
|
-
}: ReturnType<typeof instance.getItemsToRender>[number]) => {
|
|
152
|
-
return (
|
|
153
|
-
<WrappedTreeItem
|
|
154
|
-
slots={slots}
|
|
155
|
-
slotProps={slotProps}
|
|
156
|
-
key={itemId}
|
|
157
|
-
label={label}
|
|
158
|
-
id={id}
|
|
159
|
-
itemId={itemId}
|
|
160
|
-
>
|
|
161
|
-
{children?.map(renderItem)}
|
|
162
|
-
</WrappedTreeItem>
|
|
163
|
-
);
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
return (
|
|
167
|
-
<TreeViewProvider value={contextValue}>
|
|
168
|
-
<Root {...rootProps}>
|
|
169
|
-
{itemsToRender.map(renderItem)}
|
|
170
|
-
<Watermark packageName="x-tree-view-pro" releaseInfo={releaseInfo} />
|
|
171
|
-
</Root>
|
|
172
|
-
</TreeViewProvider>
|
|
173
|
-
);
|
|
174
|
-
}) as RichTreeViewProComponent;
|
|
175
|
-
|
|
176
|
-
RichTreeViewPro.propTypes = {
|
|
177
|
-
// ----------------------------- Warning --------------------------------
|
|
178
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
179
|
-
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
180
|
-
// ----------------------------------------------------------------------
|
|
181
|
-
/**
|
|
182
|
-
* The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
|
|
183
|
-
*/
|
|
184
|
-
apiRef: PropTypes.shape({
|
|
185
|
-
current: PropTypes.shape({
|
|
186
|
-
focusItem: PropTypes.func.isRequired,
|
|
187
|
-
getItem: PropTypes.func.isRequired,
|
|
188
|
-
getItemDOMElement: PropTypes.func.isRequired,
|
|
189
|
-
getItemOrderedChildrenIds: PropTypes.func.isRequired,
|
|
190
|
-
getItemTree: PropTypes.func.isRequired,
|
|
191
|
-
selectItem: PropTypes.func.isRequired,
|
|
192
|
-
setItemExpansion: PropTypes.func.isRequired,
|
|
193
|
-
}),
|
|
194
|
-
}),
|
|
195
|
-
/**
|
|
196
|
-
* Used to determine if a given item can move to some new position.
|
|
197
|
-
* @param {object} params The params describing the item re-ordering.
|
|
198
|
-
* @param {string} params.itemId The id of the item to check.
|
|
199
|
-
* @param {TreeViewItemReorderPosition} params.oldPosition The old position of the item.
|
|
200
|
-
* @param {TreeViewItemReorderPosition} params.newPosition The new position of the item.
|
|
201
|
-
* @returns {boolean} `true` if the item can move to the new position.
|
|
202
|
-
*/
|
|
203
|
-
canMoveItemToNewPosition: PropTypes.func,
|
|
204
|
-
/**
|
|
205
|
-
* If `true`, the tree view renders a checkbox at the left of its label that allows selecting it.
|
|
206
|
-
* @default false
|
|
207
|
-
*/
|
|
208
|
-
checkboxSelection: PropTypes.bool,
|
|
209
|
-
/**
|
|
210
|
-
* Override or extend the styles applied to the component.
|
|
211
|
-
*/
|
|
212
|
-
classes: PropTypes.object,
|
|
213
|
-
className: PropTypes.string,
|
|
214
|
-
/**
|
|
215
|
-
* Expanded item ids.
|
|
216
|
-
* Used when the item's expansion is not controlled.
|
|
217
|
-
* @default []
|
|
218
|
-
*/
|
|
219
|
-
defaultExpandedItems: PropTypes.arrayOf(PropTypes.string),
|
|
220
|
-
/**
|
|
221
|
-
* Selected item ids. (Uncontrolled)
|
|
222
|
-
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
223
|
-
* @default []
|
|
224
|
-
*/
|
|
225
|
-
defaultSelectedItems: PropTypes.any,
|
|
226
|
-
/**
|
|
227
|
-
* If `true`, will allow focus on disabled items.
|
|
228
|
-
* @default false
|
|
229
|
-
*/
|
|
230
|
-
disabledItemsFocusable: PropTypes.bool,
|
|
231
|
-
/**
|
|
232
|
-
* If `true` selection is disabled.
|
|
233
|
-
* @default false
|
|
234
|
-
*/
|
|
235
|
-
disableSelection: PropTypes.bool,
|
|
236
|
-
/**
|
|
237
|
-
* Expanded item ids.
|
|
238
|
-
* Used when the item's expansion is controlled.
|
|
239
|
-
*/
|
|
240
|
-
expandedItems: PropTypes.arrayOf(PropTypes.string),
|
|
241
|
-
/**
|
|
242
|
-
* The slot that triggers the item's expansion when clicked.
|
|
243
|
-
* @default 'content'
|
|
244
|
-
*/
|
|
245
|
-
expansionTrigger: PropTypes.oneOf(['content', 'iconContainer']),
|
|
246
|
-
/**
|
|
247
|
-
* Unstable features, breaking changes might be introduced.
|
|
248
|
-
* For each feature, if the flag is not explicitly set to `true`,
|
|
249
|
-
* the feature will be fully disabled and any property / method call will not have any effect.
|
|
250
|
-
*/
|
|
251
|
-
experimentalFeatures: PropTypes.shape({
|
|
252
|
-
indentationAtItemLevel: PropTypes.bool,
|
|
253
|
-
itemsReordering: PropTypes.bool,
|
|
254
|
-
}),
|
|
255
|
-
/**
|
|
256
|
-
* Used to determine the id of a given item.
|
|
257
|
-
*
|
|
258
|
-
* @template R
|
|
259
|
-
* @param {R} item The item to check.
|
|
260
|
-
* @returns {string} The id of the item.
|
|
261
|
-
* @default (item) => item.id
|
|
262
|
-
*/
|
|
263
|
-
getItemId: PropTypes.func,
|
|
264
|
-
/**
|
|
265
|
-
* Used to determine the string label for a given item.
|
|
266
|
-
*
|
|
267
|
-
* @template R
|
|
268
|
-
* @param {R} item The item to check.
|
|
269
|
-
* @returns {string} The label of the item.
|
|
270
|
-
* @default (item) => item.label
|
|
271
|
-
*/
|
|
272
|
-
getItemLabel: PropTypes.func,
|
|
273
|
-
/**
|
|
274
|
-
* This prop is used to help implement the accessibility logic.
|
|
275
|
-
* If you don't provide this prop. It falls back to a randomly generated id.
|
|
276
|
-
*/
|
|
277
|
-
id: PropTypes.string,
|
|
278
|
-
/**
|
|
279
|
-
* Used to determine if a given item should be disabled.
|
|
280
|
-
* @template R
|
|
281
|
-
* @param {R} item The item to check.
|
|
282
|
-
* @returns {boolean} `true` if the item should be disabled.
|
|
283
|
-
*/
|
|
284
|
-
isItemDisabled: PropTypes.func,
|
|
285
|
-
/**
|
|
286
|
-
* Used to determine if a given item can be reordered.
|
|
287
|
-
* @param {string} itemId The id of the item to check.
|
|
288
|
-
* @returns {boolean} `true` if the item can be reordered.
|
|
289
|
-
* @default () => true
|
|
290
|
-
*/
|
|
291
|
-
isItemReorderable: PropTypes.func,
|
|
292
|
-
/**
|
|
293
|
-
* Horizontal indentation between an item and its children.
|
|
294
|
-
* Examples: 24, "24px", "2rem", "2em".
|
|
295
|
-
* @default 12px
|
|
296
|
-
*/
|
|
297
|
-
itemChildrenIndentation: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
298
|
-
items: PropTypes.array.isRequired,
|
|
299
|
-
/**
|
|
300
|
-
* If `true`, the reordering of items is enabled.
|
|
301
|
-
* Make sure to also enable the `itemsReordering` experimental feature:
|
|
302
|
-
* `<RichTreeViewPro experimentalFeatures={{ itemsReordering: true }} itemsReordering />`.
|
|
303
|
-
* @default false
|
|
304
|
-
*/
|
|
305
|
-
itemsReordering: PropTypes.bool,
|
|
306
|
-
/**
|
|
307
|
-
* If `true`, `ctrl` and `shift` will trigger multiselect.
|
|
308
|
-
* @default false
|
|
309
|
-
*/
|
|
310
|
-
multiSelect: PropTypes.bool,
|
|
311
|
-
/**
|
|
312
|
-
* Callback fired when tree items are expanded/collapsed.
|
|
313
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
314
|
-
* @param {array} itemIds The ids of the expanded items.
|
|
315
|
-
*/
|
|
316
|
-
onExpandedItemsChange: PropTypes.func,
|
|
317
|
-
/**
|
|
318
|
-
* Callback fired when the `content` slot of a given tree item is clicked.
|
|
319
|
-
* @param {React.MouseEvent} event The DOM event that triggered the change.
|
|
320
|
-
* @param {string} itemId The id of the focused item.
|
|
321
|
-
*/
|
|
322
|
-
onItemClick: PropTypes.func,
|
|
323
|
-
/**
|
|
324
|
-
* Callback fired when a tree item is expanded or collapsed.
|
|
325
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
326
|
-
* @param {array} itemId The itemId of the modified item.
|
|
327
|
-
* @param {array} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
|
|
328
|
-
*/
|
|
329
|
-
onItemExpansionToggle: PropTypes.func,
|
|
330
|
-
/**
|
|
331
|
-
* Callback fired when a given tree item is focused.
|
|
332
|
-
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. **Warning**: This is a generic event not a focus event.
|
|
333
|
-
* @param {string} itemId The id of the focused item.
|
|
334
|
-
*/
|
|
335
|
-
onItemFocus: PropTypes.func,
|
|
336
|
-
/**
|
|
337
|
-
* Callback fired when a tree item is moved in the tree.
|
|
338
|
-
* @param {object} params The params describing the item re-ordering.
|
|
339
|
-
* @param {string} params.itemId The id of the item moved.
|
|
340
|
-
* @param {TreeViewItemReorderPosition} params.oldPosition The old position of the item.
|
|
341
|
-
* @param {TreeViewItemReorderPosition} params.newPosition The new position of the item.
|
|
342
|
-
*/
|
|
343
|
-
onItemPositionChange: PropTypes.func,
|
|
344
|
-
/**
|
|
345
|
-
* Callback fired when a tree item is selected or deselected.
|
|
346
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
347
|
-
* @param {array} itemId The itemId of the modified item.
|
|
348
|
-
* @param {array} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
|
|
349
|
-
*/
|
|
350
|
-
onItemSelectionToggle: PropTypes.func,
|
|
351
|
-
/**
|
|
352
|
-
* Callback fired when tree items are selected/deselected.
|
|
353
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
354
|
-
* @param {string[] | string} itemIds The ids of the selected items.
|
|
355
|
-
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
|
|
356
|
-
*/
|
|
357
|
-
onSelectedItemsChange: PropTypes.func,
|
|
358
|
-
/**
|
|
359
|
-
* Selected item ids. (Controlled)
|
|
360
|
-
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
361
|
-
*/
|
|
362
|
-
selectedItems: PropTypes.any,
|
|
363
|
-
/**
|
|
364
|
-
* The props used for each component slot.
|
|
365
|
-
* @default {}
|
|
366
|
-
*/
|
|
367
|
-
slotProps: PropTypes.object,
|
|
368
|
-
/**
|
|
369
|
-
* Overridable component slots.
|
|
370
|
-
* @default {}
|
|
371
|
-
*/
|
|
372
|
-
slots: PropTypes.object,
|
|
373
|
-
/**
|
|
374
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
375
|
-
*/
|
|
376
|
-
sx: PropTypes.oneOfType([
|
|
377
|
-
PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])),
|
|
378
|
-
PropTypes.func,
|
|
379
|
-
PropTypes.object,
|
|
380
|
-
]),
|
|
381
|
-
} as any;
|
|
382
|
-
|
|
383
|
-
export { RichTreeViewPro };
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Theme } from '@mui/material/styles';
|
|
3
|
-
import { SxProps } from '@mui/system';
|
|
4
|
-
import { SlotComponentProps } from '@mui/utils';
|
|
5
|
-
import { TreeItem, TreeItemProps } from '@mui/x-tree-view/TreeItem';
|
|
6
|
-
import { TreeItem2Props } from '@mui/x-tree-view/TreeItem2';
|
|
7
|
-
import { TreeViewItemId } from '@mui/x-tree-view/models';
|
|
8
|
-
import { TreeViewPublicAPI, TreeViewExperimentalFeatures } from '@mui/x-tree-view/internals';
|
|
9
|
-
import { RichTreeViewProClasses } from './richTreeViewProClasses';
|
|
10
|
-
import {
|
|
11
|
-
RichTreeViewProPluginParameters,
|
|
12
|
-
RichTreeViewProPluginSlotProps,
|
|
13
|
-
RichTreeViewProPluginSlots,
|
|
14
|
-
RichTreeViewProPluginSignatures,
|
|
15
|
-
} from './RichTreeViewPro.plugins';
|
|
16
|
-
|
|
17
|
-
interface RichTreeViewItemProSlotOwnerState {
|
|
18
|
-
itemId: TreeViewItemId;
|
|
19
|
-
label: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface RichTreeViewProSlots extends RichTreeViewProPluginSlots {
|
|
23
|
-
/**
|
|
24
|
-
* Element rendered at the root.
|
|
25
|
-
* @default RichTreeViewProRoot
|
|
26
|
-
*/
|
|
27
|
-
root?: React.ElementType;
|
|
28
|
-
/**
|
|
29
|
-
* Custom component for the item.
|
|
30
|
-
* @default TreeItem.
|
|
31
|
-
*/
|
|
32
|
-
item?: React.JSXElementConstructor<TreeItemProps> | React.JSXElementConstructor<TreeItem2Props>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface RichTreeViewProSlotProps<R extends {}, Multiple extends boolean | undefined>
|
|
36
|
-
extends RichTreeViewProPluginSlotProps {
|
|
37
|
-
root?: SlotComponentProps<'ul', {}, RichTreeViewProProps<R, Multiple>>;
|
|
38
|
-
item?: SlotComponentProps<typeof TreeItem, {}, RichTreeViewItemProSlotOwnerState>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export type RichTreeViewProApiRef = React.MutableRefObject<
|
|
42
|
-
TreeViewPublicAPI<RichTreeViewProPluginSignatures> | undefined
|
|
43
|
-
>;
|
|
44
|
-
|
|
45
|
-
export interface RichTreeViewProPropsBase extends React.HTMLAttributes<HTMLUListElement> {
|
|
46
|
-
className?: string;
|
|
47
|
-
/**
|
|
48
|
-
* Override or extend the styles applied to the component.
|
|
49
|
-
*/
|
|
50
|
-
classes?: Partial<RichTreeViewProClasses>;
|
|
51
|
-
/**
|
|
52
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
53
|
-
*/
|
|
54
|
-
sx?: SxProps<Theme>;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface RichTreeViewProProps<R extends {}, Multiple extends boolean | undefined>
|
|
58
|
-
extends RichTreeViewProPluginParameters<R, Multiple>,
|
|
59
|
-
RichTreeViewProPropsBase {
|
|
60
|
-
/**
|
|
61
|
-
* Overridable component slots.
|
|
62
|
-
* @default {}
|
|
63
|
-
*/
|
|
64
|
-
slots?: RichTreeViewProSlots;
|
|
65
|
-
/**
|
|
66
|
-
* The props used for each component slot.
|
|
67
|
-
* @default {}
|
|
68
|
-
*/
|
|
69
|
-
slotProps?: RichTreeViewProSlotProps<R, Multiple>;
|
|
70
|
-
/**
|
|
71
|
-
* The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
|
|
72
|
-
*/
|
|
73
|
-
apiRef?: RichTreeViewProApiRef;
|
|
74
|
-
/**
|
|
75
|
-
* Unstable features, breaking changes might be introduced.
|
|
76
|
-
* For each feature, if the flag is not explicitly set to `true`,
|
|
77
|
-
* the feature will be fully disabled and any property / method call will not have any effect.
|
|
78
|
-
*/
|
|
79
|
-
experimentalFeatures?: TreeViewExperimentalFeatures<RichTreeViewProPluginSignatures>;
|
|
80
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
|
-
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
3
|
-
|
|
4
|
-
export interface RichTreeViewProClasses {
|
|
5
|
-
/** Styles applied to the root element. */
|
|
6
|
-
root: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export type RichTreeViewProClassKey = keyof RichTreeViewProClasses;
|
|
10
|
-
|
|
11
|
-
export function getRichTreeViewProUtilityClass(slot: string): string {
|
|
12
|
-
return generateUtilityClass('MuiRichTreeViewPro', slot);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const richTreeViewProClasses: RichTreeViewProClasses = generateUtilityClasses(
|
|
16
|
-
'MuiRichTreeViewPro',
|
|
17
|
-
['root'],
|
|
18
|
-
);
|
package/src/index.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// Tree View
|
|
2
|
-
export * from '@mui/x-tree-view/TreeView';
|
|
3
|
-
export * from '@mui/x-tree-view/SimpleTreeView';
|
|
4
|
-
export * from './RichTreeViewPro';
|
|
5
|
-
|
|
6
|
-
// Tree Item
|
|
7
|
-
export * from '@mui/x-tree-view/TreeItem';
|
|
8
|
-
export * from '@mui/x-tree-view/TreeItem2';
|
|
9
|
-
export * from '@mui/x-tree-view/useTreeItem2';
|
|
10
|
-
export * from '@mui/x-tree-view/TreeItem2Icon';
|
|
11
|
-
export * from '@mui/x-tree-view/TreeItem2Provider';
|
|
12
|
-
|
|
13
|
-
export { unstable_resetCleanupTracking } from '@mui/x-tree-view/internals';
|
|
14
|
-
|
|
15
|
-
export * from '@mui/x-tree-view/models';
|
|
16
|
-
export * from '@mui/x-tree-view/icons';
|
|
17
|
-
export * from '@mui/x-tree-view/hooks';
|
package/src/internals/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { UseTreeViewItemsReorderingSignature } from './plugins/useTreeViewItemsReordering';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { useTreeViewItemsReordering } from './useTreeViewItemsReordering';
|
|
2
|
-
export type {
|
|
3
|
-
UseTreeViewItemsReorderingSignature,
|
|
4
|
-
UseTreeViewItemsReorderingParameters,
|
|
5
|
-
UseTreeViewItemsReorderingDefaultizedParameters,
|
|
6
|
-
TreeViewItemReorderPosition,
|
|
7
|
-
} from './useTreeViewItemsReordering.types';
|