ndla-ui
Version:
UI component library for NDLA.
70 lines (60 loc) • 1.64 kB
JavaScript
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;