@@ -13,6 +13,7 @@ interface InferEventTarget<Events> {
13
13
14
14
export type WindowEventName = keyof WindowEventMap
15
15
export type DocumentEventName = keyof DocumentEventMap
16
+ export type ShadowRootEventName = keyof ShadowRootEventMap
16
17
17
18
export interface GeneralEventListener < E = Event > {
18
19
( evt : E ) : void
@@ -65,7 +66,7 @@ export function useEventListener<E extends keyof WindowEventMap>(
65
66
* @param options
66
67
*/
67
68
export function useEventListener < E extends keyof DocumentEventMap > (
68
- target : DocumentOrShadowRoot ,
69
+ target : Document ,
69
70
event : MaybeRefOrGetter < Arrayable < E > > ,
70
71
listener : MaybeRef < Arrayable < ( this : Document , ev : DocumentEventMap [ E ] ) => any > > ,
71
72
options ?: MaybeRefOrGetter < boolean | AddEventListenerOptions >
@@ -74,7 +75,25 @@ export function useEventListener<E extends keyof DocumentEventMap>(
74
75
/**
75
76
* Register using addEventListener on mounted, and removeEventListener automatically on unmounted.
76
77
*
77
- * Overload 4: Explicitly HTMLElement target
78
+ * Overload 4: Explicitly ShadowRoot target
79
+ *
80
+ * @see https://vueuse.org/useEventListener
81
+ * @param target
82
+ * @param event
83
+ * @param listener
84
+ * @param options
85
+ */
86
+ export function useEventListener < E extends keyof ShadowRootEventMap > (
87
+ target : MaybeRefOrGetter < Arrayable < ShadowRoot > | null | undefined > ,
88
+ event : MaybeRefOrGetter < Arrayable < E > > ,
89
+ listener : MaybeRef < Arrayable < ( this : ShadowRoot , ev : ShadowRootEventMap [ E ] ) => any > > ,
90
+ options ?: MaybeRefOrGetter < boolean | AddEventListenerOptions >
91
+ ) : Fn
92
+
93
+ /**
94
+ * Register using addEventListener on mounted, and removeEventListener automatically on unmounted.
95
+ *
96
+ * Overload 5: Explicitly HTMLElement target
78
97
*
79
98
* @see https://vueuse.org/useEventListener
80
99
* @param target
@@ -87,12 +106,12 @@ export function useEventListener<E extends keyof HTMLElementEventMap>(
87
106
event : MaybeRefOrGetter < Arrayable < E > > ,
88
107
listener : MaybeRef < ( this : HTMLElement , ev : HTMLElementEventMap [ E ] ) => any > ,
89
108
options ?: MaybeRefOrGetter < boolean | AddEventListenerOptions >
90
- ) : ( ) => void
109
+ ) : Fn
91
110
92
111
/**
93
112
* Register using addEventListener on mounted, and removeEventListener automatically on unmounted.
94
113
*
95
- * Overload 5 : Custom event target with event type infer
114
+ * Overload 6 : Custom event target with event type infer
96
115
*
97
116
* @see https://vueuse.org/useEventListener
98
117
* @param target
@@ -110,7 +129,7 @@ export function useEventListener<Names extends string, EventType = Event>(
110
129
/**
111
130
* Register using addEventListener on mounted, and removeEventListener automatically on unmounted.
112
131
*
113
- * Overload 6 : Custom event target fallback
132
+ * Overload 7 : Custom event target fallback
114
133
*
115
134
* @see https://vueuse.org/useEventListener
116
135
* @param target
0 commit comments