11import classNames from 'classnames' ;
22
33import styles from './SequenceVisualizer.module.css' ;
4- import type { SequenceChild } from '../../../../src/types' ;
4+ import type { DeepPartial , SequenceChild } from '../../../../src/types' ;
55
66type SequenceVisualizerProps < T > = {
7- data : T ;
8- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
7+ data : DeepPartial < T > ;
98 currentPage : SequenceChild < T , any , any > ;
10- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
119 pages : SequenceChild < T , any , any > [ ] ;
12- idPrefix ?: string ;
1310 goToPage : ( page : string ) => void ;
1411} ;
1512
@@ -18,7 +15,6 @@ export function SequenceVisualizer<T>({
1815 currentPage,
1916 pages,
2017 goToPage,
21- idPrefix = '' ,
2218} : SequenceVisualizerProps < T > ) {
2319 return (
2420 < div className = { styles . visualizer } >
@@ -28,13 +24,14 @@ export function SequenceVisualizer<T>({
2824 isRequired && 'isComplete' in page && page . isComplete ( data ) ;
2925 const isForm = 'Component' in page ;
3026 const clickHandler = isForm
31- ? ( ) => goToPage ( ` ${ idPrefix } ${ page . id } ` )
27+ ? ( ) => goToPage ( page . id )
3228 : undefined ;
3329 return (
3430 < div
3531 className = { classNames (
3632 styles . page ,
37- `${ idPrefix } ${ page . id } ` === currentPage . id &&
33+ ! ( 'pages' in page ) &&
34+ page . id === currentPage . id &&
3835 styles . currentPage ,
3936 isRequired && isComplete && styles . complete ,
4037 ! isRequired && styles . notNeeded ,
@@ -55,7 +52,6 @@ export function SequenceVisualizer<T>({
5552 data = { data }
5653 currentPage = { currentPage }
5754 pages = { page . pages }
58- idPrefix = { `${ idPrefix } ${ page . id } .` }
5955 goToPage = { goToPage }
6056 />
6157 ) }
0 commit comments