@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
@@ -96,7 +96,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
96
96
  ref: "tableRef",
97
97
  style: normalizeStyle(_ctx.tableStyle)
98
98
  }, [
99
- createVNode(_component_ColGroup, { columns: _ctx.columns }, null, 8, ["columns"]),
99
+ createVNode(_component_ColGroup, {
100
+ columns: _ctx.columns,
101
+ "is-head-table": !_ctx.showBody
102
+ }, null, 8, ["columns", "is-head-table"]),
100
103
  _ctx.showHeader ? (openBlock(), createBlock(_component_TableHeader, {
101
104
  key: 0,
102
105
  columns: _ctx.getColumns()
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTable.mjs","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":["_createElementBlock","_normalizeStyle","_createVNode","_createBlock"],"mappings":";;;;;;;AAmBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;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,QACjB,OAAqB,gBAAgB,EAAkB;UACrD,WAAW,IAAwB,IAAI;UAEvC,aAAa,SAAS,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,IAAI,UAAS,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,IAAI,UAAS,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,IAAI,UAAS,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;;;;;sBA9GCA,mBAIQ;IAJD,KAAI;AAAA,IAAY,OAAKC,eAAE,eAAU;AAAA;IACtCC,YAA+B,uBAApB,SAAS;IACD,gCAAnBC,YAAyD;;MAAzB,SAAS;AAAU;IAClC,8BAAjBA,YAAqD;;MAAzB,SAAS;AAAU;;;;;;;"}
1
+ {"version":3,"file":"BaseTable.mjs","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":["_createElementBlock","_normalizeStyle","_createVNode","_createBlock"],"mappings":";;;;;;;AAmBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;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,QACjB,OAAqB,gBAAgB,EAAkB;UACrD,WAAW,IAAwB,IAAI;UAEvC,aAAa,SAAS,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,IAAI,UAAS,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,IAAI,UAAS,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,IAAI,UAAS,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;;;;;sBA9GCA,mBAIQ;IAJD,KAAI;AAAA,IAAY,OAAKC,eAAE,eAAU;AAAA;IACtCC,YAA0D;MAA/C,SAAS;MAAU,iBAAa,CAAG;;IAC3B,gCAAnBC,YAAyD;;MAAzB,SAAS;AAAU;IAClC,8BAAjBA,YAAqD;;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;
@@ -85,7 +85,9 @@ const _sfc_main = defineComponent({
85
85
  tableWidth,
86
86
  resizeColumns,
87
87
  clearResizeTimer,
88
- setResizeWidth
88
+ setResizeWidth,
89
+ syncColumnWidth,
90
+ columnWidths
89
91
  } = useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, props);
90
92
  const debouncedHandleResize = debounce(handleResize, 150);
91
93
  onMounted(() => {
@@ -203,7 +205,9 @@ const _sfc_main = defineComponent({
203
205
  isScrollX,
204
206
  setResizeWidth,
205
207
  handleColumnResize,
206
- debouncedHandleResize
208
+ debouncedHandleResize,
209
+ syncColumnWidth,
210
+ columnWidths
207
211
  },
208
212
  fixed: {
209
213
  isColumnFixed,
@@ -1 +1 @@
1
- {"version":3,"file":"Table.mjs","sources":["../../../../src/components/Table/Table.vue"],"sourcesContent":["<template>\n <ResizeObserver @resize=\"debouncedHandleResize\">\n <div :class=\"[`${prefixCls}-wrapper`]\">\n <div\n v-if=\"showPagination && pagination && (pagination.position === 'top' || pagination.position === 'both')\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-top`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n <div\n :ref=\"saveRef('table')\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${size}`,\n {\n [`${prefixCls}-${variant}`]: !isBorder,\n [`${prefixCls}-border`]: !!isBorder,\n [`${prefixCls}-radius`]: variant !== 'ghost' && !border && radius,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n [`${prefixCls}-fixed-header`]: !!maxHeight,\n [`${prefixCls}-scroll-position-left`]: scrollPosition === 'left' || scrollPosition === 'both',\n [`${prefixCls}-scroll-position-right`]: scrollPosition === 'right' || scrollPosition === 'both',\n [`${prefixCls}-dragging`]: showResizeLine,\n [`${prefixCls}-stripe`]: stripe\n }\n ]\"\n >\n <div v-if=\"$slots.title\" :class=\"`${prefixCls}-title`\">\n <slot name=\"title\" />\n </div>\n <div :class=\"`${prefixCls}-content`\">\n <TableBox :columns=\"updatedColumns\" @head-scroll=\"handleBodyScrollX\" @body-scroll=\"handleBodyScroll\" />\n <div v-if=\"!currentDatas.length\" :class=\"`${prefixCls}-placeholder`\">\n <slot name=\"empty\">\n {{ emptyText }}\n </slot>\n </div>\n </div>\n <div v-show=\"showResizeLine\" :ref=\"saveRef('resizeLine')\" :class=\"`${prefixCls}-resize-line`\" />\n <Spin v-if=\"loadingType === 'spinner'\" fix :loading=\"loading\" />\n </div>\n <div v-if=\"$slots.footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <div\n v-if=\"showPagination && ((pagination && pagination.position !== 'top') || !pagination)\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-bottom`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n </div>\n </ResizeObserver>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, provide, reactive, toRefs, ref, onMounted, nextTick, onBeforeUnmount, onUpdated, watch } from 'vue';\nimport Spin from '@uxd-ui/components/Spin';\nimport Pagination from '@uxd-ui/components/Pagination';\nimport { debounce } from '../../utils/tools';\n// import Container from '../base/Container';\nimport TableBox from './TableBox.vue';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport ResizeObserver from '../base/ResizeObserver';\nimport useUpdateColumns from './hooks/useUpdateColumns';\nimport useUpdateDatas from './hooks/useUpdateDatas';\nimport useTableResize from './hooks/useTableResize';\nimport useExpander from './hooks/useExpander';\nimport useSelection from './hooks/useSelection';\nimport useDraggable from './hooks/useDraggable';\nimport useFilterSortPage from './hooks/useFilterSortPage';\nimport { tableProps, tableEmits, type SaveRef, type TableRefs, type TableColumn, type InnerColumn } from './Table.type';\n\nexport default defineComponent({\n name: 'UTable',\n components: {\n TableBox,\n Spin,\n Pagination,\n ResizeObserver\n },\n props: tableProps,\n emits: tableEmits,\n setup(props, { slots, emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('table');\n const showResizeLine = ref(false);\n const tableRefs = reactive({} as TableRefs);\n const saveRef: SaveRef = (key: string) => {\n return (el: any) => {\n tableRefs[key] = el;\n };\n };\n\n const locale = computed(() => {\n return { ...globalConfig.locale.table, ...props.locale };\n });\n\n const isBorder = computed(() => {\n const b = props.variant === 'border' || props.border;\n return b;\n });\n\n // ============ datas ===============\n const { updatedDatas } = useUpdateDatas(props);\n\n // ============= sort & fitler =============\n const {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n } = useFilterSortPage(props, updatedDatas, emit);\n\n // ================ draggable ====================\n const { setRowRefs, draggableColumn } = useDraggable(props, tableRefs);\n\n // ================ expander ====================\n const {\n expandedRowKeys,\n showChildrenRowKeys,\n handleExpandChange,\n isRowExpanded,\n expandedRowRender,\n isTreeTable,\n expandColumn,\n expandIconColumnIndex\n } = useExpander(props, slots, currentDatas, emit);\n\n const { selectionColumn } = useSelection(props, updatedDatas, currentDatas, prefixCls, locale);\n\n // ============ columns ===============\n const { updatedColumns, isColumnFixed, isLeftFixed, isRightFixed, leftColumns, rightColumns } = useUpdateColumns(props, slots, {\n draggableColumn,\n expandColumn,\n selectionColumn\n });\n\n // ============ resize ==============\n // #region\n const {\n // sizesMap,\n handleResize,\n isScrollX,\n // fixedHeadRowsHeight,\n // fixedBodyRowsHeight,\n scrollPosition,\n // syncFixedTableRowHeight,\n setScrollPositionClass,\n resetScrollX,\n tableWidth,\n resizeColumns,\n clearResizeTimer,\n setResizeWidth\n } = useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, props);\n\n const debouncedHandleResize = debounce(handleResize, 150);\n\n onMounted(() => {\n nextTick(() => {\n setTimeout(() => {\n handleResize();\n resetScrollX();\n }, 0);\n });\n });\n\n onUpdated(() => {\n nextTick(() => {\n handleResize();\n });\n });\n\n onBeforeUnmount(() => {\n if (debouncedHandleResize) {\n debouncedHandleResize.cancel();\n }\n clearResizeTimer();\n });\n // #endregion\n\n // ============ scroll ===============\n // #region\n const scrollable = computed(() => {\n return props.maxHeight || isScrollX.value || isColumnFixed.value;\n });\n\n let lastScrollLeft = 0;\n const handleBodyScrollX = (e: any) => {\n if (e.currentTarget !== e.target) {\n return;\n }\n\n const { target } = e;\n const { bodyTable, headTable } = tableRefs;\n\n if (target.scrollLeft !== lastScrollLeft && isScrollX.value) {\n if (target === (bodyTable as any).wrapRef && headTable) {\n (headTable as any).setScrollLeft(target.scrollLeft);\n } else if (target === (headTable as any)?.wrapRef && bodyTable) {\n (bodyTable as any).setScrollLeft(target.scrollLeft);\n }\n setScrollPositionClass();\n }\n lastScrollLeft = target.scrollLeft;\n };\n\n const handleBodyScroll = (e: any) => {\n handleBodyScrollX(e);\n };\n\n watch(\n () => props.data,\n (val) => {\n if (val.length === 0 && isScrollX.value) {\n nextTick(() => {\n resetScrollX();\n });\n }\n }\n );\n // #endregion\n // ============ empty ================\n const emptyText = computed(() => {\n return props.data.length ? locale.value.notFoundText : locale.value.noDataText;\n });\n\n // ===========row hover & event ================\n // #region\n const currentHoverKey = ref(null);\n const onRowMouseEnter = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseenter', data, index, e);\n };\n const onRowMouseLeave = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseleave', data, index, e);\n };\n const onRowClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-click', data, index, e);\n };\n const onRowDoubleClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-doubleclick', data, index, e);\n };\n const onRowContextMenu = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-contextmenu', data, index, e);\n };\n // #endregion\n\n // ============= other event =================\n // #region\n const onHeaderCellClick = (column: TableColumn, e: Event) => {\n emit('header-click', column, e);\n };\n\n const handleColumnResize = (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => {\n emit('column-resize', columnWidth, changeWidth, column, event);\n };\n // #endregion\n\n // ============= provide =================\n\n const { showHeader, maxHeight, expandIcon, rowClassName, indentSize, showSummary, disabledHover, expandIndent, headerSticky, loading, width } =\n toRefs(props);\n\n provide('tableContext', {\n prefixCls,\n locale,\n data: currentDatas,\n saveRef,\n tableRefs,\n showResizeLine,\n props: {\n showHeader,\n maxHeight,\n expandIcon,\n rowClassName,\n indentSize,\n emptyText,\n showSummary,\n disabledHover,\n expandIndent,\n headerSticky,\n loading,\n width\n },\n slots,\n expand: {\n expandedRowRender,\n expandedRowKeys,\n showChildrenRowKeys,\n isRowExpanded,\n expandIconColumnIndex,\n handleExpandChange,\n isTreeTable\n },\n size: {\n tableWidth,\n // sizesMap,\n resizeColumns,\n isScrollX,\n setResizeWidth,\n handleColumnResize,\n debouncedHandleResize\n },\n fixed: {\n isColumnFixed,\n currentHoverKey\n },\n draggable: {\n setRowRefs\n },\n rowEvents: {\n onRowMouseEnter,\n onRowMouseLeave,\n onRowClick,\n onRowDoubleClick,\n onRowContextMenu\n },\n headerEvents: {\n onHeaderCellClick\n },\n filterAndSorter: {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter\n },\n pagination: paginationOptions\n });\n return {\n prefixCls,\n saveRef,\n showResizeLine,\n updatedColumns,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n isBorder,\n isLeftFixed,\n leftColumns,\n isRightFixed,\n rightColumns,\n scrollable,\n scrollPosition,\n handleBodyScroll,\n handleBodyScrollX,\n emptyText,\n debouncedHandleResize,\n handlePageChange,\n handlePageSizeChange\n };\n }\n});\n</script>\n"],"names":["Spin","Pagination","useFilterSortPage","_createBlock","_createElementVNode","_normalizeClass","_createElementBlock","_createVNode","_mergeProps","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"Table.mjs","sources":["../../../../src/components/Table/Table.vue"],"sourcesContent":["<template>\n <ResizeObserver @resize=\"debouncedHandleResize\">\n <div :class=\"[`${prefixCls}-wrapper`]\">\n <div\n v-if=\"showPagination && pagination && (pagination.position === 'top' || pagination.position === 'both')\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-top`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n <div\n :ref=\"saveRef('table')\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${size}`,\n {\n [`${prefixCls}-${variant}`]: !isBorder,\n [`${prefixCls}-border`]: !!isBorder,\n [`${prefixCls}-radius`]: variant !== 'ghost' && !border && radius,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n [`${prefixCls}-fixed-header`]: !!maxHeight,\n [`${prefixCls}-scroll-position-left`]: scrollPosition === 'left' || scrollPosition === 'both',\n [`${prefixCls}-scroll-position-right`]: scrollPosition === 'right' || scrollPosition === 'both',\n [`${prefixCls}-dragging`]: showResizeLine,\n [`${prefixCls}-stripe`]: stripe\n }\n ]\"\n >\n <div v-if=\"$slots.title\" :class=\"`${prefixCls}-title`\">\n <slot name=\"title\" />\n </div>\n <div :class=\"`${prefixCls}-content`\">\n <TableBox :columns=\"updatedColumns\" @head-scroll=\"handleBodyScrollX\" @body-scroll=\"handleBodyScroll\" />\n <div v-if=\"!currentDatas.length\" :class=\"`${prefixCls}-placeholder`\">\n <slot name=\"empty\">\n {{ emptyText }}\n </slot>\n </div>\n </div>\n <div v-show=\"showResizeLine\" :ref=\"saveRef('resizeLine')\" :class=\"`${prefixCls}-resize-line`\" />\n <Spin v-if=\"loadingType === 'spinner'\" fix :loading=\"loading\" />\n </div>\n <div v-if=\"$slots.footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <div\n v-if=\"showPagination && ((pagination && pagination.position !== 'top') || !pagination)\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-bottom`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n </div>\n </ResizeObserver>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, provide, reactive, toRefs, ref, onMounted, nextTick, onBeforeUnmount, onUpdated, watch } from 'vue';\nimport Spin from '@uxd-ui/components/Spin';\nimport Pagination from '@uxd-ui/components/Pagination';\nimport { debounce } from '../../utils/tools';\n// import Container from '../base/Container';\nimport TableBox from './TableBox.vue';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport ResizeObserver from '../base/ResizeObserver';\nimport useUpdateColumns from './hooks/useUpdateColumns';\nimport useUpdateDatas from './hooks/useUpdateDatas';\nimport useTableResize from './hooks/useTableResize';\nimport useExpander from './hooks/useExpander';\nimport useSelection from './hooks/useSelection';\nimport useDraggable from './hooks/useDraggable';\nimport useFilterSortPage from './hooks/useFilterSortPage';\nimport { tableProps, tableEmits, type SaveRef, type TableRefs, type TableColumn, type InnerColumn } from './Table.type';\n\nexport default defineComponent({\n name: 'UTable',\n components: {\n TableBox,\n Spin,\n Pagination,\n ResizeObserver\n },\n props: tableProps,\n emits: tableEmits,\n setup(props, { slots, emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('table');\n const showResizeLine = ref(false);\n const tableRefs = reactive({} as TableRefs);\n const saveRef: SaveRef = (key: string) => {\n return (el: any) => {\n tableRefs[key] = el;\n };\n };\n\n const locale = computed(() => {\n return { ...globalConfig.locale.table, ...props.locale };\n });\n\n const isBorder = computed(() => {\n const b = props.variant === 'border' || props.border;\n return b;\n });\n\n // ============ datas ===============\n const { updatedDatas } = useUpdateDatas(props);\n\n // ============= sort & fitler =============\n const {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n } = useFilterSortPage(props, updatedDatas, emit);\n\n // ================ draggable ====================\n const { setRowRefs, draggableColumn } = useDraggable(props, tableRefs);\n\n // ================ expander ====================\n const {\n expandedRowKeys,\n showChildrenRowKeys,\n handleExpandChange,\n isRowExpanded,\n expandedRowRender,\n isTreeTable,\n expandColumn,\n expandIconColumnIndex\n } = useExpander(props, slots, currentDatas, emit);\n\n const { selectionColumn } = useSelection(props, updatedDatas, currentDatas, prefixCls, locale);\n\n // ============ columns ===============\n const { updatedColumns, isColumnFixed, isLeftFixed, isRightFixed, leftColumns, rightColumns } = useUpdateColumns(props, slots, {\n draggableColumn,\n expandColumn,\n selectionColumn\n });\n\n // ============ resize ==============\n // #region\n const {\n // sizesMap,\n handleResize,\n isScrollX,\n // fixedHeadRowsHeight,\n // fixedBodyRowsHeight,\n scrollPosition,\n // syncFixedTableRowHeight,\n setScrollPositionClass,\n resetScrollX,\n tableWidth,\n resizeColumns,\n clearResizeTimer,\n setResizeWidth,\n syncColumnWidth,\n columnWidths\n } = useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, props);\n\n const debouncedHandleResize = debounce(handleResize, 150);\n\n onMounted(() => {\n nextTick(() => {\n setTimeout(() => {\n handleResize();\n resetScrollX();\n }, 0);\n });\n });\n\n onUpdated(() => {\n nextTick(() => {\n handleResize();\n });\n });\n\n onBeforeUnmount(() => {\n if (debouncedHandleResize) {\n debouncedHandleResize.cancel();\n }\n clearResizeTimer();\n });\n // #endregion\n\n // ============ scroll ===============\n // #region\n const scrollable = computed(() => {\n return props.maxHeight || isScrollX.value || isColumnFixed.value;\n });\n\n let lastScrollLeft = 0;\n const handleBodyScrollX = (e: any) => {\n if (e.currentTarget !== e.target) {\n return;\n }\n\n const { target } = e;\n const { bodyTable, headTable } = tableRefs;\n\n if (target.scrollLeft !== lastScrollLeft && isScrollX.value) {\n if (target === (bodyTable as any).wrapRef && headTable) {\n (headTable as any).setScrollLeft(target.scrollLeft);\n } else if (target === (headTable as any)?.wrapRef && bodyTable) {\n (bodyTable as any).setScrollLeft(target.scrollLeft);\n }\n setScrollPositionClass();\n }\n lastScrollLeft = target.scrollLeft;\n };\n\n const handleBodyScroll = (e: any) => {\n handleBodyScrollX(e);\n };\n\n watch(\n () => props.data,\n (val) => {\n if (val.length === 0 && isScrollX.value) {\n nextTick(() => {\n resetScrollX();\n });\n }\n }\n );\n // #endregion\n // ============ empty ================\n const emptyText = computed(() => {\n return props.data.length ? locale.value.notFoundText : locale.value.noDataText;\n });\n\n // ===========row hover & event ================\n // #region\n const currentHoverKey = ref(null);\n const onRowMouseEnter = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseenter', data, index, e);\n };\n const onRowMouseLeave = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseleave', data, index, e);\n };\n const onRowClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-click', data, index, e);\n };\n const onRowDoubleClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-doubleclick', data, index, e);\n };\n const onRowContextMenu = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-contextmenu', data, index, e);\n };\n // #endregion\n\n // ============= other event =================\n // #region\n const onHeaderCellClick = (column: TableColumn, e: Event) => {\n emit('header-click', column, e);\n };\n\n const handleColumnResize = (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => {\n emit('column-resize', columnWidth, changeWidth, column, event);\n };\n // #endregion\n\n // ============= provide =================\n\n const { showHeader, maxHeight, expandIcon, rowClassName, indentSize, showSummary, disabledHover, expandIndent, headerSticky, loading, width } =\n toRefs(props);\n\n provide('tableContext', {\n prefixCls,\n locale,\n data: currentDatas,\n saveRef,\n tableRefs,\n showResizeLine,\n props: {\n showHeader,\n maxHeight,\n expandIcon,\n rowClassName,\n indentSize,\n emptyText,\n showSummary,\n disabledHover,\n expandIndent,\n headerSticky,\n loading,\n width\n },\n slots,\n expand: {\n expandedRowRender,\n expandedRowKeys,\n showChildrenRowKeys,\n isRowExpanded,\n expandIconColumnIndex,\n handleExpandChange,\n isTreeTable\n },\n size: {\n tableWidth,\n // sizesMap,\n resizeColumns,\n isScrollX,\n setResizeWidth,\n handleColumnResize,\n debouncedHandleResize,\n syncColumnWidth,\n columnWidths\n },\n fixed: {\n isColumnFixed,\n currentHoverKey\n },\n draggable: {\n setRowRefs\n },\n rowEvents: {\n onRowMouseEnter,\n onRowMouseLeave,\n onRowClick,\n onRowDoubleClick,\n onRowContextMenu\n },\n headerEvents: {\n onHeaderCellClick\n },\n filterAndSorter: {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter\n },\n pagination: paginationOptions\n });\n return {\n prefixCls,\n saveRef,\n showResizeLine,\n updatedColumns,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n isBorder,\n isLeftFixed,\n leftColumns,\n isRightFixed,\n rightColumns,\n scrollable,\n scrollPosition,\n handleBodyScroll,\n handleBodyScrollX,\n emptyText,\n debouncedHandleResize,\n handlePageChange,\n handlePageSizeChange\n };\n }\n});\n</script>\n"],"names":["Spin","Pagination","useFilterSortPage","_createBlock","_createElementVNode","_normalizeClass","_createElementBlock","_createVNode","_mergeProps","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;AAiFA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,UACAA;AAAA,gBACAC;AAAA,IACA;AAAA;AACF,EACA,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM,OAAO,EAAE,OAAO,QAAQ;UACtB,EAAE,WAAW,QAAQ,iBAAiB,gBAAgB,OAAO;UAC7D,iBAAiB,IAAI,KAAK;UAC1B,YAAY,SAAS,EAAe;UACpC,UAAmB,CAAC,QAAgB;aACjC,CAAC,OAAY;kBACR,OAAO;AAAA;AACnB;UAGI,SAAS,SAAS,MAAM;aACrB,EAAE,GAAG,aAAa,OAAO,OAAO,GAAG,MAAM;AAAO,KACxD;UAEK,WAAW,SAAS,MAAM;YACxB,IAAI,MAAM,YAAY,YAAY,MAAM;aACvC;AAAA,KACR;UAGK,EAAE,iBAAiB,eAAe,KAAK;UAGvC;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACEC,iBAAkB,OAAO,cAAc,IAAI;UAGzC,EAAE,YAAY,oBAAoB,aAAa,OAAO,SAAS;UAG/D;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,YAAY,OAAO,OAAO,cAAc,IAAI;UAE1C,EAAE,oBAAoB,aAAa,OAAO,cAAc,cAAc,WAAW,MAAM;UAGvF,EAAE,gBAAgB,eAAe,aAAa,cAAc,aAAa,iBAAiB,iBAAiB,OAAO,OAAO;AAAA,MAC7H;AAAA,MACA;AAAA,MACA;AAAA,KACD;UAIK;AAAA,MAEJ;AAAA,MACA;AAAA,MAGA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,eAAe,gBAAgB,WAAW,WAAW,eAAe,KAAK;UAEvE,wBAAwB,SAAS,cAAc,GAAG;cAE9C,MAAM;eACL,MAAM;mBACF,MAAM;;;AAEF,WACZ,CAAC;AAAA,OACL;AAAA,KACF;cAES,MAAM;eACL,MAAM;;AACA,OACd;AAAA,KACF;oBAEe,MAAM;UAChB,uBAAuB;8BACH;AAAO;;AAEd,KAClB;UAKK,aAAa,SAAS,MAAM;aACzB,MAAM,aAAa,UAAU,SAAS,cAAc;AAAA,KAC5D;QAEG,iBAAiB;UACf,oBAAoB,CAAC,MAAW;UAChC,EAAE,kBAAkB,EAAE,QAAQ;;;YAI5B,EAAE,WAAW;YACb,EAAE,WAAW,cAAc;UAE7B,OAAO,eAAe,kBAAkB,UAAU,OAAO;YACvD,WAAY,UAAkB,WAAW,WAAW;AACrD,oBAAkB,cAAc,OAAO,UAAU;AAAA,mBACzC,YAAY,uCAAmB,YAAW,WAAW;AAC7D,oBAAkB,cAAc,OAAO,UAAU;AAAA;;AAE7B;uBAER,OAAO;AAAA;UAGpB,mBAAmB,CAAC,MAAW;wBACjB,CAAC;AAAA;;MAInB,MAAM,MAAM;AAAA,MACZ,CAAC,QAAQ;YACH,IAAI,WAAW,KAAK,UAAU,OAAO;mBAC9B,MAAM;;AACA,WACd;AAAA;AACH;AACF;UAII,YAAY,SAAS,MAAM;aACxB,MAAM,KAAK,SAAS,OAAO,MAAM,eAAe,OAAO,MAAM;AAAA,KACrE;UAIK,kBAAkB,IAAI,IAAI;UAC1B,kBAAkB,CAAC,MAA2B,OAAe,MAAa;WACzE,kBAAkB,MAAM,OAAO,CAAC;AAAA;UAEjC,kBAAkB,CAAC,MAA2B,OAAe,MAAa;WACzE,kBAAkB,MAAM,OAAO,CAAC;AAAA;UAEjC,aAAa,CAAC,MAA2B,OAAe,MAAa;WACpE,aAAa,MAAM,OAAO,CAAC;AAAA;UAE5B,mBAAmB,CAAC,MAA2B,OAAe,MAAa;WAC1E,mBAAmB,MAAM,OAAO,CAAC;AAAA;UAElC,mBAAmB,CAAC,MAA2B,OAAe,MAAa;WAC1E,mBAAmB,MAAM,OAAO,CAAC;AAAA;UAMlC,oBAAoB,CAAC,QAAqB,MAAa;WACtD,gBAAgB,QAAQ,CAAC;AAAA;UAG1B,qBAAqB,CAAC,aAAqB,aAAqB,QAAqB,UAAiB;WACrG,iBAAiB,aAAa,aAAa,QAAQ,KAAK;AAAA;UAMzD,EAAE,YAAY,WAAW,YAAY,cAAc,YAAY,aAAa,eAAe,cAAc,cAAc,SAAS,UACpI,OAAO,KAAK;YAEN,gBAAgB;AAAA,MACtB;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AACF,MACA;AAAA,MACA,QAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AACF,MACA,MAAM;AAAA,QACJ;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AACF,MACA,OAAO;AAAA,QACL;AAAA,QACA;AAAA;AACF,MACA,WAAW;AAAA,QACT;AAAA;AACF,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AACF,MACA,cAAc;AAAA,QACZ;AAAA;AACF,MACA,iBAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AACF,MACA,YAAY;AAAA,KACb;WACM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;;;;sBA1XCC,YA2DiB,6BA3DA,UAAQ;qBACvB,MAyDM;AAAA,MAzDNC,mBAyDM;QAzDA,OAAKC,mBAAM,wBAAS;;QAEhB,uBAAkB,oBAAe,gBAAW,aAAQ,SAAc,gBAAW,aAAQ,wBAD7FC,mBASM;;UAPH,OAAKD;gBAAkB,8BAAS;AAAA,gBAAoC,kCAAS;AAAA,gBAAwC,oCAA+B,mBAAc,gBAAW,UAAK;AAAA;;UAMnLE,YAAwI,uBAAxIC,WAAoB,KAAoH,mBAAnG;AAAA,YAAG,OAAO;YAAoB,UAAQ;YAAmB,kBAAkB;;;QAElHJ,mBAgCM;UA/BH,KAAK,aAAO;UACZ,OAAKC;YAAc;eAAwB,kBAAa;;kBAAoC,kBAAa,iBAAO,CAAM;kBAA0B,0BAAS,EAAc;kBAA0B,0BAAqB,iBAAO,YAAiB,eAAU;kBAAwB,yBAAS,CAAY,UAAK;AAAA,kBAAwB,yCAAS,CAA4B;kBAA4B,gCAAS,EAAoB;kBAA2B,wCAAmC,wBAAc,UAAe,wBAAc;AAAA,kBAA6B,yCAAoC,wBAAc,WAAgB,wBAAc;AAAA,kBAA6B,4BAAuB;kBAAgC,0BAAqB;;;;UAiBrtB,YAAO,sBAAlBC,mBAEM;;YAFoB,OAAKD,kBAAK,sBAAS;AAAA;YAC3CI,WAAqB;;UAEvBL,mBAOM;YAPA,OAAKC,kBAAK,wBAAS;AAAA;YACvBE,YAAuG;cAA5F,SAAS;cAAiB,cAAa;cAAoB,cAAa;;aACvE,kBAAa,uBAAzBD,mBAIM;;cAJ4B,OAAKD,kBAAK,4BAAS;AAAA;cACnDI,WAEO,0BAFP,MAEO;AAAA,gDADF,cAAS;;;;yBAIlBL,mBAAgG;YAAlE,KAAK,aAAO;YAAiB,OAAKC,kBAAK,4BAAS;AAAA;oBAAjE,mBAAc;AAAA;UACf,qBAAW,0BAAvBF,YAAgE;;YAAzB;YAAK,SAAS;;;QAE5C,YAAO,uBAAlBG,mBAEM;;UAFqB,OAAKD,kBAAK,uBAAS;AAAA;UAC5CI,WAAsB;;QAGhB,wBAAoB,mBAAc,gBAAW,aAAQ,UAAgB,iCAD7EH,mBASM;;UAPH,OAAKD;gBAAkB,8BAAS;AAAA,gBAAoC,qCAAS;AAAA,gBAA2C,oCAA+B,mBAAc,gBAAW,UAAK;AAAA;;UAMtLE,YAAwI,uBAAxIC,WAAoB,KAAoH,mBAAnG;AAAA,YAAG,OAAO;YAAoB,UAAQ;YAAmB,kBAAkB;;;;;;;;;;;;"}
@@ -294,6 +294,8 @@ export interface TableContext {
294
294
  size: {
295
295
  tableWidth: Ref<number>;
296
296
  resizeColumns: Ref<InnerColumn[]>;
297
+ columnWidths: Ref<Record<string, number>>;
298
+ syncColumnWidth: (width: number, column: InnerColumn) => void;
297
299
  isScrollX: ComputedRef<boolean>;
298
300
  setResizeWidth: (column: InnerColumn, width: number) => void;
299
301
  handleColumnResize: (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Table.type.mjs","sources":["../../../../src/components/Table/Table.type.ts"],"sourcesContent":["import type { Component, ComputedRef, CSSProperties, ExtractPropTypes, PropType, Ref, Slot, Slots, VNodeChild } from 'vue';\nimport type { JSX } from 'vue/jsx-runtime';\nimport { normalSizeMap } from '../../utils/globalType';\nimport { oneOf } from '../../utils/propsValidators';\nimport type { EmitFn, NormalSizeMap } from '../../utils/globalType';\nimport type { TableLocal } from '../locale/default';\nimport type { PaginationProps } from '../Pagination/Pagination.type';\nimport type Table from './Table.vue';\nimport type { RowData } from './hooks/useDraggable';\n\nexport type ColumnFixed = boolean | 'left' | 'right';\nexport type ColumnAlign = 'left' | 'right' | 'center';\nexport type ColumnSortOrder = 'ascend' | 'descend';\nexport type ColumnSortFn = (a: any, b: any) => number;\nexport interface ColumnFilter {\n label: string;\n value: string | number;\n}\nexport type ColumnFilterFn = (value: string | number, row: any) => boolean;\nexport interface ColumnSlotParams {\n row: any;\n index: number;\n rowKey: string | number;\n pagination: Partial<PaginationProps>;\n column: InnerColumn;\n}\n\nexport interface TableColProps {\n width: string;\n key: string;\n fixed: boolean;\n minWidth: string;\n resizeWidth: string;\n}\n\nexport interface ColumnFilterSlotParams {\n selectedKeys: (string | number)[];\n setSelectedKeys: (keys: (string | number)[]) => void;\n confirm: () => void;\n column: InnerColumn;\n}\n\nexport interface TableColumnSkeleton {\n type: 'circle' | 'rect' | 'text' | 'p' | 'image';\n style: CSSProperties;\n}\nexport interface TableColumn {\n key: string;\n title?: string;\n dataIndex?: string;\n width?: number | string;\n minWidth?: number;\n children?: TableColumn[];\n fixed?: ColumnFixed;\n align?: ColumnAlign;\n ellipsis?: boolean;\n sortable?: boolean | 'custom';\n sortOrder?: ColumnSortOrder;\n sortDirections?: ColumnSortOrder[];\n sortFn?: ColumnSortFn;\n filterable?: boolean;\n filters?: ColumnFilter[];\n filterFn?: ColumnFilterFn;\n filterIcon?: string | Component;\n filterIconStyle?: CSSProperties;\n filterMultiple?: boolean;\n filteredValue?: (string | number)[];\n onFilterDropdownVisibleChange?: (visible: boolean) => void;\n slot?: string;\n titleSlot?: string;\n filterSlot?: string;\n render?: (param: ColumnSlotParams) => VNodeChild | JSX.Element;\n titleRender?: (column: TableColumn) => VNodeChild | JSX.Element;\n filterRender?: (param: ColumnFilterSlotParams) => VNodeChild | JSX.Element;\n resizable?: boolean;\n customCell?: (row: any, index: number) => Record<string, any>;\n className?: string;\n hideSummary?: boolean;\n summarySlot?: string;\n summaryRender?: (sum?: number) => VNodeChild | JSX.Element;\n customSummaryCell?: () => Record<string, any>;\n autoSummary?: boolean;\n tips?: string;\n skeleton?: TableColumnSkeleton[];\n\n // draggable?: boolean;\n // handleDragStart?: (event: MouseEvent, param: ColumnSlotParams) => void;\n // render?: (param: ColumnSlotParams, handleDragStart?: (event: MouseEvent, DragParam: ColumnSlotParams) => void) => VNodeChild | JSX.Element;\n}\n\nexport interface InnerColumn extends TableColumn {\n _index?: number;\n rowSpan?: number;\n colSpan?: number;\n children?: InnerColumn[];\n type?: string;\n summaryRender?: (sum?: number) => VNodeChild | JSX.Element;\n left?: number;\n right?: number;\n lastLeft?: boolean;\n firstRight?: boolean;\n _isRightEdge?: boolean;\n}\n\nexport type SelectionType = 'checkbox' | 'radio';\nexport interface SelectionMenu {\n key: string;\n text: string;\n onSelect?: (rows: any[]) => void;\n}\nexport interface SelectionConfig {\n selectedKeys: (string | number)[] | undefined;\n type?: SelectionType;\n setSelectionProps?: (row: any, index: any) => Record<string, any>;\n selectionMenus?: SelectionMenu[];\n hideDefaultMenus?: boolean;\n onChange?: (keys: (string | number)[], selectedRows: any[]) => void;\n onSelect?: (data: any, checked: boolean, selectedRows: any[], event: any) => void;\n onSelectMultiple?: (checked: boolean, selectedRows: any[], changeRows: any[]) => void;\n onSelectAll?: (checked: boolean, selectedRows: any[], changeRows: any[]) => void;\n onSelectInvert?: (keys: (string | number)[]) => void;\n columnWidth?: number;\n fixed?: ColumnFixed;\n showCheckAll?: boolean;\n}\n\nexport interface DraggableConfig {\n fixed?: ColumnFixed;\n onDragDrop: (sourceRowKey: string | number, targetRowKey: string | number) => void;\n}\n\nexport type PaginationPosition = 'top' | 'bottom' | 'both' | undefined;\nexport type PaginationAlign = 'left' | 'right' | undefined;\nexport interface PaginationConfig extends Partial<PaginationProps> {\n position: PaginationPosition;\n align: PaginationAlign;\n}\n\nexport interface InnerDataItem {\n _index: number;\n _key: string | number;\n _isSkeleton?: boolean;\n dataRef: Record<string, any>;\n children?: InnerColumn[];\n}\n\nexport type RowClassName = (row: Record<string, any>, index: number) => string;\nexport type GetRowKey = (row: Record<string, any>, index: number) => string | number;\n\nexport const tableProps = {\n data: {\n type: Array as PropType<Record<string, any>[]>,\n default: () => [] as Record<string, any>[]\n },\n columns: {\n type: Array as PropType<TableColumn[]>,\n default: () => [] as TableColumn[]\n },\n border: {\n type: Boolean,\n default: false\n },\n showHeader: {\n type: Boolean,\n default: true\n },\n width: {\n type: [Number, String]\n },\n maxHeight: {\n type: [Number, String]\n },\n loading: {\n type: Boolean,\n default: false\n },\n size: {\n type: String as PropType<NormalSizeMap>,\n default: 'default',\n validator: oneOf(normalSizeMap)\n },\n disabledHover: {\n type: Boolean,\n default: false\n },\n rowKey: {\n type: [Function, String] as PropType<string | GetRowKey>,\n default: 'key'\n },\n rowClassName: {\n type: Function as PropType<RowClassName>\n },\n expandIcon: {\n type: String\n },\n defaultExpandAllRows: {\n type: Boolean,\n default: false\n },\n expandedRowKeys: {\n type: Array as PropType<string[]>\n },\n treeIconColumnIndex: {\n type: Number\n },\n defaultShowAllChildren: {\n type: Boolean,\n default: false\n },\n showChildrenRowKeys: {\n type: Array as PropType<string[]>\n },\n indentSize: {\n type: Number,\n default: 20\n },\n selection: {\n type: Object as PropType<SelectionConfig>\n },\n locale: {\n type: Object as PropType<TableLocal>\n },\n stripe: {\n type: Boolean,\n default: false\n },\n showPagination: {\n type: Boolean,\n default: false\n },\n pagination: {\n type: Object as PropType<PaginationConfig>\n },\n showSummary: {\n type: Boolean,\n default: false\n },\n expandFix: {\n type: Boolean,\n default: false\n },\n expandIndent: {\n type: Boolean,\n default: true\n },\n draggable: {\n type: Object as PropType<DraggableConfig>\n },\n headerSticky: {\n type: Number,\n default: undefined as undefined\n },\n variant: {\n type: String as PropType<'surface' | 'ghost' | 'border'>,\n default: 'ghost'\n },\n radius: {\n type: Boolean,\n default: false\n },\n loadingType: {\n type: String as PropType<'spinner' | 'skeleton'>,\n default: 'spinner'\n },\n skeletonRows: {\n type: Number,\n default: 3\n }\n};\nexport type TableProps = ExtractPropTypes<typeof tableProps>;\n\nexport type SaveRef = (key: string) => (el: any) => void;\nexport type TableRefs = Record<string, any>;\nexport interface ExpandParams {\n row: any;\n rowKey: string | number;\n async?: boolean;\n done?: () => void;\n tree?: boolean;\n}\nexport interface TableContext {\n prefixCls: ComputedRef<string>;\n locale: ComputedRef<TableLocal>;\n data: ComputedRef<InnerDataItem[]>;\n saveRef: SaveRef;\n tableRefs: TableRefs;\n showResizeLine: Ref<boolean>;\n props: {\n showHeader: Ref<boolean>;\n maxHeight: Ref<string | number | undefined>;\n expandIcon: Ref<string | undefined>;\n rowClassName: Ref<RowClassName>;\n indentSize: Ref<number>;\n emptyText: ComputedRef<string>;\n showSummary: Ref<boolean>;\n disabledHover: Ref<boolean>;\n expandIndent: Ref<boolean>;\n headerSticky: Ref<number | undefined>;\n loading: Ref<boolean>;\n width: Ref<string | number | undefined>;\n };\n slots: Slots;\n expand: {\n expandedRowRender: ComputedRef<Slot | undefined>;\n expandedRowKeys: Ref<(string | number)[]>;\n showChildrenRowKeys: Ref<(string | number)[]>;\n isRowExpanded: (rowKey: string | number, tree: boolean) => boolean;\n expandIconColumnIndex: ComputedRef<number>;\n handleExpandChange: ({ row, rowKey, async, done, tree }: ExpandParams, e: Event) => void;\n isTreeTable: ComputedRef<boolean>;\n };\n size: {\n tableWidth: Ref<number>;\n resizeColumns: Ref<InnerColumn[]>;\n // sizesMap: Record<string, number>;\n isScrollX: ComputedRef<boolean>;\n setResizeWidth: (column: InnerColumn, width: number) => void;\n handleColumnResize: (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => void;\n debouncedHandleResize: any;\n };\n fixed: {\n isColumnFixed: ComputedRef<boolean>;\n currentHoverKey: Ref<string | number | null>;\n };\n draggable: {\n setRowRefs: (val: RowData) => void;\n };\n rowEvents: {\n onRowMouseEnter: (data: Record<string, any>, index: number, e: Event) => void;\n onRowMouseLeave: (data: Record<string, any>, index: number, e: Event) => void;\n onRowClick: (data: Record<string, any>, index: number, e: Event) => void;\n onRowDoubleClick: (data: Record<string, any>, index: number, e: Event) => void;\n onRowContextMenu: (data: Record<string, any>, index: number, e: Event) => void;\n };\n headerEvents: {\n onHeaderCellClick: (column: InnerColumn, e: any) => void;\n };\n filterAndSorter: {\n hasAction: (column: InnerColumn) => boolean;\n hasSorters: (column: InnerColumn) => boolean;\n hasFilters: (column: InnerColumn) => boolean;\n isSortColumn: (column: InnerColumn) => boolean;\n isAscend: (column: InnerColumn) => boolean;\n isDescend: (column: InnerColumn) => boolean;\n hasAscend: (column: InnerColumn) => boolean;\n hasDescend: (column: InnerColumn) => boolean;\n toggleSortOrder: (column: InnerColumn) => void;\n setColumnFilter: (column: InnerColumn, selectedKeys: (string | number)[]) => void;\n };\n isSummary: boolean;\n pagination: PaginationProps;\n}\n\nconst rowEmitFn = (data: Record<string, any>, index: number, e: Event) => typeof data === 'object' && typeof index === 'number' && e instanceof Event;\nexport const tableEmits = {\n 'row-mouseenter': rowEmitFn,\n 'row-mouseleave': rowEmitFn,\n 'row-click': rowEmitFn,\n 'row-doubleclick': rowEmitFn,\n 'row-contextmenu': rowEmitFn,\n 'header-click': (column: TableColumn, e: Event) => typeof column === 'object' && e instanceof Event,\n 'column-resize': (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) =>\n typeof columnWidth === 'number' && typeof changeWidth === 'number' && typeof column === 'object' && event instanceof Event,\n expand: (expanded: boolean, row: Record<string, any>, type: string) =>\n typeof expanded === 'boolean' && typeof row === 'object' && typeof type === 'string',\n 'async-expand': (row: any, done: (() => void) | undefined, keys: (string | number)[]) =>\n typeof row === 'object' && Array.isArray(keys) && typeof done === 'function',\n change: (\n pagination: PaginationProps,\n sort: { column: TableColumn | null; order: ColumnSortOrder | null },\n filter: Record<string, (string | number)[]> | null\n ) => !(pagination === null && sort === null && filter === null)\n};\n\nexport type TableEmits = typeof tableEmits;\nexport type TableEmit = EmitFn<TableEmits>;\nexport type TableInstanceType = InstanceType<typeof Table>;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.type.mjs","sources":["../../../../src/components/Table/Table.type.ts"],"sourcesContent":["import type { Component, ComputedRef, CSSProperties, ExtractPropTypes, PropType, Ref, Slot, Slots, VNodeChild } from 'vue';\nimport type { JSX } from 'vue/jsx-runtime';\nimport { normalSizeMap } from '../../utils/globalType';\nimport { oneOf } from '../../utils/propsValidators';\nimport type { EmitFn, NormalSizeMap } from '../../utils/globalType';\nimport type { TableLocal } from '../locale/default';\nimport type { PaginationProps } from '../Pagination/Pagination.type';\nimport type Table from './Table.vue';\nimport type { RowData } from './hooks/useDraggable';\n\nexport type ColumnFixed = boolean | 'left' | 'right';\nexport type ColumnAlign = 'left' | 'right' | 'center';\nexport type ColumnSortOrder = 'ascend' | 'descend';\nexport type ColumnSortFn = (a: any, b: any) => number;\nexport interface ColumnFilter {\n label: string;\n value: string | number;\n}\nexport type ColumnFilterFn = (value: string | number, row: any) => boolean;\nexport interface ColumnSlotParams {\n row: any;\n index: number;\n rowKey: string | number;\n pagination: Partial<PaginationProps>;\n column: InnerColumn;\n}\n\nexport interface TableColProps {\n width: string;\n key: string;\n fixed: boolean;\n minWidth: string;\n resizeWidth: string;\n}\n\nexport interface ColumnFilterSlotParams {\n selectedKeys: (string | number)[];\n setSelectedKeys: (keys: (string | number)[]) => void;\n confirm: () => void;\n column: InnerColumn;\n}\n\nexport interface TableColumnSkeleton {\n type: 'circle' | 'rect' | 'text' | 'p' | 'image';\n style: CSSProperties;\n}\nexport interface TableColumn {\n key: string;\n title?: string;\n dataIndex?: string;\n width?: number | string;\n minWidth?: number;\n children?: TableColumn[];\n fixed?: ColumnFixed;\n align?: ColumnAlign;\n ellipsis?: boolean;\n sortable?: boolean | 'custom';\n sortOrder?: ColumnSortOrder;\n sortDirections?: ColumnSortOrder[];\n sortFn?: ColumnSortFn;\n filterable?: boolean;\n filters?: ColumnFilter[];\n filterFn?: ColumnFilterFn;\n filterIcon?: string | Component;\n filterIconStyle?: CSSProperties;\n filterMultiple?: boolean;\n filteredValue?: (string | number)[];\n onFilterDropdownVisibleChange?: (visible: boolean) => void;\n slot?: string;\n titleSlot?: string;\n filterSlot?: string;\n render?: (param: ColumnSlotParams) => VNodeChild | JSX.Element;\n titleRender?: (column: TableColumn) => VNodeChild | JSX.Element;\n filterRender?: (param: ColumnFilterSlotParams) => VNodeChild | JSX.Element;\n resizable?: boolean;\n customCell?: (row: any, index: number) => Record<string, any>;\n className?: string;\n hideSummary?: boolean;\n summarySlot?: string;\n summaryRender?: (sum?: number) => VNodeChild | JSX.Element;\n customSummaryCell?: () => Record<string, any>;\n autoSummary?: boolean;\n tips?: string;\n skeleton?: TableColumnSkeleton[];\n\n // draggable?: boolean;\n // handleDragStart?: (event: MouseEvent, param: ColumnSlotParams) => void;\n // render?: (param: ColumnSlotParams, handleDragStart?: (event: MouseEvent, DragParam: ColumnSlotParams) => void) => VNodeChild | JSX.Element;\n}\n\nexport interface InnerColumn extends TableColumn {\n _index?: number;\n rowSpan?: number;\n colSpan?: number;\n children?: InnerColumn[];\n type?: string;\n summaryRender?: (sum?: number) => VNodeChild | JSX.Element;\n left?: number;\n right?: number;\n lastLeft?: boolean;\n firstRight?: boolean;\n _isRightEdge?: boolean;\n}\n\nexport type SelectionType = 'checkbox' | 'radio';\nexport interface SelectionMenu {\n key: string;\n text: string;\n onSelect?: (rows: any[]) => void;\n}\nexport interface SelectionConfig {\n selectedKeys: (string | number)[] | undefined;\n type?: SelectionType;\n setSelectionProps?: (row: any, index: any) => Record<string, any>;\n selectionMenus?: SelectionMenu[];\n hideDefaultMenus?: boolean;\n onChange?: (keys: (string | number)[], selectedRows: any[]) => void;\n onSelect?: (data: any, checked: boolean, selectedRows: any[], event: any) => void;\n onSelectMultiple?: (checked: boolean, selectedRows: any[], changeRows: any[]) => void;\n onSelectAll?: (checked: boolean, selectedRows: any[], changeRows: any[]) => void;\n onSelectInvert?: (keys: (string | number)[]) => void;\n columnWidth?: number;\n fixed?: ColumnFixed;\n showCheckAll?: boolean;\n}\n\nexport interface DraggableConfig {\n fixed?: ColumnFixed;\n onDragDrop: (sourceRowKey: string | number, targetRowKey: string | number) => void;\n}\n\nexport type PaginationPosition = 'top' | 'bottom' | 'both' | undefined;\nexport type PaginationAlign = 'left' | 'right' | undefined;\nexport interface PaginationConfig extends Partial<PaginationProps> {\n position: PaginationPosition;\n align: PaginationAlign;\n}\n\nexport interface InnerDataItem {\n _index: number;\n _key: string | number;\n _isSkeleton?: boolean;\n dataRef: Record<string, any>;\n children?: InnerColumn[];\n}\n\nexport type RowClassName = (row: Record<string, any>, index: number) => string;\nexport type GetRowKey = (row: Record<string, any>, index: number) => string | number;\n\nexport const tableProps = {\n data: {\n type: Array as PropType<Record<string, any>[]>,\n default: () => [] as Record<string, any>[]\n },\n columns: {\n type: Array as PropType<TableColumn[]>,\n default: () => [] as TableColumn[]\n },\n border: {\n type: Boolean,\n default: false\n },\n showHeader: {\n type: Boolean,\n default: true\n },\n width: {\n type: [Number, String]\n },\n maxHeight: {\n type: [Number, String]\n },\n loading: {\n type: Boolean,\n default: false\n },\n size: {\n type: String as PropType<NormalSizeMap>,\n default: 'default',\n validator: oneOf(normalSizeMap)\n },\n disabledHover: {\n type: Boolean,\n default: false\n },\n rowKey: {\n type: [Function, String] as PropType<string | GetRowKey>,\n default: 'key'\n },\n rowClassName: {\n type: Function as PropType<RowClassName>\n },\n expandIcon: {\n type: String\n },\n defaultExpandAllRows: {\n type: Boolean,\n default: false\n },\n expandedRowKeys: {\n type: Array as PropType<string[]>\n },\n treeIconColumnIndex: {\n type: Number\n },\n defaultShowAllChildren: {\n type: Boolean,\n default: false\n },\n showChildrenRowKeys: {\n type: Array as PropType<string[]>\n },\n indentSize: {\n type: Number,\n default: 20\n },\n selection: {\n type: Object as PropType<SelectionConfig>\n },\n locale: {\n type: Object as PropType<TableLocal>\n },\n stripe: {\n type: Boolean,\n default: false\n },\n showPagination: {\n type: Boolean,\n default: false\n },\n pagination: {\n type: Object as PropType<PaginationConfig>\n },\n showSummary: {\n type: Boolean,\n default: false\n },\n expandFix: {\n type: Boolean,\n default: false\n },\n expandIndent: {\n type: Boolean,\n default: true\n },\n draggable: {\n type: Object as PropType<DraggableConfig>\n },\n headerSticky: {\n type: Number,\n default: undefined as undefined\n },\n variant: {\n type: String as PropType<'surface' | 'ghost' | 'border'>,\n default: 'ghost'\n },\n radius: {\n type: Boolean,\n default: false\n },\n loadingType: {\n type: String as PropType<'spinner' | 'skeleton'>,\n default: 'spinner'\n },\n skeletonRows: {\n type: Number,\n default: 3\n }\n};\nexport type TableProps = ExtractPropTypes<typeof tableProps>;\n\nexport type SaveRef = (key: string) => (el: any) => void;\nexport type TableRefs = Record<string, any>;\nexport interface ExpandParams {\n row: any;\n rowKey: string | number;\n async?: boolean;\n done?: () => void;\n tree?: boolean;\n}\nexport interface TableContext {\n prefixCls: ComputedRef<string>;\n locale: ComputedRef<TableLocal>;\n data: ComputedRef<InnerDataItem[]>;\n saveRef: SaveRef;\n tableRefs: TableRefs;\n showResizeLine: Ref<boolean>;\n props: {\n showHeader: Ref<boolean>;\n maxHeight: Ref<string | number | undefined>;\n expandIcon: Ref<string | undefined>;\n rowClassName: Ref<RowClassName>;\n indentSize: Ref<number>;\n emptyText: ComputedRef<string>;\n showSummary: Ref<boolean>;\n disabledHover: Ref<boolean>;\n expandIndent: Ref<boolean>;\n headerSticky: Ref<number | undefined>;\n loading: Ref<boolean>;\n width: Ref<string | number | undefined>;\n };\n slots: Slots;\n expand: {\n expandedRowRender: ComputedRef<Slot | undefined>;\n expandedRowKeys: Ref<(string | number)[]>;\n showChildrenRowKeys: Ref<(string | number)[]>;\n isRowExpanded: (rowKey: string | number, tree: boolean) => boolean;\n expandIconColumnIndex: ComputedRef<number>;\n handleExpandChange: ({ row, rowKey, async, done, tree }: ExpandParams, e: Event) => void;\n isTreeTable: ComputedRef<boolean>;\n };\n size: {\n tableWidth: Ref<number>;\n resizeColumns: Ref<InnerColumn[]>;\n columnWidths: Ref<Record<string, number>>;\n syncColumnWidth: (width: number, column: InnerColumn) => void;\n // sizesMap: Record<string, number>;\n isScrollX: ComputedRef<boolean>;\n setResizeWidth: (column: InnerColumn, width: number) => void;\n handleColumnResize: (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => void;\n debouncedHandleResize: any;\n };\n fixed: {\n isColumnFixed: ComputedRef<boolean>;\n currentHoverKey: Ref<string | number | null>;\n };\n draggable: {\n setRowRefs: (val: RowData) => void;\n };\n rowEvents: {\n onRowMouseEnter: (data: Record<string, any>, index: number, e: Event) => void;\n onRowMouseLeave: (data: Record<string, any>, index: number, e: Event) => void;\n onRowClick: (data: Record<string, any>, index: number, e: Event) => void;\n onRowDoubleClick: (data: Record<string, any>, index: number, e: Event) => void;\n onRowContextMenu: (data: Record<string, any>, index: number, e: Event) => void;\n };\n headerEvents: {\n onHeaderCellClick: (column: InnerColumn, e: any) => void;\n };\n filterAndSorter: {\n hasAction: (column: InnerColumn) => boolean;\n hasSorters: (column: InnerColumn) => boolean;\n hasFilters: (column: InnerColumn) => boolean;\n isSortColumn: (column: InnerColumn) => boolean;\n isAscend: (column: InnerColumn) => boolean;\n isDescend: (column: InnerColumn) => boolean;\n hasAscend: (column: InnerColumn) => boolean;\n hasDescend: (column: InnerColumn) => boolean;\n toggleSortOrder: (column: InnerColumn) => void;\n setColumnFilter: (column: InnerColumn, selectedKeys: (string | number)[]) => void;\n };\n isSummary: boolean;\n pagination: PaginationProps;\n}\n\nconst rowEmitFn = (data: Record<string, any>, index: number, e: Event) => typeof data === 'object' && typeof index === 'number' && e instanceof Event;\nexport const tableEmits = {\n 'row-mouseenter': rowEmitFn,\n 'row-mouseleave': rowEmitFn,\n 'row-click': rowEmitFn,\n 'row-doubleclick': rowEmitFn,\n 'row-contextmenu': rowEmitFn,\n 'header-click': (column: TableColumn, e: Event) => typeof column === 'object' && e instanceof Event,\n 'column-resize': (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) =>\n typeof columnWidth === 'number' && typeof changeWidth === 'number' && typeof column === 'object' && event instanceof Event,\n expand: (expanded: boolean, row: Record<string, any>, type: string) =>\n typeof expanded === 'boolean' && typeof row === 'object' && typeof type === 'string',\n 'async-expand': (row: any, done: (() => void) | undefined, keys: (string | number)[]) =>\n typeof row === 'object' && Array.isArray(keys) && typeof done === 'function',\n change: (\n pagination: PaginationProps,\n sort: { column: TableColumn | null; order: ColumnSortOrder | null },\n filter: Record<string, (string | number)[]> | null\n ) => !(pagination === null && sort === null && filter === null)\n};\n\nexport type TableEmits = typeof tableEmits;\nexport type TableEmit = EmitFn<TableEmits>;\nexport type TableInstanceType = InstanceType<typeof Table>;\n"],"names":[],"mappings":"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"}
@@ -458,15 +458,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
458
458
  type: import("vue").PropType<InnerColumn[]>;
459
459
  default: () => InnerColumn[];
460
460
  };
461
+ isHeadTable: {
462
+ type: BooleanConstructor;
463
+ default: boolean;
464
+ };
461
465
  }>, {
462
466
  cols: import("vue").ComputedRef<import("./Table.type").TableColProps[]>;
467
+ getWidth: (col: import("./Table.type").TableColProps) => string;
463
468
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
464
469
  columns: {
465
470
  type: import("vue").PropType<InnerColumn[]>;
466
471
  default: () => InnerColumn[];
467
472
  };
473
+ isHeadTable: {
474
+ type: BooleanConstructor;
475
+ default: boolean;
476
+ };
468
477
  }>> & Readonly<{}>, {
469
478
  columns: InnerColumn[];
479
+ isHeadTable: boolean;
470
480
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
471
481
  TableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
472
482
  columns: {
@@ -4787,7 +4797,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4787
4797
  cellRef: import("vue").Ref<any, any>;
4788
4798
  ellipsisSpanRef: import("vue").Ref<any, any>;
4789
4799
  isOverflow: import("vue").Ref<boolean, boolean>;
4790
- debouncedHandleResize: import("../../utils/tools").DebounceReturn;
4800
+ checkWidth: ({ target, width }: {
4801
+ target: HTMLElement;
4802
+ width: number;
4803
+ }) => void;
4791
4804
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4792
4805
  prefixCls: {
4793
4806
  type: StringConstructor;
@@ -6086,7 +6099,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6086
6099
  cellRef: import("vue").Ref<any, any>;
6087
6100
  ellipsisSpanRef: import("vue").Ref<any, any>;
6088
6101
  isOverflow: import("vue").Ref<boolean, boolean>;
6089
- debouncedHandleResize: import("../../utils/tools").DebounceReturn;
6102
+ checkWidth: ({ target, width }: {
6103
+ target: HTMLElement;
6104
+ width: number;
6105
+ }) => void;
6090
6106
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
6091
6107
  prefixCls: {
6092
6108
  type: StringConstructor;
@@ -7403,15 +7419,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7403
7419
  type: import("vue").PropType<InnerColumn[]>;
7404
7420
  default: () => InnerColumn[];
7405
7421
  };
7422
+ isHeadTable: {
7423
+ type: BooleanConstructor;
7424
+ default: boolean;
7425
+ };
7406
7426
  }>, {
7407
7427
  cols: import("vue").ComputedRef<import("./Table.type").TableColProps[]>;
7428
+ getWidth: (col: import("./Table.type").TableColProps) => string;
7408
7429
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7409
7430
  columns: {
7410
7431
  type: import("vue").PropType<InnerColumn[]>;
7411
7432
  default: () => InnerColumn[];
7412
7433
  };
7434
+ isHeadTable: {
7435
+ type: BooleanConstructor;
7436
+ default: boolean;
7437
+ };
7413
7438
  }>> & Readonly<{}>, {
7414
7439
  columns: InnerColumn[];
7440
+ isHeadTable: boolean;
7415
7441
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
7416
7442
  TableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7417
7443
  columns: {
@@ -11732,7 +11758,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
11732
11758
  cellRef: import("vue").Ref<any, any>;
11733
11759
  ellipsisSpanRef: import("vue").Ref<any, any>;
11734
11760
  isOverflow: import("vue").Ref<boolean, boolean>;
11735
- debouncedHandleResize: import("../../utils/tools").DebounceReturn;
11761
+ checkWidth: ({ target, width }: {
11762
+ target: HTMLElement;
11763
+ width: number;
11764
+ }) => void;
11736
11765
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11737
11766
  prefixCls: {
11738
11767
  type: StringConstructor;
@@ -13031,7 +13060,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13031
13060
  cellRef: import("vue").Ref<any, any>;
13032
13061
  ellipsisSpanRef: import("vue").Ref<any, any>;
13033
13062
  isOverflow: import("vue").Ref<boolean, boolean>;
13034
- debouncedHandleResize: import("../../utils/tools").DebounceReturn;
13063
+ checkWidth: ({ target, width }: {
13064
+ target: HTMLElement;
13065
+ width: number;
13066
+ }) => void;
13035
13067
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13036
13068
  prefixCls: {
13037
13069
  type: StringConstructor;
@@ -121,15 +121,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
121
121
  type: PropType<import("./Table.type").InnerColumn[]>;
122
122
  default: () => import("./Table.type").InnerColumn[];
123
123
  };
124
+ isHeadTable: {
125
+ type: BooleanConstructor;
126
+ default: boolean;
127
+ };
124
128
  }>, {
125
129
  cols: import("vue").ComputedRef<import("./Table.type").TableColProps[]>;
130
+ getWidth: (col: import("./Table.type").TableColProps) => string;
126
131
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
127
132
  columns: {
128
133
  type: PropType<import("./Table.type").InnerColumn[]>;
129
134
  default: () => import("./Table.type").InnerColumn[];
130
135
  };
136
+ isHeadTable: {
137
+ type: BooleanConstructor;
138
+ default: boolean;
139
+ };
131
140
  }>> & Readonly<{}>, {
132
141
  columns: import("./Table.type").InnerColumn[];
142
+ isHeadTable: boolean;
133
143
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
134
144
  TableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
135
145
  columns: {
@@ -4450,7 +4460,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4450
4460
  cellRef: import("vue").Ref<any, any>;
4451
4461
  ellipsisSpanRef: import("vue").Ref<any, any>;
4452
4462
  isOverflow: import("vue").Ref<boolean, boolean>;
4453
- debouncedHandleResize: import("../../utils").DebounceReturn;
4463
+ checkWidth: ({ target, width }: {
4464
+ target: HTMLElement;
4465
+ width: number;
4466
+ }) => void;
4454
4467
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4455
4468
  prefixCls: {
4456
4469
  type: StringConstructor;
@@ -5749,7 +5762,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5749
5762
  cellRef: import("vue").Ref<any, any>;
5750
5763
  ellipsisSpanRef: import("vue").Ref<any, any>;
5751
5764
  isOverflow: import("vue").Ref<boolean, boolean>;
5752
- debouncedHandleResize: import("../../utils").DebounceReturn;
5765
+ checkWidth: ({ target, width }: {
5766
+ target: HTMLElement;
5767
+ width: number;
5768
+ }) => void;
5753
5769
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
5754
5770
  prefixCls: {
5755
5771
  type: StringConstructor;
@@ -7066,15 +7082,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7066
7082
  type: PropType<import("./Table.type").InnerColumn[]>;
7067
7083
  default: () => import("./Table.type").InnerColumn[];
7068
7084
  };
7085
+ isHeadTable: {
7086
+ type: BooleanConstructor;
7087
+ default: boolean;
7088
+ };
7069
7089
  }>, {
7070
7090
  cols: import("vue").ComputedRef<import("./Table.type").TableColProps[]>;
7091
+ getWidth: (col: import("./Table.type").TableColProps) => string;
7071
7092
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7072
7093
  columns: {
7073
7094
  type: PropType<import("./Table.type").InnerColumn[]>;
7074
7095
  default: () => import("./Table.type").InnerColumn[];
7075
7096
  };
7097
+ isHeadTable: {
7098
+ type: BooleanConstructor;
7099
+ default: boolean;
7100
+ };
7076
7101
  }>> & Readonly<{}>, {
7077
7102
  columns: import("./Table.type").InnerColumn[];
7103
+ isHeadTable: boolean;
7078
7104
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
7079
7105
  TableHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7080
7106
  columns: {
@@ -11395,7 +11421,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
11395
11421
  cellRef: import("vue").Ref<any, any>;
11396
11422
  ellipsisSpanRef: import("vue").Ref<any, any>;
11397
11423
  isOverflow: import("vue").Ref<boolean, boolean>;
11398
- debouncedHandleResize: import("../../utils").DebounceReturn;
11424
+ checkWidth: ({ target, width }: {
11425
+ target: HTMLElement;
11426
+ width: number;
11427
+ }) => void;
11399
11428
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11400
11429
  prefixCls: {
11401
11430
  type: StringConstructor;
@@ -12694,7 +12723,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
12694
12723
  cellRef: import("vue").Ref<any, any>;
12695
12724
  ellipsisSpanRef: import("vue").Ref<any, any>;
12696
12725
  isOverflow: import("vue").Ref<boolean, boolean>;
12697
- debouncedHandleResize: import("../../utils").DebounceReturn;
12726
+ checkWidth: ({ target, width }: {
12727
+ target: HTMLElement;
12728
+ width: number;
12729
+ }) => void;
12698
12730
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12699
12731
  prefixCls: {
12700
12732
  type: StringConstructor;
@@ -11,4 +11,6 @@ export default function useTableResize(updatedColumns: Ref<InnerColumn[]>, table
11
11
  resetScrollX: () => void;
12
12
  clearResizeTimer: () => void;
13
13
  setResizeWidth: (column: InnerColumn, width: number) => void;
14
+ syncColumnWidth: (width: number, column: InnerColumn) => void;
15
+ columnWidths: Ref<Record<string, number>, Record<string, number>>;
14
16
  };