UNPKG

serp-preview

Version:

Show how your website will appear in searchs engine results

138 lines (98 loc) 4.69 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")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _templateObject7() { var data = _taggedTemplateLiteral(["\n color: #202124;\n font-size: 12px;\n"]); _templateObject7 = function _templateObject7() { return data; }; return data; } function _templateObject6() { var data = _taggedTemplateLiteral(["\n white-space: nowrap;\n overflow: hidden;\n -o-text-overflow: ellipsis;\n text-overflow: ellipsis;\n"]); _templateObject6 = function _templateObject6() { return data; }; return data; } function _templateObject5() { var data = _taggedTemplateLiteral(["\n width: 14px;\n height: 14px;\n margin-right: 8px;\n"]); _templateObject5 = function _templateObject5() { return data; }; return data; } function _templateObject4() { var data = _taggedTemplateLiteral(["\n height: 19px;\n font-size: 12px;\n margin: 0 0 9px 0;\n cursor: pointer;\n color: #5f6368;\n max-width: 100%;\n padding-bottom: 1px;\n padding-top: 1px;\n display: flex;\n align-items: center;\n"]); _templateObject4 = function _templateObject4() { return data; }; return data; } function _templateObject3() { var data = _taggedTemplateLiteral(["\n font-size: 14px;\n color: #3C4043;\n line-height: 1.58;\n margin-top: 7px;\n"]); _templateObject3 = function _templateObject3() { return data; }; return data; } function _templateObject2() { var data = _taggedTemplateLiteral(["\n font-size: 16px;\n line-height: 20px;\n color: #1967D2;\n height: auto;\n min-height: 1em;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n"]); _templateObject2 = function _templateObject2() { return data; }; return data; } function _templateObject() { var data = _taggedTemplateLiteral(["\n background-color: white;\n line-height: 20px;\n -webkit-box-shadow: rgba(32,33,36,0.28) 0px 1px 6px;\n box-shadow: rgba(32,33,36,0.28) 0px 1px 6px;\n border-radius: 8px;\n max-width: 342px;\n width: auto;\n padding: 12px 16px;\n margin-bottom: 10px;\n color: #202124;\n font-family: arial, sans-serif;\n"]); _templateObject = function _templateObject() { return data; }; return data; } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } var Wrapper = _styledComponents["default"].div(_templateObject()); var Title = _styledComponents["default"].a(_templateObject2()); var Description = _styledComponents["default"].div(_templateObject3()); var Url = _styledComponents["default"].div(_templateObject4()); var Icon = _styledComponents["default"].img(_templateObject5()); var DomainWrapper = _styledComponents["default"].span(_templateObject6()); var DomainText = _styledComponents["default"].span(_templateObject7()); var formatUrl = function formatUrl(url) { return url.replace(/https?:\/\//, '').replace(/\//g, ' › '); }; var GoogleMobilePreview = function GoogleMobilePreview(_ref) { var title = _ref.title, description = _ref.description, url = _ref.url, link = _ref.link; var domain = url ? formatUrl(url) : ''; return /*#__PURE__*/_react["default"].createElement(Wrapper, null, /*#__PURE__*/_react["default"].createElement(Url, null, /*#__PURE__*/_react["default"].createElement(Icon, { src: "https://www.google.com/s2/favicons?domain=".concat(domain) }), /*#__PURE__*/_react["default"].createElement(DomainWrapper, null, /*#__PURE__*/_react["default"].createElement(DomainText, null, domain))), /*#__PURE__*/_react["default"].createElement(Title, { target: "__blank", href: link }, title), /*#__PURE__*/_react["default"].createElement(Description, null, description)); }; GoogleMobilePreview.defaultProps = { description: null, link: '#' }; GoogleMobilePreview.propTypes = { /** Title */ title: _propTypes["default"].string.isRequired, /** Meta Description */ description: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]), /** Url */ url: _propTypes["default"].string.isRequired, /** Link for src */ link: _propTypes["default"].string }; var _default = GoogleMobilePreview; exports["default"] = _default;