@koi-design/uxd-ui 14.0.13 → 14.0.14

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 (63) hide show
  1. package/es/components/Table/BaseTable.mjs +4 -1
  2. package/es/components/Table/BaseTable.mjs.map +1 -1
  3. package/es/components/Table/BaseTable.vue.d.ts +18 -2
  4. package/es/components/Table/BodyTable.vue.d.ts +18 -2
  5. package/es/components/Table/HeadTable.vue.d.ts +18 -2
  6. package/es/components/Table/Table.mjs +6 -2
  7. package/es/components/Table/Table.mjs.map +1 -1
  8. package/es/components/Table/Table.type.d.ts +2 -0
  9. package/es/components/Table/Table.type.mjs.map +1 -1
  10. package/es/components/Table/Table.vue.d.ts +36 -4
  11. package/es/components/Table/TableBox.vue.d.ts +36 -4
  12. package/es/components/Table/hooks/useTableResize.d.ts +2 -0
  13. package/es/components/Table/hooks/useTableResize.mjs +8 -1
  14. package/es/components/Table/hooks/useTableResize.mjs.map +1 -1
  15. package/es/components/Table/tableUnits/ColGroup.mjs +14 -3
  16. package/es/components/Table/tableUnits/ColGroup.mjs.map +1 -1
  17. package/es/components/Table/tableUnits/ColGroup.vue.d.ts +10 -0
  18. package/es/components/Table/tableUnits/ExpandRows.vue.d.ts +4 -1
  19. package/es/components/Table/tableUnits/TableBody.vue.d.ts +8 -2
  20. package/es/components/Table/tableUnits/TableCell.mjs +6 -4
  21. package/es/components/Table/tableUnits/TableCell.mjs.map +1 -1
  22. package/es/components/Table/tableUnits/TableCell.vue.d.ts +4 -1
  23. package/es/components/Table/tableUnits/TableRow.vue.d.ts +4 -1
  24. package/lib/components/Table/BaseTable.js +4 -1
  25. package/lib/components/Table/BaseTable.js.map +1 -1
  26. package/lib/components/Table/BaseTable.vue.d.ts +18 -2
  27. package/lib/components/Table/BodyTable.vue.d.ts +18 -2
  28. package/lib/components/Table/HeadTable.vue.d.ts +18 -2
  29. package/lib/components/Table/Table.js +6 -2
  30. package/lib/components/Table/Table.js.map +1 -1
  31. package/lib/components/Table/Table.type.d.ts +2 -0
  32. package/lib/components/Table/Table.type.js.map +1 -1
  33. package/lib/components/Table/Table.vue.d.ts +36 -4
  34. package/lib/components/Table/TableBox.vue.d.ts +36 -4
  35. package/lib/components/Table/hooks/useTableResize.d.ts +2 -0
  36. package/lib/components/Table/hooks/useTableResize.js +8 -1
  37. package/lib/components/Table/hooks/useTableResize.js.map +1 -1
  38. package/lib/components/Table/tableUnits/ColGroup.js +14 -3
  39. package/lib/components/Table/tableUnits/ColGroup.js.map +1 -1
  40. package/lib/components/Table/tableUnits/ColGroup.vue.d.ts +10 -0
  41. package/lib/components/Table/tableUnits/ExpandRows.vue.d.ts +4 -1
  42. package/lib/components/Table/tableUnits/TableBody.vue.d.ts +8 -2
  43. package/lib/components/Table/tableUnits/TableCell.js +6 -4
  44. package/lib/components/Table/tableUnits/TableCell.js.map +1 -1
  45. package/lib/components/Table/tableUnits/TableCell.vue.d.ts +4 -1
  46. package/lib/components/Table/tableUnits/TableRow.vue.d.ts +4 -1
  47. package/package.json +1 -1
  48. package/types/components/Table/BaseTable.vue.d.ts +18 -2
  49. package/types/components/Table/BodyTable.vue.d.ts +18 -2
  50. package/types/components/Table/HeadTable.vue.d.ts +18 -2
  51. package/types/components/Table/Table.type.d.ts +2 -0
  52. package/types/components/Table/Table.vue.d.ts +36 -4
  53. package/types/components/Table/TableBox.vue.d.ts +36 -4
  54. package/types/components/Table/hooks/useTableResize.d.ts +2 -0
  55. package/types/components/Table/tableUnits/ColGroup.vue.d.ts +10 -0
  56. package/types/components/Table/tableUnits/ExpandRows.vue.d.ts +4 -1
  57. package/types/components/Table/tableUnits/TableBody.vue.d.ts +8 -2
  58. package/types/components/Table/tableUnits/TableCell.vue.d.ts +4 -1
  59. package/types/components/Table/tableUnits/TableRow.vue.d.ts +4 -1
  60. package/uxd-ui.esm.min.mjs +6 -6
  61. package/uxd-ui.esm.mjs +39 -11
  62. package/uxd-ui.umd.js +39 -11
  63. package/uxd-ui.umd.min.js +6 -6
@@ -18,6 +18,7 @@ function getWidth(width, tableWidth) {
18
18
  function useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, props) {
19
19
  const tableWidth = ref(void 0);
20
20
  const resizeColumns = shallowRef([]);
21
+ const columnWidths = ref({});
21
22
  const syncColumnsWidth = () => {
22
23
  const { bodyTable } = tableRefs;
23
24
  if (!bodyTable || bodyTable.getWidth() === void 0) {
@@ -35,6 +36,9 @@ function useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, pro
35
36
  tableWidth.value = void 0;
36
37
  }
37
38
  };
39
+ const syncColumnWidth = (width, column) => {
40
+ columnWidths.value[getColumnKey(column)] = width;
41
+ };
38
42
  let syncHeightTimer = null;
39
43
  const scrollPosition = ref("left");
40
44
  const setScrollPositionClass = () => {
@@ -73,6 +77,7 @@ function useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, pro
73
77
  _column.width = width;
74
78
  }
75
79
  resizeColumns.value = columns;
80
+ syncColumnWidth(width, _column);
76
81
  };
77
82
  const isScrollX = computed(() => {
78
83
  const { table } = tableRefs;
@@ -106,7 +111,9 @@ function useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, pro
106
111
  setScrollPositionClass,
107
112
  resetScrollX,
108
113
  clearResizeTimer,
109
- setResizeWidth
114
+ setResizeWidth,
115
+ syncColumnWidth,
116
+ columnWidths
110
117
  };
111
118
  }
112
119
 
@@ -1 +1 @@
1
- {"version":3,"file":"useTableResize.mjs","sources":["../../../../../src/components/Table/hooks/useTableResize.ts"],"sourcesContent":["import { computed, ref, shallowRef } from 'vue';\nimport type { ComputedRef, Ref } from 'vue';\nimport { getLeafColumns, getColumnKey } from '../utils';\n// import { shallowequal } from '../../../utils/tools';\nimport type { InnerColumn, TableProps, TableRefs } from '../Table.type';\n\nexport function getWidth(width: string | number, tableWidth: number) {\n let _width = 0;\n if (typeof width === 'number') {\n _width = width;\n } else if (/^\\d*px$/.test(width)) {\n _width = Number(width.replace('px', ''));\n } else if (/^[\\d.]*%$/.test(width)) {\n const percent = Number(width.replace('%', ''));\n if (!Number.isNaN(percent)) {\n _width = Math.floor((percent / 100) * tableWidth);\n }\n }\n return _width;\n}\nexport default function useTableResize(\n updatedColumns: Ref<InnerColumn[]>,\n tableRefs: TableRefs,\n prefixCls: Ref<string>,\n isColumnFixed: ComputedRef<boolean>,\n props: TableProps\n) {\n const tableWidth = ref<number | undefined>(undefined);\n const resizeColumns = shallowRef<InnerColumn[]>([]);\n\n const syncColumnsWidth = () => {\n const { bodyTable } = tableRefs;\n if (!bodyTable || (bodyTable as any).getWidth() === undefined) {\n return;\n }\n // const wrapWidth = props.border ? bodyTable.clientWidth - 1 : bodyTable.clientWidth;\n const wrapWidth = (bodyTable as any).getWidth();\n\n const columns = getLeafColumns(updatedColumns.value);\n\n const totalWidth = columns.reduce((sum, col) => sum + getWidth(col.width ?? col.minWidth, wrapWidth), 0);\n if (totalWidth > wrapWidth) {\n tableWidth.value = totalWidth;\n } else {\n tableWidth.value = undefined;\n }\n };\n\n let syncHeightTimer: any = null;\n const scrollPosition = ref('left');\n\n const setScrollPositionClass = () => {\n const { bodyTable } = tableRefs;\n const bodyDom = (bodyTable as any).wrapRef;\n if (!bodyDom) {\n return;\n }\n\n const scrollToLeft = bodyDom.scrollLeft === 0;\n const scrollToRight = bodyDom.scrollLeft + 1 >= bodyDom.children[0].getBoundingClientRect().width - bodyDom.getBoundingClientRect().width;\n if (scrollToLeft && scrollToRight) {\n scrollPosition.value = 'both';\n } else if (scrollToLeft) {\n scrollPosition.value = 'left';\n } else if (scrollToRight) {\n scrollPosition.value = 'right';\n } else {\n scrollPosition.value = 'middle';\n }\n };\n const handleResize = () => {\n syncColumnsWidth();\n\n if (isColumnFixed.value) {\n syncHeightTimer = setTimeout(() => {\n // syncFixedTableRowHeight();\n setScrollPositionClass();\n }, 0);\n }\n setTimeout(() => {\n (tableRefs.bodyTable as any).update();\n }, 0);\n };\n\n const setResizeWidth = (column: InnerColumn, width: number) => {\n const columns = getLeafColumns(updatedColumns.value);\n const _column = columns.find((c) => c === column || getColumnKey(c) === getColumnKey(column));\n if (_column) {\n _column.width = width;\n }\n resizeColumns.value = columns;\n };\n const isScrollX = computed(() => {\n const { table } = tableRefs;\n if (table) {\n const wrapWidth = props.border ? table.offsetWidth - 1 : table.offsetWidth;\n return tableWidth.value && tableWidth.value > wrapWidth;\n }\n return false;\n });\n\n const resetScrollX = () => {\n const { bodyTable, headTable } = tableRefs;\n if (bodyTable) {\n (bodyTable as any).setScrollLeft(0);\n }\n if (headTable) {\n (headTable as any).setScrollLeft(0);\n }\n };\n const clearResizeTimer = () => {\n if (syncHeightTimer) {\n clearTimeout(syncHeightTimer);\n syncHeightTimer = null;\n }\n };\n return {\n // sizesMap,\n tableWidth,\n isScrollX,\n scrollPosition,\n resizeColumns,\n handleResize,\n setScrollPositionClass,\n resetScrollX,\n clearResizeTimer,\n setResizeWidth\n };\n}\n"],"names":[],"mappings":";;;SAMgB,SAAS,OAAwB,YAAoB;AACnE,MAAI,SAAS;AACb,MAAI,OAAO,UAAU,UAAU;AAC7B,aAAS;AAAA,aACA,UAAU,KAAK,KAAK,GAAG;AAChC,aAAS,OAAO,MAAM,QAAQ,MAAM,EAAE,CAAC;AAAA,aAC9B,YAAY,KAAK,KAAK,GAAG;AAClC,UAAM,UAAU,OAAO,MAAM,QAAQ,KAAK,EAAE,CAAC;AAC7C,QAAI,CAAC,OAAO,MAAM,OAAO,GAAG;AAC1B,eAAS,KAAK,MAAO,UAAU,MAAO,UAAU;AAAA;AAClD;AAEF,SAAO;AACT;SACwB,eACtB,gBACA,WACA,WACA,eACA,OACA;AACA,QAAM,aAAa,IAAwB,MAAS;AACpD,QAAM,gBAAgB,WAA0B,EAAE;AAElD,QAAM,mBAAmB,MAAM;AAC7B,UAAM,EAAE,cAAc;AACtB,QAAI,CAAC,aAAc,UAAkB,eAAe,QAAW;AAC7D;AAAA;AAGF,UAAM,YAAa,UAAkB;AAErC,UAAM,UAAU,eAAe,eAAe,KAAK;AAEnD,UAAM,aAAa,QAAQ,OAAO,CAAC,KAAK,QAAK;AAxCjD;AAwCoD,mBAAM,UAAS,SAAI,UAAJ,YAAa,IAAI,UAAU,SAAS;AAAA,OAAG,CAAC;AACvG,QAAI,aAAa,WAAW;AAC1B,iBAAW,QAAQ;AAAA,WACd;AACL,iBAAW,QAAQ;AAAA;AACrB;AAGF,MAAI,kBAAuB;AAC3B,QAAM,iBAAiB,IAAI,MAAM;AAEjC,QAAM,yBAAyB,MAAM;AACnC,UAAM,EAAE,cAAc;AACtB,UAAM,UAAW,UAAkB;AACnC,QAAI,CAAC,SAAS;AACZ;AAAA;AAGF,UAAM,eAAe,QAAQ,eAAe;AAC5C,UAAM,gBAAgB,QAAQ,aAAa,KAAK,QAAQ,SAAS,GAAG,wBAAwB,QAAQ,QAAQ,wBAAwB;AACpI,QAAI,gBAAgB,eAAe;AACjC,qBAAe,QAAQ;AAAA,eACd,cAAc;AACvB,qBAAe,QAAQ;AAAA,eACd,eAAe;AACxB,qBAAe,QAAQ;AAAA,WAClB;AACL,qBAAe,QAAQ;AAAA;AACzB;AAEF,QAAM,eAAe,MAAM;AACzB;AAEA,QAAI,cAAc,OAAO;AACvB,wBAAkB,WAAW,MAAM;AAEjC;AAAuB,SACtB,CAAC;AAAA;AAEN,eAAW,MAAM;AACf,MAAC,UAAU,UAAkB;AAAO,OACnC,CAAC;AAAA;AAGN,QAAM,iBAAiB,CAAC,QAAqB,UAAkB;AAC7D,UAAM,UAAU,eAAe,eAAe,KAAK;AACnD,UAAM,UAAU,QAAQ,KAAK,CAAC,MAAM,MAAM,UAAU,aAAa,CAAC,MAAM,aAAa,MAAM,CAAC;AAC5F,QAAI,SAAS;AACX,cAAQ,QAAQ;AAAA;AAElB,kBAAc,QAAQ;AAAA;AAExB,QAAM,YAAY,SAAS,MAAM;AAC/B,UAAM,EAAE,UAAU;AAClB,QAAI,OAAO;AACT,YAAM,YAAY,MAAM,SAAS,MAAM,cAAc,IAAI,MAAM;AAC/D,aAAO,WAAW,SAAS,WAAW,QAAQ;AAAA;AAEhD,WAAO;AAAA,GACR;AAED,QAAM,eAAe,MAAM;AACzB,UAAM,EAAE,WAAW,cAAc;AACjC,QAAI,WAAW;AACb,MAAC,UAAkB,cAAc,CAAC;AAAA;AAEpC,QAAI,WAAW;AACb,MAAC,UAAkB,cAAc,CAAC;AAAA;AACpC;AAEF,QAAM,mBAAmB,MAAM;AAC7B,QAAI,iBAAiB;AACnB,mBAAa,eAAe;AAC5B,wBAAkB;AAAA;AACpB;AAEF,SAAO;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"useTableResize.mjs","sources":["../../../../../src/components/Table/hooks/useTableResize.ts"],"sourcesContent":["import { computed, ref, shallowRef } from 'vue';\nimport type { ComputedRef, Ref } from 'vue';\nimport { getLeafColumns, getColumnKey } from '../utils';\n// import { shallowequal } from '../../../utils/tools';\nimport type { InnerColumn, TableProps, TableRefs } from '../Table.type';\n\nexport function getWidth(width: string | number, tableWidth: number) {\n let _width = 0;\n if (typeof width === 'number') {\n _width = width;\n } else if (/^\\d*px$/.test(width)) {\n _width = Number(width.replace('px', ''));\n } else if (/^[\\d.]*%$/.test(width)) {\n const percent = Number(width.replace('%', ''));\n if (!Number.isNaN(percent)) {\n _width = Math.floor((percent / 100) * tableWidth);\n }\n }\n return _width;\n}\nexport default function useTableResize(\n updatedColumns: Ref<InnerColumn[]>,\n tableRefs: TableRefs,\n prefixCls: Ref<string>,\n isColumnFixed: ComputedRef<boolean>,\n props: TableProps\n) {\n const tableWidth = ref<number | undefined>(undefined);\n const resizeColumns = shallowRef<InnerColumn[]>([]);\n const columnWidths = ref<Record<string, number>>({});\n\n const syncColumnsWidth = () => {\n const { bodyTable } = tableRefs;\n if (!bodyTable || (bodyTable as any).getWidth() === undefined) {\n return;\n }\n // const wrapWidth = props.border ? bodyTable.clientWidth - 1 : bodyTable.clientWidth;\n const wrapWidth = (bodyTable as any).getWidth();\n\n const columns = getLeafColumns(updatedColumns.value);\n\n const totalWidth = columns.reduce((sum, col) => sum + getWidth(col.width ?? col.minWidth, wrapWidth), 0);\n if (totalWidth > wrapWidth) {\n tableWidth.value = totalWidth;\n } else {\n tableWidth.value = undefined;\n }\n };\n\n const syncColumnWidth = (width: number, column: InnerColumn) => {\n columnWidths.value[getColumnKey(column)] = width;\n };\n\n let syncHeightTimer: any = null;\n const scrollPosition = ref('left');\n\n const setScrollPositionClass = () => {\n const { bodyTable } = tableRefs;\n const bodyDom = (bodyTable as any).wrapRef;\n if (!bodyDom) {\n return;\n }\n\n const scrollToLeft = bodyDom.scrollLeft === 0;\n const scrollToRight = bodyDom.scrollLeft + 1 >= bodyDom.children[0].getBoundingClientRect().width - bodyDom.getBoundingClientRect().width;\n if (scrollToLeft && scrollToRight) {\n scrollPosition.value = 'both';\n } else if (scrollToLeft) {\n scrollPosition.value = 'left';\n } else if (scrollToRight) {\n scrollPosition.value = 'right';\n } else {\n scrollPosition.value = 'middle';\n }\n };\n const handleResize = () => {\n syncColumnsWidth();\n\n if (isColumnFixed.value) {\n syncHeightTimer = setTimeout(() => {\n // syncFixedTableRowHeight();\n setScrollPositionClass();\n }, 0);\n }\n setTimeout(() => {\n (tableRefs.bodyTable as any).update();\n }, 0);\n };\n\n const setResizeWidth = (column: InnerColumn, width: number) => {\n const columns = getLeafColumns(updatedColumns.value);\n const _column = columns.find((c) => c === column || getColumnKey(c) === getColumnKey(column));\n if (_column) {\n _column.width = width;\n }\n resizeColumns.value = columns;\n syncColumnWidth(width, _column);\n };\n const isScrollX = computed(() => {\n const { table } = tableRefs;\n if (table) {\n const wrapWidth = props.border ? table.offsetWidth - 1 : table.offsetWidth;\n return tableWidth.value && tableWidth.value > wrapWidth;\n }\n return false;\n });\n\n const resetScrollX = () => {\n const { bodyTable, headTable } = tableRefs;\n if (bodyTable) {\n (bodyTable as any).setScrollLeft(0);\n }\n if (headTable) {\n (headTable as any).setScrollLeft(0);\n }\n };\n const clearResizeTimer = () => {\n if (syncHeightTimer) {\n clearTimeout(syncHeightTimer);\n syncHeightTimer = null;\n }\n };\n return {\n // sizesMap,\n tableWidth,\n isScrollX,\n scrollPosition,\n resizeColumns,\n handleResize,\n setScrollPositionClass,\n resetScrollX,\n clearResizeTimer,\n setResizeWidth,\n syncColumnWidth,\n columnWidths\n };\n}\n"],"names":[],"mappings":"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"}
@@ -8,11 +8,15 @@ const _sfc_main = defineComponent({
8
8
  columns: {
9
9
  type: Array,
10
10
  default: () => []
11
+ },
12
+ isHeadTable: {
13
+ type: Boolean,
14
+ default: false
11
15
  }
12
16
  },
13
17
  setup(props) {
14
18
  const {
15
- size: { resizeColumns }
19
+ size: { resizeColumns, columnWidths }
16
20
  } = inject("tableContext", {});
17
21
  const cols = computed(() => {
18
22
  let rst = [];
@@ -33,8 +37,15 @@ const _sfc_main = defineComponent({
33
37
  );
34
38
  return rst;
35
39
  });
40
+ const getWidth = (col) => {
41
+ if (props.isHeadTable) {
42
+ return `${columnWidths.value[col.key]}px`;
43
+ }
44
+ return col.resizeWidth ? col.resizeWidth : col.width;
45
+ };
36
46
  return {
37
- cols
47
+ cols,
48
+ getWidth
38
49
  };
39
50
  }
40
51
  });
@@ -43,7 +54,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
43
54
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.cols, (col) => {
44
55
  return openBlock(), createElementBlock("col", {
45
56
  key: col.key,
46
- style: normalizeStyle({ width: col.resizeWidth ? col.resizeWidth : col.width, minWidth: col.minWidth, maxWidth: col.fixed ? col.width : "" })
57
+ style: normalizeStyle({ width: _ctx.getWidth(col), minWidth: col.minWidth, maxWidth: col.fixed ? col.width : "" })
47
58
  }, null, 4);
48
59
  }), 128))
49
60
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"ColGroup.mjs","sources":["../../../../../src/components/Table/tableUnits/ColGroup.vue"],"sourcesContent":["<template>\n <colgroup>\n <col\n v-for=\"col in cols\"\n :key=\"col.key\"\n :style=\"{ width: col.resizeWidth ? col.resizeWidth : col.width, minWidth: col.minWidth, maxWidth: col.fixed ? col.width : '' }\"\n />\n </colgroup>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, inject } from 'vue';\nimport type { PropType } from 'vue';\nimport type { TableColProps, InnerColumn, TableContext } from '../Table.type';\nimport { getColumnKey, getLeafColumns } from '../utils';\n\nexport default defineComponent({\n name: 'TableColGroup',\n props: {\n columns: {\n type: Array as PropType<InnerColumn[]>,\n default: () => [] as InnerColumn[]\n }\n },\n setup(props) {\n const {\n size: { resizeColumns }\n } = inject<TableContext>('tableContext', {} as TableContext);\n\n const cols = computed(() => {\n let rst: TableColProps[] = [];\n rst = rst.concat(\n getLeafColumns(props.columns).map((col) => {\n const { fixed } = col;\n const colKey = getColumnKey(col);\n const resizeWidth = resizeColumns.value.find((x) => x.key === colKey)?.width;\n return {\n width: typeof col.width === 'number' ? `${col.width}px` : col.width,\n minWidth: typeof col.minWidth === 'number' ? `${col.minWidth}px` : col.minWidth,\n key: colKey,\n fixed: !!fixed,\n resizeWidth: resizeWidth ? `${resizeWidth}px` : undefined\n } as any;\n })\n );\n return rst;\n });\n return {\n cols\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_Fragment","_normalizeStyle"],"mappings":";;;;AAgBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM;AAAC;AAClB;AACF,EACA,MAAM,OAAO;UACL;AAAA,MACJ,MAAM,EAAE;AAAc,QACpB,OAAqB,gBAAgB,EAAkB;UAErD,OAAO,SAAS,MAAM;UACtB,MAAuB;YACrB,IAAI;AAAA,QACR,eAAe,MAAM,OAAO,EAAE,IAAI,CAAC,QAAQ;AArBnD;gBAsBgB,EAAE,UAAU;gBACZ,SAAS,aAAa,GAAG;gBACzB,eAAc,mBAAc,MAAM,KAAK,CAAC,MAAM,EAAE,QAAQ,MAAM,MAAhD,mBAAmD;iBAChE;AAAA,YACL,OAAO,OAAO,IAAI,UAAU,WAAW,GAAG,IAAI,YAAY,IAAI;AAAA,YAC9D,UAAU,OAAO,IAAI,aAAa,WAAW,GAAG,IAAI,eAAe,IAAI;AAAA,YACvE,KAAK;AAAA,YACL,OAAO,CAAC,CAAC;AAAA,YACT,aAAa,cAAc,GAAG,kBAAkB;AAAA;AAClD,SACD;AAAA;aAEI;AAAA,KACR;WACM;AAAA,MACL;AAAA;AACF;AAEJ,CAAC;;sBAlDCA,mBAMW;sBALTA,mBAIEC,2BAHc,WAAI,CAAX,QAAG;0BADZD,mBAIE;QAFC,KAAK,IAAI;AAAA,QACT,OAAKE,wBAAW,IAAI,cAAc,IAAI,cAAc,IAAI,OAAK,UAAY,IAAI,UAAQ,UAAY,IAAI,QAAQ,IAAI,QAAK;;;;;;;;;"}
1
+ {"version":3,"file":"ColGroup.mjs","sources":["../../../../../src/components/Table/tableUnits/ColGroup.vue"],"sourcesContent":["<template>\n <colgroup>\n <col v-for=\"col in cols\" :key=\"col.key\" :style=\"{ width: getWidth(col), minWidth: col.minWidth, maxWidth: col.fixed ? col.width : '' }\" />\n </colgroup>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, inject } from 'vue';\nimport type { PropType } from 'vue';\nimport type { TableColProps, InnerColumn, TableContext } from '../Table.type';\nimport { getColumnKey, getLeafColumns } from '../utils';\n\nexport default defineComponent({\n name: 'TableColGroup',\n props: {\n columns: {\n type: Array as PropType<InnerColumn[]>,\n default: () => [] as InnerColumn[]\n },\n isHeadTable: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const {\n size: { resizeColumns, columnWidths }\n } = inject<TableContext>('tableContext', {} as TableContext);\n\n const cols = computed(() => {\n let rst: TableColProps[] = [];\n rst = rst.concat(\n getLeafColumns(props.columns).map((col) => {\n const { fixed } = col;\n const colKey = getColumnKey(col);\n const resizeWidth = resizeColumns.value.find((x) => x.key === colKey)?.width;\n return {\n width: typeof col.width === 'number' ? `${col.width}px` : col.width,\n minWidth: typeof col.minWidth === 'number' ? `${col.minWidth}px` : col.minWidth,\n key: colKey,\n fixed: !!fixed,\n resizeWidth: resizeWidth ? `${resizeWidth}px` : undefined\n } as any;\n })\n );\n return rst;\n });\n\n const getWidth = (col: TableColProps) => {\n if (props.isHeadTable) {\n return `${columnWidths.value[col.key]}px`;\n }\n return col.resizeWidth ? col.resizeWidth : col.width;\n };\n\n return {\n cols,\n getWidth\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_Fragment","_normalizeStyle"],"mappings":";;;;AAYA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM;AAAC;AAClB,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AACX;AACF,EACA,MAAM,OAAO;UACL;AAAA,MACJ,MAAM,EAAE,eAAe;AAAa,QAClC,OAAqB,gBAAgB,EAAkB;UAErD,OAAO,SAAS,MAAM;UACtB,MAAuB;YACrB,IAAI;AAAA,QACR,eAAe,MAAM,OAAO,EAAE,IAAI,CAAC,QAAQ;AAzBnD;gBA0BgB,EAAE,UAAU;gBACZ,SAAS,aAAa,GAAG;gBACzB,eAAc,mBAAc,MAAM,KAAK,CAAC,MAAM,EAAE,QAAQ,MAAM,MAAhD,mBAAmD;iBAChE;AAAA,YACL,OAAO,OAAO,IAAI,UAAU,WAAW,GAAG,IAAI,YAAY,IAAI;AAAA,YAC9D,UAAU,OAAO,IAAI,aAAa,WAAW,GAAG,IAAI,eAAe,IAAI;AAAA,YACvE,KAAK;AAAA,YACL,OAAO,CAAC,CAAC;AAAA,YACT,aAAa,cAAc,GAAG,kBAAkB;AAAA;AAClD,SACD;AAAA;aAEI;AAAA,KACR;UAEK,WAAW,CAAC,QAAuB;UACnC,MAAM,aAAa;eACd,GAAG,aAAa,MAAM,IAAI;AAAA;aAE5B,IAAI,cAAc,IAAI,cAAc,IAAI;AAAA;WAG1C;AAAA,MACL;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;sBA3DCA,mBAEW;sBADTA,mBAA0IC,2BAAvH,WAAI,CAAX,QAAG;0BAAfD,mBAA0I;QAAhH,KAAK,IAAI;AAAA,QAAM,OAAKE,wBAAW,cAAS,GAAG,aAAa,IAAI,UAAQ,UAAY,IAAI,QAAQ,IAAI,QAAK;;;;;;;;;"}
@@ -5,14 +5,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5
5
  type: PropType<InnerColumn[]>;
6
6
  default: () => InnerColumn[];
7
7
  };
8
+ isHeadTable: {
9
+ type: BooleanConstructor;
10
+ default: boolean;
11
+ };
8
12
  }>, {
9
13
  cols: import("vue").ComputedRef<TableColProps[]>;
14
+ getWidth: (col: TableColProps) => string;
10
15
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
16
  columns: {
12
17
  type: PropType<InnerColumn[]>;
13
18
  default: () => InnerColumn[];
14
19
  };
20
+ isHeadTable: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
15
24
  }>> & Readonly<{}>, {
16
25
  columns: InnerColumn[];
26
+ isHeadTable: boolean;
17
27
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
28
  export default _default;
@@ -205,7 +205,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
205
205
  cellRef: import("vue").Ref<any, any>;
206
206
  ellipsisSpanRef: import("vue").Ref<any, any>;
207
207
  isOverflow: import("vue").Ref<boolean, boolean>;
208
- debouncedHandleResize: import("../../../utils").DebounceReturn;
208
+ checkWidth: ({ target, width }: {
209
+ target: HTMLElement;
210
+ width: number;
211
+ }) => void;
209
212
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
210
213
  prefixCls: {
211
214
  type: StringConstructor;
@@ -170,7 +170,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
170
170
  cellRef: import("vue").Ref<any, any>;
171
171
  ellipsisSpanRef: import("vue").Ref<any, any>;
172
172
  isOverflow: import("vue").Ref<boolean, boolean>;
173
- debouncedHandleResize: import("../../../utils").DebounceReturn;
173
+ checkWidth: ({ target, width }: {
174
+ target: HTMLElement;
175
+ width: number;
176
+ }) => void;
174
177
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
175
178
  prefixCls: {
176
179
  type: StringConstructor;
@@ -1469,7 +1472,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1469
1472
  cellRef: import("vue").Ref<any, any>;
1470
1473
  ellipsisSpanRef: import("vue").Ref<any, any>;
1471
1474
  isOverflow: import("vue").Ref<boolean, boolean>;
1472
- debouncedHandleResize: import("../../../utils").DebounceReturn;
1475
+ checkWidth: ({ target, width }: {
1476
+ target: HTMLElement;
1477
+ width: number;
1478
+ }) => void;
1473
1479
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1474
1480
  prefixCls: {
1475
1481
  type: StringConstructor;
@@ -8,7 +8,6 @@ import '../../../utils/index.mjs';
8
8
  import ResizeObserver from '../../base/ResizeObserver.mjs';
9
9
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
10
  import { getStyle } from '../../../utils/dom.mjs';
11
- import { debounce } from '../../../utils/tools.mjs';
12
11
 
13
12
  const USkeletonItem = USkeleton.Item;
14
13
  const _sfc_main = defineComponent({
@@ -60,6 +59,7 @@ const _sfc_main = defineComponent({
60
59
  props: { indentSize },
61
60
  expand: { handleExpandChange, isRowExpanded },
62
61
  filterAndSorter: { hasAction, hasSorters, hasFilters, isSortColumn },
62
+ size: { syncColumnWidth },
63
63
  pagination
64
64
  } = inject("tableContext", {});
65
65
  const cellRef = ref();
@@ -147,8 +147,10 @@ const _sfc_main = defineComponent({
147
147
  }
148
148
  }
149
149
  });
150
+ if (props.index === 0) {
151
+ syncColumnWidth(width, props.column);
152
+ }
150
153
  };
151
- const debouncedHandleResize = debounce((args) => checkWidth(args), 100);
152
154
  return {
153
155
  tablePrefixCls,
154
156
  isRender,
@@ -169,7 +171,7 @@ const _sfc_main = defineComponent({
169
171
  cellRef,
170
172
  ellipsisSpanRef,
171
173
  isOverflow,
172
- debouncedHandleResize
174
+ checkWidth
173
175
  };
174
176
  }
175
177
  });
@@ -180,7 +182,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
180
182
  const _component_Render = resolveComponent("Render");
181
183
  const _component_UTooltip = resolveComponent("UTooltip");
182
184
  const _component_ResizeObserver = resolveComponent("ResizeObserver");
183
- return openBlock(), createBlock(_component_ResizeObserver, { onResize: _ctx.debouncedHandleResize }, {
185
+ return openBlock(), createBlock(_component_ResizeObserver, { onResize: _ctx.checkWidth }, {
184
186
  default: withCtx(() => {
185
187
  var _a;
186
188
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.mjs","sources":["../../../../../src/components/Table/tableUnits/TableCell.vue"],"sourcesContent":["<template>\n <ResizeObserver @resize=\"debouncedHandleResize\">\n <td\n v-if=\"showCell\"\n ref=\"cellRef\"\n v-bind=\"tdProps\"\n :class=\"{\n [`${prefixCls}-cell-custom`]: !!(tdProps as any)?.class,\n [`${column.className}`]: !!column.className,\n [`${prefixCls}-cell-ellipsis`]: !!column.ellipsis,\n [`${prefixCls}-cell-break-word`]: !!column.width,\n [`${tablePrefixCls}-column-has-actions`]: hasAction(column),\n [`${tablePrefixCls}-column-has-sorters`]: hasSorters(column),\n [`${tablePrefixCls}-column-has-filters`]: hasFilters(column),\n [`${tablePrefixCls}-column-sort`]: isSortColumn(column)\n }\"\n :style=\"tdStyle\"\n >\n <USkeleton v-if=\"skeleton\" :class=\"`${prefixCls}-skeleton-wrap`\" active>\n <template v-if=\"column.skeleton\">\n <USkeletonItem\n v-for=\"(_, ski) in Array(column.skeleton.length)\"\n :key=\"ski\"\n :type=\"column.skeleton[ski].type\"\n :style=\"column.skeleton[ski].style\"\n />\n </template>\n <USkeletonItem v-else type=\"text\" style=\"width: 50%\" />\n </USkeleton>\n <template v-else>\n <template v-if=\"expandIcon\">\n <span :class=\"`${prefixCls}-indent indent-level-${indent}`\" :style=\"{ paddingLeft: `${indentSize * indent}px` }\" />\n <ExpandIcon\n need-indent-spaced\n :expandable=\"!!(data as any).children\"\n :need-loading=\"(data as any).children === true\"\n :row-key=\"rowKey\"\n :expanded=\"isRowExpanded(rowKey, true)\"\n @expand=\"handleExpand\"\n @async-expand=\"handleAsyncExpand\"\n />\n </template>\n <Render\n v-if=\"isRender\"\n :render=\"\n () => {\n return renderFn?.({\n row: data,\n index,\n rowKey,\n pagination,\n column\n });\n }\n \"\n />\n <template v-else>\n <template v-if=\"column.ellipsis && displayCell\">\n <UTooltip :title=\"displayCell.toString()\" :disabled=\"!isOverflow\" :mouse-enter-delay=\"0.5\">\n <span ref=\"ellipsisSpanRef\">\n {{ displayCell }}\n </span>\n </UTooltip>\n </template>\n <template v-else>\n {{ displayCell }}\n </template>\n </template>\n </template>\n </td>\n </ResizeObserver>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, watch, ref, nextTick } from 'vue';\nimport type { PropType, CSSProperties } from 'vue';\nimport { get } from 'lodash-unified';\nimport UTooltip from '@uxd-ui/components/Tooltip';\nimport USkeleton from '@uxd-ui/components/Skeleton';\nimport Render from '../../base/Render';\nimport ExpandIcon from './ExpandIcon.vue';\nimport type { InnerColumn, TableContext } from '../Table.type';\nimport { debounce, getStyle } from '../../../utils';\nimport ResizeObserver from '../../base/ResizeObserver';\n\nconst USkeletonItem = USkeleton.Item;\n\nexport default defineComponent({\n name: 'TableCell',\n components: {\n Render,\n ExpandIcon,\n UTooltip,\n USkeleton,\n USkeletonItem,\n ResizeObserver\n },\n props: {\n prefixCls: {\n type: String\n },\n column: {\n type: Object as PropType<InnerColumn>,\n required: true\n },\n data: {\n type: Object as PropType<Record<string, any>>,\n required: true\n },\n rowKey: {\n type: [String, Number],\n required: true\n },\n index: {\n type: Number,\n required: true\n },\n indent: {\n type: Number,\n default: 20\n },\n expandIcon: {\n type: Boolean,\n default: false\n },\n skeleton: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const {\n prefixCls: tablePrefixCls,\n props: { indentSize },\n expand: { handleExpandChange, isRowExpanded },\n filterAndSorter: { hasAction, hasSorters, hasFilters, isSortColumn },\n // size: { sizesMap },\n pagination\n } = inject<TableContext>('tableContext', {} as TableContext);\n\n const cellRef = ref();\n const ellipsisSpanRef = ref();\n const isOverflow = ref(false);\n const isMinWidth = ref(false);\n\n const renderFn = computed(() => {\n const { render } = props.column;\n return render || null;\n });\n\n const isRender = computed(() => {\n return renderFn.value !== null;\n });\n\n const displayCell = computed(() => {\n const { key, dataIndex } = props.column;\n const record = props.data;\n return get(record, dataIndex || key);\n });\n\n const tdProps = ref({});\n const showCell = ref(true);\n\n watch(\n () => [props.column, props.data, props.index],\n () => {\n const { customCell } = props.column;\n const attrs = {} as Record<string, any>;\n // if (ellipsis && !render) {\n // attrs.title = displayCell.value;\n // }\n if (customCell) {\n const { data, index } = props;\n const _props = customCell(data, index);\n const { colSpan, rowSpan } = _props;\n showCell.value = colSpan !== 0 && rowSpan !== 0;\n Object.keys(_props).forEach((key) => {\n attrs[key] = _props[key];\n });\n }\n tdProps.value = attrs;\n },\n { immediate: true }\n );\n\n const tdStyle = computed(() => {\n const style = {} as CSSProperties;\n const { align, left, right } = props.column;\n if (align) {\n style.textAlign = align;\n }\n if (left !== undefined) {\n style.left = `${left}px`;\n }\n if (right !== undefined) {\n style.right = `${right}px`;\n }\n if (isMinWidth.value) {\n style.width = `${props.column.minWidth}px`;\n }\n return style;\n });\n\n const handleExpand = (e: any) => {\n handleExpandChange({ row: props.data, rowKey: props.rowKey, tree: true }, e);\n };\n\n const handleAsyncExpand = (e: any, done: () => void) => {\n handleExpandChange(\n {\n row: props.data,\n rowKey: props.rowKey,\n async: true,\n tree: true,\n done\n },\n e\n );\n };\n\n const checkWidth = ({ target, width }: { target: HTMLElement; width: number }) => {\n nextTick(() => {\n if (ellipsisSpanRef.value) {\n const cell = target;\n const padding = (Number.parseInt(getStyle(cell, 'paddingLeft')) || 0) + (Number.parseInt(getStyle(cell, 'paddingRight')) || 0);\n const span = ellipsisSpanRef.value;\n const range = document.createRange();\n range.setStart(span, 0);\n range.setEnd(span, span.childNodes.length);\n const rangeWidth = range.getBoundingClientRect().width;\n\n // const cellWidth = Number(getStyle(cell, 'width'));\n if (rangeWidth + padding > width) {\n isOverflow.value = true;\n } else {\n isOverflow.value = false;\n }\n }\n });\n };\n\n // onMounted(() => {\n // checkOverflow(cellRef.value);\n // });\n\n const debouncedHandleResize = debounce((args: any) => checkWidth(args), 100);\n\n return {\n tablePrefixCls,\n isRender,\n renderFn,\n displayCell,\n tdProps,\n tdStyle,\n indentSize,\n handleExpand,\n handleAsyncExpand,\n isRowExpanded,\n showCell,\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n pagination,\n cellRef,\n ellipsisSpanRef,\n isOverflow,\n debouncedHandleResize\n };\n }\n});\n</script>\n"],"names":["_createBlock","_createElementBlock","_mergeProps","_normalizeClass","_Fragment","_normalizeStyle","_createElementVNode","_createVNode","_a"],"mappings":"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"}
1
+ {"version":3,"file":"TableCell.mjs","sources":["../../../../../src/components/Table/tableUnits/TableCell.vue"],"sourcesContent":["<template>\n <ResizeObserver @resize=\"checkWidth\">\n <td\n v-if=\"showCell\"\n ref=\"cellRef\"\n v-bind=\"tdProps\"\n :class=\"{\n [`${prefixCls}-cell-custom`]: !!(tdProps as any)?.class,\n [`${column.className}`]: !!column.className,\n [`${prefixCls}-cell-ellipsis`]: !!column.ellipsis,\n [`${prefixCls}-cell-break-word`]: !!column.width,\n [`${tablePrefixCls}-column-has-actions`]: hasAction(column),\n [`${tablePrefixCls}-column-has-sorters`]: hasSorters(column),\n [`${tablePrefixCls}-column-has-filters`]: hasFilters(column),\n [`${tablePrefixCls}-column-sort`]: isSortColumn(column)\n }\"\n :style=\"tdStyle\"\n >\n <USkeleton v-if=\"skeleton\" :class=\"`${prefixCls}-skeleton-wrap`\" active>\n <template v-if=\"column.skeleton\">\n <USkeletonItem\n v-for=\"(_, ski) in Array(column.skeleton.length)\"\n :key=\"ski\"\n :type=\"column.skeleton[ski].type\"\n :style=\"column.skeleton[ski].style\"\n />\n </template>\n <USkeletonItem v-else type=\"text\" style=\"width: 50%\" />\n </USkeleton>\n <template v-else>\n <template v-if=\"expandIcon\">\n <span :class=\"`${prefixCls}-indent indent-level-${indent}`\" :style=\"{ paddingLeft: `${indentSize * indent}px` }\" />\n <ExpandIcon\n need-indent-spaced\n :expandable=\"!!(data as any).children\"\n :need-loading=\"(data as any).children === true\"\n :row-key=\"rowKey\"\n :expanded=\"isRowExpanded(rowKey, true)\"\n @expand=\"handleExpand\"\n @async-expand=\"handleAsyncExpand\"\n />\n </template>\n <Render\n v-if=\"isRender\"\n :render=\"\n () => {\n return renderFn?.({\n row: data,\n index,\n rowKey,\n pagination,\n column\n });\n }\n \"\n />\n <template v-else>\n <template v-if=\"column.ellipsis && displayCell\">\n <UTooltip :title=\"displayCell.toString()\" :disabled=\"!isOverflow\" :mouse-enter-delay=\"0.5\">\n <span ref=\"ellipsisSpanRef\">\n {{ displayCell }}\n </span>\n </UTooltip>\n </template>\n <template v-else>\n {{ displayCell }}\n </template>\n </template>\n </template>\n </td>\n </ResizeObserver>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, watch, ref, nextTick } from 'vue';\nimport type { PropType, CSSProperties } from 'vue';\nimport { get } from 'lodash-unified';\nimport UTooltip from '@uxd-ui/components/Tooltip';\nimport USkeleton from '@uxd-ui/components/Skeleton';\nimport Render from '../../base/Render';\nimport ExpandIcon from './ExpandIcon.vue';\nimport type { InnerColumn, TableContext } from '../Table.type';\nimport { getStyle } from '../../../utils';\nimport ResizeObserver from '../../base/ResizeObserver';\n\nconst USkeletonItem = USkeleton.Item;\n\nexport default defineComponent({\n name: 'TableCell',\n components: {\n Render,\n ExpandIcon,\n UTooltip,\n USkeleton,\n USkeletonItem,\n ResizeObserver\n },\n props: {\n prefixCls: {\n type: String\n },\n column: {\n type: Object as PropType<InnerColumn>,\n required: true\n },\n data: {\n type: Object as PropType<Record<string, any>>,\n required: true\n },\n rowKey: {\n type: [String, Number],\n required: true\n },\n index: {\n type: Number,\n required: true\n },\n indent: {\n type: Number,\n default: 20\n },\n expandIcon: {\n type: Boolean,\n default: false\n },\n skeleton: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const {\n prefixCls: tablePrefixCls,\n props: { indentSize },\n expand: { handleExpandChange, isRowExpanded },\n filterAndSorter: { hasAction, hasSorters, hasFilters, isSortColumn },\n // size: { sizesMap },\n size: { syncColumnWidth },\n pagination\n } = inject<TableContext>('tableContext', {} as TableContext);\n\n const cellRef = ref();\n const ellipsisSpanRef = ref();\n const isOverflow = ref(false);\n const isMinWidth = ref(false);\n\n const renderFn = computed(() => {\n const { render } = props.column;\n return render || null;\n });\n\n const isRender = computed(() => {\n return renderFn.value !== null;\n });\n\n const displayCell = computed(() => {\n const { key, dataIndex } = props.column;\n const record = props.data;\n return get(record, dataIndex || key);\n });\n\n const tdProps = ref({});\n const showCell = ref(true);\n\n watch(\n () => [props.column, props.data, props.index],\n () => {\n const { customCell } = props.column;\n const attrs = {} as Record<string, any>;\n // if (ellipsis && !render) {\n // attrs.title = displayCell.value;\n // }\n if (customCell) {\n const { data, index } = props;\n const _props = customCell(data, index);\n const { colSpan, rowSpan } = _props;\n showCell.value = colSpan !== 0 && rowSpan !== 0;\n Object.keys(_props).forEach((key) => {\n attrs[key] = _props[key];\n });\n }\n tdProps.value = attrs;\n },\n { immediate: true }\n );\n\n const tdStyle = computed(() => {\n const style = {} as CSSProperties;\n const { align, left, right } = props.column;\n if (align) {\n style.textAlign = align;\n }\n if (left !== undefined) {\n style.left = `${left}px`;\n }\n if (right !== undefined) {\n style.right = `${right}px`;\n }\n if (isMinWidth.value) {\n style.width = `${props.column.minWidth}px`;\n }\n return style;\n });\n\n const handleExpand = (e: any) => {\n handleExpandChange({ row: props.data, rowKey: props.rowKey, tree: true }, e);\n };\n\n const handleAsyncExpand = (e: any, done: () => void) => {\n handleExpandChange(\n {\n row: props.data,\n rowKey: props.rowKey,\n async: true,\n tree: true,\n done\n },\n e\n );\n };\n\n const checkWidth = ({ target, width }: { target: HTMLElement; width: number }) => {\n nextTick(() => {\n if (ellipsisSpanRef.value) {\n const cell = target;\n const padding = (Number.parseInt(getStyle(cell, 'paddingLeft')) || 0) + (Number.parseInt(getStyle(cell, 'paddingRight')) || 0);\n const span = ellipsisSpanRef.value;\n const range = document.createRange();\n range.setStart(span, 0);\n range.setEnd(span, span.childNodes.length);\n const rangeWidth = range.getBoundingClientRect().width;\n\n // const cellWidth = Number(getStyle(cell, 'width'));\n if (rangeWidth + padding > width) {\n isOverflow.value = true;\n } else {\n isOverflow.value = false;\n }\n }\n });\n if (props.index === 0) {\n syncColumnWidth(width, props.column);\n }\n };\n\n // onMounted(() => {\n // checkOverflow(cellRef.value);\n // });\n\n return {\n tablePrefixCls,\n isRender,\n renderFn,\n displayCell,\n tdProps,\n tdStyle,\n indentSize,\n handleExpand,\n handleAsyncExpand,\n isRowExpanded,\n showCell,\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n pagination,\n cellRef,\n ellipsisSpanRef,\n isOverflow,\n checkWidth\n };\n }\n});\n</script>\n"],"names":["_createBlock","_createElementBlock","_mergeProps","_normalizeClass","_Fragment","_normalizeStyle","_createElementVNode","_createVNode","_a"],"mappings":"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"}
@@ -52,7 +52,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
52
52
  cellRef: import("vue").Ref<any, any>;
53
53
  ellipsisSpanRef: import("vue").Ref<any, any>;
54
54
  isOverflow: import("vue").Ref<boolean, boolean>;
55
- debouncedHandleResize: import("../../../utils").DebounceReturn;
55
+ checkWidth: ({ target, width }: {
56
+ target: HTMLElement;
57
+ width: number;
58
+ }) => void;
56
59
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
57
60
  prefixCls: {
58
61
  type: StringConstructor;
@@ -151,7 +151,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
151
151
  cellRef: import("vue").Ref<any, any>;
152
152
  ellipsisSpanRef: import("vue").Ref<any, any>;
153
153
  isOverflow: import("vue").Ref<boolean, boolean>;
154
- debouncedHandleResize: import("../../../utils").DebounceReturn;
154
+ checkWidth: ({ target, width }: {
155
+ target: HTMLElement;
156
+ width: number;
157
+ }) => void;
155
158
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
156
159
  prefixCls: {
157
160
  type: StringConstructor;
@@ -100,7 +100,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
100
100
  ref: "tableRef",
101
101
  style: vue.normalizeStyle(_ctx.tableStyle)
102
102
  }, [
103
- vue.createVNode(_component_ColGroup, { columns: _ctx.columns }, null, 8, ["columns"]),
103
+ vue.createVNode(_component_ColGroup, {
104
+ columns: _ctx.columns,
105
+ "is-head-table": !_ctx.showBody
106
+ }, null, 8, ["columns", "is-head-table"]),
104
107
  _ctx.showHeader ? (vue.openBlock(), vue.createBlock(_component_TableHeader, {
105
108
  key: 0,
106
109
  columns: _ctx.getColumns()
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTable.js","sources":["../../../../src/components/Table/BaseTable.vue"],"sourcesContent":["<template>\n <table ref=\"tableRef\" :style=\"tableStyle\">\n <ColGroup :columns=\"columns\" />\n <TableHeader v-if=\"showHeader\" :columns=\"getColumns()\" />\n <TableBody v-if=\"showBody\" :columns=\"getColumns()\" />\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, inject, ref } from 'vue';\nimport type { PropType, CSSProperties } from 'vue';\nimport ColGroup from './tableUnits/ColGroup.vue';\nimport TableHeader from './tableUnits/TableHeader.vue';\nimport TableBody from './tableUnits/TableBody.vue';\n// import useResizeObserver from '../base/hooks/useResizeObserver';\nimport type { InnerColumn, TableContext } from './Table.type';\nimport { getWidth } from './hooks/useTableResize';\n// import { debounce } from '../../utils/tools';\n\nexport default defineComponent({\n name: 'BaseTable',\n components: {\n ColGroup,\n TableHeader,\n TableBody\n },\n props: {\n showHeader: {\n type: Boolean,\n default: false\n },\n showBody: {\n type: Boolean,\n default: false\n },\n columns: {\n type: Array as PropType<InnerColumn[]>,\n default: () => [] as InnerColumn[]\n }\n },\n setup(props) {\n const {\n prefixCls,\n props: { width },\n size: { tableWidth }\n } = inject<TableContext>('tableContext', {} as TableContext);\n const tableRef = ref<HTMLElement | null>(null);\n\n const tableStyle = computed(() => {\n const style = {} as CSSProperties;\n if (width.value) {\n style.width = typeof width.value === 'number' ? `${width.value}px` : width.value;\n } else if (props.columns.some((x) => x.fixed)) {\n style.width = 'max-content';\n style.minWidth = '100%';\n }\n if (props.columns.some((x) => x.ellipsis) || props.columns.some((x) => x.resizable)) {\n style.tableLayout = 'fixed';\n } else {\n style.tableLayout = 'auto';\n }\n\n return style;\n });\n\n const getColumns = () => {\n let left = 0;\n let right = props.columns\n .filter((x) => x.fixed === 'right')\n .reduce((sum, column) => {\n const w = getWidth(column.width ?? column.minWidth, tableWidth.value);\n return sum + w;\n }, 0);\n return props.columns.map((column) => {\n const rst = {\n ...column,\n className: column.fixed\n ? `${column.className || ''} ${prefixCls.value}-fixed-column ${prefixCls.value}-fixed-column-${column.fixed}`\n : column.className\n };\n if (column.fixed === 'left') {\n rst.left = left;\n const w = getWidth(column.width ?? column.minWidth, tableWidth.value);\n left += w;\n if (column.lastLeft) {\n rst.className = `${rst.className || ''} ${prefixCls.value}-fixed-column-${column.fixed}-last`;\n }\n }\n if (column.fixed === 'right') {\n const w = getWidth(column.width ?? column.minWidth, tableWidth.value);\n right -= w;\n rst.right = right;\n if (column.firstRight) {\n rst.className = `${rst.className || ''} ${prefixCls.value}-fixed-column-${column.fixed}-first`;\n }\n }\n\n return rst;\n });\n };\n\n // const debouncedHandleResize = debounce(syncFixedTableRowHeight, 150);\n // useResizeObserver(tableRef, debouncedHandleResize);\n\n return {\n tableRef,\n prefixCls,\n tableStyle,\n getColumns\n };\n }\n});\n</script>\n"],"names":["defineComponent","ColGroup","TableHeader","TableBody","inject","ref","computed","getWidth","_createElementBlock","_normalizeStyle","_createVNode","_createBlock"],"mappings":";;;;;;;;;;;AAmBA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVC;AAAA,iBACAC;AAAA,eACAC;AAAA;AACF,EACA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM;AAAC;AAClB;AACF,EACA,MAAM,OAAO;UACL;AAAA,MACJ;AAAA,MACA,OAAO,EAAE;AAAM,MACf,MAAM,EAAE;AAAW,QACjBC,WAAqB,gBAAgB,EAAkB;UACrD,WAAWC,QAAwB,IAAI;UAEvC,aAAaC,aAAS,MAAM;YAC1B,QAAQ;UACV,MAAM,OAAO;cACT,QAAQ,OAAO,MAAM,UAAU,WAAW,GAAG,MAAM,YAAY,MAAM;AAAA,iBAClE,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG;cACvC,QAAQ;cACR,WAAW;AAAA;UAEf,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;cAC7E,cAAc;AAAA,aACf;cACC,cAAc;AAAA;aAGf;AAAA,KACR;UAEK,aAAa,MAAM;UACnB,OAAO;UACP,QAAQ,MAAM,QACf,OAAO,CAAC,MAAM,EAAE,UAAU,OAAO,EACjC,OAAO,CAAC,KAAK,WAAW;AA5DjC;cA6DgB,IAAIC,yBAAS,YAAO,UAAP,YAAgB,OAAO,UAAU,WAAW,KAAK;eAC7D,MAAM;AAAA,SACZ,CAAC;aACC,MAAM,QAAQ,IAAI,CAAC,WAAW;AAhE3C;cAiEc,MAAM;AAAA,UACV,GAAG;AAAA,UACH,WAAW,OAAO,QACd,GAAG,OAAO,aAAa,MAAM,UAAU,sBAAsB,UAAU,sBAAsB,OAAO,UACpG,OAAO;AAAA;YAET,OAAO,UAAU,QAAQ;cACvB,OAAO;gBACL,IAAIA,yBAAS,YAAO,UAAP,YAAgB,OAAO,UAAU,WAAW,KAAK;kBAC5D;cACJ,OAAO,UAAU;gBACf,YAAY,GAAG,IAAI,aAAa,MAAM,UAAU,sBAAsB,OAAO;AAAA;AACnF;YAEE,OAAO,UAAU,SAAS;gBACtB,IAAIA,yBAAS,YAAO,UAAP,YAAgB,OAAO,UAAU,WAAW,KAAK;mBAC3D;cACL,QAAQ;cACR,OAAO,YAAY;gBACjB,YAAY,GAAG,IAAI,aAAa,MAAM,UAAU,sBAAsB,OAAO;AAAA;AACnF;eAGK;AAAA,OACR;AAAA;WAMI;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;;;0BA9GCC,uBAIQ;IAJD,KAAI;AAAA,IAAY,OAAKC,mBAAE,eAAU;AAAA;IACtCC,gBAA+B,uBAApB,SAAS;IACD,oCAAnBC,gBAAyD;;MAAzB,SAAS;AAAU;IAClC,kCAAjBA,gBAAqD;;MAAzB,SAAS;AAAU;;;;;;;"}
1
+ {"version":3,"file":"BaseTable.js","sources":["../../../../src/components/Table/BaseTable.vue"],"sourcesContent":["<template>\n <table ref=\"tableRef\" :style=\"tableStyle\">\n <ColGroup :columns=\"columns\" :is-head-table=\"!showBody\" />\n <TableHeader v-if=\"showHeader\" :columns=\"getColumns()\" />\n <TableBody v-if=\"showBody\" :columns=\"getColumns()\" />\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, inject, ref } from 'vue';\nimport type { PropType, CSSProperties } from 'vue';\nimport ColGroup from './tableUnits/ColGroup.vue';\nimport TableHeader from './tableUnits/TableHeader.vue';\nimport TableBody from './tableUnits/TableBody.vue';\n// import useResizeObserver from '../base/hooks/useResizeObserver';\nimport type { InnerColumn, TableContext } from './Table.type';\nimport { getWidth } from './hooks/useTableResize';\n// import { debounce } from '../../utils/tools';\n\nexport default defineComponent({\n name: 'BaseTable',\n components: {\n ColGroup,\n TableHeader,\n TableBody\n },\n props: {\n showHeader: {\n type: Boolean,\n default: false\n },\n showBody: {\n type: Boolean,\n default: false\n },\n columns: {\n type: Array as PropType<InnerColumn[]>,\n default: () => [] as InnerColumn[]\n }\n },\n setup(props) {\n const {\n prefixCls,\n props: { width },\n size: { tableWidth }\n } = inject<TableContext>('tableContext', {} as TableContext);\n const tableRef = ref<HTMLElement | null>(null);\n\n const tableStyle = computed(() => {\n const style = {} as CSSProperties;\n if (width.value) {\n style.width = typeof width.value === 'number' ? `${width.value}px` : width.value;\n } else if (props.columns.some((x) => x.fixed)) {\n style.width = 'max-content';\n style.minWidth = '100%';\n }\n if (props.columns.some((x) => x.ellipsis) || props.columns.some((x) => x.resizable)) {\n style.tableLayout = 'fixed';\n } else {\n style.tableLayout = 'auto';\n }\n\n return style;\n });\n\n const getColumns = () => {\n let left = 0;\n let right = props.columns\n .filter((x) => x.fixed === 'right')\n .reduce((sum, column) => {\n const w = getWidth(column.width ?? column.minWidth, tableWidth.value);\n return sum + w;\n }, 0);\n return props.columns.map((column) => {\n const rst = {\n ...column,\n className: column.fixed\n ? `${column.className || ''} ${prefixCls.value}-fixed-column ${prefixCls.value}-fixed-column-${column.fixed}`\n : column.className\n };\n if (column.fixed === 'left') {\n rst.left = left;\n const w = getWidth(column.width ?? column.minWidth, tableWidth.value);\n left += w;\n if (column.lastLeft) {\n rst.className = `${rst.className || ''} ${prefixCls.value}-fixed-column-${column.fixed}-last`;\n }\n }\n if (column.fixed === 'right') {\n const w = getWidth(column.width ?? column.minWidth, tableWidth.value);\n right -= w;\n rst.right = right;\n if (column.firstRight) {\n rst.className = `${rst.className || ''} ${prefixCls.value}-fixed-column-${column.fixed}-first`;\n }\n }\n\n return rst;\n });\n };\n\n // const debouncedHandleResize = debounce(syncFixedTableRowHeight, 150);\n // useResizeObserver(tableRef, debouncedHandleResize);\n\n return {\n tableRef,\n prefixCls,\n tableStyle,\n getColumns\n };\n }\n});\n</script>\n"],"names":["defineComponent","ColGroup","TableHeader","TableBody","inject","ref","computed","getWidth","_createElementBlock","_normalizeStyle","_createVNode","_createBlock"],"mappings":";;;;;;;;;;;AAmBA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,cACVC;AAAA,iBACAC;AAAA,eACAC;AAAA;AACF,EACA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM;AAAC;AAClB;AACF,EACA,MAAM,OAAO;UACL;AAAA,MACJ;AAAA,MACA,OAAO,EAAE;AAAM,MACf,MAAM,EAAE;AAAW,QACjBC,WAAqB,gBAAgB,EAAkB;UACrD,WAAWC,QAAwB,IAAI;UAEvC,aAAaC,aAAS,MAAM;YAC1B,QAAQ;UACV,MAAM,OAAO;cACT,QAAQ,OAAO,MAAM,UAAU,WAAW,GAAG,MAAM,YAAY,MAAM;AAAA,iBAClE,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG;cACvC,QAAQ;cACR,WAAW;AAAA;UAEf,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;cAC7E,cAAc;AAAA,aACf;cACC,cAAc;AAAA;aAGf;AAAA,KACR;UAEK,aAAa,MAAM;UACnB,OAAO;UACP,QAAQ,MAAM,QACf,OAAO,CAAC,MAAM,EAAE,UAAU,OAAO,EACjC,OAAO,CAAC,KAAK,WAAW;AA5DjC;cA6DgB,IAAIC,yBAAS,YAAO,UAAP,YAAgB,OAAO,UAAU,WAAW,KAAK;eAC7D,MAAM;AAAA,SACZ,CAAC;aACC,MAAM,QAAQ,IAAI,CAAC,WAAW;AAhE3C;cAiEc,MAAM;AAAA,UACV,GAAG;AAAA,UACH,WAAW,OAAO,QACd,GAAG,OAAO,aAAa,MAAM,UAAU,sBAAsB,UAAU,sBAAsB,OAAO,UACpG,OAAO;AAAA;YAET,OAAO,UAAU,QAAQ;cACvB,OAAO;gBACL,IAAIA,yBAAS,YAAO,UAAP,YAAgB,OAAO,UAAU,WAAW,KAAK;kBAC5D;cACJ,OAAO,UAAU;gBACf,YAAY,GAAG,IAAI,aAAa,MAAM,UAAU,sBAAsB,OAAO;AAAA;AACnF;YAEE,OAAO,UAAU,SAAS;gBACtB,IAAIA,yBAAS,YAAO,UAAP,YAAgB,OAAO,UAAU,WAAW,KAAK;mBAC3D;cACL,QAAQ;cACR,OAAO,YAAY;gBACjB,YAAY,GAAG,IAAI,aAAa,MAAM,UAAU,sBAAsB,OAAO;AAAA;AACnF;eAGK;AAAA,OACR;AAAA;WAMI;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;;;0BA9GCC,uBAIQ;IAJD,KAAI;AAAA,IAAY,OAAKC,mBAAE,eAAU;AAAA;IACtCC,gBAA0D;MAA/C,SAAS;MAAU,iBAAa,CAAG;;IAC3B,oCAAnBC,gBAAyD;;MAAzB,SAAS;AAAU;IAClC,kCAAjBA,gBAAqD;;MAAzB,SAAS;AAAU;;;;;;;"}
@@ -88,15 +88,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
88
88
  type: PropType<InnerColumn[]>;
89
89
  default: () => InnerColumn[];
90
90
  };
91
+ isHeadTable: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
91
95
  }>, {
92
96
  cols: import("vue").ComputedRef<import("./Table.type").TableColProps[]>;
97
+ getWidth: (col: import("./Table.type").TableColProps) => string;
93
98
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
94
99
  columns: {
95
100
  type: PropType<InnerColumn[]>;
96
101
  default: () => InnerColumn[];
97
102
  };
103
+ isHeadTable: {
104
+ type: BooleanConstructor;
105
+ default: boolean;
106
+ };
98
107
  }>> & Readonly<{}>, {
99
108
  columns: InnerColumn[];
109
+ isHeadTable: boolean;
100
110
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
101
111
  TableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
102
112
  columns: {
@@ -4417,7 +4427,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4417
4427
  cellRef: import("vue").Ref<any, any>;
4418
4428
  ellipsisSpanRef: import("vue").Ref<any, any>;
4419
4429
  isOverflow: import("vue").Ref<boolean, boolean>;
4420
- debouncedHandleResize: import("../../utils").DebounceReturn;
4430
+ checkWidth: ({ target, width }: {
4431
+ target: HTMLElement;
4432
+ width: number;
4433
+ }) => void;
4421
4434
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4422
4435
  prefixCls: {
4423
4436
  type: StringConstructor;
@@ -5716,7 +5729,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5716
5729
  cellRef: import("vue").Ref<any, any>;
5717
5730
  ellipsisSpanRef: import("vue").Ref<any, any>;
5718
5731
  isOverflow: import("vue").Ref<boolean, boolean>;
5719
- debouncedHandleResize: import("../../utils").DebounceReturn;
5732
+ checkWidth: ({ target, width }: {
5733
+ target: HTMLElement;
5734
+ width: number;
5735
+ }) => void;
5720
5736
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
5721
5737
  prefixCls: {
5722
5738
  type: StringConstructor;
@@ -107,15 +107,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
107
107
  type: PropType<InnerColumn[]>;
108
108
  default: () => InnerColumn[];
109
109
  };
110
+ isHeadTable: {
111
+ type: BooleanConstructor;
112
+ default: boolean;
113
+ };
110
114
  }>, {
111
115
  cols: import("vue").ComputedRef<import("./Table.type").TableColProps[]>;
116
+ getWidth: (col: import("./Table.type").TableColProps) => string;
112
117
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
113
118
  columns: {
114
119
  type: PropType<InnerColumn[]>;
115
120
  default: () => InnerColumn[];
116
121
  };
122
+ isHeadTable: {
123
+ type: BooleanConstructor;
124
+ default: boolean;
125
+ };
117
126
  }>> & Readonly<{}>, {
118
127
  columns: InnerColumn[];
128
+ isHeadTable: boolean;
119
129
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
120
130
  TableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
121
131
  columns: {
@@ -4436,7 +4446,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4436
4446
  cellRef: import("vue").Ref<any, any>;
4437
4447
  ellipsisSpanRef: import("vue").Ref<any, any>;
4438
4448
  isOverflow: import("vue").Ref<boolean, boolean>;
4439
- debouncedHandleResize: import("../../utils").DebounceReturn;
4449
+ checkWidth: ({ target, width }: {
4450
+ target: HTMLElement;
4451
+ width: number;
4452
+ }) => void;
4440
4453
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4441
4454
  prefixCls: {
4442
4455
  type: StringConstructor;
@@ -5735,7 +5748,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5735
5748
  cellRef: import("vue").Ref<any, any>;
5736
5749
  ellipsisSpanRef: import("vue").Ref<any, any>;
5737
5750
  isOverflow: import("vue").Ref<boolean, boolean>;
5738
- debouncedHandleResize: import("../../utils").DebounceReturn;
5751
+ checkWidth: ({ target, width }: {
5752
+ target: HTMLElement;
5753
+ width: number;
5754
+ }) => void;
5739
5755
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
5740
5756
  prefixCls: {
5741
5757
  type: StringConstructor;
@@ -104,15 +104,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
104
104
  type: PropType<InnerColumn[]>;
105
105
  default: () => InnerColumn[];
106
106
  };
107
+ isHeadTable: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
107
111
  }>, {
108
112
  cols: import("vue").ComputedRef<import("./Table.type").TableColProps[]>;
113
+ getWidth: (col: import("./Table.type").TableColProps) => string;
109
114
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
110
115
  columns: {
111
116
  type: PropType<InnerColumn[]>;
112
117
  default: () => InnerColumn[];
113
118
  };
119
+ isHeadTable: {
120
+ type: BooleanConstructor;
121
+ default: boolean;
122
+ };
114
123
  }>> & Readonly<{}>, {
115
124
  columns: InnerColumn[];
125
+ isHeadTable: boolean;
116
126
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
117
127
  TableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
118
128
  columns: {
@@ -4433,7 +4443,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4433
4443
  cellRef: import("vue").Ref<any, any>;
4434
4444
  ellipsisSpanRef: import("vue").Ref<any, any>;
4435
4445
  isOverflow: import("vue").Ref<boolean, boolean>;
4436
- debouncedHandleResize: import("../../utils").DebounceReturn;
4446
+ checkWidth: ({ target, width }: {
4447
+ target: HTMLElement;
4448
+ width: number;
4449
+ }) => void;
4437
4450
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4438
4451
  prefixCls: {
4439
4452
  type: StringConstructor;
@@ -5732,7 +5745,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5732
5745
  cellRef: import("vue").Ref<any, any>;
5733
5746
  ellipsisSpanRef: import("vue").Ref<any, any>;
5734
5747
  isOverflow: import("vue").Ref<boolean, boolean>;
5735
- debouncedHandleResize: import("../../utils").DebounceReturn;
5748
+ checkWidth: ({ target, width }: {
5749
+ target: HTMLElement;
5750
+ width: number;
5751
+ }) => void;
5736
5752
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
5737
5753
  prefixCls: {
5738
5754
  type: StringConstructor;
@@ -89,7 +89,9 @@ const _sfc_main = vue.defineComponent({
89
89
  tableWidth,
90
90
  resizeColumns,
91
91
  clearResizeTimer,
92
- setResizeWidth
92
+ setResizeWidth,
93
+ syncColumnWidth,
94
+ columnWidths
93
95
  } = useTableResize["default"](updatedColumns, tableRefs, prefixCls, isColumnFixed, props);
94
96
  const debouncedHandleResize = tools.debounce(handleResize, 150);
95
97
  vue.onMounted(() => {
@@ -207,7 +209,9 @@ const _sfc_main = vue.defineComponent({
207
209
  isScrollX,
208
210
  setResizeWidth,
209
211
  handleColumnResize,
210
- debouncedHandleResize
212
+ debouncedHandleResize,
213
+ syncColumnWidth,
214
+ columnWidths
211
215
  },
212
216
  fixed: {
213
217
  isColumnFixed,