Blame view

天文台pc/tianwentai-ui/node_modules/@mui/system/esm/createTheme/createTheme.js 1.43 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  import deepmerge from '@mui/utils/deepmerge';
  import createBreakpoints from "../createBreakpoints/createBreakpoints.js";
  import cssContainerQueries from "../cssContainerQueries/index.js";
  import shape from "./shape.js";
  import createSpacing from "./createSpacing.js";
  import styleFunctionSx from "../styleFunctionSx/styleFunctionSx.js";
  import defaultSxConfig from "../styleFunctionSx/defaultSxConfig.js";
  import applyStyles from "./applyStyles.js";
  function createTheme(options = {}, ...args) {
    const {
      breakpoints: breakpointsInput = {},
      palette: paletteInput = {},
      spacing: spacingInput,
      shape: shapeInput = {},
      ...other
    } = options;
    const breakpoints = createBreakpoints(breakpointsInput);
    const spacing = createSpacing(spacingInput);
    let muiTheme = deepmerge({
      breakpoints,
      direction: 'ltr',
      components: {},
      // Inject component definitions.
      palette: {
        mode: 'light',
        ...paletteInput
      },
      spacing,
      shape: {
        ...shape,
        ...shapeInput
      }
    }, other);
    muiTheme = cssContainerQueries(muiTheme);
    muiTheme.applyStyles = applyStyles;
    muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);
    muiTheme.unstable_sxConfig = {
      ...defaultSxConfig,
      ...other?.unstable_sxConfig
    };
    muiTheme.unstable_sx = function sx(props) {
      return styleFunctionSx({
        sx: props,
        theme: this
      });
    };
    return muiTheme;
  }
  export default createTheme;