@mui/system 5.7.0 → 5.8.0

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 (45) hide show
  1. package/Box/Box.spec.d.ts +1 -1
  2. package/CHANGELOG.md +72 -0
  3. package/Container/Container.d.ts +13 -0
  4. package/Container/Container.js +81 -0
  5. package/Container/ContainerProps.d.ts +40 -0
  6. package/Container/ContainerProps.js +5 -0
  7. package/Container/containerClasses.d.ts +22 -0
  8. package/Container/containerClasses.js +17 -0
  9. package/Container/createContainer.d.ts +18 -0
  10. package/Container/createContainer.js +172 -0
  11. package/Container/index.d.ts +5 -0
  12. package/Container/index.js +42 -0
  13. package/Container/package.json +6 -0
  14. package/createBox.spec.d.ts +1 -1
  15. package/createTheme/createBreakpoints.d.ts +5 -0
  16. package/createTheme/createSpacing.d.ts +10 -10
  17. package/cssVars/createCssVarsProvider.spec.d.ts +1 -1
  18. package/cssVars/createGetCssVar.d.ts +5 -5
  19. package/cssVars/cssVarsParser.d.ts +70 -70
  20. package/cssVars/getInitColorSchemeScript.d.ts +40 -40
  21. package/cssVars/index.d.ts +2 -2
  22. package/cssVars/useCurrentColorScheme.d.ts +53 -53
  23. package/esm/Container/Container.js +70 -0
  24. package/esm/Container/ContainerProps.js +1 -0
  25. package/esm/Container/containerClasses.js +6 -0
  26. package/esm/Container/createContainer.js +151 -0
  27. package/esm/Container/index.js +3 -0
  28. package/esm/index.js +4 -1
  29. package/index.d.ts +6 -0
  30. package/index.js +32 -2
  31. package/index.spec.d.ts +1 -1
  32. package/legacy/Container/Container.js +70 -0
  33. package/legacy/Container/ContainerProps.js +1 -0
  34. package/legacy/Container/containerClasses.js +6 -0
  35. package/legacy/Container/createContainer.js +148 -0
  36. package/legacy/Container/index.js +3 -0
  37. package/legacy/index.js +5 -2
  38. package/modern/Container/Container.js +70 -0
  39. package/modern/Container/ContainerProps.js +1 -0
  40. package/modern/Container/containerClasses.js +6 -0
  41. package/modern/Container/createContainer.js +151 -0
  42. package/modern/Container/index.js +3 -0
  43. package/modern/index.js +5 -2
  44. package/package.json +4 -4
  45. package/styleFunctionSx/styleFunctionSx.spec.d.ts +1 -1
@@ -1,70 +1,70 @@
1
- declare type NestedRecord<V = any> = {
2
- [k: string | number]: NestedRecord<V> | V;
3
- };
4
- /**
5
- * This function create an object from keys, value and then assign to target
6
- *
7
- * @param {Object} obj : the target object to be assigned
8
- * @param {string[]} keys
9
- * @param {string | number} value
10
- *
11
- * @example
12
- * const source = {}
13
- * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')
14
- * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }
15
- *
16
- * @example
17
- * const source = { palette: { primary: 'var(--palette-primary)' } }
18
- * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')
19
- * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }
20
- */
21
- export declare const assignNestedKeys: <Object_1 = NestedRecord<any>, Value = any>(obj: Object_1, keys: Array<string>, value: Value, arrayKeys?: Array<string>) => void;
22
- /**
23
- *
24
- * @param {Object} obj : source object
25
- * @param {Function} callback : a function that will be called when
26
- * - the deepest key in source object is reached
27
- * - the value of the deepest key is NOT `undefined` | `null`
28
- *
29
- * @example
30
- * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)
31
- * // ['palette', 'primary', 'main'] '#000000'
32
- */
33
- export declare const walkObjectDeep: <Value, T = Record<string, any>>(obj: T, callback: (keys: Array<string>, value: Value, arrayKeys: Array<string>) => void, shouldSkipPaths?: ((keys: Array<string>) => boolean) | undefined) => void;
34
- /**
35
- * a function that parse theme and return { css, vars }
36
- *
37
- * @param {Object} theme
38
- * @param {{
39
- * prefix?: string,
40
- * basePrefix?: string,
41
- * shouldSkipGeneratingVar?: (objectPathKeys: Array<string>, value: string | number) => boolean
42
- * }} options.
43
- * `basePrefix`: defined by design system.
44
- * `prefix`: defined by application
45
- *
46
- * the CSS variable value will be adjusted based on the provided `basePrefix` & `prefix` which can be found in `parsedTheme`.
47
- *
48
- * @returns {{ css: Object, vars: Object, parsedTheme: typeof theme }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme), and `parsedTheme` is the cloned version of theme.
49
- *
50
- * @example
51
- * const { css, vars, parsedTheme } = parser({
52
- * fontSize: 12,
53
- * lineHeight: 1.2,
54
- * palette: { primary: { 500: 'var(--color)' } }
55
- * }, { prefix: 'foo' })
56
- *
57
- * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--foo-color)' }
58
- * console.log(vars) // { fontSize: '--foo-fontSize', lineHeight: '--foo-lineHeight', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }
59
- * console.log(parsedTheme) // { fontSize: 12, lineHeight: 1.2, palette: { primary: { 500: 'var(--foo-color)' } } }
60
- */
61
- export default function cssVarsParser<T extends Record<string, any>>(theme: T, options?: {
62
- prefix?: string;
63
- basePrefix?: string;
64
- shouldSkipGeneratingVar?: (objectPathKeys: Array<string>, value: string | number) => boolean;
65
- }): {
66
- css: NestedRecord<string>;
67
- vars: NestedRecord<string>;
68
- parsedTheme: T;
69
- };
70
- export {};
1
+ declare type NestedRecord<V = any> = {
2
+ [k: string | number]: NestedRecord<V> | V;
3
+ };
4
+ /**
5
+ * This function create an object from keys, value and then assign to target
6
+ *
7
+ * @param {Object} obj : the target object to be assigned
8
+ * @param {string[]} keys
9
+ * @param {string | number} value
10
+ *
11
+ * @example
12
+ * const source = {}
13
+ * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')
14
+ * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }
15
+ *
16
+ * @example
17
+ * const source = { palette: { primary: 'var(--palette-primary)' } }
18
+ * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')
19
+ * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }
20
+ */
21
+ export declare const assignNestedKeys: <Object_1 = NestedRecord<any>, Value = any>(obj: Object_1, keys: Array<string>, value: Value, arrayKeys?: Array<string>) => void;
22
+ /**
23
+ *
24
+ * @param {Object} obj : source object
25
+ * @param {Function} callback : a function that will be called when
26
+ * - the deepest key in source object is reached
27
+ * - the value of the deepest key is NOT `undefined` | `null`
28
+ *
29
+ * @example
30
+ * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)
31
+ * // ['palette', 'primary', 'main'] '#000000'
32
+ */
33
+ export declare const walkObjectDeep: <Value, T = Record<string, any>>(obj: T, callback: (keys: Array<string>, value: Value, arrayKeys: Array<string>) => void, shouldSkipPaths?: ((keys: Array<string>) => boolean) | undefined) => void;
34
+ /**
35
+ * a function that parse theme and return { css, vars }
36
+ *
37
+ * @param {Object} theme
38
+ * @param {{
39
+ * prefix?: string,
40
+ * basePrefix?: string,
41
+ * shouldSkipGeneratingVar?: (objectPathKeys: Array<string>, value: string | number) => boolean
42
+ * }} options.
43
+ * `basePrefix`: defined by design system.
44
+ * `prefix`: defined by application
45
+ *
46
+ * the CSS variable value will be adjusted based on the provided `basePrefix` & `prefix` which can be found in `parsedTheme`.
47
+ *
48
+ * @returns {{ css: Object, vars: Object, parsedTheme: typeof theme }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme), and `parsedTheme` is the cloned version of theme.
49
+ *
50
+ * @example
51
+ * const { css, vars, parsedTheme } = parser({
52
+ * fontSize: 12,
53
+ * lineHeight: 1.2,
54
+ * palette: { primary: { 500: 'var(--color)' } }
55
+ * }, { prefix: 'foo' })
56
+ *
57
+ * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--foo-color)' }
58
+ * console.log(vars) // { fontSize: '--foo-fontSize', lineHeight: '--foo-lineHeight', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }
59
+ * console.log(parsedTheme) // { fontSize: 12, lineHeight: 1.2, palette: { primary: { 500: 'var(--foo-color)' } } }
60
+ */
61
+ export default function cssVarsParser<T extends Record<string, any>>(theme: T, options?: {
62
+ prefix?: string;
63
+ basePrefix?: string;
64
+ shouldSkipGeneratingVar?: (objectPathKeys: Array<string>, value: string | number) => boolean;
65
+ }): {
66
+ css: NestedRecord<string>;
67
+ vars: NestedRecord<string>;
68
+ parsedTheme: T;
69
+ };
70
+ export {};
@@ -1,40 +1,40 @@
1
- /// <reference types="react" />
2
- export declare const DEFAULT_MODE_STORAGE_KEY = "mui-mode";
3
- export declare const DEFAULT_COLOR_SCHEME_STORAGE_KEY = "mui-color-scheme";
4
- export declare const DEFAULT_ATTRIBUTE = "data-mui-color-scheme";
5
- export interface GetInitColorSchemeScriptOptions {
6
- /**
7
- * If `true`, the initial color scheme is set to the user's prefers-color-scheme mode
8
- * @default false
9
- */
10
- enableSystem?: boolean;
11
- /**
12
- * The default color scheme to be used on the light mode
13
- */
14
- defaultLightColorScheme?: string;
15
- /**
16
- * The default color scheme to be used on the dark mode
17
- */
18
- defaultDarkColorScheme?: string;
19
- /**
20
- * The node (provided as string) used to attach the color-scheme attribute
21
- * @default 'document.documentElement'
22
- */
23
- colorSchemeNode?: string;
24
- /**
25
- * localStorage key used to store `mode`
26
- * @default 'mui-mode'
27
- */
28
- modeStorageKey?: string;
29
- /**
30
- * localStorage key used to store `colorScheme`
31
- * @default 'mui-color-scheme'
32
- */
33
- colorSchemeStorageKey?: string;
34
- /**
35
- * DOM attribute for applying color scheme
36
- * @default 'data-mui-color-scheme'
37
- */
38
- attribute?: string;
39
- }
40
- export default function getInitColorSchemeScript(options?: GetInitColorSchemeScriptOptions): JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const DEFAULT_MODE_STORAGE_KEY = "mui-mode";
3
+ export declare const DEFAULT_COLOR_SCHEME_STORAGE_KEY = "mui-color-scheme";
4
+ export declare const DEFAULT_ATTRIBUTE = "data-mui-color-scheme";
5
+ export interface GetInitColorSchemeScriptOptions {
6
+ /**
7
+ * If `true`, the initial color scheme is set to the user's prefers-color-scheme mode
8
+ * @default false
9
+ */
10
+ enableSystem?: boolean;
11
+ /**
12
+ * The default color scheme to be used on the light mode
13
+ */
14
+ defaultLightColorScheme?: string;
15
+ /**
16
+ * The default color scheme to be used on the dark mode
17
+ */
18
+ defaultDarkColorScheme?: string;
19
+ /**
20
+ * The node (provided as string) used to attach the color-scheme attribute
21
+ * @default 'document.documentElement'
22
+ */
23
+ colorSchemeNode?: string;
24
+ /**
25
+ * localStorage key used to store `mode`
26
+ * @default 'mui-mode'
27
+ */
28
+ modeStorageKey?: string;
29
+ /**
30
+ * localStorage key used to store `colorScheme`
31
+ * @default 'mui-color-scheme'
32
+ */
33
+ colorSchemeStorageKey?: string;
34
+ /**
35
+ * DOM attribute for applying color scheme
36
+ * @default 'data-mui-color-scheme'
37
+ */
38
+ attribute?: string;
39
+ }
40
+ export default function getInitColorSchemeScript(options?: GetInitColorSchemeScriptOptions): JSX.Element;
@@ -1,2 +1,2 @@
1
- export { default } from './createCssVarsProvider';
2
- export type { CreateCssVarsProviderResult } from './createCssVarsProvider';
1
+ export { default } from './createCssVarsProvider';
2
+ export type { CreateCssVarsProviderResult } from './createCssVarsProvider';
@@ -1,53 +1,53 @@
1
- export declare type Mode = 'light' | 'dark' | 'system';
2
- export declare type SystemMode = Exclude<Mode, 'system'>;
3
- export interface State<SupportedColorScheme extends string> {
4
- /**
5
- * User selected mode.
6
- * Note: on the server, mode is always undefined
7
- */
8
- mode: Mode | undefined;
9
- /**
10
- * Only valid if `mode: 'system'`, either 'light' | 'dark'.
11
- */
12
- systemMode: SystemMode | undefined;
13
- /**
14
- * The color scheme for the light mode.
15
- */
16
- lightColorScheme: SupportedColorScheme;
17
- /**
18
- * The color scheme for the dark mode.
19
- */
20
- darkColorScheme: SupportedColorScheme;
21
- }
22
- export declare type Result<SupportedColorScheme extends string> = State<SupportedColorScheme> & {
23
- /**
24
- * The current application color scheme. It is always `undefined` on the server.
25
- */
26
- colorScheme: SupportedColorScheme | undefined;
27
- /**
28
- * `mode` is saved to internal state and localStorage
29
- * If `mode` is null, it will be reset to the defaultMode
30
- */
31
- setMode: (mode: Mode | null) => void;
32
- /**
33
- * `colorScheme` is saved to internal state and localStorage
34
- * If `colorScheme` is null, it will be reset to the defaultColorScheme (light | dark)
35
- */
36
- setColorScheme: (colorScheme: SupportedColorScheme | Partial<{
37
- light: SupportedColorScheme | null;
38
- dark: SupportedColorScheme | null;
39
- }> | null) => void;
40
- };
41
- export declare function getSystemMode(mode: undefined | string): SystemMode | undefined;
42
- export declare function getColorScheme<SupportedColorScheme extends string>(state: State<SupportedColorScheme>): SupportedColorScheme | undefined;
43
- interface UseCurrentColoSchemeOptions<SupportedColorScheme extends string> {
44
- defaultLightColorScheme: SupportedColorScheme;
45
- defaultDarkColorScheme: SupportedColorScheme;
46
- supportedColorSchemes: Array<SupportedColorScheme>;
47
- defaultMode?: Mode;
48
- modeStorageKey?: string;
49
- colorSchemeStorageKey?: string;
50
- storageWindow?: Window | null;
51
- }
52
- export default function useCurrentColorScheme<SupportedColorScheme extends string>(options: UseCurrentColoSchemeOptions<SupportedColorScheme>): Result<SupportedColorScheme>;
53
- export {};
1
+ export declare type Mode = 'light' | 'dark' | 'system';
2
+ export declare type SystemMode = Exclude<Mode, 'system'>;
3
+ export interface State<SupportedColorScheme extends string> {
4
+ /**
5
+ * User selected mode.
6
+ * Note: on the server, mode is always undefined
7
+ */
8
+ mode: Mode | undefined;
9
+ /**
10
+ * Only valid if `mode: 'system'`, either 'light' | 'dark'.
11
+ */
12
+ systemMode: SystemMode | undefined;
13
+ /**
14
+ * The color scheme for the light mode.
15
+ */
16
+ lightColorScheme: SupportedColorScheme;
17
+ /**
18
+ * The color scheme for the dark mode.
19
+ */
20
+ darkColorScheme: SupportedColorScheme;
21
+ }
22
+ export declare type Result<SupportedColorScheme extends string> = State<SupportedColorScheme> & {
23
+ /**
24
+ * The current application color scheme. It is always `undefined` on the server.
25
+ */
26
+ colorScheme: SupportedColorScheme | undefined;
27
+ /**
28
+ * `mode` is saved to internal state and localStorage
29
+ * If `mode` is null, it will be reset to the defaultMode
30
+ */
31
+ setMode: (mode: Mode | null) => void;
32
+ /**
33
+ * `colorScheme` is saved to internal state and localStorage
34
+ * If `colorScheme` is null, it will be reset to the defaultColorScheme (light | dark)
35
+ */
36
+ setColorScheme: (colorScheme: SupportedColorScheme | Partial<{
37
+ light: SupportedColorScheme | null;
38
+ dark: SupportedColorScheme | null;
39
+ }> | null) => void;
40
+ };
41
+ export declare function getSystemMode(mode: undefined | string): SystemMode | undefined;
42
+ export declare function getColorScheme<SupportedColorScheme extends string>(state: State<SupportedColorScheme>): SupportedColorScheme | undefined;
43
+ interface UseCurrentColoSchemeOptions<SupportedColorScheme extends string> {
44
+ defaultLightColorScheme: SupportedColorScheme;
45
+ defaultDarkColorScheme: SupportedColorScheme;
46
+ supportedColorSchemes: Array<SupportedColorScheme>;
47
+ defaultMode?: Mode;
48
+ modeStorageKey?: string;
49
+ colorSchemeStorageKey?: string;
50
+ storageWindow?: Window | null;
51
+ }
52
+ export default function useCurrentColorScheme<SupportedColorScheme extends string>(options: UseCurrentColoSchemeOptions<SupportedColorScheme>): Result<SupportedColorScheme>;
53
+ export {};
@@ -0,0 +1,70 @@
1
+ import PropTypes from 'prop-types';
2
+ import createContainer from './createContainer';
3
+ /**
4
+ *
5
+ * Demos:
6
+ *
7
+ * - [Container (Material UI)](https://mui.com/material-ui/react-container/)
8
+ * - [Container (MUI System)](https://mui.com/system/react-container/)
9
+ *
10
+ * API:
11
+ *
12
+ * - [Container API](https://mui.com/system/api/container/)
13
+ */
14
+
15
+ const Container = createContainer();
16
+ process.env.NODE_ENV !== "production" ? Container.propTypes
17
+ /* remove-proptypes */
18
+ = {
19
+ // ----------------------------- Warning --------------------------------
20
+ // | These PropTypes are generated from the TypeScript type definitions |
21
+ // | To update them edit TypeScript types and run "yarn proptypes" |
22
+ // ----------------------------------------------------------------------
23
+
24
+ /**
25
+ * @ignore
26
+ */
27
+ children: PropTypes.node,
28
+
29
+ /**
30
+ * Override or extend the styles applied to the component.
31
+ */
32
+ classes: PropTypes.object,
33
+
34
+ /**
35
+ * The component used for the root node.
36
+ * Either a string to use a HTML element or a component.
37
+ */
38
+ component: PropTypes.elementType,
39
+
40
+ /**
41
+ * If `true`, the left and right padding is removed.
42
+ * @default false
43
+ */
44
+ disableGutters: PropTypes.bool,
45
+
46
+ /**
47
+ * Set the max-width to match the min-width of the current breakpoint.
48
+ * This is useful if you'd prefer to design for a fixed set of sizes
49
+ * instead of trying to accommodate a fully fluid viewport.
50
+ * It's fluid by default.
51
+ * @default false
52
+ */
53
+ fixed: PropTypes.bool,
54
+
55
+ /**
56
+ * Determine the max-width of the container.
57
+ * The container width grows with the size of the screen.
58
+ * Set to `false` to disable `maxWidth`.
59
+ * @default 'lg'
60
+ */
61
+ maxWidth: PropTypes
62
+ /* @typescript-to-proptypes-ignore */
63
+ .oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),
64
+
65
+ /**
66
+ * The system prop that allows defining system overrides as well as additional CSS styles.
67
+ */
68
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
69
+ } : void 0;
70
+ export default Container;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
2
+ export function getContainerUtilityClass(slot) {
3
+ return generateUtilityClass('MuiContainer', slot);
4
+ }
5
+ const containerClasses = generateUtilityClasses('MuiContainer', ['root', 'disableGutters', 'fixed', 'maxWidthXs', 'maxWidthSm', 'maxWidthMd', 'maxWidthLg', 'maxWidthXl']);
6
+ export default containerClasses;
@@ -0,0 +1,151 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ const _excluded = ["className", "component", "disableGutters", "fixed", "maxWidth", "classes"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import clsx from 'clsx';
7
+ import { unstable_capitalize as capitalize, unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass } from '@mui/utils';
8
+ import useThemePropsSystem from '../useThemeProps';
9
+ import systemStyled from '../styled';
10
+ import createTheme from '../createTheme';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ const defaultTheme = createTheme();
13
+ const defaultCreateStyledComponent = systemStyled('div', {
14
+ name: 'MuiContainer',
15
+ slot: 'Root',
16
+ overridesResolver: (props, styles) => {
17
+ const {
18
+ ownerState
19
+ } = props;
20
+ return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];
21
+ }
22
+ });
23
+
24
+ const useThemePropsDefault = inProps => useThemePropsSystem({
25
+ props: inProps,
26
+ name: 'MuiContainer',
27
+ defaultTheme
28
+ });
29
+
30
+ const useUtilityClasses = (ownerState, componentName) => {
31
+ const getContainerUtilityClass = slot => {
32
+ return generateUtilityClass(componentName, slot);
33
+ };
34
+
35
+ const {
36
+ classes,
37
+ fixed,
38
+ disableGutters,
39
+ maxWidth
40
+ } = ownerState;
41
+ const slots = {
42
+ root: ['root', maxWidth && `maxWidth${capitalize(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']
43
+ };
44
+ return composeClasses(slots, getContainerUtilityClass, classes);
45
+ };
46
+
47
+ export default function createContainer(options = {}) {
48
+ const {
49
+ // This will allow adding custom styled fn (for example for custom sx style function)
50
+ createStyledComponent = defaultCreateStyledComponent,
51
+ useThemeProps = useThemePropsDefault,
52
+ componentName = 'MuiContainer'
53
+ } = options;
54
+ const ContainerRoot = createStyledComponent(({
55
+ theme,
56
+ ownerState
57
+ }) => _extends({
58
+ width: '100%',
59
+ marginLeft: 'auto',
60
+ boxSizing: 'border-box',
61
+ marginRight: 'auto',
62
+ display: 'block'
63
+ }, !ownerState.disableGutters && {
64
+ paddingLeft: theme.spacing(2),
65
+ paddingRight: theme.spacing(2),
66
+ // @ts-ignore module augmentation fails if custom breakpoints are used
67
+ [theme.breakpoints.up('sm')]: {
68
+ paddingLeft: theme.spacing(3),
69
+ paddingRight: theme.spacing(3)
70
+ }
71
+ }), ({
72
+ theme,
73
+ ownerState
74
+ }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {
75
+ const breakpoint = breakpointValueKey;
76
+ const value = theme.breakpoints.values[breakpoint];
77
+
78
+ if (value !== 0) {
79
+ // @ts-ignore
80
+ acc[theme.breakpoints.up(breakpoint)] = {
81
+ maxWidth: `${value}${theme.breakpoints.unit}`
82
+ };
83
+ }
84
+
85
+ return acc;
86
+ }, {}), ({
87
+ theme,
88
+ ownerState
89
+ }) => _extends({}, ownerState.maxWidth === 'xs' && {
90
+ // @ts-ignore module augmentation fails if custom breakpoints are used
91
+ [theme.breakpoints.up('xs')]: {
92
+ // @ts-ignore module augmentation fails if custom breakpoints are used
93
+ maxWidth: Math.max(theme.breakpoints.values.xs, 444)
94
+ }
95
+ }, ownerState.maxWidth && // @ts-ignore module augmentation fails if custom breakpoints are used
96
+ ownerState.maxWidth !== 'xs' && {
97
+ // @ts-ignore module augmentation fails if custom breakpoints are used
98
+ [theme.breakpoints.up(ownerState.maxWidth)]: {
99
+ // @ts-ignore module augmentation fails if custom breakpoints are used
100
+ maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`
101
+ }
102
+ }));
103
+ const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {
104
+ const props = useThemeProps(inProps);
105
+
106
+ const {
107
+ className,
108
+ component = 'div',
109
+ disableGutters = false,
110
+ fixed = false,
111
+ maxWidth = 'lg'
112
+ } = props,
113
+ other = _objectWithoutPropertiesLoose(props, _excluded);
114
+
115
+ const ownerState = _extends({}, props, {
116
+ component,
117
+ disableGutters,
118
+ fixed,
119
+ maxWidth
120
+ }); // @ts-ignore module augmentation fails if custom breakpoints are used
121
+
122
+
123
+ const classes = useUtilityClasses(ownerState, componentName);
124
+ return (
125
+ /*#__PURE__*/
126
+ // @ts-ignore theme is injected by the styled util
127
+ _jsx(ContainerRoot, _extends({
128
+ as: component // @ts-ignore module augmentation fails if custom breakpoints are used
129
+ ,
130
+ ownerState: ownerState,
131
+ className: clsx(classes.root, className),
132
+ ref: ref
133
+ }, other))
134
+ );
135
+ });
136
+ process.env.NODE_ENV !== "production" ? Container.propTypes
137
+ /* remove-proptypes */
138
+ = {
139
+ children: PropTypes.node,
140
+ classes: PropTypes.object,
141
+ className: PropTypes.string,
142
+ component: PropTypes.elementType,
143
+ disableGutters: PropTypes.bool,
144
+ fixed: PropTypes.bool,
145
+ maxWidth: PropTypes
146
+ /* @typescript-to-proptypes-ignore */
147
+ .oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),
148
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
149
+ } : void 0;
150
+ return Container;
151
+ }
@@ -0,0 +1,3 @@
1
+ export { default } from './Container';
2
+ export { default as containerClasses } from './containerClasses';
3
+ export * from './containerClasses';
package/esm/index.js CHANGED
@@ -39,4 +39,7 @@ export { default as useThemeWithoutDefault } from './useThemeWithoutDefault';
39
39
  export * from './colorManipulator';
40
40
  export { default as ThemeProvider } from './ThemeProvider';
41
41
  export { default as unstable_createCssVarsProvider } from './cssVars/createCssVarsProvider';
42
- export { default as unstable_createGetCssVar } from './cssVars/createGetCssVar';
42
+ export { default as unstable_createGetCssVar } from './cssVars/createGetCssVar';
43
+ export { default as createContainer } from './Container/createContainer';
44
+ export { default as Container } from './Container';
45
+ export * from './Container';
package/index.d.ts CHANGED
@@ -169,3 +169,9 @@ export * from './ThemeProvider';
169
169
  export { default as unstable_createCssVarsProvider, CreateCssVarsProviderResult } from './cssVars';
170
170
  export { default as unstable_createGetCssVar } from './cssVars/createGetCssVar';
171
171
  export * from './cssVars';
172
+
173
+ export { default as createContainer } from './Container/createContainer';
174
+ export * from './Container/createContainer';
175
+
176
+ export { default as Container } from './Container';
177
+ export * from './Container';
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.7.0
1
+ /** @license MUI v5.8.0
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -51,7 +51,9 @@ var _exportNames = {
51
51
  useThemeWithoutDefault: true,
52
52
  ThemeProvider: true,
53
53
  unstable_createCssVarsProvider: true,
54
- unstable_createGetCssVar: true
54
+ unstable_createGetCssVar: true,
55
+ createContainer: true,
56
+ Container: true
55
57
  };
56
58
  Object.defineProperty(exports, "Box", {
57
59
  enumerable: true,
@@ -59,6 +61,12 @@ Object.defineProperty(exports, "Box", {
59
61
  return _Box.default;
60
62
  }
61
63
  });
64
+ Object.defineProperty(exports, "Container", {
65
+ enumerable: true,
66
+ get: function () {
67
+ return _Container.default;
68
+ }
69
+ });
62
70
  Object.defineProperty(exports, "GlobalStyles", {
63
71
  enumerable: true,
64
72
  get: function () {
@@ -107,6 +115,12 @@ Object.defineProperty(exports, "createBreakpoints", {
107
115
  return _createBreakpoints.default;
108
116
  }
109
117
  });
118
+ Object.defineProperty(exports, "createContainer", {
119
+ enumerable: true,
120
+ get: function () {
121
+ return _createContainer.default;
122
+ }
123
+ });
110
124
  Object.defineProperty(exports, "createSpacing", {
111
125
  enumerable: true,
112
126
  get: function () {
@@ -484,6 +498,22 @@ var _createCssVarsProvider = _interopRequireDefault(require("./cssVars/createCss
484
498
 
485
499
  var _createGetCssVar = _interopRequireDefault(require("./cssVars/createGetCssVar"));
486
500
 
501
+ var _createContainer = _interopRequireDefault(require("./Container/createContainer"));
502
+
503
+ var _Container = _interopRequireWildcard(require("./Container"));
504
+
505
+ Object.keys(_Container).forEach(function (key) {
506
+ if (key === "default" || key === "__esModule") return;
507
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
508
+ if (key in exports && exports[key] === _Container[key]) return;
509
+ Object.defineProperty(exports, key, {
510
+ enumerable: true,
511
+ get: function () {
512
+ return _Container[key];
513
+ }
514
+ });
515
+ });
516
+
487
517
  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); }
488
518
 
489
519
  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/index.spec.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ export {};