UNPKG

ndla-ui

Version:

UI component library for NDLA.

131 lines (116 loc) 5.87 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.FigureFullscreenDialog = 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) 2017-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 _Dialog = require('../Dialog'); var _Dialog2 = _interopRequireDefault(_Dialog); var _shapes = require('../shapes'); var _FigureLicense = require('./FigureLicense'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FigureFullscreenDialog = exports.FigureFullscreenDialog = function FigureFullscreenDialog(_ref) { var children = _ref.children, messages = _ref.messages, id = _ref.id, authors = _ref.authors, origin = _ref.origin, title = _ref.title, actionButtons = _ref.actionButtons, license = _ref.license, caption = _ref.caption, reuseLabel = _ref.reuseLabel; var headingLabelId = 'heading-' + id; return _react2.default.createElement( _Dialog2.default, { id: id, labelledby: headingLabelId, messages: messages, modifier: 'fullscreen' }, _react2.default.createElement( 'div', (0, _FigureLicense.classLicenses)('', 'fullscreen'), _react2.default.createElement( 'div', (0, _FigureLicense.classLicenses)('content'), _react2.default.createElement( 'button', _extends({}, (0, _FigureLicense.classLicenses)('image-wrapper'), { type: 'button', 'aria-label': messages.zoomImageButtonLabel }), children ), _react2.default.createElement( 'h1', _extends({ id: headingLabelId }, (0, _FigureLicense.classLicenses)('image-title')), title ), caption, _react2.default.createElement( 'p', null, _react2.default.createElement( 'button', { className: 'c-figure__captionbtn', type: 'button' }, _react2.default.createElement( 'span', null, reuseLabel ) ) ), _react2.default.createElement( 'div', (0, _FigureLicense.classLicenses)('hidden-content'), _react2.default.createElement( 'div', null, _react2.default.createElement(_FigureLicense.FigureLicenseByline, { license: license, messages: messages }) ), _react2.default.createElement( _FigureLicense.FigureLicenseCta, { authors: authors, title: title, origin: origin, messages: messages }, actionButtons ) ) ) ) ); }; FigureFullscreenDialog.propTypes = { id: _propTypes2.default.string.isRequired, children: _propTypes2.default.node, actionButtons: _propTypes2.default.node.isRequired, origin: _propTypes2.default.string, authors: _propTypes2.default.arrayOf(_shapes.ContributorShape), messages: _propTypes2.default.shape({ zoomImageButtonLabel: _propTypes2.default.string.isRequired, modelPremission: _propTypes2.default.string, close: _propTypes2.default.string.isRequired, rulesForUse: _propTypes2.default.string.isRequired, source: _propTypes2.default.string.isRequired, learnAboutLicenses: _propTypes2.default.string.isRequired, title: _propTypes2.default.string.isRequired }).isRequired, title: _propTypes2.default.string.isRequired, caption: _propTypes2.default.string.isRequired, reuseLabel: _propTypes2.default.string, license: _shapes.LicenseShape.isRequired };