{"version":3,"file":"jumper.vue.mjs","sources":["../../../../../../../packages/components/pagination/src/layout/jumper.vue"],"sourcesContent":["<script lang=\"ts\">\n  import { computed, defineComponent, ref, watch } from 'vue'\n  import { getNamespace } from '../../../../utils/global-config'\n  import { Input } from '../../../input'\n\n  export default defineComponent({\n    name: 'PaginationJumper',\n    components: {\n      Input\n    },\n    props: {\n      currentPage: {\n        type: Number,\n        default: 0\n      },\n      pageCount: {\n        type: Number,\n        default: 0\n      },\n      disabled: {\n        type: Boolean,\n        default: false\n      },\n      pageSize: {\n        type: Number,\n        default: 0\n      }\n    },\n    emits: ['change'],\n    setup(props, { emit }) {\n      const ns = getNamespace('pagination-jumper')\n      const cls = computed(() => [ns])\n\n      const pageModel = ref(props.currentPage)\n\n      const handleChange = (page: string) => {\n        let _page = Number(page)\n        if (_page > props.pageCount) {\n          _page = props.pageCount\n          pageModel.value = _page\n        }\n        if (props.currentPage === _page) return\n        emit('change', _page)\n      }\n\n      const formatter = (value: string) => {\n        return value.replace(/[^0-9.]/g, '')\n      }\n\n      watch(\n        () => props.currentPage,\n        (page) => {\n          pageModel.value = page\n        }\n      )\n\n      watch(\n        () => props.pageSize,\n        () => {\n          pageModel.value = props.currentPage\n        }\n      )\n\n      return {\n        cls,\n        pageModel,\n        handleChange,\n        formatter\n      }\n    }\n  })\n</script>\n\n<template>\n  <div :class=\"cls\">\n    <span>前往</span>\n    <Input\n      v-model=\"pageModel\"\n      size=\"small\"\n      :validate-event=\"false\"\n      placeholder=\"\"\n      :formatter=\"formatter\"\n      @change=\"handleChange\"\n    />\n    <span>页</span>\n  </div>\n</template>\n"],"names":["_resolveComponent","_normalizeClass","pageModel","_createVNode","formatter","handleChange"],"mappings":";;;;;2BA0EEA,iBAWM,OAAA,CAAA,CAAA;;;;MAVJ,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,GAAA,CAAA;AAAA,KAAA;AAAA,IACA;AAAA,MACWC,MAAAA,CAAAA,CAAAA,CAAAA,KAAAA,MAAAA,CAAAA,CAAAA,CAAAA,GAAAA,kBAAAA;AAAAA,QAAS,MAAA;AAAA,QAAA,IAAA;AAAA,QAAA,cAAA;AAAA,QAAA,CAAA,CAAA;AAAA;AAAA,OAAA,CAAA;AAAA,MAAAC,YAAA,gBAAA,EAAA;AAAA,QAClB,YAAK,IAAO,CAAA,SAAA;AAAA,QACX,qBAAA,EAAqB,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,SAAA,GAAA,MAAA,CAAA;AAAA,QACtB,IAAA,EAAA,OAAA;AAAA,QACC,gBAAWC,EAAAA,KAAAA;AAAAA,QACX,WAAQC,EAAAA,EAAAA;AAAAA,QAAAA,WAAAA,IAAAA,CAAAA,SAAAA;AAAAA;;;;;;;;;;;;;;;;;;"}