UNPKG

@madeja-studio/telar

Version:

UI component library by Madeja Studio

2 lines 1.45 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.useTheme=exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _smob=require("smob");var _theme=require("./theme.js");var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/sergio/Development/madeja.studio/telar/src/theme/ThemeContextProvider.tsx";var ThemeContext=(0,_react.createContext)({});var _resolveTheme=function resolveTheme(obj,context){switch(typeof obj){case'function':return obj(context);case'object':{var resolvedObj={};for(var entry of Object.entries(obj)){var _entry=(0,_slicedToArray2.default)(entry,2),key=_entry[0],value=_entry[1];resolvedObj[key]=_resolveTheme(value,context);}return resolvedObj;}default:return obj;}};var ThemeContextProvider=function ThemeContextProvider(_ref){var children=_ref.children,_ref$theme=_ref.theme,theme=_ref$theme===void 0?{}:_ref$theme;var mergedTheme=(0,_smob.merge)(theme,_theme.theme);return(0,_jsxRuntime.jsx)(ThemeContext.Provider,{value:{theme:_resolveTheme(mergedTheme,mergedTheme.core)},children:children});};var useTheme=exports.useTheme=function useTheme(){return(0,_react.useContext)(ThemeContext);};var _default=exports.default=ThemeContextProvider; //# sourceMappingURL=ThemeContextProvider.js.map