{"version":3,"file":"Pagination.mjs","sources":["../../../../../../packages/components/pagination/src/Pagination.tsx"],"sourcesContent":["import { DoubleLeftOutlined, DoubleRightOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons-vue';\nimport { useBreakpoint } from '@antdv/hooks';\nimport { enUS } from '@antdv/locale';\nimport { classNames } from '@antdv/utils';\nimport { VcPagination } from '@antdv/vue-components';\nimport { computed, defineComponent, toRef } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport { useLocaleReceiver } from '../../locale-provider';\nimport useStyle from '../style';\nimport { paginationProps } from './props';\nimport { MiddleSelect, MiniSelect } from './Select';\n\n// CSSINJS\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'APagination',\n  inheritAttrs: false,\n  props: paginationProps(),\n  // emits: ['change', 'showSizeChange', 'update:current', 'update:pageSize'],\n  setup(props, { slots, attrs }) {\n    const { prefixCls, configProvider, direction, size } = useConfigInject('pagination', props);\n\n    // style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    const selectPrefixCls = computed(() =>\n      configProvider.getPrefixCls('select', props.selectPrefixCls),\n    );\n    const breakpoint = useBreakpoint();\n    const [locale] = useLocaleReceiver('Pagination', enUS.Pagination, toRef(props, 'locale'));\n    const getIconsProps = (pre: string) => {\n      const ellipsis = <span class={`${pre}-item-ellipsis`}>•••</span>;\n      const prevIcon = (\n        <button class={`${pre}-item-link`} type=\"button\" tabindex={-1}>\n          {direction.value === 'rtl' ? <RightOutlined /> : <LeftOutlined />}\n        </button>\n      );\n      const nextIcon = (\n        <button class={`${pre}-item-link`} type=\"button\" tabindex={-1}>\n          {direction.value === 'rtl' ? <LeftOutlined /> : <RightOutlined />}\n        </button>\n      );\n      const jumpPrevIcon = (\n        <a rel=\"nofollow\" class={`${pre}-item-link`}>\n          <div class={`${pre}-item-container`}>\n            {direction.value === 'rtl'\n              ? (\n                  <DoubleRightOutlined class={`${pre}-item-link-icon`} />\n                )\n              : (\n                  <DoubleLeftOutlined class={`${pre}-item-link-icon`} />\n                )}\n            {ellipsis}\n          </div>\n        </a>\n      );\n      const jumpNextIcon = (\n        <a rel=\"nofollow\" class={`${pre}-item-link`}>\n          <div class={`${pre}-item-container`}>\n            {direction.value === 'rtl'\n              ? (\n                  <DoubleLeftOutlined class={`${pre}-item-link-icon`} />\n                )\n              : (\n                  <DoubleRightOutlined class={`${pre}-item-link-icon`} />\n                )}\n            {ellipsis}\n          </div>\n        </a>\n      );\n      return { prevIcon, nextIcon, jumpPrevIcon, jumpNextIcon };\n    };\n\n    return () => {\n      const {\n        itemRender = slots.itemRender,\n        buildOptionText = slots.buildOptionText,\n        selectComponentClass,\n        responsive,\n        ...restProps\n      } = props;\n\n      const isSmall = size.value === 'small' || !!(breakpoint.value?.xs && !size.value && responsive);\n\n      const paginationProps = {\n        ...restProps,\n        ...getIconsProps(prefixCls.value),\n        prefixCls: prefixCls.value,\n        selectPrefixCls: selectPrefixCls.value,\n        selectComponentClass: selectComponentClass || (isSmall ? MiniSelect : MiddleSelect),\n        locale: locale.value,\n        buildOptionText,\n        ...attrs,\n        class: classNames(\n          {\n            [`${prefixCls.value}-mini`]: isSmall,\n            [`${prefixCls.value}-rtl`]: direction.value === 'rtl',\n          },\n          attrs.class,\n          hashId.value,\n        ),\n        itemRender,\n      };\n\n      return wrapSSR(<VcPagination {...paginationProps} />);\n    };\n  },\n});\n"],"names":["compatConfig","MODE","name","inheritAttrs","props","paginationProps","setup","slots","attrs","prefixCls","configProvider","direction","size","useConfigInject","wrapSSR","hashId","useStyle","selectPrefixCls","computed","getPrefixCls","breakpoint","useBreakpoint","locale","useLocaleReceiver","enUS","Pagination","toRef","getIconsProps","pre","ellipsis","_createVNode","_createTextVNode","prevIcon","value","RightOutlined","LeftOutlined","nextIcon","jumpPrevIcon","DoubleRightOutlined","DoubleLeftOutlined","jumpNextIcon","itemRender","buildOptionText","selectComponentClass","responsive","restProps","isSmall","xs","MiniSelect","MiddleSelect","class","classNames","VcPagination"],"mappings":"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"}