UNPKG

ndla-ui

Version:

UI component library for NDLA.

69 lines (63 loc) 2.02 kB
/** * 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. * */ import React from 'react'; import PropTypes from 'prop-types'; import BEMHelper from 'react-bem-helper'; import { ResourceShape, ContentTypeShape } from '../shapes'; import ResourceList from './ResourceList'; import ResourcesTitle from '../ResourcesWrapper/ResourcesTitle'; var classes = new BEMHelper({ name: 'resource-group', prefix: 'c-' }); var ResourceGroup = function ResourceGroup(_ref) { var title = _ref.title, icon = _ref.icon, resources = _ref.resources, toggleAdditionalResources = _ref.toggleAdditionalResources, showAdditionalResources = _ref.showAdditionalResources, resourceToLinkProps = _ref.resourceToLinkProps, contentType = _ref.contentType; return React.createElement( 'section', classes('', [contentType, showAdditionalResources ? 'showall' : '']), React.createElement( 'header', classes('header'), React.createElement( ResourcesTitle, null, title ) ), resources.length > 0 ? React.createElement(ResourceList, { title: title, resourceToLinkProps: resourceToLinkProps, onClick: toggleAdditionalResources, showAdditionalResources: showAdditionalResources, icon: icon, resources: resources }) : null ); }; ResourceGroup.propTypes = { title: PropTypes.string.isRequired, icon: PropTypes.node.isRequired, contentType: ContentTypeShape.isRequired, resources: PropTypes.arrayOf(ResourceShape).isRequired, toggleAdditionalResources: PropTypes.func.isRequired, resourceToLinkProps: PropTypes.func.isRequired, hideResourceToggleFilter: PropTypes.bool, empty: PropTypes.bool, showAdditionalResources: PropTypes.bool }; ResourceGroup.defaultProps = { hideResourceToggleFilter: false, showAdditionalResources: false }; export default ResourceGroup;