@@ -21,31 +21,34 @@ import {
21
21
TabPanel ,
22
22
Tabs ,
23
23
} from "react-aria-components" ;
24
+ import { Spinner } from "../spinner/spinner.component" ;
24
25
25
26
type CardTabsProps = {
26
27
resizeId : string ;
27
28
languageCode : string ;
28
29
title : string | null ;
29
30
cards : CardComponentProps [ ] ;
30
31
activeTabId : string ;
32
+ isLoading ?: boolean ;
31
33
handleActiveCardChange : ( tabId : string ) => void ;
32
34
} ;
33
35
34
36
const CardTabs : React . FC < CardTabsProps > = ( {
35
37
resizeId,
36
38
title,
37
39
cards,
40
+ isLoading,
38
41
activeTabId,
39
42
handleActiveCardChange,
40
43
} ) => {
41
44
const tabsId = useId ( ) ;
42
45
43
46
const outputModalState$ = useDebuggerStore (
44
- ( state ) => state . outputModalState$ ,
47
+ ( state ) => state . outputModalState$
45
48
) ;
46
49
const outputModalId$ = useDebuggerStore ( ( state ) => state . outputModalId$ ) ;
47
50
const closeOutputModal$ = useDebuggerStore (
48
- ( state ) => state . closeOutputModal$ ,
51
+ ( state ) => state . closeOutputModal$
49
52
) ;
50
53
51
54
const activeCard = cards . filter ( ( card ) => card . id === activeTabId ) [ 0 ] ;
@@ -166,9 +169,12 @@ const CardTabs: React.FC<CardTabsProps> = ({
166
169
className = { styles . cardTabs__container }
167
170
>
168
171
{ title && (
169
- < h4 id = { tabsId } className = { styles . cardTabs__title } >
170
- { title }
171
- </ h4 >
172
+ < div className = { styles . cardTabs__title__container } >
173
+ < h4 id = { tabsId } className = { styles . cardTabs__title } >
174
+ { title }
175
+ </ h4 >
176
+ { isLoading && < Spinner /> }
177
+ </ div >
172
178
) }
173
179
< Tabs
174
180
selectedKey = { activeCard . id }
@@ -269,6 +275,7 @@ type CardTabsWithTabPersistenceComponentProps = {
269
275
languageCode : string ;
270
276
title : string | null ;
271
277
cards : CardComponentProps [ ] ;
278
+ isLoading ?: boolean ;
272
279
handleTabChange : ( key : string ) => void ;
273
280
} ;
274
281
@@ -281,6 +288,7 @@ export const CardTabsWithTabPersistenceComponentProps: React.FC<
281
288
languageCode,
282
289
title,
283
290
cards,
291
+ isLoading,
284
292
handleTabChange,
285
293
} ) => {
286
294
const [ activeTabId , setActiveTabId ] = useState < string > ( initialTabId ) ;
@@ -309,6 +317,7 @@ export const CardTabsWithTabPersistenceComponentProps: React.FC<
309
317
languageCode = { languageCode }
310
318
title = { title }
311
319
cards = { cards }
320
+ isLoading = { isLoading }
312
321
activeTabId = { activeTabId }
313
322
handleActiveCardChange = { handleActiveCardChange }
314
323
/>
0 commit comments