forked from youzan/vant
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
32 lines (24 loc) · 849 Bytes
/
types.ts
File metadata and controls
32 lines (24 loc) · 849 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { VNode, CreateElement, RenderContext } from 'vue';
import { InjectOptions, PropsDefinition } from 'vue/types/options';
export type EventHandler = (event: Event) => void;
export type ObjectIndex = Record<string, any>;
export type ScopedSlot<Props = any> = (props?: Props) => VNode[] | VNode | undefined;
export type DefaultSlots = {
default?: ScopedSlot;
};
export type ScopedSlots = DefaultSlots & {
[key: string]: ScopedSlot | undefined;
};
export type ModelOptions = {
prop?: string;
event?: string;
};
export type DefaultProps = ObjectIndex;
export type FunctionComponent<Props = DefaultProps, PropDefs = PropsDefinition<Props>> = {
(h: CreateElement, props: Props, slots: ScopedSlots, context: RenderContext<Props>):
| VNode
| undefined;
props?: PropDefs;
model?: ModelOptions;
inject?: InjectOptions;
};