@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
65 lines (53 loc) • 2.28 kB
JavaScript
"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;