| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 | import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";var _excluded = ["size", "itemRender", "buildOptionText", "selectComponentClass", "responsive"];import { createVNode as _createVNode, createTextVNode as _createTextVNode } from "vue";import { computed, toRef, defineComponent } from 'vue';import LeftOutlined from "@ant-design/icons-vue/es/icons/LeftOutlined";import RightOutlined from "@ant-design/icons-vue/es/icons/RightOutlined";import DoubleLeftOutlined from "@ant-design/icons-vue/es/icons/DoubleLeftOutlined";import DoubleRightOutlined from "@ant-design/icons-vue/es/icons/DoubleRightOutlined";import VcSelect from '../select';import MiniSelect from './MiniSelect';import { useLocaleReceiver } from '../locale-provider/LocaleReceiver';import VcPagination from '../vc-pagination';import enUS from '../vc-pagination/locale/en_US';import classNames from '../_util/classNames';import useConfigInject from '../_util/hooks/useConfigInject';import useBreakpoint from '../_util/hooks/useBreakpoint';export var paginationProps = function paginationProps() {  return {    total: Number,    defaultCurrent: Number,    disabled: {      type: Boolean,      default: undefined    },    current: Number,    defaultPageSize: Number,    pageSize: Number,    hideOnSinglePage: {      type: Boolean,      default: undefined    },    showSizeChanger: {      type: Boolean,      default: undefined    },    pageSizeOptions: Array,    buildOptionText: Function,    showQuickJumper: {      type: [Boolean, Object],      default: undefined    },    showTotal: Function,    size: String,    simple: {      type: Boolean,      default: undefined    },    locale: Object,    prefixCls: String,    selectPrefixCls: String,    totalBoundaryShowSizeChanger: Number,    selectComponentClass: String,    itemRender: Function,    role: String,    responsive: Boolean,    showLessItems: {      type: Boolean,      default: undefined    },    onChange: Function,    onShowSizeChange: Function,    'onUpdate:current': Function,    'onUpdate:pageSize': Function  };};export var paginationConfig = function paginationConfig() {  return _objectSpread(_objectSpread({}, paginationProps()), {}, {    position: String  });};export default defineComponent({  compatConfig: {    MODE: 3  },  name: 'APagination',  inheritAttrs: false,  props: paginationProps(),  // emits: ['change', 'showSizeChange', 'update:current', 'update:pageSize'],  setup: function setup(props, _ref) {    var slots = _ref.slots,      attrs = _ref.attrs;    var _useConfigInject = useConfigInject('pagination', props),      prefixCls = _useConfigInject.prefixCls,      configProvider = _useConfigInject.configProvider,      direction = _useConfigInject.direction;    var selectPrefixCls = computed(function () {      return configProvider.getPrefixCls('select', props.selectPrefixCls);    });    var breakpoint = useBreakpoint();    var _useLocaleReceiver = useLocaleReceiver('Pagination', enUS, toRef(props, 'locale')),      _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),      locale = _useLocaleReceiver2[0];    var getIconsProps = function getIconsProps(pre) {      var ellipsis = _createVNode("span", {        "class": "".concat(pre, "-item-ellipsis")      }, [_createTextVNode("\u2022\u2022\u2022")]);      var prevIcon = _createVNode("button", {        "class": "".concat(pre, "-item-link"),        "type": "button",        "tabindex": -1      }, [_createVNode(LeftOutlined, null, null)]);      var nextIcon = _createVNode("button", {        "class": "".concat(pre, "-item-link"),        "type": "button",        "tabindex": -1      }, [_createVNode(RightOutlined, null, null)]);      var jumpPrevIcon = _createVNode("a", {        "rel": "nofollow",        "class": "".concat(pre, "-item-link")      }, [_createVNode("div", {        "class": "".concat(pre, "-item-container")      }, [_createVNode(DoubleLeftOutlined, {        "class": "".concat(pre, "-item-link-icon")      }, null), ellipsis])]);      var jumpNextIcon = _createVNode("a", {        "rel": "nofollow",        "class": "".concat(pre, "-item-link")      }, [_createVNode("div", {        "class": "".concat(pre, "-item-container")      }, [_createVNode(DoubleRightOutlined, {        "class": "".concat(pre, "-item-link-icon")      }, null), ellipsis])]);      // change arrows direction in right-to-left direction      if (direction.value === 'rtl') {        var _ref2 = [nextIcon, prevIcon];        prevIcon = _ref2[0];        nextIcon = _ref2[1];        var _ref3 = [jumpNextIcon, jumpPrevIcon];        jumpPrevIcon = _ref3[0];        jumpNextIcon = _ref3[1];      }      return {        prevIcon: prevIcon,        nextIcon: nextIcon,        jumpPrevIcon: jumpPrevIcon,        jumpNextIcon: jumpNextIcon      };    };    return function () {      var _breakpoint$value;      var size = props.size,        _props$itemRender = props.itemRender,        itemRender = _props$itemRender === void 0 ? slots.itemRender : _props$itemRender,        _props$buildOptionTex = props.buildOptionText,        buildOptionText = _props$buildOptionTex === void 0 ? slots.buildOptionText : _props$buildOptionTex,        selectComponentClass = props.selectComponentClass,        responsive = props.responsive,        restProps = _objectWithoutProperties(props, _excluded);      var isSmall = size === 'small' || !!((_breakpoint$value = breakpoint.value) !== null && _breakpoint$value !== void 0 && _breakpoint$value.xs && !size && responsive);      var paginationProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, restProps), getIconsProps(prefixCls.value)), {}, {        prefixCls: prefixCls.value,        selectPrefixCls: selectPrefixCls.value,        selectComponentClass: selectComponentClass || (isSmall ? MiniSelect : VcSelect),        locale: locale.value,        buildOptionText: buildOptionText      }, attrs), {}, {        class: classNames(_defineProperty({          mini: isSmall        }, "".concat(prefixCls.value, "-rtl"), direction.value === 'rtl'), attrs.class),        itemRender: itemRender      });      return _createVNode(VcPagination, paginationProps, null);    };  }});
 |