Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

TabContent.js 1.9 KiB

il y a 3 ans
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
  3. import React, { Component } from 'react';
  4. import { polyfill } from 'react-lifecycles-compat';
  5. import PropTypes from 'prop-types';
  6. import classNames from 'classnames';
  7. import { mapToCssModules, omit, tagPropType } from './utils';
  8. var propTypes = {
  9. tag: tagPropType,
  10. activeTab: PropTypes.any,
  11. className: PropTypes.string,
  12. cssModule: PropTypes.object
  13. };
  14. var defaultProps = {
  15. tag: 'div'
  16. };
  17. var childContextTypes = {
  18. activeTabId: PropTypes.any
  19. };
  20. var TabContent =
  21. /*#__PURE__*/
  22. function (_Component) {
  23. _inheritsLoose(TabContent, _Component);
  24. TabContent.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {
  25. if (prevState.activeTab !== nextProps.activeTab) {
  26. return {
  27. activeTab: nextProps.activeTab
  28. };
  29. }
  30. return null;
  31. };
  32. function TabContent(props) {
  33. var _this;
  34. _this = _Component.call(this, props) || this;
  35. _this.state = {
  36. activeTab: _this.props.activeTab
  37. };
  38. return _this;
  39. }
  40. var _proto = TabContent.prototype;
  41. _proto.getChildContext = function getChildContext() {
  42. return {
  43. activeTabId: this.state.activeTab
  44. };
  45. };
  46. _proto.render = function render() {
  47. var _this$props = this.props,
  48. className = _this$props.className,
  49. cssModule = _this$props.cssModule,
  50. Tag = _this$props.tag;
  51. var attributes = omit(this.props, Object.keys(propTypes));
  52. var classes = mapToCssModules(classNames('tab-content', className), cssModule);
  53. return React.createElement(Tag, _extends({}, attributes, {
  54. className: classes
  55. }));
  56. };
  57. return TabContent;
  58. }(Component);
  59. polyfill(TabContent);
  60. export default TabContent;
  61. TabContent.propTypes = propTypes;
  62. TabContent.defaultProps = defaultProps;
  63. TabContent.childContextTypes = childContextTypes;