@@ -5,7 +5,21 @@ import type { AccordionItemProps } from './types';
55import MDBCollapse from '../../Collapse/Collapse' ;
66
77const MDBAccordionItem : React . FC < AccordionItemProps > = React . forwardRef < HTMLAllCollection , AccordionItemProps > (
8- ( { className, bodyClassName, headerClassName, collapseId, headerTitle, tag : Tag , children, ...props } , ref ) => {
8+ (
9+ {
10+ className,
11+ bodyClassName,
12+ bodyStyle,
13+ headerClassName,
14+ collapseId,
15+ headerTitle,
16+ headerStyle,
17+ tag : Tag ,
18+ children,
19+ ...props
20+ } ,
21+ ref
22+ ) => {
923 const { activeItem, setActiveItem, alwaysOpen, initialActive } = useContext ( AccordionContext ) ;
1024
1125 const [ openState , setOpenState ] = useState ( initialActive ) ;
@@ -18,23 +32,28 @@ const MDBAccordionItem: React.FC<AccordionItemProps> = React.forwardRef<HTMLAllC
1832 alwaysOpen ? collapseId !== openState && 'collapsed' : collapseId !== activeItem && 'collapsed'
1933 ) ;
2034
21- const toggleAccordion = ( value : string ) => {
35+ const toggleAccordion = ( value : number ) => {
2236 if ( alwaysOpen ) {
23- value !== openState ? setOpenState ( value ) : setOpenState ( '' ) ;
37+ value !== openState ? setOpenState ( value ) : setOpenState ( 0 ) ;
2438 } else {
25- value !== activeItem ? setActiveItem ( value ) : setActiveItem ( '' ) ;
39+ value !== activeItem ? setActiveItem ( value ) : setActiveItem ( 0 ) ;
2640 }
2741 } ;
2842
2943 return (
3044 < Tag className = { classes } ref = { ref } { ...props } >
31- < h2 className = { headerClasses } >
45+ < h2 className = { headerClasses } style = { headerStyle } >
3246 < button onClick = { ( ) => toggleAccordion ( collapseId ) } className = { buttonClasses } type = 'button' >
3347 { headerTitle }
3448 </ button >
3549 </ h2 >
36- < MDBCollapse id = { collapseId } show = { alwaysOpen ? openState : activeItem } >
37- < div className = { bodyClasses } > { children } </ div >
50+ < MDBCollapse
51+ id = { collapseId . toString ( ) }
52+ show = { alwaysOpen ? openState === collapseId : activeItem === collapseId }
53+ >
54+ < div className = { bodyClasses } style = { bodyStyle } >
55+ { children }
56+ </ div >
3857 </ MDBCollapse >
3958 </ Tag >
4059 ) ;
0 commit comments