@mui/x-tree-view 7.21.0 → 7.22.1
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/CHANGELOG.md +142 -0
- package/TreeItem/TreeItem.types.d.ts +2 -3
- package/TreeItem/useTreeItemState.d.ts +2 -2
- package/TreeItem2/TreeItem2.types.d.ts +3 -3
- package/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.d.ts +3 -0
- package/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js +19 -16
- package/TreeItem2LabelInput/TreeItem2LabelInput.d.ts +3 -0
- package/TreeItem2LabelInput/TreeItem2LabelInput.js +4 -0
- package/TreeItem2LabelInput/TreeItem2LabelInput.types.d.ts +3 -3
- package/index.d.ts +2 -0
- package/index.js +3 -1
- package/internals/index.d.ts +1 -1
- package/internals/models/index.d.ts +0 -1
- package/internals/models/index.js +1 -2
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +4 -4
- package/models/events.d.ts +4 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/modern/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js +19 -16
- package/modern/TreeItem2LabelInput/TreeItem2LabelInput.js +4 -0
- package/modern/index.js +3 -1
- package/modern/internals/models/index.js +1 -2
- package/modern/models/index.js +1 -0
- package/node/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js +20 -17
- package/node/TreeItem2LabelInput/TreeItem2LabelInput.js +3 -0
- package/node/index.js +25 -1
- package/node/internals/models/index.js +0 -11
- package/node/models/index.js +11 -0
- package/package.json +1 -1
- package/useTreeItem2/useTreeItem2.types.d.ts +10 -10
- package/internals/models/MuiCancellableEvent.d.ts +0 -4
- /package/{internals/models/MuiCancellableEvent.js → models/events.js} +0 -0
- /package/modern/{internals/models/MuiCancellableEvent.js → models/events.js} +0 -0
- /package/node/{internals/models/MuiCancellableEvent.js → models/events.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,148 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 7.22.1
|
|
7
|
+
|
|
8
|
+
_Nov 1, 2024_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🐞 Bugfixes
|
|
13
|
+
- 📚 Documentation improvements
|
|
14
|
+
- 🌍 Improve Polish (pl-PL) locale on the Date Pickers
|
|
15
|
+
|
|
16
|
+
Special thanks go out to the community contributors who have helped make this release possible:
|
|
17
|
+
@wojtkolos, @dpak-maurya, @k-rajat19.
|
|
18
|
+
Following are all team members who have contributed to this release:
|
|
19
|
+
@LukasTy, @arminmeh, @MBilalShafi, @KenanYusuf, @flaviendelangle.
|
|
20
|
+
|
|
21
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
22
|
+
|
|
23
|
+
### Data Grid
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid@7.22.1`
|
|
26
|
+
|
|
27
|
+
- [DataGrid] Fix right column group header border (#15152) @KenanYusuf
|
|
28
|
+
- [DataGrid] Fix scroll jump when holding down arrow keys (#15167) @arminmeh
|
|
29
|
+
- [DataGrid] Move `rowGroupingModelChange` handler to respective hook (#15127) @MBilalShafi
|
|
30
|
+
- [DataGrid] Prevent error when deleting the last row (#15153) @dpak-maurya
|
|
31
|
+
- [DataGrid] Fix overlay height in autoHeight mode (#15205) @cherniavskii
|
|
32
|
+
|
|
33
|
+
#### `@mui/x-data-grid-pro@7.22.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
34
|
+
|
|
35
|
+
Same changes as in `@mui/x-data-grid@7.22.1`, plus:
|
|
36
|
+
|
|
37
|
+
- [DataGridPro] Add list view tests (#15166) @KenanYusuf
|
|
38
|
+
|
|
39
|
+
#### `@mui/x-data-grid-premium@7.22.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
40
|
+
|
|
41
|
+
- [DataGridPremium] Keep focus on the grouping cell on space bar press #15155 @k-rajat19
|
|
42
|
+
|
|
43
|
+
### Date and Time Pickers
|
|
44
|
+
|
|
45
|
+
#### `@mui/x-date-pickers@7.22.1`
|
|
46
|
+
|
|
47
|
+
- [l10n] Improve Polish (pl-PL) locale (#15177) @wojtkolos
|
|
48
|
+
|
|
49
|
+
#### `@mui/x-date-pickers-pro@7.22.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
50
|
+
|
|
51
|
+
Same changes as in `@mui/x-date-pickers@7.22.1`.
|
|
52
|
+
|
|
53
|
+
### Tree View
|
|
54
|
+
|
|
55
|
+
#### `@mui/x-tree-view@7.22.1`
|
|
56
|
+
|
|
57
|
+
- [TreeView] Export `TreeItem2DragAndDropOverlay` and `TreeItem2LabelInput` from the root of each package (#15208) @flaviendelangle
|
|
58
|
+
- [TreeView] Fix drag and drop color usage (#15149) @LukasTy
|
|
59
|
+
|
|
60
|
+
#### `@mui/x-tree-view-pro@7.22.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
61
|
+
|
|
62
|
+
Same changes as in `@mui/x-tree-view@7.22.1`.
|
|
63
|
+
|
|
64
|
+
### Docs
|
|
65
|
+
|
|
66
|
+
- [docs] Add section explaining how to keep the selection while filtering in Data grid docs (#15199) @arminmeh
|
|
67
|
+
|
|
68
|
+
## 7.22.0
|
|
69
|
+
|
|
70
|
+
_Oct 25, 2024_
|
|
71
|
+
|
|
72
|
+
We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
|
|
73
|
+
|
|
74
|
+
- 🛰 Introduce [server-side support for Data Grid row grouping](https://mui.com/x/react-data-grid/server-side-data/row-grouping/)
|
|
75
|
+
- 🐞 Bugfixes
|
|
76
|
+
- 📚 Documentation improvements
|
|
77
|
+
- 🌍 Improve Portuguese (pt-BR) locale on the Data Grid component
|
|
78
|
+
|
|
79
|
+
Special thanks go out to the community contributors who have helped make this release possible:
|
|
80
|
+
@clins1994, @GITPHLAP, @k-rajat19, @kalyan90, @merotosc, @yash49.
|
|
81
|
+
Following are all team members who have contributed to this release:
|
|
82
|
+
@cherniavskii, @flaviendelangle, @LukasTy, @MBilalShafi, @romgrk.
|
|
83
|
+
|
|
84
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
85
|
+
|
|
86
|
+
### Data Grid
|
|
87
|
+
|
|
88
|
+
#### `@mui/x-data-grid@7.22.0`
|
|
89
|
+
|
|
90
|
+
- [DataGrid] Fix `GridPanelAnchor` positioning (#15022) @k-rajat19
|
|
91
|
+
- [DataGrid] Fix ugly prop-types for the `pageStyle` prop of the `GridPrintExportMenuItem` component (#15015) @flaviendelangle
|
|
92
|
+
- [DataGrid] Fix value type in filter model for number and boolean column type (#14733) @k-rajat19
|
|
93
|
+
- [DataGrid] Focus next row when the focused row is deleted (#15067) @cherniavskii
|
|
94
|
+
- [DataGrid] Remove some usages of `<Box />` and `<Badge />` (#15013) @romgrk
|
|
95
|
+
- [DataGrid] Fix number of rows to display for page size options with negative value (#14890) @kalyan90
|
|
96
|
+
- [l10n] Improve Portuguese (pt-BR) locale (#15021) @k-rajat19
|
|
97
|
+
|
|
98
|
+
#### `@mui/x-data-grid-pro@7.22.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
99
|
+
|
|
100
|
+
Same changes as in `@mui/x-data-grid@7.22.0`, plus:
|
|
101
|
+
|
|
102
|
+
- [DataGridPro] Fix column pinning layout (#15073) @cherniavskii
|
|
103
|
+
|
|
104
|
+
#### `@mui/x-data-grid-premium@7.22.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
105
|
+
|
|
106
|
+
Same changes as in `@mui/x-data-grid-pro@7.22.0`, plus:
|
|
107
|
+
|
|
108
|
+
- [DataGridPremium] Server-side data source with row grouping (#15109) @MBilalShafi
|
|
109
|
+
|
|
110
|
+
### Date and Time Pickers
|
|
111
|
+
|
|
112
|
+
#### `@mui/x-date-pickers@7.22.0`
|
|
113
|
+
|
|
114
|
+
- [pickers] Fix `DateCalendar` timezone management (#15119) @LukasTy
|
|
115
|
+
- [pickers] Fix `DigitalClock` time options on a `DST` switch day (#15092) @LukasTy
|
|
116
|
+
|
|
117
|
+
#### `@mui/x-date-pickers-pro@7.22.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
118
|
+
|
|
119
|
+
Same changes as in `@mui/x-date-pickers@7.22.0`.
|
|
120
|
+
|
|
121
|
+
### Charts
|
|
122
|
+
|
|
123
|
+
#### `@mui/x-charts@7.22.0`
|
|
124
|
+
|
|
125
|
+
- [charts] Export data type in `onAxisClick(_, data)` callback (#15038) @clins1994
|
|
126
|
+
|
|
127
|
+
#### `@mui/x-charts-pro@7.0.0-beta.6` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
128
|
+
|
|
129
|
+
Same changes as in `@mui/x-charts@7.22.0`.
|
|
130
|
+
|
|
131
|
+
### Tree View
|
|
132
|
+
|
|
133
|
+
#### `@mui/x-tree-view@7.22.0`
|
|
134
|
+
|
|
135
|
+
- [TreeView] Make the cancellable event types public (#14992) @flaviendelangle
|
|
136
|
+
|
|
137
|
+
### Docs
|
|
138
|
+
|
|
139
|
+
- [docs] Fix typo in Tree View docs (#15047) @yash49
|
|
140
|
+
|
|
141
|
+
### Core
|
|
142
|
+
|
|
143
|
+
- [core] Adjust cherry-pick GH actions (#15101) @LukasTy
|
|
144
|
+
- [core] Update prettier target branch (#15100) @MBilalShafi
|
|
145
|
+
- [core] Update some `default-branch-switch` instances for `v7.x` (#15085) @MBilalShafi
|
|
146
|
+
- [test] Revert to using `fireEvent` instead of `userEvent` (#14927) @LukasTy
|
|
147
|
+
|
|
6
148
|
## 7.21.0
|
|
7
149
|
|
|
8
150
|
_Oct 17, 2024_
|
|
@@ -5,9 +5,8 @@ import { TransitionProps } from '@mui/material/transitions';
|
|
|
5
5
|
import { SxProps } from '@mui/system';
|
|
6
6
|
import { TreeItemContentProps } from './TreeItemContent';
|
|
7
7
|
import { TreeItemClasses } from './treeItemClasses';
|
|
8
|
-
import { TreeViewItemId } from '../models';
|
|
8
|
+
import { TreeViewItemId, TreeViewCancellableEventHandler } from '../models';
|
|
9
9
|
import { SlotComponentPropsFromProps } from '../internals/models';
|
|
10
|
-
import { MuiCancellableEventHandler } from '../internals/models/MuiCancellableEvent';
|
|
11
10
|
import { UseTreeViewIconsSignature } from '../internals/plugins/useTreeViewIcons';
|
|
12
11
|
import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewSelection';
|
|
13
12
|
import { UseTreeViewItemsSignature } from '../internals/plugins/useTreeViewItems';
|
|
@@ -102,7 +101,7 @@ export interface TreeItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>,
|
|
|
102
101
|
/**
|
|
103
102
|
* Callback fired when a key of the keyboard is pressed on the item.
|
|
104
103
|
*/
|
|
105
|
-
onKeyDown?:
|
|
104
|
+
onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLLIElement>>;
|
|
106
105
|
}
|
|
107
106
|
export interface TreeItemOwnerState extends TreeItemProps {
|
|
108
107
|
expanded: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { TreeViewCancellableEvent } from '../models';
|
|
3
3
|
export declare function useTreeItemState(itemId: string): {
|
|
4
4
|
disabled: boolean;
|
|
5
5
|
expanded: boolean;
|
|
@@ -16,6 +16,6 @@ export declare function useTreeItemState(itemId: string): {
|
|
|
16
16
|
preventSelection: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
17
17
|
expansionTrigger: "content" | "iconContainer" | undefined;
|
|
18
18
|
toggleItemEditing: () => void;
|
|
19
|
-
handleSaveItemLabel: (event: React.SyntheticEvent &
|
|
19
|
+
handleSaveItemLabel: (event: React.SyntheticEvent & TreeViewCancellableEvent, label: string) => void;
|
|
20
20
|
handleCancelItemLabelEditing: (event: React.SyntheticEvent) => void;
|
|
21
21
|
};
|
|
@@ -3,7 +3,7 @@ import { SlotComponentProps } from '@mui/utils';
|
|
|
3
3
|
import { UseTreeItem2Parameters, UseTreeItem2Status } from '../useTreeItem2';
|
|
4
4
|
import { TreeItemClasses } from '../TreeItem';
|
|
5
5
|
import { TreeItem2IconSlotProps, TreeItem2IconSlots } from '../TreeItem2Icon';
|
|
6
|
-
import {
|
|
6
|
+
import { TreeViewCancellableEventHandler } from '../models';
|
|
7
7
|
export interface TreeItem2Slots extends TreeItem2IconSlots {
|
|
8
8
|
/**
|
|
9
9
|
* The component that renders the root.
|
|
@@ -82,11 +82,11 @@ export interface TreeItem2Props extends Omit<UseTreeItem2Parameters, 'rootRef'>,
|
|
|
82
82
|
/**
|
|
83
83
|
* Callback fired when the item root is blurred.
|
|
84
84
|
*/
|
|
85
|
-
onBlur?:
|
|
85
|
+
onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLLIElement>>;
|
|
86
86
|
/**
|
|
87
87
|
* Callback fired when a key is pressed on the keyboard and the tree is in focus.
|
|
88
88
|
*/
|
|
89
|
-
onKeyDown?:
|
|
89
|
+
onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLLIElement>>;
|
|
90
90
|
}
|
|
91
91
|
export interface TreeItem2OwnerState extends Omit<TreeItem2Props, 'disabled'>, UseTreeItem2Status {
|
|
92
92
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TreeItem2DragAndDropOverlayProps } from './TreeItem2DragAndDropOverlay.types';
|
|
3
3
|
declare function TreeItem2DragAndDropOverlay(props: TreeItem2DragAndDropOverlayProps): React.JSX.Element | null;
|
|
4
|
+
declare namespace TreeItem2DragAndDropOverlay {
|
|
5
|
+
var propTypes: any;
|
|
6
|
+
}
|
|
4
7
|
export { TreeItem2DragAndDropOverlay };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
3
4
|
import { alpha } from '@mui/material/styles';
|
|
4
5
|
import { shouldForwardProp } from '@mui/system';
|
|
5
6
|
import { styled } from "../internals/zero-styled/index.js";
|
|
@@ -26,38 +27,32 @@ const TreeItem2DragAndDropOverlayRoot = styled('div', {
|
|
|
26
27
|
style: {
|
|
27
28
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
28
29
|
borderRadius: theme.shape.borderRadius,
|
|
29
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.
|
|
30
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.darkChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.dark, theme.palette.action.focusOpacity)
|
|
30
31
|
}
|
|
31
32
|
}, {
|
|
32
33
|
props: {
|
|
33
34
|
action: 'reorder-above'
|
|
34
35
|
},
|
|
35
|
-
style:
|
|
36
|
+
style: {
|
|
36
37
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
37
|
-
borderTop:
|
|
38
|
-
}
|
|
39
|
-
borderTopColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : alpha(theme.palette.grey[100], 0.6)
|
|
40
|
-
}))
|
|
38
|
+
borderTop: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
39
|
+
}
|
|
41
40
|
}, {
|
|
42
41
|
props: {
|
|
43
42
|
action: 'reorder-below'
|
|
44
43
|
},
|
|
45
|
-
style:
|
|
44
|
+
style: {
|
|
46
45
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
47
|
-
borderBottom:
|
|
48
|
-
}
|
|
49
|
-
borderBottomColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : alpha(theme.palette.grey[100], 0.6)
|
|
50
|
-
}))
|
|
46
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
47
|
+
}
|
|
51
48
|
}, {
|
|
52
49
|
props: {
|
|
53
50
|
action: 'move-to-parent'
|
|
54
51
|
},
|
|
55
|
-
style:
|
|
52
|
+
style: {
|
|
56
53
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))',
|
|
57
|
-
borderBottom:
|
|
58
|
-
}
|
|
59
|
-
borderBottomColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : alpha(theme.palette.grey[100], 0.6)
|
|
60
|
-
}))
|
|
54
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
55
|
+
}
|
|
61
56
|
}]
|
|
62
57
|
}));
|
|
63
58
|
function TreeItem2DragAndDropOverlay(props) {
|
|
@@ -66,4 +61,12 @@ function TreeItem2DragAndDropOverlay(props) {
|
|
|
66
61
|
}
|
|
67
62
|
return /*#__PURE__*/_jsx(TreeItem2DragAndDropOverlayRoot, _extends({}, props));
|
|
68
63
|
}
|
|
64
|
+
process.env.NODE_ENV !== "production" ? TreeItem2DragAndDropOverlay.propTypes = {
|
|
65
|
+
// ----------------------------- Warning --------------------------------
|
|
66
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
67
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
68
|
+
// ----------------------------------------------------------------------
|
|
69
|
+
action: PropTypes.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
|
|
70
|
+
style: PropTypes.object
|
|
71
|
+
} : void 0;
|
|
69
72
|
export { TreeItem2DragAndDropOverlay };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ignore - internal component.
|
|
3
|
+
*/
|
|
1
4
|
declare const TreeItem2LabelInput: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, keyof import("react").ClassAttributes<HTMLInputElement> | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, {}>;
|
|
2
5
|
export { TreeItem2LabelInput };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { TreeViewCancellableEventHandler } from '../models';
|
|
3
3
|
export interface TreeItem2LabelInputProps {
|
|
4
4
|
value?: string;
|
|
5
5
|
/**
|
|
@@ -7,8 +7,8 @@ export interface TreeItem2LabelInputProps {
|
|
|
7
7
|
*/
|
|
8
8
|
'data-element'?: 'labelInput';
|
|
9
9
|
onChange?: React.ChangeEventHandler<HTMLInputElement>;
|
|
10
|
-
onKeyDown?:
|
|
11
|
-
onBlur?:
|
|
10
|
+
onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLInputElement>>;
|
|
11
|
+
onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLInputElement>>;
|
|
12
12
|
autoFocus?: true;
|
|
13
13
|
type?: 'text';
|
|
14
14
|
}
|
package/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export * from './TreeItem2';
|
|
|
6
6
|
export * from './useTreeItem2';
|
|
7
7
|
export * from './TreeItem2Icon';
|
|
8
8
|
export * from './TreeItem2Provider';
|
|
9
|
+
export * from './TreeItem2DragAndDropOverlay';
|
|
10
|
+
export * from './TreeItem2LabelInput';
|
|
9
11
|
export { unstable_resetCleanupTracking } from './internals/hooks/useInstanceEventHandler';
|
|
10
12
|
export * from './models';
|
|
11
13
|
export * from './icons';
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-tree-view v7.
|
|
2
|
+
* @mui/x-tree-view v7.22.1
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -16,6 +16,8 @@ export * from "./TreeItem2/index.js";
|
|
|
16
16
|
export * from "./useTreeItem2/index.js";
|
|
17
17
|
export * from "./TreeItem2Icon/index.js";
|
|
18
18
|
export * from "./TreeItem2Provider/index.js";
|
|
19
|
+
export * from "./TreeItem2DragAndDropOverlay/index.js";
|
|
20
|
+
export * from "./TreeItem2LabelInput/index.js";
|
|
19
21
|
export { unstable_resetCleanupTracking } from "./internals/hooks/useInstanceEventHandler.js";
|
|
20
22
|
export * from "./models/index.js";
|
|
21
23
|
export * from "./icons/index.js";
|
package/internals/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { useTreeView } from './useTreeView';
|
|
|
2
2
|
export { TreeViewProvider, useTreeViewContext } from './TreeViewProvider';
|
|
3
3
|
export { RichTreeViewItems } from './components/RichTreeViewItems';
|
|
4
4
|
export { unstable_resetCleanupTracking } from './hooks/useInstanceEventHandler';
|
|
5
|
-
export type { TreeViewPlugin, TreeViewPluginSignature, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewExperimentalFeatures, TreeViewItemMeta, TreeViewInstance, DefaultizedProps, TreeViewItemPlugin,
|
|
5
|
+
export type { TreeViewPlugin, TreeViewPluginSignature, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewExperimentalFeatures, TreeViewItemMeta, TreeViewInstance, DefaultizedProps, TreeViewItemPlugin, } from './models';
|
|
6
6
|
export type { TreeViewCorePluginParameters } from './corePlugins';
|
|
7
7
|
export { useTreeViewExpansion } from './plugins/useTreeViewExpansion';
|
|
8
8
|
export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters, } from './plugins/useTreeViewExpansion';
|
package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { TreeViewPluginSignature
|
|
2
|
+
import { TreeViewPluginSignature } from '../../models';
|
|
3
3
|
import { UseTreeViewItemsSignature } from '../useTreeViewItems';
|
|
4
4
|
import { UseTreeViewSelectionSignature } from '../useTreeViewSelection';
|
|
5
5
|
import { UseTreeViewFocusSignature } from '../useTreeViewFocus';
|
|
6
6
|
import { UseTreeViewExpansionSignature } from '../useTreeViewExpansion';
|
|
7
|
-
import { TreeViewItemId } from '../../../models';
|
|
7
|
+
import { TreeViewItemId, TreeViewCancellableEvent } from '../../../models';
|
|
8
8
|
import { UseTreeViewLabelSignature } from '../useTreeViewLabel';
|
|
9
9
|
export interface UseTreeViewKeyboardNavigationInstance {
|
|
10
10
|
/**
|
|
@@ -17,10 +17,10 @@ export interface UseTreeViewKeyboardNavigationInstance {
|
|
|
17
17
|
/**
|
|
18
18
|
* Callback fired when a key is pressed on an item.
|
|
19
19
|
* Handles all the keyboard navigation logic.
|
|
20
|
-
* @param {React.KeyboardEvent<HTMLElement> &
|
|
20
|
+
* @param {React.KeyboardEvent<HTMLElement> & TreeViewCancellableEvent} event The keyboard event that triggered the callback.
|
|
21
21
|
* @param {TreeViewItemId} itemId The id of the item that the event was triggered on.
|
|
22
22
|
*/
|
|
23
|
-
handleItemKeyDown: (event: React.KeyboardEvent<HTMLElement> &
|
|
23
|
+
handleItemKeyDown: (event: React.KeyboardEvent<HTMLElement> & TreeViewCancellableEvent, itemId: TreeViewItemId) => void;
|
|
24
24
|
}
|
|
25
25
|
export type UseTreeViewKeyboardNavigationSignature = TreeViewPluginSignature<{
|
|
26
26
|
instance: UseTreeViewKeyboardNavigationInstance;
|
package/models/index.d.ts
CHANGED
package/models/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
3
4
|
import { alpha } from '@mui/material/styles';
|
|
4
5
|
import { shouldForwardProp } from '@mui/system';
|
|
5
6
|
import { styled } from "../internals/zero-styled/index.js";
|
|
@@ -26,38 +27,32 @@ const TreeItem2DragAndDropOverlayRoot = styled('div', {
|
|
|
26
27
|
style: {
|
|
27
28
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
28
29
|
borderRadius: theme.shape.borderRadius,
|
|
29
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.
|
|
30
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.darkChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.dark, theme.palette.action.focusOpacity)
|
|
30
31
|
}
|
|
31
32
|
}, {
|
|
32
33
|
props: {
|
|
33
34
|
action: 'reorder-above'
|
|
34
35
|
},
|
|
35
|
-
style:
|
|
36
|
+
style: {
|
|
36
37
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
37
|
-
borderTop:
|
|
38
|
-
}
|
|
39
|
-
borderTopColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : alpha(theme.palette.grey[100], 0.6)
|
|
40
|
-
}))
|
|
38
|
+
borderTop: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
39
|
+
}
|
|
41
40
|
}, {
|
|
42
41
|
props: {
|
|
43
42
|
action: 'reorder-below'
|
|
44
43
|
},
|
|
45
|
-
style:
|
|
44
|
+
style: {
|
|
46
45
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
47
|
-
borderBottom:
|
|
48
|
-
}
|
|
49
|
-
borderBottomColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : alpha(theme.palette.grey[100], 0.6)
|
|
50
|
-
}))
|
|
46
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
47
|
+
}
|
|
51
48
|
}, {
|
|
52
49
|
props: {
|
|
53
50
|
action: 'move-to-parent'
|
|
54
51
|
},
|
|
55
|
-
style:
|
|
52
|
+
style: {
|
|
56
53
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))',
|
|
57
|
-
borderBottom:
|
|
58
|
-
}
|
|
59
|
-
borderBottomColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : alpha(theme.palette.grey[100], 0.6)
|
|
60
|
-
}))
|
|
54
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
55
|
+
}
|
|
61
56
|
}]
|
|
62
57
|
}));
|
|
63
58
|
function TreeItem2DragAndDropOverlay(props) {
|
|
@@ -66,4 +61,12 @@ function TreeItem2DragAndDropOverlay(props) {
|
|
|
66
61
|
}
|
|
67
62
|
return /*#__PURE__*/_jsx(TreeItem2DragAndDropOverlayRoot, _extends({}, props));
|
|
68
63
|
}
|
|
64
|
+
process.env.NODE_ENV !== "production" ? TreeItem2DragAndDropOverlay.propTypes = {
|
|
65
|
+
// ----------------------------- Warning --------------------------------
|
|
66
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
67
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
68
|
+
// ----------------------------------------------------------------------
|
|
69
|
+
action: PropTypes.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
|
|
70
|
+
style: PropTypes.object
|
|
71
|
+
} : void 0;
|
|
69
72
|
export { TreeItem2DragAndDropOverlay };
|
package/modern/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-tree-view v7.
|
|
2
|
+
* @mui/x-tree-view v7.22.1
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -16,6 +16,8 @@ export * from "./TreeItem2/index.js";
|
|
|
16
16
|
export * from "./useTreeItem2/index.js";
|
|
17
17
|
export * from "./TreeItem2Icon/index.js";
|
|
18
18
|
export * from "./TreeItem2Provider/index.js";
|
|
19
|
+
export * from "./TreeItem2DragAndDropOverlay/index.js";
|
|
20
|
+
export * from "./TreeItem2LabelInput/index.js";
|
|
19
21
|
export { unstable_resetCleanupTracking } from "./internals/hooks/useInstanceEventHandler.js";
|
|
20
22
|
export * from "./models/index.js";
|
|
21
23
|
export * from "./icons/index.js";
|
package/modern/models/index.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.TreeItem2DragAndDropOverlay = TreeItem2DragAndDropOverlay;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
12
|
var _styles = require("@mui/material/styles");
|
|
12
13
|
var _system = require("@mui/system");
|
|
13
14
|
var _zeroStyled = require("../internals/zero-styled");
|
|
@@ -34,38 +35,32 @@ const TreeItem2DragAndDropOverlayRoot = (0, _zeroStyled.styled)('div', {
|
|
|
34
35
|
style: {
|
|
35
36
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
36
37
|
borderRadius: theme.shape.borderRadius,
|
|
37
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.
|
|
38
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.darkChannel} / ${theme.vars.palette.action.focusOpacity})` : (0, _styles.alpha)(theme.palette.primary.dark, theme.palette.action.focusOpacity)
|
|
38
39
|
}
|
|
39
40
|
}, {
|
|
40
41
|
props: {
|
|
41
42
|
action: 'reorder-above'
|
|
42
43
|
},
|
|
43
|
-
style:
|
|
44
|
+
style: {
|
|
44
45
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
45
|
-
borderTop:
|
|
46
|
-
}
|
|
47
|
-
borderTopColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : (0, _styles.alpha)(theme.palette.grey[100], 0.6)
|
|
48
|
-
}))
|
|
46
|
+
borderTop: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
47
|
+
}
|
|
49
48
|
}, {
|
|
50
49
|
props: {
|
|
51
50
|
action: 'reorder-below'
|
|
52
51
|
},
|
|
53
|
-
style:
|
|
52
|
+
style: {
|
|
54
53
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
|
|
55
|
-
borderBottom:
|
|
56
|
-
}
|
|
57
|
-
borderBottomColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : (0, _styles.alpha)(theme.palette.grey[100], 0.6)
|
|
58
|
-
}))
|
|
54
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
55
|
+
}
|
|
59
56
|
}, {
|
|
60
57
|
props: {
|
|
61
58
|
action: 'move-to-parent'
|
|
62
59
|
},
|
|
63
|
-
style:
|
|
60
|
+
style: {
|
|
64
61
|
marginLeft: 'calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))',
|
|
65
|
-
borderBottom:
|
|
66
|
-
}
|
|
67
|
-
borderBottomColor: theme.vars ? `rgba(${theme.vars.palette.grey[100]} / ${0.6})` : (0, _styles.alpha)(theme.palette.grey[100], 0.6)
|
|
68
|
-
}))
|
|
62
|
+
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
|
|
63
|
+
}
|
|
69
64
|
}]
|
|
70
65
|
}));
|
|
71
66
|
function TreeItem2DragAndDropOverlay(props) {
|
|
@@ -73,4 +68,12 @@ function TreeItem2DragAndDropOverlay(props) {
|
|
|
73
68
|
return null;
|
|
74
69
|
}
|
|
75
70
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItem2DragAndDropOverlayRoot, (0, _extends2.default)({}, props));
|
|
76
|
-
}
|
|
71
|
+
}
|
|
72
|
+
process.env.NODE_ENV !== "production" ? TreeItem2DragAndDropOverlay.propTypes = {
|
|
73
|
+
// ----------------------------- Warning --------------------------------
|
|
74
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
75
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
76
|
+
// ----------------------------------------------------------------------
|
|
77
|
+
action: _propTypes.default.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
|
|
78
|
+
style: _propTypes.default.object
|
|
79
|
+
} : void 0;
|
|
@@ -7,6 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.TreeItem2LabelInput = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _zeroStyled = require("../internals/zero-styled");
|
|
10
|
+
/**
|
|
11
|
+
* @ignore - internal component.
|
|
12
|
+
*/
|
|
10
13
|
const TreeItem2LabelInput = exports.TreeItem2LabelInput = (0, _zeroStyled.styled)('input', {
|
|
11
14
|
name: 'MuiTreeItem2',
|
|
12
15
|
slot: 'LabelInput',
|
package/node/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-tree-view v7.
|
|
2
|
+
* @mui/x-tree-view v7.22.1
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -115,6 +115,30 @@ Object.keys(_TreeItem2Provider).forEach(function (key) {
|
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
|
+
var _TreeItem2DragAndDropOverlay = require("./TreeItem2DragAndDropOverlay");
|
|
119
|
+
Object.keys(_TreeItem2DragAndDropOverlay).forEach(function (key) {
|
|
120
|
+
if (key === "default" || key === "__esModule") return;
|
|
121
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
122
|
+
if (key in exports && exports[key] === _TreeItem2DragAndDropOverlay[key]) return;
|
|
123
|
+
Object.defineProperty(exports, key, {
|
|
124
|
+
enumerable: true,
|
|
125
|
+
get: function () {
|
|
126
|
+
return _TreeItem2DragAndDropOverlay[key];
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
var _TreeItem2LabelInput = require("./TreeItem2LabelInput");
|
|
131
|
+
Object.keys(_TreeItem2LabelInput).forEach(function (key) {
|
|
132
|
+
if (key === "default" || key === "__esModule") return;
|
|
133
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
134
|
+
if (key in exports && exports[key] === _TreeItem2LabelInput[key]) return;
|
|
135
|
+
Object.defineProperty(exports, key, {
|
|
136
|
+
enumerable: true,
|
|
137
|
+
get: function () {
|
|
138
|
+
return _TreeItem2LabelInput[key];
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
});
|
|
118
142
|
var _useInstanceEventHandler = require("./internals/hooks/useInstanceEventHandler");
|
|
119
143
|
var _models = require("./models");
|
|
120
144
|
Object.keys(_models).forEach(function (key) {
|
|
@@ -46,15 +46,4 @@ Object.keys(_treeView).forEach(function (key) {
|
|
|
46
46
|
return _treeView[key];
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
|
-
});
|
|
50
|
-
var _MuiCancellableEvent = require("./MuiCancellableEvent");
|
|
51
|
-
Object.keys(_MuiCancellableEvent).forEach(function (key) {
|
|
52
|
-
if (key === "default" || key === "__esModule") return;
|
|
53
|
-
if (key in exports && exports[key] === _MuiCancellableEvent[key]) return;
|
|
54
|
-
Object.defineProperty(exports, key, {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
-
return _MuiCancellableEvent[key];
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
49
|
});
|
package/node/models/index.js
CHANGED
|
@@ -13,4 +13,15 @@ Object.keys(_items).forEach(function (key) {
|
|
|
13
13
|
return _items[key];
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
|
+
});
|
|
17
|
+
var _events = require("./events");
|
|
18
|
+
Object.keys(_events).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _events[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _events[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
16
27
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { TreeViewItemId } from '../models';
|
|
3
|
-
import { TreeViewPublicAPI
|
|
2
|
+
import { TreeViewItemId, TreeViewCancellableEventHandler } from '../models';
|
|
3
|
+
import { TreeViewPublicAPI } from '../internals/models';
|
|
4
4
|
import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewSelection';
|
|
5
5
|
import { UseTreeViewItemsSignature } from '../internals/plugins/useTreeViewItems';
|
|
6
6
|
import { UseTreeViewFocusSignature } from '../internals/plugins/useTreeViewFocus';
|
|
@@ -39,9 +39,9 @@ export interface UseTreeItem2RootSlotPropsFromUseTreeItem {
|
|
|
39
39
|
'aria-expanded': React.AriaAttributes['aria-expanded'];
|
|
40
40
|
'aria-selected': React.AriaAttributes['aria-selected'];
|
|
41
41
|
'aria-disabled': React.AriaAttributes['aria-disabled'];
|
|
42
|
-
onFocus:
|
|
43
|
-
onBlur:
|
|
44
|
-
onKeyDown:
|
|
42
|
+
onFocus: TreeViewCancellableEventHandler<React.FocusEvent<HTMLElement>>;
|
|
43
|
+
onBlur: TreeViewCancellableEventHandler<React.FocusEvent<HTMLElement>>;
|
|
44
|
+
onKeyDown: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLElement>>;
|
|
45
45
|
ref: React.RefCallback<HTMLLIElement>;
|
|
46
46
|
/**
|
|
47
47
|
* Only defined when the `indentationAtItemLevel` experimental feature is enabled.
|
|
@@ -52,8 +52,8 @@ export interface UseTreeItem2RootSlotOwnProps extends UseTreeItem2RootSlotPropsF
|
|
|
52
52
|
}
|
|
53
53
|
export type UseTreeItem2RootSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2RootSlotOwnProps;
|
|
54
54
|
export interface UseTreeItem2ContentSlotPropsFromUseTreeItem {
|
|
55
|
-
onClick:
|
|
56
|
-
onMouseDown:
|
|
55
|
+
onClick: TreeViewCancellableEventHandler<React.MouseEvent>;
|
|
56
|
+
onMouseDown: TreeViewCancellableEventHandler<React.MouseEvent>;
|
|
57
57
|
ref: React.RefCallback<HTMLDivElement> | null;
|
|
58
58
|
status: UseTreeItem2Status;
|
|
59
59
|
/**
|
|
@@ -65,12 +65,12 @@ export interface UseTreeItem2ContentSlotOwnProps extends UseTreeItem2ContentSlot
|
|
|
65
65
|
}
|
|
66
66
|
export type UseTreeItem2ContentSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2ContentSlotOwnProps;
|
|
67
67
|
export interface UseTreeItem2IconContainerSlotOwnProps {
|
|
68
|
-
onClick:
|
|
68
|
+
onClick: TreeViewCancellableEventHandler<React.MouseEvent>;
|
|
69
69
|
}
|
|
70
70
|
export type UseTreeItemIconContainerSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItem2IconContainerSlotOwnProps;
|
|
71
71
|
export interface UseTreeItem2LabelSlotOwnProps {
|
|
72
72
|
children: React.ReactNode;
|
|
73
|
-
onDoubleClick:
|
|
73
|
+
onDoubleClick: TreeViewCancellableEventHandler<React.MouseEvent>;
|
|
74
74
|
/**
|
|
75
75
|
* Only defined when the `isItemEditable` experimental feature is enabled.
|
|
76
76
|
*/
|
|
@@ -83,7 +83,7 @@ export type UseTreeItem2LabelInputSlotProps<ExternalProps = {}> = ExternalProps
|
|
|
83
83
|
export interface UseTreeItem2CheckboxSlotOwnProps {
|
|
84
84
|
visible: boolean;
|
|
85
85
|
checked: boolean;
|
|
86
|
-
onChange:
|
|
86
|
+
onChange: TreeViewCancellableEventHandler<React.ChangeEvent<HTMLInputElement>>;
|
|
87
87
|
disabled: boolean;
|
|
88
88
|
ref: React.RefObject<HTMLButtonElement>;
|
|
89
89
|
tabIndex: -1;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|