1 | import type { TriggerOptions } from './createDomEvent';
|
2 | import { ComponentInternalInstance, ComponentOptions, ComponentPublicInstance, ComputedOptions, CreateComponentPublicInstance, FunctionalComponent, MethodOptions } from 'vue';
|
3 | import { DomEventNameWithModifier } from './constants/dom-events';
|
4 | import type { VueWrapper } from './vueWrapper';
|
5 | import { DefinedComponent, FindAllComponentsSelector, FindComponentSelector, NameSelector, RefSelector, VueNode } from './types';
|
6 | import WrapperLike from './interfaces/wrapperLike';
|
7 | import type { DOMWrapper } from './domWrapper';
|
8 | export default abstract class BaseWrapper<ElementType extends Node> implements WrapperLike {
|
9 | protected readonly wrapperElement: VueNode<ElementType>;
|
10 | protected abstract getRootNodes(): VueNode[];
|
11 | get element(): VueNode<ElementType>;
|
12 | protected constructor(element: ElementType);
|
13 | protected findAllDOMElements(selector: string): Element[];
|
14 | find<K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper<HTMLElementTagNameMap[K]>;
|
15 | find<K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper<SVGElementTagNameMap[K]>;
|
16 | find<T extends Element = Element>(selector: string): DOMWrapper<T>;
|
17 | find<T extends Node = Node>(selector: string | RefSelector): DOMWrapper<T>;
|
18 | abstract findAll<K extends keyof HTMLElementTagNameMap>(selector: K): DOMWrapper<HTMLElementTagNameMap[K]>[];
|
19 | abstract findAll<K extends keyof SVGElementTagNameMap>(selector: K): DOMWrapper<SVGElementTagNameMap[K]>[];
|
20 | abstract findAll<T extends Element>(selector: string): DOMWrapper<T>[];
|
21 | abstract findAll(selector: string): DOMWrapper<Element>[];
|
22 | findComponent<T extends never>(selector: string): WrapperLike;
|
23 | findComponent<Props, RawBindings = any, D = any, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions>(selector: ComponentOptions<Props, RawBindings, D, C, M>): VueWrapper<CreateComponentPublicInstance<Props, RawBindings, D, C, M>>;
|
24 | findComponent<T extends ComponentOptions>(selector: string): VueWrapper<T extends ComponentOptions<infer Props, infer RawBindings, infer D, infer C, infer M> ? CreateComponentPublicInstance<Props, RawBindings, D, C, M> : VueWrapper<CreateComponentPublicInstance>>;
|
25 | findComponent<T extends DefinedComponent>(selector: T | Exclude<FindComponentSelector, FunctionalComponent>): VueWrapper<InstanceType<T>>;
|
26 | findComponent<T extends FunctionalComponent>(selector: T): DOMWrapper<Node>;
|
27 | findComponent<T extends FunctionalComponent>(selector: string): DOMWrapper<Element>;
|
28 | findComponent<T extends never>(selector: NameSelector | RefSelector): VueWrapper;
|
29 | findComponent<T extends ComponentPublicInstance>(selector: T | FindComponentSelector): VueWrapper<T>;
|
30 | findComponent<T extends never>(selector: FindComponentSelector): WrapperLike;
|
31 | findAllComponents<T extends never>(selector: string): WrapperLike[];
|
32 | findAllComponents<T extends DefinedComponent>(selector: T | Exclude<FindAllComponentsSelector, FunctionalComponent>): VueWrapper<InstanceType<T>>[];
|
33 | findAllComponents<T extends FunctionalComponent>(selector: T): DOMWrapper<Node>[];
|
34 | findAllComponents<T extends FunctionalComponent>(selector: string): DOMWrapper<Element>[];
|
35 | findAllComponents<T extends never>(selector: NameSelector): VueWrapper[];
|
36 | findAllComponents<T extends ComponentPublicInstance>(selector: T | FindAllComponentsSelector): VueWrapper<T>[];
|
37 | findAllComponents<T extends never>(selector: FindAllComponentsSelector): WrapperLike[];
|
38 | abstract setValue(value?: any): Promise<void>;
|
39 | html(options?: {
|
40 | raw?: boolean;
|
41 | }): string;
|
42 | classes(): string[];
|
43 | classes(className: string): boolean;
|
44 | attributes(): {
|
45 | [key: string]: string;
|
46 | };
|
47 | attributes(key: string): string | undefined;
|
48 | text(): string;
|
49 | exists(): boolean;
|
50 | get<K extends keyof HTMLElementTagNameMap>(selector: K): Omit<DOMWrapper<HTMLElementTagNameMap[K]>, 'exists'>;
|
51 | get<K extends keyof SVGElementTagNameMap>(selector: K): Omit<DOMWrapper<SVGElementTagNameMap[K]>, 'exists'>;
|
52 | get<T extends Element = Element>(selector: string): Omit<DOMWrapper<T>, 'exists'>;
|
53 | get<T extends Node = Node>(selector: string | RefSelector): Omit<DOMWrapper<T>, 'exists'>;
|
54 | getComponent<T extends never>(selector: string): Omit<WrapperLike, 'exists'>;
|
55 | getComponent<T extends DefinedComponent>(selector: T | Exclude<FindComponentSelector, FunctionalComponent>): Omit<VueWrapper<InstanceType<T>>, 'exists'>;
|
56 | getComponent<T extends FunctionalComponent>(selector: T | string): Omit<DOMWrapper<Element>, 'exists'>;
|
57 | getComponent<T extends never>(selector: NameSelector | RefSelector): Omit<VueWrapper, 'exists'>;
|
58 | getComponent<T extends ComponentPublicInstance>(selector: T | FindComponentSelector): Omit<VueWrapper<T>, 'exists'>;
|
59 | getComponent<T extends never>(selector: FindComponentSelector): Omit<WrapperLike, 'exists'>;
|
60 | protected isDisabled: () => boolean;
|
61 | isVisible(): boolean;
|
62 | protected abstract getCurrentComponent(): ComponentInternalInstance | void;
|
63 | trigger(eventString: DomEventNameWithModifier, options?: TriggerOptions): Promise<void>;
|
64 | trigger(eventString: string, options?: TriggerOptions): Promise<void>;
|
65 | }
|