Skip to content

Commit e3025c4

Browse files
committed
Revert "test: remove <Panel /> because deprecated"
This reverts commit aecd0c9.
1 parent aecd0c9 commit e3025c4

File tree

3 files changed

+302
-411
lines changed

3 files changed

+302
-411
lines changed

src/Collapse.tsx

Lines changed: 8 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import classNames from 'classnames';
22
import useMergedState from 'rc-util/lib/hooks/useMergedState';
3+
import warning from 'rc-util/lib/warning';
34
import React from 'react';
45
import useItems from './hooks/useItems';
56
import type { CollapseProps } from './interface';
@@ -22,6 +23,7 @@ const Collapse = React.forwardRef<HTMLDivElement, CollapseProps>((props, ref) =>
2223
style,
2324
accordion,
2425
className,
26+
children,
2527
collapsible,
2628
openMotion,
2729
expandIcon,
@@ -72,57 +74,6 @@ const Collapse = React.forwardRef<HTMLDivElement, CollapseProps>((props, ref) =>
7274
activeKey,
7375
});
7476

75-
// eslint-disable-next-line @typescript-eslint/no-shadow
76-
const convertItemsToNodes = (items: ItemType[]) =>
77-
items.map((item, index) => {
78-
const {
79-
children,
80-
key: rawKey,
81-
collapsible: rawCollapsible,
82-
onItemClick: rawOnItemClick,
83-
destroyInactivePanel: rawDestroyInactivePanel,
84-
expandIcon: rawExpandIcon = expandIcon,
85-
...restProps
86-
} = item;
87-
88-
// You may be puzzled why you want to convert them all into strings, me too.
89-
// Maybe: https://github.com/react-component/collapse/blob/aac303a8b6ff30e35060b4f8fecde6f4556fcbe2/src/Collapse.tsx#L15
90-
const key = String(rawKey ?? index);
91-
const mergeCollapsible = rawCollapsible ?? collapsible;
92-
const mergeDestroyInactivePanel = rawDestroyInactivePanel ?? destroyInactivePanel;
93-
94-
const handleItemClick = (value: React.Key) => {
95-
if (mergeCollapsible === 'disabled') return;
96-
onClickItem(value);
97-
rawOnItemClick?.(value);
98-
};
99-
100-
let isActive = false;
101-
if (accordion) {
102-
isActive = activeKey[0] === key;
103-
} else {
104-
isActive = activeKey.indexOf(key) > -1;
105-
}
106-
107-
return (
108-
<CollapsePanel
109-
prefixCls={prefixCls}
110-
key={key}
111-
panelKey={key}
112-
isActive={isActive}
113-
accordion={accordion}
114-
openMotion={openMotion}
115-
collapsible={mergeCollapsible}
116-
onItemClick={handleItemClick}
117-
destroyInactivePanel={mergeDestroyInactivePanel}
118-
expandIcon={rawExpandIcon}
119-
{...restProps}
120-
>
121-
{children}
122-
</CollapsePanel>
123-
);
124-
});
125-
12677
// ======================== Render ========================
12778
return (
12879
<div
@@ -136,4 +87,9 @@ const Collapse = React.forwardRef<HTMLDivElement, CollapseProps>((props, ref) =>
13687
);
13788
});
13889

139-
export default Collapse;
90+
export default Object.assign(Collapse, {
91+
/**
92+
* @deprecated use `items` instead, will be removed in `v4.0.0`
93+
*/
94+
Panel: CollapsePanel,
95+
});

src/index.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
1-
export { default } from './Collapse';
1+
import Collapse from './Collapse';
2+
23
export type { CollapsePanelProps, CollapseProps } from './interface';
4+
5+
export default Collapse;
6+
7+
/**
8+
* @deprecated use `items` instead, will be removed in `v4.0.0`
9+
*/
10+
export const { Panel } = Collapse;

0 commit comments

Comments
 (0)