UNPKG

ndla-ui

Version:

UI component library for NDLA.

114 lines (99 loc) 2.48 kB
/** * 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;