ndla-ui
Version:
UI component library for NDLA.
131 lines (108 loc) • 3.25 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FooterEditor = exports.FooterRuler = exports.FooterText = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _ndlaModal = require('ndla-modal');
var _ndlaModal2 = _interopRequireDefault(_ndlaModal);
var _ndlaButton = require('ndla-button');
var _ndlaButton2 = _interopRequireDefault(_ndlaButton);
var _privacyTexts = require('./privacyTexts');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var FooterText = exports.FooterText = function FooterText(_ref) {
var children = _ref.children;
return _react2.default.createElement(
'p',
{ className: 'footer_text' },
children
);
}; /**
* 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.
*
*/
FooterText.propTypes = {
children: _propTypes2.default.node.isRequired
};
var FooterRuler = exports.FooterRuler = function FooterRuler() {
return _react2.default.createElement('div', { className: 'footer_ruler' });
};
var FooterEditor = exports.FooterEditor = function FooterEditor(_ref2) {
var title = _ref2.title,
name = _ref2.name;
return _react2.default.createElement(
'span',
{ className: 'footer_editor' },
title,
' ',
_react2.default.createElement(
'strong',
null,
name
)
);
};
var FooterPrivacy = function FooterPrivacy(_ref3) {
var lang = _ref3.lang;
return _react2.default.createElement(
_ndlaModal2.default,
{
activateButton: _react2.default.createElement(
_ndlaButton2.default,
{ link: true },
_privacyTexts.privacyTexts[lang].linkLabel
),
size: 'medium' },
function (onClose) {
return _react2.default.createElement(
_react.Fragment,
null,
_react2.default.createElement(
_ndlaModal.ModalHeader,
null,
_react2.default.createElement(_ndlaModal.ModalCloseButton, { onClick: onClose, title: 'Lukk' })
),
_react2.default.createElement(
_ndlaModal.ModalBody,
null,
_privacyTexts.privacyTexts[lang].content
)
);
}
);
};
FooterPrivacy.propTypes = {
lang: _propTypes2.default.string.isRequired
};
FooterEditor.propTypes = {
title: _propTypes2.default.string.isRequired,
name: _propTypes2.default.string.isRequired
};
var Footer = function Footer(_ref4) {
var lang = _ref4.lang,
children = _ref4.children;
return _react2.default.createElement(
'footer',
{ className: 'footer' },
children,
_react2.default.createElement(FooterPrivacy, { lang: lang })
);
};
Footer.propTypes = {
children: _propTypes2.default.node.isRequired,
lang: _propTypes2.default.oneOf(['nb', 'nn', 'en'])
};
Footer.defaultProps = {
lang: 'nb'
};
// expose the children to top level exports for ease of use
Footer.Text = FooterText;
Footer.Ruler = FooterRuler;
Footer.Editor = FooterEditor;
exports.default = Footer;