UNPKG

@blend-ui/core

Version:

Blend core cmponents

156 lines (127 loc) 5.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styledSystem = require("styled-system"); var _propTypes2 = _interopRequireDefault(require("@styled-system/prop-types")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var customPropsList = { bold: "fontWeight", italic: "fontStyle" }; var customProps = function customProps(props) { //console.log("PROPS CUSTOM ", props); var propsList = []; Object.keys(props).forEach(function (p) { if (Object.keys(customPropsList).indexOf(p) > -1) { var cssProp = {}; if (p === "bold") { cssProp[customPropsList[p]] = props.theme.fontWeights["bold"]; } else { cssProp[customPropsList[p]] = p; } propsList.push(cssProp); } }); return propsList; }; /* //https://styled-system.com/how-it-works const TextElement = styled.div` ${textStyle} ${typography} ${space} ${color} ${customProps} color: ${props => (props.color ? props.color : "currentColor")}; font-family: ${props => (props.fontFamily ? props.fontFamily : "body")}; `; */ /* //https://styled-components.com/releases const TextElement = styled("div").withConfig({ shouldForwardProp: (prop, defaultValidatorFn) => !["color", "fontFamily"].includes(prop), })` ${textStyle} ${typography} ${space} ${color} ${customProps} `; */ var color = function color(props) { console.log("color PROPS ", props); return { color: props.color ? props.color : props.theme.colors["textPrimary"] }; }; var textStyles = function textStyles(props) { return props.textStyle ? props.theme.textStyles[props.textStyle] : null; }; var colorStyles = function colorStyles(props) { return props.colorStyle ? props.theme.colorStyles[props.colorStyle] : null; }; // https://styled-system.com/guides/build-a-box var TextElement = _styledComponents["default"].div.withConfig({ displayName: "Text__TextElement", componentId: "z9dcxz-0" })(_styledSystem.typography, _styledSystem.space, color, customProps, textStyles, colorStyles); var Text = function Text(_ref) { var as = _ref.as, props = _objectWithoutProperties(_ref, ["as"]); console.log("PROPS ", props); //const {colors} = useTheme(); //console.log(colors); /* color: themeGet("palette.primary.main")(props), */ return /*#__PURE__*/_react["default"].createElement(TextElement, _extends({ as: as }, props)); }; Text.displayName = "Text"; Text.defaultProps = { as: "div" }; Text.propTypes = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, _propTypes2["default"].space), _propTypes2["default"].typography), _propTypes2["default"].color), {}, { bold: _propTypes["default"].bool, italic: _propTypes["default"].bool }); Text.__docgenInfo = { "description": "", "methods": [], "displayName": "Text", "props": { "as": { "defaultValue": { "value": "\"div\"", "computed": false }, "required": false }, "bold": { "type": { "name": "bool" }, "required": false, "description": "" }, "italic": { "type": { "name": "bool" }, "required": false, "description": "" } }, "composes": ["@styled-system/prop-types"] }; var _default = Text; exports["default"] = _default;