UNPKG

@sergiodxa/ui

Version:
186 lines (157 loc) 6.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require("babel-runtime/helpers/extends"); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require("babel-runtime/helpers/objectWithoutProperties"); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); exports.A = A; exports.P = P; exports.BlockQuote = BlockQuote; exports.Abbr = Abbr; exports.Mark = Mark; var _style = require("styled-jsx/style"); var _style2 = _interopRequireDefault(_style); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _url = require("url"); var _url2 = _interopRequireDefault(_url); var _lodash = require("lodash.memoize"); var _lodash2 = _interopRequireDefault(_lodash); var _palette = require("@sergiodxa/palette"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Parse a URL to get the differnt parts and memoize it for better performance * @function parseUrl * @private * @param {String} url A URL string to parse * @returns {Object} The parsed URL */ /** @module ui/text */ var parseUrl = (0, _lodash2.default)(_url2.default.parse); /** * @function A * @param {Object} props * @param {Object} props.children * @param {String} [props.color=info] * @param {String} [props.decoration="none"] * @param {String} [props.hostname="sergiodxa.com"] * @param {Object} [props.props={}] */ function A(_ref) { var children = _ref.children, _ref$color = _ref.color, color = _ref$color === undefined ? _palette.info : _ref$color, _ref$decoration = _ref.decoration, decoration = _ref$decoration === undefined ? "none" : _ref$decoration, _ref$hostname = _ref.hostname, hostname = _ref$hostname === undefined ? "sergiodxa.com" : _ref$hostname, props = (0, _objectWithoutProperties3.default)(_ref, ["children", "color", "decoration", "hostname"]); var self = props.href.startsWith("/") && !props.href.startsWith("//") || hostname === parseUrl(props.href).hostname; var extraProps = self ? { target: "_self" } : { target: "_blank", rel: "nofollow noopener" }; return _react2.default.createElement( "a", (0, _extends3.default)({}, props, extraProps, { className: _style2.default.dynamic([["3104097709", [color, decoration]]]) + " " + (extraProps.className != null && extraProps.className || props.className != null && props.className || "") }), children, _react2.default.createElement(_style2.default, { styleId: "3104097709", css: "a.__jsx-style-dynamic-selector{color:" + color + ";-webkit-text-decoration:" + decoration + ";text-decoration:" + decoration + ";}", dynamic: [color, decoration] }) ); } /** * @function P * @param {Object} props * @param {Object} props.children * @param {Object} [props.props={}] */ function P(_ref2) { var children = _ref2.children, props = (0, _objectWithoutProperties3.default)(_ref2, ["children"]); return _react2.default.createElement( "p", (0, _extends3.default)({}, props, { className: "jsx-2274863884" + " " + (props.className != null && props.className || "") }), children, _react2.default.createElement(_style2.default, { styleId: "2274863884", css: "p.jsx-2274863884{margin:1em 0;font-size:1.25em;}" }) ); } /** * @function BlockQuote * @param {Object} props * @param {Object} props.children * @param {Object} [props.props={}] */ function BlockQuote(_ref3) { var children = _ref3.children, props = (0, _objectWithoutProperties3.default)(_ref3, ["children"]); return _react2.default.createElement( "blockquote", (0, _extends3.default)({}, props, { className: _style2.default.dynamic([["2176830247", [_palette.primary]]]) + " " + (props.className != null && props.className || "") }), children, _react2.default.createElement(_style2.default, { styleId: "2176830247", css: "blockquote.__jsx-style-dynamic-selector{border-left:3px solid " + _palette.primary + ";box-sizing:border-box;padding-left:calc(2em - 3px);margin-left:-2em;margin-right:0;font-weight:normal;font-style:italic;font-size:1em;}blockquote.__jsx-style-dynamic-selector p{margin:0;}", dynamic: [_palette.primary] }) ); } /** * @function Abbr * @param {Object} props * @param {Object} props.children * @param {Object} [props.props={}] */ function Abbr(_ref4) { var children = _ref4.children, props = (0, _objectWithoutProperties3.default)(_ref4, ["children"]); return _react2.default.createElement( "abbr", (0, _extends3.default)({}, props, { className: _style2.default.dynamic([["2640562860", [_palette.gray]]]) + " " + (props.className != null && props.className || "") }), children, _react2.default.createElement(_style2.default, { styleId: "2640562860", css: "abbr.__jsx-style-dynamic-selector{cursor:help;-webkit-text-decoration-style:dashed;text-decoration-style:dashed;-webkit-text-decoration-color:" + _palette.gray + ";text-decoration-color:" + _palette.gray + ";}", dynamic: [_palette.gray] }) ); } /** * @function Mark * @param {Object} props * @param {String} [props.backColor=pink] * @param {String} [props.textColor=secondary] * @param {Object} [props.props={}] */ function Mark(_ref5) { var children = _ref5.children, _ref5$backColor = _ref5.backColor, backColor = _ref5$backColor === undefined ? _palette.pink : _ref5$backColor, _ref5$textColor = _ref5.textColor, textColor = _ref5$textColor === undefined ? _palette.secondary : _ref5$textColor, props = (0, _objectWithoutProperties3.default)(_ref5, ["children", "backColor", "textColor"]); return _react2.default.createElement( "mark", (0, _extends3.default)({}, props, { className: _style2.default.dynamic([["1631964522", [backColor, textColor]]]) + " " + (props.className != null && props.className || "") }), children, _react2.default.createElement(_style2.default, { styleId: "1631964522", css: "mark.__jsx-style-dynamic-selector{background-color:" + backColor + ";color:" + textColor + ";padding:0.125em 0.2em;}", dynamic: [backColor, textColor] }) ); }