UNPKG

ndla-ui

Version:

UI component library for NDLA.

116 lines (93 loc) 4.73 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.LearningPathBadge = exports.SourceMaterialBadge = exports.ExternalLearningResourcesBadge = exports.SubjectBadge = exports.AssessmentResourcesBadge = exports.TasksAndActivitiesBadge = exports.SubjectMaterialBadge = exports.ContentTypeBadge = 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; }; 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 _contentType = require('ndla-icons/contentType'); var _ContentType = require('../model/ContentType'); var contentTypes = _interopRequireWildcard(_ContentType); var _shapes = require('../shapes'); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var classes = new _reactBemHelper2.default({ name: 'content-type-badge', prefix: 'c-' }); var ContentTypeBadge = exports.ContentTypeBadge = function ContentTypeBadge(_ref) { var type = _ref.type, background = _ref.background, size = _ref.size; var modifiers = [type, size]; if (background) { modifiers.push('background'); } var icon = null; switch (type) { case contentTypes.SUBJECT_MATERIAL: icon = _react2.default.createElement(_contentType.SubjectMaterial, null); break; case contentTypes.TASKS_AND_ACTIVITIES: icon = _react2.default.createElement(_contentType.TasksAndActivities, null); break; case contentTypes.ASSESSMENT_RESOURCES: icon = _react2.default.createElement(_contentType.AssessmentResource, null); break; case contentTypes.SUBJECT: icon = _react2.default.createElement(_contentType.Subject, null); break; case contentTypes.EXTERNAL_LEARNING_RESOURCES: icon = _react2.default.createElement(_contentType.ExternalLearningResource, null); break; case contentTypes.SOURCE_MATERIAL: icon = _react2.default.createElement(_contentType.SharedResource, null); break; case contentTypes.LEARNING_PATH: icon = _react2.default.createElement(_contentType.LearningPath, null); break; default: break; } return _react2.default.createElement( 'div', classes('', modifiers), icon ); }; ContentTypeBadge.propTypes = { size: _propTypes2.default.oneOf(['xx-small', 'x-small', 'small', 'large']), type: _shapes.ContentTypeShape, background: _propTypes2.default.bool }; ContentTypeBadge.defaultProps = { size: 'small' }; var SubjectMaterialBadge = exports.SubjectMaterialBadge = function SubjectMaterialBadge(props) { return _react2.default.createElement(ContentTypeBadge, _extends({}, props, { type: contentTypes.SUBJECT_MATERIAL })); }; var TasksAndActivitiesBadge = exports.TasksAndActivitiesBadge = function TasksAndActivitiesBadge(props) { return _react2.default.createElement(ContentTypeBadge, _extends({}, props, { type: contentTypes.TASKS_AND_ACTIVITIES })); }; var AssessmentResourcesBadge = exports.AssessmentResourcesBadge = function AssessmentResourcesBadge(props) { return _react2.default.createElement(ContentTypeBadge, _extends({}, props, { type: contentTypes.ASSESSMENT_RESOURCES })); }; var SubjectBadge = exports.SubjectBadge = function SubjectBadge(props) { return _react2.default.createElement(ContentTypeBadge, _extends({}, props, { type: contentTypes.SUBJECT })); }; var ExternalLearningResourcesBadge = exports.ExternalLearningResourcesBadge = function ExternalLearningResourcesBadge(props) { return _react2.default.createElement(ContentTypeBadge, _extends({}, props, { type: contentTypes.EXTERNAL_LEARNING_RESOURCES })); }; var SourceMaterialBadge = exports.SourceMaterialBadge = function SourceMaterialBadge(props) { return _react2.default.createElement(ContentTypeBadge, _extends({}, props, { type: contentTypes.SOURCE_MATERIAL })); }; var LearningPathBadge = exports.LearningPathBadge = function LearningPathBadge(props) { return _react2.default.createElement(ContentTypeBadge, _extends({}, props, { type: contentTypes.LEARNING_PATH })); };