{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n  <div\n    :class=\"`${bem.b()} ${prepareClassNames()}`\"\n    :style=\"{\n      ...prepareStyles(),\n    }\"\n  >\n    <el-form\n      ref=\"elFormRef\"\n      :model=\"{ table: data }\"\n      size=\"small\"\n      hide-required-asterisk\n      scroll-to-error\n      :scroll-into-view-options=\"{ inline: 'center' }\"\n      class=\"ep-form\"\n    >\n      <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n        <el-table-column\n          v-if=\"showSelectionCol\"\n          type=\"selection\"\n          width=\"55\"\n          :align\n          :selectable\n          :reserve-selection=\"reserveSelection\"\n          fixed\n        />\n        <el-table-column\n          v-if=\"showSingleSelectionCol\"\n          width=\"55\"\n          :align\n          :selectable\n          fixed\n        >\n          <template #default=\"scope\">\n            <el-link\n              type=\"primary\"\n              underline=\"never\"\n              style=\"font-size: 12px\"\n              @click=\"emit('single-selection-change', scope.row)\"\n              >{{ t('ep.table.select') }}</el-link\n            >\n          </template>\n        </el-table-column>\n        <el-table-column\n          v-if=\"showIndexCol\"\n          type=\"index\"\n          width=\"56\"\n          :align\n          :label=\"t('ep.table.serialNumber')\"\n          fixed\n          :index=\"indexFormatter\"\n        />\n\n        <el-table-column\n          v-if=\"actionButtons.length\"\n          :label=\"t('ep.table.operation')\"\n          :align\n          fixed\n          :width=\"actionColWidth\"\n        >\n          <template #default=\"scope\">\n            <span :class=\"bem.e('action-buttons')\">\n              <EpButtons\n                :list=\"formatActionButtons(actionButtons, scope)\"\n                type=\"text\"\n              />\n            </span>\n          </template>\n        </el-table-column>\n        <el-table-column\n          v-for=\"(item, index) in columnList\"\n          :key=\"`${item.prop}_${item.type}_${index}`\"\n          v-bind=\"item\"\n        >\n          <template #default=\"scope\">\n            <EpFormItem\n              v-if=\"item.type || item.render\"\n              :form-data=\"scope.row\"\n              :table-scope=\"scope\"\n              v-bind=\"formItemProps(scope, item)\"\n            />\n            <template v-else>\n              {{ scope.row[item.prop] }}\n            </template>\n          </template>\n        </el-table-column>\n        <template v-for=\"name in slots\" #[name]=\"scope\">\n          <slot :name=\"name\" v-bind=\"scope\" />\n        </template>\n      </el-table>\n    </el-form>\n    <el-pagination\n      v-if=\"showPagination\"\n      v-model:current-page=\"pagination.pageNo\"\n      v-model:page-size=\"pagination.pageSize\"\n      :total=\"pagination.total\"\n      v-bind=\"paginationProps\"\n    />\n    <EpCustomColumn\n      v-if=\"customColumnModule\"\n      ref=\"customColumnRef\"\n      :module=\"customColumnModule\"\n      :api=\"customColumnApi\"\n      :save-api=\"customColumnSaveApi\"\n      :show-handler=\"false\"\n    />\n  </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n  tableProps,\n  tableEmits,\n  expandTablePropsKeys,\n  tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n  prepareProps,\n  prepareEvents,\n  prepareClassNames,\n  prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n  name: 'EpTable',\n  inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n  return Object.keys(useSlots())\n  // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n  return {\n    'row-key': props.rowKey || 'id',\n    ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n    // 'tooltip-effect': 'light',\n    size: 'small',\n    data: data.value,\n    ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n  }\n})\nconst {\n  pagination,\n  paginationProps,\n  data,\n  validate,\n  resetFields,\n  clearValidate,\n  clearSelection,\n  getSelectionRows,\n  loading,\n  search,\n  elFormRef,\n  elTableRef,\n  formatActionButtons,\n  customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n  elFormRef,\n  elTableRef,\n  validate,\n  resetFields,\n  clearValidate,\n  clearSelection,\n  getSelectionRows,\n  search,\n  openCustomColumnDialog: () => {\n    customColumnRef.value?.open()\n  },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","getSelectionRows","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","reserveSelection","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":"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"}