11import { ReadonlySignal , Signal } from "@preact/signals-core" ;
22import { useSignal } from "@preact/signals" ;
3- import { Fragment , createElement , JSX } from "preact" ;
3+ import { Fragment , createElement , ComponentChildren } from "preact" ;
44import { useMemo } from "preact/hooks" ;
55
66interface ShowProps < T = boolean > {
77 when : Signal < T > | ReadonlySignal < T > | ( ( ) => T ) ;
8- fallback ?: JSX . Element ;
9- children : JSX . Element | ( ( value : NonNullable < T > ) => JSX . Element ) ;
8+ fallback ?: ComponentChildren ;
9+ children : ComponentChildren | ( ( value : NonNullable < T > ) => ComponentChildren ) ;
1010}
1111
1212const Item = ( props : any ) => {
@@ -15,7 +15,7 @@ const Item = (props: any) => {
1515 : props . children ;
1616} ;
1717
18- export function Show < T = boolean > ( props : ShowProps < T > ) : JSX . Element | null {
18+ export function Show < T = boolean > ( props : ShowProps < T > ) : ComponentChildren | null {
1919 const value =
2020 typeof props . when === "function" ? props . when ( ) : props . when . value ;
2121 if ( ! value ) return props . fallback || null ;
@@ -27,11 +27,11 @@ interface ForProps<T> {
2727 | Signal < Array < T > >
2828 | ReadonlySignal < Array < T > >
2929 | ( ( ) => Signal < Array < T > > | ReadonlySignal < Array < T > > ) ;
30- fallback ?: JSX . Element ;
31- children : ( value : T , index : number ) => JSX . Element ;
30+ fallback ?: ComponentChildren ;
31+ children : ( value : T , index : number ) => ComponentChildren ;
3232}
3333
34- export function For < T > ( props : ForProps < T > ) : JSX . Element | null {
34+ export function For < T > ( props : ForProps < T > ) : ComponentChildren | null {
3535 const cache = useMemo ( ( ) => new Map ( ) , [ ] ) ;
3636 let list = (
3737 ( typeof props . each === "function" ? props . each ( ) : props . each ) as Signal <
0 commit comments