pro-design-vue 1.3.21 → 1.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.full.js +1217 -1585
- package/dist/index.full.min.js +7 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1218 -1586
- package/es/components/config-provider/src/typing.d.ts +1 -0
- package/es/components/table/src/components/Body/Body.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/es/components/table/src/components/Body/BodyEditCell.d.ts +61 -0
- package/es/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
- package/es/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/es/components/table/src/components/InteralTable.vue.d.ts +314 -19
- package/es/components/table/src/components/Table.d.ts +51 -0
- package/es/components/table/src/components/context/TableContext.d.ts +4 -0
- package/es/components/table/src/components/interface.d.ts +290 -23
- package/es/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/es/components/table/src/hooks/useEdit.d.ts +24 -7
- package/es/components/table/src/utils/form-model.d.ts +25 -0
- package/es/components/table/src/utils/util.d.ts +1 -0
- package/es/index.d.ts +271 -5
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs +35 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs +129 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +292 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +63 -8
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs +24 -18
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/{BodyCell.mjs → BodyTextCell.mjs} +25 -155
- package/es/packages/components/table/src/components/Body/BodyTextCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/InteralTable.vue.mjs +24 -25
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +36 -97
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +24 -20
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/context/TableContext.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs +24 -0
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useCellProps.mjs +8 -0
- package/es/packages/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useEdit.mjs +293 -18
- package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
- package/es/packages/components/table/src/utils/form-model.mjs +98 -0
- package/es/packages/components/table/src/utils/form-model.mjs.map +1 -0
- package/es/packages/components/table/src/utils/util.mjs +4 -1
- package/es/packages/components/table/src/utils/util.mjs.map +1 -1
- package/es/packages/utils/dom.mjs +15 -1
- package/es/packages/utils/dom.mjs.map +1 -1
- package/es/packages/utils/index.mjs +1 -1
- package/es/utils/dom.d.ts +2 -0
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/config-provider/src/typing.d.ts +1 -0
- package/lib/components/table/src/components/Body/Body.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/lib/components/table/src/components/Body/BodyEditCell.d.ts +61 -0
- package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +261 -15
- package/lib/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/lib/components/table/src/components/InteralTable.vue.d.ts +314 -19
- package/lib/components/table/src/components/Table.d.ts +51 -0
- package/lib/components/table/src/components/context/TableContext.d.ts +4 -0
- package/lib/components/table/src/components/interface.d.ts +290 -23
- package/lib/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/lib/components/table/src/hooks/useEdit.d.ts +24 -7
- package/lib/components/table/src/utils/form-model.d.ts +25 -0
- package/lib/components/table/src/utils/util.d.ts +1 -0
- package/lib/index.d.ts +271 -5
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js +39 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js +133 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js +297 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +63 -8
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js +22 -16
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/{BodyCell.js → BodyTextCell.js} +24 -154
- package/lib/packages/components/table/src/components/Body/BodyTextCell.js.map +1 -0
- package/lib/packages/components/table/src/components/InteralTable.vue.js +24 -25
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +36 -97
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +24 -20
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/context/TableContext.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js +24 -0
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useCellProps.js +8 -0
- package/lib/packages/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useEdit.js +292 -17
- package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
- package/lib/packages/components/table/src/utils/form-model.js +102 -0
- package/lib/packages/components/table/src/utils/form-model.js.map +1 -0
- package/lib/packages/components/table/src/utils/util.js +4 -0
- package/lib/packages/components/table/src/utils/util.js.map +1 -1
- package/lib/packages/utils/dom.js +16 -0
- package/lib/packages/utils/dom.js.map +1 -1
- package/lib/packages/utils/index.js +2 -0
- package/lib/packages/utils/index.js.map +1 -1
- package/lib/utils/dom.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/table.less +40 -2
- package/es/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/es/packages/components/table/src/components/Body/BodyCell.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs +0 -48
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs +0 -151
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs.map +0 -1
- package/lib/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/lib/packages/components/table/src/components/Body/BodyCell.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js +0 -52
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js +0 -155
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js.map +0 -1
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import { defineComponent, getCurrentInstance, ref, watch,
|
|
1
|
+
import { defineComponent, getCurrentInstance, computed, ref, watch, onBeforeUnmount, watchEffect, nextTick } from 'vue';
|
|
2
2
|
import { useInjectTable } from '../context/TableContext.mjs';
|
|
3
3
|
import { useInjectBody } from '../context/BodyContext.mjs';
|
|
4
4
|
import { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext.mjs';
|
|
5
5
|
import { ExpandColumnKey } from '../../hooks/useColumns.mjs';
|
|
6
6
|
import { RenderSlot } from '../../utils/renderVNode.mjs';
|
|
7
|
-
import { useEditInject } from '../../hooks/useEdit.mjs';
|
|
8
|
-
import { useCellSelection } from '../../hooks/useCellSelection.mjs';
|
|
9
|
-
import { useCellKeyboard } from '../../hooks/useCellKeyboard.mjs';
|
|
10
7
|
import { useInjectHover } from '../../hooks/useHover.mjs';
|
|
11
8
|
import { addClass, removeClass } from '../../utils/class.mjs';
|
|
9
|
+
import { useEditInject } from '../../hooks/useEdit.mjs';
|
|
12
10
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
13
11
|
import eagerComputed from '../../utils/eagerComputed.mjs';
|
|
14
12
|
import classNames from '../../utils/classNames.mjs';
|
|
15
|
-
import BodyCell from './BodyCell.mjs';
|
|
13
|
+
import BodyCell$1 from './BodyCell.vue.mjs';
|
|
16
14
|
import ExpandedRow from './ExpandedRow.vue.mjs';
|
|
17
15
|
import BodyExtraCell from './BodyExtraCell.vue.mjs';
|
|
18
16
|
import ExpandIcon from '../ExpandIcon.vue.mjs';
|
|
17
|
+
import BodyCell from './BodyTextCell.mjs';
|
|
19
18
|
import { useProConfigInject } from '../../../../config-provider/src/context.mjs';
|
|
20
19
|
|
|
21
20
|
let uniIdCount = 0;
|
|
@@ -23,10 +22,11 @@ var _sfc_main = defineComponent({
|
|
|
23
22
|
name: "ProTableBodyRow",
|
|
24
23
|
components: {
|
|
25
24
|
ExpandIcon,
|
|
26
|
-
BodyCell,
|
|
25
|
+
BodyCell: BodyCell$1,
|
|
27
26
|
ExpandedRow,
|
|
28
27
|
BodyExtraCell,
|
|
29
|
-
RenderSlot
|
|
28
|
+
RenderSlot,
|
|
29
|
+
BodyTextCell: BodyCell
|
|
30
30
|
},
|
|
31
31
|
inheritAttrs: false,
|
|
32
32
|
props: {
|
|
@@ -48,11 +48,17 @@ var _sfc_main = defineComponent({
|
|
|
48
48
|
const tableContext = useInjectTable();
|
|
49
49
|
const rowInstance = getCurrentInstance();
|
|
50
50
|
const { table } = useProConfigInject();
|
|
51
|
-
const { editCellKeys, closeEditor, openEditor } = useEditInject();
|
|
51
|
+
const { editCellKeys, isRowEdit, mergedEditableKeys, editRowsMap, closeEditor, openEditor } = useEditInject();
|
|
52
|
+
const editRow = computed(() => editRowsMap.value[props.rowKey]);
|
|
52
53
|
let isUnmount = false;
|
|
53
54
|
const bodyRow = ref();
|
|
54
|
-
const
|
|
55
|
-
|
|
55
|
+
const isCurrentEditRow = computed(() => {
|
|
56
|
+
var _a;
|
|
57
|
+
if (isRowEdit.value) {
|
|
58
|
+
return (_a = mergedEditableKeys.value) == null ? void 0 : _a.includes(props.rowKey);
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
});
|
|
56
62
|
const calMaxHeight = () => {
|
|
57
63
|
if (isUnmount) return;
|
|
58
64
|
let rowHeight = 0;
|
|
@@ -254,6 +260,7 @@ var _sfc_main = defineComponent({
|
|
|
254
260
|
rowStyle,
|
|
255
261
|
cellClass,
|
|
256
262
|
tableContext,
|
|
263
|
+
isCurrentEditRow,
|
|
257
264
|
mergedRowHeights,
|
|
258
265
|
handleCellBlur,
|
|
259
266
|
handleCellHover,
|
|
@@ -281,18 +288,17 @@ var _sfc_main = defineComponent({
|
|
|
281
288
|
resizeObserver,
|
|
282
289
|
calMaxHeight,
|
|
283
290
|
bodyRow,
|
|
291
|
+
editCellKeys,
|
|
292
|
+
isRowEdit,
|
|
293
|
+
editRow,
|
|
294
|
+
mergedEditableKeys,
|
|
295
|
+
openEditor,
|
|
296
|
+
closeEditor,
|
|
284
297
|
hoverRowKey,
|
|
285
298
|
hoverColumnKey,
|
|
286
299
|
xVirtual: eagerComputed(() => tableContext.xVirtual.value),
|
|
287
300
|
getPopupContainer: () => popupContainer.value,
|
|
288
|
-
|
|
289
|
-
closeEditor,
|
|
290
|
-
openEditor,
|
|
291
|
-
mergedTooltipOpen,
|
|
292
|
-
onCellMousedown,
|
|
293
|
-
onCellKeydown,
|
|
294
|
-
onCellMousemove,
|
|
295
|
-
onCellClick
|
|
301
|
+
mergedTooltipOpen
|
|
296
302
|
};
|
|
297
303
|
}
|
|
298
304
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyRow.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-11-26 14:33:58\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useCellSelection } from '../../hooks/useCellSelection'\nimport { useCellKeyboard } from '../../hooks/useCellKeyboard'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, closeEditor, openEditor } = useEditInject()\n\n let isUnmount = false\n const bodyRow = ref()\n\n const { onCellMousedown, onCellMousemove, onCellClick } = useCellSelection()\n const { onCellKeydown } = useCellKeyboard()\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expandIconType = computed(() => tableContext.expandIconType.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n expandIconType,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n editCellKeys,\n closeEditor,\n openEditor,\n mergedTooltipOpen,\n onCellMousedown,\n onCellKeydown,\n onCellMousemove,\n onCellClick,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n @mousedown=\"onCellMousedown\"\n @mousemove=\"onCellMousemove\"\n @keydown=\"onCellKeydown\"\n @click=\"onCellClick\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BodyRow.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-12-02 15:53:41\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell.vue'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\nimport BodyTextCell from './BodyTextCell'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n BodyTextCell,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, isRowEdit, mergedEditableKeys, editRowsMap, closeEditor, openEditor } =\n useEditInject()\n const editRow = computed(() => editRowsMap.value[props.rowKey])\n let isUnmount = false\n const bodyRow = ref()\n\n const isCurrentEditRow = computed(() => {\n if (isRowEdit.value) {\n return mergedEditableKeys.value?.includes(props.rowKey)\n }\n return true\n })\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expandIconType = computed(() => tableContext.expandIconType.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n isCurrentEditRow,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n expandIconType,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n editCellKeys,\n isRowEdit,\n editRow,\n mergedEditableKeys,\n openEditor,\n closeEditor,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n mergedTooltipOpen,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column && column.edit?.component && isCurrentEditRow\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex!\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n :editable-keys=\"mergedEditableKeys\"\n :is-row-edit=\"isRowEdit\"\n :edit-row=\"editRow\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n <BodyTextCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyTextCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":["BodyCell","BodyTextCell"],"mappings":"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"}
|
|
@@ -3,20 +3,17 @@ import { Badge, Tag } from 'ant-design-vue';
|
|
|
3
3
|
import { useInjectSlots } from '../context/TableSlotsContext.mjs';
|
|
4
4
|
import { useInjectTable } from '../context/TableContext.mjs';
|
|
5
5
|
import { useInjectBody } from '../context/BodyContext.mjs';
|
|
6
|
-
import { useInjectRangeStore } from '../../hooks/useRangeStore.mjs';
|
|
7
6
|
import { useInjectLevel } from '../../hooks/useLevel.mjs';
|
|
8
7
|
import { ensureValidVNode, isValidElement } from '../../utils/util.mjs';
|
|
9
8
|
import { isEventSupported } from '../../utils/events.mjs';
|
|
10
9
|
import { isIOSUserAgent } from '../../utils/browser.mjs';
|
|
11
|
-
import { useEditInject } from '../../hooks/useEdit.mjs';
|
|
12
10
|
import RowHandler from '../Drag/RowHandler.vue.mjs';
|
|
13
11
|
import BodyCellTooltip from './BodyCellTooltip.mjs';
|
|
14
|
-
import EditInput from './EditInput.vue.mjs';
|
|
15
12
|
import { cellResize } from '../../../../../directives/cell-resize.mjs';
|
|
16
13
|
import { useProConfigInject } from '../../../../config-provider/src/context.mjs';
|
|
17
14
|
import { runFunction } from '../../../../../utils/run-function.mjs';
|
|
18
15
|
import { get } from 'lodash-unified';
|
|
19
|
-
import { isObject
|
|
16
|
+
import { isObject } from '../../../../../utils/validate.mjs';
|
|
20
17
|
|
|
21
18
|
const cellProps = {
|
|
22
19
|
prefixCls: String,
|
|
@@ -34,15 +31,16 @@ const cellProps = {
|
|
|
34
31
|
tooltipOpen: Boolean,
|
|
35
32
|
getPopupContainer: Function,
|
|
36
33
|
onCellLeave: Function,
|
|
37
|
-
editCellKeys: Array,
|
|
38
|
-
onOpenEditor: Function,
|
|
39
|
-
onCloseEditor: Function,
|
|
40
|
-
onMousedown: Function,
|
|
41
|
-
onMousemove: Function,
|
|
42
|
-
onKeydown: Function,
|
|
43
34
|
onClick: Function
|
|
44
35
|
};
|
|
45
36
|
let lastClickTime = 0;
|
|
37
|
+
const hasSupportedDblclick = () => {
|
|
38
|
+
if (!isIOSUserAgent() || isEventSupported("dblclick")) return false;
|
|
39
|
+
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
40
|
+
const is = now - lastClickTime < 200;
|
|
41
|
+
lastClickTime = now;
|
|
42
|
+
return is;
|
|
43
|
+
};
|
|
46
44
|
const ValueStatusEnum = {
|
|
47
45
|
success: "#03bf64",
|
|
48
46
|
processing: "#315efb",
|
|
@@ -55,20 +53,8 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
55
53
|
const tableSlotsContext = useInjectSlots();
|
|
56
54
|
const tableContext = useInjectTable();
|
|
57
55
|
const { onBodyCellContextmenu } = useInjectBody();
|
|
58
|
-
const { getRangeCellClass } = useInjectRangeStore();
|
|
59
56
|
const level = useInjectLevel();
|
|
60
|
-
const {
|
|
61
|
-
const {
|
|
62
|
-
prefixCls,
|
|
63
|
-
column,
|
|
64
|
-
wrapText,
|
|
65
|
-
rowKey,
|
|
66
|
-
item,
|
|
67
|
-
rowIndex,
|
|
68
|
-
hasAppendNode,
|
|
69
|
-
tooltipOpen,
|
|
70
|
-
editCellKeys
|
|
71
|
-
} = props;
|
|
57
|
+
const { prefixCls, column, wrapText, rowKey, item, rowIndex, hasAppendNode, tooltipOpen } = props;
|
|
72
58
|
const columnKey = column.columnKey;
|
|
73
59
|
const valueEnum = runFunction(column == null ? void 0 : column.valueEnum, props.item);
|
|
74
60
|
const rowDrag = typeof column.rowDrag == "function" ? column.rowDrag({ record: item, column: column.originColumn }) : !!column.rowDrag;
|
|
@@ -78,22 +64,8 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
78
64
|
const sorterInfo = { sorterOrder };
|
|
79
65
|
const key = `${props.rowKey} ${columnKey}`;
|
|
80
66
|
const value = column.dataIndex ? column.renderText ? column.renderText(get(item, column.dataIndex), item, rowIndex) : get(item, column.dataIndex) : void 0;
|
|
81
|
-
const valueStatus = runFunction(column == null ? void 0 : column.valueStatus, value, props.item);
|
|
67
|
+
const valueStatus = runFunction(column == null ? void 0 : column.valueStatus, value, props.item, valueEnum == null ? void 0 : valueEnum[value]);
|
|
82
68
|
const recordIndexs = tableContext.getIndexsByKey(rowKey);
|
|
83
|
-
let customEditable = false;
|
|
84
|
-
let isEditing = editCellKeys == null ? void 0 : editCellKeys.includes(key);
|
|
85
|
-
if (isEditing) {
|
|
86
|
-
const editable = "function" == typeof column.editable && column.editable({
|
|
87
|
-
record: item,
|
|
88
|
-
column: column.originColumn,
|
|
89
|
-
recordIndexs,
|
|
90
|
-
value
|
|
91
|
-
});
|
|
92
|
-
customEditable = "cellEditorSlot" === column.editable || "cellEditorSlot" === editable;
|
|
93
|
-
isEditing = isEditing && (customEditable && !!tableSlotsContext.cellEditor || true === column.editable || !!editable);
|
|
94
|
-
}
|
|
95
|
-
let { editableTrigger = ["dblClick"] } = column;
|
|
96
|
-
editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger];
|
|
97
69
|
const cellInnerClass = { [`${prefixCls}-cell-inner`]: true };
|
|
98
70
|
const cellContentClass = {
|
|
99
71
|
[`${prefixCls}-cell-content`]: true,
|
|
@@ -114,7 +86,6 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
114
86
|
const cellRender = ((_b = (_a = tableContext.allCellProps.value) == null ? void 0 : _a[rowKey]) == null ? void 0 : _b[column.columnKey]) || {};
|
|
115
87
|
const cellProps2 = cellRender.props || {};
|
|
116
88
|
const cellRowSpan = cellProps2.rowSpan;
|
|
117
|
-
const cellPosition = { rowIndex: props.flattenRowIndex, rowPinned: null, column };
|
|
118
89
|
const cellClass = {
|
|
119
90
|
[`${prefixCls}-cell`]: true,
|
|
120
91
|
[`${prefixCls}-first-cell`]: column.columnIndex === 0,
|
|
@@ -122,60 +93,7 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
122
93
|
[`${prefixCls}-cell-multi`]: cellRowSpan > 1,
|
|
123
94
|
[`${prefixCls}-cell-hidden`]: cellRowSpan === 0,
|
|
124
95
|
[`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,
|
|
125
|
-
[`${prefixCls}-with-append`]: hasAppendNode
|
|
126
|
-
[`${prefixCls}-cell-inline-edit`]: isEditing,
|
|
127
|
-
[getRangeCellClass(cellPosition)]: true
|
|
128
|
-
};
|
|
129
|
-
const openEditor = () => {
|
|
130
|
-
var _a2, _b2, _c2, _d2, _e2, _f2, _g2;
|
|
131
|
-
const oldValue = (_c2 = (_b2 = (_a2 = props.column) == null ? void 0 : _a2.valueGetter) == null ? void 0 : _b2.call(_a2, {
|
|
132
|
-
value,
|
|
133
|
-
record: item,
|
|
134
|
-
column,
|
|
135
|
-
recordIndexs
|
|
136
|
-
})) != null ? _c2 : value;
|
|
137
|
-
const beforeOpen = (_e2 = (_d2 = tableContext.props) == null ? void 0 : _d2.onBeforeOpenEditor) == null ? void 0 : _e2.call(_d2, cellRenderArgs);
|
|
138
|
-
if (isPromise(beforeOpen)) {
|
|
139
|
-
beforeOpen.then((res) => {
|
|
140
|
-
var _a3, _b3;
|
|
141
|
-
if (res) {
|
|
142
|
-
emit("openEditor", key, { [key]: oldValue });
|
|
143
|
-
(_b3 = (_a3 = tableContext.props) == null ? void 0 : _a3.onOpenEditor) == null ? void 0 : _b3.call(_a3, cellRenderArgs);
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
} else {
|
|
147
|
-
if (false !== beforeOpen) {
|
|
148
|
-
emit("openEditor", key, { [key]: oldValue });
|
|
149
|
-
(_g2 = (_f2 = tableContext.props) == null ? void 0 : _f2.onOpenEditor) == null ? void 0 : _g2.call(_f2, cellRenderArgs);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
const closeEditor = (currentKey) => {
|
|
154
|
-
var _a2, _b2, _c2, _d2;
|
|
155
|
-
const beforeClose = (_b2 = (_a2 = tableContext.props) == null ? void 0 : _a2.onBeforeCloseEditor) == null ? void 0 : _b2.call(_a2, {
|
|
156
|
-
...cellRenderArgs,
|
|
157
|
-
oldValue: oldValuesMap.value[key]
|
|
158
|
-
});
|
|
159
|
-
if (isPromise(beforeClose)) {
|
|
160
|
-
beforeClose.then((res) => {
|
|
161
|
-
var _a3, _b3;
|
|
162
|
-
if (res) {
|
|
163
|
-
emit("closeEditor", currentKey != null ? currentKey : key);
|
|
164
|
-
(_b3 = (_a3 = tableContext.props) == null ? void 0 : _a3.onCloseEditor) == null ? void 0 : _b3.call(_a3, {
|
|
165
|
-
...cellRenderArgs,
|
|
166
|
-
oldValue: oldValuesMap.value[key]
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
} else {
|
|
171
|
-
if (false !== beforeClose) {
|
|
172
|
-
emit("closeEditor", currentKey != null ? currentKey : key);
|
|
173
|
-
(_d2 = (_c2 = tableContext.props) == null ? void 0 : _c2.onCloseEditor) == null ? void 0 : _d2.call(_c2, {
|
|
174
|
-
...cellRenderArgs,
|
|
175
|
-
oldValue: oldValuesMap.value[key]
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
}
|
|
96
|
+
[`${prefixCls}-with-append`]: hasAppendNode
|
|
179
97
|
};
|
|
180
98
|
const cellRenderArgs = {
|
|
181
99
|
record: item,
|
|
@@ -186,8 +104,10 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
186
104
|
recordIndexs: tableContext.getIndexsByKey(rowKey),
|
|
187
105
|
key,
|
|
188
106
|
valueStatus,
|
|
189
|
-
|
|
190
|
-
|
|
107
|
+
cancelEditable: tableContext.cancelEditable,
|
|
108
|
+
startEditable: tableContext.startEditable,
|
|
109
|
+
saveEditable: tableContext.saveEditable,
|
|
110
|
+
isEditable: tableContext.isEditable
|
|
191
111
|
};
|
|
192
112
|
let bodyCell = recordIndexs && ((_c = tableSlotsContext.bodyCell) == null ? void 0 : _c.call(tableSlotsContext, cellRenderArgs)) || [];
|
|
193
113
|
const emptyText = tableContext.props.columnEmptyText !== false ? (_f = (_e = tableContext.props.columnEmptyText) != null ? _e : (_d = table == null ? void 0 : table.value) == null ? void 0 : _d.columnEmptyText) != null ? _f : "-" : "";
|
|
@@ -306,27 +226,6 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
306
226
|
} else {
|
|
307
227
|
renderCellVNode = cellVNode;
|
|
308
228
|
}
|
|
309
|
-
const onDblclick = () => {
|
|
310
|
-
editableTrigger.includes("dblClick") && openEditor();
|
|
311
|
-
};
|
|
312
|
-
const editInputRender = isEditing ? createVNode(
|
|
313
|
-
EditInput,
|
|
314
|
-
{
|
|
315
|
-
prefixCls,
|
|
316
|
-
recordIndexs,
|
|
317
|
-
rowKey,
|
|
318
|
-
cellKey: key,
|
|
319
|
-
column,
|
|
320
|
-
record: item,
|
|
321
|
-
onCloseEditor: closeEditor,
|
|
322
|
-
value,
|
|
323
|
-
customEditable,
|
|
324
|
-
getPopupContainer: props.getPopupContainer,
|
|
325
|
-
multiple: editCellKeys.length > 1,
|
|
326
|
-
autoHeight
|
|
327
|
-
},
|
|
328
|
-
null
|
|
329
|
-
) : null;
|
|
330
229
|
return createVNode(
|
|
331
230
|
"div",
|
|
332
231
|
mergeProps(cellProps2, {
|
|
@@ -338,39 +237,25 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
338
237
|
"data-column-key": columnKey,
|
|
339
238
|
class: cellClass,
|
|
340
239
|
onContextmenu: (e) => {
|
|
341
|
-
if (
|
|
240
|
+
if (tableContext.props.hasContextmenuPopup && 0 === e.button && e.ctrlKey) {
|
|
342
241
|
e.preventDefault();
|
|
343
242
|
} else {
|
|
344
243
|
onBodyCellContextmenu(e, cellRenderArgs, props.type);
|
|
345
|
-
|
|
244
|
+
emit("contextmenu", e);
|
|
346
245
|
}
|
|
347
246
|
},
|
|
348
|
-
onDblclick
|
|
247
|
+
onDblclick: (e) => {
|
|
248
|
+
emit("dblClick", e);
|
|
249
|
+
},
|
|
349
250
|
onClick: (e) => {
|
|
350
251
|
var _a2, _b2;
|
|
351
252
|
(_b2 = (_a2 = tableContext.props) == null ? void 0 : _a2.onCellClick) == null ? void 0 : _b2.call(_a2, e, cellRenderArgs);
|
|
352
|
-
if ((
|
|
353
|
-
|
|
354
|
-
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
355
|
-
const is = now - lastClickTime < 200;
|
|
356
|
-
lastClickTime = now;
|
|
357
|
-
return is;
|
|
358
|
-
})()) {
|
|
359
|
-
onDblclick();
|
|
253
|
+
if (hasSupportedDblclick()) {
|
|
254
|
+
emit("dblclick", e);
|
|
360
255
|
e.preventDefault();
|
|
361
256
|
return;
|
|
362
257
|
}
|
|
363
|
-
emit("click", e
|
|
364
|
-
editableTrigger.includes("click") && openEditor();
|
|
365
|
-
},
|
|
366
|
-
onMousedown: (e) => {
|
|
367
|
-
emit("mousedown", e, cellPosition);
|
|
368
|
-
},
|
|
369
|
-
onMousemove: (e) => {
|
|
370
|
-
emit("mousemove", e, cellPosition);
|
|
371
|
-
},
|
|
372
|
-
onKeydown: (e) => {
|
|
373
|
-
emit("keydown", e, { cellPosition, isEditing });
|
|
258
|
+
emit("click", e);
|
|
374
259
|
},
|
|
375
260
|
"data-level": level,
|
|
376
261
|
"aria-selected": "true"
|
|
@@ -385,26 +270,11 @@ const BodyCell = (props, { slots, emit }) => {
|
|
|
385
270
|
},
|
|
386
271
|
{ label: () => bodyCell }
|
|
387
272
|
) : null,
|
|
388
|
-
renderCellVNode
|
|
389
|
-
autoHeight && editInputRender ? createVNode(
|
|
390
|
-
"label",
|
|
391
|
-
{
|
|
392
|
-
class: `${prefixCls}-cell-edit-wrapper`,
|
|
393
|
-
onMousedown: (e) => e.stopPropagation()
|
|
394
|
-
},
|
|
395
|
-
[withDirectives(editInputRender, [[cellResize, cellResizeValue]])]
|
|
396
|
-
) : editInputRender ? createVNode(
|
|
397
|
-
"label",
|
|
398
|
-
{
|
|
399
|
-
class: `${prefixCls}-cell-edit-wrapper`,
|
|
400
|
-
onMousedown: (e) => e.stopPropagation()
|
|
401
|
-
},
|
|
402
|
-
[editInputRender]
|
|
403
|
-
) : null
|
|
273
|
+
renderCellVNode
|
|
404
274
|
]
|
|
405
275
|
);
|
|
406
276
|
};
|
|
407
277
|
BodyCell.props = cellProps;
|
|
408
278
|
|
|
409
279
|
export { BodyCell as default };
|
|
410
|
-
//# sourceMappingURL=
|
|
280
|
+
//# sourceMappingURL=BodyTextCell.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BodyTextCell.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyTextCell.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-09 11:37:05\n * @LastEditors: shen\n * @LastEditTime: 2025-12-02 17:15:26\n * @Description:\n */\nimport type { RangeCell } from '../../hooks/RangeInterface'\nimport type { PropType, ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { FinallyColumnType, RowType } from '../interface'\n\nimport { withDirectives, createVNode, mergeProps, cloneVNode } from 'vue'\nimport { Badge, Tag } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { isValidElement, ensureValidVNode } from '../../utils/util'\nimport { isEventSupported } from '../../utils/events'\nimport { isIOSUserAgent } from '../../utils/browser'\nimport { get, isObject, runFunction } from '@pro-design-vue/utils'\nimport { cellResize } from '@pro-design-vue/directives'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport RowHandler from '../Drag/RowHandler.vue'\nimport BodyCellTooltip from './BodyCellTooltip'\n\nconst cellProps = {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n calMaxHeight: Function,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCellLeave: Function,\n onClick: Function as PropType<(e: MouseEvent, cellPosition: RangeCell) => void>,\n}\n\ntype CellProps = Partial<ExtractPropTypes<typeof cellProps>>\nlet lastClickTime = 0\n\nconst hasSupportedDblclick = () => {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) return false\n const now = new Date().getTime()\n const is = now - lastClickTime < 200\n lastClickTime = now\n return is\n}\n\nconst ValueStatusEnum = {\n success: '#03bf64',\n processing: '#315efb',\n error: '#e8353e',\n warning: '#eb8903',\n}\n\nconst BodyCell: FunctionalComponent<CellProps> = (props, { slots, emit }) => {\n const { table } = useProConfigInject()\n const tableSlotsContext = useInjectSlots()\n const tableContext = useInjectTable()\n const { onBodyCellContextmenu } = useInjectBody()\n const level = useInjectLevel()\n const { prefixCls, column, wrapText, rowKey, item, rowIndex, hasAppendNode, tooltipOpen } = props\n const columnKey = column!.columnKey\n const valueEnum = runFunction(column?.valueEnum, props.item)\n const rowDrag =\n typeof column!.rowDrag == 'function'\n ? column!.rowDrag({ record: item, column: column!.originColumn! })\n : !!column!.rowDrag\n const isRowDrag = column!.rowDrag\n\n const sorterState = tableContext.sorterStates.value.find(({ key }) => key === columnKey)\n const sorterOrder = sorterState ? sorterState.sortOrder : null\n const sorterInfo = { columnKey, sorterState, sorterOrder }\n const key = `${props.rowKey} ${columnKey}`\n const value = column!.dataIndex\n ? column!.renderText\n ? column!.renderText(get(item, column!.dataIndex), item, rowIndex!)\n : get(item, column!.dataIndex)\n : undefined\n const valueStatus = runFunction(column?.valueStatus, value, props.item, valueEnum?.[value])\n const recordIndexs = tableContext.getIndexsByKey(rowKey!)\n\n const cellInnerClass = { [`${prefixCls}-cell-inner`]: true }\n const cellContentClass = {\n [`${prefixCls}-cell-content`]: true,\n [`${prefixCls}-cell-wrap-text`]: column!.wrapText === undefined ? wrapText : column!.wrapText,\n [`${prefixCls}-cell-text-ellipsis`]: !!column!.ellipsis,\n }\n\n const cellContentStyle = {\n textAlign: `${column!.align}`,\n color: valueStatus ? ValueStatusEnum[valueStatus] || valueStatus : undefined,\n }\n\n if (isObject(column!.ellipsis) && column!.ellipsis.line! > 1) {\n cellContentStyle['-webkit-box-orient'] = 'vertical'\n cellContentStyle['-webkit-line-clamp'] = column!.ellipsis.line!\n cellContentStyle['white-space'] = 'normal'\n cellContentStyle['display'] = '-webkit-box'\n cellContentStyle['padding'] = '0 16px'\n }\n\n const cellRender = tableContext.allCellProps.value?.[rowKey!]?.[column!.columnKey] || {}\n const cellProps: any = cellRender.props || {}\n const cellRowSpan = cellProps.rowSpan!\n\n const cellClass = {\n [`${prefixCls}-cell`]: true,\n [`${prefixCls}-first-cell`]: column!.columnIndex === 0,\n [`${prefixCls}-body-cell`]: true,\n [`${prefixCls}-cell-multi`]: cellRowSpan > 1,\n [`${prefixCls}-cell-hidden`]: cellRowSpan === 0,\n [`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,\n [`${prefixCls}-with-append`]: hasAppendNode,\n }\n\n const cellRenderArgs: any = {\n record: item,\n column: column!.originColumn!,\n text: value,\n value,\n index: rowIndex!,\n recordIndexs: tableContext.getIndexsByKey(rowKey!),\n key,\n valueStatus,\n cancelEditable: tableContext.cancelEditable,\n startEditable: tableContext.startEditable,\n saveEditable: tableContext.saveEditable,\n isEditable: tableContext.isEditable,\n }\n\n let bodyCell: VNode[] = (recordIndexs && tableSlotsContext.bodyCell?.(cellRenderArgs)) || []\n\n const emptyText =\n tableContext.props.columnEmptyText !== false\n ? (tableContext.props.columnEmptyText ?? table?.value?.columnEmptyText ?? '-')\n : ''\n\n if (!ensureValidVNode(bodyCell)) {\n let cellValue\n if (cellRender.children) {\n cellValue = cellRender.children\n } else if (valueEnum) {\n const option = valueEnum[value]\n if (option && option.text) {\n if (option.status) {\n cellValue = createVNode(Badge, {\n status: option.status,\n text: option.text,\n })\n } else if (option.color) {\n cellValue = createVNode(\n Tag,\n {\n color: option.color,\n bordered: false,\n },\n () => option.text,\n )\n } else {\n cellValue = option.text\n }\n } else {\n cellValue = value === null || value === undefined || value === '' ? emptyText : value\n }\n } else {\n cellValue = value === null || value === undefined || value === '' ? emptyText : value\n }\n bodyCell = [\n (typeof cellValue === 'object' && isValidElement(cellValue)) || typeof cellValue !== 'object'\n ? cellValue\n : null,\n ]\n }\n\n const cellResizeValue = {\n resizeObserver: props.resizeObserver,\n calMaxHeight: props.calMaxHeight,\n }\n\n const tooltip = column!.tooltip\n const autoHeight = props.height === undefined && cellRowSpan === 1 && column?.autoHeight\n const altTitle =\n !column!.showTitle || (typeof value !== 'string' && typeof value !== 'number')\n ? undefined\n : value\n const tooltipStatus = !!tooltip && tooltipOpen\n\n const cellKeyProps = tableContext.props.ignoreCellKey ? {} : { key: key }\n\n let cellVNode = createVNode(\n 'div',\n {\n class: cellInnerClass,\n style: cellProps?.style?.height ? '' : `height: ${props.height}px`,\n 'data-cell-auto': autoHeight,\n },\n [\n createVNode(\n 'div',\n mergeProps(\n {\n class: cellContentClass,\n style: cellContentStyle,\n title: altTitle,\n },\n cellKeyProps,\n ),\n [hasAppendNode ? slots.appendNode?.() : null, bodyCell],\n ),\n ],\n )\n cellVNode = autoHeight ? withDirectives(cellVNode, [[cellResize, cellResizeValue]]) : cellVNode\n let renderCellVNode: any = null\n let showTooltip = tooltipStatus\n if (tooltipStatus) {\n const tooltipProps = { ...(column!.tooltip === true ? {} : column!.tooltip) } as any\n if (tooltipProps.title) {\n tooltipProps.title = tooltipProps.title(cellRenderArgs)\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n } else {\n tooltipProps.title = value\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n }\n\n renderCellVNode = createVNode(\n BodyCellTooltip,\n {\n getPopupContainer: props.getPopupContainer,\n align: { offset: [0, 13] },\n tooltipProps,\n open: showTooltip,\n allowEnter: tooltipProps?.allowEnter,\n // shouldOpen:\n // \t!tooltipProps?.shouldOpen ||\n // \t(isEllipsis => {\n // \t\treturn tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n // \t}),\n shouldOpen: (isEllipsis) => {\n return tooltipProps?.shouldOpen\n ? tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n : isEllipsis\n },\n onCellLeave: () => {\n emit('cellLeave')\n },\n },\n {\n default: () => [\n false !== tooltipProps.allowEnter\n ? cellVNode\n : cloneVNode(cellVNode, {\n onMouseleave: () => {\n emit('cellLeave')\n },\n }),\n ],\n title: () => tableSlotsContext.tooltipTitle?.(cellRenderArgs),\n },\n )\n } else {\n renderCellVNode = cellVNode\n }\n\n return createVNode(\n 'div',\n mergeProps(cellProps, {\n onMouseleave: () => {\n showTooltip || emit('cellLeave')\n },\n tabindex: '-1',\n role: 'cell',\n 'data-column-key': columnKey,\n class: cellClass,\n onContextmenu: (e) => {\n if (tableContext.props.hasContextmenuPopup && 0 === e.button && e.ctrlKey) {\n e.preventDefault()\n } else {\n onBodyCellContextmenu(e, cellRenderArgs, props.type!)\n emit('contextmenu', e)\n }\n },\n onDblclick: (e: MouseEvent) => {\n emit('dblClick', e)\n },\n onClick: (e: MouseEvent) => {\n tableContext.props?.onCellClick?.(e, cellRenderArgs)\n if (hasSupportedDblclick()) {\n emit('dblclick', e)\n e.preventDefault()\n return\n }\n emit('click', e)\n },\n 'data-level': level,\n 'aria-selected': 'true',\n }),\n [\n isRowDrag\n ? createVNode(\n RowHandler,\n {\n disabled: !rowDrag,\n columnKey,\n column: column!.originColumn,\n },\n { label: () => bodyCell },\n )\n : null,\n renderCellVNode,\n ],\n )\n}\n\nBodyCell.props = cellProps\nexport default BodyCell\n"],"names":["key","cellProps","_a","_b"],"mappings":";;;;;;;;;;;;;;;;;AA0BA,MAAM,SAAA,GAAY;AAAA,EAChB,SAAA,EAAW,MAAA;AAAA,EACX,QAAA,EAAU,EAAE,IAAA,EAAM,MAAA,EAA4B,UAAU,IAAA,EAAK;AAAA,EAC7D,eAAA,EAAiB,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAU,IAAA,EAAK;AAAA,EAChD,QAAQ,EAAE,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA,EAAE;AAAA,EACjC,QAAQ,EAAE,IAAA,EAAM,QAAuC,OAAA,EAAS,OAAO,EAAC,CAAA,EAAG;AAAA,EAC3E,MAAM,EAAE,IAAA,EAAM,QAAyB,OAAA,EAAS,OAAO,EAAC,CAAA,EAAG;AAAA,EAC3D,QAAA,EAAU,EAAE,IAAA,EAAM,OAAA,EAA8B,SAAS,KAAA,EAAM;AAAA,EAC/D,IAAA,EAAM,EAAE,IAAA,EAAM,MAAA,EAA4B;AAAA,EAC1C,MAAA,EAAQ,MAAA;AAAA,EACR,aAAA,EAAe,OAAA;AAAA,EACf,cAAA,EAAgB,EAAE,IAAA,EAAM,MAAA,EAAmC;AAAA,EAC3D,YAAA,EAAc,QAAA;AAAA,EACd,WAAA,EAAa,OAAA;AAAA,EACb,iBAAA,EAAmB,QAAA;AAAA,EACnB,WAAA,EAAa,QAAA;AAAA,EACb,OAAA,EAAS;AACX,CAAA;AAGA,IAAI,aAAA,GAAgB,CAAA;AAEpB,MAAM,uBAAuB,MAAM;AACjC,EAAA,IAAI,CAAC,cAAA,EAAe,IAAK,gBAAA,CAAiB,UAAU,GAAG,OAAO,KAAA;AAC9D,EAAA,MAAM,GAAA,GAAA,iBAAM,IAAI,IAAA,EAAK,EAAE,OAAA,EAAQ;AAC/B,EAAA,MAAM,EAAA,GAAK,MAAM,aAAA,GAAgB,GAAA;AACjC,EAAA,aAAA,GAAgB,GAAA;AAChB,EAAA,OAAO,EAAA;AACT,CAAA;AAEA,MAAM,eAAA,GAAkB;AAAA,EACtB,OAAA,EAAS,SAAA;AAAA,EACT,UAAA,EAAY,SAAA;AAAA,EACZ,KAAA,EAAO,SAAA;AAAA,EACP,OAAA,EAAS;AACX,CAAA;AAEA,MAAM,WAA2C,CAAC,KAAA,EAAO,EAAE,KAAA,EAAO,MAAK,KAAM;AA/D7E,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAgEE,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,kBAAA,EAAmB;AACrC,EAAA,MAAM,oBAAoB,cAAA,EAAe;AACzC,EAAA,MAAM,eAAe,cAAA,EAAe;AACpC,EAAA,MAAM,EAAE,qBAAA,EAAsB,GAAI,aAAA,EAAc;AAChD,EAAA,MAAM,QAAQ,cAAA,EAAe;AAC7B,EAAA,MAAM,EAAE,WAAW,MAAA,EAAQ,QAAA,EAAU,QAAQ,IAAA,EAAM,QAAA,EAAU,aAAA,EAAe,WAAA,EAAY,GAAI,KAAA;AAC5F,EAAA,MAAM,YAAY,MAAA,CAAQ,SAAA;AAC1B,EAAA,MAAM,SAAA,GAAY,WAAA,CAAY,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,SAAA,EAAW,MAAM,IAAI,CAAA;AAC3D,EAAA,MAAM,UACJ,OAAO,MAAA,CAAQ,OAAA,IAAW,UAAA,GACtB,OAAQ,OAAA,CAAQ,EAAE,MAAA,EAAQ,IAAA,EAAM,QAAQ,MAAA,CAAQ,YAAA,EAAe,CAAA,GAC/D,CAAC,CAAC,MAAA,CAAQ,OAAA;AAChB,EAAA,MAAM,YAAY,MAAA,CAAQ,OAAA;AAE1B,EAAA,MAAM,WAAA,GAAc,YAAA,CAAa,YAAA,CAAa,KAAA,CAAM,IAAA,CAAK,CAAC,EAAE,GAAA,EAAAA,IAAAA,EAAI,KAAMA,IAAAA,KAAQ,SAAS,CAAA;AACvF,EAAA,MAAM,WAAA,GAAc,WAAA,GAAc,WAAA,CAAY,SAAA,GAAY,IAAA;AAC1D,EAAA,MAAM,UAAA,GAAa,EAA0B,WAAA,EAAY;AACzD,EAAA,MAAM,GAAA,GAAM,CAAA,EAAG,KAAA,CAAM,MAAM,IAAI,SAAS,CAAA,CAAA;AACxC,EAAA,MAAM,QAAQ,MAAA,CAAQ,SAAA,GAClB,OAAQ,UAAA,GACN,MAAA,CAAQ,WAAW,GAAA,CAAI,IAAA,EAAM,OAAQ,SAAS,CAAA,EAAG,MAAM,QAAS,CAAA,GAChE,IAAI,IAAA,EAAM,MAAA,CAAQ,SAAS,CAAA,GAC7B,MAAA;AACJ,EAAA,MAAM,WAAA,GAAc,YAAY,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,WAAA,EAAa,OAAO,KAAA,CAAM,IAAA,EAAM,uCAAY,KAAA,CAAM,CAAA;AAC1F,EAAA,MAAM,YAAA,GAAe,YAAA,CAAa,cAAA,CAAe,MAAO,CAAA;AAExD,EAAA,MAAM,iBAAiB,EAAE,CAAC,GAAG,SAAS,CAAA,WAAA,CAAa,GAAG,IAAA,EAAK;AAC3D,EAAA,MAAM,gBAAA,GAAmB;AAAA,IACvB,CAAC,CAAA,EAAG,SAAS,CAAA,aAAA,CAAe,GAAG,IAAA;AAAA,IAC/B,CAAC,GAAG,SAAS,CAAA,eAAA,CAAiB,GAAG,MAAA,CAAQ,QAAA,KAAa,MAAA,GAAY,QAAA,GAAW,MAAA,CAAQ,QAAA;AAAA,IACrF,CAAC,CAAA,EAAG,SAAS,qBAAqB,GAAG,CAAC,CAAC,MAAA,CAAQ;AAAA,GACjD;AAEA,EAAA,MAAM,gBAAA,GAAmB;AAAA,IACvB,SAAA,EAAW,CAAA,EAAG,MAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,IAC3B,KAAA,EAAO,WAAA,GAAc,eAAA,CAAgB,WAAW,KAAK,WAAA,GAAc;AAAA,GACrE;AAEA,EAAA,IAAI,SAAS,MAAA,CAAQ,QAAQ,KAAK,MAAA,CAAQ,QAAA,CAAS,OAAQ,CAAA,EAAG;AAC5D,IAAA,gBAAA,CAAiB,oBAAoB,CAAA,GAAI,UAAA;AACzC,IAAA,gBAAA,CAAiB,oBAAoB,CAAA,GAAI,MAAA,CAAQ,QAAA,CAAS,IAAA;AAC1D,IAAA,gBAAA,CAAiB,aAAa,CAAA,GAAI,QAAA;AAClC,IAAA,gBAAA,CAAiB,SAAS,CAAA,GAAI,aAAA;AAC9B,IAAA,gBAAA,CAAiB,SAAS,CAAA,GAAI,QAAA;AAAA,EAChC;AAEA,EAAA,MAAM,UAAA,GAAA,CAAA,CAAa,wBAAa,YAAA,CAAa,KAAA,KAA1B,mBAAkC,MAAA,CAAA,KAAlC,IAAA,GAAA,MAAA,GAAA,EAAA,CAA6C,MAAA,CAAQ,SAAA,CAAA,KAAc,EAAC;AACvF,EAAA,MAAMC,UAAAA,GAAiB,UAAA,CAAW,KAAA,IAAS,EAAC;AAC5C,EAAA,MAAM,cAAcA,UAAAA,CAAU,OAAA;AAE9B,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,CAAC,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,GAAG,IAAA;AAAA,IACvB,CAAC,CAAA,EAAG,SAAS,CAAA,WAAA,CAAa,GAAG,OAAQ,WAAA,KAAgB,CAAA;AAAA,IACrD,CAAC,CAAA,EAAG,SAAS,CAAA,UAAA,CAAY,GAAG,IAAA;AAAA,IAC5B,CAAC,CAAA,EAAG,SAAS,CAAA,WAAA,CAAa,GAAG,WAAA,GAAc,CAAA;AAAA,IAC3C,CAAC,CAAA,EAAG,SAAS,CAAA,YAAA,CAAc,GAAG,WAAA,KAAgB,CAAA;AAAA,IAC9C,CAAC,CAAA,EAAG,SAAS,CAAA,YAAA,CAAc,GAAG,UAAA,CAAW,WAAA;AAAA,IACzC,CAAC,CAAA,EAAG,SAAS,CAAA,YAAA,CAAc,GAAG;AAAA,GAChC;AAEA,EAAA,MAAM,cAAA,GAAsB;AAAA,IAC1B,MAAA,EAAQ,IAAA;AAAA,IACR,QAAQ,MAAA,CAAQ,YAAA;AAAA,IAChB,IAAA,EAAM,KAAA;AAAA,IACN,KAAA;AAAA,IACA,KAAA,EAAO,QAAA;AAAA,IACP,YAAA,EAAc,YAAA,CAAa,cAAA,CAAe,MAAO,CAAA;AAAA,IACjD,GAAA;AAAA,IACA,WAAA;AAAA,IACA,gBAAgB,YAAA,CAAa,cAAA;AAAA,IAC7B,eAAe,YAAA,CAAa,aAAA;AAAA,IAC5B,cAAc,YAAA,CAAa,YAAA;AAAA,IAC3B,YAAY,YAAA,CAAa;AAAA,GAC3B;AAEA,EAAA,IAAI,WAAqB,YAAA,KAAA,CAAgB,EAAA,GAAA,iBAAA,CAAkB,QAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,iBAAA,EAA6B,oBAAoB,EAAC;AAE3F,EAAA,MAAM,SAAA,GACJ,YAAA,CAAa,KAAA,CAAM,eAAA,KAAoB,SAClC,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,CAAa,KAAA,CAAM,eAAA,KAAnB,IAAA,GAAA,EAAA,GAAA,CAAsC,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAA,KAAP,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,eAAA,KAApD,YAAuE,GAAA,GACxE,EAAA;AAEN,EAAA,IAAI,CAAC,gBAAA,CAAiB,QAAQ,CAAA,EAAG;AAC/B,IAAA,IAAI,SAAA;AACJ,IAAA,IAAI,WAAW,QAAA,EAAU;AACvB,MAAA,SAAA,GAAY,UAAA,CAAW,QAAA;AAAA,IACzB,WAAW,SAAA,EAAW;AACpB,MAAA,MAAM,MAAA,GAAS,UAAU,KAAK,CAAA;AAC9B,MAAA,IAAI,MAAA,IAAU,OAAO,IAAA,EAAM;AACzB,QAAA,IAAI,OAAO,MAAA,EAAQ;AACjB,UAAA,SAAA,GAAY,YAAY,KAAA,EAAO;AAAA,YAC7B,QAAQ,MAAA,CAAO,MAAA;AAAA,YACf,MAAM,MAAA,CAAO;AAAA,WACd,CAAA;AAAA,QACH,CAAA,MAAA,IAAW,OAAO,KAAA,EAAO;AACvB,UAAA,SAAA,GAAY,WAAA;AAAA,YACV,GAAA;AAAA,YACA;AAAA,cACE,OAAO,MAAA,CAAO,KAAA;AAAA,cACd,QAAA,EAAU;AAAA,aACZ;AAAA,YACA,MAAM,MAAA,CAAO;AAAA,WACf;AAAA,QACF,CAAA,MAAO;AACL,UAAA,SAAA,GAAY,MAAA,CAAO,IAAA;AAAA,QACrB;AAAA,MACF,CAAA,MAAO;AACL,QAAA,SAAA,GAAY,UAAU,IAAA,IAAQ,KAAA,KAAU,MAAA,IAAa,KAAA,KAAU,KAAK,SAAA,GAAY,KAAA;AAAA,MAClF;AAAA,IACF,CAAA,MAAO;AACL,MAAA,SAAA,GAAY,UAAU,IAAA,IAAQ,KAAA,KAAU,MAAA,IAAa,KAAA,KAAU,KAAK,SAAA,GAAY,KAAA;AAAA,IAClF;AACA,IAAA,QAAA,GAAW;AAAA,MACR,OAAO,cAAc,QAAA,IAAY,cAAA,CAAe,SAAS,CAAA,IAAM,OAAO,SAAA,KAAc,QAAA,GACjF,SAAA,GACA;AAAA,KACN;AAAA,EACF;AAEA,EAAA,MAAM,eAAA,GAAkB;AAAA,IACtB,gBAAgB,KAAA,CAAM,cAAA;AAAA,IACtB,cAAc,KAAA,CAAM;AAAA,GACtB;AAEA,EAAA,MAAM,UAAU,MAAA,CAAQ,OAAA;AACxB,EAAA,MAAM,aAAa,KAAA,CAAM,MAAA,KAAW,MAAA,IAAa,WAAA,KAAgB,MAAK,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,UAAA,CAAA;AAC9E,EAAA,MAAM,QAAA,GACJ,CAAC,MAAA,CAAQ,SAAA,IAAc,OAAO,UAAU,QAAA,IAAY,OAAO,KAAA,KAAU,QAAA,GACjE,MAAA,GACA,KAAA;AACN,EAAA,MAAM,aAAA,GAAgB,CAAC,CAAC,OAAA,IAAW,WAAA;AAEnC,EAAA,MAAM,eAAe,YAAA,CAAa,KAAA,CAAM,gBAAgB,EAAC,GAAI,EAAE,GAAA,EAAS;AAExE,EAAA,IAAI,SAAA,GAAY,WAAA;AAAA,IACd,KAAA;AAAA,IACA;AAAA,MACE,KAAA,EAAO,cAAA;AAAA,MACP,KAAA,EAAA,CAAA,CAAO,EAAA,GAAAA,UAAAA,IAAA,IAAA,GAAA,MAAA,GAAAA,UAAAA,CAAW,KAAA,KAAX,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,MAAA,IAAS,EAAA,GAAK,CAAA,QAAA,EAAW,KAAA,CAAM,MAAM,CAAA,EAAA,CAAA;AAAA,MAC9D,gBAAA,EAAkB;AAAA,KACpB;AAAA,IACA;AAAA,MACE,WAAA;AAAA,QACE,KAAA;AAAA,QACA,UAAA;AAAA,UACE;AAAA,YACE,KAAA,EAAO,gBAAA;AAAA,YACP,KAAA,EAAO,gBAAA;AAAA,YACP,KAAA,EAAO;AAAA,WACT;AAAA,UACA;AAAA,SACF;AAAA,QACA,CAAC,aAAA,GAAA,CAAgB,EAAA,GAAA,KAAA,CAAM,UAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,GAAuB,MAAM,QAAQ;AAAA;AACxD;AACF,GACF;AACA,EAAA,SAAA,GAAY,UAAA,GAAa,eAAe,SAAA,EAAW,CAAC,CAAC,UAAA,EAAY,eAAe,CAAC,CAAC,CAAA,GAAI,SAAA;AACtF,EAAA,IAAI,eAAA,GAAuB,IAAA;AAC3B,EAAA,IAAI,WAAA,GAAc,aAAA;AAClB,EAAA,IAAI,aAAA,EAAe;AACjB,IAAA,MAAM,YAAA,GAAe,EAAE,GAAI,MAAA,CAAQ,YAAY,IAAA,GAAO,EAAC,GAAI,MAAA,CAAQ,OAAA,EAAS;AAC5E,IAAA,IAAI,aAAa,KAAA,EAAO;AACtB,MAAA,YAAA,CAAa,KAAA,GAAQ,YAAA,CAAa,KAAA,CAAM,cAAc,CAAA;AACtD,MAAA,WAAA,GAAc,EAAE,CAAC,YAAA,CAAa,KAAA,IAAS,aAAa,KAAA,KAAU,CAAA,CAAA;AAAA,IAChE,CAAA,MAAO;AACL,MAAA,YAAA,CAAa,KAAA,GAAQ,KAAA;AACrB,MAAA,WAAA,GAAc,EAAE,CAAC,YAAA,CAAa,KAAA,IAAS,aAAa,KAAA,KAAU,CAAA,CAAA;AAAA,IAChE;AAEA,IAAA,eAAA,GAAkB,WAAA;AAAA,MAChB,eAAA;AAAA,MACA;AAAA,QACE,mBAAmB,KAAA,CAAM,iBAAA;AAAA,QACzB,OAAO,EAAE,MAAA,EAAQ,CAAC,CAAA,EAAG,EAAE,CAAA,EAAE;AAAA,QACzB,YAAA;AAAA,QACA,IAAA,EAAM,WAAA;AAAA,QACN,YAAY,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAM1B,UAAA,EAAY,CAAC,UAAA,KAAe;AAtPpC,UAAA,IAAAC,GAAAA;AAuPU,UAAA,OAAA,CAAO,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,eACjBA,GAAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,eAAd,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAA,IAAA,CAAA,YAAA,EAA2B,UAAA,EAAY,cAAA,CAAA,GACvC,UAAA;AAAA,QACN,CAAA;AAAA,QACA,aAAa,MAAM;AACjB,UAAA,IAAA,CAAK,WAAW,CAAA;AAAA,QAClB;AAAA,OACF;AAAA,MACA;AAAA,QACE,SAAS,MAAM;AAAA,UACb,KAAA,KAAU,YAAA,CAAa,UAAA,GACnB,SAAA,GACA,WAAW,SAAA,EAAW;AAAA,YACpB,cAAc,MAAM;AAClB,cAAA,IAAA,CAAK,WAAW,CAAA;AAAA,YAClB;AAAA,WACD;AAAA,SACP;AAAA,QACA,OAAO,MAAG;AAzQlB,UAAA,IAAAA,GAAAA;AAyQqB,UAAA,OAAA,CAAAA,GAAAA,GAAA,iBAAA,CAAkB,YAAA,KAAlB,IAAA,GAAA,MAAA,GAAAA,IAAA,IAAA,CAAA,iBAAA,EAAiC,cAAA,CAAA;AAAA,QAAA;AAAA;AAChD,KACF;AAAA,EACF,CAAA,MAAO;AACL,IAAA,eAAA,GAAkB,SAAA;AAAA,EACpB;AAEA,EAAA,OAAO,WAAA;AAAA,IACL,KAAA;AAAA,IACA,WAAWD,UAAAA,EAAW;AAAA,MACpB,cAAc,MAAM;AAClB,QAAA,WAAA,IAAe,KAAK,WAAW,CAAA;AAAA,MACjC,CAAA;AAAA,MACA,QAAA,EAAU,IAAA;AAAA,MACV,IAAA,EAAM,MAAA;AAAA,MACN,iBAAA,EAAmB,SAAA;AAAA,MACnB,KAAA,EAAO,SAAA;AAAA,MACP,aAAA,EAAe,CAAC,CAAA,KAAM;AACpB,QAAA,IAAI,aAAa,KAAA,CAAM,mBAAA,IAAuB,MAAM,CAAA,CAAE,MAAA,IAAU,EAAE,OAAA,EAAS;AACzE,UAAA,CAAA,CAAE,cAAA,EAAe;AAAA,QACnB,CAAA,MAAO;AACL,UAAA,qBAAA,CAAsB,CAAA,EAAG,cAAA,EAAgB,KAAA,CAAM,IAAK,CAAA;AACpD,UAAA,IAAA,CAAK,eAAe,CAAC,CAAA;AAAA,QACvB;AAAA,MACF,CAAA;AAAA,MACA,UAAA,EAAY,CAAC,CAAA,KAAkB;AAC7B,QAAA,IAAA,CAAK,YAAY,CAAC,CAAA;AAAA,MACpB,CAAA;AAAA,MACA,OAAA,EAAS,CAAC,CAAA,KAAkB;AArSlC,QAAA,IAAAC,GAAAA,EAAAC,GAAAA;AAsSQ,QAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,YAAA,CAAa,KAAA,KAAb,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAoB,WAAA,KAApB,IAAA,GAAA,MAAA,GAAAC,GAAAA,CAAA,IAAA,CAAAD,GAAAA,EAAkC,CAAA,EAAG,cAAA,CAAA;AACrC,QAAA,IAAI,sBAAqB,EAAG;AAC1B,UAAA,IAAA,CAAK,YAAY,CAAC,CAAA;AAClB,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA;AAAA,QACF;AACA,QAAA,IAAA,CAAK,SAAS,CAAC,CAAA;AAAA,MACjB,CAAA;AAAA,MACA,YAAA,EAAc,KAAA;AAAA,MACd,eAAA,EAAiB;AAAA,KAClB,CAAA;AAAA,IACD;AAAA,MACE,SAAA,GACI,WAAA;AAAA,QACE,UAAA;AAAA,QACA;AAAA,UACE,UAAU,CAAC,OAAA;AAAA,UACX,SAAA;AAAA,UACA,QAAQ,MAAA,CAAQ;AAAA,SAClB;AAAA,QACA,EAAE,KAAA,EAAO,MAAM,QAAA;AAAS,OAC1B,GACA,IAAA;AAAA,MACJ;AAAA;AACF,GACF;AACF;AAEA,QAAA,CAAS,KAAA,GAAQ,SAAA;;;;"}
|