{"version":3,"file":"Options.cjs","sources":["../../../../../../packages/vue-components/vc-pagination/src/Options.tsx"],"sourcesContent":["import type { EventHandler } from '@antdv/types';\nimport { KeyCode, PropTypes } from '@antdv/utils';\nimport BaseInputCore from '@antdv/vue-components/vc-input/src/BaseInputCore';\nimport { computed, defineComponent, ref } from 'vue';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  props: {\n    disabled: { type: Boolean, default: undefined },\n    changeSize: Function,\n    quickGo: Function,\n    selectComponentClass: PropTypes.any,\n    current: Number,\n    pageSizeOptions: PropTypes.array.def(['10', '20', '50', '100']),\n    pageSize: Number,\n    buildOptionText: Function,\n    locale: PropTypes.object,\n    rootPrefixCls: String,\n    selectPrefixCls: String,\n    goButton: PropTypes.any,\n  },\n  setup(props) {\n    const goInputText = ref('');\n    const validValue = computed(() => {\n      return !goInputText.value || Number.isNaN(goInputText.value as any)\n        ? undefined\n        : Number(goInputText.value);\n    });\n\n    const defaultBuildOptionText = (opt) => {\n      return `${opt.value} ${props.locale.items_per_page}`;\n    };\n    const handleChange: EventHandler = (e) => {\n      const { value } = e.target;\n      if (goInputText.value === value) return;\n      goInputText.value = value;\n    };\n    const handleBlur: EventHandler = (e) => {\n      const { goButton, quickGo, rootPrefixCls } = props;\n\n      if (goButton || goInputText.value === '')\n        return;\n\n      if (\n        e.relatedTarget\n        && (e.relatedTarget.className.includes(`${rootPrefixCls}-item-link`)\n          || e.relatedTarget.className.includes(`${rootPrefixCls}-item`))\n      ) {\n        goInputText.value = '';\n      } else {\n        quickGo(validValue.value);\n        goInputText.value = '';\n      }\n    };\n    const go: EventHandler = (e) => {\n      if (goInputText.value === '')\n        return;\n\n      if (e.keyCode === KeyCode.ENTER || e.type === 'click') {\n        // https://github.com/vueComponent/ant-design-vue/issues/1316\n        props.quickGo(validValue.value);\n\n        goInputText.value = '';\n      }\n    };\n\n    const pageSizeOptions = computed(() => {\n      const { pageSize, pageSizeOptions } = props;\n      if (pageSizeOptions.some(option => option.toString() === pageSize.toString()))\n        return pageSizeOptions;\n\n      return pageSizeOptions.concat([pageSize.toString()]).sort((a, b) => {\n        const numberA = Number.isNaN(Number(a)) ? 0 : Number(a);\n\n        const numberB = Number.isNaN(Number(b)) ? 0 : Number(b);\n        return numberA - numberB;\n      });\n    });\n\n    return () => {\n      const {\n        rootPrefixCls,\n        locale,\n        changeSize,\n        quickGo,\n        goButton,\n        selectComponentClass: Select,\n        selectPrefixCls,\n        pageSize,\n        disabled,\n      } = props;\n      const prefixCls = `${rootPrefixCls}-options`;\n      let changeSelect = null;\n      let goInput = null;\n      let gotoButton = null;\n\n      if (!changeSize && !quickGo)\n        return null;\n\n      if (changeSize && Select) {\n        const buildOptionText = props.buildOptionText || defaultBuildOptionText;\n        const options = pageSizeOptions.value.map((opt, i) => {\n          return (\n            <Select.Option key={i} value={opt}>\n              {buildOptionText({ value: opt })}\n            </Select.Option>\n          );\n        });\n\n        changeSelect = (\n          <Select\n            disabled={disabled}\n            prefixCls={selectPrefixCls}\n            showSearch={false}\n            class={`${prefixCls}-size-changer`}\n            optionLabelProp=\"children\"\n            value={(pageSize || pageSizeOptions.value[0]).toString()}\n            onChange={value => changeSize(Number(value))}\n            getPopupContainer={triggerNode => triggerNode.parentNode}\n          >\n            {options}\n          </Select>\n        );\n      }\n\n      if (quickGo) {\n        if (goButton) {\n          gotoButton\n            = typeof goButton === 'boolean'\n              ? (\n                  <button\n                    type=\"button\"\n                    onClick={go}\n                    onKeyup={go}\n                    disabled={disabled}\n                    class={`${prefixCls}-quick-jumper-button`}\n                  >\n                    {locale.jump_to_confirm}\n                  </button>\n                )\n              : (\n                  <span onClick={go} onKeyup={go}>\n                    {goButton}\n                  </span>\n                );\n        }\n        goInput = (\n          <div class={`${prefixCls}-quick-jumper`}>\n            {locale.jump_to}\n            <BaseInputCore\n              disabled={disabled}\n              type=\"text\"\n              value={goInputText.value}\n              onInput={handleChange}\n              onChange={handleChange}\n              onKeyup={go}\n              onBlur={handleBlur}\n            >\n            </BaseInputCore>\n            {locale.page}\n            {gotoButton}\n          </div>\n        );\n      }\n\n      return (\n        <li class={`${prefixCls}`}>\n          {changeSelect}\n          {goInput}\n        </li>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","props","disabled","type","Boolean","default","undefined","changeSize","Function","quickGo","selectComponentClass","PropTypes","any","current","Number","pageSizeOptions","array","def","pageSize","buildOptionText","locale","object","rootPrefixCls","String","selectPrefixCls","goButton","setup","goInputText","ref","validValue","computed","value","isNaN","defaultBuildOptionText","opt","items_per_page","handleChange","e","target","handleBlur","relatedTarget","className","includes","go","keyCode","KeyCode","ENTER","some","option","toString","concat","sort","a","b","numberA","numberB","Select","prefixCls","changeSelect","goInput","gotoButton","options","map","i","_createVNode","Option","triggerNode","parentNode","jump_to_confirm","jump_to","BaseInputCore","page"],"mappings":"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"}