@vue-ui-kit/ant 2.5.0 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -167,19 +167,31 @@ declare class BaseCell {
167
167
  y: number;
168
168
  width: number;
169
169
  height: number;
170
+ visibleWidth: number;
171
+ visibleHeight: number;
170
172
  fixed?: Fixed;
171
173
  cellType: CellType;
174
+ drawX: number;
175
+ drawY: number;
176
+ cellImages: Map<string, CellImage>;
172
177
  constructor(ctx: Context, x: number, y: number, width: number, height: number, cellType: CellType, fixed?: Fixed);
173
178
  isHorizontalVisible(): boolean;
174
179
  isVerticalVisible(): boolean;
175
180
  getDrawX(): number;
176
181
  getDrawY(): number;
177
182
  getLeftFixedX(): number;
183
+ isInside(x: number, y: number): boolean;
178
184
  /**
179
- * RightFixed时相对StageX
185
+ * 判断是否在可见区域,合并单元格用
186
+ * @param x
187
+ * @param y
180
188
  * @returns
181
189
  */
182
- getRightFixedX(): void;
190
+ isInsideVisible(x: number, y: number): boolean;
191
+ setImage(key: string, image: CellImage): void;
192
+ getImages(): Map<string, CellImage>;
193
+ getImage(key: string): CellImage | undefined;
194
+ isImageInside(key: string, e: MouseEvent): boolean;
183
195
  }
184
196
 
185
197
  declare type BeforeAutofillDataMethod = (changeList: BeforeChangeItem[], xArr: number[], yArr: number[]) => BeforeChangeItem[] | Promise<BeforeChangeItem[]>;
@@ -205,6 +217,14 @@ declare type BeforeCopyParams = {
205
217
  yArr: number[];
206
218
  };
207
219
 
220
+ declare type BeforeDragRowMethod = (params: BeforeDragRowParams) => boolean | Promise<boolean>;
221
+
222
+ declare type BeforeDragRowParams = {
223
+ source: Cell;
224
+ target: Cell;
225
+ position: TreeUtilPosition;
226
+ };
227
+
208
228
  declare type BeforeHeaderContextMenuMethod = (params: ContextMenuItemParams) => MenuItem[] | Promise<MenuItem[]>;
209
229
 
210
230
  declare type BeforePasteDataMethod = (changeList: BeforeChangeItem[], xArr: number[], yArr: number[], textArr: string[][]) => BeforeChangeItem[] | Promise<BeforeChangeItem[]>;
@@ -281,6 +301,8 @@ export declare interface CanvasTableProps<T extends Recordable = Recordable, B e
281
301
  }
282
302
 
283
303
  declare class Cell extends BaseCell {
304
+ parentRowKey: string;
305
+ parentRowKeys: string[];
284
306
  formatter?: FormatterMethod;
285
307
  formatterFooter?: FormatterMethod;
286
308
  hoverIconName?: string;
@@ -327,24 +349,6 @@ declare class Cell extends BaseCell {
327
349
  drawTextY: number;
328
350
  drawTextWidth: number;
329
351
  drawTextHeight: number;
330
- drawTreeImageX: number;
331
- drawTreeImageY: number;
332
- drawTreeImageWidth: number;
333
- drawTreeImageHeight: number;
334
- drawTreeImageName: string;
335
- drawTreeImageSource?: HTMLImageElement;
336
- drawSelectionImageX: number;
337
- drawSelectionImageY: number;
338
- drawSelectionImageWidth: number;
339
- drawSelectionImageHeight: number;
340
- drawSelectionImageName: string;
341
- drawSelectionImageSource?: HTMLImageElement;
342
- drawHoverImageX: number;
343
- drawHoverImageY: number;
344
- drawHoverImageWidth: number;
345
- drawHoverImageHeight: number;
346
- drawHoverImageName: string;
347
- drawHoverImageSource?: HTMLImageElement;
348
352
  autoRowHeight: boolean;
349
353
  calculatedHeight: number;
350
354
  ellipsis: boolean;
@@ -355,6 +359,11 @@ declare class Cell extends BaseCell {
355
359
  overflowTooltipMaxWidth: number;
356
360
  overflowTooltipPlacement: OverflowTooltipPlacement;
357
361
  maxLineClamp: LineClampType;
362
+ precision?: number;
363
+ min?: number;
364
+ max?: number;
365
+ maxlength?: number;
366
+ mixedRender?: boolean;
358
367
  renderType: RenderType;
359
368
  renderFooterType: RenderType;
360
369
  constructor(ctx: Context, rowIndex: number, colIndex: number, x: number, y: number, width: number, height: number, column: Column, row: any, cellType?: CellType, isUpdate?: boolean);
@@ -371,7 +380,9 @@ declare class Cell extends BaseCell {
371
380
  * 更新样式
372
381
  */
373
382
  updateStyle(): void;
383
+ isInsideVisible(x: number, y: number): boolean;
374
384
  private updateTree;
385
+ private updateDragImage;
375
386
  private drawTreeLine;
376
387
  private updateContainer;
377
388
  private updateSelection;
@@ -471,6 +482,9 @@ declare class CellHeader extends BaseCell {
471
482
  visibleHeight: number;
472
483
  maxLineClampHeader: LineClampType;
473
484
  domDataset: any;
485
+ textOffsetRight: number;
486
+ textOffsetLeft: number;
487
+ textInfo: TextInfo | undefined;
474
488
  drawTextX: number;
475
489
  drawTextY: number;
476
490
  drawTextWidth: number;
@@ -502,13 +516,16 @@ declare class CellHeader extends BaseCell {
502
516
  */
503
517
  updateStyle(): void;
504
518
  updateContainer(): void;
519
+ private updateOffset;
505
520
  update(): void;
506
521
  draw(): void;
522
+ drawImages(): void;
507
523
  private drawEdge;
508
524
  private drawText;
525
+ private drawRequired;
509
526
  private drawBg;
510
- private drawSelection;
511
- private drawSortIcon;
527
+ private updateSelection;
528
+ private updateSortIcon;
512
529
  getText(): string;
513
530
  /**
514
531
  * 获取样式
@@ -534,6 +551,20 @@ declare type CellHeaderStyleMethod = (params: CellHeaderParams) => CellStyleOpti
534
551
 
535
552
  declare type CellHoverIconMethod = (params: CellParams) => string | void;
536
553
 
554
+ declare class CellImage {
555
+ source?: HTMLImageElement;
556
+ name: string;
557
+ x: number;
558
+ y: number;
559
+ width: number;
560
+ height: number;
561
+ visible: boolean;
562
+ constructor(name: string, x: number, y: number, width: number, height: number, source?: HTMLImageElement);
563
+ drawWrapper(ctx: Context, options: RectOptions): void;
564
+ setVisible(visible: boolean): void;
565
+ isInside(mouseX: number, mouseY: number): boolean;
566
+ }
567
+
537
568
  declare type CellParams = {
538
569
  row: any;
539
570
  rowIndex: number;
@@ -630,12 +661,18 @@ declare interface Column {
630
661
  column?: Column;
631
662
  rules?: Rules | Rule;
632
663
  options?: any;
664
+ dragRow?: boolean;
633
665
  dragDisabled?: boolean;
634
666
  hideDisabled?: boolean;
635
667
  fixedDisabled?: boolean;
636
668
  selectorCellValueType?: SelectorCellValueType;
637
669
  maxLineClamp?: LineClampType;
638
670
  maxLineClampHeader?: LineClampType;
671
+ precision?: number;
672
+ min?: number;
673
+ max?: number;
674
+ maxlength?: number;
675
+ mixedRender?: boolean;
639
676
  }
640
677
 
641
678
  export declare interface ColumnProps<D extends Recordable = Recordable> extends Omit<TableColumnType, 'slots'> {
@@ -681,8 +718,6 @@ declare class Config {
681
718
  EMPTY_BODY_HEIGHT: number;
682
719
  /** 自定义空样式 */
683
720
  EMPTY_CUSTOM_STYLE: Partial<CSSStyleDeclaration>;
684
- /** 数字类型错误提示 */
685
- NUMBER_ERROR_TIP: string;
686
721
  /** 空数据文本 */
687
722
  EMPTY_TEXT: string;
688
723
  /** 加载文本 */
@@ -747,6 +782,12 @@ declare class Config {
747
782
  CELL_HOVER_ICON_BG_COLOR: string;
748
783
  /** hover编辑图标边框颜色 */
749
784
  CELL_HOVER_ICON_BORDER_COLOR: string;
785
+ /** 内容缩放最小比例 */
786
+ MIN_ZOOM: number;
787
+ /** 内容缩放最大比例 */
788
+ MAX_ZOOM: number;
789
+ /** 启用 Ctrl + 滚轮内容缩放 */
790
+ ENABLE_ZOOM_WHEEL: boolean;
750
791
  /** 滚动条轨道尺寸 */
751
792
  SCROLLER_TRACK_SIZE: number;
752
793
  /** 滚动条滑块尺寸 */
@@ -881,6 +922,8 @@ declare class Config {
881
922
  ENABLE_CONTEXT_MENU: boolean;
882
923
  /** 启用表头右键菜单 */
883
924
  ENABLE_HEADER_CONTEXT_MENU: boolean;
925
+ /** 启用文字选中复制 */
926
+ ENABLE_TEXT_SELECTION: boolean;
884
927
  /** 启用复制 */
885
928
  ENABLE_COPY: boolean;
886
929
  /** 启用粘贴 */
@@ -942,6 +985,20 @@ declare class Config {
942
985
  AUTO_ROW_HEIGHT: boolean;
943
986
  /** 启用拖拽表头 */
944
987
  ENABLE_DRAG_COLUMN: boolean;
988
+ /** 启用拖拽行 */
989
+ ENABLE_DRAG_ROW: boolean;
990
+ /** 启用拖拽行跨级,针对tree数据结构 */
991
+ ENABLE_DRAG_ROW_CROSS_LEVEL: boolean;
992
+ /** 启用拖拽行自定义 */
993
+ ENABLE_DRAG_ROW_CUSTOM: boolean;
994
+ /** 拖拽提示线颜色 */
995
+ DRAG_ROW_TIP_LINE_COLOR: string;
996
+ /** 拖拽行图标 */
997
+ DRAG_ROW_ICON_SVG: string;
998
+ /** 拖拽行图标大小 */
999
+ DRAG_ROW_ICON_SIZE: number;
1000
+ /** 拖拽行图标颜色 */
1001
+ DRAG_ROW_ICON_COLOR: string;
945
1002
  /** header 格子样式 */
946
1003
  HEADER_CELL_STYLE_METHOD?: CellHeaderStyleMethod;
947
1004
  /** body 格子样式 */
@@ -984,6 +1041,7 @@ declare class Config {
984
1041
  BEFORE_BODY_CONTEXT_MENU_METHOD?: BeforeBodyContextMenuMethod;
985
1042
  /** 数据复制前回调 */
986
1043
  BEFORE_COPY_METHOD?: BeforeCopyMethod;
1044
+ BEFORE_DRAG_ROW_METHOD?: BeforeDragRowMethod;
987
1045
  constructor(config: Partial<Config>);
988
1046
  /** 初始化 */
989
1047
  init(config: ConfigType): void;
@@ -995,7 +1053,7 @@ declare type ConfigColorNameType = 'LOADING_ICON_COLOR' | 'EXPAND_ICON_COLOR' |
995
1053
 
996
1054
  declare type ConfigType = Partial<Config>;
997
1055
 
998
- 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';
1056
+ 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' | 'DRAG_ROW_ICON_SVG';
999
1057
 
1000
1058
  declare type containerElementOptions = {
1001
1059
  containerElement: HTMLDivElement;
@@ -1012,6 +1070,7 @@ declare class Context {
1012
1070
  private eventBus;
1013
1071
  private eventBrowser;
1014
1072
  private eventTable;
1073
+ locale: Locale;
1015
1074
  containerElement: HTMLDivElement;
1016
1075
  stageElement: HTMLDivElement;
1017
1076
  canvasElement: HTMLCanvasElement;
@@ -1022,12 +1081,17 @@ declare class Context {
1022
1081
  loadingElement?: HTMLDivElement;
1023
1082
  stageWidth: number;
1024
1083
  stageHeight: number;
1084
+ stagePhysicalWidth: number;
1085
+ stagePhysicalHeight: number;
1086
+ zoomScale: ZoomScale;
1087
+ get zoom(): number;
1025
1088
  paint: Paint;
1026
1089
  icons: Icons;
1027
1090
  domSelectionStr: string;
1091
+ textSelectionStr: string;
1092
+ textSelecting: boolean;
1028
1093
  isMouseoverTargetContainer: boolean;
1029
1094
  mousedown: boolean;
1030
- isPointer: boolean;
1031
1095
  isEmpty: boolean;
1032
1096
  rowResizing: boolean;
1033
1097
  columnResizing: boolean;
@@ -1039,6 +1103,7 @@ declare class Context {
1039
1103
  selectColsIng: boolean;
1040
1104
  selectRowsIng: boolean;
1041
1105
  dragHeaderIng: boolean;
1106
+ dragRowIng: boolean;
1042
1107
  finding: boolean;
1043
1108
  contextMenuIng: boolean;
1044
1109
  editing: boolean;
@@ -1101,6 +1166,12 @@ declare class Context {
1101
1166
  offsetX: number;
1102
1167
  offsetY: number;
1103
1168
  };
1169
+ toVisual(value: number): number;
1170
+ toLogical(value: number): number;
1171
+ toVisualPx(value: number): string;
1172
+ scaleStyle<T extends Record<string, any>>(style: T): T;
1173
+ setZoom(zoom: number): void;
1174
+ getZoom(): number;
1104
1175
  hasEvent(event: string): boolean;
1105
1176
  on(event: string, callback: EventCallback): void;
1106
1177
  once(event: string, callback: EventCallback): void;
@@ -1197,6 +1268,7 @@ declare class Database {
1197
1268
  getColumns(): Column[];
1198
1269
  setColumns(columns: Column[]): void;
1199
1270
  setData(data: any[]): void;
1271
+ getOriginalData(): any[];
1200
1272
  /**
1201
1273
  * 统一转化数据,给画body使用,包括过滤树状等,统一入口
1202
1274
  * @returns
@@ -1456,6 +1528,31 @@ declare const _default: {
1456
1528
  };
1457
1529
  export default _default;
1458
1530
 
1531
+ declare const _default_2: {
1532
+ numberErrorTip: string;
1533
+ emptyText: string;
1534
+ loadingText: string;
1535
+ copy: string;
1536
+ cut: string;
1537
+ paste: string;
1538
+ clearSelected: string;
1539
+ fixedLeft: string;
1540
+ fixedRight: string;
1541
+ fixedNone: string;
1542
+ hide: string;
1543
+ visible: string;
1544
+ resetHeader: string;
1545
+ invalidNumber: string;
1546
+ mergeCellNoFill: string;
1547
+ mergeCellNoCopy: string;
1548
+ mergeCellNoPaste: string;
1549
+ numberTruncated: string;
1550
+ batchSetItemValueError: string;
1551
+ numberMin: string;
1552
+ numberMax: string;
1553
+ stringMaxlength: string;
1554
+ };
1555
+
1459
1556
  declare type DefaultFactory<T> = (() => T) | T
1460
1557
 
1461
1558
  export declare const defaultItemResponsive: Responsive;
@@ -1476,6 +1573,7 @@ declare type DrawTextOptions = {
1476
1573
  offsetLeft?: number;
1477
1574
  offsetRight?: number;
1478
1575
  textCallback?: (textInfo: TextInfo) => void;
1576
+ layoutCallback?: (layout: TextLayout) => void;
1479
1577
  cacheTextKey?: string;
1480
1578
  };
1481
1579
 
@@ -1489,6 +1587,7 @@ declare type EventCallback = (...args: any[]) => void;
1489
1587
  declare type EventCallback_2 = (...args: any[]) => void;
1490
1588
 
1491
1589
  declare class EVirtTable {
1590
+ static locale: LangConfig;
1492
1591
  private options;
1493
1592
  private scroller;
1494
1593
  private header;
@@ -1503,8 +1602,10 @@ declare class EVirtTable {
1503
1602
  private contextMenu;
1504
1603
  private loading;
1505
1604
  private finderBar;
1605
+ private textSelector;
1506
1606
  private animationFrameId;
1507
1607
  ctx: Context;
1608
+ static useLocale(langConfig: LangConfig): void;
1508
1609
  constructor(target: HTMLDivElement, options: EVirtTableOptions);
1509
1610
  private createContainer;
1510
1611
  private doDraw;
@@ -1532,6 +1633,12 @@ declare class EVirtTable {
1532
1633
  clearEditableData(value?: null): ChangeItem[];
1533
1634
  clearEditor(): void;
1534
1635
  doLayout(): void;
1636
+ /**
1637
+ * 设置内容缩放比例(容器大小不变,内容变大/变小,基于原生分辨率重绘不失清晰度)
1638
+ * @param zoom 缩放比例,范围 MIN_ZOOM ~ MAX_ZOOM
1639
+ */
1640
+ setZoom(zoom: number): void;
1641
+ getZoom(): number;
1535
1642
  getChangedData(): {
1536
1643
  rowKey: string;
1537
1644
  colKey: string;
@@ -1584,6 +1691,7 @@ declare class EVirtTable {
1584
1691
  getColumnByKey(key: string): Column | undefined;
1585
1692
  clearChangeData(): void;
1586
1693
  getReadonly(rowKey: string, key: string): any;
1694
+ useLocale(langConfig: LangConfig): void;
1587
1695
  /**
1588
1696
  * 销毁
1589
1697
  */
@@ -1749,6 +1857,8 @@ export declare interface ItemRender {
1749
1857
 
1750
1858
  export declare const labelColDict: Record<number, Responsive>;
1751
1859
 
1860
+ declare type LangConfig = typeof _default_2;
1861
+
1752
1862
  declare type LineClampType = number | 'auto';
1753
1863
 
1754
1864
  declare type LineOptions = {
@@ -1761,8 +1871,14 @@ declare type LineOptions = {
1761
1871
  fillColor?: string | CanvasGradient | CanvasPattern;
1762
1872
  };
1763
1873
 
1874
+ declare class Locale {
1875
+ private langConfig?;
1876
+ use(langConfig: LangConfig): void;
1877
+ getText(key: string, params?: Record<string, any>): string;
1878
+ }
1879
+
1764
1880
  declare type MenuItem = {
1765
- label: string;
1881
+ label?: string;
1766
1882
  value: string | MenuItemEvent;
1767
1883
  event?: Function;
1768
1884
  icon?: string;
@@ -1815,8 +1931,9 @@ declare class Paint {
1815
1931
  private ctx;
1816
1932
  private textCacheMap;
1817
1933
  constructor(target: HTMLCanvasElement);
1934
+ getCtx(): CanvasRenderingContext2D;
1818
1935
  clearTextCache(): void;
1819
- scale(dpr: number): void;
1936
+ scale(dpr: number, zoom?: number): void;
1820
1937
  save(): void;
1821
1938
  restore(): void;
1822
1939
  translate(x: number, y: number): void;
@@ -1847,6 +1964,10 @@ declare class Paint {
1847
1964
  * @returns 是否溢出
1848
1965
  */
1849
1966
  drawText(text: string | undefined, x: number, y: number, width: number, height: number, options?: DrawTextOptions): boolean;
1967
+ private buildTextLayout;
1968
+ private wrapTextToLines;
1969
+ private buildEllipsisLine;
1970
+ private buildLineSegments;
1850
1971
  /**
1851
1972
  * 将文本按宽度换行
1852
1973
  * @param text
@@ -2557,6 +2678,8 @@ export declare const PCanvasGrid: <D extends Recordable = Recordable, F extends
2557
2678
  attrs: any;
2558
2679
  slots: Partial<Record<number, (_: {
2559
2680
  cell: Cell | CellHeader;
2681
+ parentRowKey: string;
2682
+ parentRowKeys: string[];
2560
2683
  formatter?: FormatterMethod;
2561
2684
  formatterFooter?: FormatterMethod;
2562
2685
  hoverIconName?: string;
@@ -2603,24 +2726,6 @@ export declare const PCanvasGrid: <D extends Recordable = Recordable, F extends
2603
2726
  drawTextY: number;
2604
2727
  drawTextWidth: number;
2605
2728
  drawTextHeight: number;
2606
- drawTreeImageX: number;
2607
- drawTreeImageY: number;
2608
- drawTreeImageWidth: number;
2609
- drawTreeImageHeight: number;
2610
- drawTreeImageName: string;
2611
- drawTreeImageSource?: HTMLImageElement;
2612
- drawSelectionImageX: number;
2613
- drawSelectionImageY: number;
2614
- drawSelectionImageWidth: number;
2615
- drawSelectionImageHeight: number;
2616
- drawSelectionImageName: string;
2617
- drawSelectionImageSource?: HTMLImageElement;
2618
- drawHoverImageX: number;
2619
- drawHoverImageY: number;
2620
- drawHoverImageWidth: number;
2621
- drawHoverImageHeight: number;
2622
- drawHoverImageName: string;
2623
- drawHoverImageSource?: HTMLImageElement;
2624
2729
  autoRowHeight: boolean;
2625
2730
  calculatedHeight: number;
2626
2731
  ellipsis: boolean;
@@ -2631,6 +2736,11 @@ export declare const PCanvasGrid: <D extends Recordable = Recordable, F extends
2631
2736
  overflowTooltipMaxWidth: number;
2632
2737
  overflowTooltipPlacement: OverflowTooltipPlacement;
2633
2738
  maxLineClamp: LineClampType;
2739
+ precision?: number;
2740
+ min?: number;
2741
+ max?: number;
2742
+ maxlength?: number;
2743
+ mixedRender?: boolean;
2634
2744
  renderType: RenderType;
2635
2745
  renderFooterType: RenderType;
2636
2746
  ctx: Context;
@@ -2638,6 +2748,7 @@ export declare const PCanvasGrid: <D extends Recordable = Recordable, F extends
2638
2748
  y: number;
2639
2749
  width: number;
2640
2750
  height: number;
2751
+ cellImages: Map<string, CellImage>;
2641
2752
  } | {
2642
2753
  cell: Cell | CellHeader;
2643
2754
  align: Align;
@@ -2679,6 +2790,9 @@ export declare const PCanvasGrid: <D extends Recordable = Recordable, F extends
2679
2790
  visibleHeight: number;
2680
2791
  maxLineClampHeader: LineClampType;
2681
2792
  domDataset: any;
2793
+ textOffsetRight: number;
2794
+ textOffsetLeft: number;
2795
+ textInfo: TextInfo | undefined;
2682
2796
  drawTextX: number;
2683
2797
  drawTextY: number;
2684
2798
  drawTextWidth: number;
@@ -2705,6 +2819,7 @@ export declare const PCanvasGrid: <D extends Recordable = Recordable, F extends
2705
2819
  width: number;
2706
2820
  height: number;
2707
2821
  cellType: CellType;
2822
+ cellImages: Map<string, CellImage>;
2708
2823
  }) => any>>;
2709
2824
  emit: {
2710
2825
  (event: "toolbarButtonClick", data: {
@@ -2776,6 +2891,8 @@ export declare const PCanvasTable: <T extends Recordable = Recordable, B extends
2776
2891
  attrs: any;
2777
2892
  slots: Partial<Record<string, (_: {
2778
2893
  cell: Cell | CellHeader;
2894
+ parentRowKey: string;
2895
+ parentRowKeys: string[];
2779
2896
  formatter?: FormatterMethod;
2780
2897
  formatterFooter?: FormatterMethod;
2781
2898
  hoverIconName?: string;
@@ -2822,24 +2939,6 @@ export declare const PCanvasTable: <T extends Recordable = Recordable, B extends
2822
2939
  drawTextY: number;
2823
2940
  drawTextWidth: number;
2824
2941
  drawTextHeight: number;
2825
- drawTreeImageX: number;
2826
- drawTreeImageY: number;
2827
- drawTreeImageWidth: number;
2828
- drawTreeImageHeight: number;
2829
- drawTreeImageName: string;
2830
- drawTreeImageSource?: HTMLImageElement;
2831
- drawSelectionImageX: number;
2832
- drawSelectionImageY: number;
2833
- drawSelectionImageWidth: number;
2834
- drawSelectionImageHeight: number;
2835
- drawSelectionImageName: string;
2836
- drawSelectionImageSource?: HTMLImageElement;
2837
- drawHoverImageX: number;
2838
- drawHoverImageY: number;
2839
- drawHoverImageWidth: number;
2840
- drawHoverImageHeight: number;
2841
- drawHoverImageName: string;
2842
- drawHoverImageSource?: HTMLImageElement;
2843
2942
  autoRowHeight: boolean;
2844
2943
  calculatedHeight: number;
2845
2944
  ellipsis: boolean;
@@ -2850,6 +2949,11 @@ export declare const PCanvasTable: <T extends Recordable = Recordable, B extends
2850
2949
  overflowTooltipMaxWidth: number;
2851
2950
  overflowTooltipPlacement: OverflowTooltipPlacement;
2852
2951
  maxLineClamp: LineClampType;
2952
+ precision?: number;
2953
+ min?: number;
2954
+ max?: number;
2955
+ maxlength?: number;
2956
+ mixedRender?: boolean;
2853
2957
  renderType: RenderType;
2854
2958
  renderFooterType: RenderType;
2855
2959
  ctx: Context;
@@ -2857,6 +2961,7 @@ export declare const PCanvasTable: <T extends Recordable = Recordable, B extends
2857
2961
  y: number;
2858
2962
  width: number;
2859
2963
  height: number;
2964
+ cellImages: Map<string, CellImage>;
2860
2965
  } | {
2861
2966
  cell: Cell | CellHeader;
2862
2967
  align: Align;
@@ -2898,6 +3003,9 @@ export declare const PCanvasTable: <T extends Recordable = Recordable, B extends
2898
3003
  visibleHeight: number;
2899
3004
  maxLineClampHeader: LineClampType;
2900
3005
  domDataset: any;
3006
+ textOffsetRight: number;
3007
+ textOffsetLeft: number;
3008
+ textInfo: TextInfo | undefined;
2901
3009
  drawTextX: number;
2902
3010
  drawTextY: number;
2903
3011
  drawTextWidth: number;
@@ -2924,6 +3032,7 @@ export declare const PCanvasTable: <T extends Recordable = Recordable, B extends
2924
3032
  width: number;
2925
3033
  height: number;
2926
3034
  cellType: CellType;
3035
+ cellImages: Map<string, CellImage>;
2927
3036
  }) => any>> & {
2928
3037
  empty?(_: {}): any;
2929
3038
  };
@@ -5133,6 +5242,16 @@ declare interface SvgIcon extends IconType {
5133
5242
  configColorName?: ConfigColorNameType;
5134
5243
  }
5135
5244
 
5245
+ declare type TextGlyph = {
5246
+ char: string;
5247
+ index: number;
5248
+ line: number;
5249
+ x: number;
5250
+ y: number;
5251
+ width: number;
5252
+ height: number;
5253
+ };
5254
+
5136
5255
  declare type TextInfo = {
5137
5256
  x: number;
5138
5257
  y: number;
@@ -5144,6 +5263,56 @@ declare type TextInfo = {
5144
5263
  bottom: number;
5145
5264
  };
5146
5265
 
5266
+ declare type TextLayout = {
5267
+ text: string;
5268
+ chars: string[];
5269
+ glyphs: TextGlyph[];
5270
+ lines: TextLayoutLine[];
5271
+ box: {
5272
+ x: number;
5273
+ y: number;
5274
+ width: number;
5275
+ height: number;
5276
+ };
5277
+ contentBox: {
5278
+ x: number;
5279
+ y: number;
5280
+ width: number;
5281
+ height: number;
5282
+ };
5283
+ contentY: number;
5284
+ lineHeight: number;
5285
+ font: string;
5286
+ color: string;
5287
+ align: Align;
5288
+ ellipsis: boolean;
5289
+ };
5290
+
5291
+ declare type TextLayoutLine = {
5292
+ items: TextLineItem[];
5293
+ text: string;
5294
+ caretIndex: number;
5295
+ lineIndex: number;
5296
+ drawX: number;
5297
+ drawY: number;
5298
+ width: number;
5299
+ segments: TextLineSegment[];
5300
+ };
5301
+
5302
+ declare type TextLineItem = {
5303
+ char: string;
5304
+ sourceIndex: number;
5305
+ ellipsis?: boolean;
5306
+ };
5307
+
5308
+ declare type TextLineSegment = {
5309
+ char: string;
5310
+ itemIndex: number;
5311
+ sourceIndex: number;
5312
+ x: number;
5313
+ width: number;
5314
+ };
5315
+
5147
5316
  export declare interface ToolbarButtonProps extends PButtonProps {
5148
5317
  code?: string;
5149
5318
  dropdowns?: ToolbarButtonProps[];
@@ -5165,6 +5334,8 @@ export declare interface TooltipConfig extends TooltipProps {
5165
5334
 
5166
5335
  declare type TreeSelectMode = 'auto' | 'cautious' | 'strictly';
5167
5336
 
5337
+ declare type TreeUtilPosition = 'none' | 'before' | 'after' | 'inside';
5338
+
5168
5339
  declare type Type = 'index' | 'selection' | 'index-selection' | 'tree' | 'selection-tree' | 'tree-selection' | 'number';
5169
5340
 
5170
5341
  export declare interface UIKitConfig {
@@ -5214,6 +5385,17 @@ declare type ValidatorFunction<T> = (value: T) => boolean
5214
5385
 
5215
5386
  declare type VerticalAlign = 'top' | 'middle' | 'bottom';
5216
5387
 
5388
+ declare type ViewportRect = {
5389
+ x: number;
5390
+ y: number;
5391
+ left: number;
5392
+ top: number;
5393
+ right: number;
5394
+ bottom: number;
5395
+ width: number;
5396
+ height: number;
5397
+ };
5398
+
5217
5399
  declare interface VueTypeBaseDef<
5218
5400
  T = unknown,
5219
5401
  D = DefaultType<T>,
@@ -5238,4 +5420,48 @@ declare interface VueTypeValidableDef<T = unknown> extends VueTypeBaseDef<T> {
5238
5420
 
5239
5421
  export declare function watchPreviousDeep<T extends object>(source: WatchSource<T>, cb: (value: T, oldValue: T, onCleanup: () => void) => void, options?: WatchOptions): WatchHandle;
5240
5422
 
5423
+ /** 内容缩放:逻辑坐标 ↔ 物理像素,canvas / DOM 共用 */
5424
+ declare class ZoomScale {
5425
+ value: number;
5426
+ get isDefault(): boolean;
5427
+ clamp(value: number, min: number, max: number): number;
5428
+ /** @returns 是否发生变化 */
5429
+ set(value: number, min: number, max: number): boolean;
5430
+ /** 逻辑 -> 物理 */
5431
+ toVisual(logical: number): number;
5432
+ /** 物理 -> 逻辑 */
5433
+ toLogical(physical: number): number;
5434
+ toPx(logical: number): string;
5435
+ /** DOM 测量高度 -> 逻辑高度 */
5436
+ domHeightToLogical(physicalHeight: number): number;
5437
+ /** 逻辑内容尺寸 -> 物理尺寸 */
5438
+ contentToPhysical(logical: number): number;
5439
+ scaleStyle<T extends Record<string, any>>(style: T): T;
5440
+ assignScaledStyle(el: HTMLElement, style: Record<string, any>): void;
5441
+ /** 容器物理宽度 -> 逻辑可视宽度 */
5442
+ containerWidth(containerPhysicalWidth: number): number;
5443
+ resolveStageWidth(options: {
5444
+ containerPhysicalWidth: number;
5445
+ contentWidth: number;
5446
+ scrollerTrackSize: number;
5447
+ fillContainer: boolean;
5448
+ }): {
5449
+ stageWidth: number;
5450
+ stagePhysicalWidth: number;
5451
+ };
5452
+ applyStageHeight(stageElement: HTMLDivElement, physicalHeight: number): {
5453
+ stageHeight: number;
5454
+ stagePhysicalHeight: number;
5455
+ };
5456
+ /** floating-ui 锚点:逻辑单元格 -> 视口物理矩形 */
5457
+ getViewportRect(logical: {
5458
+ x: number;
5459
+ y: number;
5460
+ width: number;
5461
+ height: number;
5462
+ }, containerRect: DOMRect): ViewportRect;
5463
+ /** overlayer 单元格:外层物理定位 + 内层 zoom 缩放自定义 render */
5464
+ createOverlayerCellElement(cell: Cell | CellHeader, cssPrefix: string): HTMLDivElement;
5465
+ }
5466
+
5241
5467
  export { }