@mui/system 5.11.14 → 5.11.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/Box/Box.spec.d.ts +1 -1
  2. package/CHANGELOG.md +118 -4
  3. package/Container/Container.d.ts +13 -13
  4. package/Container/ContainerProps.d.ts +40 -40
  5. package/Container/containerClasses.d.ts +22 -22
  6. package/Container/createContainer.d.ts +18 -18
  7. package/Stack/Stack.d.ts +13 -13
  8. package/Stack/Stack.js +11 -1
  9. package/Stack/StackProps.d.ts +53 -42
  10. package/Stack/createStack.d.ts +21 -21
  11. package/Stack/createStack.js +10 -3
  12. package/Stack/index.d.ts +5 -5
  13. package/Stack/stackClasses.d.ts +8 -8
  14. package/Unstable_Grid/Grid.d.ts +12 -12
  15. package/Unstable_Grid/GridProps.d.ts +173 -173
  16. package/Unstable_Grid/createGrid.d.ts +11 -11
  17. package/Unstable_Grid/gridClasses.d.ts +20 -20
  18. package/Unstable_Grid/gridGenerator.d.ts +38 -33
  19. package/Unstable_Grid/gridGenerator.js +24 -10
  20. package/Unstable_Grid/index.d.ts +5 -5
  21. package/createBox.spec.d.ts +1 -1
  22. package/createTheme/createSpacing.d.ts +10 -10
  23. package/cssVars/createCssVarsProvider.spec.d.ts +1 -1
  24. package/cssVars/createCssVarsTheme.d.ts +13 -13
  25. package/cssVars/createGetCssVar.d.ts +5 -5
  26. package/cssVars/cssVarsParser.d.ts +64 -64
  27. package/cssVars/getInitColorSchemeScript.d.ts +42 -42
  28. package/cssVars/index.d.ts +5 -5
  29. package/cssVars/prepareCssVars.d.ts +14 -14
  30. package/cssVars/useCurrentColorScheme.d.ts +53 -53
  31. package/esm/Stack/Stack.js +11 -1
  32. package/esm/Stack/createStack.js +10 -3
  33. package/esm/Unstable_Grid/gridGenerator.js +24 -10
  34. package/esm/styleFunctionSx/defaultSxConfig.js +3 -38
  35. package/esm/styleFunctionSx/styleFunctionSx.js +5 -0
  36. package/index.js +1 -1
  37. package/index.spec.d.ts +1 -1
  38. package/legacy/Stack/Stack.js +11 -1
  39. package/legacy/Stack/createStack.js +10 -2
  40. package/legacy/Unstable_Grid/gridGenerator.js +45 -35
  41. package/legacy/index.js +1 -1
  42. package/legacy/styleFunctionSx/defaultSxConfig.js +3 -38
  43. package/legacy/styleFunctionSx/styleFunctionSx.js +7 -4
  44. package/modern/Stack/Stack.js +11 -1
  45. package/modern/Stack/createStack.js +10 -3
  46. package/modern/Unstable_Grid/gridGenerator.js +24 -10
  47. package/modern/index.js +1 -1
  48. package/modern/styleFunctionSx/defaultSxConfig.js +3 -35
  49. package/modern/styleFunctionSx/styleFunctionSx.js +5 -0
  50. package/package.json +3 -3
  51. package/styleFunctionSx/defaultSxConfig.js +3 -38
  52. package/styleFunctionSx/styleFunctionSx.js +5 -0
  53. package/styleFunctionSx/styleFunctionSx.spec.d.ts +1 -1
@@ -1,173 +1,173 @@
1
- import * as React from 'react';
2
- import { OverrideProps, IfEquals } from '@mui/types';
3
- import { SxProps } from '../styleFunctionSx';
4
- import { Theme, Breakpoint, BreakpointOverrides } from '../createTheme';
5
- import { SystemProps } from '../Box';
6
- type ResponsiveStyleValue<T> = T | Array<T | null> | {
7
- [key in Breakpoint]?: T | null;
8
- };
9
- export type GridDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';
10
- export type GridSpacing = number | string;
11
- export type GridWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
12
- export type GridSize = 'auto' | number;
13
- export interface GridDefaultBreakpoints {
14
- /**
15
- * If a number, it sets the number of columns the grid item uses.
16
- * It can't be greater than the total number of columns of the container (12 by default).
17
- * If 'auto', the grid item's width matches its content.
18
- * If false, the prop is ignored.
19
- * If true, the grid item's width grows to use the space available in the grid container.
20
- * The value is applied for the `lg` breakpoint and wider screens if not overridden.
21
- * @default false
22
- */
23
- lg?: boolean | GridSize;
24
- /**
25
- * If a number, it sets the margin-left equals to the number of columns the grid item uses.
26
- * If 'auto', the grid item push itself to the right-end of the container.
27
- * The value is applied for the `lg` breakpoint and wider screens if not overridden.
28
- */
29
- lgOffset?: GridSize;
30
- /**
31
- * If a number, it sets the number of columns the grid item uses.
32
- * It can't be greater than the total number of columns of the container (12 by default).
33
- * If 'auto', the grid item's width matches its content.
34
- * If false, the prop is ignored.
35
- * If true, the grid item's width grows to use the space available in the grid container.
36
- * The value is applied for the `md` breakpoint and wider screens if not overridden.
37
- * @default false
38
- */
39
- md?: boolean | GridSize;
40
- /**
41
- * If a number, it sets the margin-left equals to the number of columns the grid item uses.
42
- * If 'auto', the grid item push itself to the right-end of the container.
43
- * The value is applied for the `md` breakpoint and wider screens if not overridden.
44
- */
45
- mdOffset?: GridSize;
46
- /**
47
- * If a number, it sets the number of columns the grid item uses.
48
- * It can't be greater than the total number of columns of the container (12 by default).
49
- * If 'auto', the grid item's width matches its content.
50
- * If false, the prop is ignored.
51
- * If true, the grid item's width grows to use the space available in the grid container.
52
- * The value is applied for the `sm` breakpoint and wider screens if not overridden.
53
- * @default false
54
- */
55
- sm?: boolean | GridSize;
56
- /**
57
- * If a number, it sets the margin-left equals to the number of columns the grid item uses.
58
- * If 'auto', the grid item push itself to the right-end of the container.
59
- * The value is applied for the `sm` breakpoint and wider screens if not overridden.
60
- */
61
- smOffset?: GridSize;
62
- /**
63
- * If a number, it sets the number of columns the grid item uses.
64
- * It can't be greater than the total number of columns of the container (12 by default).
65
- * If 'auto', the grid item's width matches its content.
66
- * If false, the prop is ignored.
67
- * If true, the grid item's width grows to use the space available in the grid container.
68
- * The value is applied for the `xl` breakpoint and wider screens if not overridden.
69
- * @default false
70
- */
71
- xl?: boolean | GridSize;
72
- /**
73
- * If a number, it sets the margin-left equals to the number of columns the grid item uses.
74
- * If 'auto', the grid item push itself to the right-end of the container.
75
- * The value is applied for the `xl` breakpoint and wider screens if not overridden.
76
- */
77
- xlOffset?: GridSize;
78
- /**
79
- * If a number, it sets the number of columns the grid item uses.
80
- * It can't be greater than the total number of columns of the container (12 by default).
81
- * If 'auto', the grid item's width matches its content.
82
- * If false, the prop is ignored.
83
- * If true, the grid item's width grows to use the space available in the grid container.
84
- * The value is applied for all the screen sizes with the lowest priority.
85
- * @default false
86
- */
87
- xs?: boolean | GridSize;
88
- /**
89
- * If a number, it sets the margin-left equals to the number of columns the grid item uses.
90
- * If 'auto', the grid item push itself to the right-end of the container.
91
- * The value is applied for the `xs` breakpoint and wider screens if not overridden.
92
- */
93
- xsOffset?: GridSize;
94
- }
95
- type CustomBreakpoints = Partial<Record<Breakpoint, boolean | GridSize> & Record<`${Breakpoint}Offset`, GridSize>>;
96
- interface BreakpointOverridesEmpty {
97
- }
98
- type Breakpoints = IfEquals<BreakpointOverrides, BreakpointOverridesEmpty, GridDefaultBreakpoints, CustomBreakpoints>;
99
- export interface GridBaseProps extends Breakpoints {
100
- /**
101
- * The content of the component.
102
- */
103
- children?: React.ReactNode;
104
- /**
105
- * The number of columns.
106
- * @default 12
107
- */
108
- columns?: ResponsiveStyleValue<number>;
109
- /**
110
- * Defines the horizontal space between the type `item` components.
111
- * It overrides the value of the `spacing` prop.
112
- */
113
- columnSpacing?: ResponsiveStyleValue<GridSpacing>;
114
- /**
115
- * If `true`, the component will have the flex *container* behavior.
116
- * You should be wrapping *items* with a *container*.
117
- * @default false
118
- */
119
- container?: boolean;
120
- /**
121
- * Defines the `flex-direction` style property.
122
- * It is applied for all screen sizes.
123
- * @default 'row'
124
- */
125
- direction?: ResponsiveStyleValue<GridDirection>;
126
- /**
127
- * If `true`, the negative margin and padding are apply only to the top and left sides of the grid.
128
- */
129
- disableEqualOverflow?: boolean;
130
- /**
131
- * Defines the vertical space between the type `item` components.
132
- * It overrides the value of the `spacing` prop.
133
- */
134
- rowSpacing?: ResponsiveStyleValue<GridSpacing>;
135
- /**
136
- * Defines the space between the type `item` components.
137
- * It can only be used on a type `container` component.
138
- * @default 0
139
- */
140
- spacing?: ResponsiveStyleValue<GridSpacing> | undefined;
141
- /**
142
- * Defines the `flex-wrap` style property.
143
- * It's applied for all screen sizes.
144
- * @default 'wrap'
145
- */
146
- wrap?: GridWrap;
147
- }
148
- export interface GridOwnerState extends GridBaseProps {
149
- /**
150
- * The level of the grid starts from `0`
151
- * and increases when the grid nests inside another grid regardless of container or item.
152
- *
153
- * ```js
154
- * <Grid> // level 0
155
- * <Grid> // level 1
156
- * <Grid> // level 2
157
- * <Grid> // level 1
158
- * ```
159
- */
160
- level: number;
161
- gridSize: Partial<Record<Breakpoint, GridSize | boolean>>;
162
- gridOffset: Partial<Record<Breakpoint, GridSize>>;
163
- }
164
- export interface GridTypeMap<P = {}, D extends React.ElementType = 'div'> {
165
- props: P & GridBaseProps & {
166
- sx?: SxProps<Theme>;
167
- } & SystemProps<Theme>;
168
- defaultComponent: D;
169
- }
170
- export type GridProps<D extends React.ElementType = GridTypeMap['defaultComponent'], P = {
171
- component?: React.ElementType;
172
- }> = OverrideProps<GridTypeMap<P, D>, D>;
173
- export {};
1
+ import * as React from 'react';
2
+ import { OverrideProps, IfEquals } from '@mui/types';
3
+ import { SxProps } from '../styleFunctionSx';
4
+ import { Theme, Breakpoint, BreakpointOverrides } from '../createTheme';
5
+ import { SystemProps } from '../Box';
6
+ type ResponsiveStyleValue<T> = T | Array<T | null> | {
7
+ [key in Breakpoint]?: T | null;
8
+ };
9
+ export type GridDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';
10
+ export type GridSpacing = number | string;
11
+ export type GridWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
12
+ export type GridSize = 'auto' | number;
13
+ export interface GridDefaultBreakpoints {
14
+ /**
15
+ * If a number, it sets the number of columns the grid item uses.
16
+ * It can't be greater than the total number of columns of the container (12 by default).
17
+ * If 'auto', the grid item's width matches its content.
18
+ * If false, the prop is ignored.
19
+ * If true, the grid item's width grows to use the space available in the grid container.
20
+ * The value is applied for the `lg` breakpoint and wider screens if not overridden.
21
+ * @default false
22
+ */
23
+ lg?: boolean | GridSize;
24
+ /**
25
+ * If a number, it sets the margin-left equals to the number of columns the grid item uses.
26
+ * If 'auto', the grid item push itself to the right-end of the container.
27
+ * The value is applied for the `lg` breakpoint and wider screens if not overridden.
28
+ */
29
+ lgOffset?: GridSize;
30
+ /**
31
+ * If a number, it sets the number of columns the grid item uses.
32
+ * It can't be greater than the total number of columns of the container (12 by default).
33
+ * If 'auto', the grid item's width matches its content.
34
+ * If false, the prop is ignored.
35
+ * If true, the grid item's width grows to use the space available in the grid container.
36
+ * The value is applied for the `md` breakpoint and wider screens if not overridden.
37
+ * @default false
38
+ */
39
+ md?: boolean | GridSize;
40
+ /**
41
+ * If a number, it sets the margin-left equals to the number of columns the grid item uses.
42
+ * If 'auto', the grid item push itself to the right-end of the container.
43
+ * The value is applied for the `md` breakpoint and wider screens if not overridden.
44
+ */
45
+ mdOffset?: GridSize;
46
+ /**
47
+ * If a number, it sets the number of columns the grid item uses.
48
+ * It can't be greater than the total number of columns of the container (12 by default).
49
+ * If 'auto', the grid item's width matches its content.
50
+ * If false, the prop is ignored.
51
+ * If true, the grid item's width grows to use the space available in the grid container.
52
+ * The value is applied for the `sm` breakpoint and wider screens if not overridden.
53
+ * @default false
54
+ */
55
+ sm?: boolean | GridSize;
56
+ /**
57
+ * If a number, it sets the margin-left equals to the number of columns the grid item uses.
58
+ * If 'auto', the grid item push itself to the right-end of the container.
59
+ * The value is applied for the `sm` breakpoint and wider screens if not overridden.
60
+ */
61
+ smOffset?: GridSize;
62
+ /**
63
+ * If a number, it sets the number of columns the grid item uses.
64
+ * It can't be greater than the total number of columns of the container (12 by default).
65
+ * If 'auto', the grid item's width matches its content.
66
+ * If false, the prop is ignored.
67
+ * If true, the grid item's width grows to use the space available in the grid container.
68
+ * The value is applied for the `xl` breakpoint and wider screens if not overridden.
69
+ * @default false
70
+ */
71
+ xl?: boolean | GridSize;
72
+ /**
73
+ * If a number, it sets the margin-left equals to the number of columns the grid item uses.
74
+ * If 'auto', the grid item push itself to the right-end of the container.
75
+ * The value is applied for the `xl` breakpoint and wider screens if not overridden.
76
+ */
77
+ xlOffset?: GridSize;
78
+ /**
79
+ * If a number, it sets the number of columns the grid item uses.
80
+ * It can't be greater than the total number of columns of the container (12 by default).
81
+ * If 'auto', the grid item's width matches its content.
82
+ * If false, the prop is ignored.
83
+ * If true, the grid item's width grows to use the space available in the grid container.
84
+ * The value is applied for all the screen sizes with the lowest priority.
85
+ * @default false
86
+ */
87
+ xs?: boolean | GridSize;
88
+ /**
89
+ * If a number, it sets the margin-left equals to the number of columns the grid item uses.
90
+ * If 'auto', the grid item push itself to the right-end of the container.
91
+ * The value is applied for the `xs` breakpoint and wider screens if not overridden.
92
+ */
93
+ xsOffset?: GridSize;
94
+ }
95
+ type CustomBreakpoints = Partial<Record<Breakpoint, boolean | GridSize> & Record<`${Breakpoint}Offset`, GridSize>>;
96
+ interface BreakpointOverridesEmpty {
97
+ }
98
+ type Breakpoints = IfEquals<BreakpointOverrides, BreakpointOverridesEmpty, GridDefaultBreakpoints, CustomBreakpoints>;
99
+ export interface GridBaseProps extends Breakpoints {
100
+ /**
101
+ * The content of the component.
102
+ */
103
+ children?: React.ReactNode;
104
+ /**
105
+ * The number of columns.
106
+ * @default 12
107
+ */
108
+ columns?: ResponsiveStyleValue<number>;
109
+ /**
110
+ * Defines the horizontal space between the type `item` components.
111
+ * It overrides the value of the `spacing` prop.
112
+ */
113
+ columnSpacing?: ResponsiveStyleValue<GridSpacing>;
114
+ /**
115
+ * If `true`, the component will have the flex *container* behavior.
116
+ * You should be wrapping *items* with a *container*.
117
+ * @default false
118
+ */
119
+ container?: boolean;
120
+ /**
121
+ * Defines the `flex-direction` style property.
122
+ * It is applied for all screen sizes.
123
+ * @default 'row'
124
+ */
125
+ direction?: ResponsiveStyleValue<GridDirection>;
126
+ /**
127
+ * If `true`, the negative margin and padding are apply only to the top and left sides of the grid.
128
+ */
129
+ disableEqualOverflow?: boolean;
130
+ /**
131
+ * Defines the vertical space between the type `item` components.
132
+ * It overrides the value of the `spacing` prop.
133
+ */
134
+ rowSpacing?: ResponsiveStyleValue<GridSpacing>;
135
+ /**
136
+ * Defines the space between the type `item` components.
137
+ * It can only be used on a type `container` component.
138
+ * @default 0
139
+ */
140
+ spacing?: ResponsiveStyleValue<GridSpacing> | undefined;
141
+ /**
142
+ * Defines the `flex-wrap` style property.
143
+ * It's applied for all screen sizes.
144
+ * @default 'wrap'
145
+ */
146
+ wrap?: GridWrap;
147
+ }
148
+ export interface GridOwnerState extends GridBaseProps {
149
+ /**
150
+ * The level of the grid starts from `0`
151
+ * and increases when the grid nests inside another grid regardless of container or item.
152
+ *
153
+ * ```js
154
+ * <Grid> // level 0
155
+ * <Grid> // level 1
156
+ * <Grid> // level 2
157
+ * <Grid> // level 1
158
+ * ```
159
+ */
160
+ level: number;
161
+ gridSize: Partial<Record<Breakpoint, GridSize | boolean>>;
162
+ gridOffset: Partial<Record<Breakpoint, GridSize>>;
163
+ }
164
+ export interface GridTypeMap<P = {}, D extends React.ElementType = 'div'> {
165
+ props: P & GridBaseProps & {
166
+ sx?: SxProps<Theme>;
167
+ } & SystemProps<Theme>;
168
+ defaultComponent: D;
169
+ }
170
+ export type GridProps<D extends React.ElementType = GridTypeMap['defaultComponent'], P = {
171
+ component?: React.ElementType;
172
+ }> = OverrideProps<GridTypeMap<P, D>, D>;
173
+ export {};
@@ -1,11 +1,11 @@
1
- import * as React from 'react';
2
- import { OverridableComponent } from '@mui/types';
3
- import { GridTypeMap } from './GridProps';
4
- declare const defaultCreateStyledComponent: import("@mui/styled-engine").CreateStyledComponent<import("../createStyled").MUIStyledCommonProps<any>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}, any>;
5
- declare function useThemePropsDefault<T extends {}>(props: T): T & {};
6
- export default function createGrid(options?: {
7
- createStyledComponent?: typeof defaultCreateStyledComponent;
8
- useThemeProps?: typeof useThemePropsDefault;
9
- componentName?: string;
10
- }): OverridableComponent<GridTypeMap<{}, "div">>;
11
- export {};
1
+ import * as React from 'react';
2
+ import { OverridableComponent } from '@mui/types';
3
+ import { GridTypeMap } from './GridProps';
4
+ declare const defaultCreateStyledComponent: import("@mui/styled-engine").CreateStyledComponent<import("../createStyled").MUIStyledCommonProps<any>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}, any>;
5
+ declare function useThemePropsDefault<T extends {}>(props: T): T & {};
6
+ export default function createGrid(options?: {
7
+ createStyledComponent?: typeof defaultCreateStyledComponent;
8
+ useThemeProps?: typeof useThemePropsDefault;
9
+ componentName?: string;
10
+ }): OverridableComponent<GridTypeMap<{}, "div">>;
11
+ export {};
@@ -1,20 +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 type GridClassKey = keyof GridClasses;
18
- export declare function getGridUtilityClass(slot: string): string;
19
- declare const gridClasses: GridClasses;
20
- export default gridClasses;
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 type GridClassKey = keyof GridClasses;
18
+ export declare function getGridUtilityClass(slot: string): string;
19
+ declare const gridClasses: GridClasses;
20
+ export default gridClasses;
@@ -1,33 +1,38 @@
1
- import { Breakpoints, Breakpoint } from '../createTheme/createBreakpoints';
2
- import { Spacing } from '../createTheme/createSpacing';
3
- import { ResponsiveStyleValue } from '../styleFunctionSx';
4
- import { GridDirection, GridOwnerState } from './GridProps';
5
- interface Props {
6
- theme: {
7
- breakpoints: Breakpoints;
8
- spacing?: Spacing;
9
- };
10
- ownerState: GridOwnerState & {
11
- parentDisableEqualOverflow?: boolean;
12
- };
13
- }
14
- interface Iterator<T> {
15
- (appendStyle: (responsiveStyles: Record<string, any>, style: object) => void, value: T): void;
16
- }
17
- export declare const filterBreakpointKeys: (breakpointsKeys: Breakpoint[], responsiveKeys: string[]) => Breakpoint[];
18
- export declare const traverseBreakpoints: <T = unknown>(breakpoints: Breakpoints, responsive: Record<string, any> | T | T[] | undefined, iterator: Iterator<T>) => void;
19
- export declare const generateGridSizeStyles: ({ theme, ownerState }: Props) => {};
20
- export declare const generateGridOffsetStyles: ({ theme, ownerState }: Props) => {};
21
- export declare const generateGridColumnsStyles: ({ theme, ownerState }: Props) => {};
22
- export declare const generateGridRowSpacingStyles: ({ theme, ownerState }: Props) => {
23
- [x: string]: string;
24
- };
25
- export declare const generateGridColumnSpacingStyles: ({ theme, ownerState }: Props) => {
26
- [x: string]: string;
27
- };
28
- export declare const generateGridDirectionStyles: ({ theme, ownerState }: Props) => {};
29
- export declare const generateGridStyles: ({ ownerState }: Props) => {};
30
- export declare const generateSizeClassNames: (gridSize: GridOwnerState['gridSize']) => string[];
31
- export declare const generateSpacingClassNames: (spacing: GridOwnerState['spacing'], smallestBreakpoint?: string) => string[];
32
- export declare const generateDirectionClasses: (direction: ResponsiveStyleValue<GridDirection> | undefined) => string[];
33
- export {};
1
+ import { Breakpoints, Breakpoint } from '../createTheme/createBreakpoints';
2
+ import { Spacing } from '../createTheme/createSpacing';
3
+ import { ResponsiveStyleValue } from '../styleFunctionSx';
4
+ import { GridDirection, GridOwnerState } from './GridProps';
5
+ interface Props {
6
+ theme: {
7
+ breakpoints: Breakpoints;
8
+ spacing?: Spacing;
9
+ };
10
+ ownerState: GridOwnerState & {
11
+ parentDisableEqualOverflow?: boolean;
12
+ };
13
+ }
14
+ interface Iterator<T> {
15
+ (appendStyle: (responsiveStyles: Record<string, any>, style: object) => void, value: T): void;
16
+ }
17
+ export declare const filterBreakpointKeys: (breakpointsKeys: Breakpoint[], responsiveKeys: string[]) => Breakpoint[];
18
+ export declare const traverseBreakpoints: <T = unknown>(breakpoints: Breakpoints, responsive: Record<string, any> | T | T[] | undefined, iterator: Iterator<T>) => void;
19
+ export declare const generateGridSizeStyles: ({ theme, ownerState }: Props) => {};
20
+ export declare const generateGridOffsetStyles: ({ theme, ownerState }: Props) => {};
21
+ export declare const generateGridColumnsStyles: ({ theme, ownerState }: Props) => {
22
+ [x: string]: string;
23
+ '--Grid-columns'?: undefined;
24
+ } | {
25
+ '--Grid-columns': number;
26
+ };
27
+ export declare const generateGridRowSpacingStyles: ({ theme, ownerState }: Props) => {
28
+ [x: string]: string;
29
+ };
30
+ export declare const generateGridColumnSpacingStyles: ({ theme, ownerState }: Props) => {
31
+ [x: string]: string;
32
+ };
33
+ export declare const generateGridDirectionStyles: ({ theme, ownerState }: Props) => {};
34
+ export declare const generateGridStyles: ({ ownerState }: Props) => {};
35
+ export declare const generateSizeClassNames: (gridSize: GridOwnerState['gridSize']) => string[];
36
+ export declare const generateSpacingClassNames: (spacing: GridOwnerState['spacing'], smallestBreakpoint?: string) => string[];
37
+ export declare const generateDirectionClasses: (direction: ResponsiveStyleValue<GridDirection> | undefined) => string[];
38
+ export {};
@@ -6,12 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.traverseBreakpoints = exports.generateSpacingClassNames = exports.generateSizeClassNames = exports.generateGridStyles = exports.generateGridSizeStyles = exports.generateGridRowSpacingStyles = exports.generateGridOffsetStyles = exports.generateGridDirectionStyles = exports.generateGridColumnsStyles = exports.generateGridColumnSpacingStyles = exports.generateDirectionClasses = exports.filterBreakpointKeys = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ function appendLevel(level) {
10
+ if (!level) {
11
+ return '';
12
+ }
13
+ return `Level${level}`;
14
+ }
9
15
  function isNestedContainer(ownerState) {
10
16
  return ownerState.level > 0 && ownerState.container;
11
17
  }
12
18
  function createGetSelfSpacing(ownerState) {
13
19
  return function getSelfSpacing(axis) {
14
- return `var(--Grid-${axis}Spacing${ownerState.level || ''})`;
20
+ return `var(--Grid-${axis}Spacing${appendLevel(ownerState.level)})`;
15
21
  };
16
22
  }
17
23
  function createGetParentSpacing(ownerState) {
@@ -19,9 +25,15 @@ function createGetParentSpacing(ownerState) {
19
25
  if (ownerState.level === 0) {
20
26
  return `var(--Grid-${axis}Spacing)`;
21
27
  }
22
- return `var(--Grid-${axis}Spacing${ownerState.level - 1 || ''})`;
28
+ return `var(--Grid-${axis}Spacing${appendLevel(ownerState.level - 1)})`;
23
29
  };
24
30
  }
31
+ function getParentColumns(ownerState) {
32
+ if (ownerState.level === 0) {
33
+ return `var(--Grid-columns)`;
34
+ }
35
+ return `var(--Grid-columns${appendLevel(ownerState.level - 1)})`;
36
+ }
25
37
  const filterBreakpointKeys = (breakpointsKeys, responsiveKeys) => breakpointsKeys.filter(key => responsiveKeys.includes(key));
26
38
  exports.filterBreakpointKeys = filterBreakpointKeys;
27
39
  const traverseBreakpoints = (breakpoints, responsive, iterator) => {
@@ -94,7 +106,7 @@ const generateGridSizeStyles = ({
94
106
  style = {
95
107
  flexGrow: 0,
96
108
  flexBasis: 'auto',
97
- width: `calc(100% * ${value} / var(--Grid-columns)${isNestedContainer(ownerState) ? ` + ${getSelfSpacing('column')}` : ''})`
109
+ width: `calc(100% * ${value} / ${getParentColumns(ownerState)}${isNestedContainer(ownerState) ? ` + ${getSelfSpacing('column')}` : ''})`
98
110
  };
99
111
  }
100
112
  appendStyle(styles, style);
@@ -116,7 +128,7 @@ const generateGridOffsetStyles = ({
116
128
  }
117
129
  if (typeof value === 'number') {
118
130
  style = {
119
- marginLeft: value === 0 ? '0px' : `calc(100% * ${value} / var(--Grid-columns))`
131
+ marginLeft: value === 0 ? '0px' : `calc(100% * ${value} / ${getParentColumns(ownerState)})`
120
132
  };
121
133
  }
122
134
  appendStyle(styles, style);
@@ -131,12 +143,14 @@ const generateGridColumnsStyles = ({
131
143
  if (!ownerState.container) {
132
144
  return {};
133
145
  }
134
- const styles = {
146
+ const styles = isNestedContainer(ownerState) ? {
147
+ [`--Grid-columns${appendLevel(ownerState.level)}`]: getParentColumns(ownerState)
148
+ } : {
135
149
  '--Grid-columns': 12
136
150
  };
137
151
  traverseBreakpoints(theme.breakpoints, ownerState.columns, (appendStyle, value) => {
138
152
  appendStyle(styles, {
139
- '--Grid-columns': value
153
+ [`--Grid-columns${appendLevel(ownerState.level)}`]: value
140
154
  });
141
155
  });
142
156
  return styles;
@@ -153,12 +167,12 @@ const generateGridRowSpacingStyles = ({
153
167
  const styles = isNestedContainer(ownerState) ? {
154
168
  // Set the default spacing as its parent spacing.
155
169
  // It will be overridden if spacing props are provided
156
- [`--Grid-rowSpacing${ownerState.level || ''}`]: getParentSpacing('row')
170
+ [`--Grid-rowSpacing${appendLevel(ownerState.level)}`]: getParentSpacing('row')
157
171
  } : {};
158
172
  traverseBreakpoints(theme.breakpoints, ownerState.rowSpacing, (appendStyle, value) => {
159
173
  var _theme$spacing;
160
174
  appendStyle(styles, {
161
- [`--Grid-rowSpacing${ownerState.level || ''}`]: typeof value === 'string' ? value : (_theme$spacing = theme.spacing) == null ? void 0 : _theme$spacing.call(theme, value)
175
+ [`--Grid-rowSpacing${appendLevel(ownerState.level)}`]: typeof value === 'string' ? value : (_theme$spacing = theme.spacing) == null ? void 0 : _theme$spacing.call(theme, value)
162
176
  });
163
177
  });
164
178
  return styles;
@@ -175,12 +189,12 @@ const generateGridColumnSpacingStyles = ({
175
189
  const styles = isNestedContainer(ownerState) ? {
176
190
  // Set the default spacing as its parent spacing.
177
191
  // It will be overridden if spacing props are provided
178
- [`--Grid-columnSpacing${ownerState.level || ''}`]: getParentSpacing('column')
192
+ [`--Grid-columnSpacing${appendLevel(ownerState.level)}`]: getParentSpacing('column')
179
193
  } : {};
180
194
  traverseBreakpoints(theme.breakpoints, ownerState.columnSpacing, (appendStyle, value) => {
181
195
  var _theme$spacing2;
182
196
  appendStyle(styles, {
183
- [`--Grid-columnSpacing${ownerState.level || ''}`]: typeof value === 'string' ? value : (_theme$spacing2 = theme.spacing) == null ? void 0 : _theme$spacing2.call(theme, value)
197
+ [`--Grid-columnSpacing${appendLevel(ownerState.level)}`]: typeof value === 'string' ? value : (_theme$spacing2 = theme.spacing) == null ? void 0 : _theme$spacing2.call(theme, value)
184
198
  });
185
199
  });
186
200
  return styles;
@@ -1,5 +1,5 @@
1
- export { default } from './Grid';
2
- export { default as createGrid } from './createGrid';
3
- export * from './GridProps';
4
- export { default as gridClasses } from './gridClasses';
5
- export * from './gridClasses';
1
+ export { default } from './Grid';
2
+ export { default as createGrid } from './createGrid';
3
+ export * from './GridProps';
4
+ export { default as gridClasses } from './gridClasses';
5
+ export * from './gridClasses';
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,10 +1,10 @@
1
- export type SpacingOptions = number | Spacing | ((abs: number) => number | string) | ((abs: number | string) => number | string) | ReadonlyArray<string | number>;
2
- export type SpacingArgument = number | string;
3
- export interface Spacing {
4
- (): string;
5
- (value: number): string;
6
- (topBottom: SpacingArgument, rightLeft: SpacingArgument): string;
7
- (top: SpacingArgument, rightLeft: SpacingArgument, bottom: SpacingArgument): string;
8
- (top: SpacingArgument, right: SpacingArgument, bottom: SpacingArgument, left: SpacingArgument): string;
9
- }
10
- export default function createSpacing(spacingInput?: SpacingOptions): Spacing;
1
+ export type SpacingOptions = number | Spacing | ((abs: number) => number | string) | ((abs: number | string) => number | string) | ReadonlyArray<string | number>;
2
+ export type SpacingArgument = number | string;
3
+ export interface Spacing {
4
+ (): string;
5
+ (value: number): string;
6
+ (topBottom: SpacingArgument, rightLeft: SpacingArgument): string;
7
+ (top: SpacingArgument, rightLeft: SpacingArgument, bottom: SpacingArgument): string;
8
+ (top: SpacingArgument, right: SpacingArgument, bottom: SpacingArgument, left: SpacingArgument): string;
9
+ }
10
+ export default function createSpacing(spacingInput?: SpacingOptions): Spacing;
@@ -1 +1 @@
1
- export {};
1
+ export {};