ndla-ui
Version:
UI component library for NDLA.
92 lines (72 loc) • 2.43 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Logo = exports.logoClasses = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _reactBemHelper = require('react-bem-helper');
var _reactBemHelper2 = _interopRequireDefault(_reactBemHelper);
var _SvgLogo = require('./SvgLogo');
var _SvgLogo2 = _interopRequireDefault(_SvgLogo);
var _SafeLink = require('../common/SafeLink');
var _SafeLink2 = _interopRequireDefault(_SafeLink);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var logoClasses = exports.logoClasses = new _reactBemHelper2.default({
name: 'logo',
prefix: 'c-'
}); /**
* Copyright (c) 2016-present, NDLA.
*
* This source code is licensed under the GPLv3 license found in the
* LICENSE file in the root directory of this source tree.
*
*/
/* eslint-disable max-len */
var Logo = exports.Logo = function Logo(_ref) {
var name = _ref.name,
to = _ref.to,
cssModifier = _ref.cssModifier,
color = _ref.color,
large = _ref.large,
locale = _ref.locale,
label = _ref.label;
var modifiers = { large: large };
if (cssModifier) {
modifiers[cssModifier] = true;
}
var logo = to ? _react2.default.createElement(
_SafeLink2.default,
{ to: to, 'aria-label': label },
_react2.default.createElement(_SvgLogo2.default, { name: name, color: color, locale: locale })
) : _react2.default.createElement(
_react.Fragment,
null,
_react2.default.createElement(_SvgLogo2.default, { name: name, color: color, locale: locale })
);
return _react2.default.createElement(
'h1',
logoClasses('', modifiers),
logo
);
};
Logo.propTypes = {
to: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({
pathname: _propTypes2.default.string.isRequired,
search: _propTypes2.default.string,
hash: _propTypes2.default.string
})]),
label: _propTypes2.default.string.isRequired,
locale: _propTypes2.default.string,
cssModifier: _propTypes2.default.string,
large: _propTypes2.default.bool,
name: _propTypes2.default.bool,
color: _propTypes2.default.string
};
Logo.defaultProps = {
name: true,
large: false
};
exports.default = Logo;