UNPKG

@massds/mayflower-react

Version:

React versions of Mayflower design system UI components

65 lines (53 loc) 2.28 kB
"use strict"; exports.__esModule = true; exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _index = _interopRequireDefault(require("../Image/index.js")); var _getFallbackComponent = _interopRequireDefault(require("../utilities/getFallbackComponent.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /** * SiteLogo module. * @module @massds/mayflower-react/SiteLogo * @requires module:@massds/mayflower-assets/scss/01-atoms/site-logo * @requires module:@massds/mayflower-assets/scss/01-atoms/image */ var SiteLogo = function SiteLogo(_ref) { var url = _ref.url, image = _ref.image, siteName = _ref.siteName, title = _ref.title, Wrapper = _ref.Wrapper; var RenderedWrapper = (0, _getFallbackComponent["default"])(Wrapper, _react["default"].Fragment); return /*#__PURE__*/_react["default"].createElement(RenderedWrapper, null, /*#__PURE__*/_react["default"].createElement("div", { className: "ma__site-logo" }, /*#__PURE__*/_react["default"].createElement("a", { href: url.domain, title: title }, (image === null || image === void 0 ? void 0 : image.src) && /*#__PURE__*/_react["default"].createElement(_index["default"], image), siteName && /*#__PURE__*/_react["default"].createElement("span", null, siteName)))); }; SiteLogo.propTypes = process.env.NODE_ENV !== "production" ? { /** The URL for the site */ url: _propTypes["default"].shape({ /** The URL for the site root */ domain: _propTypes["default"].string.isRequired }), /** The site logo image to display. */ image: _propTypes["default"].shape(_index["default"].propTypes), /** An optional label to display next to the site logo. */ siteName: _propTypes["default"].string, /** The title attribute for the site logo link. */ title: _propTypes["default"].string, /** An uninstantiated component for rendering a wrapper around the site logo div. */ Wrapper: _propTypes["default"].elementType } : {}; SiteLogo.defaultProps = { image: { alt: '', width: 45, height: 45 } }; var _default = SiteLogo; exports["default"] = _default; module.exports = exports.default;