{"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","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","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","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","$attrs","content","normalizeSlot","on","$listeners","BThead","provide","bvTableRowGroup","bvTable","isThead","dark","stickyHeader","theadClasses","theadAttrs","NAME","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","_defineProperties","descriptor","arr","BASE_PROPS","Array","isArray","arr2","_arrayWithoutHoles","iter","Symbol","iterator","prototype","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","propsToSlots","toastContent","title","filterOptions","options","reduce","memo","BVToastPlugin","plugins","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","instance","Constructor","_classCallCheck","_vm","_root","protoProps","staticProps","undefined","mixin","beforeCreate","hasOwnProperty","get","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","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","oldCriteria","timeout","setTimeout","beforeDestroy","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","sortByFormatted","getFieldFormatter","$on","handleSort","$off","field","isFoot","sortChanged","toggleLocalSortDesc","context","sortTheadThClasses","sortTheadThAttrs","sortTheadThLabel","labelSorting","localPaging","noProviderPaging","paginatedItems","max","showEmpty","emptyText","emptyHtml","emptyFilteredText","emptyFilteredHtml","renderEmpty","$empty","computedItems","computedBusy","hasNormalizedSlot","fields","tbodyTrClass","tbodyTrAttr","renderTopRow","stacked","columns","renderBottomRow","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","defaut","isTbody","isRowDark","trClasses","trAttrs","isNaN","baseUrl","useRouter","linkGen","pageGen","pages","noPageDetect","activeClass","exact","exactActiveClass","noPrefetch","BPaginationNav","isNav","computedValue","setNumberOfPages","$router","$watch","to","guessCurrentPage","_this4","_this5","currentTarget","blur","getPageInfo","link","path","text","info","_link","makeLink","rel","disabled","append","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","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","slotName","$_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","tbodyTransitionProps","tbodyTransitionHandlers","caption","captionHtml","captionId","renderCaption","$captionSlot","$caption","ProgressPlugin","BProgress","BProgressBar","isStackedAlways","stackedTableClasses","bvProgress","animated","height","precision","showProgress","showValue","progressHeight","childNodes","style","ToastPlugin","BToast","EVENT_OPTIONS","passive","capture","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","opts","cancelable","relatedTarget","vueTarget","componentId","bvEvt","startDismissTimer","onPause","onUnPause","passed","onLinkClick","hiddenEvt","$headerContent","$header","isLink","$body","_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","renderColgroup","renderThead","renderTfoot","$table","IGNORED_FIELD_KEYS","EVENT_FILTER","footClone","footRowVariant","tfootClass","tfootTrClass","renderTFootCustom","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","PaginationNavPlugin","TABLE_TAG_NAMES","labelFor","input","SpinnerPlugin","_toConsumableArray","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","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","old","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/app~79bd1cc9.79609c51.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(pageNum) {\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, oldVal) {\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, oldCriteria) {\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 localItems = _ref.localItems,\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, oldVal)\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, oldVal) {\n if (newVal === this.localSortDesc) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortDesc = newVal || false;\n },\n sortBy: function sortBy(newVal, oldVal) {\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, oldVal) {\n this.clearSelected();\n this.setSelectionHandlers(newVal);\n },\n selectMode: function selectMode(newVal, oldVal) {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newVal, oldVal) {\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 (i) {\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, oldVal) {\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 defaut: function defaut()\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 '