{"version":3,"file":"pagination.mjs","sources":["../../node_modules/lodash/isNaN.js","../../src/pagination/pagination.tsx"],"sourcesContent":["var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n  // An `NaN` primitive is the only value that is not equal to itself.\n  // Perform the `toStringTag` check first to avoid errors with some\n  // ActiveX objects in IE.\n  return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","import { defineComponent, computed, ref, watch, toRefs } from 'vue';\nimport isNaN from 'lodash/isNaN';\nimport { TdPaginationProps } from '../pagination/type';\nimport { useConfig, usePrefixClass } from '../hooks/useConfig';\nimport TInputNumber from '../input-number';\nimport { Select } from '../select';\nimport TInputAdornment from '../input-adornment';\nimport props from './props';\nimport usePaginationClasses from './usePaginationClasses';\nimport useMoreAction from './useMoreAction';\nimport useVModel from '../hooks/useVModel';\nimport useDefaultValue from '../hooks/useDefaultValue';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport isObject from 'lodash/isObject';\n\nconst min = 1;\n\nexport default defineComponent({\n  name: 'XPagination',\n  props,\n\n  setup(props: TdPaginationProps) {\n    const { modelValue, pageSize, current } = toRefs(props);\n    const renderTNodeJSX = useTNodeJSX();\n    const [innerCurrent, setInnerCurrent] = useVModel(\n      current,\n      modelValue,\n      props.defaultCurrent,\n      props.onCurrentChange,\n      'current',\n    );\n\n    const [innerPageSize, setInnerPageSize] = useDefaultValue(\n      pageSize,\n      props.defaultPageSize,\n      props.onPageSizeChange,\n      'pageSize',\n    );\n\n    const { t, globalConfig } = useConfig('pagination');\n    const COMPONENT_NAME = usePrefixClass('pagination');\n\n    const { pageCount, ...CLASS_MAP } = usePaginationClasses(props, innerCurrent, innerPageSize, COMPONENT_NAME);\n\n    const { prevMore, isPrevMoreShow, curPageLeftCount, nextMore, isNextMoreShow, curPageRightCount } = useMoreAction(\n      props,\n      pageCount,\n      innerCurrent,\n    );\n\n    const jumpIndex = ref(innerCurrent.value);\n\n    const isFolded = computed(() => pageCount.value > props.maxPageBtn);\n\n    const sizeOptions = computed<Array<{ label: string; value: number }>>(() => {\n      const pageSizeOptions = props.pageSizeOptions as TdPaginationProps['pageSizeOptions'];\n      const options = pageSizeOptions.map((option) =>\n        isObject(option)\n          ? option\n          : {\n              label: t(globalConfig.value.itemsPerPage, { size: option }),\n              value: Number(option),\n            },\n      );\n      return options.sort((a, b) => a.value - b.value);\n    });\n\n    const isMidEllipsis = computed(() => {\n      return props.pageEllipsisMode === 'mid';\n    });\n\n    const pages = computed(() => {\n      const array = [];\n      let start;\n      let end;\n\n      if (isFolded.value) {\n        if (isPrevMoreShow.value && isNextMoreShow.value) {\n          start = innerCurrent.value - curPageLeftCount.value;\n          end = innerCurrent.value + curPageRightCount.value;\n        } else {\n          const foldedStart = isMidEllipsis.value ? 2 : 1;\n          const foldedEnd = isMidEllipsis.value ? pageCount.value - 1 : pageCount.value;\n          start = isPrevMoreShow.value ? pageCount.value - props.foldedMaxPageBtn + 1 : foldedStart;\n          end = isPrevMoreShow.value ? foldedEnd : props.foldedMaxPageBtn;\n        }\n      } else {\n        start = 1;\n        end = pageCount.value;\n      }\n\n      for (let i = start; i <= end; i++) {\n        array.push(i);\n      }\n      return array;\n    });\n\n    // 如果页面总数发生变化并当前页数大于总页数则重置为1\n    watch(\n      () => pageCount.value,\n      () => {\n        if (innerCurrent.value > pageCount.value) innerCurrent.value = 1;\n      },\n    );\n    watch(\n      () => innerCurrent.value,\n      (val) => (jumpIndex.value = val),\n    );\n\n    const toPage: (pageIndex: number, isTriggerChange?: boolean) => void = (pageIndex, isTriggerChange) => {\n      if (props.disabled) {\n        return;\n      }\n      let current = pageIndex;\n      if (pageIndex < min) {\n        current = min;\n      } else if (pageIndex > pageCount.value) {\n        current = pageCount.value;\n      }\n      if (innerCurrent.value !== current) {\n        const prev = innerCurrent.value;\n        const pageInfo = {\n          current,\n          previous: prev,\n          pageSize: innerPageSize.value,\n        };\n        setInnerCurrent(current, pageInfo);\n        if (isTriggerChange !== false) {\n          props.onChange?.(pageInfo);\n        }\n      }\n    };\n\n    const handlePageChange = (type: string) => {\n      const pageChangeMap = {\n        prevPage: () => toPage(innerCurrent.value - 1),\n        nextPage: () => toPage(innerCurrent.value + 1),\n        prevMorePage: () => toPage(innerCurrent.value - props.foldedMaxPageBtn),\n        nextMorePage: () => toPage(innerCurrent.value + props.foldedMaxPageBtn),\n      };\n\n      pageChangeMap[type]();\n    };\n\n    const onSelectorChange: (e: string) => void = (e) => {\n      if (props.disabled) {\n        return;\n      }\n      const pageSize: number = parseInt(e, 10);\n      let pageCount = 1;\n      if (pageSize > 0) {\n        pageCount = Math.max(Math.ceil(props.total / pageSize), 1);\n      }\n\n      let isIndexChange = false;\n\n      if (innerCurrent.value > pageCount) {\n        isIndexChange = true;\n      }\n\n      /**\n       * 分页大小变化事件\n       * @param {Number} pageSize 分页大小\n       * @param {Number} index 当前页\n       */\n      const pageInfo = {\n        current: isIndexChange ? pageCount : innerCurrent.value,\n        previous: innerCurrent.value,\n        pageSize,\n      };\n      props.onChange?.(pageInfo);\n      setInnerPageSize(pageSize, pageInfo);\n      if (isIndexChange) {\n        toPage(pageCount, false);\n      }\n    };\n\n    const onJumperChange = (val: number) => {\n      const currentIndex = Math.trunc(+val);\n      if (isNaN(currentIndex)) return;\n      jumpIndex.value = currentIndex;\n      toPage(currentIndex);\n    };\n\n    return () => {\n      const { total, pageSizeOptions, size, disabled, showPageSize } = props;\n      if (pageCount.value < 1) return null;\n\n      const Jumper = (\n        <div class={CLASS_MAP.jumperClass.value}>\n          {t(globalConfig.value.jumpTo)}\n          <TInputAdornment append={`/ ${pageCount.value} ${t(globalConfig.value.page)}`}>\n            <TInputNumber\n              class={CLASS_MAP.jumperInputClass.value}\n              v-model={jumpIndex.value}\n              onBlur={onJumperChange}\n              onEnter={onJumperChange}\n              max={pageCount.value}\n              min={min}\n              size={size}\n              disabled={disabled}\n              theme=\"normal\"\n              placeholder=\"\"\n            />\n          </TInputAdornment>\n        </div>\n      );\n\n      return (\n        <div class={CLASS_MAP.paginationClass.value}>\n          {/* 数据统计区 */}\n          {renderTNodeJSX(\n            'totalContent',\n            <div class={CLASS_MAP.totalClass.value}>{t(globalConfig.value.total, { total })}</div>,\n          )}\n          {/* 分页器 */}\n          {showPageSize && pageSizeOptions.length > 0 && (\n            <Select\n              size={size}\n              value={innerPageSize}\n              disabled={disabled}\n              class={CLASS_MAP.sizerClass.value}\n              autoWidth={true}\n              onChange={onSelectorChange}\n              options={sizeOptions.value}\n              {...props.selectProps}\n            />\n          )}\n          {/* 首页按钮 */}\n          {props.showFirstAndLastPageBtn ? (\n            <div\n              class={CLASS_MAP.preBtnClass.value}\n              onClick={() => toPage(1)}\n              disabled={props.disabled || props.current === min}\n            >\n              <icon-ri-skip-left-line />\n            </div>\n          ) : null}\n          {/* 向前按钮 */}\n          {props.showPreviousAndNextBtn ? (\n            <div\n              class={CLASS_MAP.preBtnClass.value}\n              onClick={() => handlePageChange('prevPage')}\n              disabled={disabled || innerCurrent.value === min}\n            >\n              <icon-ri-arrow-left-s-line />\n            </div>\n          ) : null}\n          {/* 常规版 */}\n          {props.showPageNumber && props.theme === 'default' ? (\n            <ul class={CLASS_MAP.btnWrapClass.value}>\n              {isFolded.value && isMidEllipsis.value && (\n                <li class={CLASS_MAP.getButtonClass(1)} onClick={() => toPage(min)}>\n                  {min}\n                </li>\n              )}\n              {isFolded.value && isPrevMoreShow.value && isMidEllipsis.value ? (\n                <li\n                  class={CLASS_MAP.btnMoreClass.value}\n                  onClick={() => handlePageChange('prevMorePage')}\n                  onMouseOver={() => (prevMore.value = true)}\n                  onMouseOut={() => (prevMore.value = false)}\n                >\n                  {prevMore.value ? <icon-ri-arrow-left-double-line /> : <icon-ri-more-line />}\n                </li>\n              ) : null}\n              {pages.value.map((i) => (\n                <li class={CLASS_MAP.getButtonClass(i)} key={i} onClick={() => toPage(i)}>\n                  {i}\n                </li>\n              ))}\n              {isFolded.value && isNextMoreShow.value && isMidEllipsis.value ? (\n                <li\n                  class={CLASS_MAP.btnMoreClass.value}\n                  onClick={() => handlePageChange('nextMorePage')}\n                  onMouseOver={() => (nextMore.value = true)}\n                  onMouseOut={() => (nextMore.value = false)}\n                >\n                  {nextMore.value ? <icon-ri-arrow-right-double-line /> : <icon-ri-more-line />}\n                </li>\n              ) : null}\n              {isFolded.value && isMidEllipsis.value ? (\n                <li class={CLASS_MAP.getButtonClass(pageCount.value)} onClick={() => toPage(pageCount.value)}>\n                  {pageCount.value}\n                </li>\n              ) : null}\n            </ul>\n          ) : null}\n          {/* 极简版 */}\n          {props.theme === 'simple' && Jumper}\n          {/* 向后按钮 */}\n          {props.showPreviousAndNextBtn ? (\n            <div\n              class={CLASS_MAP.nextBtnClass.value}\n              onClick={() => handlePageChange('nextPage')}\n              disabled={disabled || innerCurrent.value === pageCount.value}\n            >\n              <icon-ri-arrow-right-s-line />\n            </div>\n          ) : null}\n          {/* 尾页按钮 */}\n          {props.showFirstAndLastPageBtn ? (\n            <div\n              class={CLASS_MAP.nextBtnClass.value}\n              onClick={() => toPage(pageCount.value)}\n              disabled={disabled || innerCurrent.value === pageCount.value}\n            >\n              <icon-ri-skip-right-line />\n            </div>\n          ) : null}\n          {/* 快速跳转 */}\n          {props.theme === 'default' && props.showJumper && Jumper}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["isNumber","require$$0","isNaN","value","_isNaN","name","props","innerCurrent","setInnerCurrent","innerPageSize","setInnerPageSize","CLASS_MAP","isObject","size","start","end","array","watch","current","previous","pageChangeMap","pageSize","pageCount","isIndexChange","toPage","_createVNode","total","_mergeProps","_resolveComponent"],"mappings":"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"}