-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
Copy pathcube-ui.d.ts
244 lines (230 loc) · 6.36 KB
/
cube-ui.d.ts
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
import Vue from 'vue'
import { CubeUIComponent } from './component'
import {
// basic
CubeButton,
CubeLoading,
CubeTip,
CubeToolbar,
CubeTabBar,
CubeTabPanels,
CubeCheckbox,
CubeCheckboxGroup,
CubeRadio,
CubeRadioGroup,
CubeChecker,
CubeInput,
CubeTextarea,
CubeSelect,
CubeSwitch,
CubeRate,
CubeValidator,
CubeUpload,
CubeForm,
CubeDrawer,
CubeScroll,
CubeSlide,
CubeIndexList,
CubeSwipe,
CubeSticky,
CubeScrollNavBar,
CubeScrollNav,
CubeRecycleList,
// create-API
IPopup,
IToast,
IPicker,
ICascadePicker,
IDatePicker,
ITimePicker,
ISegmentPicker,
IDialog,
IActionSheet,
IImagePreview,
CreateAPIFn
} from './components'
/**
* CubeUI 组件
* CubeUI component common definition
*/
export type Component = CubeUIComponent
/**
* 版本
*
* The version of cube-ui
*/
export const version: string
/**
* 需通过 `Vue.use(Cube)` 来安装
*
* Call `Vue.use(Cube)` to install
*/
export function install (vue: typeof Vue): void
/**
* BetterScroll, https://github.com/ustbhuangyi/better-scroll
*/
export class BScroll {}
/**
* 可以通过 `createAPI` 创建自己的通过
* API 形式实例化的组件
*
* You use it to create your own API component
* more details: https://didi.github.io/cube-ui/#/en-US/docs/create-api
*/
export function createAPI (vue: typeof Vue, Component: CubeUIComponent, events?: string[], single?: boolean) : object
/** Local Module */
export class Locale {
install (vue: typeof Vue): void
use (lang: string, messages: object): void
}
/** Style Module */
export class Style {}
// basic
/** Button Component */
export class Button extends CubeButton {}
/** Loading Component */
export class Loading extends CubeLoading {
}
/** Tip Component */
export class Tip extends CubeTip {}
/** Toolbar Component */
export class Toolbar extends CubeToolbar {
}
/** TabBar Component */
export class TabBar extends CubeTabBar {
}
/** TabPanels Component */
export class TabPanels extends CubeTabPanels {}
// form
/** Checkbox Component */
export class Checkbox extends CubeCheckbox {
ICheckbox: CubeCheckbox
}
/** Checkbox Group Component */
export class CheckboxGroup extends CubeCheckboxGroup {
ICheckboxGroup: CubeCheckboxGroup
}
/** Checker Component */
export class Checker extends CubeChecker {
IChecker: CubeChecker
}
/** Radio Component */
export class Radio extends CubeRadio {
IRadio: CubeRadio
}
/** Radio Group Component */
export class RadioGroup extends CubeRadioGroup {
IRadioGroup: CubeRadioGroup
}
/** Input Component */
export class Input extends CubeInput {
}
/** Textarea Component */
export class Textarea extends CubeTextarea {}
/** Select Component */
export class Select extends CubeSelect {}
/** Switch Component */
export class Switch extends CubeSwitch {}
/** Rate Component */
export class Rate extends CubeRate {}
/** Validator Component */
export class Validator extends CubeValidator {}
/** Upload Component */
export class Upload extends CubeUpload {}
/** Form Component */
export class Form extends CubeForm {}
/** base CreatApi CubeUIComponent */
export class CreateApiCubeUIComponent extends CubeUIComponent {
show(): any
hide(): any
remove(): any
$updateProps(options: object): any
static $create(options: object): CreateApiCubeUIComponent
}
/** Popup Component */
export class Popup extends CreateApiCubeUIComponent {
static $create(options: IPopup): Popup
}
/** Toast Component */
export class Toast extends CreateApiCubeUIComponent {
static $create(options: IToast): Toast
}
/** Picker Component */
export class Picker extends CreateApiCubeUIComponent {
setData(data: any[], selectedIndex: number[]): any
static $create(options: IPicker): Picker
}
/** Cascade Picker Component */
export class CascadePicker extends CreateApiCubeUIComponent {
setData(data: any[], selectedIndex: number[]): any
static $create(options: ICascadePicker): CascadePicker
}
/** Date Picker Component */
export class DatePicker extends CreateApiCubeUIComponent {
static $create(options: IDatePicker): DatePicker
}
/** Time Picker Component */
export class TimePicker extends CreateApiCubeUIComponent {
setTime(time: string|number): any
static $create(options: ITimePicker): TimePicker
}
/** Segment Picker Component */
export class SegmentPicker extends CreateApiCubeUIComponent {
static $create(options: ISegmentPicker): SegmentPicker
}
/** Dialog Component */
export class Dialog extends CreateApiCubeUIComponent {
static $create(options: IDialog): Dialog
}
/** Action Sheet Component */
export class ActionSheet extends CreateApiCubeUIComponent {
static $create(options: IActionSheet): ActionSheet
}
/** ImagePreview Component */
export class ImagePreview extends CreateApiCubeUIComponent {
static $create(options: IImagePreview): ImagePreview
}
/** Drawer Component */
export class Drawer extends CubeDrawer {}
// scroll
/** Scroll Component */
export class Scroll extends CubeScroll {}
/** Slide Component */
export class Slide extends CubeSlide {}
/** Index List Component */
export class IndexList extends CubeIndexList {}
/** Swipe Component */
export class Swipe extends CubeSwipe {}
/** Sticky Component */
export class Sticky extends CubeSticky {}
/** ScrollNavBar Component */
export class ScrollNavBar extends CubeScrollNavBar {}
/** ScrollNav Component */
export class ScrollNav extends CubeScrollNav {}
/** RecycleList Component */
export class RecycleList extends CubeRecycleList {}
// Vue prototype $createXx
declare module 'vue/types/vue' {
interface Vue {
/** create Popup instance */
$createPopup: CreateAPIFn<IPopup, Popup>
/** create Toast instance */
$createToast: CreateAPIFn<IToast, Toast>
/** create Picker instance */
$createPicker: CreateAPIFn<IPicker, Picker>
/** create CascadePicker instance */
$createCascadePicker: CreateAPIFn<ICascadePicker, CascadePicker>
/** create DatePicker instance */
$createDatePicker: CreateAPIFn<IDatePicker, DatePicker>
/** create TimePicker instance */
$createTimePicker: CreateAPIFn<ITimePicker, TimePicker>
/** create SegmentPicker instance */
$createSegmentPicker: CreateAPIFn<ISegmentPicker, SegmentPicker>
/** create Dialog instance */
$createDialog: CreateAPIFn<IDialog, Dialog>
/** create ActionSheet instance */
$createActionSheet: CreateAPIFn<IActionSheet, ActionSheet>
/** create ImagePreview instance */
$createImagePreview: CreateAPIFn<IImagePreview, ImagePreview>
}
}