{"version":3,"file":"table-foot.vue2.cjs","sources":["../../../components/table/table-foot.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\n\nimport TableFootCell from './table-foot-cell.vue'\nimport TableRow from './table-row.vue'\nimport { useNameHelper } from '@vexip-ui/config'\nimport { getLast } from '@vexip-ui/utils'\nimport { TABLE_STORE } from './symbol'\n\nimport type { PropType } from 'vue'\n\ndefineOptions({ name: 'TableFoot' })\n\nconst props = defineProps({\n  fixed: {\n    type: String as PropType<'left' | 'right' | undefined>,\n    default: null,\n  },\n  above: {\n    type: Boolean,\n    default: false,\n  },\n})\n\nconst { state, getters, mutations } = inject(TABLE_STORE)!\n\nconst nh = useNameHelper('table')\n\nconst columns = computed(() => {\n  return props.fixed === 'left'\n    ? state.leftFixedColumns\n    : props.fixed === 'right'\n      ? state.rightFixedColumns\n      : state.normalColumns\n})\nconst summaries = computed(() => (props.above ? state.aboveSummaries : state.belowSummaries))\nconst summaryData = computed(() => {\n  return summaries.value.map(summary => {\n    const key = mutations.buildSummaryKey(summary.key)\n    const row = state.rowMap.get(key) || mutations.createMinRowState(key)\n\n    return { summary, row }\n  })\n})\nconst className = computed(() => {\n  return [nh.be('foot'), nh.bem('foot', props.above ? 'above' : 'below')]\n})\nconst style = computed(() => {\n  const width =\n    props.fixed === 'left'\n      ? getLast(getters.leftFixedWidths)\n      : props.fixed === 'right'\n        ? getLast(getters.rightFixedWidths)\n        : getLast(getters.normalWidths)\n  const padLeft = columns.value[0]?.fixed === 'left' ? state.sidePadding[0] || 0 : 0\n  const padRight = getLast(columns.value)?.fixed === 'right' ? state.sidePadding[1] || 0 : 0\n\n  return {\n    minWidth: width && `${width + padLeft + padRight}px`,\n  }\n})\n</script>\n\n<template>\n  <div :class=\"className\" role=\"rowgroup\" :style=\"style\">\n    <TableRow\n      v-for=\"({ row, summary }, index) in summaryData\"\n      :key=\"row.key\"\n      is-foot\n      :fixed=\"fixed\"\n      :row=\"row\"\n      :aria-rowindex=\"index\"\n    >\n      <TableFootCell\n        v-for=\"(column, colIndex) in columns\"\n        :key=\"colIndex\"\n        :row=\"row\"\n        :column=\"column\"\n        :col-index=\"colIndex\"\n        :summary=\"summary\"\n        :summary-index=\"index\"\n        :fixed=\"fixed\"\n        :above=\"above\"\n        :aria-colindex=\"colIndex\"\n      ></TableFootCell>\n    </TableRow>\n  </div>\n</template>\n"],"names":["props","__props","state","getters","mutations","inject","TABLE_STORE","nh","useNameHelper","columns","computed","summaries","summaryData","summary","key","row","className","style","width","getLast","padLeft","_a","padRight","_createElementBlock","_openBlock","_Fragment","index","_createBlock","TableRow","_renderList","column","colIndex","TableFootCell"],"mappings":"yZAaA,MAAMA,EAAQC,EAWR,CAAE,MAAAC,EAAO,QAAAC,EAAS,UAAAC,CAAU,EAAIC,EAAAA,OAAOC,EAAAA,WAAW,EAElDC,EAAKC,gBAAc,OAAO,EAE1BC,EAAUC,EAAAA,SAAS,IAChBV,EAAM,QAAU,OACnBE,EAAM,iBACNF,EAAM,QAAU,QACdE,EAAM,kBACNA,EAAM,aACb,EACKS,EAAYD,WAAS,IAAOV,EAAM,MAAQE,EAAM,eAAiBA,EAAM,cAAe,EACtFU,EAAcF,EAAAA,SAAS,IACpBC,EAAU,MAAM,IAAeE,GAAA,CACpC,MAAMC,EAAMV,EAAU,gBAAgBS,EAAQ,GAAG,EAC3CE,EAAMb,EAAM,OAAO,IAAIY,CAAG,GAAKV,EAAU,kBAAkBU,CAAG,EAE7D,MAAA,CAAE,QAAAD,EAAS,IAAAE,CAAI,CAAA,CACvB,CACF,EACKC,EAAYN,EAAAA,SAAS,IAClB,CAACH,EAAG,GAAG,MAAM,EAAGA,EAAG,IAAI,OAAQP,EAAM,MAAQ,QAAU,OAAO,CAAC,CACvE,EACKiB,EAAQP,EAAAA,SAAS,IAAM,SAC3B,MAAMQ,EACJlB,EAAM,QAAU,OACZmB,UAAQhB,EAAQ,eAAe,EAC/BH,EAAM,QAAU,QACdmB,EAAAA,QAAQhB,EAAQ,gBAAgB,EAChCgB,EAAA,QAAQhB,EAAQ,YAAY,EAC9BiB,IAAUC,EAAAZ,EAAQ,MAAM,CAAC,IAAf,YAAAY,EAAkB,SAAU,QAASnB,EAAM,YAAY,CAAC,GAAK,EACvEoB,IAAWH,EAAAA,EAAAA,QAAQV,EAAQ,KAAK,IAArBU,YAAAA,EAAwB,SAAU,SAAUjB,EAAM,YAAY,CAAC,GAAK,EAE9E,MAAA,CACL,SAAUgB,GAAS,GAAGA,EAAQE,EAAUE,CAAQ,IAClD,CAAA,CACD,8BAICC,EAAA,mBAsBM,MAAA,CAtBA,uBAAOP,EAAS,KAAA,EAAE,KAAK,WAAY,uBAAOC,EAAK,KAAA,CAAA,IACnDO,EAAAA,UAAA,EAAA,EAAAD,qBAoBWE,EAAAA,2BAnB2Bb,EAAW,MAAA,CAAA,CAArC,IAAAG,EAAK,QAAAF,CAAA,EAAWa,mBAD5BC,EAAA,YAoBWC,EAAA,CAlBR,IAAKb,EAAI,IACV,UAAA,GACC,MAAOd,EAAK,MACZ,IAAAc,EACA,gBAAeW,CAAA,qBAGd,IAAqC,EADvCF,EAAAA,UAAA,EAAA,EAAAD,EAWiB,mBAAAE,WAVc,KAAAI,EAAA,WAAApB,EAAA,MAArB,CAAAqB,EAAQC,mBADlBJ,EAAA,YAWiBK,EAAA,CATd,IAAKD,EACL,IAAAhB,EACA,OAAAe,EACA,YAAWC,EACX,QAAAlB,EACA,gBAAea,EACf,MAAOzB,EAAK,MACZ,MAAOA,EAAK,MACZ,gBAAe8B"}