UNPKG

@blend-ui/core

Version:

Blend core cmponents

105 lines (91 loc) 2.45 kB
import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js'; import React, { useContext } from 'react'; import styled, { ThemeProvider as ThemeProvider$1, ThemeContext } from 'styled-components'; import theme, { baseStyles } from './theme.js'; var _excluded = ["theme", "mobileApp"]; /* const GlobalStyle = createGlobalStyle` body: { margin:0; }; `; */ /* export const Base = styled.div` font-family: ${props => props.theme.fonts.body || null}; font-weight: ${props => props.theme.fontWeights.medium || null}; line-height: ${props => props.theme.lineHeights.standard || null}; * { box-sizing: border-box; }; body: { margin:0; }; p: { margin: 0; }; * { box-sizing: border-box; } p: { margin: 0; } `; */ var Base = styled.div.withConfig({ displayName: "ThemeProvider__Base", componentId: "sc-1w52cfi-0" })(["", ""], baseStyles); var ThemeProvider = function ThemeProvider(_ref) { var _ref$theme = _ref.theme, theme$1 = _ref$theme === void 0 ? {} : _ref$theme, _ref$mobileApp = _ref.mobileApp, mobileApp = _ref$mobileApp === void 0 ? false : _ref$mobileApp, props = _objectWithoutProperties(_ref, _excluded); //console.log("THEME PROVIDER ", theme, defaultTheme); //console.log(baseStyles); var mergedTheme = _objectSpread2(_objectSpread2(_objectSpread2({}, theme), theme$1), {}, { mobile: mobileApp }); return /*#__PURE__*/React.createElement(ThemeProvider$1, { theme: mergedTheme }, /*#__PURE__*/React.createElement(Base, props)); }; ThemeProvider.defaultProps = { defaultTheme: theme }; var useTheme = function useTheme() { var theme = useContext(ThemeContext); if (theme === undefined) { throw new Error("useTheme must be used within a ThemeProvider"); } return theme; }; ThemeProvider.__docgenInfo = { "description": "", "methods": [], "displayName": "ThemeProvider", "props": { "theme": { "defaultValue": { "value": "{}", "computed": false }, "required": false }, "mobileApp": { "defaultValue": { "value": "false", "computed": false }, "required": false }, "defaultTheme": { "defaultValue": { "value": "defaultTheme", "computed": true }, "required": false } } }; export { Base, ThemeProvider as default, useTheme };