Skip to content

Commit 748ae23

Browse files
authored
refactor: update content to panel (#359)
* feat: add content for Semantic * fix * update
1 parent cc9da67 commit 748ae23

File tree

6 files changed

+39
-45
lines changed

6 files changed

+39
-45
lines changed

assets/index.less

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
background-color: #f3f3f3;
8383
}
8484

85-
&-content {
85+
&-panel {
8686
overflow: hidden;
8787
color: @text-color;
8888
padding: 0 16px;
@@ -99,7 +99,7 @@
9999
}
100100

101101
&-item:last-child {
102-
> .@{prefixCls}-content {
102+
> .@{prefixCls}-panel {
103103
border-radius: 0 0 3px 3px;
104104
}
105105
}

assets/motion.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
transition: height 0.3s, opacity 0.3s;
66
}
77

8-
&-content-hidden {
8+
&-panel-hidden {
99
display: none;
1010
}
1111
}

docs/examples/_util/motionUtil.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const collapseMotion: CSSMotionProps = {
1515
onEnterEnd: skipOpacityTransition,
1616
onLeaveEnd: skipOpacityTransition,
1717
motionDeadline: 500,
18-
leavedClassName: 'rc-collapse-content-hidden',
18+
leavedClassName: 'rc-collapse-panel-hidden',
1919
};
2020

2121
export default collapseMotion;

src/Panel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ const CollapsePanel = React.forwardRef<HTMLDivElement, CollapsePanelProps>((prop
101101
</div>
102102
<CSSMotion
103103
visible={isActive}
104-
leavedClassName={`${prefixCls}-content-hidden`}
104+
leavedClassName={`${prefixCls}-panel-hidden`}
105105
{...openMotion}
106106
forceRender={forceRender}
107107
removeOnLeave={destroyInactivePanel}

src/PanelContent.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ const PanelContent = React.forwardRef<
3434
<div
3535
ref={ref}
3636
className={classnames(
37-
`${prefixCls}-content`,
37+
`${prefixCls}-panel`,
3838
{
39-
[`${prefixCls}-content-active`]: isActive,
40-
[`${prefixCls}-content-inactive`]: !isActive,
39+
[`${prefixCls}-panel-active`]: isActive,
40+
[`${prefixCls}-panel-inactive`]: !isActive,
4141
},
4242
className,
4343
)}

tests/index.spec.tsx

Lines changed: 31 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ describe('collapse', () => {
5252

5353
it('panel works', () => {
5454
expect(collapse.container.querySelectorAll('.rc-collapse-item')).toHaveLength(3);
55-
expect(collapse.container.querySelectorAll('.rc-collapse-content')).toHaveLength(0);
55+
expect(collapse.container.querySelectorAll('.rc-collapse-panel')).toHaveLength(0);
5656
});
5757

5858
it('should render custom arrow icon correctly', () => {
@@ -82,21 +82,21 @@ describe('collapse', () => {
8282
const header = collapse.container.querySelectorAll('.rc-collapse-header')?.[1];
8383
fireEvent.click(header);
8484
jest.runAllTimers();
85-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
85+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
8686
fireEvent.click(header);
8787
jest.runAllTimers();
88-
expect(collapse.container.querySelector('.rc-collapse-content-inactive')?.innerHTML).toBe(
88+
expect(collapse.container.querySelector('.rc-collapse-panel-inactive')?.innerHTML).toBe(
8989
'<div class="rc-collapse-body">second</div>',
9090
);
91-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active').length).toBeFalsy();
91+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active').length).toBeFalsy();
9292
});
9393

9494
it('click should not toggle disabled panel state', () => {
9595
const header = collapse.container.querySelector('.rc-collapse-header');
9696
expect(header).toBeTruthy();
9797
fireEvent.click(header!);
9898
jest.runAllTimers();
99-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active').length).toBeFalsy();
99+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active').length).toBeFalsy();
100100
});
101101

102102
it('should not have role', () => {
@@ -159,12 +159,12 @@ describe('collapse', () => {
159159

160160
const { container } = render(<ControlledCollapse />);
161161

162-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
162+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
163163
const header = container.querySelector('.rc-collapse-header');
164164
expect(header).toBeTruthy();
165165
fireEvent.click(header!);
166166
jest.runAllTimers();
167-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(2);
167+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(2);
168168
expect(onChangeSpy).toBeCalledWith(['2', '1']);
169169
});
170170
});
@@ -235,7 +235,7 @@ describe('collapse', () => {
235235
);
236236

237237
// activeKey number 0, should open one item
238-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
238+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
239239
});
240240

241241
it('click should toggle panel state', () => {
@@ -255,9 +255,9 @@ describe('collapse', () => {
255255

256256
const header = container.querySelectorAll('.rc-collapse-header')?.[1];
257257
fireEvent.click(header);
258-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
258+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
259259
fireEvent.click(header);
260-
expect(container.querySelectorAll('.rc-collapse-content-inactive').length).toBeFalsy();
260+
expect(container.querySelectorAll('.rc-collapse-panel-inactive').length).toBeFalsy();
261261
});
262262

263263
function runAccordionTest(element: React.ReactElement) {
@@ -272,7 +272,7 @@ describe('collapse', () => {
272272
});
273273

274274
it('accordion content, should default open zero item', () => {
275-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(0);
275+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(0);
276276
});
277277

278278
it('accordion item, should default open zero item', () => {
@@ -283,12 +283,12 @@ describe('collapse', () => {
283283
let header = collapse.container.querySelectorAll('.rc-collapse-header')?.[1];
284284
fireEvent.click(header);
285285
jest.runAllTimers();
286-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
286+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
287287
expect(collapse.container.querySelectorAll('.rc-collapse-item-active')).toHaveLength(1);
288288
header = collapse.container.querySelectorAll('.rc-collapse-header')?.[1];
289289
fireEvent.click(header);
290290
jest.runAllTimers();
291-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(0);
291+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(0);
292292
expect(collapse.container.querySelectorAll('.rc-collapse-item-active')).toHaveLength(0);
293293
});
294294

@@ -297,12 +297,12 @@ describe('collapse', () => {
297297
expect(header).toBeTruthy();
298298
fireEvent.click(header!);
299299
jest.runAllTimers();
300-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
300+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
301301
expect(collapse.container.querySelectorAll('.rc-collapse-item-active')).toHaveLength(1);
302302
header = collapse.container.querySelectorAll('.rc-collapse-header')?.[2];
303303
fireEvent.click(header);
304304
jest.runAllTimers();
305-
expect(collapse.container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
305+
expect(collapse.container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
306306
expect(collapse.container.querySelectorAll('.rc-collapse-item-active')).toHaveLength(1);
307307
});
308308

@@ -322,7 +322,7 @@ describe('collapse', () => {
322322
const header = collapse.container.querySelector('.rc-collapse-header');
323323
expect(header).toBeTruthy();
324324
fireEvent.click(header!);
325-
const item = collapse.container.querySelector('.rc-collapse-content');
325+
const item = collapse.container.querySelector('.rc-collapse-panel');
326326
expect(item).toBeTruthy();
327327
expect(item!.getAttribute('role')).toBe('tabpanel');
328328
});
@@ -356,7 +356,7 @@ describe('collapse', () => {
356356
</Panel>
357357
</Collapse>,
358358
);
359-
expect(container.querySelectorAll('.rc-collapse-content')).toHaveLength(0);
359+
expect(container.querySelectorAll('.rc-collapse-panel')).toHaveLength(0);
360360
});
361361

362362
it('when forceRender is FALSE it should lazy render the panel content', () => {
@@ -370,7 +370,7 @@ describe('collapse', () => {
370370
</Panel>
371371
</Collapse>,
372372
);
373-
expect(container.querySelectorAll('.rc-collapse-content')).toHaveLength(0);
373+
expect(container.querySelectorAll('.rc-collapse-panel')).toHaveLength(0);
374374
});
375375

376376
it('when forceRender is TRUE then it should render all the panel content to the DOM', () => {
@@ -387,9 +387,9 @@ describe('collapse', () => {
387387

388388
jest.runAllTimers();
389389

390-
expect(container.querySelectorAll('.rc-collapse-content')).toHaveLength(1);
391-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(0);
392-
const inactiveDom = container.querySelector('div.rc-collapse-content-inactive');
390+
expect(container.querySelectorAll('.rc-collapse-panel')).toHaveLength(1);
391+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(0);
392+
const inactiveDom = container.querySelector('div.rc-collapse-panel-inactive');
393393
expect(inactiveDom).not.toBeFalsy();
394394
expect(getComputedStyle(inactiveDom!)).toHaveProperty('display', 'none');
395395
});
@@ -420,23 +420,21 @@ describe('collapse', () => {
420420

421421
fireEvent.keyDown(container.querySelectorAll('.rc-collapse-header')?.[2], myKeyEvent);
422422
jest.runAllTimers();
423-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(0);
423+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(0);
424424

425425
fireEvent.keyDown(container.querySelector('.rc-collapse-header')!, myKeyEvent);
426426
jest.runAllTimers();
427427

428-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
428+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
429429

430-
expect(container.querySelector('.rc-collapse-content')).toHaveClass(
431-
'rc-collapse-content-active',
432-
);
430+
expect(container.querySelector('.rc-collapse-panel')).toHaveClass('rc-collapse-panel-active');
433431

434432
fireEvent.keyDown(container.querySelector('.rc-collapse-header')!, myKeyEvent);
435433
jest.runAllTimers();
436434

437-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(0);
438-
expect(container.querySelector('.rc-collapse-content')!.className).not.toContain(
439-
'rc-collapse-content-active',
435+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(0);
436+
expect(container.querySelector('.rc-collapse-panel')!.className).not.toContain(
437+
'rc-collapse-panel-active',
440438
);
441439
});
442440

@@ -504,19 +502,15 @@ describe('collapse', () => {
504502
</Collapse>,
505503
);
506504

507-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(1);
508-
expect(container.querySelector('.rc-collapse-content')).toHaveClass(
509-
'rc-collapse-content-active',
510-
);
505+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(1);
506+
expect(container.querySelector('.rc-collapse-panel')).toHaveClass('rc-collapse-panel-active');
511507
expect(container.querySelector('.rc-collapse-header')?.textContent).toBe('collapse 1');
512508
expect(container.querySelector('.rc-collapse-header')?.querySelectorAll('.arrow')).toHaveLength(
513509
1,
514510
);
515511
fireEvent.click(container.querySelector('.rc-collapse-header')!);
516-
expect(container.querySelectorAll('.rc-collapse-content-active')).toHaveLength(0);
517-
expect(container.querySelector('.rc-collapse-content')).toHaveClass(
518-
'rc-collapse-content-inactive',
519-
);
512+
expect(container.querySelectorAll('.rc-collapse-panel-active')).toHaveLength(0);
513+
expect(container.querySelector('.rc-collapse-panel')).toHaveClass('rc-collapse-panel-inactive');
520514
});
521515

522516
describe('prop: collapsible', () => {

0 commit comments

Comments
 (0)