@mui/system 6.1.1 → 6.1.3
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/Box/Box.js +17 -11
- package/Box/boxClasses.js +10 -3
- package/Box/index.js +35 -3
- package/Box/package.json +2 -2
- package/CHANGELOG.md +136 -0
- package/Container/Container.js +17 -12
- package/Container/ContainerProps.js +5 -1
- package/Container/containerClasses.js +14 -6
- package/Container/createContainer.js +36 -28
- package/Container/index.js +35 -3
- package/Container/package.json +2 -2
- package/DefaultPropsProvider/DefaultPropsProvider.js +19 -11
- package/DefaultPropsProvider/index.js +19 -1
- package/DefaultPropsProvider/package.json +2 -2
- package/GlobalStyles/GlobalStyles.js +18 -11
- package/GlobalStyles/index.js +25 -2
- package/GlobalStyles/package.json +2 -2
- package/Grid/Grid.js +38 -27
- package/Grid/GridProps.d.ts +16 -11
- package/Grid/GridProps.js +5 -1
- package/Grid/createGrid.js +46 -38
- package/Grid/gridClasses.js +14 -6
- package/Grid/gridGenerator.d.ts +3 -7
- package/Grid/gridGenerator.js +62 -69
- package/Grid/index.js +63 -6
- package/Grid/package.json +2 -2
- package/Grid/traverseBreakpoints.js +11 -3
- package/InitColorSchemeScript/InitColorSchemeScript.js +16 -7
- package/InitColorSchemeScript/index.js +13 -1
- package/InitColorSchemeScript/package.json +2 -2
- package/RtlProvider/index.js +17 -8
- package/RtlProvider/package.json +2 -2
- package/Stack/Stack.js +17 -11
- package/Stack/StackProps.js +5 -1
- package/Stack/createStack.js +46 -36
- package/Stack/index.js +55 -5
- package/Stack/package.json +2 -2
- package/Stack/stackClasses.js +14 -6
- package/ThemeProvider/ThemeProvider.js +27 -20
- package/ThemeProvider/index.js +13 -1
- package/ThemeProvider/package.json +2 -2
- package/borders/borders.js +36 -26
- package/borders/index.js +25 -2
- package/borders/package.json +2 -2
- package/breakpoints/breakpoints.js +34 -21
- package/breakpoints/index.js +25 -2
- package/breakpoints/package.json +2 -2
- package/colorManipulator/colorManipulator.js +50 -25
- package/colorManipulator/index.js +16 -1
- package/colorManipulator/package.json +2 -2
- package/compose/compose.js +10 -3
- package/compose/index.js +13 -1
- package/compose/package.json +2 -2
- package/createBox/createBox.js +20 -13
- package/createBox/index.js +13 -1
- package/createBox/package.json +2 -2
- package/createBreakpoints/createBreakpoints.js +9 -2
- package/createBreakpoints/index.js +13 -3
- package/createBreakpoints/package.json +2 -2
- package/createStyled/createStyled.js +161 -117
- package/createStyled/index.js +25 -2
- package/createStyled/package.json +2 -2
- package/createTheme/applyStyles.js +7 -1
- package/createTheme/createSpacing.js +8 -3
- package/createTheme/createTheme.d.ts +16 -10
- package/createTheme/createTheme.js +25 -18
- package/createTheme/index.js +27 -3
- package/createTheme/package.json +2 -2
- package/createTheme/shape.js +7 -1
- package/cssContainerQueries/cssContainerQueries.js +16 -7
- package/cssContainerQueries/index.js +31 -2
- package/cssContainerQueries/package.json +2 -2
- package/cssGrid/cssGrid.js +40 -31
- package/cssGrid/index.js +25 -2
- package/cssGrid/package.json +2 -2
- package/cssVars/createCssVarsProvider.d.ts +7 -1
- package/cssVars/createCssVarsProvider.js +46 -31
- package/cssVars/createCssVarsTheme.js +14 -7
- package/cssVars/createGetCssVar.js +7 -1
- package/cssVars/cssVarsParser.js +13 -3
- package/cssVars/getColorSchemeSelector.js +7 -1
- package/cssVars/index.js +41 -5
- package/cssVars/package.json +2 -2
- package/cssVars/prepareCssVars.js +16 -9
- package/cssVars/prepareTypographyVars.js +7 -1
- package/cssVars/useCurrentColorScheme.js +19 -11
- package/display/display.js +16 -9
- package/display/index.js +25 -2
- package/display/package.json +2 -2
- package/esm/Box/Box.js +30 -0
- package/esm/Box/boxClasses.js +3 -0
- package/esm/Box/index.js +3 -0
- package/{node → esm}/Container/Container.js +12 -17
- package/esm/Container/ContainerProps.js +1 -0
- package/esm/Container/containerClasses.js +7 -0
- package/{node → esm}/Container/createContainer.js +28 -36
- package/esm/Container/index.js +3 -0
- package/{node → esm}/DefaultPropsProvider/DefaultPropsProvider.js +11 -19
- package/esm/DefaultPropsProvider/index.js +1 -0
- package/esm/GlobalStyles/GlobalStyles.js +37 -0
- package/esm/GlobalStyles/index.js +2 -0
- package/esm/Grid/Grid.js +106 -0
- package/esm/Grid/GridProps.js +1 -0
- package/esm/Grid/createGrid.js +148 -0
- package/{node → esm}/Grid/gridClasses.js +6 -14
- package/esm/Grid/gridGenerator.js +193 -0
- package/esm/Grid/index.js +6 -0
- package/{node → esm}/Grid/traverseBreakpoints.js +3 -11
- package/{node → esm}/InitColorSchemeScript/InitColorSchemeScript.js +7 -16
- package/esm/InitColorSchemeScript/index.js +1 -0
- package/esm/RtlProvider/index.js +22 -0
- package/{node → esm}/Stack/Stack.js +11 -17
- package/esm/Stack/StackProps.js +1 -0
- package/{node → esm}/Stack/createStack.js +36 -46
- package/esm/Stack/index.js +5 -0
- package/esm/Stack/stackClasses.js +7 -0
- package/{node → esm}/ThemeProvider/ThemeProvider.js +20 -27
- package/esm/ThemeProvider/index.js +1 -0
- package/esm/borders/borders.js +49 -0
- package/esm/borders/index.js +2 -0
- package/{node → esm}/breakpoints/breakpoints.js +21 -34
- package/esm/breakpoints/index.js +2 -0
- package/{node → esm}/colorManipulator/colorManipulator.js +23 -51
- package/esm/colorManipulator/index.js +1 -0
- package/{node → esm}/compose/compose.js +3 -10
- package/esm/compose/index.js +1 -0
- package/esm/createBox/createBox.js +35 -0
- package/esm/createBox/index.js +1 -0
- package/{node → esm}/createBreakpoints/createBreakpoints.js +2 -9
- package/esm/createBreakpoints/index.js +3 -0
- package/esm/createStyled/createStyled.js +276 -0
- package/esm/createStyled/index.js +2 -0
- package/{node → esm}/createTheme/applyStyles.js +1 -7
- package/{node → esm}/createTheme/createSpacing.js +3 -8
- package/esm/createTheme/createTheme.js +49 -0
- package/esm/createTheme/index.js +3 -0
- package/esm/createTheme/shape.js +4 -0
- package/{node → esm}/cssContainerQueries/cssContainerQueries.js +6 -17
- package/esm/cssContainerQueries/index.js +2 -0
- package/esm/cssGrid/cssGrid.js +85 -0
- package/esm/cssGrid/index.js +2 -0
- package/{node → esm}/cssVars/createCssVarsProvider.js +37 -40
- package/esm/cssVars/createCssVarsTheme.js +21 -0
- package/{node → esm}/cssVars/createGetCssVar.js +1 -7
- package/{node → esm}/cssVars/cssVarsParser.js +3 -13
- package/{node → esm}/cssVars/getColorSchemeSelector.js +1 -7
- package/esm/cssVars/index.js +5 -0
- package/{node → esm}/cssVars/prepareCssVars.js +9 -16
- package/{node → esm}/cssVars/prepareTypographyVars.js +1 -7
- package/{node → esm}/cssVars/useCurrentColorScheme.js +11 -19
- package/esm/display/display.js +27 -0
- package/esm/display/index.js +2 -0
- package/esm/flexbox/flexbox.js +43 -0
- package/esm/flexbox/index.js +2 -0
- package/esm/getThemeValue/getThemeValue.js +51 -0
- package/esm/getThemeValue/index.js +2 -0
- package/esm/index.js +68 -0
- package/esm/memoTheme.js +28 -0
- package/esm/memoize/index.js +1 -0
- package/{node → esm}/memoize/memoize.js +1 -7
- package/esm/merge/index.js +1 -0
- package/esm/merge/merge.js +10 -0
- package/esm/palette/index.js +2 -0
- package/esm/palette/palette.js +26 -0
- package/esm/positions/index.js +2 -0
- package/esm/positions/positions.js +22 -0
- package/esm/preprocessStyles.js +25 -0
- package/esm/propsToClassKey/index.js +1 -0
- package/esm/propsToClassKey/propsToClassKey.js +25 -0
- package/esm/responsivePropType/index.js +1 -0
- package/esm/responsivePropType/responsivePropType.js +3 -0
- package/esm/shadows/index.js +1 -0
- package/esm/shadows/shadows.js +6 -0
- package/esm/sizing/index.js +2 -0
- package/esm/sizing/sizing.js +64 -0
- package/esm/spacing/index.js +2 -0
- package/{node → esm}/spacing/spacing.js +21 -36
- package/esm/style/index.js +2 -0
- package/{node → esm}/style/style.js +9 -18
- package/{node → esm}/styleFunctionSx/defaultSxConfig.js +65 -71
- package/{node → esm}/styleFunctionSx/extendSxProp.js +5 -12
- package/esm/styleFunctionSx/index.js +4 -0
- package/{node → esm}/styleFunctionSx/styleFunctionSx.js +19 -27
- package/esm/styled/index.js +1 -0
- package/esm/styled/styled.js +3 -0
- package/esm/typography/index.js +2 -0
- package/esm/typography/typography.js +37 -0
- package/esm/useMediaQuery/index.js +2 -0
- package/{node → esm}/useMediaQuery/useMediaQuery.js +8 -15
- package/esm/useTheme/index.js +2 -0
- package/esm/useTheme/useTheme.js +9 -0
- package/esm/useThemeProps/getThemeProps.js +12 -0
- package/esm/useThemeProps/index.js +2 -0
- package/esm/useThemeProps/useThemeProps.js +20 -0
- package/esm/useThemeWithoutDefault/index.js +1 -0
- package/esm/useThemeWithoutDefault/useThemeWithoutDefault.js +12 -0
- package/esm/version/index.js +6 -0
- package/flexbox/flexbox.js +24 -17
- package/flexbox/index.js +25 -2
- package/flexbox/package.json +2 -2
- package/getThemeValue/getThemeValue.js +40 -33
- package/getThemeValue/index.js +25 -2
- package/getThemeValue/package.json +2 -2
- package/index.d.ts +2 -0
- package/index.js +606 -63
- package/memoTheme.d.ts +12 -0
- package/memoTheme.js +34 -0
- package/memoize/index.js +13 -1
- package/memoize/memoize.js +7 -1
- package/memoize/package.json +2 -2
- package/merge/index.js +13 -1
- package/merge/merge.js +10 -3
- package/merge/package.json +2 -2
- package/modern/Grid/Grid.js +16 -11
- package/modern/Grid/createGrid.js +1 -1
- package/modern/Grid/gridGenerator.js +28 -51
- package/modern/colorManipulator/colorManipulator.js +3 -4
- package/modern/createStyled/createStyled.js +144 -109
- package/modern/cssContainerQueries/cssContainerQueries.js +1 -2
- package/modern/cssVars/createCssVarsProvider.js +8 -2
- package/modern/cssVars/useCurrentColorScheme.js +4 -4
- package/modern/index.js +3 -2
- package/modern/memoTheme.js +28 -0
- package/modern/preprocessStyles.js +25 -0
- package/modern/version/index.js +2 -2
- package/package.json +7 -7
- package/palette/index.js +25 -2
- package/palette/package.json +2 -2
- package/palette/palette.js +16 -8
- package/positions/index.js +25 -2
- package/positions/package.json +2 -2
- package/positions/positions.js +16 -9
- package/preprocessStyles.d.ts +5 -0
- package/preprocessStyles.js +31 -0
- package/propsToClassKey/index.js +13 -1
- package/propsToClassKey/package.json +2 -2
- package/propsToClassKey/propsToClassKey.js +11 -4
- package/responsivePropType/index.js +13 -1
- package/responsivePropType/package.json +2 -2
- package/responsivePropType/responsivePropType.js +10 -3
- package/shadows/index.js +13 -1
- package/shadows/package.json +2 -2
- package/shadows/shadows.js +10 -3
- package/sizing/index.js +25 -2
- package/sizing/package.json +2 -2
- package/sizing/sizing.js +27 -17
- package/spacing/index.js +25 -2
- package/spacing/package.json +2 -2
- package/spacing/spacing.js +36 -21
- package/style/index.js +25 -2
- package/style/package.json +2 -2
- package/style/style.js +18 -9
- package/styleFunctionSx/defaultSxConfig.js +71 -65
- package/styleFunctionSx/extendSxProp.js +12 -5
- package/styleFunctionSx/index.js +34 -4
- package/styleFunctionSx/package.json +2 -2
- package/styleFunctionSx/styleFunctionSx.d.ts +1 -1
- package/styleFunctionSx/styleFunctionSx.js +27 -19
- package/styled/index.js +13 -1
- package/styled/package.json +2 -2
- package/styled/styled.js +10 -3
- package/typography/index.js +25 -2
- package/typography/package.json +2 -2
- package/typography/typography.js +20 -13
- package/useMediaQuery/index.js +25 -2
- package/useMediaQuery/package.json +2 -2
- package/useMediaQuery/useMediaQuery.js +15 -8
- package/useTheme/index.js +25 -2
- package/useTheme/package.json +2 -2
- package/useTheme/useTheme.js +11 -5
- package/useThemeProps/getThemeProps.js +10 -3
- package/useThemeProps/index.js +20 -2
- package/useThemeProps/package.json +2 -2
- package/useThemeProps/useThemeProps.js +11 -5
- package/useThemeWithoutDefault/index.js +13 -1
- package/useThemeWithoutDefault/package.json +2 -2
- package/useThemeWithoutDefault/useThemeWithoutDefault.js +10 -4
- package/version/index.js +12 -6
- package/version/package.json +2 -2
- package/node/Box/Box.js +0 -36
- package/node/Box/boxClasses.js +0 -10
- package/node/Box/index.js +0 -35
- package/node/Container/ContainerProps.js +0 -5
- package/node/Container/containerClasses.js +0 -15
- package/node/Container/index.js +0 -35
- package/node/DefaultPropsProvider/index.js +0 -19
- package/node/GlobalStyles/GlobalStyles.js +0 -44
- package/node/GlobalStyles/index.js +0 -25
- package/node/Grid/Grid.js +0 -107
- package/node/Grid/GridProps.js +0 -5
- package/node/Grid/createGrid.js +0 -156
- package/node/Grid/gridGenerator.js +0 -232
- package/node/Grid/index.js +0 -63
- package/node/InitColorSchemeScript/index.js +0 -13
- package/node/RtlProvider/index.js +0 -31
- package/node/Stack/StackProps.js +0 -5
- package/node/Stack/index.js +0 -55
- package/node/Stack/stackClasses.js +0 -15
- package/node/ThemeProvider/index.js +0 -13
- package/node/borders/borders.js +0 -59
- package/node/borders/index.js +0 -25
- package/node/breakpoints/index.js +0 -25
- package/node/colorManipulator/index.js +0 -16
- package/node/compose/index.js +0 -13
- package/node/createBox/createBox.js +0 -42
- package/node/createBox/index.js +0 -13
- package/node/createBreakpoints/index.js +0 -13
- package/node/createStyled/createStyled.js +0 -252
- package/node/createStyled/index.js +0 -25
- package/node/createTheme/createTheme.js +0 -56
- package/node/createTheme/index.js +0 -27
- package/node/createTheme/shape.js +0 -10
- package/node/cssContainerQueries/index.js +0 -31
- package/node/cssGrid/cssGrid.js +0 -94
- package/node/cssGrid/index.js +0 -25
- package/node/cssVars/createCssVarsTheme.js +0 -28
- package/node/cssVars/index.js +0 -41
- package/node/display/display.js +0 -34
- package/node/display/index.js +0 -25
- package/node/flexbox/flexbox.js +0 -50
- package/node/flexbox/index.js +0 -25
- package/node/getThemeValue/getThemeValue.js +0 -58
- package/node/getThemeValue/index.js +0 -25
- package/node/index.js +0 -609
- package/node/memoize/index.js +0 -13
- package/node/merge/index.js +0 -13
- package/node/merge/merge.js +0 -17
- package/node/palette/index.js +0 -25
- package/node/palette/palette.js +0 -34
- package/node/positions/index.js +0 -25
- package/node/positions/positions.js +0 -29
- package/node/propsToClassKey/index.js +0 -13
- package/node/propsToClassKey/propsToClassKey.js +0 -32
- package/node/responsivePropType/index.js +0 -13
- package/node/responsivePropType/responsivePropType.js +0 -10
- package/node/shadows/index.js +0 -13
- package/node/shadows/shadows.js +0 -13
- package/node/sizing/index.js +0 -25
- package/node/sizing/sizing.js +0 -74
- package/node/spacing/index.js +0 -25
- package/node/style/index.js +0 -25
- package/node/styleFunctionSx/index.js +0 -34
- package/node/styled/index.js +0 -13
- package/node/styled/styled.js +0 -10
- package/node/typography/index.js +0 -25
- package/node/typography/typography.js +0 -44
- package/node/useMediaQuery/index.js +0 -25
- package/node/useTheme/index.js +0 -25
- package/node/useTheme/useTheme.js +0 -15
- package/node/useThemeProps/getThemeProps.js +0 -19
- package/node/useThemeProps/index.js +0 -20
- package/node/useThemeProps/useThemeProps.js +0 -26
- package/node/useThemeWithoutDefault/index.js +0 -13
- package/node/useThemeWithoutDefault/useThemeWithoutDefault.js +0 -18
- package/node/version/index.js +0 -12
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import deepmerge from '@mui/utils/deepmerge';
|
|
2
|
+
import createBreakpoints from "../createBreakpoints/createBreakpoints.js";
|
|
3
|
+
import cssContainerQueries from "../cssContainerQueries/index.js";
|
|
4
|
+
import shape from "./shape.js";
|
|
5
|
+
import createSpacing from "./createSpacing.js";
|
|
6
|
+
import styleFunctionSx from "../styleFunctionSx/styleFunctionSx.js";
|
|
7
|
+
import defaultSxConfig from "../styleFunctionSx/defaultSxConfig.js";
|
|
8
|
+
import applyStyles from "./applyStyles.js";
|
|
9
|
+
function createTheme(options = {}, ...args) {
|
|
10
|
+
const {
|
|
11
|
+
breakpoints: breakpointsInput = {},
|
|
12
|
+
palette: paletteInput = {},
|
|
13
|
+
spacing: spacingInput,
|
|
14
|
+
shape: shapeInput = {},
|
|
15
|
+
...other
|
|
16
|
+
} = options;
|
|
17
|
+
const breakpoints = createBreakpoints(breakpointsInput);
|
|
18
|
+
const spacing = createSpacing(spacingInput);
|
|
19
|
+
let muiTheme = deepmerge({
|
|
20
|
+
breakpoints,
|
|
21
|
+
direction: 'ltr',
|
|
22
|
+
components: {},
|
|
23
|
+
// Inject component definitions.
|
|
24
|
+
palette: {
|
|
25
|
+
mode: 'light',
|
|
26
|
+
...paletteInput
|
|
27
|
+
},
|
|
28
|
+
spacing,
|
|
29
|
+
shape: {
|
|
30
|
+
...shape,
|
|
31
|
+
...shapeInput
|
|
32
|
+
}
|
|
33
|
+
}, other);
|
|
34
|
+
muiTheme = cssContainerQueries(muiTheme);
|
|
35
|
+
muiTheme.applyStyles = applyStyles;
|
|
36
|
+
muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);
|
|
37
|
+
muiTheme.unstable_sxConfig = {
|
|
38
|
+
...defaultSxConfig,
|
|
39
|
+
...other?.unstable_sxConfig
|
|
40
|
+
};
|
|
41
|
+
muiTheme.unstable_sx = function sx(props) {
|
|
42
|
+
return styleFunctionSx({
|
|
43
|
+
sx: props,
|
|
44
|
+
theme: this
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
return muiTheme;
|
|
48
|
+
}
|
|
49
|
+
export default createTheme;
|
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = cssContainerQueries;
|
|
8
|
-
exports.getContainerQuery = getContainerQuery;
|
|
9
|
-
exports.isCqShorthand = isCqShorthand;
|
|
10
|
-
exports.sortContainerQueries = sortContainerQueries;
|
|
11
|
-
var _formatMuiErrorMessage2 = _interopRequireDefault(require("@mui/utils/formatMuiErrorMessage"));
|
|
1
|
+
import _formatMuiErrorMessage from "@mui/utils/formatMuiErrorMessage";
|
|
12
2
|
/**
|
|
13
3
|
* For using in `sx` prop to sort the breakpoint from low to high.
|
|
14
4
|
* Note: this function does not work and will not support multiple units.
|
|
15
5
|
* e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }
|
|
16
6
|
* output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px
|
|
17
7
|
*/
|
|
18
|
-
function sortContainerQueries(theme, css) {
|
|
8
|
+
export function sortContainerQueries(theme, css) {
|
|
19
9
|
if (!theme.containerQueries) {
|
|
20
10
|
return css;
|
|
21
11
|
}
|
|
@@ -35,15 +25,14 @@ function sortContainerQueries(theme, css) {
|
|
|
35
25
|
...css
|
|
36
26
|
});
|
|
37
27
|
}
|
|
38
|
-
function isCqShorthand(breakpointKeys, value) {
|
|
28
|
+
export function isCqShorthand(breakpointKeys, value) {
|
|
39
29
|
return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\d/));
|
|
40
30
|
}
|
|
41
|
-
function getContainerQuery(theme, shorthand) {
|
|
31
|
+
export function getContainerQuery(theme, shorthand) {
|
|
42
32
|
const matches = shorthand.match(/^@([^/]+)?\/?(.+)?$/);
|
|
43
33
|
if (!matches) {
|
|
44
34
|
if (process.env.NODE_ENV !== 'production') {
|
|
45
|
-
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container
|
|
46
|
-
For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.` : (0, _formatMuiErrorMessage2.default)(18, `(${shorthand})`));
|
|
35
|
+
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.\n` + 'For example, `@sm` or `@600` or `@40rem/sidebar`.' : _formatMuiErrorMessage(18, `(${shorthand})`));
|
|
47
36
|
}
|
|
48
37
|
return null;
|
|
49
38
|
}
|
|
@@ -51,7 +40,7 @@ For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.` : (0, _formatMuiErrorMe
|
|
|
51
40
|
const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;
|
|
52
41
|
return theme.containerQueries(containerName).up(value);
|
|
53
42
|
}
|
|
54
|
-
function cssContainerQueries(themeInput) {
|
|
43
|
+
export default function cssContainerQueries(themeInput) {
|
|
55
44
|
const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');
|
|
56
45
|
function attachCq(node, name) {
|
|
57
46
|
node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import style from "../style/index.js";
|
|
2
|
+
import compose from "../compose/index.js";
|
|
3
|
+
import { createUnaryUnit, getValue } from "../spacing/index.js";
|
|
4
|
+
import { handleBreakpoints } from "../breakpoints/index.js";
|
|
5
|
+
import responsivePropType from "../responsivePropType/index.js";
|
|
6
|
+
|
|
7
|
+
// false positive
|
|
8
|
+
// eslint-disable-next-line react/function-component-definition
|
|
9
|
+
export const gap = props => {
|
|
10
|
+
if (props.gap !== undefined && props.gap !== null) {
|
|
11
|
+
const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');
|
|
12
|
+
const styleFromPropValue = propValue => ({
|
|
13
|
+
gap: getValue(transformer, propValue)
|
|
14
|
+
});
|
|
15
|
+
return handleBreakpoints(props, props.gap, styleFromPropValue);
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
gap.propTypes = process.env.NODE_ENV !== 'production' ? {
|
|
20
|
+
gap: responsivePropType
|
|
21
|
+
} : {};
|
|
22
|
+
gap.filterProps = ['gap'];
|
|
23
|
+
|
|
24
|
+
// false positive
|
|
25
|
+
// eslint-disable-next-line react/function-component-definition
|
|
26
|
+
export const columnGap = props => {
|
|
27
|
+
if (props.columnGap !== undefined && props.columnGap !== null) {
|
|
28
|
+
const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');
|
|
29
|
+
const styleFromPropValue = propValue => ({
|
|
30
|
+
columnGap: getValue(transformer, propValue)
|
|
31
|
+
});
|
|
32
|
+
return handleBreakpoints(props, props.columnGap, styleFromPropValue);
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
};
|
|
36
|
+
columnGap.propTypes = process.env.NODE_ENV !== 'production' ? {
|
|
37
|
+
columnGap: responsivePropType
|
|
38
|
+
} : {};
|
|
39
|
+
columnGap.filterProps = ['columnGap'];
|
|
40
|
+
|
|
41
|
+
// false positive
|
|
42
|
+
// eslint-disable-next-line react/function-component-definition
|
|
43
|
+
export const rowGap = props => {
|
|
44
|
+
if (props.rowGap !== undefined && props.rowGap !== null) {
|
|
45
|
+
const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');
|
|
46
|
+
const styleFromPropValue = propValue => ({
|
|
47
|
+
rowGap: getValue(transformer, propValue)
|
|
48
|
+
});
|
|
49
|
+
return handleBreakpoints(props, props.rowGap, styleFromPropValue);
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
};
|
|
53
|
+
rowGap.propTypes = process.env.NODE_ENV !== 'production' ? {
|
|
54
|
+
rowGap: responsivePropType
|
|
55
|
+
} : {};
|
|
56
|
+
rowGap.filterProps = ['rowGap'];
|
|
57
|
+
export const gridColumn = style({
|
|
58
|
+
prop: 'gridColumn'
|
|
59
|
+
});
|
|
60
|
+
export const gridRow = style({
|
|
61
|
+
prop: 'gridRow'
|
|
62
|
+
});
|
|
63
|
+
export const gridAutoFlow = style({
|
|
64
|
+
prop: 'gridAutoFlow'
|
|
65
|
+
});
|
|
66
|
+
export const gridAutoColumns = style({
|
|
67
|
+
prop: 'gridAutoColumns'
|
|
68
|
+
});
|
|
69
|
+
export const gridAutoRows = style({
|
|
70
|
+
prop: 'gridAutoRows'
|
|
71
|
+
});
|
|
72
|
+
export const gridTemplateColumns = style({
|
|
73
|
+
prop: 'gridTemplateColumns'
|
|
74
|
+
});
|
|
75
|
+
export const gridTemplateRows = style({
|
|
76
|
+
prop: 'gridTemplateRows'
|
|
77
|
+
});
|
|
78
|
+
export const gridTemplateAreas = style({
|
|
79
|
+
prop: 'gridTemplateAreas'
|
|
80
|
+
});
|
|
81
|
+
export const gridArea = style({
|
|
82
|
+
prop: 'gridArea'
|
|
83
|
+
});
|
|
84
|
+
const grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);
|
|
85
|
+
export default grid;
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _styledEngine = require("@mui/styled-engine");
|
|
13
|
-
var _privateTheming = require("@mui/private-theming");
|
|
14
|
-
var _ThemeProvider = _interopRequireDefault(require("../ThemeProvider"));
|
|
15
|
-
var _InitColorSchemeScript = _interopRequireWildcard(require("../InitColorSchemeScript/InitColorSchemeScript"));
|
|
16
|
-
var _useCurrentColorScheme = _interopRequireDefault(require("./useCurrentColorScheme"));
|
|
17
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
const DISABLE_CSS_TRANSITION = exports.DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
|
|
19
|
-
function createCssVarsProvider(options) {
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { GlobalStyles } from '@mui/styled-engine';
|
|
4
|
+
import { useTheme as muiUseTheme } from '@mui/private-theming';
|
|
5
|
+
import ThemeProvider from "../ThemeProvider/index.js";
|
|
6
|
+
import InitColorSchemeScript, { DEFAULT_COLOR_SCHEME_STORAGE_KEY, DEFAULT_MODE_STORAGE_KEY } from "../InitColorSchemeScript/InitColorSchemeScript.js";
|
|
7
|
+
import useCurrentColorScheme from "./useCurrentColorScheme.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
|
|
10
|
+
export default function createCssVarsProvider(options) {
|
|
20
11
|
const {
|
|
21
12
|
themeId,
|
|
22
13
|
/**
|
|
@@ -26,8 +17,8 @@ function createCssVarsProvider(options) {
|
|
|
26
17
|
* It should also ideally have a vars object created using `prepareCssVars`.
|
|
27
18
|
*/
|
|
28
19
|
theme: defaultTheme = {},
|
|
29
|
-
modeStorageKey: defaultModeStorageKey =
|
|
30
|
-
colorSchemeStorageKey: defaultColorSchemeStorageKey =
|
|
20
|
+
modeStorageKey: defaultModeStorageKey = DEFAULT_MODE_STORAGE_KEY,
|
|
21
|
+
colorSchemeStorageKey: defaultColorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,
|
|
31
22
|
disableTransitionOnChange: designSystemTransitionOnChange = false,
|
|
32
23
|
defaultColorScheme,
|
|
33
24
|
resolveTheme
|
|
@@ -58,10 +49,11 @@ function createCssVarsProvider(options) {
|
|
|
58
49
|
documentNode = typeof document === 'undefined' ? undefined : document,
|
|
59
50
|
colorSchemeNode = typeof document === 'undefined' ? undefined : document.documentElement,
|
|
60
51
|
disableNestedContext = false,
|
|
61
|
-
disableStyleSheetGeneration = false
|
|
52
|
+
disableStyleSheetGeneration = false,
|
|
53
|
+
defaultMode: initialMode = 'system'
|
|
62
54
|
} = props;
|
|
63
55
|
const hasMounted = React.useRef(false);
|
|
64
|
-
const upperTheme = (
|
|
56
|
+
const upperTheme = muiUseTheme();
|
|
65
57
|
const ctx = React.useContext(ColorSchemeContext);
|
|
66
58
|
const nested = !!ctx && !disableNestedContext;
|
|
67
59
|
const initialTheme = React.useMemo(() => {
|
|
@@ -81,7 +73,7 @@ function createCssVarsProvider(options) {
|
|
|
81
73
|
const allColorSchemes = React.useMemo(() => joinedColorSchemes.split(','), [joinedColorSchemes]);
|
|
82
74
|
const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
|
|
83
75
|
const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
|
|
84
|
-
const defaultMode = colorSchemes[defaultLightColorScheme] && colorSchemes[defaultDarkColorScheme] ?
|
|
76
|
+
const defaultMode = colorSchemes[defaultLightColorScheme] && colorSchemes[defaultDarkColorScheme] ? initialMode : colorSchemes[restThemeProp.defaultColorScheme]?.palette?.mode || restThemeProp.palette?.mode;
|
|
85
77
|
|
|
86
78
|
// 1. Get the data about the `mode`, `colorScheme`, and setter functions.
|
|
87
79
|
const {
|
|
@@ -92,7 +84,7 @@ function createCssVarsProvider(options) {
|
|
|
92
84
|
darkColorScheme,
|
|
93
85
|
colorScheme: stateColorScheme,
|
|
94
86
|
setColorScheme
|
|
95
|
-
} = (
|
|
87
|
+
} = useCurrentColorScheme({
|
|
96
88
|
supportedColorSchemes: allColorSchemes,
|
|
97
89
|
defaultLightColorScheme,
|
|
98
90
|
defaultDarkColorScheme,
|
|
@@ -223,19 +215,19 @@ function createCssVarsProvider(options) {
|
|
|
223
215
|
if (disableStyleSheetGeneration || restThemeProp.cssVariables === false || nested && upperTheme?.cssVarPrefix === cssVarPrefix) {
|
|
224
216
|
shouldGenerateStyleSheet = false;
|
|
225
217
|
}
|
|
226
|
-
const element = /*#__PURE__*/(
|
|
227
|
-
children: [/*#__PURE__*/(
|
|
218
|
+
const element = /*#__PURE__*/_jsxs(React.Fragment, {
|
|
219
|
+
children: [/*#__PURE__*/_jsx(ThemeProvider, {
|
|
228
220
|
themeId: scopedTheme ? themeId : undefined,
|
|
229
221
|
theme: resolveTheme ? resolveTheme(theme) : theme,
|
|
230
222
|
children: children
|
|
231
|
-
}), shouldGenerateStyleSheet && /*#__PURE__*/(
|
|
223
|
+
}), shouldGenerateStyleSheet && /*#__PURE__*/_jsx(GlobalStyles, {
|
|
232
224
|
styles: theme.generateStyleSheets?.() || []
|
|
233
225
|
})]
|
|
234
226
|
});
|
|
235
227
|
if (nested) {
|
|
236
228
|
return element;
|
|
237
229
|
}
|
|
238
|
-
return /*#__PURE__*/(
|
|
230
|
+
return /*#__PURE__*/_jsx(ColorSchemeContext.Provider, {
|
|
239
231
|
value: contextValue,
|
|
240
232
|
children: element
|
|
241
233
|
});
|
|
@@ -244,50 +236,55 @@ function createCssVarsProvider(options) {
|
|
|
244
236
|
/**
|
|
245
237
|
* The component tree.
|
|
246
238
|
*/
|
|
247
|
-
children:
|
|
239
|
+
children: PropTypes.node,
|
|
248
240
|
/**
|
|
249
241
|
* The node used to attach the color-scheme attribute
|
|
250
242
|
*/
|
|
251
|
-
colorSchemeNode:
|
|
243
|
+
colorSchemeNode: PropTypes.any,
|
|
252
244
|
/**
|
|
253
245
|
* localStorage key used to store `colorScheme`
|
|
254
246
|
*/
|
|
255
|
-
colorSchemeStorageKey:
|
|
247
|
+
colorSchemeStorageKey: PropTypes.string,
|
|
248
|
+
/**
|
|
249
|
+
* The default mode when the storage is empty,
|
|
250
|
+
* require the theme to have `colorSchemes` with light and dark.
|
|
251
|
+
*/
|
|
252
|
+
defaultMode: PropTypes.string,
|
|
256
253
|
/**
|
|
257
254
|
* If `true`, the provider creates its own context and generate stylesheet as if it is a root `CssVarsProvider`.
|
|
258
255
|
*/
|
|
259
|
-
disableNestedContext:
|
|
256
|
+
disableNestedContext: PropTypes.bool,
|
|
260
257
|
/**
|
|
261
258
|
* If `true`, the style sheet won't be generated.
|
|
262
259
|
*
|
|
263
260
|
* This is useful for controlling nested CssVarsProvider behavior.
|
|
264
261
|
*/
|
|
265
|
-
disableStyleSheetGeneration:
|
|
262
|
+
disableStyleSheetGeneration: PropTypes.bool,
|
|
266
263
|
/**
|
|
267
264
|
* Disable CSS transitions when switching between modes or color schemes.
|
|
268
265
|
*/
|
|
269
|
-
disableTransitionOnChange:
|
|
266
|
+
disableTransitionOnChange: PropTypes.bool,
|
|
270
267
|
/**
|
|
271
268
|
* The document to attach the attribute to.
|
|
272
269
|
*/
|
|
273
|
-
documentNode:
|
|
270
|
+
documentNode: PropTypes.any,
|
|
274
271
|
/**
|
|
275
272
|
* The key in the local storage used to store current color scheme.
|
|
276
273
|
*/
|
|
277
|
-
modeStorageKey:
|
|
274
|
+
modeStorageKey: PropTypes.string,
|
|
278
275
|
/**
|
|
279
276
|
* The window that attaches the 'storage' event listener.
|
|
280
277
|
* @default window
|
|
281
278
|
*/
|
|
282
|
-
storageWindow:
|
|
279
|
+
storageWindow: PropTypes.any,
|
|
283
280
|
/**
|
|
284
281
|
* The calculated theme object that will be passed through context.
|
|
285
282
|
*/
|
|
286
|
-
theme:
|
|
283
|
+
theme: PropTypes.object
|
|
287
284
|
} : void 0;
|
|
288
285
|
const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
|
|
289
286
|
const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
|
|
290
|
-
const getInitColorSchemeScript = params => (
|
|
287
|
+
const getInitColorSchemeScript = params => InitColorSchemeScript({
|
|
291
288
|
colorSchemeStorageKey: defaultColorSchemeStorageKey,
|
|
292
289
|
defaultLightColorScheme,
|
|
293
290
|
defaultDarkColorScheme,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import prepareCssVars from "./prepareCssVars.js";
|
|
2
|
+
import { createGetColorSchemeSelector } from "./getColorSchemeSelector.js";
|
|
3
|
+
import { DEFAULT_ATTRIBUTE } from "../InitColorSchemeScript/InitColorSchemeScript.js";
|
|
4
|
+
function createCssVarsTheme({
|
|
5
|
+
colorSchemeSelector = `[${DEFAULT_ATTRIBUTE}="%s"]`,
|
|
6
|
+
...theme
|
|
7
|
+
}) {
|
|
8
|
+
const output = theme;
|
|
9
|
+
const result = prepareCssVars(output, {
|
|
10
|
+
...theme,
|
|
11
|
+
prefix: theme.cssVarPrefix,
|
|
12
|
+
colorSchemeSelector
|
|
13
|
+
});
|
|
14
|
+
output.vars = result.vars;
|
|
15
|
+
output.generateThemeVars = result.generateThemeVars;
|
|
16
|
+
output.generateStyleSheets = result.generateStyleSheets;
|
|
17
|
+
output.colorSchemeSelector = colorSchemeSelector;
|
|
18
|
+
output.getColorSchemeSelector = createGetColorSchemeSelector(colorSchemeSelector);
|
|
19
|
+
return output;
|
|
20
|
+
}
|
|
21
|
+
export default createCssVarsTheme;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = createGetCssVar;
|
|
7
1
|
/**
|
|
8
2
|
* The benefit of this function is to help developers get CSS var from theme without specifying the whole variable
|
|
9
3
|
* and they does not need to remember the prefix (defined once).
|
|
10
4
|
*/
|
|
11
|
-
function createGetCssVar(prefix = '') {
|
|
5
|
+
export default function createGetCssVar(prefix = '') {
|
|
12
6
|
function appendVar(...vars) {
|
|
13
7
|
if (!vars.length) {
|
|
14
8
|
return '';
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.assignNestedKeys = void 0;
|
|
7
|
-
exports.default = cssVarsParser;
|
|
8
|
-
exports.walkObjectDeep = void 0;
|
|
9
1
|
/**
|
|
10
2
|
* This function create an object from keys, value and then assign to target
|
|
11
3
|
*
|
|
@@ -23,7 +15,7 @@ exports.walkObjectDeep = void 0;
|
|
|
23
15
|
* assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')
|
|
24
16
|
* console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }
|
|
25
17
|
*/
|
|
26
|
-
const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {
|
|
18
|
+
export const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {
|
|
27
19
|
let temp = obj;
|
|
28
20
|
keys.forEach((k, index) => {
|
|
29
21
|
if (index === keys.length - 1) {
|
|
@@ -52,8 +44,7 @@ const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {
|
|
|
52
44
|
* walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)
|
|
53
45
|
* // ['palette', 'primary', 'main'] '#000000'
|
|
54
46
|
*/
|
|
55
|
-
|
|
56
|
-
const walkObjectDeep = (obj, callback, shouldSkipPaths) => {
|
|
47
|
+
export const walkObjectDeep = (obj, callback, shouldSkipPaths) => {
|
|
57
48
|
function recurse(object, parentKeys = [], arrayKeys = []) {
|
|
58
49
|
Object.entries(object).forEach(([key, value]) => {
|
|
59
50
|
if (!shouldSkipPaths || shouldSkipPaths && !shouldSkipPaths([...parentKeys, key])) {
|
|
@@ -69,7 +60,6 @@ const walkObjectDeep = (obj, callback, shouldSkipPaths) => {
|
|
|
69
60
|
}
|
|
70
61
|
recurse(obj);
|
|
71
62
|
};
|
|
72
|
-
exports.walkObjectDeep = walkObjectDeep;
|
|
73
63
|
const getCssValue = (keys, value) => {
|
|
74
64
|
if (typeof value === 'number') {
|
|
75
65
|
if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {
|
|
@@ -108,7 +98,7 @@ const getCssValue = (keys, value) => {
|
|
|
108
98
|
* console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }
|
|
109
99
|
* console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }
|
|
110
100
|
*/
|
|
111
|
-
function cssVarsParser(theme, options) {
|
|
101
|
+
export default function cssVarsParser(theme, options) {
|
|
112
102
|
const {
|
|
113
103
|
prefix,
|
|
114
104
|
shouldSkipGeneratingVar
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createGetColorSchemeSelector = createGetColorSchemeSelector;
|
|
7
1
|
/* eslint-disable import/prefer-default-export */
|
|
8
|
-
function createGetColorSchemeSelector(selector) {
|
|
2
|
+
export function createGetColorSchemeSelector(selector) {
|
|
9
3
|
return function getColorSchemeSelector(colorScheme) {
|
|
10
4
|
if (selector === 'media') {
|
|
11
5
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default } from "./createCssVarsProvider.js";
|
|
2
|
+
export { default as prepareCssVars } from "./prepareCssVars.js";
|
|
3
|
+
export { default as prepareTypographyVars } from "./prepareTypographyVars.js";
|
|
4
|
+
export { default as createCssVarsTheme } from "./createCssVarsTheme.js";
|
|
5
|
+
export { createGetColorSchemeSelector } from "./getColorSchemeSelector.js";
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
|
|
9
|
-
var _cssVarsParser = _interopRequireDefault(require("./cssVarsParser"));
|
|
1
|
+
import deepmerge from '@mui/utils/deepmerge';
|
|
2
|
+
import cssVarsParser from "./cssVarsParser.js";
|
|
10
3
|
function prepareCssVars(theme, parserConfig = {}) {
|
|
11
4
|
const {
|
|
12
5
|
getSelector = defaultGetSelector,
|
|
@@ -24,7 +17,7 @@ function prepareCssVars(theme, parserConfig = {}) {
|
|
|
24
17
|
vars: rootVars,
|
|
25
18
|
css: rootCss,
|
|
26
19
|
varsWithDefaults: rootVarsWithDefaults
|
|
27
|
-
} = (
|
|
20
|
+
} = cssVarsParser(otherTheme, parserConfig);
|
|
28
21
|
let themeVars = rootVarsWithDefaults;
|
|
29
22
|
const colorSchemesMap = {};
|
|
30
23
|
const {
|
|
@@ -36,8 +29,8 @@ function prepareCssVars(theme, parserConfig = {}) {
|
|
|
36
29
|
vars,
|
|
37
30
|
css,
|
|
38
31
|
varsWithDefaults
|
|
39
|
-
} = (
|
|
40
|
-
themeVars = (
|
|
32
|
+
} = cssVarsParser(scheme, parserConfig);
|
|
33
|
+
themeVars = deepmerge(themeVars, varsWithDefaults);
|
|
41
34
|
colorSchemesMap[key] = {
|
|
42
35
|
css,
|
|
43
36
|
vars
|
|
@@ -49,8 +42,8 @@ function prepareCssVars(theme, parserConfig = {}) {
|
|
|
49
42
|
css,
|
|
50
43
|
vars,
|
|
51
44
|
varsWithDefaults
|
|
52
|
-
} = (
|
|
53
|
-
themeVars = (
|
|
45
|
+
} = cssVarsParser(defaultScheme, parserConfig);
|
|
46
|
+
themeVars = deepmerge(themeVars, varsWithDefaults);
|
|
54
47
|
colorSchemesMap[defaultColorScheme] = {
|
|
55
48
|
css,
|
|
56
49
|
vars
|
|
@@ -96,7 +89,7 @@ function prepareCssVars(theme, parserConfig = {}) {
|
|
|
96
89
|
Object.entries(colorSchemesMap).forEach(([, {
|
|
97
90
|
vars: schemeVars
|
|
98
91
|
}]) => {
|
|
99
|
-
vars = (
|
|
92
|
+
vars = deepmerge(vars, schemeVars);
|
|
100
93
|
});
|
|
101
94
|
return vars;
|
|
102
95
|
};
|
|
@@ -157,4 +150,4 @@ function prepareCssVars(theme, parserConfig = {}) {
|
|
|
157
150
|
generateStyleSheets
|
|
158
151
|
};
|
|
159
152
|
}
|
|
160
|
-
|
|
153
|
+
export default prepareCssVars;
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = prepareTypographyVars;
|
|
7
|
-
function prepareTypographyVars(typography) {
|
|
1
|
+
export default function prepareTypographyVars(typography) {
|
|
8
2
|
const vars = {};
|
|
9
3
|
const entries = Object.entries(typography);
|
|
10
4
|
entries.forEach(entry => {
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
'use client';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
});
|
|
8
|
-
exports.default = useCurrentColorScheme;
|
|
9
|
-
exports.getColorScheme = getColorScheme;
|
|
10
|
-
exports.getSystemMode = getSystemMode;
|
|
11
|
-
var React = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _InitColorSchemeScript = require("../InitColorSchemeScript/InitColorSchemeScript");
|
|
13
|
-
function getSystemMode(mode) {
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { DEFAULT_MODE_STORAGE_KEY, DEFAULT_COLOR_SCHEME_STORAGE_KEY } from "../InitColorSchemeScript/InitColorSchemeScript.js";
|
|
5
|
+
export function getSystemMode(mode) {
|
|
14
6
|
if (typeof window !== 'undefined' && typeof window.matchMedia === 'function' && mode === 'system') {
|
|
15
7
|
const mql = window.matchMedia('(prefers-color-scheme: dark)');
|
|
16
8
|
if (mql.matches) {
|
|
@@ -29,7 +21,7 @@ function processState(state, callback) {
|
|
|
29
21
|
}
|
|
30
22
|
return undefined;
|
|
31
23
|
}
|
|
32
|
-
function getColorScheme(state) {
|
|
24
|
+
export function getColorScheme(state) {
|
|
33
25
|
return processState(state, mode => {
|
|
34
26
|
if (mode === 'light') {
|
|
35
27
|
return state.lightColorScheme;
|
|
@@ -51,19 +43,19 @@ function initializeValue(key, defaultValue) {
|
|
|
51
43
|
// the first time that user enters the site.
|
|
52
44
|
localStorage.setItem(key, defaultValue);
|
|
53
45
|
}
|
|
54
|
-
} catch
|
|
46
|
+
} catch {
|
|
55
47
|
// Unsupported
|
|
56
48
|
}
|
|
57
49
|
return value || defaultValue;
|
|
58
50
|
}
|
|
59
|
-
function useCurrentColorScheme(options) {
|
|
51
|
+
export default function useCurrentColorScheme(options) {
|
|
60
52
|
const {
|
|
61
53
|
defaultMode = 'light',
|
|
62
54
|
defaultLightColorScheme,
|
|
63
55
|
defaultDarkColorScheme,
|
|
64
56
|
supportedColorSchemes = [],
|
|
65
|
-
modeStorageKey =
|
|
66
|
-
colorSchemeStorageKey =
|
|
57
|
+
modeStorageKey = DEFAULT_MODE_STORAGE_KEY,
|
|
58
|
+
colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,
|
|
67
59
|
storageWindow = typeof window === 'undefined' ? undefined : window
|
|
68
60
|
} = options;
|
|
69
61
|
const joinedColorSchemes = supportedColorSchemes.join(',');
|
|
@@ -98,7 +90,7 @@ function useCurrentColorScheme(options) {
|
|
|
98
90
|
const newMode = mode ?? defaultMode;
|
|
99
91
|
try {
|
|
100
92
|
localStorage.setItem(modeStorageKey, newMode);
|
|
101
|
-
} catch
|
|
93
|
+
} catch {
|
|
102
94
|
// Unsupported
|
|
103
95
|
}
|
|
104
96
|
return {
|
|
@@ -114,7 +106,7 @@ function useCurrentColorScheme(options) {
|
|
|
114
106
|
try {
|
|
115
107
|
localStorage.setItem(`${colorSchemeStorageKey}-light`, defaultLightColorScheme);
|
|
116
108
|
localStorage.setItem(`${colorSchemeStorageKey}-dark`, defaultDarkColorScheme);
|
|
117
|
-
} catch
|
|
109
|
+
} catch {
|
|
118
110
|
// Unsupported
|
|
119
111
|
}
|
|
120
112
|
return {
|
|
@@ -134,7 +126,7 @@ function useCurrentColorScheme(options) {
|
|
|
134
126
|
processState(currentState, mode => {
|
|
135
127
|
try {
|
|
136
128
|
localStorage.setItem(`${colorSchemeStorageKey}-${mode}`, value);
|
|
137
|
-
} catch
|
|
129
|
+
} catch {
|
|
138
130
|
// Unsupported
|
|
139
131
|
}
|
|
140
132
|
if (mode === 'light') {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import style from "../style/index.js";
|
|
2
|
+
import compose from "../compose/index.js";
|
|
3
|
+
export const displayPrint = style({
|
|
4
|
+
prop: 'displayPrint',
|
|
5
|
+
cssProperty: false,
|
|
6
|
+
transform: value => ({
|
|
7
|
+
'@media print': {
|
|
8
|
+
display: value
|
|
9
|
+
}
|
|
10
|
+
})
|
|
11
|
+
});
|
|
12
|
+
export const displayRaw = style({
|
|
13
|
+
prop: 'display'
|
|
14
|
+
});
|
|
15
|
+
export const overflow = style({
|
|
16
|
+
prop: 'overflow'
|
|
17
|
+
});
|
|
18
|
+
export const textOverflow = style({
|
|
19
|
+
prop: 'textOverflow'
|
|
20
|
+
});
|
|
21
|
+
export const visibility = style({
|
|
22
|
+
prop: 'visibility'
|
|
23
|
+
});
|
|
24
|
+
export const whiteSpace = style({
|
|
25
|
+
prop: 'whiteSpace'
|
|
26
|
+
});
|
|
27
|
+
export default compose(displayPrint, displayRaw, overflow, textOverflow, visibility, whiteSpace);
|