@mui/system 5.8.6 → 5.9.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 +185 -0
- package/Unstable_Grid/Grid.d.ts +12 -0
- package/Unstable_Grid/Grid.js +195 -0
- package/Unstable_Grid/GridProps.d.ts +162 -0
- package/Unstable_Grid/GridProps.js +5 -0
- package/Unstable_Grid/createGrid.d.ts +11 -0
- package/Unstable_Grid/createGrid.js +199 -0
- package/Unstable_Grid/gridClasses.d.ts +20 -0
- package/Unstable_Grid/gridClasses.js +25 -0
- package/Unstable_Grid/gridGenerator.d.ts +26 -0
- package/Unstable_Grid/gridGenerator.js +275 -0
- package/Unstable_Grid/index.d.ts +5 -0
- package/Unstable_Grid/index.js +65 -0
- package/Unstable_Grid/package.json +6 -0
- package/breakpoints.js +1 -1
- package/{grid.js → cssGrid.js} +0 -0
- package/cssVars/createCssVarsProvider.d.ts +13 -18
- package/cssVars/createCssVarsProvider.js +11 -16
- package/cssVars/createGetCssVar.d.ts +1 -1
- package/cssVars/createGetCssVar.js +2 -2
- package/cssVars/cssVarsParser.d.ts +4 -9
- package/cssVars/cssVarsParser.js +4 -19
- package/cssVars/index.d.ts +2 -1
- package/cssVars/index.js +9 -1
- package/cssVars/useCurrentColorScheme.js +1 -1
- package/esm/Unstable_Grid/Grid.js +184 -0
- package/esm/Unstable_Grid/GridProps.js +1 -0
- package/esm/Unstable_Grid/createGrid.js +177 -0
- package/esm/Unstable_Grid/gridClasses.js +14 -0
- package/esm/Unstable_Grid/gridGenerator.js +236 -0
- package/esm/Unstable_Grid/index.js +5 -0
- package/esm/breakpoints.js +1 -1
- package/esm/{grid.js → cssGrid.js} +0 -0
- package/esm/cssVars/createCssVarsProvider.js +11 -15
- package/esm/cssVars/createGetCssVar.js +2 -2
- package/esm/cssVars/cssVarsParser.js +4 -19
- package/esm/cssVars/index.js +2 -1
- package/esm/cssVars/useCurrentColorScheme.js +1 -1
- package/esm/getThemeValue.js +1 -1
- package/esm/index.js +9 -3
- package/getThemeValue.js +3 -3
- package/index.d.ts +3 -0
- package/index.js +30 -7
- package/legacy/Unstable_Grid/Grid.js +184 -0
- package/legacy/Unstable_Grid/GridProps.js +1 -0
- package/legacy/Unstable_Grid/createGrid.js +191 -0
- package/legacy/Unstable_Grid/gridClasses.js +27 -0
- package/legacy/Unstable_Grid/gridGenerator.js +245 -0
- package/legacy/Unstable_Grid/index.js +5 -0
- package/legacy/breakpoints.js +1 -1
- package/legacy/{grid.js → cssGrid.js} +0 -0
- package/legacy/cssVars/createCssVarsProvider.js +11 -16
- package/legacy/cssVars/createGetCssVar.js +3 -3
- package/legacy/cssVars/cssVarsParser.js +4 -20
- package/legacy/cssVars/index.js +2 -1
- package/legacy/cssVars/useCurrentColorScheme.js +1 -1
- package/legacy/getThemeValue.js +1 -1
- package/legacy/index.js +10 -4
- package/modern/Unstable_Grid/Grid.js +184 -0
- package/modern/Unstable_Grid/GridProps.js +1 -0
- package/modern/Unstable_Grid/createGrid.js +175 -0
- package/modern/Unstable_Grid/gridClasses.js +14 -0
- package/modern/Unstable_Grid/gridGenerator.js +232 -0
- package/modern/Unstable_Grid/index.js +5 -0
- package/modern/breakpoints.js +1 -1
- package/modern/{grid.js → cssGrid.js} +0 -0
- package/modern/cssVars/createCssVarsProvider.js +11 -15
- package/modern/cssVars/createGetCssVar.js +2 -2
- package/modern/cssVars/cssVarsParser.js +4 -19
- package/modern/cssVars/index.js +2 -1
- package/modern/cssVars/useCurrentColorScheme.js +1 -1
- package/modern/getThemeValue.js +1 -1
- package/modern/index.js +10 -4
- package/package.json +5 -5
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = createGrid;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
|
+
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
+
|
|
18
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
19
|
+
|
|
20
|
+
var _utils = require("@mui/utils");
|
|
21
|
+
|
|
22
|
+
var _styled = _interopRequireDefault(require("../styled"));
|
|
23
|
+
|
|
24
|
+
var _useThemeProps = _interopRequireDefault(require("../useThemeProps"));
|
|
25
|
+
|
|
26
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
|
+
|
|
28
|
+
var _styleFunctionSx = require("../styleFunctionSx");
|
|
29
|
+
|
|
30
|
+
var _createTheme = _interopRequireDefault(require("../createTheme"));
|
|
31
|
+
|
|
32
|
+
var _gridGenerator = require("./gridGenerator");
|
|
33
|
+
|
|
34
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
35
|
+
|
|
36
|
+
const _excluded = ["className", "columns", "container", "component", "direction", "wrap", "spacing", "rowSpacing", "columnSpacing", "disableEqualOverflow"];
|
|
37
|
+
|
|
38
|
+
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); }
|
|
39
|
+
|
|
40
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
|
+
|
|
42
|
+
const defaultTheme = (0, _createTheme.default)(); // widening Theme to any so that the consumer can own the theme structure.
|
|
43
|
+
|
|
44
|
+
const defaultCreateStyledComponent = (0, _styled.default)('div', {
|
|
45
|
+
name: 'MuiGrid',
|
|
46
|
+
slot: 'Root',
|
|
47
|
+
overridesResolver: (props, styles) => styles.root
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
function useThemePropsDefault(props) {
|
|
51
|
+
return (0, _useThemeProps.default)({
|
|
52
|
+
props,
|
|
53
|
+
name: 'MuiGrid',
|
|
54
|
+
defaultTheme
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function createGrid(options = {}) {
|
|
59
|
+
const {
|
|
60
|
+
// This will allow adding custom styled fn (for example for custom sx style function)
|
|
61
|
+
createStyledComponent = defaultCreateStyledComponent,
|
|
62
|
+
useThemeProps = useThemePropsDefault,
|
|
63
|
+
componentName = 'MuiGrid'
|
|
64
|
+
} = options;
|
|
65
|
+
const NestedContext = /*#__PURE__*/React.createContext(false);
|
|
66
|
+
const OverflowContext = /*#__PURE__*/React.createContext(undefined);
|
|
67
|
+
|
|
68
|
+
const useUtilityClasses = (ownerState, theme) => {
|
|
69
|
+
const {
|
|
70
|
+
container,
|
|
71
|
+
direction,
|
|
72
|
+
spacing,
|
|
73
|
+
wrap,
|
|
74
|
+
gridSize
|
|
75
|
+
} = ownerState;
|
|
76
|
+
const slots = {
|
|
77
|
+
root: ['root', container && 'container', direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...(0, _gridGenerator.generateSizeClassNames)(gridSize), ...(container ? (0, _gridGenerator.generateSpacingClassNames)(spacing, theme.breakpoints.keys[0]) : [])]
|
|
78
|
+
};
|
|
79
|
+
return (0, _utils.unstable_composeClasses)(slots, slot => (0, _utils.unstable_generateUtilityClass)(componentName, slot), {});
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const GridRoot = createStyledComponent(_gridGenerator.generateGridColumnsStyles, _gridGenerator.generateGridColumnSpacingStyles, _gridGenerator.generateGridRowSpacingStyles, _gridGenerator.generateGridSizeStyles, _gridGenerator.generateGridDirectionStyles, _gridGenerator.generateGridStyles, _gridGenerator.generateGridOffsetStyles);
|
|
83
|
+
const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
|
|
84
|
+
var _inProps$columns, _inProps$spacing, _ref, _inProps$rowSpacing, _ref2, _inProps$columnSpacin, _ref3, _disableEqualOverflow;
|
|
85
|
+
|
|
86
|
+
const theme = (0, _useTheme.default)();
|
|
87
|
+
const themeProps = useThemeProps(inProps);
|
|
88
|
+
const props = (0, _styleFunctionSx.extendSxProp)(themeProps); // `color` type conflicts with html color attribute.
|
|
89
|
+
|
|
90
|
+
const nested = React.useContext(NestedContext);
|
|
91
|
+
const overflow = React.useContext(OverflowContext);
|
|
92
|
+
const {
|
|
93
|
+
className,
|
|
94
|
+
columns: columnsProp = 12,
|
|
95
|
+
container = false,
|
|
96
|
+
component = 'div',
|
|
97
|
+
direction = 'row',
|
|
98
|
+
wrap = 'wrap',
|
|
99
|
+
spacing: spacingProp = 0,
|
|
100
|
+
rowSpacing: rowSpacingProp = spacingProp,
|
|
101
|
+
columnSpacing: columnSpacingProp = spacingProp,
|
|
102
|
+
disableEqualOverflow: themeDisableEqualOverflow
|
|
103
|
+
} = props,
|
|
104
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); // Because `disableEqualOverflow` can be set from the theme's defaultProps, the **nested** grid should look at the instance props instead.
|
|
105
|
+
|
|
106
|
+
let disableEqualOverflow = themeDisableEqualOverflow;
|
|
107
|
+
|
|
108
|
+
if (nested && themeDisableEqualOverflow !== undefined) {
|
|
109
|
+
disableEqualOverflow = inProps.disableEqualOverflow;
|
|
110
|
+
} // collect breakpoints related props because they can be customized from the theme.
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
const gridSize = {};
|
|
114
|
+
const gridOffset = {};
|
|
115
|
+
const other = {};
|
|
116
|
+
Object.entries(rest).forEach(([key, val]) => {
|
|
117
|
+
if (theme.breakpoints.values[key] !== undefined) {
|
|
118
|
+
gridSize[key] = val;
|
|
119
|
+
} else if (theme.breakpoints.values[key.replace('Offset', '')] !== undefined) {
|
|
120
|
+
gridOffset[key.replace('Offset', '')] = val;
|
|
121
|
+
} else {
|
|
122
|
+
other[key] = val;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
const columns = (_inProps$columns = inProps.columns) != null ? _inProps$columns : nested ? undefined : columnsProp;
|
|
126
|
+
const spacing = (_inProps$spacing = inProps.spacing) != null ? _inProps$spacing : nested ? undefined : spacingProp;
|
|
127
|
+
const rowSpacing = (_ref = (_inProps$rowSpacing = inProps.rowSpacing) != null ? _inProps$rowSpacing : inProps.spacing) != null ? _ref : nested ? undefined : rowSpacingProp;
|
|
128
|
+
const columnSpacing = (_ref2 = (_inProps$columnSpacin = inProps.columnSpacing) != null ? _inProps$columnSpacin : inProps.spacing) != null ? _ref2 : nested ? undefined : columnSpacingProp;
|
|
129
|
+
const ownerState = (0, _extends2.default)({}, props, {
|
|
130
|
+
nested,
|
|
131
|
+
columns,
|
|
132
|
+
container,
|
|
133
|
+
direction,
|
|
134
|
+
wrap,
|
|
135
|
+
spacing,
|
|
136
|
+
rowSpacing,
|
|
137
|
+
columnSpacing,
|
|
138
|
+
gridSize,
|
|
139
|
+
gridOffset,
|
|
140
|
+
disableEqualOverflow: (_ref3 = (_disableEqualOverflow = disableEqualOverflow) != null ? _disableEqualOverflow : overflow) != null ? _ref3 : false,
|
|
141
|
+
// use context value if exists.
|
|
142
|
+
parentDisableEqualOverflow: overflow // for nested grid
|
|
143
|
+
|
|
144
|
+
});
|
|
145
|
+
const classes = useUtilityClasses(ownerState, theme);
|
|
146
|
+
let result = /*#__PURE__*/(0, _jsxRuntime.jsx)(GridRoot, (0, _extends2.default)({
|
|
147
|
+
ref: ref,
|
|
148
|
+
as: component,
|
|
149
|
+
ownerState: ownerState,
|
|
150
|
+
className: (0, _clsx.default)(classes.root, className)
|
|
151
|
+
}, other));
|
|
152
|
+
|
|
153
|
+
if (!nested) {
|
|
154
|
+
result = /*#__PURE__*/(0, _jsxRuntime.jsx)(NestedContext.Provider, {
|
|
155
|
+
value: true,
|
|
156
|
+
children: result
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (disableEqualOverflow !== undefined && disableEqualOverflow !== (overflow != null ? overflow : false)) {
|
|
161
|
+
// There are 2 possibilities that should wrap with the OverflowContext to communicate with the nested grids:
|
|
162
|
+
// 1. It is the root grid with `disableEqualOverflow`.
|
|
163
|
+
// 2. It is a nested grid with different `disableEqualOverflow` from the context.
|
|
164
|
+
result = /*#__PURE__*/(0, _jsxRuntime.jsx)(OverflowContext.Provider, {
|
|
165
|
+
value: disableEqualOverflow,
|
|
166
|
+
children: result
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return result;
|
|
171
|
+
});
|
|
172
|
+
process.env.NODE_ENV !== "production" ? Grid.propTypes
|
|
173
|
+
/* remove-proptypes */
|
|
174
|
+
= {
|
|
175
|
+
children: _propTypes.default.node,
|
|
176
|
+
className: _propTypes.default.string,
|
|
177
|
+
columns: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.number), _propTypes.default.number, _propTypes.default.object]),
|
|
178
|
+
columnSpacing: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.string]),
|
|
179
|
+
component: _propTypes.default.elementType,
|
|
180
|
+
container: _propTypes.default.bool,
|
|
181
|
+
direction: _propTypes.default.oneOfType([_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), _propTypes.default.object]),
|
|
182
|
+
disableEqualOverflow: _propTypes.default.bool,
|
|
183
|
+
lg: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number, _propTypes.default.bool]),
|
|
184
|
+
lgOffset: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
185
|
+
md: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number, _propTypes.default.bool]),
|
|
186
|
+
mdOffset: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
187
|
+
rowSpacing: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.string]),
|
|
188
|
+
sm: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number, _propTypes.default.bool]),
|
|
189
|
+
smOffset: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
190
|
+
spacing: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.string]),
|
|
191
|
+
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
192
|
+
wrap: _propTypes.default.oneOf(['nowrap', 'wrap-reverse', 'wrap']),
|
|
193
|
+
xl: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number, _propTypes.default.bool]),
|
|
194
|
+
xlOffset: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
195
|
+
xs: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number, _propTypes.default.bool]),
|
|
196
|
+
xsOffset: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number])
|
|
197
|
+
} : void 0;
|
|
198
|
+
return Grid;
|
|
199
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface GridClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the root element if `container={true}`. */
|
|
5
|
+
container: string;
|
|
6
|
+
/** Styles applied to the root element if `direction="column"`. */
|
|
7
|
+
'direction-xs-column': string;
|
|
8
|
+
/** Styles applied to the root element if `direction="column-reverse"`. */
|
|
9
|
+
'direction-xs-column-reverse': string;
|
|
10
|
+
/** Styles applied to the root element if `direction="row-reverse"`. */
|
|
11
|
+
'direction-xs-row-reverse': string;
|
|
12
|
+
/** Styles applied to the root element if `wrap="nowrap"`. */
|
|
13
|
+
'wrap-xs-nowrap': string;
|
|
14
|
+
/** Styles applied to the root element if `wrap="reverse"`. */
|
|
15
|
+
'wrap-xs-wrap-reverse': string;
|
|
16
|
+
}
|
|
17
|
+
export declare type GridClassKey = keyof GridClasses;
|
|
18
|
+
export declare function getGridUtilityClass(slot: string): string;
|
|
19
|
+
declare const gridClasses: GridClasses;
|
|
20
|
+
export default gridClasses;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.getGridUtilityClass = getGridUtilityClass;
|
|
8
|
+
|
|
9
|
+
var _utils = require("@mui/utils");
|
|
10
|
+
|
|
11
|
+
function getGridUtilityClass(slot) {
|
|
12
|
+
return (0, _utils.unstable_generateUtilityClass)('MuiGrid', slot);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
16
|
+
const DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];
|
|
17
|
+
const WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];
|
|
18
|
+
const GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
|
19
|
+
const gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiGrid', ['root', 'container', 'item', // spacings
|
|
20
|
+
...SPACINGS.map(spacing => `spacing-xs-${spacing}`), // direction values
|
|
21
|
+
...DIRECTIONS.map(direction => `direction-xs-${direction}`), // wrap values
|
|
22
|
+
...WRAPS.map(wrap => `wrap-xs-${wrap}`), // grid sizes for all breakpoints
|
|
23
|
+
...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);
|
|
24
|
+
var _default = gridClasses;
|
|
25
|
+
exports.default = _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Breakpoints } from '../createTheme/createBreakpoints';
|
|
2
|
+
import { Spacing } from '../createTheme/createSpacing';
|
|
3
|
+
import { GridOwnerState } from './GridProps';
|
|
4
|
+
interface Props {
|
|
5
|
+
theme: {
|
|
6
|
+
breakpoints: Breakpoints;
|
|
7
|
+
spacing?: Spacing;
|
|
8
|
+
};
|
|
9
|
+
ownerState: GridOwnerState & {
|
|
10
|
+
parentDisableEqualOverflow?: boolean;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
interface Iterator<T> {
|
|
14
|
+
(appendStyle: (responsizeStyles: Record<string, any>, style: object) => void, value: T): void;
|
|
15
|
+
}
|
|
16
|
+
export declare const traverseBreakpoints: <T = unknown>(breakpoints: Breakpoints, responsize: Record<string, any> | T | T[] | undefined, iterator: Iterator<T>) => void;
|
|
17
|
+
export declare const generateGridSizeStyles: ({ theme, ownerState }: Props) => {};
|
|
18
|
+
export declare const generateGridOffsetStyles: ({ theme, ownerState }: Props) => {};
|
|
19
|
+
export declare const generateGridColumnsStyles: ({ theme, ownerState }: Props) => {};
|
|
20
|
+
export declare const generateGridRowSpacingStyles: ({ theme, ownerState }: Props) => {};
|
|
21
|
+
export declare const generateGridColumnSpacingStyles: ({ theme, ownerState }: Props) => {};
|
|
22
|
+
export declare const generateGridDirectionStyles: ({ theme, ownerState }: Props) => {};
|
|
23
|
+
export declare const generateGridStyles: ({ ownerState }: Props) => {};
|
|
24
|
+
export declare const generateSizeClassNames: (gridSize: GridOwnerState['gridSize']) => string[];
|
|
25
|
+
export declare const generateSpacingClassNames: (spacing: GridOwnerState['spacing'], smallestBreakpoint?: string) => string[];
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.traverseBreakpoints = exports.generateSpacingClassNames = exports.generateSizeClassNames = exports.generateGridStyles = exports.generateGridSizeStyles = exports.generateGridRowSpacingStyles = exports.generateGridOffsetStyles = exports.generateGridDirectionStyles = exports.generateGridColumnsStyles = exports.generateGridColumnSpacingStyles = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
const traverseBreakpoints = (breakpoints, responsize, iterator) => {
|
|
13
|
+
const smallestBreakpoint = breakpoints.keys[0]; // the keys is sorted from smallest to largest by `createBreakpoints`.
|
|
14
|
+
|
|
15
|
+
if (Array.isArray(responsize)) {
|
|
16
|
+
responsize.forEach((breakpointValue, index) => {
|
|
17
|
+
iterator((responsizeStyles, style) => {
|
|
18
|
+
if (index <= breakpoints.keys.length - 1) {
|
|
19
|
+
if (index === 0) {
|
|
20
|
+
Object.assign(responsizeStyles, style);
|
|
21
|
+
} else {
|
|
22
|
+
responsizeStyles[breakpoints.up(breakpoints.keys[index])] = style;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}, breakpointValue);
|
|
26
|
+
});
|
|
27
|
+
} else if (responsize && typeof responsize === 'object') {
|
|
28
|
+
// prevent null
|
|
29
|
+
// responsize could be a very big object, pick the smallest responsive values
|
|
30
|
+
const keys = Object.keys(responsize).length > breakpoints.keys.length ? breakpoints.keys : Object.keys(responsize);
|
|
31
|
+
keys.forEach(key => {
|
|
32
|
+
if (breakpoints.keys.indexOf(key) !== -1) {
|
|
33
|
+
// @ts-ignore already checked that responsize is an object
|
|
34
|
+
const breakpointValue = responsize[key];
|
|
35
|
+
|
|
36
|
+
if (breakpointValue !== undefined) {
|
|
37
|
+
iterator((responsizeStyles, style) => {
|
|
38
|
+
if (smallestBreakpoint === key) {
|
|
39
|
+
Object.assign(responsizeStyles, style);
|
|
40
|
+
} else {
|
|
41
|
+
responsizeStyles[breakpoints.up(key)] = style;
|
|
42
|
+
}
|
|
43
|
+
}, breakpointValue);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
} else if (typeof responsize === 'number' || typeof responsize === 'string') {
|
|
48
|
+
iterator((responsizeStyles, style) => {
|
|
49
|
+
Object.assign(responsizeStyles, style);
|
|
50
|
+
}, responsize);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
exports.traverseBreakpoints = traverseBreakpoints;
|
|
55
|
+
|
|
56
|
+
const generateGridSizeStyles = ({
|
|
57
|
+
theme,
|
|
58
|
+
ownerState
|
|
59
|
+
}) => {
|
|
60
|
+
const styles = {};
|
|
61
|
+
traverseBreakpoints(theme.breakpoints, ownerState.gridSize, (appendStyle, value) => {
|
|
62
|
+
let style = {};
|
|
63
|
+
|
|
64
|
+
if (value === true) {
|
|
65
|
+
style = {
|
|
66
|
+
flexBasis: 0,
|
|
67
|
+
flexGrow: 1,
|
|
68
|
+
maxWidth: '100%'
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (value === 'auto') {
|
|
73
|
+
style = {
|
|
74
|
+
flexBasis: 'auto',
|
|
75
|
+
flexGrow: 0,
|
|
76
|
+
flexShrink: 0,
|
|
77
|
+
maxWidth: 'none',
|
|
78
|
+
width: 'auto'
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (typeof value === 'number') {
|
|
83
|
+
style = {
|
|
84
|
+
flexGrow: 0,
|
|
85
|
+
flexBasis: 'auto',
|
|
86
|
+
width: `calc(100% * ${value} / var(--Grid-columns)${ownerState.nested && ownerState.container ? ` + var(--Grid-columnSpacing)` : ''})`
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
appendStyle(styles, style);
|
|
91
|
+
});
|
|
92
|
+
return styles;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
exports.generateGridSizeStyles = generateGridSizeStyles;
|
|
96
|
+
|
|
97
|
+
const generateGridOffsetStyles = ({
|
|
98
|
+
theme,
|
|
99
|
+
ownerState
|
|
100
|
+
}) => {
|
|
101
|
+
const styles = {};
|
|
102
|
+
traverseBreakpoints(theme.breakpoints, ownerState.gridOffset, (appendStyle, value) => {
|
|
103
|
+
let style = {};
|
|
104
|
+
|
|
105
|
+
if (value === 'auto') {
|
|
106
|
+
style = {
|
|
107
|
+
marginLeft: 'auto'
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (typeof value === 'number') {
|
|
112
|
+
style = {
|
|
113
|
+
marginLeft: value === 0 ? '0px' : `calc(100% * ${value} / var(--Grid-columns))`
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
appendStyle(styles, style);
|
|
118
|
+
});
|
|
119
|
+
return styles;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
exports.generateGridOffsetStyles = generateGridOffsetStyles;
|
|
123
|
+
|
|
124
|
+
const generateGridColumnsStyles = ({
|
|
125
|
+
theme,
|
|
126
|
+
ownerState
|
|
127
|
+
}) => {
|
|
128
|
+
if (!ownerState.container) {
|
|
129
|
+
return {};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const styles = {
|
|
133
|
+
'--Grid-columns': 12
|
|
134
|
+
};
|
|
135
|
+
traverseBreakpoints(theme.breakpoints, ownerState.columns, (appendStyle, value) => {
|
|
136
|
+
appendStyle(styles, {
|
|
137
|
+
'--Grid-columns': value
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
return styles;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
exports.generateGridColumnsStyles = generateGridColumnsStyles;
|
|
144
|
+
|
|
145
|
+
const generateGridRowSpacingStyles = ({
|
|
146
|
+
theme,
|
|
147
|
+
ownerState
|
|
148
|
+
}) => {
|
|
149
|
+
if (!ownerState.container) {
|
|
150
|
+
return {};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const styles = {};
|
|
154
|
+
traverseBreakpoints(theme.breakpoints, ownerState.rowSpacing, (appendStyle, value) => {
|
|
155
|
+
var _theme$spacing;
|
|
156
|
+
|
|
157
|
+
appendStyle(styles, {
|
|
158
|
+
'--Grid-rowSpacing': typeof value === 'string' ? value : (_theme$spacing = theme.spacing) == null ? void 0 : _theme$spacing.call(theme, value)
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
return styles;
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
exports.generateGridRowSpacingStyles = generateGridRowSpacingStyles;
|
|
165
|
+
|
|
166
|
+
const generateGridColumnSpacingStyles = ({
|
|
167
|
+
theme,
|
|
168
|
+
ownerState
|
|
169
|
+
}) => {
|
|
170
|
+
if (!ownerState.container) {
|
|
171
|
+
return {};
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const styles = {};
|
|
175
|
+
traverseBreakpoints(theme.breakpoints, ownerState.columnSpacing, (appendStyle, value) => {
|
|
176
|
+
var _theme$spacing2;
|
|
177
|
+
|
|
178
|
+
appendStyle(styles, {
|
|
179
|
+
'--Grid-columnSpacing': typeof value === 'string' ? value : (_theme$spacing2 = theme.spacing) == null ? void 0 : _theme$spacing2.call(theme, value)
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
return styles;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
exports.generateGridColumnSpacingStyles = generateGridColumnSpacingStyles;
|
|
186
|
+
|
|
187
|
+
const generateGridDirectionStyles = ({
|
|
188
|
+
theme,
|
|
189
|
+
ownerState
|
|
190
|
+
}) => {
|
|
191
|
+
if (!ownerState.container) {
|
|
192
|
+
return {};
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
const styles = {};
|
|
196
|
+
traverseBreakpoints(theme.breakpoints, ownerState.direction, (appendStyle, value) => {
|
|
197
|
+
appendStyle(styles, {
|
|
198
|
+
flexDirection: value
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
return styles;
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
exports.generateGridDirectionStyles = generateGridDirectionStyles;
|
|
205
|
+
|
|
206
|
+
const generateGridStyles = ({
|
|
207
|
+
ownerState
|
|
208
|
+
}) => {
|
|
209
|
+
return (0, _extends2.default)({
|
|
210
|
+
minWidth: 0,
|
|
211
|
+
boxSizing: 'border-box'
|
|
212
|
+
}, ownerState.container ? (0, _extends2.default)({
|
|
213
|
+
display: 'flex',
|
|
214
|
+
flexWrap: 'wrap'
|
|
215
|
+
}, ownerState.wrap && ownerState.wrap !== 'wrap' && {
|
|
216
|
+
flexWrap: ownerState.wrap
|
|
217
|
+
}, {
|
|
218
|
+
margin: `calc(var(--Grid-rowSpacing) / -2) calc(var(--Grid-columnSpacing) / -2)`
|
|
219
|
+
}, ownerState.disableEqualOverflow && {
|
|
220
|
+
margin: `calc(var(--Grid-rowSpacing) * -1) 0px 0px calc(var(--Grid-columnSpacing) * -1)`
|
|
221
|
+
}, ownerState.nested ? (0, _extends2.default)({
|
|
222
|
+
padding: `calc(var(--Grid-nested-rowSpacing) / 2) calc(var(--Grid-nested-columnSpacing) / 2)`
|
|
223
|
+
}, (ownerState.disableEqualOverflow || ownerState.parentDisableEqualOverflow) && {
|
|
224
|
+
padding: `calc(var(--Grid-nested-rowSpacing)) 0px 0px calc(var(--Grid-nested-columnSpacing))`
|
|
225
|
+
}) : {
|
|
226
|
+
'--Grid-nested-rowSpacing': 'var(--Grid-rowSpacing)',
|
|
227
|
+
'--Grid-nested-columnSpacing': 'var(--Grid-columnSpacing)'
|
|
228
|
+
}) : (0, _extends2.default)({
|
|
229
|
+
padding: `calc(var(--Grid-rowSpacing) / 2) calc(var(--Grid-columnSpacing) / 2)`
|
|
230
|
+
}, ownerState.disableEqualOverflow && {
|
|
231
|
+
padding: `calc(var(--Grid-rowSpacing)) 0px 0px calc(var(--Grid-columnSpacing))`
|
|
232
|
+
}));
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
exports.generateGridStyles = generateGridStyles;
|
|
236
|
+
|
|
237
|
+
const generateSizeClassNames = gridSize => {
|
|
238
|
+
const classNames = [];
|
|
239
|
+
Object.entries(gridSize).forEach(([key, value]) => {
|
|
240
|
+
if (value !== false && value !== undefined) {
|
|
241
|
+
classNames.push(`grid-${key}-${String(value)}`);
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
return classNames;
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
exports.generateSizeClassNames = generateSizeClassNames;
|
|
248
|
+
|
|
249
|
+
const generateSpacingClassNames = (spacing, smallestBreakpoint = 'xs') => {
|
|
250
|
+
function isValidSpacing(val) {
|
|
251
|
+
if (val === undefined) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return typeof val === 'string' && !Number.isNaN(Number(val)) || typeof val === 'number' && val > 0;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (isValidSpacing(spacing)) {
|
|
259
|
+
return [`spacing-${smallestBreakpoint}-${String(spacing)}`];
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (typeof spacing === 'object' && !Array.isArray(spacing)) {
|
|
263
|
+
const classNames = [];
|
|
264
|
+
Object.entries(spacing).forEach(([key, value]) => {
|
|
265
|
+
if (isValidSpacing(value)) {
|
|
266
|
+
classNames.push(`spacing-${key}-${String(value)}`);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
return classNames;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
return [];
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
exports.generateSpacingClassNames = generateSpacingClassNames;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
var _exportNames = {
|
|
9
|
+
createGrid: true,
|
|
10
|
+
gridClasses: true
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "createGrid", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _createGrid.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "default", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _Grid.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "gridClasses", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _gridClasses.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
var _Grid = _interopRequireDefault(require("./Grid"));
|
|
32
|
+
|
|
33
|
+
var _createGrid = _interopRequireDefault(require("./createGrid"));
|
|
34
|
+
|
|
35
|
+
var _GridProps = require("./GridProps");
|
|
36
|
+
|
|
37
|
+
Object.keys(_GridProps).forEach(function (key) {
|
|
38
|
+
if (key === "default" || key === "__esModule") return;
|
|
39
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
40
|
+
if (key in exports && exports[key] === _GridProps[key]) return;
|
|
41
|
+
Object.defineProperty(exports, key, {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
get: function () {
|
|
44
|
+
return _GridProps[key];
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
var _gridClasses = _interopRequireWildcard(require("./gridClasses"));
|
|
50
|
+
|
|
51
|
+
Object.keys(_gridClasses).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
54
|
+
if (key in exports && exports[key] === _gridClasses[key]) return;
|
|
55
|
+
Object.defineProperty(exports, key, {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () {
|
|
58
|
+
return _gridClasses[key];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
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); }
|
|
64
|
+
|
|
65
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
package/breakpoints.js
CHANGED
|
@@ -107,7 +107,7 @@ function breakpoints(styleFunction) {
|
|
|
107
107
|
function createEmptyBreakpointObject(breakpointsInput = {}) {
|
|
108
108
|
var _breakpointsInput$key;
|
|
109
109
|
|
|
110
|
-
const breakpointsInOrder =
|
|
110
|
+
const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {
|
|
111
111
|
const breakpointStyleKey = breakpointsInput.up(key);
|
|
112
112
|
acc[breakpointStyleKey] = {};
|
|
113
113
|
return acc;
|
package/{grid.js → cssGrid.js}
RENAMED
|
File without changes
|