CustomTabContent.jsx 851 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import {
  4. TabContent, TabPane,
  5. } from 'reactstrap';
  6. const CustomTabContent = (props) => {
  7. const { activeTab, navTabMapping, additionalClassNames } = props;
  8. return (
  9. <TabContent activeTab={activeTab} className={additionalClassNames.join(' ')}>
  10. {Object.entries(navTabMapping).map(([key, value]) => {
  11. const { Content } = value;
  12. return (
  13. <TabPane key={key} tabId={key}>
  14. <Content />
  15. </TabPane>
  16. );
  17. })}
  18. </TabContent>
  19. );
  20. };
  21. CustomTabContent.propTypes = {
  22. activeTab: PropTypes.string.isRequired,
  23. navTabMapping: PropTypes.object.isRequired,
  24. additionalClassNames: PropTypes.arrayOf(PropTypes.string),
  25. };
  26. CustomTabContent.defaultProps = {
  27. additionalClassNames: [],
  28. };
  29. export default CustomTabContent;