6
6
Node ,
7
7
NSComponentsMap ,
8
8
NSCustomComponentsMap ,
9
+ PseudoElementsMap
9
10
} from "dominative" ;
10
11
import { JSX as SolidJSX } from "solid-js" ;
11
12
@@ -28,7 +29,7 @@ import { JSX as SolidJSX } from "solid-js";
28
29
* Read more about the render function here:
29
30
* @link https://www.solidjs.com/docs/latest#render
30
31
*/
31
- export function render ( app : ( ) => JSX . Element , root : Node ) :void ;
32
+ export function render ( app : ( ) => JSX . Element , root : Node ) : void ;
32
33
33
34
export type Filter <
34
35
Set ,
@@ -39,6 +40,10 @@ export type MapNativeViewEvents<T, C> = {
39
40
[ K in T as `on:${K } `] : ( event : DOMEvent < C > ) => void ;
40
41
} ;
41
42
43
+ export type MapPseudoElementEvents < T , C > = {
44
+ [ K in T as `on:${K } `] : ( event : any ) => void ;
45
+ } ;
46
+
42
47
type NSComponentEventsMap = {
43
48
[ K in keyof NSComponentsMap ] : MapNativeViewEvents <
44
49
HTMLElementTagNameMap [ K ] [ "eventNames" ] ,
@@ -49,6 +54,13 @@ type NSComponentEventsMap = {
49
54
NSCustomComponentsMap [ K ] [ "eventNames" ] ,
50
55
NSCustomComponentsMap [ K ]
51
56
> ;
57
+ } & {
58
+ [ K in keyof Pick < PseudoElementsMap , "ItemTemplate" > ] : MapPseudoElementEvents <
59
+ "createView" | "itemLoading" ,
60
+ PseudoElementsMap [ K ]
61
+ > ;
62
+ } & {
63
+ [ K in keyof Omit < PseudoElementsMap , "ItemTemplate" > ] : { } ;
52
64
} ;
53
65
54
66
export type IgnoredKeys =
@@ -196,7 +208,7 @@ declare global {
196
208
interface CustomCaptureEvents { }
197
209
198
210
type JSXElementAttributes < K > = SolidJSX . CustomAttributes <
199
- NSComponentsMap [ K ]
211
+ NSComponentsMap [ K ]
200
212
> &
201
213
Partial <
202
214
DefineNSComponent < HTMLElementTagNameMap [ K ] , NSComponentEventsMap [ K ] > &
0 commit comments