ndla-ui
Version:
UI component library for NDLA.
114 lines (99 loc) • 2.48 kB
JavaScript
/**
* 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.
*
*/
import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import Modal, { ModalHeader, ModalBody, ModalCloseButton } from 'ndla-modal';
import Button from 'ndla-button';
import { privacyTexts } from './privacyTexts';
export var FooterText = function FooterText(_ref) {
var children = _ref.children;
return React.createElement(
'p',
{ className: 'footer_text' },
children
);
};
FooterText.propTypes = {
children: PropTypes.node.isRequired
};
export var FooterRuler = function FooterRuler() {
return React.createElement('div', { className: 'footer_ruler' });
};
export var FooterEditor = function FooterEditor(_ref2) {
var title = _ref2.title,
name = _ref2.name;
return React.createElement(
'span',
{ className: 'footer_editor' },
title,
' ',
React.createElement(
'strong',
null,
name
)
);
};
var FooterPrivacy = function FooterPrivacy(_ref3) {
var lang = _ref3.lang;
return React.createElement(
Modal,
{
activateButton: React.createElement(
Button,
{ link: true },
privacyTexts[lang].linkLabel
),
size: 'medium' },
function (onClose) {
return React.createElement(
Fragment,
null,
React.createElement(
ModalHeader,
null,
React.createElement(ModalCloseButton, { onClick: onClose, title: 'Lukk' })
),
React.createElement(
ModalBody,
null,
privacyTexts[lang].content
)
);
}
);
};
FooterPrivacy.propTypes = {
lang: PropTypes.string.isRequired
};
FooterEditor.propTypes = {
title: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
};
var Footer = function Footer(_ref4) {
var lang = _ref4.lang,
children = _ref4.children;
return React.createElement(
'footer',
{ className: 'footer' },
children,
React.createElement(FooterPrivacy, { lang: lang })
);
};
Footer.propTypes = {
children: PropTypes.node.isRequired,
lang: PropTypes.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;
export default Footer;