1 | import { Stream } from 'xstream';
|
2 | import { IsolateModule } from './IsolateModule';
|
3 | import { EventsFnOptions } from './DOMSource';
|
4 | import { Scope } from './isolate';
|
5 | export interface CycleDOMEvent extends Event {
|
6 | propagationHasBeenStopped: boolean;
|
7 | ownerTarget: Element;
|
8 | }
|
9 | export declare const eventTypesThatDontBubble: string[];
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | export declare class EventDelegator {
|
20 | private rootElement$;
|
21 | isolateModule: IsolateModule;
|
22 | private virtualListeners;
|
23 | private origin;
|
24 | private domListeners;
|
25 | private nonBubblingListeners;
|
26 | private domListenersToAdd;
|
27 | private nonBubblingListenersToAdd;
|
28 | private virtualNonBubblingListener;
|
29 | constructor(rootElement$: Stream<Element>, isolateModule: IsolateModule);
|
30 | addEventListener(eventType: string, namespace: Array<Scope>, options: EventsFnOptions, bubbles?: boolean): Stream<Event>;
|
31 | removeElement(element: Element, namespace?: Array<Scope>): void;
|
32 | private insertListener;
|
33 | /**
|
34 | * Returns a set of all virtual listeners in the scope of the namespace
|
35 | * Set `exact` to true to treat sibiling isolated scopes as total scopes
|
36 | */
|
37 | private getVirtualListeners;
|
38 | private setupDOMListener;
|
39 | private setupNonBubblingListener;
|
40 | private resetEventListeners;
|
41 | private putNonBubblingListener;
|
42 | private onEvent;
|
43 | private bubble;
|
44 | private doBubbleStep;
|
45 | private patchEvent;
|
46 | private mutateEventCurrentTarget;
|
47 | }
|