UNPKG

ndla-ui

Version:

UI component library for NDLA.

128 lines (109 loc) 5.42 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.FigureLicenseByline = exports.FigureLicenseCta = exports.classLicenses = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /** * Copyright (c) 2018-present, NDLA. * * This source code is licensed under the GPLv3 license found in the * LICENSE file in the root directory of this source tree. * */ // N.B This component is used to render static markup serverside // Any interactivty is added by scripts located in the ndla-article-scripts package 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 _ndlaUtil = require('ndla-util'); var _shapes = require('../shapes'); var _LicenseByline = require('../LicenseByline'); var _LicenseByline2 = _interopRequireDefault(_LicenseByline); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var classLicenses = exports.classLicenses = new _reactBemHelper2.default({ name: 'figure-license', prefix: 'c-' }); var FigureLicenseCta = exports.FigureLicenseCta = function FigureLicenseCta(_ref) { var children = _ref.children, messages = _ref.messages, authors = _ref.authors, origin = _ref.origin, title = _ref.title; return _react2.default.createElement( 'div', classLicenses('cta-wrapper'), _react2.default.createElement( 'ul', classLicenses('list'), title && _react2.default.createElement( 'li', classLicenses('item'), messages.title + ': ' + title ), authors.map(function (author) { return _react2.default.createElement( 'li', _extends({ key: (0, _ndlaUtil.uuid)() }, classLicenses('item')), author.type + ': ' + author.name ); }), origin && _react2.default.createElement( 'li', classLicenses('item'), messages.source, ':', ' ', origin.startsWith('http') ? _react2.default.createElement( 'a', { href: origin, target: '_blank', rel: 'noopener noreferrer' }, origin ) : origin ) ), _react2.default.createElement( 'div', classLicenses('cta-block'), children ) ); }; FigureLicenseCta.propTypes = { children: _propTypes2.default.node, origin: _propTypes2.default.string, authors: _propTypes2.default.arrayOf(_shapes.ContributorShape), messages: _propTypes2.default.shape({ source: _propTypes2.default.string.isRequired, title: _propTypes2.default.string.isRequired }).isRequired, title: _propTypes2.default.string }; var FigureLicenseByline = exports.FigureLicenseByline = function FigureLicenseByline(_ref2) { var messages = _ref2.messages, license = _ref2.license; return [_react2.default.createElement(_LicenseByline2.default, { key: 'byline', withDescription: true, messages: messages, licenseRights: license.rights }), _react2.default.createElement( 'a', _extends({ key: 'link' }, classLicenses('link'), { target: '_blank', rel: 'noopener noreferrer', href: license.url }), license.linkText )]; }; FigureLicenseByline.propTypes = { messages: _propTypes2.default.shape({ modelPremission: _propTypes2.default.string, learnAboutLicenses: _propTypes2.default.string.isRequired }).isRequired, license: _shapes.LicenseShape.isRequired };