@blend-ui/core
Version:
Blend core cmponents
156 lines (127 loc) • 5.79 kB
JavaScript
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;
;