@blend-ui/core
Version:
Blend core cmponents
105 lines (91 loc) • 2.45 kB
JavaScript
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 };