@@ -137,30 +137,30 @@ export const AccordionItem: React.FC<{
137
137
138
138
// label is used to distinguish between each accordion element.
139
139
// Adding the label prop to the children of accordionItem along with other props.
140
- const accordionItemChildren = childrenArray .map (child => {
140
+ const accordionItemChildren = childrenArray .map (( child ) => {
141
141
if (React .isValidElement (child )) {
142
142
return React .cloneElement (child , {
143
143
... child .props ,
144
- label ,
145
- })
144
+ __cb__internal__accordion_label: label
145
+ });
146
146
}
147
- return null
148
- })
147
+ return null ;
148
+ });
149
149
return <div className = { className } >{ accordionItemChildren } </div >
150
150
}
151
151
```
152
152
153
153
``` tsx
154
154
// AccordionButton component
155
155
export const AccordionButton: React .FC <{
156
- children: ReactNode
157
- label ? : string
158
- className? : string
159
- }> = ({ label , children , className }) => {
160
- const { changeSelectedItem } = useAccordionContext ()
156
+ children: ReactNode ;
157
+ __cb__internal__accordion_label ? : string ;
158
+ className? : string ;
159
+ }> = ({ __cb__internal__accordion_label : label , children , className }) => {
160
+ const { changeSelectedItem } = useAccordionContext ();
161
161
const accordionButtonClickHandler = useCallback (() => {
162
- changeSelectedItem (label || " " )
163
- }, [changeSelectedItem , label ])
162
+ changeSelectedItem (label || " " );
163
+ }, [changeSelectedItem , label ]);
164
164
165
165
return (
166
166
<div
@@ -169,26 +169,27 @@ export const AccordionButton: React.FC<{
169
169
>
170
170
{ children }
171
171
</div >
172
- )
173
- }
172
+ );
173
+ };
174
174
```
175
175
176
176
``` tsx
177
177
// AccordionPanel component
178
178
export const AccordionPanel: React .FC <{
179
- children: ReactNode
180
- label? : string
181
- className? : string
182
- }> = ({ children , label , className }) => {
183
- const { activeItem } = useAccordionContext ()
179
+ children: ReactNode ;
180
+ __cb__internal__accordion_label? : string ;
181
+ className? : string ;
182
+ }> = ({ children , __cb__internal__accordion_label : label , className }) => {
183
+ const { activeItem } = useAccordionContext ();
184
+
184
185
const panelStyles = [
185
186
" accordion-panel" ,
186
187
label === activeItem ? " show-item" : " hide-item" ,
187
- className ,
188
- ].join (" " )
188
+ className
189
+ ].join (" " );
189
190
190
- return <div className = { panelStyles } >{ children } </div >
191
- }
191
+ return <div className = { panelStyles } >{ children } </div >;
192
+ };
192
193
```
193
194
194
195
We have done with creating all other components. Let's see what we have done.
0 commit comments