Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf76c46c

Browse files
committed
feat(CAccordion): allow defining custom class names and overriding existing ones
1 parent3bef184 commitf76c46c

File tree

5 files changed

+23
-14
lines changed

5 files changed

+23
-14
lines changed

‎packages/coreui-react/src/components/accordion/CAccordion.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,16 @@ export const CAccordion = forwardRef<HTMLDivElement, CAccordionProps>(
8989
)=>{
9090
const[_activeItemKey,setActiveKey]=useState(activeItemKey)
9191

92-
const_classNames=mergeClassNames<typeofACCORDION_CLASS_NAMES>(
92+
constmergedClassNames=mergeClassNames<typeofACCORDION_CLASS_NAMES>(
9393
ACCORDION_CLASS_NAMES,
9494
customClassNames,
9595
)
9696

9797
return(
9898
<div
9999
className={classNames(
100-
_classNames.ACCORDION,
101-
{[_classNames.ACCORDION_FLUSH]:flush},
100+
mergedClassNames.ACCORDION,
101+
{[mergedClassNames.ACCORDION_FLUSH]:flush},
102102
className,
103103
)}
104104
{...rest}

‎packages/coreui-react/src/components/accordion/CAccordionBody.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ export const CAccordionBody = forwardRef<HTMLDivElement, CAccordionBodyProps>(
5151
({ children, className, customClassNames, ...rest},ref)=>{
5252
const{ id, visible}=useContext(CAccordionItemContext)
5353

54-
const_classNames=mergeClassNames<typeofACCORDION_BODY_CLASS_NAMES>(
54+
constmergedClassNames=mergeClassNames<typeofACCORDION_BODY_CLASS_NAMES>(
5555
ACCORDION_BODY_CLASS_NAMES,
5656
customClassNames,
5757
)
5858

5959
return(
60-
<CCollapseid={id}className={_classNames.ACCORDION_COLLAPSE}visible={visible}>
61-
<divclassName={classNames(_classNames.ACCORDION_BODY,className)}{...rest}ref={ref}>
60+
<CCollapseid={id}className={mergedClassNames.ACCORDION_COLLAPSE}visible={visible}>
61+
<divclassName={classNames(mergedClassNames.ACCORDION_BODY,className)}{...rest}ref={ref}>
6262
{children}
6363
</div>
6464
</CCollapse>

‎packages/coreui-react/src/components/accordion/CAccordionButton.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,17 @@ export const CLASS_NAMES = {
3636
exportconstCAccordionButton=forwardRef<HTMLButtonElement,CAccordionButtonProps>(
3737
({ children, className, customClassNames, ...rest},ref)=>{
3838
const{ id, visible, setVisible}=useContext(CAccordionItemContext)
39-
const_classNames=mergeClassNames<typeofCLASS_NAMES>(CLASS_NAMES,customClassNames)
39+
40+
constmergedClassNames=mergeClassNames<typeofCLASS_NAMES>(CLASS_NAMES,customClassNames)
4041

4142
return(
4243
<button
4344
type="button"
44-
className={classNames(_classNames.ACCORDION_BUTTON,{collapsed:!visible},className)}
45+
className={classNames(
46+
mergedClassNames.ACCORDION_BUTTON,
47+
{collapsed:!visible},
48+
className,
49+
)}
4550
aria-controls={id}
4651
aria-expanded={visible}
4752
onClick={()=>setVisible(!visible)}

‎packages/coreui-react/src/components/accordion/CAccordionHeader.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,15 @@ export const ACCORDION_HEADER_CLASS_NAMES = {
4343

4444
exportconstCAccordionHeader=forwardRef<HTMLDivElement,CAccordionHeaderProps>(
4545
({ children, className, customClassNames, ...rest},ref)=>{
46-
const_classNames=mergeClassNames<typeofACCORDION_HEADER_CLASS_NAMES>(
46+
constmergedClassNames=mergeClassNames<typeofACCORDION_HEADER_CLASS_NAMES>(
4747
ACCORDION_HEADER_CLASS_NAMES,
4848
customClassNames,
4949
)
5050
return(
51-
<divclassName={classNames(_classNames.ACCORDION_HEADER,className)}{...rest}ref={ref}>
52-
<CAccordionButtonclassName={_classNames.ACCORDION_HEADER}>{children}</CAccordionButton>
51+
<divclassName={classNames(mergedClassNames.ACCORDION_HEADER,className)}{...rest}ref={ref}>
52+
<CAccordionButtonclassName={mergedClassNames.ACCORDION_HEADER}>
53+
{children}
54+
</CAccordionButton>
5355
</div>
5456
)
5557
},

‎packages/coreui-react/src/components/accordion/CAccordionItem.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,21 +65,23 @@ export const CAccordionItem = forwardRef<HTMLDivElement, CAccordionItemProps>(
6565
const{ _activeItemKey, alwaysOpen, setActiveKey}=useContext(CAccordionContext)
6666
const[visible,setVisible]=useState(Boolean(_activeItemKey===_itemKey.current))
6767

68-
const_classNames=mergeClassNames<typeofACCORDION_ITEM_CLASS_NAMES>(
68+
constmergedClassNames=mergeClassNames<typeofACCORDION_ITEM_CLASS_NAMES>(
6969
ACCORDION_ITEM_CLASS_NAMES,
7070
customClassNames,
7171
)
7272

7373
useEffect(()=>{
74-
!alwaysOpen&&visible&&setActiveKey(_itemKey.current)
74+
if(!alwaysOpen&&visible){
75+
setActiveKey(_itemKey.current)
76+
}
7577
},[visible])
7678

7779
useEffect(()=>{
7880
setVisible(Boolean(_activeItemKey===_itemKey.current))
7981
},[_activeItemKey])
8082

8183
return(
82-
<divclassName={classNames(_classNames.ACCORDION_ITEM,className)}{...rest}ref={ref}>
84+
<divclassName={classNames(mergedClassNames.ACCORDION_ITEM,className)}{...rest}ref={ref}>
8385
<CAccordionItemContext.Providervalue={{ id, setVisible, visible}}>
8486
{children}
8587
</CAccordionItemContext.Provider>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp