@mui/lab 5.0.0-alpha.134 → 5.0.0-alpha.136
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 +245 -10
- package/Masonry/Masonry.js +16 -6
- package/README.md +2 -2
- package/Timeline/Timeline.d.ts +3 -1
- package/Timeline/Timeline.js +4 -4
- package/Timeline/timelineClasses.d.ts +1 -1
- package/Timeline/timelineClasses.js +1 -1
- package/TimelineContent/TimelineContent.js +3 -3
- package/TimelineContent/timelineContentClasses.d.ts +2 -0
- package/TimelineContent/timelineContentClasses.js +1 -1
- package/TimelineItem/TimelineItem.d.ts +1 -1
- package/TimelineItem/TimelineItem.js +7 -6
- package/TimelineItem/timelineItemClasses.d.ts +2 -0
- package/TimelineItem/timelineItemClasses.js +1 -1
- package/TimelineOppositeContent/TimelineOppositeContent.js +3 -3
- package/TimelineOppositeContent/timelineOppositeContentClasses.d.ts +2 -0
- package/TimelineOppositeContent/timelineOppositeContentClasses.js +1 -1
- package/index.js +1 -1
- package/internal/convertTimelinePositionToClass.d.ts +1 -0
- package/internal/convertTimelinePositionToClass.js +4 -0
- package/legacy/Masonry/Masonry.js +14 -6
- package/legacy/Timeline/Timeline.js +4 -4
- package/legacy/Timeline/timelineClasses.js +1 -1
- package/legacy/TimelineContent/TimelineContent.js +3 -3
- package/legacy/TimelineContent/timelineContentClasses.js +1 -1
- package/legacy/TimelineItem/TimelineItem.js +13 -14
- package/legacy/TimelineItem/timelineItemClasses.js +1 -1
- package/legacy/TimelineOppositeContent/TimelineOppositeContent.js +3 -3
- package/legacy/TimelineOppositeContent/timelineOppositeContentClasses.js +1 -1
- package/legacy/index.js +1 -1
- package/legacy/internal/convertTimelinePositionToClass.js +4 -0
- package/modern/Masonry/Masonry.js +16 -6
- package/modern/Timeline/Timeline.js +4 -4
- package/modern/Timeline/timelineClasses.js +1 -1
- package/modern/TimelineContent/TimelineContent.js +3 -3
- package/modern/TimelineContent/timelineContentClasses.js +1 -1
- package/modern/TimelineItem/TimelineItem.js +7 -6
- package/modern/TimelineItem/timelineItemClasses.js +1 -1
- package/modern/TimelineOppositeContent/TimelineOppositeContent.js +3 -3
- package/modern/TimelineOppositeContent/timelineOppositeContentClasses.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internal/convertTimelinePositionToClass.js +4 -0
- package/node/Masonry/Masonry.js +15 -5
- package/node/Timeline/Timeline.js +4 -4
- package/node/Timeline/timelineClasses.js +1 -1
- package/node/TimelineContent/TimelineContent.js +3 -3
- package/node/TimelineContent/timelineContentClasses.js +1 -1
- package/node/TimelineItem/TimelineItem.js +6 -5
- package/node/TimelineItem/timelineItemClasses.js +1 -1
- package/node/TimelineOppositeContent/TimelineOppositeContent.js +3 -3
- package/node/TimelineOppositeContent/timelineOppositeContentClasses.js +1 -1
- package/node/index.js +1 -1
- package/node/internal/convertTimelinePositionToClass.js +10 -0
- package/package.json +5 -5
package/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function convertTimelinePositionToClass(position: string): string;
|
|
@@ -6,7 +6,7 @@ import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
|
6
6
|
import * as ReactDOM from 'react-dom';
|
|
7
7
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
8
8
|
import { createUnarySpacing, getValue, handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';
|
|
9
|
-
import { deepmerge, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
9
|
+
import { deepmerge, unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
10
10
|
import clsx from 'clsx';
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
12
|
import * as React from 'react';
|
|
@@ -224,20 +224,28 @@ var Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
|
|
|
224
224
|
});
|
|
225
225
|
}
|
|
226
226
|
};
|
|
227
|
-
|
|
228
|
-
React.useEffect(function () {
|
|
229
|
-
var resizeObserver = observer.current;
|
|
227
|
+
useEnhancedEffect(function () {
|
|
230
228
|
// IE and old browsers are not supported
|
|
231
|
-
if (
|
|
229
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
232
230
|
return undefined;
|
|
233
231
|
}
|
|
232
|
+
var animationFrame;
|
|
233
|
+
var resizeObserver = new ResizeObserver(function () {
|
|
234
|
+
// see https://github.com/mui/material-ui/issues/36909
|
|
235
|
+
animationFrame = window.requestAnimationFrame(handleResize);
|
|
236
|
+
});
|
|
234
237
|
if (masonryRef.current) {
|
|
235
238
|
masonryRef.current.childNodes.forEach(function (childNode) {
|
|
236
239
|
resizeObserver.observe(childNode);
|
|
237
240
|
});
|
|
238
241
|
}
|
|
239
242
|
return function () {
|
|
240
|
-
|
|
243
|
+
if (animationFrame) {
|
|
244
|
+
window.cancelAnimationFrame(animationFrame);
|
|
245
|
+
}
|
|
246
|
+
if (resizeObserver) {
|
|
247
|
+
resizeObserver.disconnect();
|
|
248
|
+
}
|
|
241
249
|
};
|
|
242
250
|
}, [columns, spacing, children]);
|
|
243
251
|
var handleRef = useForkRef(ref, masonryRef);
|
|
@@ -6,17 +6,17 @@ import clsx from 'clsx';
|
|
|
6
6
|
|
|
7
7
|
// eslint-disable-next-line no-restricted-imports -- importing types
|
|
8
8
|
|
|
9
|
-
import { capitalize } from '@mui/material/utils';
|
|
10
9
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
11
10
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
12
11
|
import TimelineContext from './TimelineContext';
|
|
13
12
|
import { getTimelineUtilityClass } from './timelineClasses';
|
|
13
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
15
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
16
16
|
var position = ownerState.position,
|
|
17
17
|
classes = ownerState.classes;
|
|
18
18
|
var slots = {
|
|
19
|
-
root: ['root', position &&
|
|
19
|
+
root: ['root', position && convertTimelinePositionToClass(position)]
|
|
20
20
|
};
|
|
21
21
|
return composeClasses(slots, getTimelineUtilityClass, classes);
|
|
22
22
|
};
|
|
@@ -25,7 +25,7 @@ var TimelineRoot = styled('ul', {
|
|
|
25
25
|
slot: 'Root',
|
|
26
26
|
overridesResolver: function overridesResolver(props, styles) {
|
|
27
27
|
var ownerState = props.ownerState;
|
|
28
|
-
return [styles.root, ownerState.position && styles[
|
|
28
|
+
return [styles.root, ownerState.position && styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
29
29
|
}
|
|
30
30
|
})({
|
|
31
31
|
display: 'flex',
|
|
@@ -94,7 +94,7 @@ process.env.NODE_ENV !== "production" ? Timeline.propTypes /* remove-proptypes *
|
|
|
94
94
|
* The position where the TimelineContent should appear relative to the time axis.
|
|
95
95
|
* @default 'right'
|
|
96
96
|
*/
|
|
97
|
-
position: PropTypes.oneOf(['alternate', 'left', 'right']),
|
|
97
|
+
position: PropTypes.oneOf(['alternate-reverse', 'alternate', 'left', 'right']),
|
|
98
98
|
/**
|
|
99
99
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
100
100
|
*/
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimeline', slot);
|
|
5
5
|
}
|
|
6
|
-
var timelineClasses = generateUtilityClasses('MuiTimeline', ['root', 'positionLeft', 'positionRight', 'positionAlternate']);
|
|
6
|
+
var timelineClasses = generateUtilityClasses('MuiTimeline', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse']);
|
|
7
7
|
export default timelineClasses;
|
|
@@ -3,18 +3,18 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { capitalize } from '@mui/material/utils';
|
|
7
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
8
7
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
9
8
|
import Typography from '@mui/material/Typography';
|
|
10
9
|
import TimelineContext from '../Timeline/TimelineContext';
|
|
11
10
|
import { getTimelineContentUtilityClass } from './timelineContentClasses';
|
|
11
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
14
14
|
var position = ownerState.position,
|
|
15
15
|
classes = ownerState.classes;
|
|
16
16
|
var slots = {
|
|
17
|
-
root: ['root',
|
|
17
|
+
root: ['root', convertTimelinePositionToClass(position)]
|
|
18
18
|
};
|
|
19
19
|
return composeClasses(slots, getTimelineContentUtilityClass, classes);
|
|
20
20
|
};
|
|
@@ -23,7 +23,7 @@ var TimelineContentRoot = styled(Typography, {
|
|
|
23
23
|
slot: 'Root',
|
|
24
24
|
overridesResolver: function overridesResolver(props, styles) {
|
|
25
25
|
var ownerState = props.ownerState;
|
|
26
|
-
return [styles.root, styles[
|
|
26
|
+
return [styles.root, styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
27
27
|
}
|
|
28
28
|
})(function (_ref) {
|
|
29
29
|
var ownerState = _ref.ownerState;
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineContentUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimelineContent', slot);
|
|
5
5
|
}
|
|
6
|
-
var timelineContentClasses = generateUtilityClasses('MuiTimelineContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate']);
|
|
6
|
+
var timelineContentClasses = generateUtilityClasses('MuiTimelineContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse']);
|
|
7
7
|
export default timelineContentClasses;
|
|
@@ -4,20 +4,21 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
|
-
import {
|
|
7
|
+
import { isMuiElement } from '@mui/material/utils';
|
|
8
8
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
9
9
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
10
10
|
import { timelineContentClasses } from '../TimelineContent';
|
|
11
11
|
import { timelineOppositeContentClasses } from '../TimelineOppositeContent';
|
|
12
12
|
import TimelineContext from '../Timeline/TimelineContext';
|
|
13
13
|
import { getTimelineItemUtilityClass } from './timelineItemClasses';
|
|
14
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
14
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
16
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
16
17
|
var position = ownerState.position,
|
|
17
18
|
classes = ownerState.classes,
|
|
18
19
|
hasOppositeContent = ownerState.hasOppositeContent;
|
|
19
20
|
var slots = {
|
|
20
|
-
root: ['root',
|
|
21
|
+
root: ['root', convertTimelinePositionToClass(position), !hasOppositeContent && 'missingOppositeContent']
|
|
21
22
|
};
|
|
22
23
|
return composeClasses(slots, getTimelineItemUtilityClass, classes);
|
|
23
24
|
};
|
|
@@ -26,10 +27,10 @@ var TimelineItemRoot = styled('li', {
|
|
|
26
27
|
slot: 'Root',
|
|
27
28
|
overridesResolver: function overridesResolver(props, styles) {
|
|
28
29
|
var ownerState = props.ownerState;
|
|
29
|
-
return [styles.root, styles[
|
|
30
|
+
return [styles.root, styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
30
31
|
}
|
|
31
32
|
})(function (_ref) {
|
|
32
|
-
var
|
|
33
|
+
var _nthOfType$conca;
|
|
33
34
|
var ownerState = _ref.ownerState;
|
|
34
35
|
return _extends({
|
|
35
36
|
listStyle: 'none',
|
|
@@ -38,15 +39,13 @@ var TimelineItemRoot = styled('li', {
|
|
|
38
39
|
minHeight: 70
|
|
39
40
|
}, ownerState.position === 'left' && {
|
|
40
41
|
flexDirection: 'row-reverse'
|
|
41
|
-
}, ownerState.position === 'alternate' && {
|
|
42
|
-
'
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}), _nthOfTypeEven)
|
|
49
|
-
}, !ownerState.hasOppositeContent && {
|
|
42
|
+
}, (ownerState.position === 'alternate' || ownerState.position === 'alternate-reverse') && _defineProperty({}, "&:nth-of-type(".concat(ownerState.position === 'alternate' ? 'even' : 'odd', ")"), (_nthOfType$conca = {
|
|
43
|
+
flexDirection: 'row-reverse'
|
|
44
|
+
}, _defineProperty(_nthOfType$conca, "& .".concat(timelineContentClasses.root), {
|
|
45
|
+
textAlign: 'right'
|
|
46
|
+
}), _defineProperty(_nthOfType$conca, "& .".concat(timelineOppositeContentClasses.root), {
|
|
47
|
+
textAlign: 'left'
|
|
48
|
+
}), _nthOfType$conca)), !ownerState.hasOppositeContent && {
|
|
50
49
|
'&:before': {
|
|
51
50
|
content: '""',
|
|
52
51
|
flex: 1,
|
|
@@ -109,7 +108,7 @@ process.env.NODE_ENV !== "production" ? TimelineItem.propTypes /* remove-proptyp
|
|
|
109
108
|
/**
|
|
110
109
|
* The position where the timeline's item should appear.
|
|
111
110
|
*/
|
|
112
|
-
position: PropTypes.oneOf(['left', 'right']),
|
|
111
|
+
position: PropTypes.oneOf(['alternate-reverse', 'alternate', 'left', 'right']),
|
|
113
112
|
/**
|
|
114
113
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
115
114
|
*/
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineItemUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimelineItem', slot);
|
|
5
5
|
}
|
|
6
|
-
var timelineItemClasses = generateUtilityClasses('MuiTimelineItem', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'missingOppositeContent']);
|
|
6
|
+
var timelineItemClasses = generateUtilityClasses('MuiTimelineItem', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse', 'missingOppositeContent']);
|
|
7
7
|
export default timelineItemClasses;
|
|
@@ -4,17 +4,17 @@ import * as React from 'react';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
7
|
-
import { capitalize } from '@mui/material/utils';
|
|
8
7
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
9
8
|
import Typography from '@mui/material/Typography';
|
|
10
9
|
import TimelineContext from '../Timeline/TimelineContext';
|
|
11
10
|
import { getTimelineOppositeContentUtilityClass } from './timelineOppositeContentClasses';
|
|
11
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
14
14
|
var position = ownerState.position,
|
|
15
15
|
classes = ownerState.classes;
|
|
16
16
|
var slots = {
|
|
17
|
-
root: ['root',
|
|
17
|
+
root: ['root', convertTimelinePositionToClass(position)]
|
|
18
18
|
};
|
|
19
19
|
return composeClasses(slots, getTimelineOppositeContentUtilityClass, classes);
|
|
20
20
|
};
|
|
@@ -23,7 +23,7 @@ var TimelineOppositeContentRoot = styled(Typography, {
|
|
|
23
23
|
slot: 'Root',
|
|
24
24
|
overridesResolver: function overridesResolver(props, styles) {
|
|
25
25
|
var ownerState = props.ownerState;
|
|
26
|
-
return [styles.root, styles[
|
|
26
|
+
return [styles.root, styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
27
27
|
}
|
|
28
28
|
})(function (_ref) {
|
|
29
29
|
var ownerState = _ref.ownerState;
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineOppositeContentUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimelineOppositeContent', slot);
|
|
5
5
|
}
|
|
6
|
-
var timelineOppositeContentClasses = generateUtilityClasses('MuiTimelineOppositeContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate']);
|
|
6
|
+
var timelineOppositeContentClasses = generateUtilityClasses('MuiTimelineOppositeContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse']);
|
|
7
7
|
export default timelineOppositeContentClasses;
|
package/legacy/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
|
5
5
|
import * as ReactDOM from 'react-dom';
|
|
6
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
7
7
|
import { createUnarySpacing, getValue, handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';
|
|
8
|
-
import { deepmerge, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
8
|
+
import { deepmerge, unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
9
9
|
import clsx from 'clsx';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import * as React from 'react';
|
|
@@ -221,19 +221,29 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
|
|
|
221
221
|
});
|
|
222
222
|
}
|
|
223
223
|
};
|
|
224
|
-
|
|
225
|
-
React.useEffect(() => {
|
|
226
|
-
const resizeObserver = observer.current;
|
|
224
|
+
useEnhancedEffect(() => {
|
|
227
225
|
// IE and old browsers are not supported
|
|
228
|
-
if (
|
|
226
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
229
227
|
return undefined;
|
|
230
228
|
}
|
|
229
|
+
let animationFrame;
|
|
230
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
231
|
+
// see https://github.com/mui/material-ui/issues/36909
|
|
232
|
+
animationFrame = window.requestAnimationFrame(handleResize);
|
|
233
|
+
});
|
|
231
234
|
if (masonryRef.current) {
|
|
232
235
|
masonryRef.current.childNodes.forEach(childNode => {
|
|
233
236
|
resizeObserver.observe(childNode);
|
|
234
237
|
});
|
|
235
238
|
}
|
|
236
|
-
return () =>
|
|
239
|
+
return () => {
|
|
240
|
+
if (animationFrame) {
|
|
241
|
+
window.cancelAnimationFrame(animationFrame);
|
|
242
|
+
}
|
|
243
|
+
if (resizeObserver) {
|
|
244
|
+
resizeObserver.disconnect();
|
|
245
|
+
}
|
|
246
|
+
};
|
|
237
247
|
}, [columns, spacing, children]);
|
|
238
248
|
const handleRef = useForkRef(ref, masonryRef);
|
|
239
249
|
|
|
@@ -7,11 +7,11 @@ import clsx from 'clsx';
|
|
|
7
7
|
|
|
8
8
|
// eslint-disable-next-line no-restricted-imports -- importing types
|
|
9
9
|
|
|
10
|
-
import { capitalize } from '@mui/material/utils';
|
|
11
10
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
12
11
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
13
12
|
import TimelineContext from './TimelineContext';
|
|
14
13
|
import { getTimelineUtilityClass } from './timelineClasses';
|
|
14
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
15
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
16
|
const useUtilityClasses = ownerState => {
|
|
17
17
|
const {
|
|
@@ -19,7 +19,7 @@ const useUtilityClasses = ownerState => {
|
|
|
19
19
|
classes
|
|
20
20
|
} = ownerState;
|
|
21
21
|
const slots = {
|
|
22
|
-
root: ['root', position &&
|
|
22
|
+
root: ['root', position && convertTimelinePositionToClass(position)]
|
|
23
23
|
};
|
|
24
24
|
return composeClasses(slots, getTimelineUtilityClass, classes);
|
|
25
25
|
};
|
|
@@ -30,7 +30,7 @@ const TimelineRoot = styled('ul', {
|
|
|
30
30
|
const {
|
|
31
31
|
ownerState
|
|
32
32
|
} = props;
|
|
33
|
-
return [styles.root, ownerState.position && styles[
|
|
33
|
+
return [styles.root, ownerState.position && styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
34
34
|
}
|
|
35
35
|
})({
|
|
36
36
|
display: 'flex',
|
|
@@ -98,7 +98,7 @@ process.env.NODE_ENV !== "production" ? Timeline.propTypes /* remove-proptypes *
|
|
|
98
98
|
* The position where the TimelineContent should appear relative to the time axis.
|
|
99
99
|
* @default 'right'
|
|
100
100
|
*/
|
|
101
|
-
position: PropTypes.oneOf(['alternate', 'left', 'right']),
|
|
101
|
+
position: PropTypes.oneOf(['alternate-reverse', 'alternate', 'left', 'right']),
|
|
102
102
|
/**
|
|
103
103
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
104
104
|
*/
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimeline', slot);
|
|
5
5
|
}
|
|
6
|
-
const timelineClasses = generateUtilityClasses('MuiTimeline', ['root', 'positionLeft', 'positionRight', 'positionAlternate']);
|
|
6
|
+
const timelineClasses = generateUtilityClasses('MuiTimeline', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse']);
|
|
7
7
|
export default timelineClasses;
|
|
@@ -4,12 +4,12 @@ const _excluded = ["className"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
|
-
import { capitalize } from '@mui/material/utils';
|
|
8
7
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
9
8
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
10
9
|
import Typography from '@mui/material/Typography';
|
|
11
10
|
import TimelineContext from '../Timeline/TimelineContext';
|
|
12
11
|
import { getTimelineContentUtilityClass } from './timelineContentClasses';
|
|
12
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
const useUtilityClasses = ownerState => {
|
|
15
15
|
const {
|
|
@@ -17,7 +17,7 @@ const useUtilityClasses = ownerState => {
|
|
|
17
17
|
classes
|
|
18
18
|
} = ownerState;
|
|
19
19
|
const slots = {
|
|
20
|
-
root: ['root',
|
|
20
|
+
root: ['root', convertTimelinePositionToClass(position)]
|
|
21
21
|
};
|
|
22
22
|
return composeClasses(slots, getTimelineContentUtilityClass, classes);
|
|
23
23
|
};
|
|
@@ -28,7 +28,7 @@ const TimelineContentRoot = styled(Typography, {
|
|
|
28
28
|
const {
|
|
29
29
|
ownerState
|
|
30
30
|
} = props;
|
|
31
|
-
return [styles.root, styles[
|
|
31
|
+
return [styles.root, styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
32
32
|
}
|
|
33
33
|
})(({
|
|
34
34
|
ownerState
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineContentUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimelineContent', slot);
|
|
5
5
|
}
|
|
6
|
-
const timelineContentClasses = generateUtilityClasses('MuiTimelineContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate']);
|
|
6
|
+
const timelineContentClasses = generateUtilityClasses('MuiTimelineContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse']);
|
|
7
7
|
export default timelineContentClasses;
|
|
@@ -4,13 +4,14 @@ const _excluded = ["position", "className"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
|
-
import {
|
|
7
|
+
import { isMuiElement } from '@mui/material/utils';
|
|
8
8
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
9
9
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
10
10
|
import { timelineContentClasses } from '../TimelineContent';
|
|
11
11
|
import { timelineOppositeContentClasses } from '../TimelineOppositeContent';
|
|
12
12
|
import TimelineContext from '../Timeline/TimelineContext';
|
|
13
13
|
import { getTimelineItemUtilityClass } from './timelineItemClasses';
|
|
14
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
14
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
16
|
const useUtilityClasses = ownerState => {
|
|
16
17
|
const {
|
|
@@ -19,7 +20,7 @@ const useUtilityClasses = ownerState => {
|
|
|
19
20
|
hasOppositeContent
|
|
20
21
|
} = ownerState;
|
|
21
22
|
const slots = {
|
|
22
|
-
root: ['root',
|
|
23
|
+
root: ['root', convertTimelinePositionToClass(position), !hasOppositeContent && 'missingOppositeContent']
|
|
23
24
|
};
|
|
24
25
|
return composeClasses(slots, getTimelineItemUtilityClass, classes);
|
|
25
26
|
};
|
|
@@ -30,7 +31,7 @@ const TimelineItemRoot = styled('li', {
|
|
|
30
31
|
const {
|
|
31
32
|
ownerState
|
|
32
33
|
} = props;
|
|
33
|
-
return [styles.root, styles[
|
|
34
|
+
return [styles.root, styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
34
35
|
}
|
|
35
36
|
})(({
|
|
36
37
|
ownerState
|
|
@@ -41,8 +42,8 @@ const TimelineItemRoot = styled('li', {
|
|
|
41
42
|
minHeight: 70
|
|
42
43
|
}, ownerState.position === 'left' && {
|
|
43
44
|
flexDirection: 'row-reverse'
|
|
44
|
-
}, ownerState.position === 'alternate' && {
|
|
45
|
-
|
|
45
|
+
}, (ownerState.position === 'alternate' || ownerState.position === 'alternate-reverse') && {
|
|
46
|
+
[`&:nth-of-type(${ownerState.position === 'alternate' ? 'even' : 'odd'})`]: {
|
|
46
47
|
flexDirection: 'row-reverse',
|
|
47
48
|
[`& .${timelineContentClasses.root}`]: {
|
|
48
49
|
textAlign: 'right'
|
|
@@ -114,7 +115,7 @@ process.env.NODE_ENV !== "production" ? TimelineItem.propTypes /* remove-proptyp
|
|
|
114
115
|
/**
|
|
115
116
|
* The position where the timeline's item should appear.
|
|
116
117
|
*/
|
|
117
|
-
position: PropTypes.oneOf(['left', 'right']),
|
|
118
|
+
position: PropTypes.oneOf(['alternate-reverse', 'alternate', 'left', 'right']),
|
|
118
119
|
/**
|
|
119
120
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
120
121
|
*/
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineItemUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimelineItem', slot);
|
|
5
5
|
}
|
|
6
|
-
const timelineItemClasses = generateUtilityClasses('MuiTimelineItem', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'missingOppositeContent']);
|
|
6
|
+
const timelineItemClasses = generateUtilityClasses('MuiTimelineItem', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse', 'missingOppositeContent']);
|
|
7
7
|
export default timelineItemClasses;
|
|
@@ -5,11 +5,11 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
8
|
-
import { capitalize } from '@mui/material/utils';
|
|
9
8
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
10
9
|
import Typography from '@mui/material/Typography';
|
|
11
10
|
import TimelineContext from '../Timeline/TimelineContext';
|
|
12
11
|
import { getTimelineOppositeContentUtilityClass } from './timelineOppositeContentClasses';
|
|
12
|
+
import convertTimelinePositionToClass from '../internal/convertTimelinePositionToClass';
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
const useUtilityClasses = ownerState => {
|
|
15
15
|
const {
|
|
@@ -17,7 +17,7 @@ const useUtilityClasses = ownerState => {
|
|
|
17
17
|
classes
|
|
18
18
|
} = ownerState;
|
|
19
19
|
const slots = {
|
|
20
|
-
root: ['root',
|
|
20
|
+
root: ['root', convertTimelinePositionToClass(position)]
|
|
21
21
|
};
|
|
22
22
|
return composeClasses(slots, getTimelineOppositeContentUtilityClass, classes);
|
|
23
23
|
};
|
|
@@ -28,7 +28,7 @@ const TimelineOppositeContentRoot = styled(Typography, {
|
|
|
28
28
|
const {
|
|
29
29
|
ownerState
|
|
30
30
|
} = props;
|
|
31
|
-
return [styles.root, styles[
|
|
31
|
+
return [styles.root, styles[convertTimelinePositionToClass(ownerState.position)]];
|
|
32
32
|
}
|
|
33
33
|
})(({
|
|
34
34
|
ownerState
|
|
@@ -3,5 +3,5 @@ import generateUtilityClasses from '@mui/material/generateUtilityClasses';
|
|
|
3
3
|
export function getTimelineOppositeContentUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiTimelineOppositeContent', slot);
|
|
5
5
|
}
|
|
6
|
-
const timelineOppositeContentClasses = generateUtilityClasses('MuiTimelineOppositeContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate']);
|
|
6
|
+
const timelineOppositeContentClasses = generateUtilityClasses('MuiTimelineOppositeContent', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse']);
|
|
7
7
|
export default timelineOppositeContentClasses;
|
package/modern/index.js
CHANGED
package/node/Masonry/Masonry.js
CHANGED
|
@@ -231,19 +231,29 @@ const Masonry = /*#__PURE__*/React.forwardRef(function Masonry(inProps, ref) {
|
|
|
231
231
|
});
|
|
232
232
|
}
|
|
233
233
|
};
|
|
234
|
-
|
|
235
|
-
React.useEffect(() => {
|
|
236
|
-
const resizeObserver = observer.current;
|
|
234
|
+
(0, _utils.unstable_useEnhancedEffect)(() => {
|
|
237
235
|
// IE and old browsers are not supported
|
|
238
|
-
if (
|
|
236
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
239
237
|
return undefined;
|
|
240
238
|
}
|
|
239
|
+
let animationFrame;
|
|
240
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
241
|
+
// see https://github.com/mui/material-ui/issues/36909
|
|
242
|
+
animationFrame = window.requestAnimationFrame(handleResize);
|
|
243
|
+
});
|
|
241
244
|
if (masonryRef.current) {
|
|
242
245
|
masonryRef.current.childNodes.forEach(childNode => {
|
|
243
246
|
resizeObserver.observe(childNode);
|
|
244
247
|
});
|
|
245
248
|
}
|
|
246
|
-
return () =>
|
|
249
|
+
return () => {
|
|
250
|
+
if (animationFrame) {
|
|
251
|
+
window.cancelAnimationFrame(animationFrame);
|
|
252
|
+
}
|
|
253
|
+
if (resizeObserver) {
|
|
254
|
+
resizeObserver.disconnect();
|
|
255
|
+
}
|
|
256
|
+
};
|
|
247
257
|
}, [columns, spacing, children]);
|
|
248
258
|
const handleRef = (0, _utils.unstable_useForkRef)(ref, masonryRef);
|
|
249
259
|
|
|
@@ -10,11 +10,11 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
|
-
var _utils = require("@mui/material/utils");
|
|
14
13
|
var _base = require("@mui/base");
|
|
15
14
|
var _styles = require("@mui/material/styles");
|
|
16
15
|
var _TimelineContext = _interopRequireDefault(require("./TimelineContext"));
|
|
17
16
|
var _timelineClasses = require("./timelineClasses");
|
|
17
|
+
var _convertTimelinePositionToClass = _interopRequireDefault(require("../internal/convertTimelinePositionToClass"));
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
19
|
const _excluded = ["position", "className"]; // eslint-disable-next-line no-restricted-imports -- importing types
|
|
20
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -25,7 +25,7 @@ const useUtilityClasses = ownerState => {
|
|
|
25
25
|
classes
|
|
26
26
|
} = ownerState;
|
|
27
27
|
const slots = {
|
|
28
|
-
root: ['root', position &&
|
|
28
|
+
root: ['root', position && (0, _convertTimelinePositionToClass.default)(position)]
|
|
29
29
|
};
|
|
30
30
|
return (0, _base.unstable_composeClasses)(slots, _timelineClasses.getTimelineUtilityClass, classes);
|
|
31
31
|
};
|
|
@@ -36,7 +36,7 @@ const TimelineRoot = (0, _styles.styled)('ul', {
|
|
|
36
36
|
const {
|
|
37
37
|
ownerState
|
|
38
38
|
} = props;
|
|
39
|
-
return [styles.root, ownerState.position && styles[
|
|
39
|
+
return [styles.root, ownerState.position && styles[(0, _convertTimelinePositionToClass.default)(ownerState.position)]];
|
|
40
40
|
}
|
|
41
41
|
})({
|
|
42
42
|
display: 'flex',
|
|
@@ -104,7 +104,7 @@ process.env.NODE_ENV !== "production" ? Timeline.propTypes /* remove-proptypes *
|
|
|
104
104
|
* The position where the TimelineContent should appear relative to the time axis.
|
|
105
105
|
* @default 'right'
|
|
106
106
|
*/
|
|
107
|
-
position: _propTypes.default.oneOf(['alternate', 'left', 'right']),
|
|
107
|
+
position: _propTypes.default.oneOf(['alternate-reverse', 'alternate', 'left', 'right']),
|
|
108
108
|
/**
|
|
109
109
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
110
110
|
*/
|
|
@@ -11,6 +11,6 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/material/gene
|
|
|
11
11
|
function getTimelineUtilityClass(slot) {
|
|
12
12
|
return (0, _generateUtilityClass.default)('MuiTimeline', slot);
|
|
13
13
|
}
|
|
14
|
-
const timelineClasses = (0, _generateUtilityClasses.default)('MuiTimeline', ['root', 'positionLeft', 'positionRight', 'positionAlternate']);
|
|
14
|
+
const timelineClasses = (0, _generateUtilityClasses.default)('MuiTimeline', ['root', 'positionLeft', 'positionRight', 'positionAlternate', 'positionAlternateReverse']);
|
|
15
15
|
var _default = timelineClasses;
|
|
16
16
|
exports.default = _default;
|