{"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-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/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.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","props","label","role","small","tag","type","variant","BSpinner","name","functional","render","h","_ref","_class","data","slots","scopedSlots","$slots","$scopedSlots","$label","staticClass","attrs","class","concat","computeJustifyContent","BNavbarNav","children","align","fill","justified","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","target","i","arguments","length","source","forEach","getOwnPropertyDescriptors","defineProperties","parseSpan","spanValidator","colspan","rowspan","stackedHeading","stickyColumn","BTd","mixins","inject","getBvTableTr","default","inheritAttrs","computed","bvTableTr","this","inTbody","inThead","inTfoot","isDark","isStacked","isStackedCell","isResponsive","isStickyHeader","hasStickyHeader","isStickyColumn","rowVariant","headVariant","footVariant","tableVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","bvAttrs","$content","normalizeSlot","on","bvListeners","animation","height","size","width","BSkeleton","style","SkeletonPlugin","components","BSkeletonIcon","BSkeletonImg","BSkeletonTable","BSkeletonWrapper","BThead","provide","_this","getBvTableRowGroup","getBvTable","bvTable","isThead","dark","stickyHeader","theadClasses","theadAttrs","CLASS_NAME","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","disabled","undefined","BNavbarToggle","directives","VBToggle","toggleState","created","listenOnRoot","handleStateEvent","methods","onClick","event","$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","content","$title","titleDomProps","html","innerHTML","contentDomProps","templateClasses","templateAttributes","templateListeners","ref","domProps","BVPopover","getTemplate","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","sanitizePerPage","sanitizeTotalRows","ariaControls","perPage","totalRows","BPagination","numberOfPages","result","pageSizeNumberOfPages","watch","newValue","oldValue","currentPage","localNumberOfPages","$nextTick","pageNumber","_this2","clickEvent","cancelable","vueTarget","defaultPrevented","$el","contains","focusCurrent","makePage","pageNum","linkProps","isTfoot","tfootClasses","tfootAttrs","bottomRowMixin","renderBottomRow","fields","computedFields","stacked","tbodyTrClass","tbodyTrAttr","$createElement","hasNormalizedSlot","columns","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","stopIfBusy","renderBusy","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","_safeVueInstance","items","computedItems","$empty","isFiltered","row","ignoreFields","includeFields","fieldsObj","formattedRow","reduce","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","String","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","timeout","setTimeout","Boolean","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","replace","RegExp","lastIndex","computedFieldsObj","paginationMixin","localPaging","noProviderPaging","paginatedItems","sortedItems","math","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","apiUrl","noProviderSorting","providerMixin","providerTriggerContext","ctx","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","mounted","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","context","then","e","message","_props","_watch","SELECT_MODES","ROLE_GRID","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","v","idx","beforeMount","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","get","bb","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","f","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","getFieldFormatter","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","_field$sortKey","ariaSort","sortTheadThLabel","labelSorting","topRowMixin","renderTopRow","LIGHT","DARK","bvTableRowGroup","isTbody","isRowDark","trClasses","trAttrs","aspect","cardImg","noAspect","$img","sanitizeNumberOfPages","_linkProps","baseUrl","linkGen","noPageDetect","number","pageGen","pages","useRouter","BPaginationNav","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","_unused","resolveRoute","route","resolve","$route","guess","currentRoute","loc","window","location","currentLink","placement","triggers","BPopover","getComponent","updateContent","setContent","setTitle","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","defaultValue","bvParent","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEventStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","slotScope","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","striped","primaryKey","rowShowDetails","hasRowClickHandler","$listeners","$rows","detailsId","safeId","$tds","map","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","$refs","tbody","trs","tr","getTbodyTrIndex","el","tagName","indexOf","hasListener","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","cache","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","keydown","$tbody","$props","caption","captionHtml","captionMixin","captionId","renderCaption","$caption","hasCaptionSlot","ProgressPlugin","BProgress","BProgressBar","stackedMixin","isStackedAlways","stackedTableClasses","progressBarProps","animated","max","precision","showProgress","showValue","getBvProgress","progressHeight","origFields","sample","k","memo","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","itemsMixin","_safeVueInstance2","loading","bordered","borderless","captionTop","fixed","hover","noBorderCollapse","outlined","responsive","tableClass","tableRendererMixin","wrapperClasses","wrapperStyles","maxHeight","tableClasses","border","tableAttrs","ariaAttrs","rowCount","_safeVueInstance3","renderColgroup","renderThead","renderTfoot","$table","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","join","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","SidebarPlugin","BSidebar","VBTogglePlugin","BNavbarBrand","isLink","POSITION_COVER","top","left","bottom","right","bgColor","blur","noCenter","noFade","noWrap","opacity","overlayTag","rounded","show","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","appear","tbodyTransitionHandlers","tbodyTransitionProps","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","PaginationNavPlugin","TABLE_TAG_NAMES","filterEvent","labelFor","input","SpinnerPlugin","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_ACTION_EVENT_NAME_TOGGLE","ariaLabel","ariaLabelledby","backdrop","backdropVariant","bgVariant","bodyClass","closeLabel","footerClass","footerTag","headerClass","headerTag","lazy","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","textVariant","renderHeaderTitle","renderHeaderClose","hide","renderHeader","$close","renderBody","renderFooter","$footer","renderContent","$header","isOpen","renderBackdrop","localShow","onBackdropClick","visible","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hasTitle","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","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","labelHtml","trim","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","bvProgress","progressBarClasses","computedAnimated","computedStriped","progressBarStyles","computedMax","computedPrecision","computedProgress","p","computedShowProgress","computedShowValue","$children","isPositiveNumber","hideHeader","rows","showFooter","tableProps","$th","$thTr","$td","$tdTr","$thead","$tfoot","print","sticky","toggleable","BNavbar","getBvNavbar","breakpointClass","xs","breakpoint","textSelectionActive","sel","containsNode","PaginationPlugin","colgroupMixin","$colgroup","PopoverPlugin","VBPopoverPlugin","NavbarPlugin","BNavToggle","NavPlugin","CollapsePlugin","DropdownPlugin"],"mappings":"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","file":"js/chunk-vendors~1187b811.83cd511a.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 { extend, mergeData } from '../../vue';\nimport { NAME_SPINNER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_LABEL } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n label: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING, 'status'),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n type: makeProp(PROP_TYPE_STRING, 'border'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_SPINNER); // --- Main component ---\n// @vue/component\n\nexport var BSpinner = /*#__PURE__*/extend({\n name: NAME_SPINNER,\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 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 { extend, mergeData } from '../../vue';\nimport { NAME_NAVBAR_NAV } from '../../constants/components';\nimport { pick } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { props as BNavProps } from '../nav/nav'; // --- Helper methods ---\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(pick(BNavProps, ['tag', 'fill', 'justified', 'align', 'small']), NAME_NAVBAR_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNavbarNav = /*#__PURE__*/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 var align = props.align;\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(align), 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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper 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(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\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__*/extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n getBvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n bvTableTr: function bvTableTr() {\n return this.getBvTableTr();\n },\n // Overridden by ``\n tag: function tag() {\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 // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\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 isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\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 isStickyColumn: function isStickyColumn() {\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 // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\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(stackedHeading) ?\n /* istanbul ignore next */\n toString(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 { extend, mergeData } from '../../vue';\nimport { NAME_SKELETON } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animation: makeProp(PROP_TYPE_STRING, 'wave'),\n height: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text'),\n variant: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING)\n}, NAME_SKELETON); // --- Main component ---\n// @vue/component\n\nexport var BSkeleton = /*#__PURE__*/extend({\n name: NAME_SKELETON,\n functional: true,\n props: props,\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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- 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 BThead = /*#__PURE__*/extend({\n name: NAME_THEAD,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvTableRowGroup: function getBvTableRowGroup() {\n return _this;\n }\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n getBvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n bvTable: function bvTable() {\n return this.getBvTable();\n },\n // Sniffed by `` / `` / ``\n isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\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 isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\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 { extend } from '../../vue';\nimport { NAME_COLLAPSE, NAME_NAVBAR_TOGGLE } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { getRootEventName } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { VBToggle } from '../../directives/toggle/toggle'; // --- Constants ---\n\nvar CLASS_NAME = 'navbar-toggler';\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // --- Props ---\n\nexport var props = makePropsConfigurable({\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n label: makeProp(PROP_TYPE_STRING, 'Toggle navigation'),\n target: makeProp(PROP_TYPE_ARRAY_STRING, undefined, true) // Required\n\n}, NAME_NAVBAR_TOGGLE); // --- Main component ---\n// @vue/component\n\nexport var BNavbarToggle = /*#__PURE__*/extend({\n name: NAME_NAVBAR_TOGGLE,\n directives: {\n VBToggle: VBToggle\n },\n mixins: [listenOnRootMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n toggleState: false\n };\n },\n created: function created() {\n this.listenOnRoot(ROOT_EVENT_NAME_STATE, this.handleStateEvent);\n this.listenOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.handleStateEvent);\n },\n methods: {\n onClick: function onClick(event) {\n if (!this.disabled) {\n // Emit courtesy `click` event\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n handleStateEvent: function handleStateEvent(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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend, mergeData } from '../../vue';\nimport { NAME_SKELETON_ICON } from '../../constants/components';\nimport { PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BIcon } from '../../icons'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animation: makeProp(PROP_TYPE_STRING, 'wave'),\n icon: makeProp(PROP_TYPE_STRING),\n iconProps: makeProp(PROP_TYPE_OBJECT, {})\n}, NAME_SKELETON_ICON); // --- Main component ---\n// @vue/component\n\nexport var BSkeletonIcon = /*#__PURE__*/extend({\n name: NAME_SKELETON_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props;\n var icon = props.icon,\n animation = props.animation;\n var $icon = h(BIcon, {\n staticClass: 'b-skeleton-icon',\n props: _objectSpread(_objectSpread({}, props.iconProps), {}, {\n icon: icon\n })\n });\n return h('div', mergeData(data, {\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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_TABLE_SIMPLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), stackedProps), tableRendererProps)), NAME_TABLE_SIMPLE); // --- Main component ---\n// @vue/component\n\nexport var BTableSimple = /*#__PURE__*/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: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n tableRendererMixin, // Table features mixins\n // Stacked requires extra handling by users via\n // the table cell `stacked-heading` prop\n stackedMixin],\n props: props,\n computed: {\n isTableSimple: function isTableSimple() {\n return true;\n }\n } // Render function is provided by `tableRendererMixin`\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\nBTable, BTableLite, BTableSimple, // Helper components\nBTbody, BThead, BTfoot, BTr, BTd, BTh };","import { extend } 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__*/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 var title = this.title,\n content = this.content; // Title and content could be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title;\n var $content = isFunction(content) ? content({}) : content; // Directive usage only\n\n var titleDomProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n var contentDomProps = this.html && !isFunction(content) ? {\n innerHTML: 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 staticClass: 'arrow',\n ref: '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 { extend } 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__*/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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/extend({\n name: NAME_PAGINATION,\n // The render function is brought in via the `paginationMixin`\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n // Used for watching changes to `perPage` and `numberOfPages`\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n if (!isUndefinedOrNull(oldValue)) {\n if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newValue.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to `NaN` or a value less than `1`\n // trigger an initial emit of `null` if no page specified\n _this.currentPage = 0;\n });\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(event, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = event.target; // Emit a user-cancelable `page-click` event\n\n var clickEvent = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvent.type, clickEvent, pageNumber);\n\n if (clickEvent.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit(EVENT_NAME_CHANGE, this.currentPage); // Keep the current button focused if possible\n\n this.$nextTick(function () {\n if (isVisible(target) && _this2.$el.contains(target)) {\n attemptFocus(target);\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n\n /* istanbul ignore next */\n linkProps: function linkProps() {\n // No props, since we render a plain button\n return {};\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- 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 BTfoot = /*#__PURE__*/extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvTableRowGroup: function getBvTableRowGroup() {\n return _this;\n }\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n getBvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n bvTable: function bvTable() {\n return this.getBvTable();\n },\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\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(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\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 { extend } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\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(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\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 { extend } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\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 tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { extend } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { safeVueInstance } from '../../../utils/safe-vue-instance';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var _safeVueInstance = safeVueInstance(this),\n items = _safeVueInstance.computedItems,\n computedBusy = _safeVueInstance.computedBusy;\n\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\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: fields.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 tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n 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\nexport var 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};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { extend } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = extend({\n props: props,\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 var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: 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 return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n 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(newValue) {\n if (!newValue && 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(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === 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 var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, 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 { extend } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { safeVueInstance } from '../../../utils/safe-vue-instance'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var _safeVueInstance = safeVueInstance(this),\n sortedItems = _safeVueInstance.sortedItems,\n filteredItems = _safeVueInstance.filteredItems,\n localItems = _safeVueInstance.localItems;\n\n var items = sortedItems || filteredItems || 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 { extend } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { safeVueInstance } from '../../../utils/safe-vue-instance';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = extend({\n mixins: [listenOnRootMixin],\n props: props,\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(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\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(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var _safeVueInstance = safeVueInstance(this),\n items = _safeVueInstance.items,\n refresh = _safeVueInstance.refresh,\n computedBusy = _safeVueInstance.computedBusy; // Public Method: Force a refresh of the provider function\n\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (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(EVENT_NAME_REFRESHED, 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(items) ? 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(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_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 (safeVueInstance(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(EVENT_NAME_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 { extend } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single'];\nvar ROLE_GRID = 'grid'; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = extend({\n props: props,\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 var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && 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 var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n if (!this.isSelectable) {\n return {};\n }\n\n var role = this.bvAttrs.role || ROLE_GRID;\n return {\n role: role,\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': role === ROLE_GRID ? toString(this.selectableIsMultiSelect) : null\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\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(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\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(EVENT_NAME_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 ? createArray(length, true) : [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 }\n\n return {};\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](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\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 selectedLastRow = this.selectedLastRow;\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 (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n if (selected) this.selectedLastRow = index;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { safeVueInstance } from '../../../utils/safe-vue-instance';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\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 noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || 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 // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var _safeVueInstance = safeVueInstance(this),\n sortBy = _safeVueInstance.localSortBy,\n sortDesc = _safeVueInstance.localSortDesc,\n locale = _safeVueInstance.sortCompareLocale,\n nullLast = _safeVueInstance.sortNullLast,\n sortCompare = _safeVueInstance.sortCompare,\n localSorting = _safeVueInstance.localSorting,\n filteredItems = _safeVueInstance.filteredItems,\n localItems = _safeVueInstance.localItems;\n\n var items = (filteredItems || localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\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; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\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: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, 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 === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_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(EVENT_NAME_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 var _field$sortKey;\n\n var isSortable = this.isSortable,\n noFooterSorting = this.noFooterSorting,\n localSortDesc = this.localSortDesc,\n localSortBy = this.localSortBy,\n localSorting = this.localSorting;\n\n if (!isSortable || isFoot && noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable;\n var sortKey = !localSorting ? (_field$sortKey = field.sortKey) !== null && _field$sortKey !== void 0 ? _field$sortKey : key : key; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && localSortBy === sortKey ? localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n // A label to be placed in an `.sr-only` element in the header cell\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // No label if not a sortable table\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n return null;\n }\n\n var localSortBy = this.localSortBy,\n localSortDesc = this.localSortDesc,\n labelSortAsc = this.labelSortAsc,\n labelSortDesc = this.labelSortDesc;\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 (localSortBy === key) {\n // Currently sorted sortable column\n labelSorting = localSortDesc ? labelSortAsc : labelSortDesc;\n } else {\n // Not currently sorted sortable column\n // Not using nested ternary's here for clarity/readability\n // Default for `aria-label`\n labelSorting = localSortDesc ? labelSortDesc : labelSortAsc; // Handle `sortDirection` setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = 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 { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// 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\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(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` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","import { extend } from '../../../vue';\nimport { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\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(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_TABLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/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],\n props: props // Render function is provided by `tableRendererMixin`\n\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_TR } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar LIGHT = 'light';\nvar DARK = 'dark'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TR); // --- 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 BTr = /*#__PURE__*/extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvTableTr: function getBvTableTr() {\n return _this;\n }\n };\n },\n inject: {\n getBvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n bvTableRowGroup: function bvTableRowGroup() {\n return this.getBvTableRowGroup();\n },\n // Sniffed by `` / ``\n inTbody: function inTbody() {\n return this.bvTableRowGroup.isTbody;\n },\n // Sniffed by `` / ``\n inThead: function inThead() {\n return this.bvTableRowGroup.isThead;\n },\n // Sniffed by `` / ``\n inTfoot: function inTfoot() {\n return this.bvTableRowGroup.isTfoot;\n },\n // Sniffed by `` / ``\n isDark: function isDark() {\n return this.bvTableRowGroup.isDark;\n },\n // Sniffed by `` / ``\n isStacked: function isStacked() {\n return this.bvTableRowGroup.isStacked;\n },\n // Sniffed by `` / ``\n isResponsive: function isResponsive() {\n return this.bvTableRowGroup.isResponsive;\n },\n // Sniffed by `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return this.bvTableRowGroup.isStickyHeader;\n },\n // Sniffed by / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n // Sniffed by `` / ``\n tableVariant: function tableVariant() {\n return this.bvTableRowGroup.tableVariant;\n },\n // Sniffed by `` / ``\n headVariant: function headVariant() {\n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n // Sniffed by `` / ``\n footVariant: function footVariant() {\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 var variant = this.variant;\n return [variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(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 { extend, mergeData } from '../../vue';\nimport { NAME_SKELETON_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BAspect } from '../aspect';\nimport { BSkeleton } from './skeleton'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animation: makeProp(PROP_TYPE_STRING),\n aspect: makeProp(PROP_TYPE_STRING, '16:9'),\n cardImg: makeProp(PROP_TYPE_STRING),\n height: makeProp(PROP_TYPE_STRING),\n noAspect: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING)\n}, NAME_SKELETON_IMG); // --- Main component ---\n// @vue/component\n\nexport var BSkeletonImg = /*#__PURE__*/extend({\n name: NAME_SKELETON_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n 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, mergeData(data, {\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); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_PAGINATION_NAV } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptBlur, requestAF } from '../../utils/dom';\nimport { isArray, isUndefined, isObject } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable, 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'; // --- Helper 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']);\n\nvar props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, paginationProps), _linkProps), {}, {\n baseUrl: makeProp(PROP_TYPE_STRING, '/'),\n linkGen: makeProp(PROP_TYPE_FUNCTION),\n // Disable auto page number detection if `true`\n noPageDetect: makeProp(PROP_TYPE_BOOLEAN, false),\n numberOfPages: makeProp(PROP_TYPE_NUMBER_STRING, 1,\n /* istanbul ignore next */\n function (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 pageGen: makeProp(PROP_TYPE_FUNCTION),\n // Optional array of page links\n pages: makeProp(PROP_TYPE_ARRAY),\n useRouter: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_PAGINATION_NAV); // --- Main component ---\n// @vue/component\n\nexport var BPaginationNav = /*#__PURE__*/extend({\n name: NAME_PAGINATION_NAV,\n // The render function is brought in via the pagination mixin\n mixins: [paginationMixin],\n props: props,\n computed: {\n // Used by render function to trigger wrapping in '