CollapsePanel.js 1022 B

1234567891011121314151617181920212223242526272829303132
  1. "use client";
  2. import * as React from 'react';
  3. import classNames from 'classnames';
  4. import RcCollapse from 'rc-collapse';
  5. import { devUseWarning } from '../_util/warning';
  6. import { ConfigContext } from '../config-provider';
  7. const CollapsePanel = /*#__PURE__*/React.forwardRef((props, ref) => {
  8. if (process.env.NODE_ENV !== 'production') {
  9. const warning = devUseWarning('Collapse.Panel');
  10. warning.deprecated(!('disabled' in props), 'disabled', 'collapsible="disabled"');
  11. }
  12. const {
  13. getPrefixCls
  14. } = React.useContext(ConfigContext);
  15. const {
  16. prefixCls: customizePrefixCls,
  17. className,
  18. showArrow = true
  19. } = props;
  20. const prefixCls = getPrefixCls('collapse', customizePrefixCls);
  21. const collapsePanelClassName = classNames({
  22. [`${prefixCls}-no-arrow`]: !showArrow
  23. }, className);
  24. return /*#__PURE__*/React.createElement(RcCollapse.Panel, Object.assign({
  25. ref: ref
  26. }, props, {
  27. prefixCls: prefixCls,
  28. className: collapsePanelClassName
  29. }));
  30. });
  31. export default CollapsePanel;