metadata-based-explorer1
Version:
Box UI Elements
36 lines (34 loc) • 1.62 kB
JavaScript
import * as React from 'react';
import { FormattedMessage } from 'react-intl';
import Label from '../../components/label/Label';
import ClassifiedBadge from './ClassifiedBadge';
import messages from './messages';
import './Classification.scss';
var STYLE_INLINE = 'inline';
var STYLE_TOOLTIP = 'tooltip';
var Classification = function Classification(_ref) {
var definition = _ref.definition,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
messageStyle = _ref.messageStyle,
name = _ref.name;
var isClassified = !!name;
var hasMessage = !!definition;
var isTooltipMessageEnabled = isClassified && hasMessage && messageStyle === STYLE_TOOLTIP;
var isInlineMessageEnabled = isClassified && hasMessage && messageStyle === STYLE_INLINE;
var isNotClassifiedMessageVisible = !isClassified && messageStyle === STYLE_INLINE;
return React.createElement("article", {
className: "bdl-Classification ".concat(className)
}, isClassified && React.createElement(ClassifiedBadge, {
name: name,
tooltipText: isTooltipMessageEnabled ? definition : undefined
}), isInlineMessageEnabled && React.createElement(Label, {
text: React.createElement(FormattedMessage, messages.definition)
}, React.createElement("p", {
className: "bdl-Classification-definition"
}, definition)), isNotClassifiedMessageVisible && React.createElement("span", {
className: "bdl-Classification-missingMessage"
}, React.createElement(FormattedMessage, messages.missing)));
};
export { STYLE_INLINE, STYLE_TOOLTIP };
export default Classification;