serp-preview
Version:
Show how your website will appear in searchs engine results
138 lines (98 loc) • 4.69 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"));
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;