@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
@@ -12,7 +12,6 @@ require('../../../utils/index.js');
12
12
  var ResizeObserver = require('../../base/ResizeObserver.js');
13
13
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
14
  var dom = require('../../../utils/dom.js');
15
- var tools = require('../../../utils/tools.js');
16
15
 
17
16
  const USkeletonItem = index.USkeleton.Item;
18
17
  const _sfc_main = vue.defineComponent({
@@ -64,6 +63,7 @@ const _sfc_main = vue.defineComponent({
64
63
  props: { indentSize },
65
64
  expand: { handleExpandChange, isRowExpanded },
66
65
  filterAndSorter: { hasAction, hasSorters, hasFilters, isSortColumn },
66
+ size: { syncColumnWidth },
67
67
  pagination
68
68
  } = vue.inject("tableContext", {});
69
69
  const cellRef = vue.ref();
@@ -151,8 +151,10 @@ const _sfc_main = vue.defineComponent({
151
151
  }
152
152
  }
153
153
  });
154
+ if (props.index === 0) {
155
+ syncColumnWidth(width, props.column);
156
+ }
154
157
  };
155
- const debouncedHandleResize = tools.debounce((args) => checkWidth(args), 100);
156
158
  return {
157
159
  tablePrefixCls,
158
160
  isRender,
@@ -173,7 +175,7 @@ const _sfc_main = vue.defineComponent({
173
175
  cellRef,
174
176
  ellipsisSpanRef,
175
177
  isOverflow,
176
- debouncedHandleResize
178
+ checkWidth
177
179
  };
178
180
  }
179
181
  });
@@ -184,7 +186,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
184
186
  const _component_Render = vue.resolveComponent("Render");
185
187
  const _component_UTooltip = vue.resolveComponent("UTooltip");
186
188
  const _component_ResizeObserver = vue.resolveComponent("ResizeObserver");
187
- return vue.openBlock(), vue.createBlock(_component_ResizeObserver, { onResize: _ctx.debouncedHandleResize }, {
189
+ return vue.openBlock(), vue.createBlock(_component_ResizeObserver, { onResize: _ctx.checkWidth }, {
188
190
  default: vue.withCtx(() => {
189
191
  var _a;
190
192
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","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":["USkeleton","defineComponent","Render","ExpandIcon","UTooltip","ResizeObserver","inject","ref","computed","get","getStyle","debounce","_createBlock","_createElementBlock","_mergeProps","_normalizeClass","_Fragment","_normalizeStyle","_createElementVNode","_createVNode","_a"],"mappings":"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"}
1
+ {"version":3,"file":"TableCell.js","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":["USkeleton","defineComponent","Render","ExpandIcon","UTooltip","ResizeObserver","inject","ref","computed","get","getStyle","_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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koi-design/uxd-ui",
3
- "version": "14.0.13",
3
+ "version": "14.0.14",
4
4
  "description": "uxd ui component with vue3.0",
5
5
  "license": "MIT",
6
6
  "maintainers": [],
@@ -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;
@@ -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;
@@ -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
  };
@@ -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;
@@ -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;