1 | import { Vue } from "./vue";
|
2 |
|
3 |
|
4 | export type ScopedSlot = (props: any) => ScopedSlotChildren;
|
5 | export type ScopedSlotChildren = VNode[] | undefined;
|
6 |
|
7 |
|
8 | export type VNodeChildren = VNodeChildrenArrayContents | [ScopedSlot] | string | boolean | null | undefined;
|
9 | export interface VNodeChildrenArrayContents extends Array<VNodeChildren | VNode> {}
|
10 |
|
11 | export interface VNode {
|
12 | tag?: string;
|
13 | data?: VNodeData;
|
14 | children?: VNode[];
|
15 | text?: string;
|
16 | elm?: Node;
|
17 | ns?: string;
|
18 | context?: Vue;
|
19 | key?: string | number;
|
20 | componentOptions?: VNodeComponentOptions;
|
21 | componentInstance?: Vue;
|
22 | parent?: VNode;
|
23 | raw?: boolean;
|
24 | isStatic?: boolean;
|
25 | isRootInsert: boolean;
|
26 | isComment: boolean;
|
27 | }
|
28 |
|
29 | export interface VNodeComponentOptions {
|
30 | Ctor: typeof Vue;
|
31 | propsData?: object;
|
32 | listeners?: object;
|
33 | children?: VNode[];
|
34 | tag?: string;
|
35 | }
|
36 |
|
37 | export interface VNodeData {
|
38 | key?: string | number;
|
39 | slot?: string;
|
40 | scopedSlots?: { [key: string]: ScopedSlot | undefined };
|
41 | ref?: string;
|
42 | refInFor?: boolean;
|
43 | tag?: string;
|
44 | staticClass?: string;
|
45 | class?: any;
|
46 | staticStyle?: { [key: string]: any };
|
47 | style?: object[] | object;
|
48 | props?: { [key: string]: any };
|
49 | attrs?: { [key: string]: any };
|
50 | domProps?: { [key: string]: any };
|
51 | hook?: { [key: string]: Function };
|
52 | on?: { [key: string]: Function | Function[] };
|
53 | nativeOn?: { [key: string]: Function | Function[] };
|
54 | transition?: object;
|
55 | show?: boolean;
|
56 | inlineTemplate?: {
|
57 | render: Function;
|
58 | staticRenderFns: Function[];
|
59 | };
|
60 | directives?: VNodeDirective[];
|
61 | keepAlive?: boolean;
|
62 | }
|
63 |
|
64 | export interface VNodeDirective {
|
65 | name: string;
|
66 | value?: any;
|
67 | oldValue?: any;
|
68 | expression?: any;
|
69 | arg?: string;
|
70 | oldArg?: string;
|
71 | modifiers?: { [key: string]: boolean };
|
72 | }
|