Files
react-test/packages/mui-styled-engine-sc/src/StyledEngineProvider/StyledEngineProvider.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

30 lines
853 B
JavaScript
Raw Normal View History

2025-12-12 14:26:25 +09:00
import PropTypes from 'prop-types';
export default function StyledEngineProvider(props) {
const { injectFirst, children } = props;
if (injectFirst && typeof window !== 'undefined') {
const head = document.head;
if (!head.querySelector('[data-styled="active"]')) {
const injectFirstNode = document.createElement('style');
injectFirstNode.setAttribute('data-styled', 'active');
head.insertBefore(injectFirstNode, head.firstChild);
}
}
return children;
}
StyledEngineProvider.propTypes = {
/**
* Your component tree.
*/
children: PropTypes.node,
/**
* By default, the styles are injected last in the <head> element of the page.
* As a result, they gain more specificity than any other style sheet.
* If you want to override MUI's styles, set this prop.
*/
injectFirst: PropTypes.bool,
};