{"version":3,"file":"table-foot.vue2.mjs","sources":["../../../components/table/table-foot.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, inject } from 'vue'\r\n\r\nimport TableFootCell from './table-foot-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: 'TableFoot' })\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  above: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n})\r\n\r\nconst { state, getters, mutations } = inject(TABLE_STORE)!\r\n\r\nconst nh = useNameHelper('table')\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 summaries = computed(() => (props.above ? state.aboveSummaries : state.belowSummaries))\r\nconst summaryData = computed(() => {\r\n  return summaries.value.map(summary => {\r\n    const key = mutations.buildSummaryKey(summary.key)\r\n    const row = state.rowMap.get(key) || mutations.createMinRowState(key)\r\n\r\n    return { summary, row }\r\n  })\r\n})\r\nconst className = computed(() => {\r\n  return [nh.be('foot'), nh.bem('foot', props.above ? 'above' : 'below')]\r\n})\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    minWidth: width && `${width + padLeft + padRight}px`,\r\n  }\r\n})\r\n</script>\r\n\r\n<template>\r\n  <div :class=\"className\" role=\"rowgroup\" :style=\"style\">\r\n    <TableRow\r\n      v-for=\"({ row, summary }, index) in summaryData\"\r\n      :key=\"row.key\"\r\n      is-foot\r\n      :fixed=\"fixed\"\r\n      :row=\"row\"\r\n      :aria-rowindex=\"index\"\r\n    >\r\n      <TableFootCell\r\n        v-for=\"(column, colIndex) in columns\"\r\n        :key=\"colIndex\"\r\n        :row=\"row\"\r\n        :column=\"column\"\r\n        :col-index=\"colIndex\"\r\n        :summary=\"summary\"\r\n        :summary-index=\"index\"\r\n        :fixed=\"fixed\"\r\n        :above=\"above\"\r\n        :aria-colindex=\"colIndex\"\r\n      ></TableFootCell>\r\n    </TableRow>\r\n  </div>\r\n</template>\r\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","_b","_createElementBlock","_openBlock","_Fragment","index","_createBlock","TableRow","_renderList","column","colIndex","TableFootCell"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,GAWR,EAAE,OAAAC,GAAO,SAAAC,GAAS,WAAAC,EAAU,IAAIC,EAAOC,CAAW,GAElDC,IAAKC,EAAc,OAAO,GAE1BC,IAAUC,EAAS,MAChBV,EAAM,UAAU,SACnBE,EAAM,mBACNF,EAAM,UAAU,UACdE,EAAM,oBACNA,EAAM,aACb,GACKS,IAAYD,EAAS,MAAOV,EAAM,QAAQE,EAAM,iBAAiBA,EAAM,cAAe,GACtFU,IAAcF,EAAS,MACpBC,EAAU,MAAM,IAAI,CAAWE,MAAA;AACpC,YAAMC,IAAMV,EAAU,gBAAgBS,EAAQ,GAAG,GAC3CE,IAAMb,EAAM,OAAO,IAAIY,CAAG,KAAKV,EAAU,kBAAkBU,CAAG;AAE7D,aAAA,EAAE,SAAAD,GAAS,KAAAE,EAAI;AAAA,IAAA,CACvB,CACF,GACKC,IAAYN,EAAS,MAClB,CAACH,EAAG,GAAG,MAAM,GAAGA,EAAG,IAAI,QAAQP,EAAM,QAAQ,UAAU,OAAO,CAAC,CACvE,GACKiB,IAAQP,EAAS,MAAM;;AAC3B,YAAMQ,IACJlB,EAAM,UAAU,SACZmB,EAAQhB,EAAQ,eAAe,IAC/BH,EAAM,UAAU,UACdmB,EAAQhB,EAAQ,gBAAgB,IAChCgB,EAAQhB,EAAQ,YAAY,GAC9BiB,MAAUC,IAAAZ,EAAQ,MAAM,CAAC,MAAf,gBAAAY,EAAkB,WAAU,UAASnB,EAAM,YAAY,CAAC,KAAK,GACvEoB,MAAWC,IAAAJ,EAAQV,EAAQ,KAAK,MAArB,gBAAAc,EAAwB,WAAU,WAAUrB,EAAM,YAAY,CAAC,KAAK;AAE9E,aAAA;AAAA,QACL,UAAUgB,KAAS,GAAGA,IAAQE,IAAUE,CAAQ;AAAA,MAClD;AAAA,IAAA,CACD;2BAICE,EAsBM,OAAA;AAAA,MAtBA,SAAOR,EAAS,KAAA;AAAA,MAAE,MAAK;AAAA,MAAY,SAAOC,EAAK,KAAA;AAAA,IAAA;OACnDQ,EAAA,EAAA,GAAAD,EAoBWE,WAnB2Bd,EAAW,OAAA,CAAA,EAArC,KAAAG,GAAK,SAAAF,EAAA,GAAWc,YAD5BC,EAoBWC,GAAA;AAAA,QAlBR,KAAKd,EAAI;AAAA,QACV,WAAA;AAAA,QACC,OAAOd,EAAK;AAAA,QACZ,KAAAc;AAAA,QACA,iBAAeY;AAAA,MAAA;mBAGd,MAAqC;AAAA,WADvCF,EAAA,EAAA,GAAAD,EAWiBE,GAVc,MAAAI,EAAArB,EAAA,OAArB,CAAAsB,GAAQC,YADlBJ,EAWiBK,GAAA;AAAA,YATd,KAAKD;AAAA,YACL,KAAAjB;AAAA,YACA,QAAAgB;AAAA,YACA,aAAWC;AAAA,YACX,SAAAnB;AAAA,YACA,iBAAec;AAAA,YACf,OAAO1B,EAAK;AAAA,YACZ,OAAOA,EAAK;AAAA,YACZ,iBAAe+B;AAAA;;;;;;;"}