clickgo 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/app/demo.cga +0 -0
  2. package/dist/app/task.cga +0 -0
  3. package/dist/control/arteditor.cgc +0 -0
  4. package/dist/control/box.cgc +0 -0
  5. package/dist/control/captcha.cgc +0 -0
  6. package/dist/control/common.cgc +0 -0
  7. package/dist/control/desc.cgc +0 -0
  8. package/dist/control/drawer.cgc +0 -0
  9. package/dist/control/echarts.cgc +0 -0
  10. package/dist/control/form.cgc +0 -0
  11. package/dist/control/iconview.cgc +0 -0
  12. package/dist/control/jodit.cgc +0 -0
  13. package/dist/control/map.cgc +0 -0
  14. package/dist/control/monaco.cgc +0 -0
  15. package/dist/control/mpegts.cgc +0 -0
  16. package/dist/control/nav.cgc +0 -0
  17. package/dist/control/novnc.cgc +0 -0
  18. package/dist/control/page.cgc +0 -0
  19. package/dist/control/pdf.cgc +0 -0
  20. package/dist/control/property.cgc +0 -0
  21. package/dist/control/qrcode.cgc +0 -0
  22. package/dist/control/table.cgc +0 -0
  23. package/dist/control/task.cgc +0 -0
  24. package/dist/control/tplink.cgc +0 -0
  25. package/dist/control/tuieditor.cgc +0 -0
  26. package/dist/control/tuiviewer.cgc +0 -0
  27. package/dist/control/tums.cgc +0 -0
  28. package/dist/control/xterm.cgc +0 -0
  29. package/dist/index.js +1 -1
  30. package/dist/lib/control.d.ts +662 -0
  31. package/dist/lib/core.d.ts +337 -0
  32. package/dist/lib/dom.d.ts +491 -0
  33. package/dist/lib/form.d.ts +720 -0
  34. package/dist/lib/fs.d.ts +186 -0
  35. package/dist/lib/native.d.ts +134 -0
  36. package/dist/lib/storage.d.ts +39 -0
  37. package/dist/lib/task.d.ts +244 -0
  38. package/dist/lib/theme.d.ts +63 -0
  39. package/dist/lib/tool.d.ts +504 -0
  40. package/dist/lib/zip.d.ts +128 -0
  41. package/dist/theme/dark.cgt +0 -0
  42. package/dist/theme/light.cgt +0 -0
  43. package/package.json +1 -1
@@ -0,0 +1,662 @@
1
+ /**
2
+ * Copyright 2007-2025 MAIYUN.NET
3
+
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import * as clickgo from '../clickgo';
17
+ import * as lCore from './core';
18
+ import * as lForm from './form';
19
+ /**
20
+ * --- 初始化系统级 ID,仅能设置一次 ---
21
+ * @param id 系统级 ID
22
+ */
23
+ export declare function initSysId(id: string): void;
24
+ /** --- 窗体的抽象类 --- */
25
+ export declare abstract class AbstractControl {
26
+ /** --- 当前文件在包内的路径 --- */
27
+ get filename(): string;
28
+ /** --- 当前的窗体创建的位数 --- */
29
+ get findex(): number;
30
+ /** --- 当前的控件名称 --- */
31
+ get controlName(): string;
32
+ /** --- 当前组件所在的任务 ID --- */
33
+ get taskId(): string;
34
+ /** --- 当前组件所在的窗体 ID --- */
35
+ get formId(): string;
36
+ /** --- 当前控件所在运行窗体的包内路径不以 / 结尾 --- */
37
+ get path(): string;
38
+ /** --- 样式独占前缀 --- */
39
+ get prep(): string;
40
+ /** --- 获取当前的 HTML DOM --- */
41
+ get element(): HTMLElement;
42
+ /** --- root form --- */
43
+ private _rootForm;
44
+ /** --- 当前控件所在窗体的窗体对象 --- */
45
+ get rootForm(): lForm.AbstractForm & Record<string, any>;
46
+ /** --- 当前组件是否是别的组件的子组件,仅仅是包裹在组件的 layout 初始化中的才算 --- */
47
+ private readonly _rootControl;
48
+ /** --- 当前组件如果在开发控件层面被包裹了,则可以获取到包裹他的组件对象 --- */
49
+ get rootControl(): (AbstractControl & Record<string, any>) | null;
50
+ /**
51
+ * --- 当前窗体是否有焦点 ---
52
+ */
53
+ get formFocus(): boolean;
54
+ /** --- 获取当前语言名 --- */
55
+ get locale(): string;
56
+ /**
57
+ * --- 获取语言内容 ---
58
+ */
59
+ get l(): (key: string, data?: string[]) => string;
60
+ /** --- layout 中 :class 的转义 --- */
61
+ get classPrepend(): (cla: any) => string;
62
+ /** --- 获取 alignH 的 css 属性模式,请确保 props.alignH 存在 --- */
63
+ get alignHComp(): string | undefined;
64
+ /** --- 获取 alignH 的 css 属性模式,请确保 props.alignH 存在 --- */
65
+ get alignVComp(): string | undefined;
66
+ /**
67
+ * --- 监视变动 ---
68
+ * @param name 监视的属性或 prop 值
69
+ * @param cb 回调
70
+ * @param opt 参数
71
+ */
72
+ watch<T extends this & this['props'], TK extends keyof T, TR>(name: TK | (() => TR), cb: (val: T[TK] & TR, old: T[TK] & TR) => void | Promise<void>, opt?: {
73
+ 'immediate'?: boolean;
74
+ 'deep'?: boolean;
75
+ }): () => void;
76
+ /**
77
+ * --- 获取 refs 情况 ---
78
+ */
79
+ get refs(): Record<string, HTMLElement & AbstractControl & Record<string, any>>;
80
+ /**
81
+ * --- 等待渲染 ---
82
+ */
83
+ get nextTick(): () => Promise<void>;
84
+ /**
85
+ * --- 判断当前事件可否执行 ---
86
+ * @param e 鼠标、触摸、键盘事件
87
+ */
88
+ allowEvent(e: MouseEvent | TouchEvent | KeyboardEvent): boolean;
89
+ /**
90
+ * --- 触发系统方法 ---
91
+ * @param name 方法名
92
+ * @param param1 参数1
93
+ * @param param2 参数2
94
+ */
95
+ trigger(name: lCore.TGlobalEvent, param1?: boolean | Error | string, param2?: string): Promise<void>;
96
+ /** --- 组件内部文件,由系统重写 --- */
97
+ readonly packageFiles: Record<string, Blob | string>;
98
+ /** --- 组件参数,由用户定义重写 --- */
99
+ readonly props: {};
100
+ /** --- 组件参数,由用户定义重写 --- */
101
+ readonly emits: Record<string, null | ((payload: any) => boolean)>;
102
+ /** --- 组件的子插槽 --- */
103
+ readonly slots: Record<string, () => any[]>;
104
+ /** --- 获取某插槽所有子类 --- */
105
+ get slotsAll(): (name: string) => any[];
106
+ /** --- 获取 props 中的 boolean 类型的值 --- */
107
+ get propBoolean(): (name: keyof this["props"]) => boolean;
108
+ /** --- 获取 props 中的 number 类型的值 --- */
109
+ get propNumber(): (name: keyof this["props"]) => number;
110
+ /** --- 获取 props 中的 int 类型的值 --- */
111
+ get propInt(): (name: keyof this["props"]) => number;
112
+ /** --- 获取 props 中的 array 类型的值 --- */
113
+ get propArray(): (name: keyof this["props"]) => any[];
114
+ /**
115
+ * --- 向上反应事件 ---
116
+ * @param name 事件名
117
+ * @param v 事件值
118
+ */
119
+ emit(name: string, ...v: string | any): void;
120
+ /**
121
+ * --- 获取上层控件 ---
122
+ */
123
+ get parent(): AbstractControl & lForm.AbstractForm & Record<string, any>;
124
+ /**
125
+ * --- 根据 control name 查询上层控件 ---
126
+ */
127
+ get parentByName(): (controlName: string) => (AbstractControl & Record<string, any>) | null;
128
+ /**
129
+ * --- 根据 control access 查询上层控件 ---
130
+ */
131
+ get parentByAccess(): (name: string, val: string) => (AbstractControl & Record<string, any>) | null;
132
+ onBeforeCreate(): void | Promise<void>;
133
+ onCreated(): void | Promise<void>;
134
+ onBeforeMount(): void | Promise<void>;
135
+ /** --- 控件挂载好后触发 --- */
136
+ onMounted(): void | Promise<void>;
137
+ onBeforeUpdate(): void | Promise<void>;
138
+ onUpdated(): void | Promise<void>;
139
+ onBeforeUnmount(): void | Promise<void>;
140
+ onUnmounted(): void | Promise<void>;
141
+ }
142
+ /**
143
+ * --- 将 cgc 文件 blob 转换为 control 对象 ---
144
+ * @param blob 文件 blob
145
+ */
146
+ export declare function read(blob: Blob): Promise<false | TControlPackage>;
147
+ /**
148
+ * --- 任务创建过程中,需要对 control 进行先行初始化,并将样式表插入到实际的任务 DOM 中 ---
149
+ * @param taskId 要处理的任务 ID
150
+ */
151
+ export declare function init(taskId: string, opt?: {
152
+ /**
153
+ * --- 控件加载进度 ---
154
+ * @param loaded 已加载
155
+ * @param total 总数
156
+ * @param path 已加载的控件路径
157
+ */
158
+ progress?: (loaded: number, total: number, path: string) => void | Promise<void>;
159
+ }): Promise<number>;
160
+ /**
161
+ * --- 初始化获取新窗体的控件 component(init 后执行) ---
162
+ * @param taskId 任务 id
163
+ * @param formId 窗体 id
164
+ * @param path 窗体路径基准(包内路径)不以 / 结尾
165
+ */
166
+ export declare function buildComponents(taskId: string, formId: string, path: string): false | Record<string, any>;
167
+ /** --- 控件文件包的 config --- */
168
+ export interface IControlConfig {
169
+ 'name': string;
170
+ 'ver': number;
171
+ 'version': string;
172
+ 'author': string;
173
+ /** --- 不带扩展名,系统会在末尾添加 .js --- */
174
+ 'code': string;
175
+ /** --- 不带扩展名,系统会在末尾添加 .html --- */
176
+ 'layout': string;
177
+ /** --- 不带扩展名,系统会在末尾添加 .css --- */
178
+ 'style': string;
179
+ /** --- 要提前加载的库名 --- */
180
+ 'modules'?: string[];
181
+ }
182
+ /** --- 控件对象 --- */
183
+ export interface IControl {
184
+ 'type': 'control';
185
+ /** --- 控件对象配置文件 --- */
186
+ 'config': IControlConfig;
187
+ /** --- 所有已加载的文件内容 --- */
188
+ 'files': Record<string, Blob | string>;
189
+ }
190
+ /** --- 控件文件包 --- */
191
+ export type TControlPackage = Record<string, IControl>;
192
+ /** --- Custom Event --- */
193
+ export interface ICustomEvent {
194
+ 'go': boolean;
195
+ preventDefault: () => void;
196
+ }
197
+ export interface ICheckChangeEvent extends ICustomEvent {
198
+ 'detail': {
199
+ 'value': boolean;
200
+ 'indeterminate': boolean;
201
+ };
202
+ }
203
+ export interface ICheckChangedEvent {
204
+ 'detail': {
205
+ 'value': boolean;
206
+ 'indeterminate': boolean;
207
+ };
208
+ }
209
+ export interface INumberBeforeChangeEvent extends ICustomEvent {
210
+ 'detail': {
211
+ 'value': string;
212
+ 'change'?: string;
213
+ };
214
+ }
215
+ export interface INumberMinMaxChangeEvent extends ICustomEvent {
216
+ 'detail': {
217
+ 'before': string;
218
+ 'value': string;
219
+ };
220
+ }
221
+ export interface ITextBeforeChangeEvent extends ICustomEvent {
222
+ 'detail': {
223
+ 'value': string;
224
+ 'change'?: string;
225
+ };
226
+ }
227
+ export interface ITextMinMaxChangeEvent extends ICustomEvent {
228
+ 'detail': {
229
+ 'before': string;
230
+ 'value': string;
231
+ };
232
+ }
233
+ export interface IMenulistItemCheckEvent extends ICustomEvent {
234
+ 'detail': {
235
+ /** --- 当前要选中的项 --- */
236
+ 'value': string | boolean;
237
+ /** --- radio 模式下,当前项的 label 内容 --- */
238
+ 'label'?: string;
239
+ };
240
+ }
241
+ export interface IDateChangedEvent {
242
+ 'detail': {
243
+ 'before'?: number;
244
+ 'value'?: number;
245
+ };
246
+ }
247
+ export interface ICalendarSelectedEvent {
248
+ 'detail': {
249
+ 'year': string;
250
+ 'month': string;
251
+ 'date': string;
252
+ 'value': string;
253
+ 'type': 'default' | 'click';
254
+ };
255
+ }
256
+ export interface IDatepanelRangeEvent extends ICustomEvent {
257
+ 'detail': {
258
+ 'start': number;
259
+ 'end': number;
260
+ };
261
+ }
262
+ export interface IDatepanelChangedEvent {
263
+ 'detail': {
264
+ 'before'?: number;
265
+ 'value'?: number;
266
+ };
267
+ }
268
+ export interface IDatepanelSelectedEvent {
269
+ 'detail': {
270
+ 'time': number;
271
+ 'date': number;
272
+ 'month': number;
273
+ 'year': number;
274
+ 'day': number;
275
+ 'str': string;
276
+ };
277
+ }
278
+ export interface IFormCloseEvent extends ICustomEvent {
279
+ 'detail': {
280
+ 'event': MouseEvent;
281
+ };
282
+ }
283
+ export interface IFormMaxEvent {
284
+ 'detail': {
285
+ 'event': MouseEvent | TouchEvent | null;
286
+ 'action': 'click' | 'move';
287
+ /** --- 当前是否时最大化状态 --- */
288
+ 'max': boolean;
289
+ /** --- 最大化之前的窗体位置 --- */
290
+ 'history': {
291
+ 'width': number;
292
+ 'height': number;
293
+ 'left': number;
294
+ 'top': number;
295
+ } | null;
296
+ };
297
+ }
298
+ export interface IFormMinEvent {
299
+ 'detail': {
300
+ 'event': MouseEvent | TouchEvent | null;
301
+ 'action': 'click' | 'method';
302
+ /** --- 当前是否时最小化状态 --- */
303
+ 'min': boolean;
304
+ /** --- 最小化之前的窗体位置 --- */
305
+ 'history': {
306
+ 'width': number;
307
+ 'height': number;
308
+ 'left': number;
309
+ 'top': number;
310
+ } | null;
311
+ };
312
+ }
313
+ export interface IGreatlistChangeEvent extends ICustomEvent {
314
+ 'detail': {
315
+ 'value': number[];
316
+ };
317
+ }
318
+ export interface IGreatlistChangedEvent {
319
+ 'detail': {
320
+ 'value': number[];
321
+ };
322
+ }
323
+ export interface IGreatlistRemoveEvent extends ICustomEvent {
324
+ 'detail': {
325
+ 'index': number;
326
+ 'value': number;
327
+ };
328
+ }
329
+ export interface IGreatlistAddEvent extends ICustomEvent {
330
+ 'detail': {
331
+ 'index': number;
332
+ 'value': number;
333
+ };
334
+ }
335
+ export interface IGreatlistItemclickedEvent {
336
+ 'detail': {
337
+ 'event': MouseEvent | TouchEvent;
338
+ 'value': number;
339
+ 'arrow': boolean;
340
+ };
341
+ }
342
+ export interface IGreatlistItemdblclickedEvent {
343
+ 'detail': {
344
+ 'event': MouseEvent | TouchEvent;
345
+ 'value': number;
346
+ 'arrow': boolean;
347
+ };
348
+ }
349
+ export interface IGreatselectChangeEvent extends ICustomEvent {
350
+ 'detail': {
351
+ 'value': number[];
352
+ };
353
+ }
354
+ export interface IGreatselectChangedEvent {
355
+ 'detail': {
356
+ 'value': number[];
357
+ };
358
+ }
359
+ export interface IGreatselectRemoveEvent extends ICustomEvent {
360
+ 'detail': {
361
+ 'value': number;
362
+ };
363
+ }
364
+ export interface IGreatselectAddEvent extends ICustomEvent {
365
+ 'detail': {
366
+ 'value': number;
367
+ };
368
+ }
369
+ export interface ICaptchaResultEvent {
370
+ 'detail': {
371
+ 'result': number;
372
+ 'token': string;
373
+ };
374
+ }
375
+ export interface IPdfViewEvent {
376
+ 'detail': {
377
+ /** --- 宽度 point --- */
378
+ 'width': number;
379
+ /** --- 高度 point --- */
380
+ 'height': number;
381
+ /** --- 宽度英寸 --- */
382
+ 'inwidth': number;
383
+ /** --- 高度英寸 --- */
384
+ 'inheight': number;
385
+ /** --- 宽度像素 --- */
386
+ 'pxwidth': number;
387
+ /** --- 高度像素 --- */
388
+ 'pxheight': number;
389
+ };
390
+ }
391
+ export interface IIconviewItemclickedEvent {
392
+ 'detail': {
393
+ 'event': MouseEvent | TouchEvent;
394
+ 'value': number;
395
+ };
396
+ }
397
+ export interface IIconviewOpenEvent {
398
+ 'detail': {
399
+ 'value': number[];
400
+ };
401
+ }
402
+ export interface IIconviewDropEvent {
403
+ 'detail': {
404
+ 'self': boolean;
405
+ 'from': Array<{
406
+ 'index': number;
407
+ 'type': 0 | 1 | -1 | undefined;
408
+ 'path': string;
409
+ }>;
410
+ 'to': {
411
+ 'index': number;
412
+ 'type': 0 | 1 | -1 | undefined;
413
+ 'path': string;
414
+ };
415
+ };
416
+ }
417
+ export interface IIconviewSelectEvent {
418
+ 'detail': {
419
+ 'area': {
420
+ 'x': number;
421
+ 'y': number;
422
+ 'width': number;
423
+ 'height': number;
424
+ 'shift': boolean;
425
+ 'ctrl': boolean;
426
+ 'start': number;
427
+ 'end': number;
428
+ 'empty': boolean;
429
+ };
430
+ };
431
+ }
432
+ export interface ILevelselectLevelEvent {
433
+ 'detail': {
434
+ 'list': Array<{
435
+ 'label': string;
436
+ 'value': string;
437
+ }>;
438
+ 'values': string[];
439
+ 'labels': string[];
440
+ };
441
+ }
442
+ export interface IChecklistRemoveEvent extends ICustomEvent {
443
+ 'detail': {
444
+ 'index': number;
445
+ 'value': string;
446
+ };
447
+ }
448
+ export interface IChecklistAddEvent extends ICustomEvent {
449
+ 'detail': {
450
+ 'index': number;
451
+ 'value': string;
452
+ };
453
+ }
454
+ export interface IChecklistItemclickedEvent {
455
+ 'detail': {
456
+ 'event': MouseEvent | TouchEvent;
457
+ 'value': string;
458
+ 'arrow': boolean;
459
+ };
460
+ }
461
+ export interface IListChangeEvent extends ICustomEvent {
462
+ 'detail': {
463
+ 'value': string[];
464
+ };
465
+ }
466
+ export interface IListChangedEvent {
467
+ 'detail': {
468
+ 'value': string[];
469
+ };
470
+ }
471
+ export interface IListRemoveEvent extends ICustomEvent {
472
+ 'detail': {
473
+ 'index': number;
474
+ 'value': string;
475
+ };
476
+ }
477
+ export interface IListAddEvent extends ICustomEvent {
478
+ 'detail': {
479
+ 'index': number;
480
+ 'value': string;
481
+ };
482
+ }
483
+ export interface IListItemclickedEvent {
484
+ 'detail': {
485
+ 'event': MouseEvent | TouchEvent;
486
+ 'value': string;
487
+ 'arrow': boolean;
488
+ };
489
+ }
490
+ export interface IListItemdblclickedEvent {
491
+ 'detail': {
492
+ 'event': MouseEvent | TouchEvent;
493
+ 'value': string;
494
+ 'arrow': boolean;
495
+ };
496
+ }
497
+ export interface INavItemSelectEvent extends ICustomEvent {
498
+ 'detail': {
499
+ 'name': string;
500
+ 'selected': string;
501
+ };
502
+ }
503
+ export interface IPanelGoEvent extends ICustomEvent {
504
+ 'detail': {
505
+ 'from': string;
506
+ 'to': string;
507
+ };
508
+ }
509
+ export interface IPanelWentEvent {
510
+ 'detail': {
511
+ 'result': boolean;
512
+ 'from': string;
513
+ 'to': string;
514
+ };
515
+ }
516
+ export interface IRadioChangeEvent extends ICustomEvent {
517
+ 'detail': {
518
+ /** --- 设定的值 --- */
519
+ 'value': string;
520
+ /** --- 选中的值 --- */
521
+ 'selected': string;
522
+ };
523
+ }
524
+ export interface IPaletteChangedEvent {
525
+ 'detail': {
526
+ /** --- 颜色值 --- */
527
+ 'value': string;
528
+ /** --- 对象 --- */
529
+ 'hsl'?: {
530
+ 'h': number;
531
+ 's': number;
532
+ 'l': number;
533
+ 'a': number;
534
+ };
535
+ 'rgb'?: {
536
+ 'r': number;
537
+ 'g': number;
538
+ 'b': number;
539
+ 'a': number;
540
+ };
541
+ };
542
+ }
543
+ export interface IColoristChangedEvent {
544
+ 'detail': {
545
+ /** --- 颜色值 --- */
546
+ 'value': string;
547
+ /** --- 对象 --- */
548
+ 'hsl'?: {
549
+ 'h': number;
550
+ 's': number;
551
+ 'l': number;
552
+ 'a': number;
553
+ };
554
+ 'rgb'?: {
555
+ 'r': number;
556
+ 'g': number;
557
+ 'b': number;
558
+ 'a': number;
559
+ };
560
+ };
561
+ }
562
+ export interface ISelectAddEvent extends ICustomEvent {
563
+ 'detail': {
564
+ 'index': number;
565
+ 'value': string;
566
+ };
567
+ }
568
+ export interface ISelectRemoveEvent extends ICustomEvent {
569
+ 'detail': {
570
+ 'index': number;
571
+ 'value': string;
572
+ 'mode': 'backspace' | 'tag' | 'list';
573
+ };
574
+ }
575
+ export interface ISelectAddedEvent {
576
+ 'detail': {
577
+ 'index': number;
578
+ 'value': string;
579
+ };
580
+ }
581
+ export interface ISelectRemovedEvent {
582
+ 'detail': {
583
+ 'index': number;
584
+ 'value': string;
585
+ 'mode': 'backspace' | 'tag' | 'list';
586
+ };
587
+ }
588
+ export interface ISelectChangeEvent extends ICustomEvent {
589
+ 'detail': {
590
+ 'value': string[];
591
+ };
592
+ }
593
+ export interface ISelectChangedEvent {
594
+ 'detail': {
595
+ 'before': string[];
596
+ 'value': string[];
597
+ };
598
+ }
599
+ export interface ISelectTagclickEvent {
600
+ 'detail': {
601
+ 'index': number;
602
+ 'value': string;
603
+ };
604
+ }
605
+ export interface ISelectRemoteEvent {
606
+ 'detail': {
607
+ 'value': string;
608
+ 'callback': (data?: any[] | Record<string, string>) => Promise<void>;
609
+ };
610
+ }
611
+ export interface ISelectItemclickedEvent {
612
+ 'detail': {
613
+ 'event': MouseEvent | TouchEvent;
614
+ 'value': string;
615
+ 'arrow': boolean;
616
+ };
617
+ }
618
+ export interface ISwitchChangeEvent extends ICustomEvent {
619
+ 'detail': {
620
+ 'value': boolean;
621
+ };
622
+ }
623
+ export interface ITabChangeEvent extends ICustomEvent {
624
+ 'detail': {
625
+ 'value': string;
626
+ };
627
+ }
628
+ export interface ITabChangedEvent {
629
+ 'detail': {
630
+ 'value': string;
631
+ };
632
+ }
633
+ export interface ITabCloseEvent extends ICustomEvent {
634
+ 'detail': {
635
+ 'index': number;
636
+ 'value': string;
637
+ };
638
+ }
639
+ export interface ITableSortEvent extends ICustomEvent {
640
+ 'detail': {
641
+ 'index': number;
642
+ 'label': string;
643
+ 'sort': 'desc' | 'asc';
644
+ };
645
+ }
646
+ export interface ITuieditorImguploadEvent {
647
+ 'detail': {
648
+ 'file': Blob;
649
+ 'callback': (url: string, opt?: {
650
+ 'alt'?: string;
651
+ 'width'?: number;
652
+ 'height'?: number;
653
+ 'align'?: string;
654
+ }) => void | Promise<void>;
655
+ };
656
+ }
657
+ export interface ITagDropEvent {
658
+ 'detail': {
659
+ 'before': number;
660
+ 'after': number;
661
+ };
662
+ }