UNPKG

@mui/material

Version:

Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.

47 lines (46 loc) 1.68 kB
"use strict"; 'use client'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = ThemeProvider; var React = _interopRequireWildcard(require("react")); var _ThemeProviderNoVars = _interopRequireDefault(require("./ThemeProviderNoVars")); var _ThemeProviderWithVars = require("./ThemeProviderWithVars"); var _identifier = _interopRequireDefault(require("./identifier")); var _jsxRuntime = require("react/jsx-runtime"); function ThemeProvider({ theme, ...props }) { if (typeof theme === 'function') { return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ThemeProviderNoVars.default, { theme: theme, ...props }); } const muiTheme = _identifier.default in theme ? theme[_identifier.default] : theme; if (!('colorSchemes' in muiTheme)) { if (!('vars' in muiTheme)) { // For non-CSS variables themes, set `vars` to null to prevent theme inheritance from the upper theme. // The example use case is the docs demo that uses ThemeProvider to customize the theme while the upper theme is using CSS variables. return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ThemeProviderNoVars.default, { theme: { ...theme, vars: null }, ...props }); } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ThemeProviderNoVars.default, { theme: theme, ...props }); } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ThemeProviderWithVars.CssVarsProvider, { theme: theme, ...props }); }