{"version":3,"file":"table-body-row.mjs","sources":["../../../../../packages/components/table/src/table-body-row.tsx"],"sourcesContent":["import { defineComponent, inject, PropType, computed } from 'vue'\nimport { tableToken } from './token'\nimport type { TableRow, FinalTableColumn } from './table'\nimport { getChainValue } from '@element-ultra/utils'\n\nexport default defineComponent({\n  name: 'TableBodyRow',\n  props: {\n    row: {\n      type: Object as PropType<TableRow>,\n      required: true\n    },\n    rowIndex: {\n      type: Number,\n      required: true\n    }\n  },\n  setup(props) {\n    const { ns, columnLayouts, rootProps, getCellStyle } = inject(tableToken)!\n    const rowCellClass = ns.e('row-cell')\n\n    const getNodes = (\n      column: FinalTableColumn,\n      index: number,\n      type: 'left' | 'center' | 'right'\n    ) => {\n      const { row } = props\n      const val = getChainValue(row, column.key)\n      const content = column.render!({\n        val,\n        v: val,\n        index,\n        row\n      })\n\n      return (\n        <td\n          class={[\n            rowCellClass,\n            ns.em('row-cell', type),\n            ns.is('last', column.typeLast),\n            ns.is('first', column.typeFirst)\n          ]}\n          key={type + '-' + column.key}\n          style={getCellStyle(column, column.fixed)}\n        >\n          {content}\n        </td>\n      )\n    }\n\n    const getRowClass = computed(() => {\n      const { rowClass } = rootProps\n      if (typeof rowClass === 'function') {\n        return () => rowClass(props.row)\n      }\n      return () => rowClass\n    })\n\n    return () => {\n      const layouts = columnLayouts.value\n\n      const { rowIndex } = props\n\n      const keys = Object.keys(columnLayouts.value) as [\n        'left',\n        'center',\n        'right'\n      ]\n\n      let tds: JSX.Element[] = []\n\n      keys.forEach(key => {\n        layouts[key].forEach(column => {\n          tds.push(getNodes(column, rowIndex, key))\n        })\n      })\n\n      return (\n        <tr tabindex='0' class={[ns.e('row'), getRowClass.value()]}>\n          {tds}\n        </tr>\n      )\n    }\n  }\n})\n"],"names":["name","props","row","type","Object","required","rowIndex","Number","setup","ns","columnLayouts","rootProps","getCellStyle","inject","tableToken","rowCellClass","e","getNodes","column","index","val","getChainValue","key","content","render","v","_createVNode","em","is","typeLast","typeFirst","fixed","getRowClass","computed","rowClass","layouts","value","keys","tds","forEach","push"],"mappings":"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"}