UNPKG

@chakra-xui/system

Version:
66 lines (49 loc) 2.76 kB
"use strict"; exports.__esModule = true; exports.useTheme = useTheme; exports.GlobalStyle = exports.useStyles = exports.StylesProvider = exports.ThemeProvider = void 0; var _colorMode = require("@chakra-xui/color-mode"); var _styledSystem = require("@chakra-xui/styled-system"); var _utils = require("@chakra-xui/utils"); var _react = require("@emotion/react"); exports.ThemeProvider = _react.ThemeProvider; var React = _interopRequireWildcard(require("react")); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function useTheme() { var theme = React.useContext(_react.ThemeContext); if (!theme) { throw Error("useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />`"); } return theme; } var _createContext = (0, _utils.createContext)({ name: "StylesContext", errorMessage: "useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` " }), StylesProvider = _createContext[0], useStyles = _createContext[1]; exports.useStyles = useStyles; exports.StylesProvider = StylesProvider; /** * Applies styles defined in `theme.styles.global` globally * using emotion's `Global` component */ var GlobalStyle = function GlobalStyle() { var _useColorMode = (0, _colorMode.useColorMode)(), colorMode = _useColorMode.colorMode; return /*#__PURE__*/React.createElement(_react.Global, { styles: function styles(theme) { var styleObjectOrFn = (0, _utils.memoizedGet)(theme, "styles.global"); var globalStyles = (0, _utils.runIfFn)(styleObjectOrFn, { theme: theme, colorMode: colorMode }); if (!globalStyles) return undefined; var styles = (0, _styledSystem.css)(globalStyles)(theme); return styles; } }); }; exports.GlobalStyle = GlobalStyle; //# sourceMappingURL=providers.js.map