{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-icon.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/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-empty.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/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.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-top-row.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/skeleton/skeleton-img.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/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-wrapper.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/sidebar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-brand.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.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/sidebar/sidebar.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/skeleton/skeleton-table.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar.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/navbar/index.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","computeJustifyContent","BNavbarNav","children","fill","justified","align","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","parseSpan","spanValidator","val","colspan","Number","validator","rowspan","stackedHeading","stickyColumn","BTd","mixins","inject","bvTableTr","inheritAttrs","computed","inTbody","this","inThead","inTfoot","isDark","isStacked","isStackedCell","isResponsive","isStickyHeader","hasStickyHeader","isStickyColumn","rowVariant","headVariant","footVariant","tableVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","bvAttrs","content","normalizeSlot","on","bvListeners","BSkeleton","animation","width","height","size","style","SkeletonPlugin","components","BSkeletonIcon","BSkeletonImg","BSkeletonTable","BSkeletonWrapper","BThead","provide","bvTableRowGroup","bvTable","isThead","dark","stickyHeader","theadClasses","theadAttrs","CLASS_NAME","BNavbarToggle","directives","VBToggle","Array","required","disabled","toggleState","created","listenOnRoot","handleStateEvt","methods","onClick","evt","$emit","id","state","click","expanded","OverlayPlugin","BOverlay","icon","iconProps","$icon","BTableSimple","isTableSimple","TableLitePlugin","BTableLite","TableSimplePlugin","BTbody","BTfoot","BTr","BTh","TablePlugin","BTable","plugins","BVPopoverTemplate","extends","templateType","renderTemplate","$title","title","$content","titleDomProps","html","innerHTML","contentDomProps","templateClasses","templateAttributes","templateListeners","ref","domProps","BVPopover","getTemplate","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","sanitizePerPage","sanitizeTotalRows","BPagination","perPage","totalRows","ariaControls","numberOfPages","result","pageSizeNumberOfPages","watch","newVal","oldVal","currentPage","localNumberOfPages","_this","$nextTick","mounted","pageNumber","_this2","clickEvt","cancelable","vueTarget","defaultPrevented","$el","contains","focusCurrent","makePage","pageNum","linkProps","isTfoot","tfootClasses","tfootAttrs","slotName","renderBottomRow","$createElement","hasNormalizedSlot","stacked","fields","computedFields","tbodyTrClass","tbodyTrAttr","columns","busySlotName","busy","localBusy","computedBusy","stopIfBusy","renderBusy","showEmpty","emptyText","emptyHtml","emptyFilteredText","emptyFilteredHtml","renderEmpty","items","computedItems","$empty","isFiltered","row","ignoreFields","includeFields","fieldsObj","undefined","formattedRow","reduce","field","filterByFormatted","formatter","allowedKeys","array","stringifyObjectValues","sort","v","map","k","join","DEBOUNCE_DEPRECATED_MSG","RegExp","filterFunction","Function","filterIgnoredFields","filterIncludedFields","filterDebounce","deprecated","test","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","_unused","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","timeout","setTimeout","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","replace","lastIndex","computedFieldsObj","localPaging","noProviderPaging","paginatedItems","sortedItems","math","slice","noProviderSorting","apiUrl","providerTriggerContext","ctx","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","context","then","e","message","SELECT_MODES","selectable","selectMode","selectedVariant","noSelectOnClick","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","range","selectableRowClasses","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","localeOpts","locale","nullLast","aa","get","bb","localeCompare","SORT_DIRECTIONS","sortDirection","sortCompare","sortCompareOptions","numeric","sortCompareLocale","sortNullLast","noSortReset","labelSortAsc","labelSortDesc","labelSortClear","noLocalSorting","noFooterSorting","sortIconLeft","localSorting","isSortable","f","sortable","sortOptions","usage","sortLocale","sortByFormatted","getFieldFormatter","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortKey","sortTheadThClasses","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","renderTopRow","LIGHT","DARK","isTbody","isRowDark","trClasses","trAttrs","aspect","noAspect","cardImg","$img","sanitizeNumberOfPages","_linkProps","BPaginationNav","number","baseUrl","useRouter","linkGen","pageGen","pages","noPageDetect","isNav","computedValue","setNumberOfPages","$router","$watch","guessCurrentPage","_this4","_this5","currentTarget","getPageInfo","link","path","text","info","_link","makeLink","to","href","resolveLink","document","createElement","body","appendChild","_link2","pathname","hash","search","removeChild","query","parentNode","resolveRoute","route","resolve","$route","guess","currRoute","loc","window","location","currLink","page","BPopover","triggers","placement","customClass","delay","boundary","boundaryPadding","getComponent","updateContent","setContent","setTitle","detailsSlotName","detailsTdClass","getTdValues","tdValue","defValue","parent","$parent","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","_showDetails","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","formatted","cellTag","isRowHeader","cellVariant","_cellVariants","tdClass","thAttr","tdAttr","slotScope","unformatted","toggleDetails","detailsShowing","rowSelected","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","tableStriped","striped","rowShowDetails","hasRowClickHandler","$listeners","$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","getTbodyTrIndex","el","tagName","indexOf","hasListener","onTbodyRowKeydown","tabIndex","keyCode","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","cache","defaultSlotName","fullName","lowerName","toLowerCase","handlers","auxclick","contextmenu","dblclick","keydown","$tbody","tbodyTransitionProps","tbodyTransitionHandlers","caption","captionHtml","captionId","renderCaption","$caption","hasCaptionSlot","ProgressPlugin","BProgress","BProgressBar","isStackedAlways","stackedTableClasses","bvProgress","animated","precision","showProgress","showValue","max","progressHeight","childNodes","origFields","sample","memo","newItems","loading","bordered","borderless","outlined","hover","fixed","responsive","noBorderCollapse","captionTop","tableClass","wrapperClasses","wrapperStyles","maxHeight","tableClasses","border","tableAttrs","adb","ariaAttrs","rowCount","renderColgroup","renderThead","renderTfoot","$table","IGNORED_FIELD_KEYS","EVENT_FILTER","footClone","footRowVariant","tfootClass","tfootTrClass","renderTFootCustom","SidebarPlugin","BSidebar","VBTogglePlugin","BNavbarBrand","isLink","positionCover","top","left","bottom","right","show","bgColor","opacity","blur","rounded","noCenter","noFade","spinnerType","spinnerVariant","spinnerSmall","overlayTag","wrapTag","noWrap","zIndex","computedRounded","computedVariant","overlayScope","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","appear","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","PaginationNavPlugin","TABLE_TAG_NAMES","filterEvent","labelFor","input","SpinnerPlugin","renderHeaderTitle","computedTile","renderHeaderClose","noHeaderClose","closeLabel","textVariant","hide","ariaLabel","renderHeader","noHeader","$close","headerClass","renderBody","bodyClass","renderFooter","$footer","footerClass","renderContent","$header","lazy","isOpen","renderBackdrop","backdrop","backdropVariant","localShow","onBackdropClick","model","prop","event","bgVariant","shadow","ariaLabelledby","sidebarClass","noSlide","noCloseOnEsc","noCloseOnBackdrop","noCloseOnRouteChange","noEnforceFocus","visible","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","titleId","computedAttrs","emitState","fullPath","$_returnFocusEl","handleToggle","handleSync","activated","emitSync","onKeydown","onTopTrapFocus","tabables","enforceFocus","reverse","onBottomTrapFocus","onBeforeEnter","onAfterEnter","onAfterLeave","$sidebar","beforeEnter","afterEnter","afterLeave","$backdrop","$tabTrapTop","$tabTrapBottom","focus","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","constructor","from","iter","Symbol","iterator","isArray","len","arr2","headRowVariant","theadClass","theadTrClass","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","labelHtml","trim","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","progressBarClasses","computedStriped","computedAnimated","progressBarStyles","computedMax","computedPrecision","computedProgress","p","computedShowProgress","computedShowValue","$children","rows","hideHeader","showFooter","tableProps","$th","$thTr","$td","$tdTr","$thead","$tfoot","toggleable","sticky","print","BNavbar","bvNavbar","breakpointClass","breakpoint","xs","textSelectionActive","sel","containsNode","PaginationPlugin","$colgroup","PopoverPlugin","VBPopoverPlugin","NavbarPlugin","BNavToggle","NavPlugin","CollapsePlugin","DropdownPlugin"],"mappings":"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","file":"js/chunk-vendors~1187b811.ae467a93.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, { mergeData } from '../../vue';\nimport { NAME_SPINNER } from '../../constants/components';\nimport { SLOT_NAME_LABEL } from '../../constants/slot-names';\nimport { makePropsConfigurable } from '../../utils/config';\nimport { normalizeSlot } from '../../utils/normalize-slot'; // @vue/component\n\nexport var BSpinner = /*#__PURE__*/Vue.extend({\n name: NAME_SPINNER,\n functional: true,\n props: makePropsConfigurable({\n type: {\n type: String,\n default: 'border' // SCSS currently supports 'border' or 'grow'\n\n },\n label: {\n type: String // default: null\n\n },\n variant: {\n type: String // default: undefined\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 }, NAME_SPINNER),\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(SLOT_NAME_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 _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, { mergeData } from '../../vue';\nimport { NAME_NAVBAR_NAV } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config';\nimport { pluckProps } from '../../utils/props';\nimport { props as BNavProps } from '../nav/nav'; // -- Constants --\n\nexport var props = makePropsConfigurable(pluckProps(['tag', 'fill', 'justified', 'align', 'small'], BNavProps), NAME_NAVBAR_NAV); // -- Utils --\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // @vue/component\n\n\nexport var BNavbarNav = /*#__PURE__*/Vue.extend({\n name: NAME_NAVBAR_NAV,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'navbar-nav',\n class: (_class = {\n 'nav-fill': props.fill,\n 'nav-justified': props.justified\n }, _defineProperty(_class, computeJustifyContent(props.align), props.align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\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 '../../vue';\nimport { NAME_TABLE_CELL } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { toString } from '../../utils/string';\nimport attrsMixin from '../../mixins/attrs';\nimport listenersMixin from '../../mixins/listeners';\nimport normalizeSlotMixin from '../../mixins/normalize-slot'; // --- Utility methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(val) {\n return isUndefinedOrNull(val) || parseSpan(val) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\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}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n /* istanbul ignore next */\n default: function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\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 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 var variant = this.variant;\n\n if (!variant && this.isStickyHeader && !this.headVariant || !variant && this.isStickyColumn && this.inTfoot && !this.footVariant || !variant && this.isStickyColumn && this.inThead && !this.headVariant || !variant && this.isStickyColumn && this.inTbody) {\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 (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\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) ?\n /* istanbul ignore next */\n toString(this.stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [content]) : content]);\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 Vue, { mergeData } from '../../vue';\nimport { NAME_SKELETON } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config'; // @vue/component\n\nexport var BSkeleton = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON,\n functional: true,\n props: makePropsConfigurable({\n animation: {\n type: String,\n default: 'wave'\n },\n type: {\n type: String,\n default: 'text'\n },\n width: {\n type: String // default: null\n\n },\n height: {\n type: String // default: null\n\n },\n size: {\n type: String // default: null\n\n },\n variant: {\n type: String // default: null\n\n }\n }, NAME_SKELETON),\n render: function render(h, _ref) {\n var _class;\n\n var data = _ref.data,\n props = _ref.props;\n var size = props.size,\n animation = props.animation,\n variant = props.variant;\n return h('div', mergeData(data, {\n staticClass: 'b-skeleton',\n style: {\n width: size || props.width,\n height: size || props.height\n },\n class: (_class = {}, _defineProperty(_class, \"b-skeleton-\".concat(props.type), true), _defineProperty(_class, \"b-skeleton-animate-\".concat(animation), animation), _defineProperty(_class, \"bg-\".concat(variant), variant), _class)\n }));\n }\n});","import { pluginFactory } from '../../utils/plugins';\nimport { BSkeleton } from './skeleton';\nimport { BSkeletonIcon } from './skeleton-icon';\nimport { BSkeletonImg } from './skeleton-img';\nimport { BSkeletonTable } from './skeleton-table';\nimport { BSkeletonWrapper } from './skeleton-wrapper';\nvar SkeletonPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BSkeleton: BSkeleton,\n BSkeletonIcon: BSkeletonIcon,\n BSkeletonImg: BSkeletonImg,\n BSkeletonTable: BSkeletonTable,\n BSkeletonWrapper: BSkeletonWrapper\n }\n});\nexport { SkeletonPlugin, BSkeleton, BSkeletonIcon, BSkeletonImg, BSkeletonTable, BSkeletonWrapper };","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 '../../vue';\nimport { NAME_THEAD } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config';\nimport attrsMixin from '../../mixins/attrs';\nimport listenersMixin from '../../mixins/listeners';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nexport var props = makePropsConfigurable({\n headVariant: {\n // Also sniffed by / / \n type: String,\n // Supported values: 'lite', 'dark', or null\n default: null\n }\n}, NAME_THEAD); // TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n bvTable: {\n // Sniffed by / / \n\n /* istanbul ignore next */\n default: function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\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.bvAttrs);\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.bvListeners\n }, this.normalizeSlot());\n }\n});","import Vue from '../../vue';\nimport { NAME_NAVBAR_TOGGLE } from '../../constants/components';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slot-names';\nimport { makePropsConfigurable } from '../../utils/config';\nimport listenOnRootMixin from '../../mixins/listen-on-root';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nimport { VBToggle, EVENT_STATE, EVENT_STATE_SYNC } from '../../directives/toggle/toggle'; // --- Constants ---\n\nvar CLASS_NAME = 'navbar-toggler'; // --- Main component ---\n// @vue/component\n\nexport var BNavbarToggle = /*#__PURE__*/Vue.extend({\n name: NAME_NAVBAR_TOGGLE,\n directives: {\n VBToggle: VBToggle\n },\n mixins: [listenOnRootMixin, normalizeSlotMixin],\n props: makePropsConfigurable({\n label: {\n type: String,\n default: 'Toggle navigation'\n },\n target: {\n type: [Array, String],\n required: true\n },\n disabled: {\n type: Boolean,\n default: false\n }\n }, NAME_NAVBAR_TOGGLE),\n data: function data() {\n return {\n toggleState: false\n };\n },\n created: function created() {\n this.listenOnRoot(EVENT_STATE, this.handleStateEvt);\n this.listenOnRoot(EVENT_STATE_SYNC, this.handleStateEvt);\n },\n methods: {\n onClick: function onClick(evt) {\n if (!this.disabled) {\n // Emit courtesy `click` event\n this.$emit('click', evt);\n }\n },\n handleStateEvt: function handleStateEvt(id, state) {\n // We listen for state events so that we can pass the\n // boolean expanded state to the default scoped slot\n if (id === this.target) {\n this.toggleState = state;\n }\n }\n },\n render: function render(h) {\n var disabled = this.disabled;\n return h('button', {\n staticClass: CLASS_NAME,\n class: {\n disabled: disabled\n },\n directives: [{\n name: 'VBToggle',\n value: this.target\n }],\n attrs: {\n type: 'button',\n disabled: disabled,\n 'aria-label': this.label\n },\n on: {\n click: this.onClick\n }\n }, [this.normalizeSlot(SLOT_NAME_DEFAULT, {\n expanded: this.toggleState\n }) || h('span', {\n staticClass: \"\".concat(CLASS_NAME, \"-icon\")\n })]);\n }\n});","import { BOverlay } from './overlay';\nimport { pluginFactory } from '../../utils/plugins';\nvar OverlayPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BOverlay: BOverlay\n }\n});\nexport { OverlayPlugin, BOverlay };","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 '../../vue';\nimport { NAME_SKELETON_ICON } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config';\nimport { BIcon } from '../../icons'; // @vue/component\n\nexport var BSkeletonIcon = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON_ICON,\n functional: true,\n props: makePropsConfigurable({\n animation: {\n type: String,\n default: 'wave'\n },\n icon: {\n type: String\n },\n iconProps: {\n type: Object,\n default: function _default() {}\n }\n }, NAME_SKELETON_ICON),\n render: function render(h, _ref) {\n var props = _ref.props;\n var icon = props.icon,\n animation = props.animation;\n var $icon = h(BIcon, {\n props: _objectSpread({\n icon: icon\n }, props.iconProps),\n staticClass: 'b-skeleton-icon'\n });\n return h('div', {\n staticClass: 'b-skeleton-icon-wrapper position-relative d-inline-block overflow-hidden',\n class: _defineProperty({}, \"b-skeleton-animate-\".concat(animation), animation)\n }, [$icon]);\n }\n});","import Vue from '../../vue';\nimport { NAME_TABLE_SIMPLE } from '../../constants/components';\nimport idMixin from '../../mixins/id';\nimport normalizeSlotMixin from '../../mixins/normalize-slot'; // Table mixins\n\nimport stackedMixin from './helpers/mixin-stacked';\nimport tableRendererMixin from './helpers/mixin-table-renderer'; // b-table-simple component definition\n// @vue/component\n\nexport var BTableSimple = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_SIMPLE,\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 = /*#__PURE__*/pluginFactory({\n components: {\n BTableLite: BTableLite\n }\n});\nvar TableSimplePlugin = /*#__PURE__*/pluginFactory({\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 = /*#__PURE__*/pluginFactory({\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 '../../../vue';\nimport { NAME_POPOVER_TEMPLATE } from '../../../constants/components';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { BVTooltipTemplate } from '../../tooltip/helpers/bv-tooltip-template'; // @vue/component\n\nexport var BVPopoverTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_POPOVER_TEMPLATE,\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 === '' ?\n /* istanbul ignore next */\n h() : h('h3', {\n staticClass: 'popover-header',\n domProps: titleDomProps\n }, [$title]), isUndefinedOrNull($content) || $content === '' ?\n /* istanbul ignore next */\n 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 '../../../vue';\nimport { NAME_POPOVER_HELPER } from '../../../constants/components';\nimport { BVTooltip } from '../../tooltip/helpers/bv-tooltip';\nimport { BVPopoverTemplate } from './bv-popover-template'; // @vue/component\n\nexport var BVPopover = /*#__PURE__*/Vue.extend({\n name: NAME_POPOVER_HELPER,\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 '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { makePropsConfigurable } from '../../utils/config';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport paginationMixin from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(val) {\n return mathMax(toInteger(val) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(val) {\n return mathMax(toInteger(val) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Main component ---\n// The render function is brought in via the `paginationMixin`\n// @vue/component\n\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION,\n mixins: [paginationMixin],\n props: makePropsConfigurable({\n size: {\n type: String // default: null\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 // default: null\n\n }\n }, NAME_PAGINATION),\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(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(evt, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = evt.target; // Emit a user-cancelable `page-click` event\n\n var clickEvt = new BvEvent('page-click', {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvt.type, clickEvt, pageNumber);\n\n if (clickEvt.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit('change', this.currentPage); // Keep the current button focused if possible\n\n this.$nextTick(function () {\n if (isVisible(target) && _this2.$el.contains(target)) {\n attemptFocus(target);\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n\n /* istanbul ignore next */\n linkProps: function linkProps() {\n // No props, since we render a plain button\n\n /* istanbul ignore next */\n return {};\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 '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config';\nimport attrsMixin from '../../mixins/attrs';\nimport listenersMixin from '../../mixins/listeners';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nexport var props = makePropsConfigurable({\n footVariant: {\n type: String,\n // Supported values: 'lite', 'dark', or null\n default: null\n }\n}, NAME_TFOOT); // TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n bvTable: {\n // Sniffed by / / \n\n /* istanbul ignore next */\n default: function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n isTfoot: function isTfoot() {\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 // 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 // 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.bvAttrs);\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.bvListeners\n }, this.normalizeSlot());\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) ?\n /* istanbul ignore next */\n this.tbodyTrClass(null, 'row-bottom') : this.tbodyTrClass],\n attrs: isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(null, 'row-bottom') : this.tbodyTrAttr\n }, this.normalizeSlot(slotName, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n};","import { NAME_TABLE } from '../../../constants/components';\nimport { makePropsConfigurable } from '../../../utils/config';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nvar busySlotName = 'table-busy';\nexport default {\n props: makePropsConfigurable({\n busy: {\n type: Boolean,\n default: false\n }\n }, NAME_TABLE),\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 stopEvent(evt);\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) ?\n /* istanbul ignore next */\n this.tbodyTrClass(null, busySlotName) : this.tbodyTrClass],\n attrs: isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n 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};","import { NAME_TABLE } from '../../../constants/components';\nimport { makePropsConfigurable } from '../../../utils/config';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nexport default {\n props: makePropsConfigurable({\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 }, NAME_TABLE),\n methods: {\n renderEmpty: function renderEmpty() {\n var h = this.$createElement;\n var items = this.computedItems;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot('table-busy'))) {\n var isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n computedFields = this.computedFields,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(this.isFiltered ? 'emptyfiltered' : 'empty', {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: 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: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: computedFields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n};","import { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\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 // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\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 /* istanbul ignore next */\n '';\n};\n\nexport default stringifyRecordValues;","import { NAME_TABLE } from '../../../constants/components';\nimport { RX_SPACES } from '../../../constants/regex';\nimport cloneDeep from '../../../utils/clone-deep';\nimport identity from '../../../utils/identity';\nimport looseEqual from '../../../utils/loose-equal';\nimport { concat } from '../../../utils/array';\nimport { makePropsConfigurable } from '../../../utils/config';\nimport { isFunction, isString, isRegExp, isUndefined } 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.';\nexport default {\n props: makePropsConfigurable({\n filter: {\n type: [String, RegExp, Object, Array],\n default: null\n },\n filterFunction: {\n type: Function // default: null\n\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(value) {\n return /^\\d+/.test(String(value));\n }\n }\n }, NAME_TABLE),\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 concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\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, NAME_TABLE);\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 var filterFunction = this.filterFunction;\n var result = null;\n\n try {\n result = filterFunction();\n } catch (_unused) {}\n\n return isUndefined(result) ? null : filterFunction;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n var items = this.localItems || []; // Note the criteria is debounced and sanitized\n\n var criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newVal) {\n if (!newVal && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit('filtered', filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newVal, oldVal) {\n if (newVal === false && oldVal === true) {\n // We need to emit a filtered event if isFiltered transitions from true to\n // false so that users can update their pagination controls.\n this.$emit('filtered', this.localItems, this.localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\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 this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\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 { NAME_TABLE } from '../../../constants/components';\nimport { makePropsConfigurable } from '../../../utils/config';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nexport default {\n props: makePropsConfigurable({\n perPage: {\n type: [Number, String],\n default: 0\n },\n currentPage: {\n type: [Number, String],\n default: 1\n }\n }, NAME_TABLE),\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 = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 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 { NAME_TABLE } from '../../../constants/components';\nimport looseEqual from '../../../utils/loose-equal';\nimport { makePropsConfigurable } from '../../../utils/config';\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: makePropsConfigurable({\n // Prop override(s)\n items: {\n // Adds in 'Function' support\n type: [Array, Function],\n\n /* istanbul ignore next */\n default: function _default() {\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 }, NAME_TABLE),\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newVal) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newVal)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newVal, oldVal) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newVal, oldVal)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot('bv::refresh::table', function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n // Public Method: Force a refresh of the provider function\n this.$off('refreshed', this.refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on('refreshed', this.refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(this.items) ? this.items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit('refreshed'); // New root emit\n\n if (this.id) {\n this.emitOnRoot('bv::table::refreshed', this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\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, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off('refreshed', _this2.refresh);\n }\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 { NAME_TABLE } from '../../../constants/components';\nimport identity from '../../../utils/identity';\nimport looseEqual from '../../../utils/loose-equal';\nimport range from '../../../utils/range';\nimport { arrayIncludes } from '../../../utils/array';\nimport { makePropsConfigurable } from '../../../utils/config';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport sanitizeRow from './sanitize-row';\nvar SELECT_MODES = ['range', 'multi', 'single'];\nexport default {\n props: makePropsConfigurable({\n selectable: {\n type: Boolean,\n default: false\n },\n selectMode: {\n type: String,\n default: 'multi',\n validator: function validator(value) {\n return arrayIncludes(SELECT_MODES, value);\n }\n },\n selectedVariant: {\n type: String,\n default: 'active'\n },\n noSelectOnClick: {\n // Disable use of click handlers for row selection\n type: Boolean,\n default: false\n }\n }, NAME_TABLE),\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n return this.isSelectable && this.selectedRows && this.selectedRows.length > 0 && this.selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n return _ref = {\n 'b-table-selectable': this.isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), this.isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', this.isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newVal, oldVal) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newVal) && isArray(oldVal) && newVal.length === oldVal.length;\n\n for (var i = 0; equal && i < newVal.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newVal[i]), sanitizeRow(oldVal[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newVal) {\n this.clearSelected();\n this.setSelectionHandlers(newVal);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newVal) {\n this.clearSelected();\n this.setSelectionHandlers(!newVal);\n },\n selectedRows: function selectedRows(_selectedRows, oldVal) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldVal)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit('row-selected', items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? range(length).map(function () {\n return true;\n }) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n } else {\n return {};\n }\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method]('row-clicked', this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method]('filtered', this.clearSelected);\n this[method]('context-changed', this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, evt) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (this.selectedLastRow > -1 && evt.shiftKey) {\n // range\n for (var idx = mathMin(this.selectedLastRow, index); idx <= mathMax(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 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 { NAME_TABLE } from '../../../constants/components';\nimport stableSort from '../../../utils/stable-sort';\nimport { arrayIncludes } from '../../../utils/array';\nimport { makePropsConfigurable } from '../../../utils/config';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { trim } from '../../../utils/string';\nimport defaultSortCompare from './default-sort-compare';\nvar SORT_DIRECTIONS = ['asc', 'desc', 'last'];\nexport default {\n props: makePropsConfigurable({\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(value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n }\n },\n sortCompare: {\n type: Function // default: null\n\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 }, NAME_TABLE),\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(_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) ?\n /* istanbul ignore next */\n 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 /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newVal) {\n if (newVal) {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n } else {\n this.$off('head-clicked', this.handleSort);\n }\n },\n sortDesc: function sortDesc(newVal) {\n if (newVal === this.localSortDesc) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortDesc = newVal || false;\n },\n sortBy: function sortBy(newVal) {\n if (newVal === this.localSortBy) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortBy = newVal || '';\n },\n // Update .sync props\n localSortDesc: function localSortDesc(newVal, oldVal) {\n // Emit update to sort-desc.sync\n if (newVal !== oldVal) {\n this.$emit('update:sortDesc', newVal);\n }\n },\n localSortBy: function localSortBy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:sortBy', newVal);\n }\n }\n },\n created: function created() {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, evt, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === 'asc') {\n _this.localSortDesc = false;\n } else if (sortDirection === 'desc') {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // 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};","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 Vue from '../../vue';\nimport { NAME_TABLE } from '../../constants/components';\nimport attrsMixin from '../../mixins/attrs';\nimport hasListenerMixin from '../../mixins/has-listener';\nimport idMixin from '../../mixins/id';\nimport normalizeSlotMixin from '../../mixins/normalize-slot'; // Table helper mixins\n\nimport bottomRowMixin from './helpers/mixin-bottom-row';\nimport busyMixin from './helpers/mixin-busy';\nimport captionMixin from './helpers/mixin-caption';\nimport colgroupMixin from './helpers/mixin-colgroup';\nimport emptyMixin from './helpers/mixin-empty';\nimport filteringMixin from './helpers/mixin-filtering';\nimport itemsMixin from './helpers/mixin-items';\nimport paginationMixin from './helpers/mixin-pagination';\nimport providerMixin from './helpers/mixin-provider';\nimport selectableMixin from './helpers/mixin-selectable';\nimport sortingMixin from './helpers/mixin-sorting';\nimport stackedMixin from './helpers/mixin-stacked';\nimport tableRendererMixin from './helpers/mixin-table-renderer';\nimport tbodyMixin from './helpers/mixin-tbody';\nimport tfootMixin from './helpers/mixin-tfoot';\nimport theadMixin from './helpers/mixin-thead';\nimport topRowMixin from './helpers/mixin-top-row'; // b-table component definition\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin] // Render function is 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 '../../vue';\nimport { NAME_TR } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config';\nimport attrsMixin from '../../mixins/attrs';\nimport listenersMixin from '../../mixins/listeners';\nimport normalizeSlotMixin from '../../mixins/normalize-slot';\nexport var props = makePropsConfigurable({\n variant: {\n type: String,\n default: null\n }\n}, NAME_TR);\nvar LIGHT = 'light';\nvar DARK = 'dark'; // TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTr = /*#__PURE__*/Vue.extend({\n name: NAME_TR,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n /* istanbul ignore next */\n default: function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\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 ?\n /* istanbul ignore next */\n false : this.headVariant === DARK || this.footVariant === DARK ?\n /* istanbul ignore next */\n 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.bvAttrs);\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.bvListeners\n }, this.normalizeSlot());\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 Vue from '../../vue';\nimport { NAME_SKELETON_IMG } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/config';\nimport { BAspect } from '../aspect';\nimport { BSkeleton } from './skeleton'; // @vue/component\n\nexport var BSkeletonImg = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON_IMG,\n functional: true,\n props: makePropsConfigurable({\n animation: {\n type: String\n },\n aspect: {\n type: String,\n default: '16:9'\n },\n noAspect: {\n type: Boolean,\n default: false\n },\n height: {\n type: String\n },\n width: {\n type: String\n },\n variant: {\n type: String\n },\n cardImg: {\n type: String\n }\n }, NAME_SKELETON_IMG),\n render: function render(h, _ref) {\n var props = _ref.props;\n var aspect = props.aspect,\n width = props.width,\n height = props.height,\n animation = props.animation,\n variant = props.variant,\n cardImg = props.cardImg;\n var $img = h(BSkeleton, {\n props: {\n type: 'img',\n width: width,\n height: height,\n animation: animation,\n variant: variant\n },\n class: _defineProperty({}, \"card-img-\".concat(cardImg), cardImg)\n });\n return props.noAspect ? $img : h(BAspect, {\n props: {\n aspect: aspect\n }\n }, [$img]);\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 '../../vue';\nimport { NAME_PAGINATION_NAV } from '../../constants/components';\nimport looseEqual from '../../utils/loose-equal';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { makePropsConfigurable } from '../../utils/config';\nimport { attemptBlur, requestAF } from '../../utils/dom';\nimport { isBrowser } from '../../utils/env';\nimport { isArray, isUndefined, isFunction, isObject } from '../../utils/inspect';\nimport { mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { omit } from '../../utils/object';\nimport { pluckProps } from '../../utils/props';\nimport { computeHref, parseQuery } from '../../utils/router';\nimport { toString } from '../../utils/string';\nimport { warn } from '../../utils/warn';\nimport paginationMixin, { props as paginationProps } from '../../mixins/pagination';\nimport { props as BLinkProps } from '../link/link'; // --- Utility methods ---\n// Sanitize the provided number of pages (converting to a number)\n\nexport var sanitizeNumberOfPages = function sanitizeNumberOfPages(value) {\n return mathMax(toInteger(value, 0), 1);\n}; // --- Props ---\n\nvar _linkProps = omit(BLinkProps, ['event', 'routerTag']); // --- Main component ---\n// The render function is brought in via the pagination mixin\n// @vue/component\n\n\nexport var BPaginationNav = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION_NAV,\n mixins: [paginationMixin],\n props: makePropsConfigurable(_objectSpread(_objectSpread(_objectSpread({}, paginationProps), _linkProps), {}, {\n size: {\n type: String // default: null\n\n },\n numberOfPages: {\n type: [Number, String],\n default: 1,\n\n /* istanbul ignore next */\n validator: function validator(value) {\n var number = toInteger(value, 0);\n\n if (number < 1) {\n warn('Prop \"number-of-pages\" must be a number greater than \"0\"', NAME_PAGINATION_NAV);\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 // default: null\n\n },\n pageGen: {\n type: Function // default: null\n\n },\n pages: {\n // Optional array of page links\n type: Array // default: null\n\n },\n noPageDetect: {\n // Disable auto page number detection if true\n type: Boolean,\n default: false\n }\n }), NAME_PAGINATION_NAV),\n computed: {\n // Used by render function to trigger wrapping in '