{"version":3,"file":"pagination.mjs","sources":["../../../../../../packages/components/table-page/src/pagination.ts"],"sourcesContent":["import { computed, defineComponent, h } from 'vue'\nimport { ElPagination, useLocale, useNamespace } from 'element-plus'\nimport { DIV_TAG, SPAN_TAG } from '@element-plus/constants'\nimport EpAffixBottom from '@element-plus/components/affix-bottom'\n\nexport default defineComponent({\n  name: 'EpPagination',\n  inheritAttrs: false,\n  setup(props, { slots, attrs }) {\n    const { t } = useLocale()\n    const ns = useNamespace('pagination-wrapper')\n    const ROOT_PREFIX = ns.b()\n\n    const totalPageSize = computed(() => {\n      return Math.ceil((attrs as any).total / (attrs as any).pageSize)\n    })\n    const total = computed(() => {\n      return attrs.total\n    })\n\n    const singlePage = computed(() => {\n      const total: any = attrs.total\n      const pageSize: any = attrs.pageSize\n      return total <= pageSize\n    })\n\n    return () => {\n      // 只有一页数据时去掉jumper\n      const paginationData = { ...attrs }\n      if (singlePage.value) {\n        const layout: any = paginationData.layout\n        paginationData.layout = layout.replace(', jumper', '')\n      }\n\n      const paginationVNode = h(ElPagination, paginationData, slots)\n\n      const totalPageSizeVNode = h(\n        SPAN_TAG,\n        {\n          class: `${ROOT_PREFIX}__total`,\n        },\n        t('epx.tablePage.totalPageSize', { totalPageSize: totalPageSize.value })\n      )\n\n      const recordVNode = h(\n        SPAN_TAG,\n        {\n          class: `${ROOT_PREFIX}__record`,\n        },\n        t('epx.tablePage.total', { total: total.value as number })\n      )\n\n      const wrapperVNode = h(DIV_TAG, { class: ROOT_PREFIX }, [\n        h(\n          DIV_TAG,\n          { class: `${ROOT_PREFIX}__left` },\n          attrs.showRecord ? [recordVNode] : []\n        ),\n        h(DIV_TAG, { class: `${ROOT_PREFIX}__right` }, [\n          attrs.showTotal ? totalPageSizeVNode : '',\n          paginationVNode,\n        ]),\n      ])\n\n      return h(\n        EpAffixBottom,\n        {\n          style: {\n            position: 'static',\n          },\n        },\n        {\n          default: () => [wrapperVNode],\n        }\n      )\n    }\n  },\n})\n"],"names":["total","EpAffixBottom"],"mappings":";;;;;AAKA,mBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,OAAS,EAAA;AAC7B,IAAM,MAAA,EAAE,CAAE,EAAA,GAAI,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAK,aAAa,oBAAoB,CAAA,CAAA;AAC5C,IAAM,MAAA,WAAA,GAAc,GAAG,CAAE,EAAA,CAAA;AAEzB,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAA,OAAO,IAAK,CAAA,IAAA,CAAM,KAAc,CAAA,KAAA,GAAS,MAAc,QAAQ,CAAA,CAAA;AAAA,KAChE,CAAA,CAAA;AACD,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAA,MAAMA,SAAa,KAAM,CAAA,KAAA,CAAA;AACzB,MAAA,MAAM,WAAgB,KAAM,CAAA,QAAA,CAAA;AAC5B,MAAA,OAAOA,MAAS,IAAA,QAAA,CAAA;AAAA,KACjB,CAAA,CAAA;AAED,IAAA,OAAO,MAAM;AAEX,MAAM,MAAA,cAAA,GAAiB,EAAE,GAAG,KAAM,EAAA,CAAA;AAClC,MAAA,IAAI,WAAW,KAAO,EAAA;AACpB,QAAA,MAAM,SAAc,cAAe,CAAA,MAAA,CAAA;AACnC,QAAA,cAAA,CAAe,MAAS,GAAA,MAAA,CAAO,OAAQ,CAAA,UAAA,EAAY,EAAE,CAAA,CAAA;AAAA,OACvD;AAEA,MAAA,MAAM,eAAkB,GAAA,CAAA,CAAE,YAAc,EAAA,cAAA,EAAgB,KAAK,CAAA,CAAA;AAE7D,MAAA,MAAM,kBAAqB,GAAA,CAAA;AAAA,QACzB,QAAA;AAAA,QACA;AAAA,UACE,OAAO,CAAG,EAAA,WAAA,CAAA,OAAA,CAAA;AAAA,SACZ;AAAA,QACA,EAAE,6BAA+B,EAAA,EAAE,aAAe,EAAA,aAAA,CAAc,OAAO,CAAA;AAAA,OACzE,CAAA;AAEA,MAAA,MAAM,WAAc,GAAA,CAAA;AAAA,QAClB,QAAA;AAAA,QACA;AAAA,UACE,OAAO,CAAG,EAAA,WAAA,CAAA,QAAA,CAAA;AAAA,SACZ;AAAA,QACA,EAAE,qBAAuB,EAAA,EAAE,KAAO,EAAA,KAAA,CAAM,OAAiB,CAAA;AAAA,OAC3D,CAAA;AAEA,MAAA,MAAM,eAAe,CAAE,CAAA,OAAA,EAAS,EAAE,KAAA,EAAO,aAAe,EAAA;AAAA,QACtD,CAAA;AAAA,UACE,OAAA;AAAA,UACA,EAAE,KAAO,EAAA,CAAA,EAAG,WAAoB,CAAA,MAAA,CAAA,EAAA;AAAA,UAChC,KAAM,CAAA,UAAA,GAAa,CAAC,WAAW,IAAI,EAAC;AAAA,SACtC;AAAA,QACA,EAAE,OAAS,EAAA,EAAE,KAAO,EAAA,CAAA,EAAG,sBAAwB,EAAA;AAAA,UAC7C,KAAA,CAAM,YAAY,kBAAqB,GAAA,EAAA;AAAA,UACvC,eAAA;AAAA,SACD,CAAA;AAAA,OACF,CAAA,CAAA;AAED,MAAO,OAAA,CAAA;AAAA,QACLC,aAAA;AAAA,QACA;AAAA,UACE,KAAO,EAAA;AAAA,YACL,QAAU,EAAA,QAAA;AAAA,WACZ;AAAA,SACF;AAAA,QACA;AAAA,UACE,OAAA,EAAS,MAAM,CAAC,YAAY,CAAA;AAAA,SAC9B;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}