UNPKG

ndla-ui

Version:

UI component library for NDLA.

70 lines (60 loc) 1.64 kB
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) 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 BEMHelper from 'react-bem-helper'; var classes = new BEMHelper({ name: 'translation', prefix: 'c-' }); var TranslationLine = function TranslationLine(_ref) { var children = _ref.children, lang = _ref.lang, langName = _ref.langName, isTerm = _ref.isTerm; var hasLang = langName && lang; var content = React.createElement( Fragment, null, React.createElement( 'div', _extends({}, classes('line-body'), { lang: lang }), children ), hasLang && React.createElement( 'div', classes('line-lang'), langName ) ); if (isTerm) { return React.createElement( 'dt', classes('line', hasLang ? 'lang' : ''), content ); } return React.createElement( 'dd', classes('line', hasLang ? 'lang' : ''), content ); }; TranslationLine.propTypes = { isTerm: PropTypes.bool, children: PropTypes.node.isRequired, lang: PropTypes.string, langName: PropTypes.string }; TranslationLine.defaultProps = { isTerm: false, lang: undefined, langName: undefined }; export default TranslationLine;