{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/core-js/modules/es.array.sort.js"],"names":["_watch","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_makeModelMixin","type","defaultValue","validator","warn","modelMixin","mixin","modelProps","props","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","numberOfPages","_","number","classes","limit","val","page","keyCode","immediatePropagation","currentTarget","click","align","ariaLabel","disabled","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","pills","prevClass","prevText","size","paginationMixin","extend","mixins","data","currentPage","this","localNumberOfPages","localLimit","computed","btnSize","concat","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","math","lastPageNumber","pageList","_this$paginationParam","pages","idx","_i","_i2","_i3","watch","newValue","oldValue","$emit","created","_this","$nextTick","methods","handleKeyNav","shiftKey","isNav","propagation","focusFirst","focusPrev","focusLast","focusNext","getButtons","$el","btn","focusCurrent","_this2","find","el","_this3","_this4","reverse","_this5","buttons","index","indexOf","_this6","render","h","_this7","pageNumbers","map","p","_this$paginationParam2","fill","$buttons","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","scope","$btnContent","normalizeSlot","$inner","staticClass","class","linkProps","attrs","role","tabindex","ariaControls","on","onClick","keydown","makeEllipsis","isLast","makePageButton","active","tabIndex","btnContent","makePage","content","$firstPageBtn","offset","$lastPageBtn","$pagination","ref","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","BPagination","name","result","pageSizeNumberOfPages","clickEvent","cancelable","vueTarget","defaultPrevented","contains","pageNum","$","aFunction","toObject","fails","arrayMethodIsStrict","test","nativeSort","sort","FAILS_ON_UNDEFINED","undefined","FAILS_ON_NULL","STRICT_METHOD","FORCED","proto","forced","comparefn","call"],"mappings":"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","file":"js/chunk-fce9fe7c.ee2512f3.js","sourcesContent":["var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { NAME_PAGINATION } from '../constants/components';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_FUNCTION_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { SLOT_NAME_ELLIPSIS_TEXT, SLOT_NAME_FIRST_TEXT, SLOT_NAME_LAST_TEXT, SLOT_NAME_NEXT_TEXT, SLOT_NAME_PAGE, SLOT_NAME_PREV_TEXT } from '../constants/slots';\nimport { createArray } from '../utils/array';\nimport { attemptFocus, getActiveElement, getAttr, isDisabled, isVisible, selectAll } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { isFunction, isNull } from '../utils/inspect';\nimport { mathFloor, mathMax, mathMin } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string';\nimport { warn } from '../utils/warn';\nimport { normalizeSlotMixin } from '../mixins/normalize-slot';\nimport { BLink } from '../components/link/link'; // Common props, computed, data, render function, and methods\n// for `<b-pagination>` and `<b-pagination-nav>`\n// --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n  type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n  defaultValue: null,\n\n  /* istanbul ignore next */\n  validator: function validator(value) {\n    if (!isNull(value) && toInteger(value, 0) < 1) {\n      warn('\"v-model\" value must be a number greater than \"0\"', NAME_PAGINATION);\n      return false;\n    }\n\n    return true;\n  }\n}),\n    modelMixin = _makeModelMixin.mixin,\n    modelProps = _makeModelMixin.props,\n    MODEL_PROP_NAME = _makeModelMixin.prop,\n    MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // --- Helper methods ---\n// Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n  return createArray(numberOfPages, function (_, i) {\n    return {\n      number: startNumber + i,\n      classes: null\n    };\n  });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(value) {\n  var limit = toInteger(value) || 1;\n  return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n  var page = toInteger(val) || 1;\n  return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(event) {\n  if (event.keyCode === CODE_SPACE) {\n    // Stop page from scrolling\n    stopEvent(event, {\n      immediatePropagation: true\n    }); // Trigger the click event on the link\n\n    event.currentTarget.click();\n    return false;\n  }\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n  align: makeProp(PROP_TYPE_STRING, 'left'),\n  ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),\n  disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n  ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n  ellipsisText: makeProp(PROP_TYPE_STRING, \"\\u2026\"),\n  // '…'\n  firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n  firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n  firstText: makeProp(PROP_TYPE_STRING, \"\\xAB\"),\n  // '«'\n  hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),\n  hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),\n  labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),\n  labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),\n  labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),\n  labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),\n  labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),\n  lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n  lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n  lastText: makeProp(PROP_TYPE_STRING, \"\\xBB\"),\n  // '»'\n  limit: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_LIMIT,\n  /* istanbul ignore next */\n  function (value) {\n    if (toInteger(value, 0) < 1) {\n      warn('Prop \"limit\" must be a number greater than \"0\"', NAME_PAGINATION);\n      return false;\n    }\n\n    return true;\n  }),\n  nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n  nextText: makeProp(PROP_TYPE_STRING, \"\\u203A\"),\n  // '›'\n  pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n  pills: makeProp(PROP_TYPE_BOOLEAN, false),\n  prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n  prevText: makeProp(PROP_TYPE_STRING, \"\\u2039\"),\n  // '‹'\n  size: makeProp(PROP_TYPE_STRING)\n})), 'pagination'); // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n  mixins: [modelMixin, normalizeSlotMixin],\n  props: props,\n  data: function data() {\n    // `-1` signifies no page initially selected\n    var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n    currentPage = currentPage > 0 ? currentPage : -1;\n    return {\n      currentPage: currentPage,\n      localNumberOfPages: 1,\n      localLimit: DEFAULT_LIMIT\n    };\n  },\n  computed: {\n    btnSize: function btnSize() {\n      var size = this.size;\n      return size ? \"pagination-\".concat(size) : '';\n    },\n    alignment: function alignment() {\n      var align = this.align;\n\n      if (align === 'center') {\n        return 'justify-content-center';\n      } else if (align === 'end' || align === 'right') {\n        return 'justify-content-end';\n      } else if (align === 'fill') {\n        // The page-items will also have 'flex-fill' added\n        // We add text centering to make the button appearance better in fill mode\n        return 'text-center';\n      }\n\n      return '';\n    },\n    styleClass: function styleClass() {\n      return this.pills ? 'b-pagination-pills' : '';\n    },\n    computedCurrentPage: function computedCurrentPage() {\n      return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n    },\n    paginationParams: function paginationParams() {\n      // Determine if we should show the the ellipsis\n      var limit = this.localLimit,\n          numberOfPages = this.localNumberOfPages,\n          currentPage = this.computedCurrentPage,\n          hideEllipsis = this.hideEllipsis,\n          firstNumber = this.firstNumber,\n          lastNumber = this.lastNumber;\n      var showFirstDots = false;\n      var showLastDots = false;\n      var numberOfLinks = limit;\n      var startNumber = 1;\n\n      if (numberOfPages <= limit) {\n        // Special case: Less pages available than the limit of displayed pages\n        numberOfLinks = numberOfPages;\n      } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n        if (!hideEllipsis || lastNumber) {\n          showLastDots = true;\n          numberOfLinks = limit - (firstNumber ? 0 : 1);\n        }\n\n        numberOfLinks = mathMin(numberOfLinks, limit);\n      } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n        if (!hideEllipsis || firstNumber) {\n          showFirstDots = true;\n          numberOfLinks = limit - (lastNumber ? 0 : 1);\n        }\n\n        startNumber = numberOfPages - numberOfLinks + 1;\n      } else {\n        // We are somewhere in the middle of the page list\n        if (limit > ELLIPSIS_THRESHOLD) {\n          numberOfLinks = limit - (hideEllipsis ? 0 : 2);\n          showFirstDots = !!(!hideEllipsis || firstNumber);\n          showLastDots = !!(!hideEllipsis || lastNumber);\n        }\n\n        startNumber = currentPage - mathFloor(numberOfLinks / 2);\n      } // Sanity checks\n\n      /* istanbul ignore if */\n\n\n      if (startNumber < 1) {\n        startNumber = 1;\n        showFirstDots = false;\n      } else if (startNumber > numberOfPages - numberOfLinks) {\n        startNumber = numberOfPages - numberOfLinks + 1;\n        showLastDots = false;\n      }\n\n      if (showFirstDots && firstNumber && startNumber < 4) {\n        numberOfLinks = numberOfLinks + 2;\n        startNumber = 1;\n        showFirstDots = false;\n      }\n\n      var lastPageNumber = startNumber + numberOfLinks - 1;\n\n      if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n        numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3);\n        showLastDots = false;\n      } // Special handling for lower limits (where ellipsis are never shown)\n\n\n      if (limit <= ELLIPSIS_THRESHOLD) {\n        if (firstNumber && startNumber === 1) {\n          numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1);\n        } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n          startNumber = mathMax(startNumber - 1, 1);\n          numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1);\n        }\n      }\n\n      numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1);\n      return {\n        showFirstDots: showFirstDots,\n        showLastDots: showLastDots,\n        numberOfLinks: numberOfLinks,\n        startNumber: startNumber\n      };\n    },\n    pageList: function pageList() {\n      // Generates the pageList array\n      var _this$paginationParam = this.paginationParams,\n          numberOfLinks = _this$paginationParam.numberOfLinks,\n          startNumber = _this$paginationParam.startNumber;\n      var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n      var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n      // So add classes to page links to hide them for XS breakpoint\n      // Note: Ellipsis will also be hidden on XS screens\n      // TODO: Make this visual limit configurable based on breakpoint(s)\n\n      if (pages.length > 3) {\n        var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n        var classes = 'bv-d-xs-down-none';\n\n        if (idx === 0) {\n          // Keep leftmost 3 buttons visible when current page is first page\n          for (var i = 3; i < pages.length; i++) {\n            pages[i].classes = classes;\n          }\n        } else if (idx === pages.length - 1) {\n          // Keep rightmost 3 buttons visible when current page is last page\n          for (var _i = 0; _i < pages.length - 3; _i++) {\n            pages[_i].classes = classes;\n          }\n        } else {\n          // Hide all except current page, current page - 1 and current page + 1\n          for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n            // hide some left button(s)\n            pages[_i2].classes = classes;\n          }\n\n          for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n            // hide some right button(s)\n            pages[_i3].classes = classes;\n          }\n        }\n      }\n\n      return pages;\n    }\n  },\n  watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n    if (newValue !== oldValue) {\n      this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n    }\n  }), _defineProperty(_watch, \"currentPage\", function currentPage(newValue, oldValue) {\n    if (newValue !== oldValue) {\n      // Emit `null` if no page selected\n      this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null);\n    }\n  }), _defineProperty(_watch, \"limit\", function limit(newValue, oldValue) {\n    if (newValue !== oldValue) {\n      this.localLimit = sanitizeLimit(newValue);\n    }\n  }), _watch),\n  created: function created() {\n    var _this = this;\n\n    // Set our default values in data\n    this.localLimit = sanitizeLimit(this.limit);\n    this.$nextTick(function () {\n      // Sanity check\n      _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n    });\n  },\n  methods: {\n    handleKeyNav: function handleKeyNav(event) {\n      var keyCode = event.keyCode,\n          shiftKey = event.shiftKey;\n      /* istanbul ignore if */\n\n      if (this.isNav) {\n        // We disable left/right keyboard navigation in `<b-pagination-nav>`\n        return;\n      }\n\n      if (keyCode === CODE_LEFT || keyCode === CODE_UP) {\n        stopEvent(event, {\n          propagation: false\n        });\n        shiftKey ? this.focusFirst() : this.focusPrev();\n      } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {\n        stopEvent(event, {\n          propagation: false\n        });\n        shiftKey ? this.focusLast() : this.focusNext();\n      }\n    },\n    getButtons: function getButtons() {\n      // Return only buttons that are visible\n      return selectAll('button.page-link, a.page-link', this.$el).filter(function (btn) {\n        return isVisible(btn);\n      });\n    },\n    focusCurrent: function focusCurrent() {\n      var _this2 = this;\n\n      // We do this in `$nextTick()` to ensure buttons have finished rendering\n      this.$nextTick(function () {\n        var btn = _this2.getButtons().find(function (el) {\n          return toInteger(getAttr(el, 'aria-posinset'), 0) === _this2.computedCurrentPage;\n        });\n\n        if (!attemptFocus(btn)) {\n          // Fallback if current page is not in button list\n          _this2.focusFirst();\n        }\n      });\n    },\n    focusFirst: function focusFirst() {\n      var _this3 = this;\n\n      // We do this in `$nextTick()` to ensure buttons have finished rendering\n      this.$nextTick(function () {\n        var btn = _this3.getButtons().find(function (el) {\n          return !isDisabled(el);\n        });\n\n        attemptFocus(btn);\n      });\n    },\n    focusLast: function focusLast() {\n      var _this4 = this;\n\n      // We do this in `$nextTick()` to ensure buttons have finished rendering\n      this.$nextTick(function () {\n        var btn = _this4.getButtons().reverse().find(function (el) {\n          return !isDisabled(el);\n        });\n\n        attemptFocus(btn);\n      });\n    },\n    focusPrev: function focusPrev() {\n      var _this5 = this;\n\n      // We do this in `$nextTick()` to ensure buttons have finished rendering\n      this.$nextTick(function () {\n        var buttons = _this5.getButtons();\n\n        var index = buttons.indexOf(getActiveElement());\n\n        if (index > 0 && !isDisabled(buttons[index - 1])) {\n          attemptFocus(buttons[index - 1]);\n        }\n      });\n    },\n    focusNext: function focusNext() {\n      var _this6 = this;\n\n      // We do this in `$nextTick()` to ensure buttons have finished rendering\n      this.$nextTick(function () {\n        var buttons = _this6.getButtons();\n\n        var index = buttons.indexOf(getActiveElement());\n\n        if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n          attemptFocus(buttons[index + 1]);\n        }\n      });\n    }\n  },\n  render: function render(h) {\n    var _this7 = this;\n\n    var disabled = this.disabled,\n        labelPage = this.labelPage,\n        ariaLabel = this.ariaLabel,\n        isNav = this.isNav,\n        numberOfPages = this.localNumberOfPages,\n        currentPage = this.computedCurrentPage;\n    var pageNumbers = this.pageList.map(function (p) {\n      return p.number;\n    });\n    var _this$paginationParam2 = this.paginationParams,\n        showFirstDots = _this$paginationParam2.showFirstDots,\n        showLastDots = _this$paginationParam2.showLastDots;\n    var fill = this.align === 'fill';\n    var $buttons = []; // Helper function and flag\n\n    var isActivePage = function isActivePage(pageNumber) {\n      return pageNumber === currentPage;\n    };\n\n    var noCurrentPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n    var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) {\n      var isDisabled = disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages;\n      var pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n      var scope = {\n        disabled: isDisabled,\n        page: pageNumber,\n        index: pageNumber - 1\n      };\n      var $btnContent = _this7.normalizeSlot(btnSlot, scope) || toString(btnText) || h();\n      var $inner = h(isDisabled ? 'span' : isNav ? BLink : 'button', {\n        staticClass: 'page-link',\n        class: {\n          'flex-grow-1': !isNav && !isDisabled && fill\n        },\n        props: isDisabled || !isNav ? {} : _this7.linkProps(linkTo),\n        attrs: {\n          role: isNav ? null : 'menuitem',\n          type: isNav || isDisabled ? null : 'button',\n          tabindex: isDisabled || isNav ? null : '-1',\n          'aria-label': ariaLabel,\n          'aria-controls': _this7.ariaControls || null,\n          'aria-disabled': isDisabled ? 'true' : null\n        },\n        on: isDisabled ? {} : {\n          '!click': function click(event) {\n            _this7.onClick(event, linkTo);\n          },\n          keydown: onSpaceKey\n        }\n      }, [$btnContent]);\n      return h('li', {\n        key: key,\n        staticClass: 'page-item',\n        class: [{\n          disabled: isDisabled,\n          'flex-fill': fill,\n          'd-flex': fill && !isNav && !isDisabled\n        }, btnClass],\n        attrs: {\n          role: isNav ? null : 'presentation',\n          'aria-hidden': isDisabled ? 'true' : null\n        }\n      }, [$inner]);\n    }; // Ellipsis factory\n\n\n    var makeEllipsis = function makeEllipsis(isLast) {\n      return h('li', {\n        staticClass: 'page-item',\n        class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', _this7.ellipsisClass],\n        attrs: {\n          role: 'separator'\n        },\n        key: \"ellipsis-\".concat(isLast ? 'last' : 'first')\n      }, [h('span', {\n        staticClass: 'page-link'\n      }, [_this7.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(_this7.ellipsisText) || h()])]);\n    }; // Page button factory\n\n\n    var makePageButton = function makePageButton(page, idx) {\n      var pageNumber = page.number;\n      var active = isActivePage(pageNumber) && !noCurrentPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n      var tabIndex = disabled ? null : active || noCurrentPage && idx === 0 ? '0' : '-1';\n      var attrs = {\n        role: isNav ? null : 'menuitemradio',\n        type: isNav || disabled ? null : 'button',\n        'aria-disabled': disabled ? 'true' : null,\n        'aria-controls': _this7.ariaControls || null,\n        'aria-label': hasPropFunction(labelPage) ?\n        /* istanbul ignore next */\n        labelPage(pageNumber) : \"\".concat(isFunction(labelPage) ? labelPage() : labelPage, \" \").concat(pageNumber),\n        'aria-checked': isNav ? null : active ? 'true' : 'false',\n        'aria-current': isNav && active ? 'page' : null,\n        'aria-posinset': isNav ? null : pageNumber,\n        'aria-setsize': isNav ? null : numberOfPages,\n        // ARIA \"roving tabindex\" method (except in `isNav` mode)\n        tabindex: isNav ? null : tabIndex\n      };\n      var btnContent = toString(_this7.makePage(pageNumber));\n      var scope = {\n        page: pageNumber,\n        index: pageNumber - 1,\n        content: btnContent,\n        active: active,\n        disabled: disabled\n      };\n      var $inner = h(disabled ? 'span' : isNav ? BLink : 'button', {\n        props: disabled || !isNav ? {} : _this7.linkProps(pageNumber),\n        staticClass: 'page-link',\n        class: {\n          'flex-grow-1': !isNav && !disabled && fill\n        },\n        attrs: attrs,\n        on: disabled ? {} : {\n          '!click': function click(event) {\n            _this7.onClick(event, pageNumber);\n          },\n          keydown: onSpaceKey\n        }\n      }, [_this7.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]);\n      return h('li', {\n        staticClass: 'page-item',\n        class: [{\n          disabled: disabled,\n          active: active,\n          'flex-fill': fill,\n          'd-flex': fill && !isNav && !disabled\n        }, page.classes, _this7.pageClass],\n        attrs: {\n          role: isNav ? null : 'presentation'\n        },\n        key: \"page-\".concat(pageNumber)\n      }, [$inner]);\n    }; // Goto first page button\n    // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n\n\n    var $firstPageBtn = h();\n\n    if (!this.firstNumber && !this.hideGotoEndButtons) {\n      $firstPageBtn = makeEndBtn(1, this.labelFirstPage, SLOT_NAME_FIRST_TEXT, this.firstText, this.firstClass, 1, 'pagination-goto-first');\n    }\n\n    $buttons.push($firstPageBtn); // Goto previous page button\n\n    $buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, SLOT_NAME_PREV_TEXT, this.prevText, this.prevClass, 1, 'pagination-goto-prev')); // Show first (1) button?\n\n    $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({\n      number: 1\n    }, 0) : h()); // First ellipsis\n\n    $buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual page links\n\n    this.pageList.forEach(function (page, idx) {\n      var offset = showFirstDots && _this7.firstNumber && pageNumbers[0] !== 1 ? 1 : 0;\n      $buttons.push(makePageButton(page, idx + offset));\n    }); // Last ellipsis\n\n    $buttons.push(showLastDots ? makeEllipsis(true) : h()); // Show last page button?\n\n    $buttons.push(this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages ? makePageButton({\n      number: numberOfPages\n    }, -1) : h()); // Goto next page button\n\n    $buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, SLOT_NAME_NEXT_TEXT, this.nextText, this.nextClass, numberOfPages, 'pagination-goto-next')); // Goto last page button\n    // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n\n    var $lastPageBtn = h();\n\n    if (!this.lastNumber && !this.hideGotoEndButtons) {\n      $lastPageBtn = makeEndBtn(numberOfPages, this.labelLastPage, SLOT_NAME_LAST_TEXT, this.lastText, this.lastClass, numberOfPages, 'pagination-goto-last');\n    }\n\n    $buttons.push($lastPageBtn); // Assemble the pagination buttons\n\n    var $pagination = h('ul', {\n      staticClass: 'pagination',\n      class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n      attrs: {\n        role: isNav ? null : 'menubar',\n        'aria-disabled': disabled ? 'true' : 'false',\n        'aria-label': isNav ? null : ariaLabel || null\n      },\n      // We disable keyboard left/right nav when `<b-pagination-nav>`\n      on: isNav ? {} : {\n        keydown: this.handleKeyNav\n      },\n      ref: 'ul'\n    }, $buttons); // If we are `<b-pagination-nav>`, wrap in `<nav>` wrapper\n\n    if (isNav) {\n      return h('nav', {\n        attrs: {\n          'aria-disabled': disabled ? 'true' : null,\n          'aria-hidden': disabled ? 'true' : 'false',\n          'aria-label': isNav ? ariaLabel || null : null\n        }\n      }, [$pagination]);\n    }\n\n    return $pagination;\n  }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n  return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n  return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n  ariaControls: makeProp(PROP_TYPE_STRING),\n  perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n  totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n  name: NAME_PAGINATION,\n  // The render function is brought in via the `paginationMixin`\n  mixins: [paginationMixin],\n  props: props,\n  computed: {\n    numberOfPages: function numberOfPages() {\n      var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n      return result < 1 ? 1 : result;\n    },\n    // Used for watching changes to `perPage` and `numberOfPages`\n    pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n      return {\n        perPage: sanitizePerPage(this.perPage),\n        totalRows: sanitizeTotalRows(this.totalRows),\n        numberOfPages: this.numberOfPages\n      };\n    }\n  },\n  watch: {\n    pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n      if (!isUndefinedOrNull(oldValue)) {\n        if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n          // If the page size changes, reset to page 1\n          this.currentPage = 1;\n        } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n          // If `numberOfPages` changes and is less than\n          // the `currentPage` number, reset to page 1\n          this.currentPage = 1;\n        }\n      }\n\n      this.localNumberOfPages = newValue.numberOfPages;\n    }\n  },\n  created: function created() {\n    var _this = this;\n\n    // Set the initial page count\n    this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n    var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n    if (currentPage > 0) {\n      this.currentPage = currentPage;\n    } else {\n      this.$nextTick(function () {\n        // If this value parses to `NaN` or a value less than `1`\n        // trigger an initial emit of `null` if no page specified\n        _this.currentPage = 0;\n      });\n    }\n  },\n  methods: {\n    // These methods are used by the render function\n    onClick: function onClick(event, pageNumber) {\n      var _this2 = this;\n\n      // Dont do anything if clicking the current active page\n      if (pageNumber === this.currentPage) {\n        return;\n      }\n\n      var target = event.target; // Emit a user-cancelable `page-click` event\n\n      var clickEvent = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n        cancelable: true,\n        vueTarget: this,\n        target: target\n      });\n      this.$emit(clickEvent.type, clickEvent, pageNumber);\n\n      if (clickEvent.defaultPrevented) {\n        return;\n      } // Update the `v-model`\n\n\n      this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n      this.$emit(EVENT_NAME_CHANGE, this.currentPage); // Keep the current button focused if possible\n\n      this.$nextTick(function () {\n        if (isVisible(target) && _this2.$el.contains(target)) {\n          attemptFocus(target);\n        } else {\n          _this2.focusCurrent();\n        }\n      });\n    },\n    makePage: function makePage(pageNum) {\n      return pageNum;\n    },\n\n    /* istanbul ignore next */\n    linkProps: function linkProps() {\n      // No props, since we render a plain button\n      return {};\n    }\n  }\n});","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n  test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n  test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  sort: function sort(comparefn) {\n    return comparefn === undefined\n      ? nativeSort.call(toObject(this))\n      : nativeSort.call(toObject(this), aFunction(comparefn));\n  }\n});\n"],"sourceRoot":""}