Blame view

天文台pc/tianwentai-ui/node_modules/@mui/styled-engine/esm/index.js 1.94 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
  /**
   * @mui/styled-engine v7.3.9
   *
   * @license MIT
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  'use client';
  
  /* eslint-disable no-underscore-dangle */
  import emStyled from '@emotion/styled';
  import { serializeStyles as emSerializeStyles } from '@emotion/serialize';
  export default function styled(tag, options) {
    const stylesFactory = emStyled(tag, options);
    if (process.env.NODE_ENV !== 'production') {
      return (...styles) => {
        const component = typeof tag === 'string' ? `"${tag}"` : 'component';
        if (styles.length === 0) {
          console.error([`MUI: Seems like you called \`styled(${component})()\` without a \`style\` argument.`, 'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join('\n'));
        } else if (styles.some(style => style === undefined)) {
          console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);
        }
        return stylesFactory(...styles);
      };
    }
    return stylesFactory;
  }
  
  // eslint-disable-next-line @typescript-eslint/naming-convention
  export function internal_mutateStyles(tag, processor) {
    // Emotion attaches all the styles as `__emotion_styles`.
    // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186
    if (Array.isArray(tag.__emotion_styles)) {
      tag.__emotion_styles = processor(tag.__emotion_styles);
    }
  }
  
  // Emotion only accepts an array, but we want to avoid allocations
  const wrapper = [];
  // eslint-disable-next-line @typescript-eslint/naming-convention
  export function internal_serializeStyles(styles) {
    wrapper[0] = styles;
    return emSerializeStyles(wrapper);
  }
  export { ThemeContext, keyframes, css } from '@emotion/react';
  export { default as StyledEngineProvider } from "./StyledEngineProvider/index.js";
  export { default as GlobalStyles } from "./GlobalStyles/index.js";