PanelContent.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  2. import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
  3. import classnames from 'classnames';
  4. import React from 'react';
  5. var PanelContent = /*#__PURE__*/React.forwardRef(function (props, ref) {
  6. var prefixCls = props.prefixCls,
  7. forceRender = props.forceRender,
  8. className = props.className,
  9. style = props.style,
  10. children = props.children,
  11. isActive = props.isActive,
  12. role = props.role,
  13. customizeClassNames = props.classNames,
  14. styles = props.styles;
  15. var _React$useState = React.useState(isActive || forceRender),
  16. _React$useState2 = _slicedToArray(_React$useState, 2),
  17. rendered = _React$useState2[0],
  18. setRendered = _React$useState2[1];
  19. React.useEffect(function () {
  20. if (forceRender || isActive) {
  21. setRendered(true);
  22. }
  23. }, [forceRender, isActive]);
  24. if (!rendered) {
  25. return null;
  26. }
  27. return /*#__PURE__*/React.createElement("div", {
  28. ref: ref,
  29. className: classnames("".concat(prefixCls, "-content"), _defineProperty(_defineProperty({}, "".concat(prefixCls, "-content-active"), isActive), "".concat(prefixCls, "-content-inactive"), !isActive), className),
  30. style: style,
  31. role: role
  32. }, /*#__PURE__*/React.createElement("div", {
  33. className: classnames("".concat(prefixCls, "-content-box"), customizeClassNames === null || customizeClassNames === void 0 ? void 0 : customizeClassNames.body),
  34. style: styles === null || styles === void 0 ? void 0 : styles.body
  35. }, children));
  36. });
  37. PanelContent.displayName = 'PanelContent';
  38. export default PanelContent;