{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toaster.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/helpers/bv-toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-simple.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/pagination-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/popover.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-lite.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress-bar.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","NAME","BSpinner","extend","name","functional","props","type","String","default","label","variant","small","Boolean","role","tag","render","h","_ref","_class","data","slots","scopedSlots","$slots","$scopedSlots","staticClass","attrs","class","concat","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","digitsRx","parseSpan","val","parseInt","test","spanValidator","colspan","Number","validator","rowspan","stackedHeading","stickyColumn","BTd","mixins","inheritAttrs","inject","bvTableTr","computed","inTbody","this","inThead","inTfoot","isDark","isStacked","isStackedCell","isResponsive","isStickyHeader","hasStickyHeader","isStickyColumn","rowVariant","headVariant","footVariant","tableVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","$attrs","content","normalizeSlot","on","$listeners","BThead","provide","bvTableRowGroup","bvTable","isThead","dark","stickyHeader","theadClasses","theadAttrs","required","ariaLive","ariaAtomic","DefaultTransition","methods","onAfterEnter","el","_this","afterEnter","BToaster","doRender","dead","staticName","beforeMount","_this2","hasTarget","$once","$root","$emit","destroyed","$el","parentNode","removeChild","$toaster","$target","multiple","slim","transition","id","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","Symbol","iterator","toString","call","Array","from","isArray","arr2","PROP_NAME","PROP_NAME_PRIV","BASE_PROPS","propsToSlots","toastContent","title","filterOptions","options","reduce","memo","plugin","Vue","BToastPop","extends","mounted","self","handleDestroy","localShow","$nextTick","$destroy","$parent","listenOnRoot","toaster","makeToast","toast","parent","propsData","static","visible","prop","$createElement","div","document","createElement","body","appendChild","$mount","BvToast","vm","_vm","_root","undefined","mixin","beforeCreate","hasOwnProperty","get","BVToastPlugin","plugins","BTableSimple","isTableSimple","TableLitePlugin","components","BTableLite","TableSimplePlugin","BTbody","BTfoot","BTr","BTh","TablePlugin","BTable","BVPopoverTemplate","templateType","renderTemplate","$title","$content","titleDomProps","html","innerHTML","contentDomProps","templateClasses","templateAttributes","templateListeners","ref","domProps","BVPopover","getTemplate","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","size","perPage","totalRows","ariaControls","sanitizePerPage","sanitizeTotalRows","BPagination","numberOfPages","result","Math","ceil","pageSizeNumberOfPages","watch","newVal","oldVal","currentPage","localNumberOfPages","created","onClick","num","evt","contains","focus","focusCurrent","makePage","pageNum","linkProps","href","isTfoot","tfootClasses","tfootAttrs","row","ignoreFields","includeFields","fieldsObj","array","f","filterByFormatted","formatter","stringifyObjectValues","sort","v","map","k","join","DEBOUNCE_DEPRECATED_MSG","RX_SPACES","RegExp","filterFunction","Function","filterIgnoredFields","filterIncludedFields","filterDebounce","deprecated","isFiltered","localFilter","filterSanitize","computedFilterIgnored","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","items","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearTimeout","deep","handler","newCriteria","timeout","setTimeout","beforeDestroy","fn","item","_this3","regExp","pattern","replace","lastIndex","computedFieldsObj","a","b","sortBy","sortDesc","localeOpts","locale","nullLast","aa","bb","localeCompare","sortDirection","direction","sortCompare","sortCompareOptions","numeric","sortCompareLocale","sortNullLast","noSortReset","labelSortAsc","labelSortDesc","labelSortClear","noLocalSorting","noFooterSorting","sortIconLeft","localSortBy","localSortDesc","localSorting","noProviderSorting","isSortable","computedFields","some","sortable","sortedItems","slice","sortOptions","usage","sortLocale","field","sortByFormatted","getFieldFormatter","$on","handleSort","$off","isFoot","sortChanged","toggleLocalSortDesc","context","sortTheadThClasses","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","localPaging","noProviderPaging","paginatedItems","max","showEmpty","emptyText","emptyHtml","emptyFilteredText","emptyFilteredHtml","renderEmpty","$empty","computedItems","computedBusy","hasNormalizedSlot","fields","tbodyTrClass","tbodyTrAttr","slotName","renderTopRow","stacked","columns","renderBottomRow","busySlotName","busy","localBusy","stopIfBusy","preventDefault","stopPropagation","renderBusy","selectable","selectMode","selectedVariant","noSelectOnClick","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","identity","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","clearSelected","setSelectionHandlers","_selectedRows","idx","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","range","selectableRowClasses","selectableRowAttrs","method","selectionHandler","selected","shiftKey","min","ctrlKey","metaKey","apiUrl","providerTriggerContext","ctx","_providerUpdate","refresh","_providerSetLocal","emitOnRoot","then","e","message","LIGHT","DARK","isTbody","isRowDark","trClasses","trAttrs","sanitizeNumberOfPages","isNaN","baseUrl","useRouter","linkGen","pageGen","pages","noPageDetect","activeClass","exact","exactActiveClass","noPrefetch","BPaginationNav","isNav","computedValue","setNumberOfPages","$router","$watch","guessCurrentPage","_this4","_this5","currentTarget","blur","getPageInfo","link","path","text","info","_link","makeLink","rel","disabled","append","to","resolveLink","_link2","pathname","hash","search","query","resolveRoute","route","resolve","$route","guess","currRoute","loc","window","location","currLink","page","BPopover","triggers","placement","customClass","delay","boundary","boundaryPadding","getComponent","updateContent","setContent","setTitle","detailsSlotName","detailsTdClass","getTdValues","tdValue","defValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","_showDetails","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","formatted","cellTag","isRowHeader","cellVariant","_cellVariants","tdClass","thAttr","tdAttr","slotScope","unformatted","toggleDetails","detailsShowing","rowSelected","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","tableStriped","striped","rowShowDetails","hasRowClickHandler","$rows","detailsId","safeId","$tds","ariaRowIndex","primaryKey","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","refInFor","_rowVariant","tabindex","mouseenter","mouseleave","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","tbodyClass","getTbodyTrs","refs","$refs","tbody","trs","itemRows","tr","children","getTbodyTrIndex","tagName","indexOf","hasListener","onTbodyRowKeydown","activeElement","tabIndex","keyCode","ENTER","SPACE","onTBodyRowClicked","UP","DOWN","HOME","END","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","cache","defaultSlotName","fullName","lowerName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","tbodyTransitionProps","tbodyTransitionHandlers","caption","captionHtml","captionId","renderCaption","$captionSlot","$caption","ProgressPlugin","BProgress","BProgressBar","isStackedAlways","stackedTableClasses","bvProgress","animated","height","precision","showProgress","showValue","progressHeight","childNodes","style","ToastPlugin","BToast","MIN_DURATION","isStatus","appendToast","noAutoHide","autoHideDelay","noCloseButton","noFade","noHoverPause","solid","toastClass","headerClass","bodyClass","model","event","isMounted","isTransitioning","isHiding","order","timer","dismissStarted","resumeDismiss","bToastClasses","hide","computedDuration","computedToaster","transitionHandlers","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","afterLeave","onAfterLeave","show","ensureToaster","clearDismissTimer","showEvt","buildEvent","emitEvent","Date","now","hideEvt","setHoverHandler","cancelable","relatedTarget","vueTarget","componentId","bvEvt","startDismissTimer","onPause","onUnPause","passed","onLinkClick","hiddenEvt","$headerContent","$header","isLink","$body","$toast","_uid","scopedStyleAttrs","origFields","sample","newItems","BTab","bvTabs","active","buttonId","titleItemClass","titleLinkClass","noBody","lazy","localActive","tabClasses","card","activeTabClass","controlledBy","computedNoFade","fade","computedLazy","_isTab","activate","deactivate","firstTab","registerTab","updated","updateButton","unregisterTab","activateTab","deactivateTab","directives","rawName","expression","mode","TabsPlugin","BTabs","bordered","borderless","outlined","hover","fixed","responsive","noBorderCollapse","captionTop","tableClass","wrapperClasses","wrapperStyles","maxHeight","tableClasses","border","tableAttrs","adb","ariaAttrs","rowCount","renderColgroup","renderThead","renderTfoot","$table","IGNORED_FIELD_KEYS","EVENT_FILTER","footClone","footRowVariant","tfootClass","tfootTrClass","renderTFootCustom","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","PaginationNavPlugin","TABLE_TAG_NAMES","filterEvent","labelFor","input","SpinnerPlugin","headRowVariant","theadClass","theadTrClass","fieldClasses","thClass","headClicked","makeCell","ariaLabel","trim","headerTitle","hasHeadClickListener","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","labelHtml","srLabel","$cells","$trs","trProps","progressBarClasses","computedVariant","computedStriped","computedAnimated","progressBarStyles","width","computedMax","computedPrecision","computedProgress","p","pow","computedShowProgress","computedShowValue","textSelectionActive","sel","containsNode","PaginationPlugin","$colgroup","PopoverPlugin","VBPopoverPlugin","navProps","notDisabled","tab","BTabButtonHelper","tabs","controls","posInSet","setSize","noKeyNav","handleEvt","stop","LEFT","RIGHT","activeNavItemClass","end","noNavStyle","contentClass","navClass","navWrapperClass","tabIdx","currentTab","registeredTabs","localNavClass","classes","vertical","previousTab","nextTab","updateTabs","t","setObserver","_bvObserver","deactivated","activated","_this6","_this7","tabsContainer","childList","subtree","attributes","attributeFilter","disconnect","getTabs","$children","selector","reverse","find","getButtonForTab","buttons","btn","button","$forceUpdate","tabEvt","defaultPrevented","focusButton","_this8","emitTabClick","clickTab","currentIndex","lastTab","_this9","activeTab","fallbackTab","first","prev","next","last","nav","fill","justified","align","pills","cardHeader","empty","col"],"mappings":"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","file":"js/chunk-vendors~79bd1cc9.51ceb7b8.js","sourcesContent":["function _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 '../../utils/vue';\nimport { mergeData } from 'vue-functional-data-merge';\nimport { getComponentConfig } from '../../utils/config';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nvar NAME = 'BSpinner'; // @vue/component\n\nexport var BSpinner =\n/*#__PURE__*/\nVue.extend({\n name: NAME,\n functional: true,\n props: {\n type: {\n type: String,\n default: 'border' // SCSS currently supports 'border' or 'grow'\n\n },\n label: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'variant');\n }\n },\n small: {\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'status'\n },\n tag: {\n type: String,\n default: 'span'\n }\n },\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var label = normalizeSlot('label', {}, $scopedSlots, $slots) || props.label;\n\n if (label) {\n label = h('span', {\n staticClass: 'sr-only'\n }, label);\n }\n\n return h(props.tag, mergeData(data, {\n attrs: {\n role: label ? props.role || 'status' : null,\n 'aria-hidden': label ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), props.type), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), props.variant), _class)\n }), [label || h()]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 '../../utils/vue';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toString } from '../../utils/string';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nvar digitsRx = /^\\d+$/; // Parse a rowspan or colspan into a digit (or null if < 1 or NaN)\n\nvar parseSpan = function parseSpan(val) {\n val = parseInt(val, 10);\n return digitsRx.test(String(val)) && val > 0 ? val : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(val) {\n return isUndefinedOrNull(val) || parseSpan(val) > 0;\n};\n\nexport var props = {\n variant: {\n type: String,\n default: null\n },\n colspan: {\n type: [Number, String],\n default: null,\n validator: spanValidator\n },\n rowspan: {\n type: [Number, String],\n default: null,\n validator: spanValidator\n },\n stackedHeading: {\n type: String,\n default: null\n },\n stickyColumn: {\n type: Boolean,\n default: false\n }\n}; // @vue/component\n\nexport var BTd =\n/*#__PURE__*/\nVue.extend({\n name: 'BTableCell',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvTableTr: {\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n tag: function tag() {\n // Overridden by \n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n isStackedCell: function isStackedCell() {\n // We only support stacked-heading in tbody in stacked mode\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n return this.bvTableTr.isStickyHeader;\n },\n hasStickyHeader: function hasStickyHeader() {\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return this.bvTableTr.hasStickyHeader;\n },\n isStickyColumn: function isStickyColumn() {\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant()\n /* istanbul ignore next: need to add in tests for footer variant */\n {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n cellClasses: function cellClasses() {\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n // TODO: need to add handling for footVariant\n var variant = this.variant;\n\n if (!variant && this.isStickyHeader && !this.headVariant || !variant && this.isStickyColumn) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's background-color. Boo!\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, this.isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (this.tag === 'th') {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.$attrs, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(this.stackedHeading) ? toString(this.stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var content = [this.normalizeSlot('default')];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.$listeners\n }, [this.isStackedCell ? h('div', [content]) : content]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 '../../utils/vue';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nexport var props = {\n headVariant: {\n // Also sniffed by / / \n type: String,\n // supported values: 'lite', 'dark', or null\n default: null\n }\n}; // @vue/component\n\nexport var BThead =\n/*#__PURE__*/\nVue.extend({\n name: 'BThead',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n bvTable: {\n // Sniffed by / / \n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n isThead: function isThead() {\n // Sniffed by / / \n return true;\n },\n isDark: function isDark() {\n // Sniffed by / / \n return this.bvTable.dark;\n },\n isStacked: function isStacked() {\n // Sniffed by / / \n return this.bvTable.isStacked;\n },\n isResponsive: function isResponsive() {\n // Sniffed by / / \n return this.bvTable.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Sniffed by / / \n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n hasStickyHeader: function hasStickyHeader() {\n // Sniffed by / / \n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n tableVariant: function tableVariant() {\n // Sniffed by / / \n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.$attrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.$listeners\n }, this.normalizeSlot('default'));\n }\n});","import Vue from '../../utils/vue';\nimport { PortalTarget, Wormhole } from 'portal-vue';\nimport { getComponentConfig } from '../../utils/config';\nimport { removeClass, requestAF } from '../../utils/dom';\nimport { warn } from '../../utils/warn'; // --- Constants ---\n\nvar NAME = 'BToaster';\nexport var props = {\n name: {\n type: String,\n required: true\n },\n ariaLive: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'ariaLive');\n }\n },\n ariaAtomic: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'ariaAtomic');\n } // Allowed: 'true' or 'false' or null\n\n },\n role: {\n // Aria role\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'role');\n }\n }\n /*\n transition: {\n type: [Boolean, String, Object],\n default: false\n }\n */\n\n}; // @vue/component\n\nexport var DefaultTransition =\n/*#__PURE__*/\nVue.extend({\n data: function data() {\n return {\n // Transition classes base name\n name: 'b-toaster'\n };\n },\n methods: {\n onAfterEnter: function onAfterEnter(el) {\n var _this = this;\n\n // Handle bug where enter-to class is not removed.\n // Bug is related to portal-vue and transition-groups.\n requestAF(function () {\n removeClass(el, \"\".concat(_this.name, \"-enter-to\")); // The *-move class is also stuck on elements that moved,\n // but there are no javascript hooks to handle after move.\n });\n }\n },\n render: function render(h) {\n return h('transition-group', {\n props: {\n tag: 'div',\n name: this.name\n },\n on: {\n afterEnter: this.onAfterEnter\n }\n }, this.$slots.default);\n }\n}); // @vue/component\n\nexport var BToaster =\n/*#__PURE__*/\nVue.extend({\n name: NAME,\n props: props,\n data: function data() {\n return {\n // We don't render on SSR or if a an existing target found\n doRender: false,\n dead: false,\n // Toaster names cannot change once created\n staticName: this.name\n };\n },\n beforeMount: function beforeMount() {\n var _this2 = this;\n\n this.staticName = this.name;\n /* istanbul ignore if */\n\n if (Wormhole.hasTarget(this.staticName)) {\n warn(\"A \\\"\\\" with name \\\"\".concat(this.name, \"\\\" already exists in the document.\"), 'BToaster');\n this.dead = true;\n } else {\n this.doRender = true;\n this.$once('hook:beforeDestroy', function () {\n // Let toasts made with `this.$bvToast.toast()` know that this toaster\n // is being destroyed and should should also destroy/hide themselves\n _this2.$root.$emit('bv::toaster::destroyed', _this2.staticName);\n });\n }\n },\n destroyed: function destroyed() {\n // Remove from DOM if needed\n\n /* istanbul ignore next: difficult to test */\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n render: function render(h) {\n var $toaster = h('div', {\n class: ['d-none', {\n 'b-dead-toaster': this.dead\n }]\n });\n\n if (this.doRender) {\n var $target = h(PortalTarget, {\n staticClass: 'b-toaster-slot',\n props: {\n name: this.staticName,\n multiple: true,\n tag: 'div',\n slim: false,\n // transition: this.transition || DefaultTransition\n transition: DefaultTransition\n }\n });\n $toaster = h('div', {\n staticClass: 'b-toaster',\n class: [this.staticName],\n attrs: {\n id: this.staticName,\n role: this.role || null,\n // Fallback to null to make sure attribute doesn't exist\n 'aria-live': this.ariaLive,\n 'aria-atomic': this.ariaAtomic\n }\n }, [$target]);\n }\n\n return $toaster;\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n/**\n * Plugin for adding `$bvToast` property to all Vue instances\n */\nimport { concat } from '../../../utils/array';\nimport { getComponentConfig } from '../../../utils/config';\nimport { requestAF } from '../../../utils/dom';\nimport { isUndefined, isString } from '../../../utils/inspect';\nimport { assign, defineProperties, defineProperty, keys, omit, readonlyDescriptor } from '../../../utils/object';\nimport { pluginFactory } from '../../../utils/plugins';\nimport { warn, warnNotClient } from '../../../utils/warn';\nimport { BToast, props as toastProps } from '../toast'; // --- Constants ---\n\nvar PROP_NAME = '$bvToast';\nvar PROP_NAME_PRIV = '_bv__toast'; // Base toast props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray(keys(omit(toastProps, ['static', 'visible'])))); // Map prop names to toast slot names\n\nvar propsToSlots = {\n toastContent: 'default',\n title: 'toast-title'\n}; // --- Utility methods ---\n// Method to filter only recognized props that are not undefined\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!isUndefined(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Method to install `$bvToast` VM injection\n\n\nvar plugin = function plugin(Vue) {\n // Create a private sub-component constructor that\n // extends BToast and self-destructs after hidden\n // @vue/component\n var BToastPop = Vue.extend({\n name: 'BToastPop',\n extends: BToast,\n destroyed: function destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n mounted: function mounted() {\n var self = this; // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n // Ensure the toast has been force hidden\n self.localShow = false;\n self.doRender = false;\n self.$nextTick(function () {\n self.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n // and to allow the portal-target time to remove the content\n requestAF(function () {\n self.$destroy();\n });\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once('hook:destroyed', handleDestroy); // Self destruct after hidden\n\n this.$once('hidden', handleDestroy); // Self destruct when toaster is destroyed\n\n this.listenOnRoot('bv::toaster::destroyed', function (toaster) {\n /* istanbul ignore next: hard to test */\n if (toaster === self.toaster) {\n handleDestroy();\n }\n });\n }\n }); // Private method to generate the on-demand toast\n\n var makeToast = function makeToast(props, $parent) {\n if (warnNotClient(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n } // Create an instance of `BToastPop` component\n\n\n var toast = new BToastPop({\n // We set parent as the local VM so these toasts can emit events on the\n // app `$root`, and it ensures `BToast` is destroyed when parent is destroyed\n parent: $parent,\n propsData: _objectSpread({}, filterOptions(getComponentConfig('BToast') || {}), {}, omit(props, keys(propsToSlots)), {\n // Props that can't be overridden\n static: false,\n visible: true\n })\n }); // Convert certain props to slots\n\n keys(propsToSlots).forEach(function (prop) {\n var value = props[prop];\n\n if (!isUndefined(value)) {\n // Can be a string, or array of VNodes\n if (prop === 'title' && isString(value)) {\n // Special case for title if it is a string, we wrap in a \n value = [$parent.$createElement('strong', {\n class: 'mr-2'\n }, value)];\n }\n\n toast.$slots[propsToSlots[prop]] = concat(value);\n }\n }); // Create a mount point (a DIV) and mount it (which triggers the show)\n\n var div = document.createElement('div');\n document.body.appendChild(div);\n toast.$mount(div);\n }; // Declare BvToast instance property class\n\n\n var BvToast =\n /*#__PURE__*/\n function () {\n function BvToast(vm) {\n _classCallCheck(this, BvToast);\n\n // Assign the new properties to this instance\n assign(this, {\n _vm: vm,\n _root: vm.$root\n }); // Set these properties as read-only and non-enumerable\n\n defineProperties(this, {\n _vm: readonlyDescriptor(),\n _root: readonlyDescriptor()\n });\n } // --- Public Instance methods ---\n // Opens a user defined toast and returns immediately\n\n\n _createClass(BvToast, [{\n key: \"toast\",\n value: function toast(content) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!content || warnNotClient(PROP_NAME)) {\n /* istanbul ignore next */\n return;\n }\n\n makeToast(_objectSpread({}, filterOptions(options), {\n toastContent: content\n }), this._vm);\n } // shows a `` component with the specified ID\n\n }, {\n key: \"show\",\n value: function show(id) {\n if (id) {\n this._root.$emit('bv::show::toast', id);\n }\n } // Hide a toast with specified ID, or if not ID all toasts\n\n }, {\n key: \"hide\",\n value: function hide() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this._root.$emit('bv::hide::toast', id);\n }\n }]);\n\n return BvToast;\n }(); // Add our instance mixin\n\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvToast` for each VM\n this[PROP_NAME_PRIV] = new BvToast(this);\n }\n }); // Define our read-only `$bvToast` instance property\n // Placed in an if just in case in HMR mode\n // eslint-disable-next-line no-prototype-builtins\n\n if (!Vue.prototype.hasOwnProperty(PROP_NAME)) {\n defineProperty(Vue.prototype, PROP_NAME, {\n get: function get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n warn(\"\\\"\".concat(PROP_NAME, \"\\\" must be accessed from a Vue instance \\\"this\\\" context.\"), 'BToast');\n }\n\n return this[PROP_NAME_PRIV];\n }\n });\n }\n};\n\nexport var BVToastPlugin =\n/*#__PURE__*/\npluginFactory({\n plugins: {\n plugin: plugin\n }\n});","import Vue from '../../utils/vue'; // Mixins\n\nimport idMixin from '../../mixins/id';\nimport normalizeSlotMixin from '../../mixins/normalize-slot'; // Main table renderer mixin\n\nimport tableRendererMixin from './helpers/mixin-table-renderer'; // Feature miins\n\nimport stackedMixin from './helpers/mixin-stacked'; // b-table-simple component definition\n// @vue/component\n\nexport var BTableSimple =\n/*#__PURE__*/\nVue.extend({\n name: 'BTableSimple',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [// Required mixins\n idMixin, normalizeSlotMixin, tableRendererMixin, // feature mixin\n // Stacked requires extra handling by users via\n // the table cell `stacked-heading` prop\n stackedMixin],\n computed: {\n isTableSimple: function isTableSimple() {\n return true;\n }\n } // render function provided by table-renderer mixin\n\n});","import { BTable } from './table';\nimport { BTableLite } from './table-lite';\nimport { BTableSimple } from './table-simple';\nimport { BTbody } from './tbody';\nimport { BThead } from './thead';\nimport { BTfoot } from './tfoot';\nimport { BTr } from './tr';\nimport { BTd } from './td';\nimport { BTh } from './th';\nimport { pluginFactory } from '../../utils/plugins';\nvar TableLitePlugin =\n/*#__PURE__*/\npluginFactory({\n components: {\n BTableLite: BTableLite\n }\n});\nvar TableSimplePlugin =\n/*#__PURE__*/\npluginFactory({\n components: {\n BTableSimple: BTableSimple,\n BTbody: BTbody,\n BThead: BThead,\n BTfoot: BTfoot,\n BTr: BTr,\n BTd: BTd,\n BTh: BTh\n }\n});\nvar TablePlugin =\n/*#__PURE__*/\npluginFactory({\n components: {\n BTable: BTable\n },\n plugins: {\n TableLitePlugin: TableLitePlugin,\n TableSimplePlugin: TableSimplePlugin\n }\n});\nexport { // Plugins\nTablePlugin, TableLitePlugin, TableSimplePlugin // Table components\n, BTable, BTableLite, BTableSimple // Helper components\n, BTbody, BThead, BTfoot, BTr, BTd, BTh };","import Vue from '../../../utils/vue';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { BVTooltipTemplate } from '../../tooltip/helpers/bv-tooltip-template';\nvar NAME = 'BVPopoverTemplate'; // @vue/component\n\nexport var BVPopoverTemplate =\n/*#__PURE__*/\nVue.extend({\n name: NAME,\n extends: BVTooltipTemplate,\n computed: {\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n // Title and content could be a scoped slot function\n var $title = isFunction(this.title) ? this.title({}) : this.title;\n var $content = isFunction(this.content) ? this.content({}) : this.content; // Directive usage only\n\n var titleDomProps = this.html && !isFunction(this.title) ? {\n innerHTML: this.title\n } : {};\n var contentDomProps = this.html && !isFunction(this.content) ? {\n innerHTML: this.content\n } : {};\n return h('div', {\n staticClass: 'popover b-popover',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n ref: 'arrow',\n staticClass: 'arrow'\n }), isUndefinedOrNull($title) || $title === '' ? h() : h('h3', {\n staticClass: 'popover-header',\n domProps: titleDomProps\n }, [$title]), isUndefinedOrNull($content) || $content === '' ? h() : h('div', {\n staticClass: 'popover-body',\n domProps: contentDomProps\n }, [$content])]);\n }\n }\n});","// Popover \"Class\" (Built as a renderless Vue instance)\n// Inherits from BVTooltip\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport Vue from '../../../utils/vue';\nimport { BVTooltip } from '../../tooltip/helpers/bv-tooltip';\nimport { BVPopoverTemplate } from './bv-popover-template';\nvar NAME = 'BVPopover'; // @vue/component\n\nexport var BVPopover =\n/*#__PURE__*/\nVue.extend({\n name: NAME,\n extends: BVTooltip,\n computed: {\n // Overwrites BVTooltip\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n getTemplate: function getTemplate() {\n // Overwrites BVTooltip\n return BVPopoverTemplate;\n }\n }\n});","import Vue from '../../utils/vue';\nimport { getComponentConfig } from '../../utils/config';\nimport { isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport paginationMixin from '../../mixins/pagination'; // --- Constants ---\n\nvar NAME = 'BPagination';\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0;\nvar props = {\n size: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'size');\n }\n },\n perPage: {\n type: [Number, String],\n default: DEFAULT_PER_PAGE\n },\n totalRows: {\n type: [Number, String],\n default: DEFAULT_TOTAL_ROWS\n },\n ariaControls: {\n type: String,\n default: null\n }\n}; // --- Helper functions ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(val) {\n var perPage = toInteger(val) || DEFAULT_PER_PAGE;\n return perPage < 1 ? 1 : perPage;\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(val) {\n var totalRows = toInteger(val) || DEFAULT_TOTAL_ROWS;\n return totalRows < 0 ? 0 : totalRows;\n}; // The render function is brought in via the `paginationMixin`\n// @vue/component\n\n\nexport var BPagination =\n/*#__PURE__*/\nVue.extend({\n name: NAME,\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = Math.ceil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n // Used for watching changes to `perPage` and `numberOfPages`\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(newVal, oldVal) {\n if (!isUndefinedOrNull(oldVal)) {\n if (newVal.perPage !== oldVal.perPage && newVal.totalRows === oldVal.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newVal.numberOfPages !== oldVal.numberOfPages && this.currentPage > newVal.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 = newVal.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.value) || 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 mounted: function mounted() {\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages;\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(num, evt) {\n var _this2 = this;\n\n // Handle edge cases where number of pages has changed (i.e. if perPage changes)\n // This should normally not happen, but just in case.\n if (num > this.numberOfPages) {\n /* istanbul ignore next */\n num = this.numberOfPages;\n } else if (num < 1) {\n /* istanbul ignore next */\n num = 1;\n } // Update the v-model\n\n\n this.currentPage = num; // Emit event triggered by user interaction\n\n this.$emit('change', this.currentPage);\n this.$nextTick(function () {\n // Keep the current button focused if possible\n var target = evt.target;\n\n if (isVisible(target) && _this2.$el.contains(target) && target.focus) {\n target.focus();\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n linkProps: function linkProps() {\n // Always '#' for pagination component\n return {\n href: '#'\n };\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 '../../utils/vue';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nexport var props = {\n footVariant: {\n type: String,\n // supported values: 'lite', 'dark', or null\n default: null\n }\n}; // @vue/component\n\nexport var BTfoot =\n/*#__PURE__*/\nVue.extend({\n name: 'BTfoot',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n bvTable: {\n // Sniffed by / / \n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n isTfoot: function isTfoot() {\n // Sniffed by / / \n return true;\n },\n isDark: function isDark()\n /* istanbul ignore next: Not currently sniffed in tests */\n {\n // Sniffed by / / \n return this.bvTable.dark;\n },\n isStacked: function isStacked() {\n // Sniffed by / / \n return this.bvTable.isStacked;\n },\n isResponsive: function isResponsive() {\n // Sniffed by / / \n return this.bvTable.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Sniffed by / / \n // Sticky headers are only supported in thead\n return false;\n },\n hasStickyHeader: function hasStickyHeader() {\n // Sniffed by / / \n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n tableVariant: function tableVariant()\n /* istanbul ignore next: Not currently sniffed in tests */\n {\n // Sniffed by / / \n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.$attrs);\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.$listeners\n }, this.normalizeSlot('default'));\n }\n});","import { keys } from '../../../utils/object';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction } from '../../../utils/inspect';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nvar sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return keys(row).reduce(function (obj, key) {\n // Ignore special fields that start with `_`\n // Ignore fields in the `ignoreFields` array\n // Include only fields in the `includeFields` array\n if (!IGNORED_FIELD_KEYS[key] && !(ignoreFields && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(includeFields && includeFields.length > 0 && !arrayIncludes(includeFields, key))) {\n var f = fieldsObj[key] || {};\n var val = row[key]; // `f.filterByFormatted` will either be a function or boolean\n // `f.formater` will have already been noramlized into a function ref\n\n var filterByFormatted = f.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ? filterByFormatted : filterByFormatted ? f.formatter : null;\n obj[key] = isFunction(formatter) ? formatter(val, key, row) : val;\n }\n\n return obj;\n }, {});\n};\n\nexport default sanitizeRow;","import { keys } from '../../../utils/object';\nimport { isDate, isObject, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toString } from '../../../utils/string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Primitives (numbers/strings) are returned as-is\n// Null and undefined values are filtered out\n// Dates are converted to their native string format\n\nvar stringifyObjectValues = function stringifyObjectValues(val) {\n if (isUndefinedOrNull(val)) {\n /* istanbul ignore next */\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(val) && !isDate(val)) {\n return keys(val).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .filter(function (v) {\n return !isUndefinedOrNull(v);\n }) // Ignore undefined/null values\n .map(function (k) {\n return stringifyObjectValues(val[k]);\n }).join(' ');\n }\n\n return toString(val);\n};\n\nexport default stringifyObjectValues;","import { isObject } from '../../../utils/inspect';\nimport sanitizeRow from './sanitize-row';\nimport stringifyObjectValues from './stringify-object-values'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nvar stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) : '';\n};\n\nexport default stringifyRecordValues;","import cloneDeep from '../../../utils/clone-deep';\nimport looseEqual from '../../../utils/loose-equal';\nimport { concat } from '../../../utils/array';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { toInteger } from '../../../utils/number';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport stringifyRecordValues from './stringify-record-values';\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.';\nvar RX_SPACES = /[\\s\\uFEFF\\xA0]+/g;\nexport default {\n props: {\n filter: {\n type: [String, RegExp, Object, Array],\n default: null\n },\n filterFunction: {\n type: Function,\n default: null\n },\n filterIgnoredFields: {\n type: Array // default: undefined\n\n },\n filterIncludedFields: {\n type: Array // default: undefined\n\n },\n filterDebounce: {\n type: [Number, String],\n deprecated: DEBOUNCE_DEPRECATED_MSG,\n default: 0,\n validator: function validator(val) {\n return /^\\d+/.test(String(val));\n }\n }\n },\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return this.filterIgnoredFields ? concat(this.filterIgnoredFields).filter(Boolean) : null;\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return this.filterIncludedFields ? concat(this.filterIncludedFields).filter(Boolean) : null;\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce) || 0;\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, 'BTable');\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n return {\n filteredItems: this.filteredItems,\n localItems: this.localItems,\n localFilter: this.localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n return isFunction(this.filterFunction) ? this.filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n var items = this.localItems || []; // Note the criteria is debounced and sanitized\n\n var criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newVal) {\n if (!newVal && this.$_filterTimer) {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit('filtered', filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newVal, oldVal) {\n if (newVal === false && oldVal === true) {\n // We need to emit a filtered event if isFiltered transitions from true to\n // false so that users can update their pagination controls.\n this.$emit('filtered', this.localItems, this.localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive prop where we store the debounce timer id\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy()\n /* istanbul ignore next */\n {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n methods: {\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n};","import get from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isUndefinedOrNull } from '../../../utils/inspect';\nimport stringifyObjectValues from './stringify-object-values'; // Default sort compare routine\n//\n// TODO: Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where sortBy could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in mixin-sort.js by\n// calling this method for each sortBy\n\nvar defaultSortCompare = function defaultSortCompare(a, b, sortBy, sortDesc, formatter, localeOpts, locale, nullLast) {\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null);\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n }\n\n aa = isUndefinedOrNull(aa) ? '' : aa;\n bb = isUndefinedOrNull(bb) ? '' : bb;\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting null/undefined/empty string last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting null/undefined/empty string last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOpts);\n};\n\nexport default defaultSortCompare;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 stableSort from '../../../utils/stable-sort';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { trim } from '../../../utils/string';\nimport defaultSortCompare from './default-sort-compare';\nexport default {\n props: {\n sortBy: {\n type: String,\n default: ''\n },\n sortDesc: {\n // TODO: Make this tri-state: true, false, null\n type: Boolean,\n default: false\n },\n sortDirection: {\n // This prop is named incorrectly\n // It should be `initialSortDirection` as it is a bit misleading\n // (not to mention it screws up the ARIA label on the headers)\n type: String,\n default: 'asc',\n validator: function validator(direction) {\n return arrayIncludes(['asc', 'desc', 'last'], direction);\n }\n },\n sortCompare: {\n type: Function,\n default: null\n },\n sortCompareOptions: {\n // Supported localCompare options, see `options` section of:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\n type: Object,\n default: function _default() {\n return {\n numeric: true\n };\n }\n },\n sortCompareLocale: {\n // String: locale code\n // Array: array of Locale strings\n type: [String, Array] // default: undefined\n\n },\n sortNullLast: {\n // Sort null and undefined to appear last\n type: Boolean,\n default: false\n },\n noSortReset: {\n // Another prop that should have had a better name.\n // It should be noSortClear (on non-sortable headers).\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n type: Boolean,\n default: false\n },\n labelSortAsc: {\n type: String,\n default: 'Click to sort Ascending'\n },\n labelSortDesc: {\n type: String,\n default: 'Click to sort Descending'\n },\n labelSortClear: {\n type: String,\n default: 'Click to clear sorting'\n },\n noLocalSorting: {\n type: Boolean,\n default: false\n },\n noFooterSorting: {\n type: Boolean,\n default: false\n },\n sortIconLeft: {\n // Place the sorting icon on the left of the header cells\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localSortBy: this.sortBy || '',\n localSortDesc: this.sortDesc || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n sortedItems: function sortedItems() {\n // Sorts the filtered items and returns a new array of the sorted items\n // or the original items array if not sorted.\n var items = (this.filteredItems || this.localItems || []).slice();\n var sortBy = this.localSortBy;\n var sortDesc = this.localSortDesc;\n var sortCompare = this.sortCompare;\n var localSorting = this.localSorting;\n\n var sortOptions = _objectSpread({}, this.sortCompareOptions, {\n usage: 'sort'\n });\n\n var sortLocale = this.sortCompareLocale || undefined;\n var nullLast = this.sortNullLast;\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ? sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null;\n\n if (isFunction(sortCompare)) {\n // Call user provided sortCompare routine\n result = sortCompare(a, b, sortBy, sortDesc, formatter, sortOptions, sortLocale);\n }\n\n if (isUndefinedOrNull(result) || result === false) {\n // Fallback to built-in defaultSortCompare if sortCompare\n // is not defined or returns null/false\n result = defaultSortCompare(a, b, sortBy, sortDesc, formatter, sortOptions, sortLocale, nullLast);\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: {\n isSortable: function isSortable(newVal)\n /* istanbul ignore next: pain in the butt to test */\n {\n if (newVal) {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n } else {\n this.$off('head-clicked', this.handleSort);\n }\n },\n sortDesc: function sortDesc(newVal) {\n if (newVal === this.localSortDesc) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortDesc = newVal || false;\n },\n sortBy: function sortBy(newVal) {\n if (newVal === this.localSortBy) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortBy = newVal || '';\n },\n // Update .sync props\n localSortDesc: function localSortDesc(newVal, oldVal) {\n // Emit update to sort-desc.sync\n if (newVal !== oldVal) {\n this.$emit('update:sortDesc', newVal);\n }\n },\n localSortBy: function localSortBy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:sortBy', newVal);\n }\n }\n },\n created: function created() {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, evt, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === 'asc') {\n _this.localSortDesc = false;\n } else if (sortDirection === 'desc') {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n if (key === this.localSortBy) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = key; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit('sort-changed', this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === 'asc') {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === 'desc') {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n};","export default {\n props: {\n perPage: {\n type: [Number, String],\n default: 0\n },\n currentPage: {\n type: [Number, String],\n default: 1\n }\n },\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = Math.max(parseInt(this.currentPage, 10) || 1, 1);\n var perPage = Math.max(parseInt(this.perPage, 10) || 0, 0); // Apply local pagination\n\n if (this.localPaging && !!perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n};","import { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nexport default {\n props: {\n showEmpty: {\n type: Boolean,\n default: false\n },\n emptyText: {\n type: String,\n default: 'There are no records to show'\n },\n emptyHtml: {\n type: String\n },\n emptyFilteredText: {\n type: String,\n default: 'There are no records matching your request'\n },\n emptyFilteredHtml: {\n type: String\n }\n },\n methods: {\n renderEmpty: function renderEmpty() {\n var h = this.$createElement;\n var items = this.computedItems;\n var $empty;\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot('table-busy'))) {\n $empty = this.normalizeSlot(this.isFiltered ? 'emptyfiltered' : 'empty', {\n emptyFilteredHtml: this.emptyFilteredHtml,\n emptyFilteredText: this.emptyFilteredText,\n emptyHtml: this.emptyHtml,\n emptyText: this.emptyText,\n fields: this.computedFields,\n // Not sure why this is included, as it will always be an empty array\n items: this.computedItems\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: this.isFiltered ? htmlOrText(this.emptyFilteredHtml, this.emptyFilteredText) : htmlOrText(this.emptyHtml, this.emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n key: this.isFiltered ? 'b-empty-filtered-row' : 'b-empty-row',\n staticClass: 'b-table-empty-row',\n class: [isFunction(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-empty') : this.tbodyTrClass],\n attrs: isFunction(this.tbodyTrAttr) ? this.tbodyTrAttr(null, 'row-empty') : this.tbodyTrAttr\n }, [$empty]);\n }\n\n return $empty || h();\n }\n }\n};","import { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr';\nvar slotName = 'top-row';\nexport default {\n methods: {\n renderTopRow: function renderTopRow() {\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(slotName) || this.stacked === true || this.stacked === '') {\n return h();\n }\n\n var fields = this.computedFields;\n return h(BTr, {\n key: 'b-top-row',\n staticClass: 'b-table-top-row',\n class: [isFunction(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-top') : this.tbodyTrClass],\n attrs: isFunction(this.tbodyTrAttr) ? this.tbodyTrAttr(null, 'row-top') : this.tbodyTrAttr\n }, [this.normalizeSlot(slotName, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n};","import { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr';\nvar slotName = 'bottom-row';\nexport default {\n methods: {\n renderBottomRow: function renderBottomRow() {\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(slotName) || this.stacked === true || this.stacked === '') {\n return h();\n }\n\n var fields = this.computedFields;\n return h(BTr, {\n key: 'b-bottom-row',\n staticClass: 'b-table-bottom-row',\n class: [isFunction(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-bottom') : this.tbodyTrClass],\n attrs: isFunction(this.tbodyTrAttr) ? this.tbodyTrAttr(null, 'row-bottom') : this.tbodyTrAttr\n }, this.normalizeSlot(slotName, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n};","import { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nvar busySlotName = 'table-busy';\nexport default {\n props: {\n busy: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this.busy || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:busy', newVal);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(evt) {\n if (this.computedBusy) {\n // If table is busy (via provider) then don't propagate\n evt.preventDefault();\n evt.stopPropagation();\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(busySlotName)) {\n // Show the busy slot\n return h(BTr, {\n key: 'table-busy-slot',\n staticClass: 'b-table-busy-slot',\n class: [isFunction(this.tbodyTrClass) ? this.tbodyTrClass(null, busySlotName) : this.tbodyTrClass],\n attrs: isFunction(this.tbodyTrAttr) ? this.tbodyTrAttr(null, busySlotName) : this.tbodyTrAttr\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(busySlotName)])]);\n } else {\n // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n return null;\n }\n }\n }\n};","function _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 identity from '../../../utils/identity';\nimport looseEqual from '../../../utils/loose-equal';\nimport range from '../../../utils/range';\nimport { isArray, arrayIncludes } from '../../../utils/array';\nimport { getComponentConfig } from '../../../utils/config';\nimport { isNumber } from '../../../utils/inspect';\nimport sanitizeRow from './sanitize-row';\nexport default {\n props: {\n selectable: {\n type: Boolean,\n default: false\n },\n selectMode: {\n type: String,\n default: 'multi',\n validator: function validator(val) {\n return arrayIncludes(['range', 'multi', 'single'], val);\n }\n },\n selectedVariant: {\n type: String,\n default: function _default() {\n return getComponentConfig('BTable', 'selectedVariant');\n }\n },\n noSelectOnClick: {\n // Disable use of click handlers for row selection\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n return this.isSelectable && this.selectedRows && this.selectedRows.length > 0 && this.selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n return _ref = {\n 'b-table-selectable': this.isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), this.isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', this.isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newVal, oldVal) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newVal) && isArray(oldVal) && newVal.length === oldVal.length;\n\n for (var i = 0; equal && i < newVal.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newVal[i]), sanitizeRow(oldVal[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newVal) {\n this.clearSelected();\n this.setSelectionHandlers(newVal);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newVal) {\n this.clearSelected();\n this.setSelectionHandlers(!newVal);\n },\n selectedRows: function selectedRows(_selectedRows, oldVal) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldVal)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit('row-selected', items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? range(length).map(function () {\n return true;\n }) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n } else {\n return {};\n }\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method]('row-clicked', this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method]('filtered', this.clearSelected);\n this[method]('context-changed', this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, evt) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (this.selectedLastRow > -1 && evt.shiftKey) {\n // range\n for (var idx = Math.min(this.selectedLastRow, index); idx <= Math.max(this.selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(evt.ctrlKey || evt.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n};","import looseEqual from '../../../utils/loose-equal';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { clone } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport listenOnRootMixin from '../../../mixins/listen-on-root';\nexport default {\n mixins: [listenOnRootMixin],\n props: {\n // Prop override(s)\n items: {\n // Adds in 'Function' support\n type: [Array, Function],\n default: function _default()\n /* istanbul ignore next */\n {\n return [];\n }\n },\n // Additional props\n noProviderPaging: {\n type: Boolean,\n default: false\n },\n noProviderSorting: {\n type: Boolean,\n default: false\n },\n noProviderFiltering: {\n type: Boolean,\n default: false\n },\n apiUrl: {\n // Passthrough prop. Passed to the context object. Not used by b-table directly\n type: String,\n default: ''\n }\n },\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newVal) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newVal)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newVal, oldVal) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newVal, oldVal)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot('bv::refresh::table', function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n // Public Method: Force a refresh of the provider function\n this.$off('refreshed', this.refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on('refreshed', this.refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(this.items) ? this.items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit('refreshed'); // New root emit\n\n if (this.id) {\n this.emitOnRoot('bv::table::refreshed', this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", 'BTable');\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), 'BTable');\n _this2.localBusy = false;\n\n _this2.$off('refreshed', _this2.refresh);\n }\n });\n }\n }\n};","import Vue from '../../utils/vue'; // Mixins\n\nimport hasListenerMixin from '../../mixins/has-listener';\nimport idMixin from '../../mixins/id';\nimport normalizeSlotMixin from '../../mixins/normalize-slot'; // Table helper Mixins\n\nimport itemsMixin from './helpers/mixin-items';\nimport stackedMixin from './helpers/mixin-stacked';\nimport filteringMixin from './helpers/mixin-filtering';\nimport sortingMixin from './helpers/mixin-sorting';\nimport paginationMixin from './helpers/mixin-pagination';\nimport captionMixin from './helpers/mixin-caption';\nimport colgroupMixin from './helpers/mixin-colgroup';\nimport theadMixin from './helpers/mixin-thead';\nimport tfootMixin from './helpers/mixin-tfoot';\nimport tbodyMixin from './helpers/mixin-tbody';\nimport emptyMixin from './helpers/mixin-empty';\nimport topRowMixin from './helpers/mixin-top-row';\nimport bottomRowMixin from './helpers/mixin-bottom-row';\nimport busyMixin from './helpers/mixin-busy';\nimport selectableMixin from './helpers/mixin-selectable';\nimport providerMixin from './helpers/mixin-provider'; // Main table renderer mixin\n\nimport tableRendererMixin from './helpers/mixin-table-renderer'; // b-table component definition\n// @vue/component\n\nexport var BTable =\n/*#__PURE__*/\nVue.extend({\n name: 'BTable',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [// Required Mixins\n hasListenerMixin, idMixin, normalizeSlotMixin, itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Features Mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin] // render function provided by table-renderer mixin\n\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 '../../utils/vue';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nexport var props = {\n variant: {\n type: String,\n default: null\n }\n};\nvar LIGHT = 'light';\nvar DARK = 'dark'; // @vue/component\n\nexport var BTr =\n/*#__PURE__*/\nVue.extend({\n name: 'BTr',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: props,\n computed: {\n inTbody: function inTbody() {\n // Sniffed by / \n return this.bvTableRowGroup.isTbody;\n },\n inThead: function inThead() {\n // Sniffed by / \n return this.bvTableRowGroup.isThead;\n },\n inTfoot: function inTfoot() {\n // Sniffed by / \n return this.bvTableRowGroup.isTfoot;\n },\n isDark: function isDark() {\n // Sniffed by / \n return this.bvTableRowGroup.isDark;\n },\n isStacked: function isStacked() {\n // Sniffed by / \n return this.bvTableRowGroup.isStacked;\n },\n isResponsive: function isResponsive() {\n // Sniffed by / \n return this.bvTableRowGroup.isResponsive;\n },\n isStickyHeader: function isStickyHeader() {\n // Sniffed by / \n // Sticky headers are only supported in thead\n return this.bvTableRowGroup.isStickyHeader;\n },\n hasStickyHeader: function hasStickyHeader() {\n // Sniffed by / / \n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n tableVariant: function tableVariant() {\n // Sniffed by / \n return this.bvTableRowGroup.tableVariant;\n },\n headVariant: function headVariant() {\n // Sniffed by / \n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n footVariant: function footVariant() {\n // Sniffed by / \n return this.inTfoot ? this.bvTableRowGroup.footVariant : null;\n },\n isRowDark: function isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT ? false : this.headVariant === DARK || this.footVariant === DARK ? true : this.isDark;\n },\n trClasses: function trClasses() {\n return [this.variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(this.variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.$attrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.$listeners\n }, this.normalizeSlot('default'));\n }\n});","import Vue from '../../utils/vue';\nimport looseEqual from '../../utils/loose-equal';\nimport { getComponentConfig } from '../../utils/config';\nimport { requestAF } from '../../utils/dom';\nimport { isBrowser } from '../../utils/env';\nimport { isArray, isUndefined, isFunction, isObject } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { computeHref, parseQuery } from '../../utils/router';\nimport { toString } from '../../utils/string';\nimport { warn } from '../../utils/warn';\nimport paginationMixin from '../../mixins/pagination';\nvar NAME = 'BPaginationNav'; // Sanitize the provided number of pages (converting to a number)\n\nexport var sanitizeNumberOfPages = function sanitizeNumberOfPages(value) {\n var numberOfPages = toInteger(value) || 1;\n return numberOfPages < 1 ? 1 : numberOfPages;\n};\nvar props = {\n size: {\n type: String,\n default: function _default() {\n return getComponentConfig(NAME, 'size');\n }\n },\n numberOfPages: {\n type: [Number, String],\n default: 1,\n validator: function validator(value)\n /* istanbul ignore next */\n {\n var num = toInteger(value);\n\n if (isNaN(num) || num < 1) {\n warn('Prop \"number-of-pages\" must be a number greater than \"0\"', NAME);\n return false;\n }\n\n return true;\n }\n },\n baseUrl: {\n type: String,\n default: '/'\n },\n useRouter: {\n type: Boolean,\n default: false\n },\n linkGen: {\n type: Function,\n default: null\n },\n pageGen: {\n type: Function,\n default: null\n },\n pages: {\n // Optional array of page links\n type: Array,\n default: null\n },\n noPageDetect: {\n // Disable auto page number detection if true\n type: Boolean,\n default: false\n },\n // router-link specific props\n activeClass: {\n type: String // default: undefined\n\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String // default: undefined\n\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n }\n}; // The render function is brought in via the pagination mixin\n// @vue/component\n\nexport var BPaginationNav =\n/*#__PURE__*/\nVue.extend({\n name: NAME,\n mixins: [paginationMixin],\n props: props,\n computed: {\n // Used by render function to trigger wrapping in '