Skip to content
This repository was archived by the owner on Jul 29, 2025. It is now read-only.

Commit 567a253

Browse files
fix: compat
1 parent 9332127 commit 567a253

43 files changed

Lines changed: 41884 additions & 3 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
.idea
22
node_modules
3-
dist
43
coverage
54
docs/.vitepress/cache

.vscode/settings.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"workbench.colorCustomizations": {
3+
"activityBar.activeBackground": "#ff6433",
4+
"activityBar.background": "#ff6433",
5+
"activityBar.foreground": "#15202b",
6+
"activityBar.inactiveForeground": "#15202b99",
7+
"activityBarBadge.background": "#00ff3d",
8+
"activityBarBadge.foreground": "#15202b",
9+
"commandCenter.border": "#e7e7e799",
10+
"sash.hoverBorder": "#ff6433",
11+
"statusBar.background": "#ff3d00",
12+
"statusBar.foreground": "#e7e7e7",
13+
"statusBarItem.hoverBackground": "#ff6433",
14+
"statusBarItem.remoteBackground": "#ff3d00",
15+
"statusBarItem.remoteForeground": "#e7e7e7",
16+
"titleBar.activeBackground": "#ff3d00",
17+
"titleBar.activeForeground": "#e7e7e7",
18+
"titleBar.inactiveBackground": "#ff3d0099",
19+
"titleBar.inactiveForeground": "#e7e7e799"
20+
}
21+
}

dist/baseWrapper.d.ts

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
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+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export declare const RouterLinkStub: import("vue").DefineComponent<{
2+
to: {
3+
type: (ObjectConstructor | StringConstructor)[];
4+
required: true;
5+
};
6+
custom: {
7+
type: BooleanConstructor;
8+
default: boolean;
9+
};
10+
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11+
to: {
12+
type: (ObjectConstructor | StringConstructor)[];
13+
required: true;
14+
};
15+
custom: {
16+
type: BooleanConstructor;
17+
default: boolean;
18+
};
19+
}>>, {
20+
custom: boolean;
21+
}, {}>;

dist/config.d.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { GlobalMountOptions, Stub } from './types';
2+
import { VueWrapper } from './vueWrapper';
3+
import { DOMWrapper } from './domWrapper';
4+
import { CustomCreateStub } from './vnodeTransformers/stubComponentsTransformer';
5+
export interface GlobalConfigOptions {
6+
global: Required<Omit<GlobalMountOptions, 'stubs'>> & {
7+
stubs: Record<string, Stub>;
8+
};
9+
plugins: {
10+
VueWrapper: Pluggable<VueWrapper>;
11+
DOMWrapper: Pluggable<DOMWrapper<Node>>;
12+
createStubs?: CustomCreateStub;
13+
};
14+
/**
15+
* @deprecated use global.
16+
*/
17+
renderStubDefaultSlot?: boolean;
18+
}
19+
interface Plugin<Instance, O> {
20+
handler(instance: Instance): Record<string, any>;
21+
handler(instance: Instance, options: O): Record<string, any>;
22+
options: O;
23+
}
24+
declare class Pluggable<Instance = DOMWrapper<Node>> {
25+
installedPlugins: Plugin<Instance, any>[];
26+
install<O>(handler: (instance: Instance) => Record<string, any>): void;
27+
install<O>(handler: (instance: Instance, options: O) => Record<string, any>, options: O): void;
28+
extend(instance: Instance): void;
29+
/** For testing */
30+
reset(): void;
31+
}
32+
export declare const config: GlobalConfigOptions;
33+
export {};

0 commit comments

Comments
 (0)