{"version":3,"file":"table-body.vue2.mjs","sources":["../../../components/table/table-body.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, inject, toRef } from 'vue'\r\n\r\nimport TableCell from './table-cell.vue'\r\nimport TableRow from './table-row.vue'\r\nimport { useNameHelper } from '@vexip-ui/config'\r\nimport { getLast } from '@vexip-ui/utils'\r\nimport { TABLE_STORE } from './symbol'\r\n\r\nimport type { PropType } from 'vue'\r\n\r\ndefineOptions({ name: 'TableBody' })\r\n\r\nconst props = defineProps({\r\n  fixed: {\r\n    type: String as PropType<'left' | 'right' | undefined>,\r\n    default: null,\r\n  },\r\n})\r\n\r\nconst { state, getters } = inject(TABLE_STORE)!\r\n\r\nconst nh = useNameHelper('table')\r\nconst locale = toRef(state, 'locale')\r\n\r\nconst columns = computed(() => {\r\n  return props.fixed === 'left'\r\n    ? state.leftFixedColumns\r\n    : props.fixed === 'right'\r\n      ? state.rightFixedColumns\r\n      : state.normalColumns\r\n})\r\nconst data = computed(() => (state.virtual ? state.virtualData : getters.processedData))\r\nconst style = computed(() => {\r\n  const width =\r\n    props.fixed === 'left'\r\n      ? getLast(getters.leftFixedWidths)\r\n      : props.fixed === 'right'\r\n        ? getLast(getters.rightFixedWidths)\r\n        : getLast(getters.normalWidths)\r\n  const padLeft = columns.value[0]?.fixed === 'left' ? state.sidePadding[0] || 0 : 0\r\n  const padRight = getLast(columns.value)?.fixed === 'right' ? state.sidePadding[1] || 0 : 0\r\n\r\n  return {\r\n    [nh.cv('expanded-fix-width')]:\r\n      props.fixed === 'right' && width ? `${width + padLeft + padRight}px` : '0px',\r\n    minWidth: width && `${width + padLeft + padRight}px`,\r\n    minHeight: `${state.totalHeight}px`,\r\n  }\r\n})\r\nconst emptyStyle = computed(() => {\r\n  const { rowHeight, rowMinHeight } = state\r\n\r\n  return {\r\n    minHeight: `${rowHeight || rowMinHeight}px`,\r\n  }\r\n})\r\n</script>\r\n\r\n<template>\r\n  <div :class=\"nh.be('body')\" role=\"rowgroup\" :style=\"style\">\r\n    <template v-if=\"data.length\">\r\n      <TableRow\r\n        v-for=\"(row, index) in data\"\r\n        :key=\"index\"\r\n        :row=\"row\"\r\n        :index=\"row.listIndex\"\r\n        :fixed=\"fixed\"\r\n        :aria-rowindex=\"row.index\"\r\n      >\r\n        <TableCell\r\n          v-for=\"(column, colIndex) in columns\"\r\n          :key=\"colIndex\"\r\n          :row=\"row\"\r\n          :row-index=\"row.listIndex\"\r\n          :column=\"column\"\r\n          :col-index=\"colIndex\"\r\n          :fixed=\"fixed\"\r\n          :aria-colindex=\"colIndex\"\r\n        ></TableCell>\r\n      </TableRow>\r\n    </template>\r\n    <div v-else :class=\"nh.be('empty')\" :style=\"emptyStyle\">\r\n      <slot name=\"empty\" :is-fixed=\"!!fixed\">\r\n        <template v-if=\"!fixed\">\r\n          {{ locale.empty }}\r\n        </template>\r\n      </slot>\r\n    </div>\r\n  </div>\r\n</template>\r\n"],"names":["props","__props","state","getters","inject","TABLE_STORE","nh","useNameHelper","locale","toRef","columns","computed","data","style","width","getLast","padLeft","_a","padRight","_b","emptyStyle","rowHeight","rowMinHeight","_createElementBlock","_normalizeClass","_unref","_openBlock","_Fragment","_renderList","row","index","_createBlock","TableRow","column","colIndex","TableCell","_renderSlot","_ctx","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,GAOR,EAAE,OAAAC,GAAO,SAAAC,MAAYC,EAAOC,CAAW,GAEvCC,IAAKC,EAAc,OAAO,GAC1BC,IAASC,EAAMP,GAAO,QAAQ,GAE9BQ,IAAUC,EAAS,MAChBX,EAAM,UAAU,SACnBE,EAAM,mBACNF,EAAM,UAAU,UACdE,EAAM,oBACNA,EAAM,aACb,GACKU,IAAOD,EAAS,MAAOT,EAAM,UAAUA,EAAM,cAAcC,EAAQ,aAAc,GACjFU,IAAQF,EAAS,MAAM;;AAC3B,YAAMG,IACJd,EAAM,UAAU,SACZe,EAAQZ,EAAQ,eAAe,IAC/BH,EAAM,UAAU,UACde,EAAQZ,EAAQ,gBAAgB,IAChCY,EAAQZ,EAAQ,YAAY,GAC9Ba,MAAUC,IAAAP,EAAQ,MAAM,CAAC,MAAf,gBAAAO,EAAkB,WAAU,UAASf,EAAM,YAAY,CAAC,KAAK,GACvEgB,MAAWC,IAAAJ,EAAQL,EAAQ,KAAK,MAArB,gBAAAS,EAAwB,WAAU,WAAUjB,EAAM,YAAY,CAAC,KAAK;AAE9E,aAAA;AAAA,QACL,CAACI,EAAG,GAAG,oBAAoB,CAAC,GAC1BN,EAAM,UAAU,WAAWc,IAAQ,GAAGA,IAAQE,IAAUE,CAAQ,OAAO;AAAA,QACzE,UAAUJ,KAAS,GAAGA,IAAQE,IAAUE,CAAQ;AAAA,QAChD,WAAW,GAAGhB,EAAM,WAAW;AAAA,MACjC;AAAA,IAAA,CACD,GACKkB,IAAaT,EAAS,MAAM;AAC1B,YAAA,EAAE,WAAAU,GAAW,cAAAC,EAAA,IAAiBpB;AAE7B,aAAA;AAAA,QACL,WAAW,GAAGmB,KAAaC,CAAY;AAAA,MACzC;AAAA,IAAA,CACD;2BAICC,EA6BM,OAAA;AAAA,MA7BA,OAAKC,EAAEC,EAAEnB,CAAA,EAAC,GAAE,MAAA,CAAA;AAAA,MAAU,MAAK;AAAA,MAAY,SAAOO,EAAK,KAAA;AAAA,IAAA;MACvCD,EAAA,MAAK,UACnBc,EAAA,EAAA,GAAAH,EAkBWI,GAjBc,EAAA,KAAA,EAAA,GAAAC,EAAAhB,EAAA,OAAf,CAAAiB,GAAKC,YADfC,EAkBWC,GAAA;AAAA,QAhBR,KAAKF;AAAA,QACL,KAAAD;AAAA,QACA,OAAOA,EAAI;AAAA,QACX,OAAO5B,EAAK;AAAA,QACZ,iBAAe4B,EAAI;AAAA,MAAA;mBAGlB,MAAqC;AAAA,WADvCH,EAAA,EAAA,GAAAH,EASaI,GARkB,MAAAC,EAAAlB,EAAA,OAArB,CAAAuB,GAAQC,YADlBH,EASaI,GAAA;AAAA,YAPV,KAAKD;AAAA,YACL,KAAAL;AAAA,YACA,aAAWA,EAAI;AAAA,YACf,QAAAI;AAAA,YACA,aAAWC;AAAA,YACX,OAAOjC,EAAK;AAAA,YACZ,iBAAeiC;AAAA,UAAA;;;4EAItBX,EAMM,OAAA;AAAA;QANO,OAAKC,EAAEC,EAAEnB,CAAA,EAAC,GAAE,OAAA,CAAA;AAAA,QAAY,SAAOc,EAAU,KAAA;AAAA,MAAA;QACpDgB,EAIOC,EAAA,QAAA,SAAA;AAAA,UAJa,WAAYpC,EAAK;AAAA,QAAA,GAArC,MAIO;AAAA,UAHYA,EAAK,0BAAtBsB,EAEWI,GAAA,EAAA,KAAA,KAAA;AAAA,YADNW,EAAAC,EAAA/B,EAAA,MAAO,KAAK,GAAA,CAAA;AAAA;;;;;;"}