@vue-ui-kit/ant 2.4.3 → 2.4.5

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 (37) hide show
  1. package/dist/cjs/index.js +3 -3
  2. package/dist/es/index.js +719 -610
  3. package/dist/index.d.ts +3096 -23
  4. package/package.json +1 -2
  5. package/src/declarations/antProxy.ts +21 -1
  6. package/src/index.ts +1 -0
  7. package/src/packages/components/PGrid.vue +90 -6
  8. package/src/packages/components/PromisePicker.vue +22 -14
  9. package/src/packages/components/RenderAntCell.tsx +1 -1
  10. package/src/packages/components/RenderDefaultSlots.tsx +6 -2
  11. package/src/packages/store/renderStore.tsx +1 -1
  12. package/src/packages/utils/autoViewportBox.ts +160 -0
  13. package/src/packages/utils/config.ts +4 -0
  14. package/dist/declarations/antProxy.d.ts +0 -373
  15. package/dist/declarations/type.d.ts +0 -1
  16. package/dist/packages/components/CollapseCard.vue.d.ts +0 -29
  17. package/dist/packages/components/PCanvasTable.vue.d.ts +0 -177
  18. package/dist/packages/components/PForm.vue.d.ts +0 -22
  19. package/dist/packages/components/PFormCol.vue.d.ts +0 -23
  20. package/dist/packages/components/PFormGroup.vue.d.ts +0 -38
  21. package/dist/packages/components/PGroupBlock.vue.d.ts +0 -16
  22. package/dist/packages/components/PromisePicker.vue.d.ts +0 -25
  23. package/dist/packages/components/RenderAntCell.d.ts +0 -28
  24. package/dist/packages/components/RenderAntItem.d.ts +0 -18
  25. package/dist/packages/components/RenderDefaultSlots.d.ts +0 -34
  26. package/dist/packages/components/RenderEditCell.d.ts +0 -25
  27. package/dist/packages/components/RenderItemSlots.d.ts +0 -25
  28. package/dist/packages/components/RenderTitleSlots.d.ts +0 -16
  29. package/dist/packages/hooks/useMessage.d.ts +0 -8
  30. package/dist/packages/renders/Icon.d.ts +0 -4
  31. package/dist/packages/renders/TableInput.vue.d.ts +0 -25
  32. package/dist/packages/store/renderStore.d.ts +0 -16
  33. package/dist/packages/utils/AFormatters.d.ts +0 -9
  34. package/dist/packages/utils/config.d.ts +0 -30
  35. package/dist/packages/utils/core.d.ts +0 -10
  36. package/dist/packages/utils/is.d.ts +0 -4
  37. package/dist/packages/utils/treeHelper.d.ts +0 -19
package/dist/index.d.ts CHANGED
@@ -1,23 +1,3096 @@
1
- import { App } from 'vue';
2
- import { default as PForm } from './packages/components/PForm.vue';
3
- import { default as PGrid } from './packages/components/PGrid.vue';
4
- import { default as PCanvasTable } from './packages/components/PCanvasTable.vue';
5
- import { default as PCanvasGrid } from './packages/components/PCanvasGrid.vue';
6
- import { default as PFormGroup } from './packages/components/PFormGroup.vue';
7
- import { default as PGroupBlock } from './packages/components/PGroupBlock.vue';
8
- import { default as PromisePicker } from './packages/components/PromisePicker.vue';
9
- import { addFormatter } from './packages/utils/AFormatters';
10
- import { addRender } from './packages/store/renderStore';
11
- import { setUIKitConfig, getUIKitConfig, resetUIKitConfig, getTooltipRenderer, UIKitConfig } from './packages/utils/config';
12
- declare function setup(config?: Partial<UIKitConfig>): void;
13
- declare const _default: {
14
- install(app: App): void;
15
- addFormatter: (formatter: Record<string, (a: import('./declarations/antProxy').CellFuncArg, ...args: any[]) => any>) => void;
16
- addRender: (name: string, { renderItemContent, renderDefault, renderEdit }: import('./packages/store/renderStore').RenderWorkshop) => void;
17
- setup: typeof setup;
18
- };
19
- export default _default;
20
- export * from './declarations/antProxy';
21
- export * from './packages/utils/core';
22
- export { setup, setUIKitConfig, getUIKitConfig, resetUIKitConfig, getTooltipRenderer, type UIKitConfig, };
23
- export { PForm, PGrid, PCanvasTable, PCanvasGrid, PFormGroup, PGroupBlock, PromisePicker, addFormatter, addRender, };
1
+ import { AllowedComponentProps } from 'vue';
2
+ import { App } from 'vue';
3
+ import { ColumnGroupType } from './table';
4
+ import { ColumnType } from './table';
5
+ import { ComponentCustomProps } from 'vue';
6
+ import { ComputedRef } from 'vue';
7
+ import type { ExtractPropTypes } from 'vue';
8
+ import type { HTMLAttributes } from 'vue';
9
+ import { default as PCanvasGrid } from './packages/components/PCanvasGrid.vue';
10
+ import { default as PGrid } from './packages/components/PGrid.vue';
11
+ import { PropType } from 'vue';
12
+ import { PublicProps } from 'vue';
13
+ import { Ref } from 'vue';
14
+ import { ShallowUnwrapRef } from 'vue';
15
+ import type { SizeType } from '../config-provider';
16
+ import { TableProps } from './table';
17
+ import { TooltipProps } from './tooltip';
18
+ import { UnwrapRefSimple } from '@vue/reactivity';
19
+ import { VNode } from 'vue';
20
+ import { VNodeProps } from 'vue';
21
+ import { WatchHandle } from 'vue';
22
+ import { WatchOptions } from 'vue';
23
+ import { WatchSource } from 'vue';
24
+
25
+ declare type __VLS_PrettifyLocal<T> = {
26
+ [K in keyof T]: T[K];
27
+ } & {};
28
+
29
+ declare type __VLS_PrettifyLocal_2<T> = {
30
+ [K in keyof T]: T[K];
31
+ } & {};
32
+
33
+ declare type __VLS_PrettifyLocal_3<T> = {
34
+ [K in keyof T]: T[K];
35
+ } & {};
36
+
37
+ declare type __VLS_PrettifyLocal_4<T> = {
38
+ [K in keyof T]: T[K];
39
+ } & {};
40
+
41
+ declare type __VLS_PrettifyLocal_5<T> = {
42
+ [K in keyof T]: T[K];
43
+ } & {};
44
+
45
+ export declare const addFormatter: (formatter: Record<string, (a: CellFuncArg, ...args: any[]) => any>) => void;
46
+
47
+ export declare const addRender: (name: string, { renderItemContent, renderDefault, renderEdit }: RenderWorkshop) => void;
48
+
49
+ declare type AggregationRule = BaseRule & Partial<ValidatorRule>;
50
+
51
+ export declare interface AjaxConfig<F extends Recordable = Recordable> {
52
+ query: (Q: {
53
+ page?: IPage;
54
+ form: Partial<F>;
55
+ }) => Promise<Recordable>;
56
+ multiDelete?: HandlerMultiDel;
57
+ }
58
+
59
+ declare type Align = 'left' | 'center' | 'right';
60
+
61
+ /**
62
+ * 宽/高先按「视口内从元素左上角到右/下边缘」计算。
63
+ *
64
+ * 宽度会再与**直接父元素**布局框取较小值,避免嵌套在侧栏 + flex 列等窄容器里仍按整屏宽度赋值,
65
+ * 从而撑出页面级横向滚动条。
66
+ *
67
+ * 高度不做 parent 截断:autoBoxSize 的语义就是「一直撑到视口底」。若对 parent 取 min,
68
+ * 遇到「父容器没有明确高度、靠子元素内容撑开」的常见布局(外层未写死高度,p-grid 根节点
69
+ * 自身决定可视高度),会形成循环依赖(子依赖父、父又靠子撑开),导致高度被截成极小值,
70
+ * 反映到 PGrid 上就是表体下方出现大面积空白。
71
+ */
72
+ export declare function applyViewportRestSize(el: HTMLElement, offset: AutoViewportBoxOffset): void;
73
+
74
+ declare interface ArrayRule extends Omit<AggregationRule, 'type'> {
75
+ type: 'array';
76
+ defaultField?: RuleObject;
77
+ }
78
+
79
+ declare type AutofillOptions = {
80
+ enable: boolean;
81
+ xArr: number[];
82
+ yArr: number[];
83
+ };
84
+
85
+ export declare interface AutoViewportBoxController {
86
+ attach: () => void;
87
+ update: () => void;
88
+ destroy: () => void;
89
+ }
90
+
91
+ export declare interface AutoViewportBoxControllerOptions {
92
+ /** 每次尺寸写回后回调(例如触发内部表格 resize) */
93
+ onLayout?: () => void;
94
+ }
95
+
96
+ export declare interface AutoViewportBoxOffset {
97
+ right: number;
98
+ bottom: number;
99
+ }
100
+
101
+ /**
102
+ * 按视口从元素左上角铺满宽高(与 storybook 中 v-rest / v-height / v-width 同源思路),
103
+ * 用于外层未声明高度、需由根节点自行占满可视区域的场景。
104
+ */
105
+ export declare type AutoViewportBoxOffsetInput = number | string | {
106
+ right?: number;
107
+ bottom?: number;
108
+ } | undefined;
109
+
110
+ declare class BaseCell {
111
+ ctx: Context;
112
+ x: number;
113
+ y: number;
114
+ width: number;
115
+ height: number;
116
+ fixed?: Fixed;
117
+ cellType: CellType;
118
+ constructor(ctx: Context, x: number, y: number, width: number, height: number, cellType: CellType, fixed?: Fixed);
119
+ isHorizontalVisible(): boolean;
120
+ isVerticalVisible(): boolean;
121
+ getDrawX(): number;
122
+ getDrawY(): number;
123
+ getLeftFixedX(): number;
124
+ /**
125
+ * RightFixed时相对StageX
126
+ * @returns
127
+ */
128
+ getRightFixedX(): void;
129
+ }
130
+
131
+ declare interface BaseRule {
132
+ warningOnly?: boolean;
133
+ /** validate the value from a list of possible values */
134
+ enum?: StoreValue[];
135
+ /** validate the exact length of a field */
136
+ len?: number;
137
+ /** validate the max length of a field */
138
+ max?: number;
139
+ /** validation error message */
140
+ message?: string | VueNode;
141
+ /** validate the min length of a field */
142
+ min?: number;
143
+ /** validate from a regular expression */
144
+ pattern?: RegExp;
145
+ /** indicates whether field is required */
146
+ required?: boolean;
147
+ /** transform a value before validation */
148
+ transform?: (value: StoreValue) => StoreValue;
149
+ /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */
150
+ type?: RuleType;
151
+ /** treat required fields that only contain whitespace as errors */
152
+ whitespace?: boolean;
153
+ /** Customize rule level `validateTrigger`. Must be subset of Field `validateTrigger` */
154
+ validateTrigger?: string | string[];
155
+ /** Check trigger timing */
156
+ trigger?: 'blur' | 'change' | Array<'change' | 'blur'>;
157
+ }
158
+
159
+ declare type BeforeAutofillDataMethod = (changeList: BeforeChangeItem[], xArr: number[], yArr: number[]) => BeforeChangeItem[] | Promise<BeforeChangeItem[]>;
160
+
161
+ declare type BeforeCellValueChangeMethod = (changeList: BeforeValueChangeItem[]) => BeforeValueChangeItem[] | Promise<BeforeValueChangeItem[]>;
162
+
163
+ declare type BeforeChangeItem = {
164
+ rowKey: string;
165
+ key: string;
166
+ value: any;
167
+ oldValue: any;
168
+ row: any;
169
+ };
170
+
171
+ declare type BeforeCopyMethod = (params: BeforeCopyParams) => BeforeCopyParams | undefined;
172
+
173
+ declare type BeforeCopyParams = {
174
+ focusCell?: Cell;
175
+ data: any;
176
+ xArr: number[];
177
+ yArr: number[];
178
+ };
179
+
180
+ declare type BeforePasteDataMethod = (changeList: BeforeChangeItem[], xArr: number[], yArr: number[], textArr: string[][]) => BeforeChangeItem[] | Promise<BeforeChangeItem[]>;
181
+
182
+ declare type BeforeSetAutofillMethod = (params: BeforeSetAutofillParams) => BeforeSetAutofillParams | undefined;
183
+
184
+ declare type BeforeSetAutofillParams = {
185
+ focusCell?: Cell;
186
+ xArr: number[];
187
+ yArr: number[];
188
+ };
189
+
190
+ declare type BeforeSetSelectorMethod = (params: BeforeSetSelectorParams) => BeforeSetSelectorParams | undefined;
191
+
192
+ declare type BeforeSetSelectorParams = {
193
+ focusCell?: Cell;
194
+ xArr: number[];
195
+ yArr: number[];
196
+ };
197
+
198
+ declare type BeforeValueChangeItem = {
199
+ rowKey: string;
200
+ key: string;
201
+ value: any;
202
+ oldValue?: any;
203
+ row?: any;
204
+ errorTip?: boolean;
205
+ };
206
+
207
+ declare type BodyOptions = {
208
+ x: number;
209
+ y: number;
210
+ width: number;
211
+ height: number;
212
+ visibleHeight: number;
213
+ visibleWidth: number;
214
+ headIndex: number;
215
+ tailIndex: number;
216
+ visibleRows: any[];
217
+ renderRows: Row[];
218
+ data: any[];
219
+ };
220
+
221
+ declare type ButtonHTMLType = 'submit' | 'button' | 'reset';
222
+
223
+ declare type ButtonProps = Partial<ExtractPropTypes<ReturnType<typeof buttonProps>>>;
224
+
225
+ declare const buttonProps: () => {
226
+ prefixCls: StringConstructor;
227
+ type: PropType<ButtonType>;
228
+ htmlType: {
229
+ type: PropType<ButtonHTMLType>;
230
+ default: string;
231
+ };
232
+ shape: {
233
+ type: PropType<ButtonShape>;
234
+ };
235
+ size: {
236
+ type: PropType<SizeType>;
237
+ };
238
+ loading: {
239
+ type: PropType<boolean | {
240
+ delay?: number;
241
+ }>;
242
+ default: () => boolean | {
243
+ delay?: number;
244
+ };
245
+ };
246
+ disabled: {
247
+ type: BooleanConstructor;
248
+ default: any;
249
+ };
250
+ ghost: {
251
+ type: BooleanConstructor;
252
+ default: any;
253
+ };
254
+ block: {
255
+ type: BooleanConstructor;
256
+ default: any;
257
+ };
258
+ danger: {
259
+ type: BooleanConstructor;
260
+ default: any;
261
+ };
262
+ icon: VueTypeValidableDef<any>;
263
+ href: StringConstructor;
264
+ target: StringConstructor;
265
+ title: StringConstructor;
266
+ onClick: {
267
+ type: PropType<MouseEventHandler | MouseEventHandler[]>;
268
+ };
269
+ onMousedown: {
270
+ type: PropType<MouseEventHandler | MouseEventHandler[]>;
271
+ };
272
+ };
273
+
274
+ declare type ButtonShape = 'default' | 'circle' | 'round';
275
+
276
+ declare type ButtonType = 'link' | 'default' | 'primary' | 'ghost' | 'dashed' | 'text';
277
+
278
+ export declare interface CanvasColumnProps<T extends Recordable = Recordable> extends Omit<Column, 'children' | 'formatter' | 'key'> {
279
+ key?: string;
280
+ field?: string;
281
+ children?: CanvasColumnProps<T>[];
282
+ formatter?: string | [string, ...Array<any>] | ((arg: PartialByKeys<CellFuncArg<T>, 'cellValue'>) => any);
283
+ slots?: {
284
+ default?: ({ row, column, rowIndex, }: {
285
+ row: T;
286
+ column: CanvasColumnProps<T>;
287
+ rowIndex: number;
288
+ }) => any;
289
+ edit?: ({ row, column, rowIndex, }: {
290
+ row: T;
291
+ column: CanvasColumnProps<T>;
292
+ rowIndex: number;
293
+ }) => any;
294
+ title?: ({ column }: {
295
+ column: CanvasColumnProps<T>;
296
+ }) => any;
297
+ };
298
+ cellRender?: CellRender;
299
+ editRender?: CellRender;
300
+ }
301
+
302
+ export declare interface CanvasTableProps<T extends Recordable = Recordable, B extends Recordable = Recordable> {
303
+ columns: CanvasColumnProps<T>[];
304
+ data: T[];
305
+ config?: ConfigType;
306
+ footerData?: B[];
307
+ loading?: boolean;
308
+ }
309
+
310
+ declare class Cell extends BaseCell {
311
+ formatter?: FormatterMethod;
312
+ formatterFooter?: FormatterMethod;
313
+ hoverIconName?: string;
314
+ operation: boolean;
315
+ align: Align;
316
+ verticalAlign: VerticalAlign;
317
+ fixed?: Fixed;
318
+ type: Type | '';
319
+ editorType: string;
320
+ editorProps: any;
321
+ cellType: CellType;
322
+ level: number;
323
+ colspan: number;
324
+ rowspan: number;
325
+ mergeRow: boolean;
326
+ mergeCol: boolean;
327
+ relationRowKeys: string[];
328
+ relationColKeys: string[];
329
+ key: string;
330
+ column: Column;
331
+ rowIndex: number;
332
+ colIndex: number;
333
+ rowKey: string;
334
+ row: any;
335
+ value: any;
336
+ render: Render;
337
+ renderFooter: Render;
338
+ style: any;
339
+ domDataset: any;
340
+ rules: Rules | Rule;
341
+ message: string;
342
+ text: string;
343
+ displayText: string;
344
+ visibleWidth: number;
345
+ visibleHeight: number;
346
+ isHasChanged: boolean;
347
+ drawX: number;
348
+ drawY: number;
349
+ drawCellBgColor: string;
350
+ drawCellSkyBgColor: string;
351
+ drawTextColor: string;
352
+ drawTextFont: string;
353
+ drawTextX: number;
354
+ drawTextY: number;
355
+ drawTextWidth: number;
356
+ drawTextHeight: number;
357
+ drawTreeImageX: number;
358
+ drawTreeImageY: number;
359
+ drawTreeImageWidth: number;
360
+ drawTreeImageHeight: number;
361
+ drawTreeImageName: string;
362
+ drawTreeImageSource?: HTMLImageElement;
363
+ drawSelectionImageX: number;
364
+ drawSelectionImageY: number;
365
+ drawSelectionImageWidth: number;
366
+ drawSelectionImageHeight: number;
367
+ drawSelectionImageName: string;
368
+ drawSelectionImageSource?: HTMLImageElement;
369
+ drawHoverImageX: number;
370
+ drawHoverImageY: number;
371
+ drawHoverImageWidth: number;
372
+ drawHoverImageHeight: number;
373
+ drawHoverImageName: string;
374
+ drawHoverImageSource?: HTMLImageElement;
375
+ autoRowHeight: boolean;
376
+ calculatedHeight: number;
377
+ ellipsis: boolean;
378
+ rowExpand: boolean;
379
+ rowHasChildren: boolean;
380
+ overflowTooltipShow: boolean;
381
+ selectorCellValueType: SelectorCellValueType;
382
+ overflowTooltipMaxWidth: number;
383
+ overflowTooltipPlacement: OverflowTooltipPlacement;
384
+ maxLineClamp: LineClampType;
385
+ constructor(ctx: Context, rowIndex: number, colIndex: number, x: number, y: number, width: number, height: number, column: Column, row: any, cellType?: CellType, isUpdate?: boolean);
386
+ setWidthHeight(width: number, height: number): void;
387
+ getValidationMessage(): string;
388
+ update(): void;
389
+ updateSpan(): void;
390
+ updateSpanInfo(): void;
391
+ updateType(): void;
392
+ updateEditor(): void;
393
+ updateRender(): void;
394
+ validate(): void;
395
+ /**
396
+ * 更新样式
397
+ */
398
+ updateStyle(): void;
399
+ private updateTree;
400
+ private drawTreeLine;
401
+ private updateContainer;
402
+ private updateSelection;
403
+ private updateHoverIcon;
404
+ /**
405
+ * 获取自动高度
406
+ * @returns
407
+ */
408
+ getAutoHeight(): number;
409
+ getSpanInfo(): SpanInfo;
410
+ /**
411
+ * 获取显示文本
412
+ * @returns
413
+ */
414
+ getDisplayText(): string;
415
+ /**
416
+ * 获取文本
417
+ * @returns
418
+ */
419
+ getText(): any;
420
+ getValue(): any;
421
+ setValue(value: any): void;
422
+ /**
423
+ * 获取样式
424
+ */
425
+ getOverlayerViewsStyle(): {
426
+ position: string;
427
+ overflow: string;
428
+ left: string;
429
+ top: string;
430
+ width: string;
431
+ height: string;
432
+ pointerEvents: string;
433
+ userSelect: string;
434
+ };
435
+ drawContainer(): void;
436
+ private drawAutofillPiont;
437
+ draw(): void;
438
+ /**
439
+ * 根据列的索引获取列的宽度
440
+ * @param {Number} colIndex
441
+ */
442
+ private getWidthByColIndexColSpan;
443
+ private drawText;
444
+ private drawImage;
445
+ private drawSelector;
446
+ private drawErrorTip;
447
+ private drawBorder;
448
+ }
449
+
450
+ declare type CellEditorMethod = (params: CellParams) => EditorOptions | void;
451
+
452
+ export declare interface CellFuncArg<D extends Recordable = Recordable> {
453
+ row: D;
454
+ column?: ColumnProps<D>;
455
+ rowIndex: number;
456
+ cellValue: any;
457
+ }
458
+
459
+ declare class CellHeader extends BaseCell {
460
+ align: Align;
461
+ hideHeaderSelection: boolean;
462
+ verticalAlign: VerticalAlign;
463
+ fixed?: Fixed;
464
+ minWidth?: number;
465
+ maxWidth?: number;
466
+ widthFillDisable: boolean;
467
+ type: Type | '';
468
+ operation: boolean;
469
+ editorType: string;
470
+ level: number;
471
+ text: string;
472
+ hide: boolean;
473
+ displayText: string;
474
+ colspan: number;
475
+ rowspan: number;
476
+ row: any;
477
+ key: string;
478
+ required: boolean;
479
+ readonly: boolean;
480
+ ellipsis: boolean;
481
+ overflowTooltipShow: boolean;
482
+ children: Column[];
483
+ column: Column;
484
+ colIndex: number;
485
+ rowKey: string;
486
+ rules?: Rules | Rule;
487
+ hasChildren: boolean;
488
+ render: Render;
489
+ style: Partial<CSSStyleDeclaration>;
490
+ drawX: number;
491
+ drawY: number;
492
+ sortIconName: string;
493
+ sortAscIconName: string;
494
+ sortDescIconName: string;
495
+ visibleWidth: number;
496
+ visibleHeight: number;
497
+ maxLineClampHeader: LineClampType;
498
+ domDataset: any;
499
+ drawTextX: number;
500
+ drawTextY: number;
501
+ drawTextWidth: number;
502
+ drawTextHeight: number;
503
+ drawCellBgColor: string;
504
+ drawTextColor: string;
505
+ drawTextFont: string;
506
+ drawSelectionImageX: number;
507
+ drawSelectionImageY: number;
508
+ drawSelectionImageWidth: number;
509
+ drawSelectionImageHeight: number;
510
+ drawSelectionImageName: string;
511
+ drawSelectionImageSource?: HTMLImageElement;
512
+ drawSortImageX: number;
513
+ drawSortImageY: number;
514
+ drawSortImageWidth: number;
515
+ drawSortImageHeight: number;
516
+ drawSortImageName: string;
517
+ drawSortImageSource?: HTMLImageElement;
518
+ constructor(ctx: Context, colIndex: number, x: number, y: number, width: number, height: number, column: Column);
519
+ /**
520
+ * 是否可见,覆盖基类方法,表头是跟y滚动条没有关系的所以不需要加滚动参数
521
+ * @returns
522
+ */
523
+ isVerticalVisible(): boolean;
524
+ /**
525
+ * 更新样式
526
+ */
527
+ updateStyle(): void;
528
+ updateContainer(): void;
529
+ update(): void;
530
+ draw(): void;
531
+ private drawEdge;
532
+ private drawText;
533
+ private drawBg;
534
+ private drawSelection;
535
+ private drawSortIcon;
536
+ getText(): string;
537
+ /**
538
+ * 获取样式
539
+ */
540
+ getOverlayerViewsStyle(): {
541
+ position: string;
542
+ overflow: string;
543
+ left: string;
544
+ top: string;
545
+ width: string;
546
+ height: string;
547
+ pointerEvents: string;
548
+ userSelect: string;
549
+ };
550
+ }
551
+
552
+ declare type CellHeaderParams = {
553
+ colIndex: number;
554
+ column: Column;
555
+ };
556
+
557
+ declare type CellHeaderStyleMethod = (params: CellHeaderParams) => CellStyleOptions | void;
558
+
559
+ declare type CellHoverIconMethod = (params: CellParams) => string | void;
560
+
561
+ declare type CellParams = {
562
+ row: any;
563
+ rowIndex: number;
564
+ colIndex: number;
565
+ column: Column;
566
+ value: any;
567
+ };
568
+
569
+ declare type CellReadonlyMethod = (params: CellParams) => boolean | void;
570
+
571
+ export declare interface CellRender {
572
+ name: string;
573
+ props?: Recordable;
574
+ attrs?: Recordable;
575
+ children?: Recordable[];
576
+ }
577
+
578
+ declare type CellRenderMethod = (params: CellParams) => string | void;
579
+
580
+ declare type CellRulesMethod = (params: CellParams) => Rules | void;
581
+
582
+ declare type CellStyleMethod = (params: CellStyleParams) => CellStyleOptions | void;
583
+
584
+ declare type CellStyleOptions = {
585
+ color?: string;
586
+ backgroundColor?: string;
587
+ font?: string;
588
+ };
589
+
590
+ declare type CellStyleParams = CellParams & {
591
+ isHasChanged?: boolean;
592
+ };
593
+
594
+ declare type CellType = 'header' | 'body' | 'footer';
595
+
596
+ declare type CellTypeMethod = (params: CellParams) => Type | void;
597
+
598
+ declare type ChangeItem = {
599
+ value: any;
600
+ key: string;
601
+ rowKey: string;
602
+ row: any;
603
+ oldValue?: any;
604
+ };
605
+
606
+ export declare const cleanCol: (col: ColumnProps) => ColumnType | ColumnGroupType<Recordable>;
607
+
608
+ declare type ColProps = Partial<ExtractPropTypes<ReturnType<typeof colProps>>>;
609
+
610
+ declare const colProps: () => {
611
+ span: (StringConstructor | NumberConstructor)[];
612
+ order: (StringConstructor | NumberConstructor)[];
613
+ offset: (StringConstructor | NumberConstructor)[];
614
+ push: (StringConstructor | NumberConstructor)[];
615
+ pull: (StringConstructor | NumberConstructor)[];
616
+ xs: {
617
+ type: PropType<string | number | ColSize>;
618
+ default: string | number | ColSize;
619
+ };
620
+ sm: {
621
+ type: PropType<string | number | ColSize>;
622
+ default: string | number | ColSize;
623
+ };
624
+ md: {
625
+ type: PropType<string | number | ColSize>;
626
+ default: string | number | ColSize;
627
+ };
628
+ lg: {
629
+ type: PropType<string | number | ColSize>;
630
+ default: string | number | ColSize;
631
+ };
632
+ xl: {
633
+ type: PropType<string | number | ColSize>;
634
+ default: string | number | ColSize;
635
+ };
636
+ xxl: {
637
+ type: PropType<string | number | ColSize>;
638
+ default: string | number | ColSize;
639
+ };
640
+ prefixCls: StringConstructor;
641
+ flex: (StringConstructor | NumberConstructor)[];
642
+ };
643
+
644
+ declare interface ColSize {
645
+ span?: ColSpanType;
646
+ order?: ColSpanType;
647
+ offset?: ColSpanType;
648
+ push?: ColSpanType;
649
+ pull?: ColSpanType;
650
+ }
651
+
652
+ declare type ColSpanType = number | string;
653
+
654
+ declare interface Column {
655
+ key: string;
656
+ title: string;
657
+ type?: Type;
658
+ operation?: boolean;
659
+ editorType?: string;
660
+ editorProps?: any;
661
+ hoverIconName?: string;
662
+ placeholder?: string;
663
+ width?: number;
664
+ minWidth?: number;
665
+ maxWidth?: number;
666
+ widthFillDisable?: boolean;
667
+ headerAlign?: Align;
668
+ headerVerticalAlign?: VerticalAlign;
669
+ hideHeaderSelection?: boolean;
670
+ align?: Align;
671
+ verticalAlign?: VerticalAlign;
672
+ fixed?: Fixed;
673
+ level?: number;
674
+ text?: string;
675
+ colspan?: number;
676
+ rowspan?: number;
677
+ sort?: number;
678
+ sortBy?: SortByType;
679
+ sortIconName?: string;
680
+ sortAscIconName?: string;
681
+ sortDescIconName?: string;
682
+ parentKey?: string;
683
+ hide?: boolean | Function;
684
+ render?: Function | string;
685
+ renderFooter?: Function | string;
686
+ renderHeader?: Function | string;
687
+ formatter?: FormatterMethod;
688
+ formatterFooter?: FormatterMethod;
689
+ autoRowHeight?: boolean;
690
+ overflowTooltipShow?: boolean;
691
+ overflowTooltipHeaderShow?: boolean;
692
+ overflowTooltipMaxWidth?: number;
693
+ overflowTooltipPlacement?: OverflowTooltipPlacement;
694
+ required?: boolean;
695
+ readonly?: boolean;
696
+ children?: Column[];
697
+ column?: Column;
698
+ rules?: Rules | Rule;
699
+ options?: any;
700
+ dragDisabled?: boolean;
701
+ hideDisabled?: boolean;
702
+ fixedDisabled?: boolean;
703
+ selectorCellValueType?: SelectorCellValueType;
704
+ maxLineClamp?: LineClampType;
705
+ maxLineClampHeader?: LineClampType;
706
+ }
707
+
708
+ export declare interface ColumnProps<D extends Recordable = Recordable> extends Omit<ColumnType, 'slots'> {
709
+ field?: string;
710
+ children?: ColumnProps<D>[];
711
+ formatter?: string | [string, ...Array<any>] | ((arg: PartialByKeys<CellFuncArg<D>, 'cellValue'>) => any);
712
+ slots?: {
713
+ default?: ({ row, column, rowIndex }: PartialByKeys<CellFuncArg<D>, 'cellValue'>) => any;
714
+ title?: ({ column }: {
715
+ column: ColumnProps<D>;
716
+ }) => any;
717
+ };
718
+ cellRender?: CellRender;
719
+ }
720
+
721
+ declare class Config {
722
+ private _config;
723
+ /** CSS 类名前缀 */
724
+ CSS_PREFIX: string;
725
+ /** 图标集合 */
726
+ ICONS: IconType[];
727
+ /** 行的唯一标识键 */
728
+ ROW_KEY: string;
729
+ /** 禁用编辑,优先等级最高 */
730
+ DISABLED: boolean;
731
+ /** 表头字体 */
732
+ HEADER_FONT: string;
733
+ /** 单元格字体 */
734
+ BODY_FONT: string;
735
+ /** 边框 */
736
+ BORDER: boolean;
737
+ /** 斑马纹 */
738
+ STRIPE: boolean;
739
+ /** 斑马纹颜色 */
740
+ STRIPE_COLOR: string;
741
+ /** 区域边框颜色 */
742
+ BORDER_COLOR: string;
743
+ /** 高度,为 0 表示自适应 */
744
+ HEIGHT: number;
745
+ /** 占位文本颜色 */
746
+ PLACEHOLDER_COLOR: string;
747
+ /** 空数据 body 高度 */
748
+ EMPTY_BODY_HEIGHT: number;
749
+ /** 自定义空样式 */
750
+ EMPTY_CUSTOM_STYLE: Partial<CSSStyleDeclaration>;
751
+ /** 数字类型错误提示 */
752
+ NUMBER_ERROR_TIP: string;
753
+ /** 空数据文本 */
754
+ EMPTY_TEXT: string;
755
+ /** 加载文本 */
756
+ LOADING_TEXT: string;
757
+ /** 最大高度,为 0 表示自适应高度根据 HEIGHT */
758
+ MAX_HEIGHT: number;
759
+ /** 区域边框圆角 */
760
+ BORDER_RADIUS: number;
761
+ /** 启用偏移高度内部计算表格高度 */
762
+ ENABLE_OFFSET_HEIGHT: boolean;
763
+ /** 偏移高度 */
764
+ OFFSET_HEIGHT: number;
765
+ /** 表头高度 */
766
+ HEADER_HEIGHT: number;
767
+ /** 启用头部固定,需要外面实现覆盖层,或者所有表头都要是元素 */
768
+ ENABLE_HEADER_STICKY: boolean;
769
+ /** 表头背景色 */
770
+ HEADER_BG_COLOR: string;
771
+ /** body 背景色 */
772
+ BODY_BG_COLOR: string;
773
+ /** 表头文本颜色 */
774
+ HEADER_TEXT_COLOR: string;
775
+ /** 必填*颜色 */
776
+ REQUIRED_COLOR: string;
777
+ /** body文本颜色 */
778
+ BODY_TEXT_COLOR: string;
779
+ /** footer文本颜色 */
780
+ FOOTER_TEXT_COLOR: string;
781
+ /** 加载 svg 图标 */
782
+ LOADING_ICON_SVG: string;
783
+ /** 加载 svg 图标颜色 */
784
+ LOADING_ICON_COLOR: string;
785
+ /** 树形展开svg 图标 */
786
+ EXPAND_ICON_SVG: string;
787
+ /** 树形收缩svg 图标 */
788
+ SHRINK_ICON_SVG: string;
789
+ /** 展开图标颜色 */
790
+ EXPAND_ICON_COLOR: string;
791
+ /** 收缩图标颜色 */
792
+ SHRINK_ICON_COLOR: string;
793
+ /** 错误提示颜色 */
794
+ ERROR_TIP_ICON_COLOR: string;
795
+ /** 错误提示图标大小 */
796
+ ERROR_TIP_ICON_SIZE: number;
797
+ /** 所有列对齐方式 */
798
+ COLUMNS_ALIGN: Align;
799
+ /** 所有列垂直对齐方式 */
800
+ COLUMNS_VERTICAL_ALIGN: VerticalAlign;
801
+ /** 是否开启懒加载 */
802
+ EXPAND_LAZY: boolean;
803
+ /** 默认展开全部 */
804
+ DEFAULT_EXPAND_ALL: boolean;
805
+ /** 表格 body 部分的宽度 */
806
+ CELL_WIDTH: number;
807
+ /** body 单元格默认行高 */
808
+ CELL_HEIGHT: number;
809
+ /** 表格 body 部分的 padding */
810
+ CELL_PADDING: number;
811
+ /** hover编辑图标大小 */
812
+ CELL_HOVER_ICON_SIZE: number;
813
+ /** hover编辑图标背景色 */
814
+ CELL_HOVER_ICON_BG_COLOR: string;
815
+ /** hover编辑图标边框颜色 */
816
+ CELL_HOVER_ICON_BORDER_COLOR: string;
817
+ /** 滚动条轨道尺寸 */
818
+ SCROLLER_TRACK_SIZE: number;
819
+ /** 滚动条滑块尺寸 */
820
+ SCROLLER_SIZE: number;
821
+ /** 滚动条滑块颜色 */
822
+ SCROLLER_COLOR: string;
823
+ /** 轨道颜色 */
824
+ SCROLLER_TRACK_COLOR: string;
825
+ /** 滚动条滑块聚焦时的颜色 */
826
+ SCROLLER_FOCUS_COLOR: string;
827
+ /** 选中区域边框颜色 */
828
+ SELECT_BORDER_COLOR: string;
829
+ /** 选中区域背景颜色 */
830
+ SELECT_AREA_COLOR: string;
831
+ /** 当前焦点单元格所在行、列的背景色 */
832
+ SELECT_ROW_COL_BG_COLOR: string;
833
+ /** 填充点的边框颜色 */
834
+ AUTOFILL_POINT_BORDER_COLOR: string;
835
+ /** 可编辑背景色 */
836
+ EDIT_BG_COLOR: string;
837
+ /** 选择 key,合并时用 */
838
+ CHECKBOX_KEY: string;
839
+ /** 选择框颜色 */
840
+ CHECKBOX_COLOR: string;
841
+ /** 查找结果当前行颜色 */
842
+ FINDER_CELL_BG_COLOR: string;
843
+ /** 启用查找 */
844
+ ENABLE_FINDER: boolean;
845
+ /** 选择框大小 */
846
+ CHECKBOX_SIZE: number;
847
+ /** 选择框禁用图标 */
848
+ CHECKBOX_DISABLED_SVG: string;
849
+ /** 选择框禁用图标颜色 */
850
+ CHECKBOX_DISABLED_COLOR: string;
851
+ /** 选择框选中图标 */
852
+ CHECKBOX_CHECK_SVG: string;
853
+ /** 选择框未中图标 */
854
+ CHECKBOX_UNCHECK_SVG: string;
855
+ /** 选择框未中图标颜色 */
856
+ CHECKBOX_UNCHECK_COLOR: string;
857
+ /** 选择框半选中图标 */
858
+ CHECKBOX_INDETERMINATE_SVG: string;
859
+ /** 选择框选中禁用图标 */
860
+ CHECKBOX_CHECK_DISABLED_SVG: string;
861
+ /** 选择框选中禁用图标颜色 */
862
+ CHECKBOX_CHECK_DISABLED_COLOR: string;
863
+ /** 编辑图标 */
864
+ ICON_EDIT_SVG: string;
865
+ /** 编辑图标颜色 */
866
+ ICON_EDIT_COLOR: string;
867
+ /** 选择图标 */
868
+ ICON_SELECT_SVG: string;
869
+ /** 选择图标颜色 */
870
+ ICON_SELECT_COLOR: string;
871
+ /** 启用严格排序,即不支持多列排序 */
872
+ SORT_STRICTLY: boolean;
873
+ /** 排序升序图标 */
874
+ SORT_ASC_ICON_SVG: string;
875
+ /** 排序降序图标 */
876
+ SORT_DESC_ICON_SVG: string;
877
+ /** 排序默认图标 */
878
+ SORTABLE_ICON_SVG: string;
879
+ /** 排序图标颜色 */
880
+ SORT_ICON_COLOR: string;
881
+ /** 单元格只读背景色 */
882
+ READONLY_COLOR: string;
883
+ /** 单元格只读文本颜色 */
884
+ READONLY_TEXT_COLOR: string;
885
+ /** 单元格错误提示文本颜色 */
886
+ ERROR_TIP_COLOR: string;
887
+ /** 合计底部背景色 */
888
+ FOOTER_BG_COLOR: string;
889
+ /** 合计底部固定 */
890
+ FOOTER_FIXED: boolean;
891
+ /** 合计底部位置 */
892
+ FOOTER_POSITION: FooterPosition;
893
+ /** 单元格底部高度 */
894
+ CELL_FOOTER_HEIGHT: number;
895
+ /** 启用选择器 */
896
+ ENABLE_SELECTOR: boolean;
897
+ /** 树形选择模式 */
898
+ TREE_SELECT_MODE: TreeSelectMode;
899
+ /** 树形子项key名称 */
900
+ TREE_CHILDREN_KEY: string;
901
+ /** 树形缩进宽度 */
902
+ TREE_INDENT: number;
903
+ /** 树形图标大小 */
904
+ TREE_ICON_SIZE: number;
905
+ /**树形划线 */
906
+ TREE_LINE: boolean;
907
+ /** 树形划线颜色 */
908
+ TREE_LINE_COLOR: string;
909
+ /** 启用单点击立马编辑 */
910
+ ENABLE_EDIT_SINGLE_CLICK: boolean;
911
+ /** 启用点击选择器编辑 */
912
+ ENABLE_EDIT_CLICK_SELECTOR: boolean;
913
+ /** 选择器X最小范围 */
914
+ SELECTOR_AREA_MIN_X: number;
915
+ /** 选择器X最大范围colMax - offset */
916
+ SELECTOR_AREA_MAX_X_OFFSET: number;
917
+ /** 选择器X最大范围,0默认最大colMax */
918
+ SELECTOR_AREA_MAX_X: number;
919
+ /** 选择器Y最小范围 */
920
+ SELECTOR_AREA_MIN_Y: number;
921
+ /** 选择器Y最大范围,0默认rowMax */
922
+ SELECTOR_AREA_MAX_Y: number;
923
+ /** 选择器Y最大范围,0默认rowMax */
924
+ SELECTOR_AREA_MAX_Y_OFFSET: number;
925
+ /** 选择器值类型,value,displayText,区别displayText受format影响 */
926
+ SELECTOR_CELL_VALUE_TYPE: SelectorCellValueType;
927
+ /** 启用自动主题 */
928
+ ENABLE_AUTO_THEME: boolean;
929
+ /** 启用选择器-选择器单选 */
930
+ ENABLE_SELECTOR_SINGLE: boolean;
931
+ /** 启用选择器-批量跨列选择 */
932
+ ENABLE_SELECTOR_SPAN_COL: boolean;
933
+ /** 启用选择器-批量跨行选择 */
934
+ ENABLE_SELECTOR_SPAN_ROW: boolean;
935
+ /** 启用选择器-批量选中列 */
936
+ ENABLE_SELECTOR_ALL_ROWS: boolean;
937
+ /** 启用选择器-批量选中行 */
938
+ ENABLE_SELECTOR_ALL_COLS: boolean;
939
+ /** 启用合并格子数据关联 */
940
+ ENABLE_MERGE_CELL_LINK: boolean;
941
+ /** 启用填充器 */
942
+ ENABLE_AUTOFILL: boolean;
943
+ /** 启用选择器-批量跨列选择 */
944
+ ENABLE_AUTOFILL_SPAN_COL: boolean;
945
+ /** 启用选择器-批量跨行选择 */
946
+ ENABLE_AUTOFILL_SPAN_ROW: boolean;
947
+ /** 启用body右键菜单 */
948
+ ENABLE_CONTEXT_MENU: boolean;
949
+ /** 启用表头右键菜单 */
950
+ ENABLE_HEADER_CONTEXT_MENU: boolean;
951
+ /** 启用复制 */
952
+ ENABLE_COPY: boolean;
953
+ /** 启用粘贴 */
954
+ ENABLE_PASTER: boolean;
955
+ /** 启用调整行高 */
956
+ ENABLE_RESIZE_ROW: boolean;
957
+ /** 启用列宽可调整 */
958
+ ENABLE_RESIZE_COLUMN: boolean;
959
+ /** 行调整线颜色 */
960
+ RESIZE_ROW_LINE_COLOR: string;
961
+ /** 列调整线颜色 */
962
+ RESIZE_COLUMN_LINE_COLOR: string;
963
+ /** 启用列调整文本 */
964
+ ENABLE_RESIZE_COLUMN_TEXT: boolean;
965
+ /** 列调整线颜色 */
966
+ RESIZE_COLUMN_TEXT_COLOR: string;
967
+ /** 列调整线文本背景色 */
968
+ RESIZE_COLUMN_TEXT_BG_COLOR: string;
969
+ /** 最小调整行高 */
970
+ RESIZE_ROW_MIN_HEIGHT: number;
971
+ /** 列宽最小值 */
972
+ RESIZE_COLUMN_MIN_WIDTH: number;
973
+ /** 拖拽提示背景色 */
974
+ DRAG_TIP_BG_COLOR: string;
975
+ /** 拖拽提示线颜色 */
976
+ DRAG_TIP_LINE_COLOR: string;
977
+ /** 拖拽提示文本颜色 */
978
+ /** 启用键盘 */
979
+ ENABLE_KEYBOARD: boolean;
980
+ /** 启用历史 */
981
+ ENABLE_HISTORY: boolean;
982
+ ENABLE_VALIDATOR_IMMEDIATE: boolean;
983
+ /** 历史栈数量 */
984
+ HISTORY_NUM: number;
985
+ /** 启用悬浮高亮 */
986
+ HIGHLIGHT_HOVER_ROW: boolean;
987
+ /** 悬浮颜色 */
988
+ HIGHLIGHT_HOVER_ROW_COLOR: string;
989
+ /** 高亮选中当前行 */
990
+ HIGHLIGHT_SELECTED_ROW: boolean;
991
+ /** 高亮当前行颜色 */
992
+ HIGHLIGHT_SELECTED_ROW_COLOR: string;
993
+ /** 提示背景颜色 */
994
+ TOOLTIP_BG_COLOR: string;
995
+ /** 提示文本颜色 */
996
+ TOOLTIP_TEXT_COLOR: string;
997
+ /** 提示层级 */
998
+ TOOLTIP_ZINDEX: number;
999
+ /** 自定义提示样式 */
1000
+ TOOLTIP_CUSTOM_STYLE: Partial<CSSStyleDeclaration>;
1001
+ /** 自定义右键菜单 */
1002
+ CONTEXT_MENU: MenuItem[];
1003
+ CUSTOM_BODY_CONTEXT_MENU: MenuItem[];
1004
+ HEADER_CONTEXT_MENU: MenuItem[];
1005
+ CUSTOM_HEADER_CONTEXT_MENU: MenuItem[];
1006
+ /** 格子多行文本行高,isAutoRowHeight才会生效 */
1007
+ CELL_LINE_HEIGHT: number;
1008
+ /** 全局自动行高 */
1009
+ AUTO_ROW_HEIGHT: boolean;
1010
+ /** 启用拖拽表头 */
1011
+ ENABLE_DRAG_COLUMN: boolean;
1012
+ /** header 格子样式 */
1013
+ HEADER_CELL_STYLE_METHOD?: CellHeaderStyleMethod;
1014
+ /** body 格子样式 */
1015
+ BODY_CELL_STYLE_METHOD?: CellStyleMethod;
1016
+ /** footer 格子样式 */
1017
+ FOOTER_CELL_STYLE_METHOD?: CellStyleMethod;
1018
+ /** 自定义只读 */
1019
+ BODY_CELL_READONLY_METHOD?: CellReadonlyMethod;
1020
+ /** 格式化方法更改(formatter优先等级比较高) */
1021
+ BODY_CELL_FORMATTER_METHOD?: FormatterMethod;
1022
+ /** 自定义校验规则 */
1023
+ BODY_CELL_RULES_METHOD?: CellRulesMethod;
1024
+ /** 自定义只读 */
1025
+ BODY_CELL_TYPE_METHOD?: CellTypeMethod;
1026
+ /** 自定义编辑器类型 */
1027
+ BODY_CELL_EDITOR_METHOD?: CellEditorMethod;
1028
+ /** 自定义只读 */
1029
+ BODY_CELL_RENDER_METHOD?: CellRenderMethod;
1030
+ /** 自定义只读 */
1031
+ BODY_CELL_HOVER_ICON_METHOD?: CellHoverIconMethod;
1032
+ /** 自定义跨列/行渲染 */
1033
+ SPAN_METHOD?: SpanMethod;
1034
+ /** 自定义选择禁用 */
1035
+ SELECTABLE_METHOD?: SelectableMethod;
1036
+ /** 自定义选择禁用 */
1037
+ EXPAND_LAZY_METHOD?: ExpandLazyMethod;
1038
+ /** 数值改变前回调 */
1039
+ BEFORE_VALUE_CHANGE_METHOD?: BeforeCellValueChangeMethod;
1040
+ /** 粘贴前回调 */
1041
+ BEFORE_PASTE_DATA_METHOD?: BeforePasteDataMethod;
1042
+ /** 数值填充前回调 */
1043
+ BEFORE_AUTOFILL_DATA_METHOD?: BeforeAutofillDataMethod;
1044
+ /** 设置选择器前回调 */
1045
+ BEFORE_SET_SELECTOR_METHOD?: BeforeSetSelectorMethod;
1046
+ /** 设置填充器前回调 */
1047
+ BEFORE_SET_AUTOFILL_METHOD?: BeforeSetAutofillMethod;
1048
+ /** 数据复制前回调 */
1049
+ BEFORE_COPY_METHOD?: BeforeCopyMethod;
1050
+ constructor(config: Partial<Config>);
1051
+ /** 初始化 */
1052
+ init(config: ConfigType): void;
1053
+ /** 同步css 样式变量 */
1054
+ updateCssVar(): void;
1055
+ }
1056
+
1057
+ declare type ConfigColorNameType = 'LOADING_ICON_COLOR' | 'EXPAND_ICON_COLOR' | 'SHRINK_ICON_COLOR' | 'CHECKBOX_COLOR' | 'SORT_ICON_COLOR' | 'ICON_EDIT_COLOR' | 'ICON_SELECT_COLOR' | 'CHECKBOX_DISABLED_COLOR' | 'CHECKBOX_UNCHECK_COLOR';
1058
+
1059
+ declare type ConfigType = Partial<Config>;
1060
+
1061
+ declare type ConfigTypeName = 'LOADING_ICON_SVG' | 'EXPAND_ICON_SVG' | 'SHRINK_ICON_SVG' | 'CHECKBOX_UNCHECK_SVG' | 'CHECKBOX_CHECK_SVG' | 'CHECKBOX_DISABLED_SVG' | 'ICON_EDIT_SVG' | 'ICON_SELECT_SVG' | 'CHECKBOX_CHECK_DISABLED_SVG' | 'CHECKBOX_INDETERMINATE_SVG' | 'SORT_ASC_ICON_SVG' | 'SORT_DESC_ICON_SVG' | 'SORTABLE_ICON_SVG';
1062
+
1063
+ declare type containerElementOptions = {
1064
+ containerElement: HTMLDivElement;
1065
+ stageElement: HTMLDivElement;
1066
+ canvasElement: HTMLCanvasElement;
1067
+ overlayerElement: HTMLDivElement;
1068
+ editorElement: HTMLDivElement;
1069
+ emptyElement?: HTMLDivElement;
1070
+ contextMenuElement?: HTMLDivElement;
1071
+ loadingElement?: HTMLDivElement;
1072
+ };
1073
+
1074
+ declare class Context {
1075
+ private eventBus;
1076
+ private eventBrowser;
1077
+ private eventTable;
1078
+ containerElement: HTMLDivElement;
1079
+ stageElement: HTMLDivElement;
1080
+ canvasElement: HTMLCanvasElement;
1081
+ overlayerElement: HTMLDivElement;
1082
+ editorElement: HTMLDivElement;
1083
+ emptyElement?: HTMLDivElement;
1084
+ contextMenuElement?: HTMLDivElement;
1085
+ loadingElement?: HTMLDivElement;
1086
+ stageWidth: number;
1087
+ stageHeight: number;
1088
+ paint: Paint;
1089
+ icons: Icons;
1090
+ domSelectionStr: string;
1091
+ isMouseoverTargetContainer: boolean;
1092
+ mousedown: boolean;
1093
+ isPointer: boolean;
1094
+ isEmpty: boolean;
1095
+ rowResizing: boolean;
1096
+ columnResizing: boolean;
1097
+ scrollerMove: boolean;
1098
+ scrollerFocus: boolean;
1099
+ autofillMove: boolean;
1100
+ selectorMove: boolean;
1101
+ disableHoverIconClick: boolean;
1102
+ selectColsIng: boolean;
1103
+ selectRowsIng: boolean;
1104
+ dragHeaderIng: boolean;
1105
+ finding: boolean;
1106
+ contextMenuIng: boolean;
1107
+ editing: boolean;
1108
+ loading: boolean;
1109
+ onlyMergeCell: boolean;
1110
+ selectOnlyOne: boolean;
1111
+ hasSelection: boolean;
1112
+ hasTree: boolean;
1113
+ scrollY: number;
1114
+ scrollX: number;
1115
+ fixedLeftWidth: number;
1116
+ fixedRightWidth: number;
1117
+ lastCenterColIndex: number;
1118
+ maxColIndex: number;
1119
+ maxRowIndex: number;
1120
+ hoverRow?: Row;
1121
+ clickCell?: Cell;
1122
+ focusCell?: Cell;
1123
+ currentCell?: Cell;
1124
+ hoverCell?: Cell;
1125
+ clickCellHeader?: CellHeader;
1126
+ focusCellHeader?: CellHeader;
1127
+ hoverCellHeader?: CellHeader;
1128
+ mouseX: number;
1129
+ mouseY: number;
1130
+ body: BodyOptions;
1131
+ footer: FooterOptions;
1132
+ header: HeaderOptions;
1133
+ selector: SelectorOptions;
1134
+ autofill: AutofillOptions;
1135
+ finderBar: FinderResult;
1136
+ database: Database;
1137
+ history: History_2;
1138
+ config: Config;
1139
+ constructor(containerOptions: containerElementOptions, options: EVirtTableOptions);
1140
+ setConfig(config: Config): void;
1141
+ setItemValueByEditor(rowKey: string, key: string, value: any, history?: boolean, reDraw?: boolean, checkReadonly?: boolean): void;
1142
+ batchSetItemValueByEditor(_list: ChangeItem[], history?: boolean, checkReadonly?: boolean): void;
1143
+ setFocusCell(cell: Cell): void;
1144
+ clearSelector(): void;
1145
+ clearSelectorCopy(): void;
1146
+ clearAutofill(): void;
1147
+ /**
1148
+ * 获取选中的数据
1149
+ * @returns
1150
+ */
1151
+ getSelectedData(): {
1152
+ xArr: number[];
1153
+ yArr: number[];
1154
+ text: string;
1155
+ value: any[][];
1156
+ };
1157
+ setScroll(x: number, y: number): void;
1158
+ setScrollX(x: number): void;
1159
+ setScrollY(y: number): void;
1160
+ startAdjustPosition(e: MouseEvent): void;
1161
+ stopAdjustPosition(): void;
1162
+ isTarget(e: Event): boolean;
1163
+ getOffset(e: MouseEvent): {
1164
+ offsetX: number;
1165
+ offsetY: number;
1166
+ };
1167
+ hasEvent(event: string): boolean;
1168
+ on(event: string, callback: EventCallback): void;
1169
+ once(event: string, callback: EventCallback): void;
1170
+ off(event: string, callback: EventCallback): void;
1171
+ emit(event: string, ...args: any[]): void;
1172
+ destroy(): void;
1173
+ }
1174
+
1175
+ export declare function createAutoViewportBoxController(getEl: () => HTMLElement | null | undefined, getOffset: () => AutoViewportBoxOffset, options?: AutoViewportBoxControllerOptions): AutoViewportBoxController;
1176
+
1177
+ declare type CustomHeader = {
1178
+ fixedData?: Record<string, Fixed | ''>;
1179
+ sortData?: Record<string, number>;
1180
+ hideData?: Record<string, boolean>;
1181
+ resizableData?: Record<string, number>;
1182
+ };
1183
+
1184
+ declare interface CustomScrollAction {
1185
+ el: Element;
1186
+ top: number;
1187
+ left: number;
1188
+ }
1189
+
1190
+ declare type CustomScrollBehaviorCallback<T> = (actions: CustomScrollAction[]) => T;
1191
+
1192
+ declare type CustomScrollBoundary = Element | CustomScrollBoundaryCallback | null;
1193
+
1194
+ declare type CustomScrollBoundaryCallback = (parent: Element) => boolean;
1195
+
1196
+ declare class Database {
1197
+ private ctx;
1198
+ private data;
1199
+ private columns;
1200
+ private footerData;
1201
+ private rowKeyMap;
1202
+ private colIndexKeyMap;
1203
+ private headerMap;
1204
+ private rowIndexRowKeyMap;
1205
+ private rowKeyRowIndexMap;
1206
+ private checkboxKeyMap;
1207
+ private selectionMap;
1208
+ private expandMap;
1209
+ private originalDataMap;
1210
+ private changedDataMap;
1211
+ private validationErrorMap;
1212
+ private itemRowKeyMap;
1213
+ private bufferData;
1214
+ private customHeader;
1215
+ overlayerAutoHeightMap: Map<string, number>;
1216
+ private maxRowHeightCellMap;
1217
+ private bufferCheckState;
1218
+ private sumHeight;
1219
+ private filterMethod;
1220
+ private positions;
1221
+ private sortState;
1222
+ constructor(ctx: Context, options: EVirtTableOptions);
1223
+ init(isClear?: boolean): void;
1224
+ /**
1225
+ * 清除缓存数据
1226
+ */
1227
+ clearBufferData(): void;
1228
+ /**
1229
+ * 初始化数据
1230
+ * @param dataList
1231
+ * @param level
1232
+ */
1233
+ private initData;
1234
+ /**
1235
+ *
1236
+ * @param rowKey 设置Row高度
1237
+ * @param height
1238
+ */
1239
+ setRowHeight(rowIndex: number, height: number): void;
1240
+ setBatchRowHeight(rowIndexHeightList: {
1241
+ rowIndex: number;
1242
+ height: number;
1243
+ }[]): void;
1244
+ setBatchCalculatedRowHeight(rowIndexHeightList: {
1245
+ rowIndex: number;
1246
+ height: number;
1247
+ }[]): boolean;
1248
+ /**
1249
+ * 获取所有行数据(平铺)
1250
+ * @returns 获取转化平铺数据
1251
+ */
1252
+ getAllRowsData(): any[];
1253
+ private generateColumns;
1254
+ getColumns(): Column[];
1255
+ setColumns(columns: Column[]): void;
1256
+ setData(data: any[]): void;
1257
+ /**
1258
+ * 统一转化数据,给画body使用,包括过滤树状等,统一入口
1259
+ * @returns
1260
+ */
1261
+ getData(): {
1262
+ data: any[];
1263
+ sumHeight: number;
1264
+ positions: Position[];
1265
+ };
1266
+ setFooterData(data: any[]): void;
1267
+ getFooterData(): any[];
1268
+ /**
1269
+ * 设置过滤方法
1270
+ */
1271
+ setFilterMethod(filterMethod: FilterMethod): void;
1272
+ /**
1273
+ * 清空过滤方法
1274
+ */
1275
+ clearFilterMethod(): void;
1276
+ /**
1277
+ * 获取排序状态
1278
+ */
1279
+ getSortState(key: string): SortStateMapItem;
1280
+ /**
1281
+ * 设置排序状态
1282
+ */
1283
+ setSortState(key: string, direction: 'asc' | 'desc' | 'none'): void;
1284
+ /**
1285
+ * 清除所有排序状态
1286
+ */
1287
+ clearSort(): void;
1288
+ /**
1289
+ * 递归排序方法,支持树形数据
1290
+ * @param data 要排序的数据
1291
+ * @param sortedEntries 排序条目,按时间戳排序
1292
+ * @returns 排序后的数据
1293
+ */
1294
+ private sortDataRecursive;
1295
+ /**
1296
+ * 对数组进行单列排序
1297
+ * @param data 要排序的数据
1298
+ * @param key 排序的列键
1299
+ * @param direction 排序方向
1300
+ * @param sortBy 排序类型
1301
+ * @returns 排序后的数据
1302
+ */
1303
+ private applySingleColumnSort;
1304
+ /**
1305
+ * 根据rowKey,控制指定展开行
1306
+ * @param rowKey
1307
+ * @param expand
1308
+ */
1309
+ expandItem(rowKey: string, expand?: boolean): void;
1310
+ setExpandRowKeys(rowKeys: any[], expand?: boolean): void;
1311
+ getExpandRowKeys(): string[];
1312
+ expandAll(expand: boolean): void;
1313
+ expandLoading(rowKey: string, loading?: boolean): void;
1314
+ setExpandChildren(rowKey: string, children: any[]): void;
1315
+ getIsExpandLoading(rowKey: string): any;
1316
+ getIsExpandLazy(rowKey: string): any;
1317
+ /**
1318
+ * 根据rowKey获取是否展开
1319
+ * @param rowKey
1320
+ * @returns
1321
+ */
1322
+ getIsExpand(rowKey: string): any;
1323
+ /**
1324
+ * 根据rowKey获取行数据
1325
+ * @param rowKey
1326
+ * @returns
1327
+ */
1328
+ getRowForRowKey(rowKey: string): any;
1329
+ getRowForRowIndex(rowIndex: number): any;
1330
+ /**
1331
+ * 根据rowIndex获取rowKey
1332
+ * @param rowKey
1333
+ * @returns
1334
+ */
1335
+ getRowKeyForRowIndex(rowIndex: number): string;
1336
+ getRowKeyByItem(item: any): any;
1337
+ getRowIndexForRowKey(rowKey: string): number | undefined;
1338
+ /**
1339
+ * 根据rowIndex和colIndex获取单元格数据
1340
+ * @param rowIndex
1341
+ * @param colIndex
1342
+ * @returns
1343
+ */
1344
+ getItemValueForRowIndexAndColIndex(rowIndex: number, colIndex: number): {
1345
+ rowKey: string;
1346
+ key: string;
1347
+ value: any;
1348
+ } | null;
1349
+ /**
1350
+ * 根据rowKey和key获取单元格数据
1351
+ * @param rowKey
1352
+ * @param key
1353
+ * @returns
1354
+ */
1355
+ getItemValue(rowKey: string, key: string): any;
1356
+ /**
1357
+ * 批量设置数据
1358
+ * @param list
1359
+ * @param history
1360
+ * @returns
1361
+ */
1362
+ batchSetItemValue(_list: ChangeItem[], history?: boolean, checkReadonly?: boolean, historyAcion?: HistoryAction): Promise<void>;
1363
+ /**
1364
+ *设置单一数据
1365
+ * @param rowKey
1366
+ * @param key
1367
+ * @param value
1368
+ * @param history 是否添加历史记录
1369
+ * @param reDraw 是否刷新重绘
1370
+ * @param isEditor 是否是编辑器
1371
+ * @param checkReadonly 是否检查只读
1372
+ * @returns
1373
+ */
1374
+ setItemValue(rowKey: string, key: string, _value: any, history?: boolean, reDraw?: boolean, isEditor?: boolean, checkReadonly?: boolean): Promise<{
1375
+ oldValue?: undefined;
1376
+ newValue?: undefined;
1377
+ } | {
1378
+ oldValue: any;
1379
+ newValue: any;
1380
+ }>;
1381
+ /**
1382
+ * 根据rowKey 获取行数据
1383
+ * @param rowKey
1384
+ * @returns
1385
+ */
1386
+ getRowDataItemForRowKey(rowKey: string): any;
1387
+ /**
1388
+ *
1389
+ * @param rowKey 设置选中状态ByCheckboxKey,用于合并Checkbox单元格时声明唯一key
1390
+ * @param check
1391
+ */
1392
+ private setRowSelectionByCheckboxKey;
1393
+ /**
1394
+ * 根据rowKey 取反选中
1395
+ * @param rowKey
1396
+ */
1397
+ toggleRowSelection(rowKey: string, cellType?: string): void;
1398
+ toggleTreeSelection(rowKey: string): void;
1399
+ private selectTreeSelectionRecursive;
1400
+ private clearTreeSelectionRecursive;
1401
+ private updateParentTreeSelection;
1402
+ /**
1403
+ * 根据rowKey 设置选中状态
1404
+ * @param rowKey
1405
+ */
1406
+ setRowSelection(rowKey: string, check: boolean, draw?: boolean): void;
1407
+ setRowSelectionByParent(rowKey: string, check: boolean): void;
1408
+ getSelectionRows(): any[];
1409
+ /**
1410
+ * 根据rowKey 获取选中状态
1411
+ * @param rowKey
1412
+ */
1413
+ getRowSelection(rowKey: string): boolean;
1414
+ getTreeSelectionState(rowKey: string): {
1415
+ checked: boolean;
1416
+ indeterminate: boolean;
1417
+ };
1418
+ getTreeChildren(rowKey: string): string[];
1419
+ getTreeParent(rowKey: string): string | null;
1420
+ /**
1421
+ * 根据rowKey 获取选中状态
1422
+ * @param rowKey
1423
+ */
1424
+ getRowSelectable(rowKey: string): any;
1425
+ /**
1426
+ * 全选
1427
+ * @param rowKey
1428
+ */
1429
+ toggleAllSelection(): void;
1430
+ /**
1431
+ * 清除选中
1432
+ * @param rowKey
1433
+ */
1434
+ clearSelection(ignoreReserve?: boolean): void;
1435
+ /**
1436
+ * 获取选中状态,表头用
1437
+ * @param rowKey
1438
+ */
1439
+ getCheckedState(): {
1440
+ check: boolean;
1441
+ indeterminate: boolean;
1442
+ selectable: boolean;
1443
+ };
1444
+ /**
1445
+ * 更新列索引
1446
+ * @param list 表头末级列表
1447
+ */
1448
+ updateColIndexKeyMap(list?: CellHeader[]): void;
1449
+ getColumnByColIndex(colIndex: number): Column | undefined;
1450
+ getColumnByKey(key: string): CellHeader | undefined;
1451
+ getColIndexForKey(key: string): number | undefined;
1452
+ getColHeaderByIndex(colIndex: number): CellHeader | undefined;
1453
+ /**
1454
+ * 获取以改变数据
1455
+ */
1456
+ getChangedData(): {
1457
+ rowKey: string;
1458
+ colKey: string;
1459
+ row: any;
1460
+ originalValue: any;
1461
+ value: any;
1462
+ }[];
1463
+ getChangedRows(): any[];
1464
+ /**
1465
+ * 获取改变值是否已经改变
1466
+ * @param rowKey
1467
+ * @param key
1468
+ * @returns
1469
+ */
1470
+ isHasChangedData(rowKey: string, key: string): boolean;
1471
+ getPositionForRowIndex(rowIndex: number): Position;
1472
+ setHeader(key: string, cellHeader: CellHeader): boolean;
1473
+ getReadonly(rowKey: string, key: string): any;
1474
+ clearValidate(): void;
1475
+ hasValidationError(): boolean;
1476
+ getValidator(rowKey: string, key: string): Promise<unknown>;
1477
+ getHeightByRowIndexRowSpan(rowIndex: number, rowSpan: number): number;
1478
+ getSpanInfo(cell: Cell): SpanInfo;
1479
+ setValidationErrorByRowKey(rowKey: string, key: string, message: string): void;
1480
+ setValidationError(rowKey: string, key: string, errors: ValidateResult): void;
1481
+ clearValidationError(rowKey: string, key: string): void;
1482
+ getValidationError(rowKey: string, key: string): ValidateResult;
1483
+ getVirtualBodyCell(rowIndex: number, colIndex: number, isUpdate?: boolean): Cell | undefined;
1484
+ getVirtualBodyCellByKey(rowKey: string, key: string): Cell | undefined;
1485
+ hasMergeCell(xArr: number[], yArr: number[]): boolean;
1486
+ /**
1487
+ * 计算树形数据的最大深度
1488
+ * @param data 树形数据
1489
+ * @param currentDepth 当前深度
1490
+ * @returns 最大深度
1491
+ */
1492
+ private calculateMaxTreeDepth;
1493
+ setOverlayerAutoHeightMap(map: Map<string, number>): void;
1494
+ getOverlayerAutoHeightMap(): Map<string, number>;
1495
+ getOverlayerAutoHeight(rowIndex: number, colIndex: number): number;
1496
+ setCustomHeader(customHeader: CustomHeader, ignoreEmit?: boolean): void;
1497
+ resetCustomHeader(): void;
1498
+ getCustomHeader(): CustomHeader;
1499
+ setCustomHeaderResizableData(key: string, width: number): void;
1500
+ setCustomHeaderHideData(keys: string[], hide: boolean): void;
1501
+ setCustomHeaderFixedData(keys: string[], fixed: Fixed | ''): void;
1502
+ clearCustomHeaderInvalidValues(columns: Column[]): CustomHeader;
1503
+ setMaxRowHeightItem(rowKey: string, key: string, height: number): void;
1504
+ getMaxRowHeightItem(rowKey: string): RowMaxHeightData | undefined;
1505
+ clearChangeData(): void;
1506
+ }
1507
+
1508
+ declare const _default: {
1509
+ install(app: App): void;
1510
+ addFormatter: (formatter: Record<string, (a: CellFuncArg, ...args: any[]) => any>) => void;
1511
+ addRender: (name: string, { renderItemContent, renderDefault, renderEdit }: RenderWorkshop) => void;
1512
+ setup: typeof setup;
1513
+ };
1514
+ export default _default;
1515
+
1516
+ declare type DefaultFactory<T> = (() => T) | T
1517
+
1518
+ export declare const defaultItemResponsive: Responsive;
1519
+
1520
+ export declare const defaultLabelCol: Responsive;
1521
+
1522
+ declare type DefaultType<T> = T extends NativeType ? T : DefaultFactory<T>
1523
+
1524
+ declare type DrawTextOptions = {
1525
+ font?: string;
1526
+ color?: string;
1527
+ align?: Align;
1528
+ padding?: number;
1529
+ verticalAlign?: VerticalAlign;
1530
+ autoRowHeight?: boolean;
1531
+ lineHeight?: number;
1532
+ maxLineClamp?: LineClampType;
1533
+ offsetLeft?: number;
1534
+ offsetRight?: number;
1535
+ textCallback?: (textInfo: TextInfo) => void;
1536
+ cacheTextKey?: string;
1537
+ };
1538
+
1539
+ declare type EditorOptions = {
1540
+ type: string;
1541
+ props: any;
1542
+ };
1543
+
1544
+ declare type EventCallback = (...args: any[]) => void;
1545
+
1546
+ declare type EventCallback_2 = (...args: any[]) => void;
1547
+
1548
+ declare class EVirtTable {
1549
+ private options;
1550
+ private scroller;
1551
+ private header;
1552
+ private body;
1553
+ private footer;
1554
+ private selector;
1555
+ private autofill;
1556
+ private tooltip;
1557
+ private editor;
1558
+ private empty;
1559
+ private overlayer;
1560
+ private contextMenu;
1561
+ private loading;
1562
+ private finderBar;
1563
+ private animationFrameId;
1564
+ ctx: Context;
1565
+ constructor(target: HTMLDivElement, options: EVirtTableOptions);
1566
+ private createContainer;
1567
+ private doDraw;
1568
+ draw(ignoreOverlayer?: boolean): void;
1569
+ loadConfig(_config: ConfigType): void;
1570
+ loadColumns(columns: Column[]): void;
1571
+ loadData(data: any[]): void;
1572
+ loadFooterData(data: any[]): void;
1573
+ setCustomHeader(customHeader: CustomHeader, ignoreEmit?: boolean): void;
1574
+ getCustomHeader(): {
1575
+ columns: Column[];
1576
+ customHeader: CustomHeader;
1577
+ };
1578
+ showColumns(keys: string[], show?: boolean): void;
1579
+ fixedColumns(keys: string[], fixed: Fixed | ''): void;
1580
+ setLoading(loading: boolean): void;
1581
+ on(event: string, callback: EventCallback_2): void;
1582
+ emit(event: string, ...args: any[]): void;
1583
+ off(event: string, callback: EventCallback_2): void;
1584
+ filterMethod(func: FilterMethod): void;
1585
+ editCell(rowIndex: number, colIndex: number): void;
1586
+ setItemValue(rowKey: string, key: string, value: any, history?: boolean, reDraw?: boolean, isEditor?: boolean): void;
1587
+ batchSetItemValue(list: ChangeItem[], history?: boolean): void;
1588
+ setItemValueByEditor(rowKey: string, key: string, value: any, history?: boolean, reDraw?: boolean): void;
1589
+ clearEditableData(value?: null): ChangeItem[];
1590
+ clearEditor(): void;
1591
+ doLayout(): void;
1592
+ getChangedData(): {
1593
+ rowKey: string;
1594
+ colKey: string;
1595
+ row: any;
1596
+ originalValue: any;
1597
+ value: any;
1598
+ }[];
1599
+ getChangedRows(): any[];
1600
+ setCurrentRowByRowIndex(rowIndex: number): void;
1601
+ setCurrentRow(rowKey: string): void;
1602
+ getCurrentRow(): RowParams | undefined;
1603
+ clearValidate(): void;
1604
+ validateFields(ValidateFields: ValidateField[], scrollError?: boolean): Promise<unknown>;
1605
+ validate(scrollError?: boolean): Promise<unknown>;
1606
+ setValidations(errors: ValidateItemError[]): void;
1607
+ getValidations(): Promise<unknown>;
1608
+ hasValidationError(): boolean;
1609
+ scrollTo(x: number, y: number): void;
1610
+ scrollXTo(x: number): void;
1611
+ scrollToColkey(key: string): void;
1612
+ scrollToRowkey(key: string): void;
1613
+ scrollToColIndex(colIndex: number): void;
1614
+ scrollToRowIndex(rowIndex: number): void;
1615
+ scrollYTo(y: number): void;
1616
+ setExpandRowKeys(keys: any[], expand?: boolean): void;
1617
+ getExpandRowKeys(): string[];
1618
+ clearSelection(): void;
1619
+ toggleRowSelection(row: any): void;
1620
+ setSelectionByRows(rows: any[], selected?: boolean): void;
1621
+ setSelectionByRowKeys(keys: string[], selected?: boolean): void;
1622
+ toggleAllSelection(): void;
1623
+ toggleRowExpand(rowKey: string, expand: boolean): void;
1624
+ toggleExpandAll(expand: boolean): void;
1625
+ getSelectionRows(): any[];
1626
+ getPositionForRowIndex(rowIndex: number): Position;
1627
+ getCellValue(rowKey: string, key: string): any;
1628
+ getCellValueByIndex(rowIndex: number, colIndex: number): {
1629
+ rowKey: string;
1630
+ key: string;
1631
+ value: any;
1632
+ } | null;
1633
+ clearSort(): void;
1634
+ contextMenuHide(): void;
1635
+ getUtils(): {
1636
+ mergeColCell: typeof mergeColCell;
1637
+ mergeRowCell: typeof mergeRowCell;
1638
+ getSpanArrByRow: typeof getSpanArrByRow;
1639
+ getSpanObjByColumn: typeof getSpanObjByColumn;
1640
+ };
1641
+ getColumnByKey(key: string): Column | undefined;
1642
+ clearChangeData(): void;
1643
+ getReadonly(rowKey: string, key: string): any;
1644
+ /**
1645
+ * 销毁
1646
+ */
1647
+ destroy(): void;
1648
+ }
1649
+
1650
+ declare type EVirtTableOptions = {
1651
+ data: Record<string, any>[];
1652
+ footerData?: Record<string, any>[];
1653
+ columns: Column[];
1654
+ config?: ConfigType;
1655
+ overlayerElement?: HTMLDivElement;
1656
+ editorElement?: HTMLDivElement;
1657
+ emptyElement?: HTMLDivElement;
1658
+ contextMenuElement?: HTMLDivElement;
1659
+ loadingElement?: HTMLDivElement;
1660
+ };
1661
+
1662
+ declare type ExpandLazyMethod = (params: CellParams) => Promise<any[]>;
1663
+
1664
+ /**
1665
+ * Used by `setFields` config
1666
+ */
1667
+ declare interface FieldData extends Partial<Omit<InternalFieldData, 'name'>> {
1668
+ name: NamePath;
1669
+ }
1670
+
1671
+ declare type FilterMethod = (rows: any[]) => any[];
1672
+
1673
+ declare interface FinderResult {
1674
+ type: 'header' | 'body';
1675
+ rowIndex: number;
1676
+ colIndex: number;
1677
+ text: string;
1678
+ colKey?: string;
1679
+ }
1680
+
1681
+ declare type Fixed = 'left' | 'right' | '';
1682
+
1683
+ declare type FooterOptions = {
1684
+ x: number;
1685
+ y: number;
1686
+ width: number;
1687
+ height: number;
1688
+ visibleHeight: number;
1689
+ visibleWidth: number;
1690
+ renderRows: Row[];
1691
+ };
1692
+
1693
+ declare type FooterPosition = 'top' | 'bottom';
1694
+
1695
+ export declare type FormatterFunc = (c: CellFuncArg, ...args: any[]) => any;
1696
+
1697
+ declare type FormatterMethod = (params: CellParams) => string | void;
1698
+
1699
+ declare type FormLabelAlign = 'left' | 'right';
1700
+
1701
+ declare type FormProps = Partial<ExtractPropTypes<ReturnType<typeof formProps>>>;
1702
+
1703
+ declare const formProps: () => {
1704
+ layout: VueTypeDef<string>;
1705
+ labelCol: {
1706
+ type: PropType<Partial<ExtractPropTypes<{
1707
+ span: (StringConstructor | NumberConstructor)[];
1708
+ order: (StringConstructor | NumberConstructor)[];
1709
+ offset: (StringConstructor | NumberConstructor)[];
1710
+ push: (StringConstructor | NumberConstructor)[];
1711
+ pull: (StringConstructor | NumberConstructor)[];
1712
+ xs: {
1713
+ type: PropType<string | number | ColSize>;
1714
+ default: string | number | ColSize;
1715
+ };
1716
+ sm: {
1717
+ type: PropType<string | number | ColSize>;
1718
+ default: string | number | ColSize;
1719
+ };
1720
+ md: {
1721
+ type: PropType<string | number | ColSize>;
1722
+ default: string | number | ColSize;
1723
+ };
1724
+ lg: {
1725
+ type: PropType<string | number | ColSize>;
1726
+ default: string | number | ColSize;
1727
+ };
1728
+ xl: {
1729
+ type: PropType<string | number | ColSize>;
1730
+ default: string | number | ColSize;
1731
+ };
1732
+ xxl: {
1733
+ type: PropType<string | number | ColSize>;
1734
+ default: string | number | ColSize;
1735
+ };
1736
+ prefixCls: StringConstructor;
1737
+ flex: (StringConstructor | NumberConstructor)[];
1738
+ }>> & HTMLAttributes>;
1739
+ default: Partial<ExtractPropTypes<{
1740
+ span: (StringConstructor | NumberConstructor)[];
1741
+ order: (StringConstructor | NumberConstructor)[];
1742
+ offset: (StringConstructor | NumberConstructor)[];
1743
+ push: (StringConstructor | NumberConstructor)[];
1744
+ pull: (StringConstructor | NumberConstructor)[];
1745
+ xs: {
1746
+ type: PropType<string | number | ColSize>;
1747
+ default: string | number | ColSize;
1748
+ };
1749
+ sm: {
1750
+ type: PropType<string | number | ColSize>;
1751
+ default: string | number | ColSize;
1752
+ };
1753
+ md: {
1754
+ type: PropType<string | number | ColSize>;
1755
+ default: string | number | ColSize;
1756
+ };
1757
+ lg: {
1758
+ type: PropType<string | number | ColSize>;
1759
+ default: string | number | ColSize;
1760
+ };
1761
+ xl: {
1762
+ type: PropType<string | number | ColSize>;
1763
+ default: string | number | ColSize;
1764
+ };
1765
+ xxl: {
1766
+ type: PropType<string | number | ColSize>;
1767
+ default: string | number | ColSize;
1768
+ };
1769
+ prefixCls: StringConstructor;
1770
+ flex: (StringConstructor | NumberConstructor)[];
1771
+ }>> & HTMLAttributes;
1772
+ };
1773
+ wrapperCol: {
1774
+ type: PropType<Partial<ExtractPropTypes<{
1775
+ span: (StringConstructor | NumberConstructor)[];
1776
+ order: (StringConstructor | NumberConstructor)[];
1777
+ offset: (StringConstructor | NumberConstructor)[];
1778
+ push: (StringConstructor | NumberConstructor)[];
1779
+ pull: (StringConstructor | NumberConstructor)[];
1780
+ xs: {
1781
+ type: PropType<string | number | ColSize>;
1782
+ default: string | number | ColSize;
1783
+ };
1784
+ sm: {
1785
+ type: PropType<string | number | ColSize>;
1786
+ default: string | number | ColSize;
1787
+ };
1788
+ md: {
1789
+ type: PropType<string | number | ColSize>;
1790
+ default: string | number | ColSize;
1791
+ };
1792
+ lg: {
1793
+ type: PropType<string | number | ColSize>;
1794
+ default: string | number | ColSize;
1795
+ };
1796
+ xl: {
1797
+ type: PropType<string | number | ColSize>;
1798
+ default: string | number | ColSize;
1799
+ };
1800
+ xxl: {
1801
+ type: PropType<string | number | ColSize>;
1802
+ default: string | number | ColSize;
1803
+ };
1804
+ prefixCls: StringConstructor;
1805
+ flex: (StringConstructor | NumberConstructor)[];
1806
+ }>> & HTMLAttributes>;
1807
+ default: Partial<ExtractPropTypes<{
1808
+ span: (StringConstructor | NumberConstructor)[];
1809
+ order: (StringConstructor | NumberConstructor)[];
1810
+ offset: (StringConstructor | NumberConstructor)[];
1811
+ push: (StringConstructor | NumberConstructor)[];
1812
+ pull: (StringConstructor | NumberConstructor)[];
1813
+ xs: {
1814
+ type: PropType<string | number | ColSize>;
1815
+ default: string | number | ColSize;
1816
+ };
1817
+ sm: {
1818
+ type: PropType<string | number | ColSize>;
1819
+ default: string | number | ColSize;
1820
+ };
1821
+ md: {
1822
+ type: PropType<string | number | ColSize>;
1823
+ default: string | number | ColSize;
1824
+ };
1825
+ lg: {
1826
+ type: PropType<string | number | ColSize>;
1827
+ default: string | number | ColSize;
1828
+ };
1829
+ xl: {
1830
+ type: PropType<string | number | ColSize>;
1831
+ default: string | number | ColSize;
1832
+ };
1833
+ xxl: {
1834
+ type: PropType<string | number | ColSize>;
1835
+ default: string | number | ColSize;
1836
+ };
1837
+ prefixCls: StringConstructor;
1838
+ flex: (StringConstructor | NumberConstructor)[];
1839
+ }>> & HTMLAttributes;
1840
+ };
1841
+ colon: {
1842
+ type: BooleanConstructor;
1843
+ default: boolean;
1844
+ };
1845
+ labelAlign: {
1846
+ type: PropType<FormLabelAlign>;
1847
+ default: FormLabelAlign;
1848
+ };
1849
+ labelWrap: {
1850
+ type: BooleanConstructor;
1851
+ default: boolean;
1852
+ };
1853
+ prefixCls: StringConstructor;
1854
+ requiredMark: {
1855
+ type: PropType<"" | RequiredMark>;
1856
+ default: "" | RequiredMark;
1857
+ };
1858
+ /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */
1859
+ hideRequiredMark: {
1860
+ type: BooleanConstructor;
1861
+ default: boolean;
1862
+ };
1863
+ model: VueTypeValidableDef< {
1864
+ [key: string]: any;
1865
+ }> & {
1866
+ default: () => {
1867
+ [key: string]: any;
1868
+ };
1869
+ };
1870
+ rules: {
1871
+ type: PropType< {
1872
+ [k: string]: RuleObject | RuleObject[];
1873
+ }>;
1874
+ default: {
1875
+ [k: string]: RuleObject | RuleObject[];
1876
+ };
1877
+ };
1878
+ validateMessages: {
1879
+ type: PropType<ValidateMessages>;
1880
+ default: ValidateMessages;
1881
+ };
1882
+ validateOnRuleChange: {
1883
+ type: BooleanConstructor;
1884
+ default: boolean;
1885
+ };
1886
+ scrollToFirstError: {
1887
+ default: boolean | Options<any>;
1888
+ type: PropType<boolean | Options<any>>;
1889
+ };
1890
+ onSubmit: {
1891
+ type: PropType<(e: Event) => void>;
1892
+ default: (e: Event) => void;
1893
+ };
1894
+ name: StringConstructor;
1895
+ validateTrigger: {
1896
+ type: PropType<string | string[]>;
1897
+ default: string | string[];
1898
+ };
1899
+ size: {
1900
+ type: PropType<SizeType>;
1901
+ default: SizeType;
1902
+ };
1903
+ disabled: {
1904
+ type: BooleanConstructor;
1905
+ default: boolean;
1906
+ };
1907
+ onValuesChange: {
1908
+ type: PropType<(changedValues: any, values: any) => void>;
1909
+ default: (changedValues: any, values: any) => void;
1910
+ };
1911
+ onFieldsChange: {
1912
+ type: PropType<(changedFields: FieldData[], allFields: FieldData[]) => void>;
1913
+ default: (changedFields: FieldData[], allFields: FieldData[]) => void;
1914
+ };
1915
+ onFinish: {
1916
+ type: PropType<(values: any) => void>;
1917
+ default: (values: any) => void;
1918
+ };
1919
+ onFinishFailed: {
1920
+ type: PropType<(errorInfo: ValidateErrorEntity<any>) => void>;
1921
+ default: (errorInfo: ValidateErrorEntity<any>) => void;
1922
+ };
1923
+ onValidate: {
1924
+ type: PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>;
1925
+ default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void;
1926
+ };
1927
+ };
1928
+
1929
+ export declare const get24rest: (exist: number[]) => number;
1930
+
1931
+ export declare const getButtonResponsive: (itemResponsive: number | Responsive[]) => any;
1932
+
1933
+ declare function getSpanArrByRow(list: any, key: string, relationRowKeys?: string[]): number[];
1934
+
1935
+ declare function getSpanObjByColumn(row: any, columns: any): any;
1936
+
1937
+ export declare function getTooltipRenderer(): UIKitConfig['renderTooltip'];
1938
+
1939
+ export declare function getUIKitConfig(): UIKitConfig;
1940
+
1941
+ export declare interface GroupMenuItem<F extends Recordable = Recordable> {
1942
+ content: string;
1943
+ icon?: string;
1944
+ code: string;
1945
+ visibleMethod?: ({ data, index }: {
1946
+ data: Partial<F>;
1947
+ index: number;
1948
+ }) => boolean;
1949
+ }
1950
+
1951
+ export declare type GroupMenuItemHandler<F extends Recordable = Recordable> = ({ index, data, code, }: {
1952
+ index: number;
1953
+ code: string;
1954
+ data: Partial<F & {
1955
+ __index: number;
1956
+ }>;
1957
+ }) => void;
1958
+
1959
+ export declare type HandlerMultiDel = (ids: Array<string | number>) => any;
1960
+
1961
+ declare type HeaderOptions = {
1962
+ x: number;
1963
+ y: number;
1964
+ width: number;
1965
+ height: number;
1966
+ visibleHeight: number;
1967
+ visibleWidth: number;
1968
+ visibleLeafColumns: Column[];
1969
+ leafCellHeaders: CellHeader[];
1970
+ renderLeafCellHeaders: CellHeader[];
1971
+ renderCellHeaders: CellHeader[];
1972
+ fixedLeftCellHeaders: [];
1973
+ fixedRightCellHeaders: [];
1974
+ renderCenterCellHeaders: [];
1975
+ allCellHeaders: CellHeader[];
1976
+ };
1977
+
1978
+ /**
1979
+ * 数据历史堆栈
1980
+ */
1981
+ declare class History_2 {
1982
+ private ctx;
1983
+ private history;
1984
+ private historyIndex;
1985
+ constructor(ctx: Context);
1986
+ private init;
1987
+ pushState(changeList: HistoryItem): void;
1988
+ backState(): void;
1989
+ forwardState(): void;
1990
+ clear(): void;
1991
+ }
1992
+
1993
+ declare type HistoryAction = 'back' | 'forward' | 'none';
1994
+
1995
+ declare type HistoryItem = {
1996
+ changeList: HistoryItemData[];
1997
+ scrollY: number;
1998
+ scrollX: number;
1999
+ type: 'single' | 'multiple';
2000
+ };
2001
+
2002
+ declare type HistoryItemData = {
2003
+ oldValue: any;
2004
+ newValue: any;
2005
+ key: string;
2006
+ rowKey: string;
2007
+ };
2008
+
2009
+ declare class Icons {
2010
+ private ctx;
2011
+ private list;
2012
+ icons: Map<string, HTMLImageElement>;
2013
+ constructor(ctx: Context);
2014
+ init(): Promise<void>;
2015
+ private createImageFromSVG;
2016
+ get(name: string): HTMLImageElement | undefined;
2017
+ getSvg(name: string): SvgIcon | undefined;
2018
+ }
2019
+
2020
+ declare interface IconType {
2021
+ name: string;
2022
+ svg: string;
2023
+ color: string;
2024
+ isBlob?: boolean;
2025
+ }
2026
+
2027
+ declare interface InternalFieldData extends Meta {
2028
+ value: StoreValue;
2029
+ }
2030
+
2031
+ declare type InternalNamePath = (string | number)[];
2032
+
2033
+ export declare interface ItemFuncArg<F extends Recordable = Recordable> {
2034
+ data: F;
2035
+ field?: string;
2036
+ }
2037
+
2038
+ export declare interface ItemRender {
2039
+ name: string;
2040
+ defaultValue?: any;
2041
+ props?: Recordable;
2042
+ attrs?: Recordable;
2043
+ options?: IOption[];
2044
+ children?: Recordable[];
2045
+ events?: {
2046
+ [key: string]: (...args: any[]) => any;
2047
+ };
2048
+ }
2049
+
2050
+ export declare const labelColDict: Record<number, Responsive>;
2051
+
2052
+ declare type LineClampType = number | 'auto';
2053
+
2054
+ declare type LineOptions = {
2055
+ lineCap?: CanvasLineCap;
2056
+ lineDash?: number[];
2057
+ lineDashOffset?: number;
2058
+ lineJoin?: CanvasLineJoin;
2059
+ borderWidth?: number;
2060
+ borderColor?: string | CanvasGradient | CanvasPattern;
2061
+ fillColor?: string | CanvasGradient | CanvasPattern;
2062
+ };
2063
+
2064
+ declare type MenuItem = {
2065
+ label: string;
2066
+ value: string | MenuItemEvent;
2067
+ event?: Function;
2068
+ icon?: string;
2069
+ divider?: boolean;
2070
+ disabled?: boolean;
2071
+ children?: MenuItem[];
2072
+ key?: string;
2073
+ };
2074
+
2075
+ declare type MenuItemEvent = 'copy' | 'paste' | 'cut' | 'clearSelected' | 'fixedLeft' | 'fixedRight' | 'fixedNone' | 'hide' | 'resetHeader' | 'visible';
2076
+
2077
+ declare function mergeColCell(params: SpanParams, mergeColKeys?: string[]): {
2078
+ rowspan: number;
2079
+ colspan: any;
2080
+ relationColKeys: string[];
2081
+ mergeCol: boolean;
2082
+ } | undefined;
2083
+
2084
+ declare function mergeRowCell(params: SpanParams, mergeRowkey: string, relationRowKeys?: string[]): {
2085
+ rowspan: number;
2086
+ colspan: number;
2087
+ relationRowKeys: string[];
2088
+ mergeRow: boolean;
2089
+ };
2090
+
2091
+ declare interface Meta {
2092
+ touched: boolean;
2093
+ validating: boolean;
2094
+ errors: string[];
2095
+ name: InternalNamePath;
2096
+ }
2097
+
2098
+ declare type MouseEventHandler = (e: MouseEvent) => void;
2099
+
2100
+ declare type NamePath = string | number | InternalNamePath;
2101
+
2102
+ declare type NativeType = string | boolean | number | null | undefined | Function
2103
+
2104
+ declare interface Options<T = any> extends Options_2 {
2105
+ behavior?: ScrollBehavior_2 | CustomScrollBehaviorCallback<T>;
2106
+ }
2107
+
2108
+ declare interface Options_2 {
2109
+ block?: ScrollLogicalPosition_2;
2110
+ inline?: ScrollLogicalPosition_2;
2111
+ scrollMode?: ScrollMode;
2112
+ boundary?: CustomScrollBoundary;
2113
+ skipOverflowHiddenElements?: SkipOverflowHiddenElements;
2114
+ }
2115
+
2116
+ declare type OverflowTooltipPlacement = 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end' | 'bottom' | 'bottom-start' | 'bottom-end';
2117
+
2118
+ export declare interface PageConfig {
2119
+ pageSizes?: number[];
2120
+ pageSize?: number;
2121
+ showSizeChanger?: boolean;
2122
+ showQuickJumper?: boolean;
2123
+ }
2124
+
2125
+ declare class Paint {
2126
+ private ctx;
2127
+ private textCacheMap;
2128
+ constructor(target: HTMLCanvasElement);
2129
+ clearTextCache(): void;
2130
+ scale(dpr: number): void;
2131
+ save(): void;
2132
+ restore(): void;
2133
+ translate(x: number, y: number): void;
2134
+ setCursor(cursor?: string): void;
2135
+ clear(x?: number, y?: number, width?: number, height?: number): void;
2136
+ /**
2137
+ * 在 Canvas 上绘制单侧阴影
2138
+ * @param {number} x - 矩形的 x 坐标
2139
+ * @param {number} y - 矩形的 y 坐标
2140
+ * @param {number} width - 矩形的宽度
2141
+ * @param {number} height - 矩形的高度
2142
+ * @param {string} side - 阴影的位置('left', 'right', 'top', 'bottom')
2143
+ * @param {number} shadowWidth - 阴影的宽度
2144
+ * @param {string} color - 阴影的颜色
2145
+ */
2146
+ drawShadow(x: number, y: number, width: number, height: number, options: ShodowOptions): void;
2147
+ drawLine(points: number[], options: LineOptions): void;
2148
+ drawImage(img: CanvasImageSource, x: number, y: number, width: number, height: number): void;
2149
+ drawRect(x: number, y: number, width: number, height: number, { borderWidth, borderColor, fillColor, radius }?: RectOptions): void;
2150
+ /**
2151
+ * 画文本
2152
+ * @param text
2153
+ * @param x
2154
+ * @param y
2155
+ * @param width
2156
+ * @param height
2157
+ * @param options
2158
+ * @returns 是否溢出
2159
+ */
2160
+ drawText(text: string | undefined, x: number, y: number, width: number, height: number, options?: DrawTextOptions): boolean;
2161
+ /**
2162
+ * 将文本按宽度换行
2163
+ * @param text
2164
+ * @param maxWidth
2165
+ * @returns
2166
+ */
2167
+ private wrapText;
2168
+ /**
2169
+ * 计算文本自适应高度
2170
+ * @param text
2171
+ * @param width
2172
+ * @param options
2173
+ * @returns 计算出的高度
2174
+ */
2175
+ calculateTextHeight(text: string | undefined, width: number, options?: DrawTextOptions): number;
2176
+ handleEllipsis(text: string, width: number, padding?: number, font?: string): {
2177
+ _text: string;
2178
+ ellipsis: boolean;
2179
+ };
2180
+ }
2181
+
2182
+ /** 解析与 v-rest 一致的偏移:数字/字符串同时作用于 right+bottom;对象可单独指定 */
2183
+ export declare function parseAutoViewportBoxOffset(value: AutoViewportBoxOffsetInput): AutoViewportBoxOffset;
2184
+
2185
+ export declare interface PBlockProps<F extends Recordable = Recordable> {
2186
+ name?: string;
2187
+ getFormSetting: (data: Partial<F>) => PFormProps<Partial<F>>;
2188
+ source: Partial<F>;
2189
+ }
2190
+
2191
+ export declare interface PButtonProps extends Omit<ButtonProps, 'type'> {
2192
+ content?: string | (() => any);
2193
+ icon?: string;
2194
+ /** 与 `a-button` 一致,便于模板类型检查 */
2195
+ type?: ButtonProps['type'];
2196
+ }
2197
+
2198
+ export { PCanvasGrid }
2199
+
2200
+ export declare interface PCanvasGridProps<D extends Recordable = Recordable, F extends Recordable = Recordable> {
2201
+ staticConfig?: {
2202
+ selectable?: boolean;
2203
+ showCount?: boolean;
2204
+ tree?: boolean;
2205
+ };
2206
+ manualFetch?: boolean;
2207
+ formConfig?: PFormProps<F>;
2208
+ columns: CanvasColumnProps<D>[];
2209
+ toolbarConfig?: ToolbarConfig;
2210
+ pageConfig?: PageConfig;
2211
+ proxyConfig?: ProxyConfig<D, F>;
2212
+ config?: ConfigType;
2213
+ lazyReset?: boolean;
2214
+ /**
2215
+ * 适应展示区到页面顶部的高度,通常和容器最上的y值有关(正比)
2216
+ */
2217
+ fitHeight?: number;
2218
+ }
2219
+
2220
+ export declare const PCanvasTable: <T extends Recordable = Recordable, B extends Recordable = Recordable>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_2<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2221
+ props: __VLS_PrettifyLocal_2<Pick<Partial<{}> & Omit<{
2222
+ readonly onChange?: ((value: any[]) => any) | undefined;
2223
+ readonly onSelectionChange?: ((value: T[]) => any) | undefined;
2224
+ readonly onReady?: ((value: EVirtTable) => any) | undefined;
2225
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onChange" | "onSelectionChange" | "onReady"> & CanvasTableProps<T, B> & Partial<{}>> & PublicProps;
2226
+ expose(exposed: ShallowUnwrapRef< {
2227
+ $table: null;
2228
+ selectedRecords: ComputedRef<UnwrapRefSimple<T>[]>;
2229
+ reloadData: () => void;
2230
+ }>): void;
2231
+ attrs: any;
2232
+ slots: Partial<Record<string, (_: {
2233
+ cell: Cell | CellHeader;
2234
+ formatter?: FormatterMethod;
2235
+ formatterFooter?: FormatterMethod;
2236
+ hoverIconName?: string;
2237
+ operation: boolean;
2238
+ align: Align;
2239
+ verticalAlign: VerticalAlign;
2240
+ fixed?: Fixed;
2241
+ type: Type | "";
2242
+ editorType: string;
2243
+ editorProps: any;
2244
+ cellType: CellType;
2245
+ level: number;
2246
+ colspan: number;
2247
+ rowspan: number;
2248
+ mergeRow: boolean;
2249
+ mergeCol: boolean;
2250
+ relationRowKeys: string[];
2251
+ relationColKeys: string[];
2252
+ key: string;
2253
+ column: Column;
2254
+ rowIndex: number;
2255
+ colIndex: number;
2256
+ rowKey: string;
2257
+ row: any;
2258
+ value: any;
2259
+ render: Render;
2260
+ renderFooter: Render;
2261
+ style: any;
2262
+ domDataset: any;
2263
+ rules: Rules | Rule;
2264
+ message: string;
2265
+ text: string;
2266
+ displayText: string;
2267
+ visibleWidth: number;
2268
+ visibleHeight: number;
2269
+ isHasChanged: boolean;
2270
+ drawX: number;
2271
+ drawY: number;
2272
+ drawCellBgColor: string;
2273
+ drawCellSkyBgColor: string;
2274
+ drawTextColor: string;
2275
+ drawTextFont: string;
2276
+ drawTextX: number;
2277
+ drawTextY: number;
2278
+ drawTextWidth: number;
2279
+ drawTextHeight: number;
2280
+ drawTreeImageX: number;
2281
+ drawTreeImageY: number;
2282
+ drawTreeImageWidth: number;
2283
+ drawTreeImageHeight: number;
2284
+ drawTreeImageName: string;
2285
+ drawTreeImageSource?: HTMLImageElement;
2286
+ drawSelectionImageX: number;
2287
+ drawSelectionImageY: number;
2288
+ drawSelectionImageWidth: number;
2289
+ drawSelectionImageHeight: number;
2290
+ drawSelectionImageName: string;
2291
+ drawSelectionImageSource?: HTMLImageElement;
2292
+ drawHoverImageX: number;
2293
+ drawHoverImageY: number;
2294
+ drawHoverImageWidth: number;
2295
+ drawHoverImageHeight: number;
2296
+ drawHoverImageName: string;
2297
+ drawHoverImageSource?: HTMLImageElement;
2298
+ autoRowHeight: boolean;
2299
+ calculatedHeight: number;
2300
+ ellipsis: boolean;
2301
+ rowExpand: boolean;
2302
+ rowHasChildren: boolean;
2303
+ overflowTooltipShow: boolean;
2304
+ selectorCellValueType: SelectorCellValueType;
2305
+ overflowTooltipMaxWidth: number;
2306
+ overflowTooltipPlacement: OverflowTooltipPlacement;
2307
+ maxLineClamp: LineClampType;
2308
+ ctx: Context;
2309
+ x: number;
2310
+ y: number;
2311
+ width: number;
2312
+ height: number;
2313
+ } | {
2314
+ cell: Cell | CellHeader;
2315
+ align: Align;
2316
+ hideHeaderSelection: boolean;
2317
+ verticalAlign: VerticalAlign;
2318
+ fixed?: Fixed;
2319
+ minWidth?: number;
2320
+ maxWidth?: number;
2321
+ widthFillDisable: boolean;
2322
+ type: Type | "";
2323
+ operation: boolean;
2324
+ editorType: string;
2325
+ level: number;
2326
+ text: string;
2327
+ hide: boolean;
2328
+ displayText: string;
2329
+ colspan: number;
2330
+ rowspan: number;
2331
+ row: any;
2332
+ key: string;
2333
+ required: boolean;
2334
+ readonly: boolean;
2335
+ ellipsis: boolean;
2336
+ overflowTooltipShow: boolean;
2337
+ children: Column[];
2338
+ column: Column;
2339
+ colIndex: number;
2340
+ rowKey: string;
2341
+ rules?: Rules | Rule;
2342
+ hasChildren: boolean;
2343
+ render: Render;
2344
+ style: Partial<CSSStyleDeclaration>;
2345
+ drawX: number;
2346
+ drawY: number;
2347
+ sortIconName: string;
2348
+ sortAscIconName: string;
2349
+ sortDescIconName: string;
2350
+ visibleWidth: number;
2351
+ visibleHeight: number;
2352
+ maxLineClampHeader: LineClampType;
2353
+ domDataset: any;
2354
+ drawTextX: number;
2355
+ drawTextY: number;
2356
+ drawTextWidth: number;
2357
+ drawTextHeight: number;
2358
+ drawCellBgColor: string;
2359
+ drawTextColor: string;
2360
+ drawTextFont: string;
2361
+ drawSelectionImageX: number;
2362
+ drawSelectionImageY: number;
2363
+ drawSelectionImageWidth: number;
2364
+ drawSelectionImageHeight: number;
2365
+ drawSelectionImageName: string;
2366
+ drawSelectionImageSource?: HTMLImageElement;
2367
+ drawSortImageX: number;
2368
+ drawSortImageY: number;
2369
+ drawSortImageWidth: number;
2370
+ drawSortImageHeight: number;
2371
+ drawSortImageName: string;
2372
+ drawSortImageSource?: HTMLImageElement;
2373
+ ctx: Context;
2374
+ x: number;
2375
+ y: number;
2376
+ width: number;
2377
+ height: number;
2378
+ cellType: CellType;
2379
+ }) => any>> & {
2380
+ empty?(_: {}): any;
2381
+ };
2382
+ emit: {
2383
+ (e: "change", value: any[]): void;
2384
+ (e: "selectionChange", value: T[]): void;
2385
+ (e: "ready", value: EVirtTable): void;
2386
+ };
2387
+ }>) => VNode & {
2388
+ __ctx?: Awaited<typeof __VLS_setup>;
2389
+ };
2390
+
2391
+ export declare interface PCanvasTableInstance<T extends Recordable = Recordable> {
2392
+ $table: InstanceType<typeof EVirtTable>;
2393
+ selectedRecords: T[];
2394
+ setLoading: (value: boolean) => void;
2395
+ }
2396
+
2397
+ export declare const PForm: <F extends Recordable = Recordable>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2398
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
2399
+ readonly onReset?: ((...args: any[]) => any) | undefined;
2400
+ readonly onApply?: ((...args: any[]) => any) | undefined;
2401
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onReset" | "onApply"> & (PFormProps<F> & {
2402
+ data: F;
2403
+ }) & Partial<{}>> & PublicProps;
2404
+ expose(exposed: ShallowUnwrapRef< {
2405
+ reset: () => void;
2406
+ $form: ComputedRef<any>;
2407
+ }>): void;
2408
+ attrs: any;
2409
+ slots: {};
2410
+ emit: (event: "reset" | "apply", ...args: any[]) => void;
2411
+ }>) => VNode & {
2412
+ __ctx?: Awaited<typeof __VLS_setup>;
2413
+ };
2414
+
2415
+ export declare type PFormatter = Record<string, FormatterFunc>;
2416
+
2417
+ export declare interface PFormBlockInstance {
2418
+ $form: Recordable;
2419
+ }
2420
+
2421
+ export declare const PFormGroup: <F extends Recordable = Recordable>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_3<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2422
+ props: __VLS_PrettifyLocal_3<Pick<Partial<{}> & Omit<{
2423
+ readonly "onUpdate:modelValue"?: ((value: Partial<F & {
2424
+ __index: number;
2425
+ }>[]) => any) | undefined;
2426
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue"> & ({
2427
+ modelValue?: Partial<F & {
2428
+ __index: number;
2429
+ }>[];
2430
+ } & PFormGroupProps<F>) & Partial<{}>> & PublicProps;
2431
+ expose(exposed: ShallowUnwrapRef< {
2432
+ collapse: () => void;
2433
+ expand: () => void;
2434
+ activeKey: ComputedRef<number>;
2435
+ setActiveKey: (key: number) => void;
2436
+ validateAll: () => Promise<PromiseSettledResult<any>[]>;
2437
+ validate: (__index: number, ignoreTabError?: boolean) => Promise<void>;
2438
+ validateFields: (__index: number, fields: string[], ignoreTabError?: boolean) => Promise<void>;
2439
+ }>): void;
2440
+ attrs: any;
2441
+ slots: Readonly<{
2442
+ [key: string]: any;
2443
+ rightExtra?: () => any;
2444
+ }> & {
2445
+ [key: string]: any;
2446
+ rightExtra?: () => any;
2447
+ };
2448
+ emit: (evt: "update:modelValue", value: Partial<F & {
2449
+ __index: number;
2450
+ }>[]) => void;
2451
+ }>) => VNode & {
2452
+ __ctx?: Awaited<typeof __VLS_setup>;
2453
+ };
2454
+
2455
+ export declare interface PFormGroupInstance {
2456
+ activeKey: number;
2457
+ setActiveKey: (activeKey: number) => void;
2458
+ validateAll: () => Promise<void>;
2459
+ validate: (index: number, ignoreTabError?: boolean) => Promise<void>;
2460
+ validateFields: (index: number, fields: string[], ignoreTabError?: boolean) => Promise<void>;
2461
+ collapse: () => void;
2462
+ expand: () => void;
2463
+ }
2464
+
2465
+ export declare interface PFormGroupProps<F extends Recordable = Recordable> {
2466
+ name?: string;
2467
+ getFormSetting: (data: Partial<F>) => PFormProps<Partial<F>>;
2468
+ title?: string;
2469
+ tabLabel?: string;
2470
+ /**
2471
+ * 获取完整标签页标签
2472
+ * @param data 数据
2473
+ * @param idx 实际索引
2474
+ * @returns 标签页标签
2475
+ */
2476
+ getTabLabel?: (data: Partial<F>, idx: number) => string;
2477
+ editAble?: boolean;
2478
+ showAdd?: boolean;
2479
+ collapsible?: boolean;
2480
+ /** 是否默认折叠 */
2481
+ defaultCollapsed?: boolean;
2482
+ lazyErrorMark?: boolean;
2483
+ forceRender?: boolean;
2484
+ keepSerial?: boolean;
2485
+ loading?: boolean;
2486
+ itemMenus?: Array<GroupMenuItem<F>>;
2487
+ createItem?: ({ list }: {
2488
+ list?: Partial<F>[];
2489
+ }) => Promise<Partial<F>>;
2490
+ max?: number;
2491
+ menuHandler?: GroupMenuItemHandler<F>;
2492
+ }
2493
+
2494
+ export declare interface PFormInstance {
2495
+ reset: () => void;
2496
+ $form: Recordable;
2497
+ }
2498
+
2499
+ export declare interface PFormItemProps<F extends Recordable = Recordable> {
2500
+ field?: string;
2501
+ title?: string;
2502
+ span?: number;
2503
+ colon?: boolean;
2504
+ labelCol?: ColProps;
2505
+ wrapperCol?: ColProps;
2506
+ forceRequired?: boolean;
2507
+ align?: 'left' | 'right' | 'center';
2508
+ col?: ColProps;
2509
+ rule?: Rule_2[];
2510
+ itemRender?: ItemRender;
2511
+ tooltipConfig?: TooltipConfig;
2512
+ slots?: {
2513
+ title?: () => any;
2514
+ default?: ({ data, field }: ItemFuncArg<F>, passTrigger?: (cusFields?: string | string[]) => void, passDelayTrigger?: (cusFields?: string | string[], time?: number) => void) => any;
2515
+ defaultValue?: any;
2516
+ };
2517
+ }
2518
+
2519
+ export declare interface PFormProps<F extends Recordable = Recordable> extends FormProps {
2520
+ name?: string;
2521
+ items: PFormItemProps<F>[];
2522
+ customReset?: () => void;
2523
+ }
2524
+
2525
+ export { PGrid }
2526
+
2527
+ export declare interface PGridInstance<D extends Recordable = Recordable, F extends Recordable = Recordable> {
2528
+ commitProxy: {
2529
+ query: () => Promise<D[]>;
2530
+ reload: () => Promise<D[]>;
2531
+ reloadPage: () => Promise<D[]>;
2532
+ passQuery: (query: Partial<F>, lazy?: boolean) => Promise<void | D[]>;
2533
+ forcePassQuery: (query: Partial<F>, lazy?: boolean) => Promise<void | D[]>;
2534
+ };
2535
+ selectedRowKeys: string[] | number[];
2536
+ selectedRecords: D[];
2537
+ $table: Recordable;
2538
+ $form: Recordable;
2539
+ getFormData: () => Partial<F>;
2540
+ setLoadings: (value: boolean) => void;
2541
+ setBtnLoading: (code: string, status: boolean) => void;
2542
+ resizeTable: () => void;
2543
+ }
2544
+
2545
+ export declare type PGridProps<D extends Recordable = Recordable, F extends Recordable = Recordable> = {
2546
+ selectConfig?: SelectConfig<D>;
2547
+ rowKey?: string;
2548
+ striped?: boolean;
2549
+ manualFetch?: boolean;
2550
+ align?: 'left' | 'right' | 'center';
2551
+ formConfig?: PFormProps<F>;
2552
+ columns?: ColumnProps<D>[];
2553
+ toolbarConfig?: ToolbarConfig;
2554
+ pageConfig?: PageConfig;
2555
+ proxyConfig?: ProxyConfig<D, F>;
2556
+ tableConfig?: TableProps<D>;
2557
+ scrollMode?: 'outer' | 'inner';
2558
+ /**
2559
+ * 为 true 时根容器按视口从左上角铺满(与 v-rest 同源),用于外层未声明高度、靠内部撑开的布局。
2560
+ * 偏移见 `autoBoxSizeOffset`。
2561
+ */
2562
+ autoBoxSize?: boolean;
2563
+ /**
2564
+ * `autoBoxSize` 时距视口右侧/底部的预留像素;数字或 `"12px"` 同时作用于两侧;对象可分别指定 `right` / `bottom`。
2565
+ * 未传时使用 `setUIKitConfig({ grid: { autoBoxSizeOffset } })` 的全局值。
2566
+ */
2567
+ autoBoxSizeOffset?: number | string | {
2568
+ right?: number;
2569
+ bottom?: number;
2570
+ };
2571
+ lazyReset?: boolean;
2572
+ /**
2573
+ * 表格纵向滚动区额外预留像素:在 `tableWrapper` 高度内扣减表头、底栏后,再从 body 可滚动高度中减去本值,避免末行与滚动条贴边或被裁切。可通过 `setUIKitConfig({ grid: { fitHeight } })` 或组件 `fitHeight` 按项目微调;库内全局默认见 `config`。
2574
+ */
2575
+ fitHeight?: number;
2576
+ /**
2577
+ * 适应展示区到页面顶部的canvas渲染高度 通常比table的小
2578
+ */
2579
+ fitCanvasHeight?: number;
2580
+ /**
2581
+ * 虚拟列表 Y区计算高度
2582
+ */
2583
+ renderY?: number;
2584
+ /**
2585
+ * 适应「外层高度由内容撑开」的布局(典型如弹窗 `PromisePicker`)。
2586
+ *
2587
+ * 开启后:
2588
+ * - 根容器/表体宿主不再 `flex:1` 强行撑满(避免父无固定高度时塌陷到 0);
2589
+ * - `a-table` 的纵向 `scroll.y` 作为「最多滚动到多少」的上限,由 `renderY` 显式指定;
2590
+ * 若不传 `renderY`,使用基于视口的默认值。内容少时不会出现行区域下方的大片空白。
2591
+ */
2592
+ fitContent?: boolean;
2593
+ };
2594
+
2595
+ export declare const PGroupBlock: <F extends Recordable = Recordable>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_4<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2596
+ props: __VLS_PrettifyLocal_4<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & PBlockProps<F> & Partial<{}>> & PublicProps;
2597
+ expose(exposed: ShallowUnwrapRef< {
2598
+ $form: ComputedRef<Recordable<any> | undefined>;
2599
+ }>): void;
2600
+ attrs: any;
2601
+ slots: {};
2602
+ emit: {};
2603
+ }>) => VNode & {
2604
+ __ctx?: Awaited<typeof __VLS_setup>;
2605
+ };
2606
+
2607
+ declare type Position = {
2608
+ height: number;
2609
+ top: number;
2610
+ bottom: number;
2611
+ calculatedHeight: number;
2612
+ };
2613
+
2614
+ export declare const PromisePicker: <D extends Recordable = Recordable, F extends Recordable = Recordable>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_5<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2615
+ props: __VLS_PrettifyLocal_5<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & PromisePickerProps<D, F> & Partial<{}>> & PublicProps;
2616
+ expose(exposed: ShallowUnwrapRef< {
2617
+ pick: () => Promise<D[] | {
2618
+ row: D;
2619
+ field?: string;
2620
+ }>;
2621
+ pickMultiple: () => Promise<D[] | {
2622
+ row: D;
2623
+ field?: string;
2624
+ }>;
2625
+ grid: Ref<PGridInstance<D, Recordable<any>> | undefined, PGridInstance<D, Recordable<any>> | undefined>;
2626
+ hide: () => void;
2627
+ }>): void;
2628
+ attrs: any;
2629
+ slots: {};
2630
+ emit: {};
2631
+ }>) => VNode & {
2632
+ __ctx?: Awaited<typeof __VLS_setup>;
2633
+ };
2634
+
2635
+ export declare interface PromisePickerInstance<D extends Recordable = Recordable> {
2636
+ pick: () => Promise<{
2637
+ row: D;
2638
+ field?: string;
2639
+ }>;
2640
+ pickMultiple: () => Promise<D[]>;
2641
+ grid: PGridInstance<D>;
2642
+ hide: () => void;
2643
+ }
2644
+
2645
+ export declare interface PromisePickerProps<D extends Recordable = Recordable, F extends Recordable = Recordable> {
2646
+ gridSetting: PGridProps<D, F>;
2647
+ title?: string;
2648
+ width?: string | number;
2649
+ multipleAllowEmpty?: boolean;
2650
+ bodyStyle?: Recordable;
2651
+ beforePick?: (rowOrRows: D | Array<D>) => Promise<void>;
2652
+ }
2653
+
2654
+ declare interface PropOptions<T = any, D = T> {
2655
+ type?: PropType<T> | true | null
2656
+ required?: boolean
2657
+ default?: D | ((props: Record<string, unknown>) => D) | null | undefined
2658
+ validator?(value: unknown): boolean
2659
+ }
2660
+
2661
+ export declare interface ProxyConfig<D extends Recordable = Recordable, F extends Recordable = Recordable> {
2662
+ response?: ResponsePathConfig<D>;
2663
+ ajax: AjaxConfig<F>;
2664
+ }
2665
+
2666
+ declare type RectOptions = {
2667
+ borderWidth?: number;
2668
+ borderColor?: string;
2669
+ fillColor?: string;
2670
+ radius?: number | [number, number, number, number];
2671
+ };
2672
+
2673
+ declare type Render = Function | string | undefined;
2674
+
2675
+ export declare interface RenderFormParams<F extends Recordable = Recordable> {
2676
+ data: F;
2677
+ field?: string;
2678
+ }
2679
+
2680
+ export declare interface RenderOptions {
2681
+ /**
2682
+ * 渲染器名称
2683
+ */
2684
+ name?: string;
2685
+ /**
2686
+ * 目标组件渲染的参数
2687
+ */
2688
+ props?: {
2689
+ [key: string]: any;
2690
+ };
2691
+ /**
2692
+ * 目标组件渲染的属性
2693
+ */
2694
+ attrs?: {
2695
+ [key: string]: any;
2696
+ };
2697
+ /**
2698
+ * 目标组件渲染的事件
2699
+ */
2700
+ events?: {
2701
+ [key: string]: (...args: any[]) => any;
2702
+ };
2703
+ /**
2704
+ * 多目标渲染
2705
+ */
2706
+ children?: any[];
2707
+ /**
2708
+ * 选项
2709
+ */
2710
+ options?: IOption[];
2711
+ /**
2712
+ * 默认值
2713
+ */
2714
+ defaultValue?: any;
2715
+ /**
2716
+ * 校验触发器
2717
+ * @param cusFields field或者field数组
2718
+ */
2719
+ handleTrigger?: (cusFields?: string | string[]) => void;
2720
+ /**
2721
+ * 延迟校验触发器
2722
+ * @param cusFields field或者field数组
2723
+ * @param time 延迟时间
2724
+ */
2725
+ handleDelayTrigger?: (cusFields?: string | string[], time?: number) => void;
2726
+ }
2727
+
2728
+ export declare interface RenderTableParams<D extends Recordable = Recordable> {
2729
+ data?: D[];
2730
+ row: D;
2731
+ rowIndex?: number;
2732
+ field?: string;
2733
+ title?: string;
2734
+ }
2735
+
2736
+ declare interface RenderWorkshop {
2737
+ renderItemContent?: (options: RenderOptions, params: RenderFormParams, defaultHandler: Recordable) => any;
2738
+ renderDefault?: (options: RenderOptions, params: RenderTableParams, defaultHandler: Recordable) => any;
2739
+ renderEdit?: (model: Ref<any>, options: RenderOptions, params: RenderTableParams, emit?: (e: 'blur', value: any) => void) => any;
2740
+ }
2741
+
2742
+ declare type RequiredMark = boolean | 'optional';
2743
+
2744
+ export declare function resetUIKitConfig(): void;
2745
+
2746
+ export declare interface ResponsePathConfig<D extends Recordable = Recordable> {
2747
+ list?: string | ((res: Recordable) => D[]);
2748
+ result?: string | ((res: Recordable) => D[]);
2749
+ total?: string | ((res: Recordable) => D[]);
2750
+ message?: string | ((res: Recordable) => string | {
2751
+ status: string;
2752
+ content: string;
2753
+ icon?: string;
2754
+ });
2755
+ }
2756
+
2757
+ export declare interface Responsive {
2758
+ xxs?: number;
2759
+ xs?: number;
2760
+ sm?: number;
2761
+ md?: number;
2762
+ lg?: number;
2763
+ xl?: number;
2764
+ xxl?: number;
2765
+ }
2766
+
2767
+ declare class Row {
2768
+ private ctx;
2769
+ x: number;
2770
+ y: number;
2771
+ width: number;
2772
+ height: number;
2773
+ cells: Cell[];
2774
+ fixedCells: Cell[];
2775
+ noFixedCells: Cell[];
2776
+ calculatedHeightCells: Cell[];
2777
+ rowIndex: number;
2778
+ rowKey: string;
2779
+ rowType: RowType;
2780
+ data: any;
2781
+ calculatedHeight: number;
2782
+ constructor(ctx: Context, rowIndex: number, x: number | undefined, y: number | undefined, width: number | undefined, height: number | undefined, data: any, rowType?: RowType);
2783
+ update(): void;
2784
+ updateCalculatedHeight(): number;
2785
+ drawCenter(): void;
2786
+ drawFixed(): void;
2787
+ drawContainer(): void;
2788
+ drawFixedContainer(): void;
2789
+ }
2790
+
2791
+ declare type RowMaxHeightData = {
2792
+ key: string;
2793
+ height: number;
2794
+ };
2795
+
2796
+ declare type RowParams = {
2797
+ row: any;
2798
+ rowIndex: number;
2799
+ rowKey: string;
2800
+ };
2801
+
2802
+ declare type RowType = CellType;
2803
+
2804
+ declare type Rule = {
2805
+ required?: boolean;
2806
+ pattern?: RegExp;
2807
+ validator?: RuleValidator;
2808
+ message?: string;
2809
+ };
2810
+
2811
+ declare type Rule_2 = RuleObject;
2812
+
2813
+ declare type RuleObject = AggregationRule | ArrayRule;
2814
+
2815
+ declare type RuleParam = {
2816
+ field: string;
2817
+ fieldValue: string;
2818
+ value: string;
2819
+ column: Column;
2820
+ colIndex: number;
2821
+ rowIndex: number;
2822
+ row: any;
2823
+ key: string;
2824
+ rowKey: string;
2825
+ } & Rule;
2826
+
2827
+ declare type Rules = Rule[];
2828
+
2829
+ declare type RuleType = 'string' | 'number' | 'boolean' | 'method' | 'regexp' | 'integer' | 'float' | 'object' | 'enum' | 'date' | 'url' | 'hex' | 'email';
2830
+
2831
+ declare type RuleValidator = (rule: Rule, value: any, callback: (message?: string) => void) => void;
2832
+
2833
+ declare type ScrollBehavior_2 = 'auto' | 'smooth';
2834
+
2835
+ declare type ScrollLogicalPosition_2 = 'start' | 'center' | 'end' | 'nearest';
2836
+
2837
+ declare type ScrollMode = 'always' | 'if-needed';
2838
+
2839
+ declare type SelectableMethod = (params: SelectableParams) => boolean | void;
2840
+
2841
+ declare type SelectableParams = {
2842
+ row: any;
2843
+ rowIndex: number;
2844
+ };
2845
+
2846
+ export declare interface SelectConfig<D extends Recordable = Recordable> {
2847
+ multiple?: boolean;
2848
+ showCount?: boolean;
2849
+ getCheckboxProps?: (record: D) => {
2850
+ disabled?: boolean;
2851
+ };
2852
+ }
2853
+
2854
+ declare type SelectorCellValueType = 'displayText' | 'value';
2855
+
2856
+ declare type SelectorOptions = {
2857
+ enable: boolean;
2858
+ xArr: number[];
2859
+ yArr: number[];
2860
+ xArrCopy: number[];
2861
+ yArrCopy: number[];
2862
+ };
2863
+
2864
+ export declare function setUIKitConfig(config: Partial<UIKitConfig>): void;
2865
+
2866
+ export declare function setup(config?: Partial<UIKitConfig>): void;
2867
+
2868
+ declare type ShodowOptions = {
2869
+ side: 'left' | 'right' | 'top' | 'bottom';
2870
+ shadowWidth: number;
2871
+ colorStart: string;
2872
+ colorEnd: string;
2873
+ fillColor?: string | CanvasGradient | CanvasPattern;
2874
+ };
2875
+
2876
+ declare type SkipOverflowHiddenElements = boolean;
2877
+
2878
+ declare type SortByType = 'number' | 'string' | 'date' | 'api' | ((a: any, b: any) => number);
2879
+
2880
+ declare type SortDirection = 'asc' | 'desc' | 'none';
2881
+
2882
+ declare type SortStateMapItem = {
2883
+ direction: SortDirection;
2884
+ timestamp: number;
2885
+ };
2886
+
2887
+ declare type SpanInfo = {
2888
+ xArr: number[];
2889
+ yArr: number[];
2890
+ rowspan: number;
2891
+ colspan: number;
2892
+ height: number;
2893
+ width: number;
2894
+ offsetTop: number;
2895
+ offsetLeft: number;
2896
+ dataList: ChangeItem[];
2897
+ };
2898
+
2899
+ declare type SpanMethod = (params: SpanParams) => SpanType | void;
2900
+
2901
+ declare type SpanParams = CellParams & {
2902
+ visibleLeafColumns: Column[];
2903
+ headIndex: number;
2904
+ headPosition: Position;
2905
+ visibleRows: any[];
2906
+ rows: any[];
2907
+ };
2908
+
2909
+ declare type SpanType = {
2910
+ rowspan: number;
2911
+ colspan: number;
2912
+ relationRowKeys?: string[];
2913
+ relationColKeys?: string[];
2914
+ mergeRow?: boolean;
2915
+ mergeCol?: boolean;
2916
+ };
2917
+
2918
+ declare type StoreValue = any;
2919
+
2920
+ declare interface SvgIcon extends IconType {
2921
+ configName?: ConfigTypeName;
2922
+ configColorName?: ConfigColorNameType;
2923
+ }
2924
+
2925
+ declare type TextInfo = {
2926
+ x: number;
2927
+ y: number;
2928
+ width: number;
2929
+ height: number;
2930
+ left: number;
2931
+ right: number;
2932
+ top: number;
2933
+ bottom: number;
2934
+ };
2935
+
2936
+ export declare interface ToolbarButtonProps extends PButtonProps {
2937
+ code?: string;
2938
+ dropdowns?: ToolbarButtonProps[];
2939
+ }
2940
+
2941
+ export declare interface ToolbarConfig {
2942
+ buttons?: Array<ToolbarButtonProps>;
2943
+ tools?: Array<ToolbarToolProps>;
2944
+ disabled?: boolean;
2945
+ }
2946
+
2947
+ export declare interface ToolbarToolProps extends PButtonProps {
2948
+ code: string;
2949
+ }
2950
+
2951
+ export declare interface TooltipConfig extends TooltipProps {
2952
+ title: TooltipProps['title'] | (() => any);
2953
+ }
2954
+
2955
+ declare type TreeSelectMode = 'auto' | 'cautious' | 'strictly';
2956
+
2957
+ declare type Type = 'index' | 'selection' | 'index-selection' | 'tree' | 'selection-tree' | 'tree-selection' | 'number';
2958
+
2959
+ export declare interface UIKitConfig {
2960
+ form?: {
2961
+ labelCol?: any;
2962
+ wrapperCol?: any;
2963
+ };
2964
+ grid?: {
2965
+ align?: 'left' | 'right' | 'center';
2966
+ lazyReset?: boolean;
2967
+ fitHeight?: number;
2968
+ fitCanvasHeight?: number;
2969
+ striped?: boolean;
2970
+ /** `PGrid` 开启 `autoBoxSize` 且未传 `autoBoxSizeOffset` 时的视口边距,与 props 类型一致 */
2971
+ autoBoxSizeOffset?: AutoViewportBoxOffsetInput;
2972
+ };
2973
+ canvasTable?: ConfigType;
2974
+ /**
2975
+ * 自定义 tooltip 渲染函数,替换全局所有 a-tooltip。
2976
+ * @param defaultSlot 原 tooltip 触发元素(图标等)
2977
+ * @param content tooltip 内容,字符串或返回 VNode 的函数
2978
+ */
2979
+ renderTooltip?: (defaultSlot: () => VNode, content: string | (() => VNode)) => VNode;
2980
+ }
2981
+
2982
+ declare interface ValidateErrorEntity<Values = any> {
2983
+ values: Values;
2984
+ errorFields: {
2985
+ name: InternalNamePath;
2986
+ errors: string[];
2987
+ }[];
2988
+ outOfDate: boolean;
2989
+ }
2990
+
2991
+ declare type ValidateField = {
2992
+ key: string;
2993
+ rowKey: string;
2994
+ };
2995
+
2996
+ declare type ValidateItemError = {
2997
+ rowKey: string;
2998
+ rowIndex?: number;
2999
+ key: string;
3000
+ message: string;
3001
+ };
3002
+
3003
+ declare type ValidateMessage = string | (() => string);
3004
+
3005
+ declare interface ValidateMessages {
3006
+ default?: ValidateMessage;
3007
+ required?: ValidateMessage;
3008
+ enum?: ValidateMessage;
3009
+ whitespace?: ValidateMessage;
3010
+ date?: {
3011
+ format?: ValidateMessage;
3012
+ parse?: ValidateMessage;
3013
+ invalid?: ValidateMessage;
3014
+ };
3015
+ types?: {
3016
+ string?: ValidateMessage;
3017
+ method?: ValidateMessage;
3018
+ array?: ValidateMessage;
3019
+ object?: ValidateMessage;
3020
+ number?: ValidateMessage;
3021
+ date?: ValidateMessage;
3022
+ boolean?: ValidateMessage;
3023
+ integer?: ValidateMessage;
3024
+ float?: ValidateMessage;
3025
+ regexp?: ValidateMessage;
3026
+ email?: ValidateMessage;
3027
+ url?: ValidateMessage;
3028
+ hex?: ValidateMessage;
3029
+ };
3030
+ string?: {
3031
+ len?: ValidateMessage;
3032
+ min?: ValidateMessage;
3033
+ max?: ValidateMessage;
3034
+ range?: ValidateMessage;
3035
+ };
3036
+ number?: {
3037
+ len?: ValidateMessage;
3038
+ min?: ValidateMessage;
3039
+ max?: ValidateMessage;
3040
+ range?: ValidateMessage;
3041
+ };
3042
+ array?: {
3043
+ len?: ValidateMessage;
3044
+ min?: ValidateMessage;
3045
+ max?: ValidateMessage;
3046
+ range?: ValidateMessage;
3047
+ };
3048
+ pattern?: {
3049
+ mismatch?: ValidateMessage;
3050
+ };
3051
+ }
3052
+
3053
+ declare type ValidateResult = RuleParam[];
3054
+
3055
+ declare type Validator = (rule: RuleObject, value: StoreValue, callback: (error?: string) => void) => Promise<void> | void;
3056
+
3057
+ declare type ValidatorFunction<T> = (value: T) => boolean
3058
+
3059
+ declare interface ValidatorRule {
3060
+ warningOnly?: boolean;
3061
+ message?: string | VueNode;
3062
+ /** custom validate function (Note: callback must be called) */
3063
+ validator: Validator;
3064
+ }
3065
+
3066
+ declare type VerticalAlign = 'top' | 'middle' | 'bottom';
3067
+
3068
+ declare type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
3069
+
3070
+ declare type VueNode = VNodeChildAtom | VNodeChildAtom[] | VNode;
3071
+
3072
+ declare interface VueTypeBaseDef<
3073
+ T = unknown,
3074
+ D = DefaultType<T>,
3075
+ U = T extends NativeType ? T : () => T
3076
+ > extends PropOptions<T> {
3077
+ _vueTypes_name: string
3078
+ readonly def: (
3079
+ def?: D,
3080
+ ) => this & {
3081
+ default: U
3082
+ }
3083
+ readonly isRequired: this & { required: true }
3084
+ }
3085
+
3086
+ declare type VueTypeDef<T = unknown> = VueTypeBaseDef<T>
3087
+
3088
+ declare interface VueTypeValidableDef<T = unknown> extends VueTypeBaseDef<T> {
3089
+ readonly validate: (
3090
+ fn: ValidatorFunction<T | unknown>,
3091
+ ) => this & { validator: ValidatorFunction<T | unknown> }
3092
+ }
3093
+
3094
+ export declare function watchPreviousDeep<T extends object>(source: WatchSource<T>, cb: (value: T, oldValue: T, onCleanup: () => void) => void, options?: WatchOptions): WatchHandle;
3095
+
3096
+ export { }