@mui/lab 5.0.0-alpha.142 → 5.0.0-alpha.143

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 (61) hide show
  1. package/CHANGELOG.md +111 -19
  2. package/LoadingButton/LoadingButton.d.ts +52 -50
  3. package/LoadingButton/LoadingButton.js +1 -1
  4. package/Masonry/Masonry.d.ts +46 -41
  5. package/TabList/TabList.d.ts +14 -12
  6. package/TreeItem/TreeItem.d.ts +4 -85
  7. package/TreeItem/TreeItem.js +17 -375
  8. package/TreeItem/index.d.ts +2 -6
  9. package/TreeItem/index.js +1 -3
  10. package/TreeView/TreeView.d.ts +3 -141
  11. package/TreeView/TreeView.js +17 -824
  12. package/TreeView/index.d.ts +2 -4
  13. package/TreeView/index.js +1 -2
  14. package/index.js +1 -1
  15. package/legacy/LoadingButton/LoadingButton.js +1 -1
  16. package/legacy/TreeItem/TreeItem.js +17 -372
  17. package/legacy/TreeItem/index.js +1 -3
  18. package/legacy/TreeView/TreeView.js +17 -878
  19. package/legacy/TreeView/index.js +1 -2
  20. package/legacy/index.js +1 -1
  21. package/modern/LoadingButton/LoadingButton.js +1 -1
  22. package/modern/TreeItem/TreeItem.js +17 -375
  23. package/modern/TreeItem/index.js +1 -3
  24. package/modern/TreeView/TreeView.js +17 -824
  25. package/modern/TreeView/index.js +1 -2
  26. package/modern/index.js +1 -1
  27. package/node/LoadingButton/LoadingButton.js +1 -1
  28. package/node/TreeItem/TreeItem.js +17 -374
  29. package/node/TreeItem/index.js +9 -21
  30. package/node/TreeView/TreeView.js +17 -824
  31. package/node/TreeView/index.js +8 -18
  32. package/node/index.js +1 -1
  33. package/package.json +5 -4
  34. package/TreeItem/TreeItemContent.d.ts +0 -50
  35. package/TreeItem/TreeItemContent.js +0 -112
  36. package/TreeItem/treeItemClasses.d.ts +0 -24
  37. package/TreeItem/treeItemClasses.js +0 -7
  38. package/TreeItem/useTreeItem.d.ts +0 -11
  39. package/TreeItem/useTreeItem.js +0 -68
  40. package/TreeView/TreeViewContext.js +0 -10
  41. package/TreeView/descendants.js +0 -186
  42. package/TreeView/treeViewClasses.d.ts +0 -8
  43. package/TreeView/treeViewClasses.js +0 -7
  44. package/legacy/TreeItem/TreeItemContent.js +0 -108
  45. package/legacy/TreeItem/treeItemClasses.js +0 -7
  46. package/legacy/TreeItem/useTreeItem.js +0 -67
  47. package/legacy/TreeView/TreeViewContext.js +0 -10
  48. package/legacy/TreeView/descendants.js +0 -193
  49. package/legacy/TreeView/treeViewClasses.js +0 -7
  50. package/modern/TreeItem/TreeItemContent.js +0 -112
  51. package/modern/TreeItem/treeItemClasses.js +0 -7
  52. package/modern/TreeItem/useTreeItem.js +0 -68
  53. package/modern/TreeView/TreeViewContext.js +0 -10
  54. package/modern/TreeView/descendants.js +0 -186
  55. package/modern/TreeView/treeViewClasses.js +0 -7
  56. package/node/TreeItem/TreeItemContent.js +0 -120
  57. package/node/TreeItem/treeItemClasses.js +0 -16
  58. package/node/TreeItem/useTreeItem.js +0 -77
  59. package/node/TreeView/TreeViewContext.js +0 -18
  60. package/node/TreeView/descendants.js +0 -194
  61. package/node/TreeView/treeViewClasses.js +0 -16
@@ -1,5 +1,3 @@
1
1
  export { default } from './TreeView';
2
- export * from './TreeView';
3
-
4
- export { default as treeViewClasses } from './treeViewClasses';
5
- export * from './treeViewClasses';
2
+ export { treeViewClasses, getTreeViewUtilityClass } from '@mui/x-tree-view/TreeView';
3
+ export type { TreeViewClassKey, TreeViewClasses, SingleSelectTreeViewProps, MultiSelectTreeViewProps, TreeViewPropsBase, TreeViewProps, } from '@mui/x-tree-view/TreeView';
package/TreeView/index.js CHANGED
@@ -1,3 +1,2 @@
1
1
  export { default } from './TreeView';
2
- export { default as treeViewClasses } from './treeViewClasses';
3
- export * from './treeViewClasses';
2
+ export { treeViewClasses, getTreeViewUtilityClass } from '@mui/x-tree-view/TreeView';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/lab v5.0.0-alpha.142
2
+ * @mui/lab v5.0.0-alpha.143
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -67,7 +67,7 @@ var LoadingButtonRoot = styled(Button, {
67
67
  marginLeft: -8
68
68
  }));
69
69
  });
70
- var LoadingButtonLoadingIndicator = styled('div', {
70
+ var LoadingButtonLoadingIndicator = styled('span', {
71
71
  name: 'MuiLoadingButton',
72
72
  slot: 'LoadingIndicator',
73
73
  overridesResolver: function overridesResolver(props, styles) {
@@ -1,388 +1,33 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
2
  import * as React from 'react';
5
- import clsx from 'clsx';
6
3
  import PropTypes from 'prop-types';
7
- import { elementTypeAcceptingRef } from '@mui/utils';
8
- import Collapse from '@mui/material/Collapse';
9
- import { alpha, styled, useThemeProps } from '@mui/material/styles';
10
- import { ownerDocument, useForkRef, unsupportedProp } from '@mui/material/utils';
11
- import { unstable_composeClasses as composeClasses } from '@mui/base';
12
- import TreeViewContext from '../TreeView/TreeViewContext';
13
- import { DescendantProvider, useDescendant } from '../TreeView/descendants';
14
- import TreeItemContent from './TreeItemContent';
15
- import treeItemClasses, { getTreeItemUtilityClass } from './treeItemClasses';
4
+ import { TreeItem as XTreeItem } from '@mui/x-tree-view/TreeItem';
16
5
  import { jsx as _jsx } from "react/jsx-runtime";
17
- import { jsxs as _jsxs } from "react/jsx-runtime";
18
- var useUtilityClasses = function useUtilityClasses(ownerState) {
19
- var classes = ownerState.classes;
20
- var slots = {
21
- root: ['root'],
22
- content: ['content'],
23
- expanded: ['expanded'],
24
- selected: ['selected'],
25
- focused: ['focused'],
26
- disabled: ['disabled'],
27
- iconContainer: ['iconContainer'],
28
- label: ['label'],
29
- group: ['group']
30
- };
31
- return composeClasses(slots, getTreeItemUtilityClass, classes);
32
- };
33
- var TreeItemRoot = styled('li', {
34
- name: 'MuiTreeItem',
35
- slot: 'Root',
36
- overridesResolver: function overridesResolver(props, styles) {
37
- return styles.root;
38
- }
39
- })({
40
- listStyle: 'none',
41
- margin: 0,
42
- padding: 0,
43
- outline: 0
44
- });
45
- var StyledTreeItemContent = styled(TreeItemContent, {
46
- name: 'MuiTreeItem',
47
- slot: 'Content',
48
- overridesResolver: function overridesResolver(props, styles) {
49
- return [styles.content, styles.iconContainer && _defineProperty({}, "& .".concat(treeItemClasses.iconContainer), styles.iconContainer), styles.label && _defineProperty({}, "& .".concat(treeItemClasses.label), styles.label)];
50
- }
51
- })(function (_ref3) {
52
- var _ref4;
53
- var theme = _ref3.theme;
54
- return _ref4 = {
55
- padding: '0 8px',
56
- width: '100%',
57
- display: 'flex',
58
- alignItems: 'center',
59
- cursor: 'pointer',
60
- WebkitTapHighlightColor: 'transparent',
61
- '&:hover': {
62
- backgroundColor: (theme.vars || theme).palette.action.hover,
63
- // Reset on touch devices, it doesn't add specificity
64
- '@media (hover: none)': {
65
- backgroundColor: 'transparent'
66
- }
67
- }
68
- }, _defineProperty(_ref4, "&.".concat(treeItemClasses.disabled), {
69
- opacity: (theme.vars || theme).palette.action.disabledOpacity,
70
- backgroundColor: 'transparent'
71
- }), _defineProperty(_ref4, "&.".concat(treeItemClasses.focused), {
72
- backgroundColor: (theme.vars || theme).palette.action.focus
73
- }), _defineProperty(_ref4, "&.".concat(treeItemClasses.selected), _defineProperty({
74
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
75
- '&:hover': {
76
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / calc(").concat(theme.vars.palette.action.selectedOpacity, " + ").concat(theme.vars.palette.action.hoverOpacity, "))") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
77
- // Reset on touch devices, it doesn't add specificity
78
- '@media (hover: none)': {
79
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)
80
- }
81
- }
82
- }, "&.".concat(treeItemClasses.focused), {
83
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / calc(").concat(theme.vars.palette.action.selectedOpacity, " + ").concat(theme.vars.palette.action.focusOpacity, "))") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
84
- })), _defineProperty(_ref4, "& .".concat(treeItemClasses.iconContainer), {
85
- marginRight: 4,
86
- width: 15,
87
- display: 'flex',
88
- flexShrink: 0,
89
- justifyContent: 'center',
90
- '& svg': {
91
- fontSize: 18
92
- }
93
- }), _defineProperty(_ref4, "& .".concat(treeItemClasses.label), _extends({
94
- width: '100%',
95
- // fixes overflow - see https://github.com/mui/material-ui/issues/27372
96
- minWidth: 0,
97
- paddingLeft: 4,
98
- position: 'relative'
99
- }, theme.typography.body1)), _ref4;
100
- });
101
- var TreeItemGroup = styled(Collapse, {
102
- name: 'MuiTreeItem',
103
- slot: 'Group',
104
- overridesResolver: function overridesResolver(props, styles) {
105
- return styles.group;
106
- }
107
- })({
108
- margin: 0,
109
- padding: 0,
110
- marginLeft: 17
111
- });
112
- var TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, ref) {
113
- var props = useThemeProps({
114
- props: inProps,
115
- name: 'MuiTreeItem'
116
- });
117
- var children = props.children,
118
- className = props.className,
119
- collapseIcon = props.collapseIcon,
120
- _props$ContentCompone = props.ContentComponent,
121
- ContentComponent = _props$ContentCompone === void 0 ? TreeItemContent : _props$ContentCompone,
122
- ContentProps = props.ContentProps,
123
- endIcon = props.endIcon,
124
- expandIcon = props.expandIcon,
125
- disabledProp = props.disabled,
126
- icon = props.icon,
127
- idProp = props.id,
128
- label = props.label,
129
- nodeId = props.nodeId,
130
- onClick = props.onClick,
131
- onMouseDown = props.onMouseDown,
132
- _props$TransitionComp = props.TransitionComponent,
133
- TransitionComponent = _props$TransitionComp === void 0 ? Collapse : _props$TransitionComp,
134
- TransitionProps = props.TransitionProps,
135
- other = _objectWithoutProperties(props, ["children", "className", "collapseIcon", "ContentComponent", "ContentProps", "endIcon", "expandIcon", "disabled", "icon", "id", "label", "nodeId", "onClick", "onMouseDown", "TransitionComponent", "TransitionProps"]);
136
- var _React$useContext = React.useContext(TreeViewContext),
137
- _React$useContext$ico = _React$useContext.icons,
138
- contextIcons = _React$useContext$ico === void 0 ? {} : _React$useContext$ico,
139
- focus = _React$useContext.focus,
140
- isExpanded = _React$useContext.isExpanded,
141
- isFocused = _React$useContext.isFocused,
142
- isSelected = _React$useContext.isSelected,
143
- isDisabled = _React$useContext.isDisabled,
144
- multiSelect = _React$useContext.multiSelect,
145
- disabledItemsFocusable = _React$useContext.disabledItemsFocusable,
146
- mapFirstChar = _React$useContext.mapFirstChar,
147
- unMapFirstChar = _React$useContext.unMapFirstChar,
148
- registerNode = _React$useContext.registerNode,
149
- unregisterNode = _React$useContext.unregisterNode,
150
- treeId = _React$useContext.treeId;
151
- var id = null;
152
- if (idProp != null) {
153
- id = idProp;
154
- } else if (treeId && nodeId) {
155
- id = "".concat(treeId, "-").concat(nodeId);
156
- }
157
- var _React$useState = React.useState(null),
158
- treeitemElement = _React$useState[0],
159
- setTreeitemElement = _React$useState[1];
160
- var contentRef = React.useRef(null);
161
- var handleRef = useForkRef(setTreeitemElement, ref);
162
- var descendant = React.useMemo(function () {
163
- return {
164
- element: treeitemElement,
165
- id: nodeId
166
- };
167
- }, [nodeId, treeitemElement]);
168
- var _useDescendant = useDescendant(descendant),
169
- index = _useDescendant.index,
170
- parentId = _useDescendant.parentId;
171
- var expandable = Boolean(Array.isArray(children) ? children.length : children);
172
- var expanded = isExpanded ? isExpanded(nodeId) : false;
173
- var focused = isFocused ? isFocused(nodeId) : false;
174
- var selected = isSelected ? isSelected(nodeId) : false;
175
- var disabled = isDisabled ? isDisabled(nodeId) : false;
176
- var ownerState = _extends({}, props, {
177
- expanded: expanded,
178
- focused: focused,
179
- selected: selected,
180
- disabled: disabled
181
- });
182
- var classes = useUtilityClasses(ownerState);
183
- var displayIcon;
184
- var expansionIcon;
185
- if (expandable) {
186
- if (!expanded) {
187
- expansionIcon = expandIcon || contextIcons.defaultExpandIcon;
188
- } else {
189
- expansionIcon = collapseIcon || contextIcons.defaultCollapseIcon;
190
- }
191
- }
192
- if (expandable) {
193
- displayIcon = contextIcons.defaultParentIcon;
194
- } else {
195
- displayIcon = endIcon || contextIcons.defaultEndIcon;
6
+ var warnedOnce = false;
7
+ var warn = function warn() {
8
+ if (!warnedOnce) {
9
+ console.warn(['MUI: The TreeItem component was moved from `@mui/lab` to `@mui/x-tree-view`.', 'The component will no longer be exported from `@mui/lab` in the first release of October 2023.', '', "You should use `import { TreeItem } from '@mui/x-tree-view'`", "or `import { TreeItem } from '@mui/x-tree-view/TreeItem'`", '', 'More information about this migration on our blog: https://mui.com/blog/lab-tree-view-to-mui-x/.'].join('\n'));
10
+ warnedOnce = true;
196
11
  }
197
- React.useEffect(function () {
198
- // On the first render a node's index will be -1. We want to wait for the real index.
199
- if (registerNode && unregisterNode && index !== -1) {
200
- registerNode({
201
- id: nodeId,
202
- idAttribute: id,
203
- index: index,
204
- parentId: parentId,
205
- expandable: expandable,
206
- disabled: disabledProp
207
- });
208
- return function () {
209
- unregisterNode(nodeId);
210
- };
211
- }
212
- return undefined;
213
- }, [registerNode, unregisterNode, parentId, index, nodeId, expandable, disabledProp, id]);
214
- React.useEffect(function () {
215
- if (mapFirstChar && unMapFirstChar && label) {
216
- mapFirstChar(nodeId, contentRef.current.textContent.substring(0, 1).toLowerCase());
217
- return function () {
218
- unMapFirstChar(nodeId);
219
- };
220
- }
221
- return undefined;
222
- }, [mapFirstChar, unMapFirstChar, nodeId, label]);
223
- var ariaSelected;
224
- if (multiSelect) {
225
- ariaSelected = selected;
226
- } else if (selected) {
227
- /* single-selection trees unset aria-selected on un-selected items.
228
- *
229
- * If the tree does not support multiple selection, aria-selected
230
- * is set to true for the selected node and it is not present on any other node in the tree.
231
- * Source: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/
232
- */
233
- ariaSelected = true;
234
- }
235
- function handleFocus(event) {
236
- // DOM focus stays on the tree which manages focus with aria-activedescendant
237
- if (event.target === event.currentTarget) {
238
- var rootElement;
239
- if (typeof event.target.getRootNode === 'function') {
240
- rootElement = event.target.getRootNode();
241
- } else {
242
- rootElement = ownerDocument(event.target);
243
- }
244
- rootElement.getElementById(treeId).focus({
245
- preventScroll: true
246
- });
247
- }
248
- var unfocusable = !disabledItemsFocusable && disabled;
249
- if (!focused && event.currentTarget === event.target && !unfocusable) {
250
- focus(event, nodeId);
251
- }
252
- }
253
- return /*#__PURE__*/_jsxs(TreeItemRoot, _extends({
254
- className: clsx(classes.root, className),
255
- role: "treeitem",
256
- "aria-expanded": expandable ? expanded : null,
257
- "aria-selected": ariaSelected,
258
- "aria-disabled": disabled || null,
259
- ref: handleRef,
260
- id: id,
261
- tabIndex: -1
262
- }, other, {
263
- ownerState: ownerState,
264
- onFocus: handleFocus,
265
- children: [/*#__PURE__*/_jsx(StyledTreeItemContent, _extends({
266
- as: ContentComponent,
267
- ref: contentRef,
268
- classes: {
269
- root: classes.content,
270
- expanded: classes.expanded,
271
- selected: classes.selected,
272
- focused: classes.focused,
273
- disabled: classes.disabled,
274
- iconContainer: classes.iconContainer,
275
- label: classes.label
276
- },
277
- label: label,
278
- nodeId: nodeId,
279
- onClick: onClick,
280
- onMouseDown: onMouseDown,
281
- icon: icon,
282
- expansionIcon: expansionIcon,
283
- displayIcon: displayIcon,
284
- ownerState: ownerState
285
- }, ContentProps)), children && /*#__PURE__*/_jsx(DescendantProvider, {
286
- id: nodeId,
287
- children: /*#__PURE__*/_jsx(TreeItemGroup, _extends({
288
- as: TransitionComponent,
289
- unmountOnExit: true,
290
- className: classes.group,
291
- in: expanded,
292
- component: "ul",
293
- role: "group"
294
- }, TransitionProps, {
295
- children: children
296
- }))
297
- })]
12
+ };
13
+
14
+ /**
15
+ * @ignore - do not document.
16
+ */
17
+ var TreeItem = /*#__PURE__*/React.forwardRef(function DeprecatedTreeItem(props, ref) {
18
+ warn();
19
+ return /*#__PURE__*/_jsx(XTreeItem, _extends({}, props, {
20
+ ref: ref
298
21
  }));
299
22
  });
300
23
  process.env.NODE_ENV !== "production" ? TreeItem.propTypes /* remove-proptypes */ = {
301
24
  // ----------------------------- Warning --------------------------------
302
25
  // | These PropTypes are generated from the TypeScript type definitions |
303
- // | To update them edit the d.ts file and run "yarn proptypes" |
26
+ // | To update them edit TypeScript types and run "yarn proptypes" |
304
27
  // ----------------------------------------------------------------------
305
28
  /**
306
29
  * The content of the component.
307
30
  */
308
- children: PropTypes.node,
309
- /**
310
- * Override or extend the styles applied to the component.
311
- */
312
- classes: PropTypes.object,
313
- /**
314
- * @ignore
315
- */
316
- className: PropTypes.string,
317
- /**
318
- * The icon used to collapse the node.
319
- */
320
- collapseIcon: PropTypes.node,
321
- /**
322
- * The component used for the content node.
323
- * @default TreeItemContent
324
- */
325
- ContentComponent: elementTypeAcceptingRef,
326
- /**
327
- * Props applied to ContentComponent
328
- */
329
- ContentProps: PropTypes.object,
330
- /**
331
- * If `true`, the node is disabled.
332
- * @default false
333
- */
334
- disabled: PropTypes.bool,
335
- /**
336
- * The icon displayed next to a end node.
337
- */
338
- endIcon: PropTypes.node,
339
- /**
340
- * The icon used to expand the node.
341
- */
342
- expandIcon: PropTypes.node,
343
- /**
344
- * The icon to display next to the tree node's label.
345
- */
346
- icon: PropTypes.node,
347
- /**
348
- * @ignore
349
- */
350
- id: PropTypes.string,
351
- /**
352
- * The tree node label.
353
- */
354
- label: PropTypes.node,
355
- /**
356
- * The id of the node.
357
- */
358
- nodeId: PropTypes.string.isRequired,
359
- /**
360
- * @ignore
361
- */
362
- onClick: PropTypes.func,
363
- /**
364
- * This prop isn't supported.
365
- * Use the `onNodeFocus` callback on the tree if you need to monitor a node's focus.
366
- */
367
- onFocus: unsupportedProp,
368
- /**
369
- * @ignore
370
- */
371
- onMouseDown: PropTypes.func,
372
- /**
373
- * The system prop that allows defining system overrides as well as additional CSS styles.
374
- */
375
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
376
- /**
377
- * The component used for the transition.
378
- * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
379
- * @default Collapse
380
- */
381
- TransitionComponent: PropTypes.elementType,
382
- /**
383
- * Props applied to the transition element.
384
- * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.
385
- */
386
- TransitionProps: PropTypes.object
31
+ children: PropTypes.node
387
32
  } : void 0;
388
33
  export default TreeItem;
@@ -1,4 +1,2 @@
1
1
  export { default } from './TreeItem';
2
- export { default as useTreeItem } from './useTreeItem';
3
- export { default as treeItemClasses } from './treeItemClasses';
4
- export * from './treeItemClasses';
2
+ export { getTreeItemUtilityClass, treeItemClasses, useTreeItem } from '@mui/x-tree-view/TreeItem';