{"version":3,"sources":["webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/table-lite.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/nav/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/th.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/nav/nav-item-dropdown.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/skeleton/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/popover/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/pagination/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/navbar/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover-template.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/pagination-nav/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/pagination-nav/pagination-nav.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/navbar/navbar.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/navbar/navbar-brand.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/sidebar/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/popover/popover.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/skeleton/skeleton-wrapper.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/overlay/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/skeleton/skeleton-table.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/nav/nav-item.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/progress/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/td.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/spinner/index.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/skeleton/skeleton-img.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/nav/nav-text.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/skeleton/skeleton.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/table-simple.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/progress/progress-bar.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/table.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/navbar/navbar-nav.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/nav/nav-form.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/skeleton/skeleton-icon.js","webpack:////build/ln98dgidwzsassisb5w7p2c25sp6wr48-source/node_modules/bootstrap-vue/esm/components/table/index.js"],"names":["key","value","field","label","formatter","origFields","items","fields","filter","identity","forEach","f","push","length","sample","k","memo","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","i","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","props","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","primaryKey","itemsMixin","extend","mixins","data","this","localItems","slice","computed","computedFields","computedFieldsObj","$parent","reduce","undefined","computedItems","paginatedItems","sortedItems","filteredItems","context","localFilter","sortBy","localSortBy","sortDesc","localSortDesc","perPage","math","currentPage","apiUrl","watch","newValue","oldValue","$emit","mounted","methods","getFieldFormatter","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","detailsTdClass","tbodyTrAttr","tbodyTrClass","concat","tbodyRowMixin","getTdValues","item","tdValue","get","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","_this","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","_this2","isStacked","isRowHeader","h","$createElement","hasNormalizedSlot","formatted","stickyColumn","isResponsive","stickyHeader","cellTag","cellVariant","variant","class","tdClass","attrs","String","thAttr","tdAttr","stackedHeading","role","scope","dark","slotScope","index","unformatted","toggleDetails","detailsShowing","Boolean","supportsSelectableRows","rowSelected","isRowSelected","selectRow","unselectRow","slotName","$_bodyFieldSlotNameCache","$childNodes","normalizeSlot","renderTbodyRow","_this3","striped","rowShowDetails","hasRowClickHandler","$listeners","hasSelectableRowClick","$rows","detailsId","safeId","$tds","map","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableRowClasses","selectableAttrs","selectableRowAttrs","userTrClasses","userTrAttrs","id","tabindex","on","mouseenter","mouseleave","ref","refInFor","detailsScope","$details","colspan","staticClass","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","beforeDestroy","getTbodyTrs","$refs","tbody","$el","trs","tr","children","array","getTbodyTrIndex","el","tagName","indexOf","hasListener","stopIfBusy","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","shiftKey","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","renderBusy","renderTopRow","renderEmpty","renderBottomRow","$busy","cache","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","BTableLite","NavPlugin","components","BNav","BNavItem","BNavText","BNavForm","BNavItemDropdown","BNavItemDd","BNavDropdown","BNavDd","plugins","DropdownPlugin","getHeadSlotName","getFootSlotName","headRowVariant","headVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","isFoot","renderThead","isSortable","isSelectable","footVariant","footRowVariant","isStackedAlways","hasHeadClickListener","selectAllRows","clearSelected","makeCell","labelHtml","ariaLabel","trim","headerTitle","sortAttrs","sortTheadThAttrs","sortClass","sortTheadThClasses","sortLabel","sortTheadThLabel","style","thStyle","sortable","abbr","headerAbbr","title","slotNames","column","$content","domProps","$srLabel","$cells","$trs","tfootTrClass","columns","tfootClass","BTh","extends","tag","toggleId","dropdownClasses","directionClass","boundaryClass","show","visible","menuClasses","menuClass","right","toggleClasses","toggleClass","noCaret","render","hide","$toggle","href","disabled","mousedown","onMousedown","toggle","html","text","$menu","onKeydown","lazy","colgroupMixin","renderColgroup","$colgroup","LIGHT","DARK","BTr","provide","bvTableTr","inject","bvTableRowGroup","default","inheritAttrs","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStickyHeader","hasStickyHeader","tableVariant","isRowDark","trClasses","trAttrs","bvAttrs","bvListeners","SkeletonPlugin","BSkeleton","BSkeletonIcon","BSkeletonImg","BSkeletonTable","BSkeletonWrapper","small","BSpinner","functional","_ref","_class","slots","scopedSlots","$slots","$scopedSlots","$label","PopoverPlugin","BPopover","VBPopoverPlugin","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","sanitizePerPage","sanitizeTotalRows","ariaControls","totalRows","BPagination","numberOfPages","result","pageSizeNumberOfPages","localNumberOfPages","created","$nextTick","onClick","pageNumber","clickEvt","cancelable","vueTarget","defaultPrevented","contains","focusCurrent","makePage","pageNum","linkProps","computeJustifyContent","align","cardHeader","fill","justified","pills","tabs","vertical","footClone","tfootMixin","renderTFootCustom","renderTfoot","stacked","stackedMixin","stackedTableClasses","PaginationPlugin","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","join","NavbarPlugin","BNavbar","BNavbarNav","BNavbarBrand","BNavbarToggle","BNavToggle","CollapsePlugin","BVPopoverTemplate","templateType","renderTemplate","content","$title","titleDomProps","innerHTML","contentDomProps","templateClasses","templateAttributes","templateListeners","BVPopover","getTemplate","PaginationNavPlugin","BPaginationNav","BTfoot","bvTable","tfootClasses","tfootAttrs","sanitizeNumberOfPages","_linkProps","baseUrl","linkGen","noPageDetect","number","pageGen","pages","useRouter","isNav","computedValue","setNumberOfPages","$router","$watch","guessCurrentPage","_this4","_this5","currentTarget","getPageInfo","link","path","info","_link","makeLink","to","resolveLink","document","createElement","body","appendChild","_link2","pathname","hash","search","removeChild","query","e","parentNode","_unused","resolveRoute","route","resolve","$route","guess","currentRoute","loc","window","location","currentLink","fixed","print","sticky","toggleable","bvNavbar","breakpointClass","xs","breakpoint","isLink","SidebarPlugin","BSidebar","VBTogglePlugin","bordered","borderless","captionTop","hover","noBorderCollapse","outlined","responsive","tableClass","tableRendererMixin","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","computedBusy","border","selectableTableClasses","tableAttrs","selectableTableAttrs","ariaAttrs","caption","captionId","rowCount","renderCaption","$table","placement","triggers","getComponent","updateContent","setContent","setTitle","loading","OverlayPlugin","BOverlay","isPositiveNumber","animation","hideHeader","rows","showFooter","tableProps","$th","$thTr","$td","width","$tdTr","$thead","$tfoot","captionHtml","captionMixin","$caption","hasCaptionSlot","textSelectionActive","sel","containsNode","linkAttrs","linkClasses","listeners","ProgressPlugin","BProgress","BProgressBar","TABLE_TAG_NAMES","filterEvent","labelFor","input","CLASS_NAME","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","directives","VBToggle","toggleState","listenOnRoot","handleStateEvt","state","expanded","POSITION_COVER","top","left","bottom","bgColor","blur","noCenter","noFade","noWrap","opacity","overlayTag","rounded","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","appear","parseSpan","spanValidator","rowspan","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","progressBarProps","animated","height","max","precision","showProgress","showValue","bvProgress","progressHeight","BThead","theadClasses","theadAttrs","SpinnerPlugin","aspect","cardImg","noAspect","$img","size","BTableSimple","progressBarClasses","computedAnimated","computedStriped","progressBarStyles","computedMax","computedPrecision","computedProgress","p","computedShowProgress","computedShowValue","$children","bottomRowMixin","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","$empty","isFiltered","row","ignoreFields","includeFields","fieldsObj","formattedRow","filterByFormatted","allowedKeys","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","filterSanitize","computedFilterIgnored","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","timeout","setTimeout","clearTimeout","fn","regExp","pattern","replace","RegExp","lastIndex","paginationMixin","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","ctx","_providerUpdate","refresh","$off","$on","_providerSetLocal","emitOnRoot","then","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","selectableHasSelection","some","selectableIsMultiSelect","equal","setSelectionHandlers","_selectedRows","v","idx","beforeMount","selectedLastClicked","method","selectionHandler","selected","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","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","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","handleSort","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortIconLeft","ariaSort","labelSorting","topRowMixin","BTable","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_ACTION_EVENT_NAME_TOGGLE","ariaLabelledby","backdrop","backdropVariant","bgVariant","bodyClass","closeLabel","footerClass","headerClass","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","textVariant","renderHeaderTitle","renderHeaderClose","renderHeader","$close","renderBody","renderFooter","$footer","renderContent","$header","isOpen","renderBackdrop","localShow","onBackdropClick","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hasTitle","titleId","computedAttrs","emitState","fullPath","$_returnFocusEl","handleToggle","handleSync","activated","emitSync","onTopTrapFocus","tabables","enforceFocus","reverse","onBottomTrapFocus","onBeforeEnter","onAfterEnter","onAfterLeave","$sidebar","beforeEnter","afterEnter","afterLeave","$backdrop","$tabTrapTop","$tabTrapBottom","focus","formProps","formClass","$form","inline","icon","iconProps","$icon","TableLitePlugin","TableSimplePlugin","TablePlugin"],"mappings":"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","file":"js/chunk-vendors~8e0697e3.7487bdf1.js","sourcesContent":["import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\n });\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { makeModelMixin } from '../../../utils/model';\nimport { toInteger } from '../../../utils/number';\nimport { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _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\" && Symbol.iterator in Object(iter)) 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 { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE_LITE } 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 { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\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'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), captionProps), colgroupProps), itemsProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps)), NAME_TABLE_LITE); // --- Main component ---\n// @vue/component\n\nexport var BTableLite = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_LITE,\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 // These are pretty lightweight, and are useful for lightweight tables\n captionMixin, colgroupMixin],\n props: props // Render function is provided by `tableRendererMixin`\n\n});","import { BNav } from './nav';\nimport { BNavItem } from './nav-item';\nimport { BNavText } from './nav-text';\nimport { BNavForm } from './nav-form';\nimport { BNavItemDropdown } from './nav-item-dropdown';\nimport { DropdownPlugin } from '../dropdown';\nimport { pluginFactory } from '../../utils/plugins';\nvar NavPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BNav: BNav,\n BNavItem: BNavItem,\n BNavText: BNavText,\n BNavForm: BNavForm,\n BNavItemDropdown: BNavItemDropdown,\n BNavItemDd: BNavItemDropdown,\n BNavDropdown: BNavItemDropdown,\n BNavDd: BNavItemDropdown\n },\n plugins: {\n DropdownPlugin: DropdownPlugin\n }\n});\nexport { NavPlugin, BNav, BNavItem, BNavText, BNavForm, BNavItemDropdown };","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\" && Symbol.iterator in Object(iter)) 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\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_THEAD_TOP } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { htmlOrText } from '../../../utils/html';\nimport { identity } from '../../../utils/identity';\nimport { isUndefinedOrNull } from '../../../utils/inspect';\nimport { noop } from '../../../utils/noop';\nimport { makeProp } from '../../../utils/props';\nimport { startCase } from '../../../utils/string';\nimport { BThead } from '../thead';\nimport { BTfoot } from '../tfoot';\nimport { BTr } from '../tr';\nimport { BTh } from '../th';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active'; // --- Helper methods ---\n\nvar getHeadSlotName = function getHeadSlotName(value) {\n return \"head(\".concat(value || '', \")\");\n};\n\nvar getFootSlotName = function getFootSlotName(value) {\n return \"foot(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = {\n // Any Bootstrap theme variant (or custom)\n headRowVariant: makeProp(PROP_TYPE_STRING),\n // 'light', 'dark' or `null` (or custom)\n headVariant: makeProp(PROP_TYPE_STRING),\n theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var theadMixin = Vue.extend({\n props: props,\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field () classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- 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 BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\n }\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\" && Symbol.iterator in Object(iter)) 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\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_NAV_ITEM_DROPDOWN } from '../../constants/components';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT, SLOT_NAME_TEXT } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { keys, pick, sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as BDropdownProps } from '../dropdown/dropdown';\nimport { BLink } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), pick(BDropdownProps, [].concat(_toConsumableArray(keys(dropdownProps)), ['html', 'lazy', 'menuClass', 'noCaret', 'role', 'text', 'toggleClass'])))), NAME_NAV_ITEM_DROPDOWN); // --- Main component ---\n// @vue/component\n\nexport var BNavItemDropdown = /*#__PURE__*/Vue.extend({\n name: NAME_NAV_ITEM_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n toggleId: function toggleId() {\n return this.safeId('_BV_toggle_');\n },\n dropdownClasses: function dropdownClasses() {\n return [this.directionClass, this.boundaryClass, {\n show: this.visible\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n return [this.toggleClass, {\n 'dropdown-toggle-no-caret': this.noCaret\n }];\n }\n },\n render: function render(h) {\n var toggleId = this.toggleId,\n visible = this.visible,\n hide = this.hide;\n var $toggle = h(BLink, {\n staticClass: 'nav-link dropdown-toggle',\n class: this.toggleClasses,\n props: {\n href: \"#\".concat(this.id || ''),\n disabled: this.disabled\n },\n attrs: {\n id: toggleId,\n role: 'button',\n 'aria-haspopup': 'true',\n 'aria-expanded': visible ? 'true' : 'false'\n },\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, [// TODO: The `text` slot is deprecated in favor of the `button-content` slot\n this.normalizeSlot([SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_TEXT]) || h('span', {\n domProps: htmlOrText(this.html, this.text)\n })]);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n tabindex: '-1',\n 'aria-labelledby': toggleId\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, !this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : [h()]);\n return h('li', {\n staticClass: 'nav-item b-nav-dropdown dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$toggle, $menu]);\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_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__*/Vue.extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\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});","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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_SPINNER } from '../../constants/components';\nimport { 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__*/Vue.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});","import { BPopover } from './popover';\nimport { VBPopoverPlugin } from '../../directives/popover';\nimport { pluginFactory } from '../../utils/plugins';\nvar PopoverPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BPopover: BPopover\n },\n plugins: {\n VBPopoverPlugin: VBPopoverPlugin\n }\n});\nexport { PopoverPlugin, BPopover };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION,\n // The render function is brought in via the `paginationMixin`\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n // Used for watching changes to `perPage` and `numberOfPages`\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n if (!isUndefinedOrNull(oldValue)) {\n if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newValue.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to `NaN` or a value less than `1`\n // trigger an initial emit of `null` if no page specified\n _this.currentPage = 0;\n });\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(event, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = event.target; // Emit a user-cancelable `page-click` event\n\n var clickEvt = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvt.type, clickEvt, pageNumber);\n\n if (clickEvt.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit(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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_NAV } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- 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({\n align: makeProp(PROP_TYPE_STRING),\n // Set to `true` if placing in a card header\n cardHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n fill: makeProp(PROP_TYPE_BOOLEAN, false),\n justified: makeProp(PROP_TYPE_BOOLEAN, false),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tabs: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'ul'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNav = /*#__PURE__*/Vue.extend({\n name: NAME_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 tabs = props.tabs,\n pills = props.pills,\n vertical = props.vertical,\n align = props.align,\n cardHeader = props.cardHeader;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': tabs,\n 'nav-pills': pills && !tabs,\n 'card-header-tabs': !vertical && cardHeader && tabs,\n 'card-header-pills': !vertical && cardHeader && pills && !tabs,\n 'flex-column': vertical,\n 'nav-fill': !vertical && props.fill,\n 'nav-justified': !vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(align), !vertical && align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\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 { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var stackedMixin = Vue.extend({\n props: props,\n computed: {\n isStacked: function isStacked() {\n var stacked = this.stacked; // `true` when always stacked, or returns breakpoint specified\n\n return stacked === '' ? true : stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n var isStackedAlways = this.isStackedAlways;\n return _defineProperty({\n 'b-table-stacked': isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !isStackedAlways && this.isStacked);\n }\n }\n});","import { BPagination } from './pagination';\nimport { pluginFactory } from '../../utils/plugins';\nvar PaginationPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BPagination: BPagination\n }\n});\nexport { PaginationPlugin, BPagination };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","import { BNavbar } from './navbar';\nimport { BNavbarNav } from './navbar-nav';\nimport { BNavbarBrand } from './navbar-brand';\nimport { BNavbarToggle } from './navbar-toggle';\nimport { NavPlugin } from '../nav';\nimport { CollapsePlugin } from '../collapse';\nimport { DropdownPlugin } from '../dropdown';\nimport { pluginFactory } from '../../utils/plugins';\nvar NavbarPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BNavbar: BNavbar,\n BNavbarNav: BNavbarNav,\n BNavbarBrand: BNavbarBrand,\n BNavbarToggle: BNavbarToggle,\n BNavToggle: BNavbarToggle\n },\n plugins: {\n NavPlugin: NavPlugin,\n CollapsePlugin: CollapsePlugin,\n DropdownPlugin: DropdownPlugin\n }\n});\nexport { NavbarPlugin, BNavbar, BNavbarNav, BNavbarBrand, BNavbarToggle };","import { Vue } from '../../../vue';\nimport { NAME_POPOVER_TEMPLATE } from '../../../constants/components';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { BVTooltipTemplate } from '../../tooltip/helpers/bv-tooltip-template'; // @vue/component\n\nexport var BVPopoverTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_POPOVER_TEMPLATE,\n extends: BVTooltipTemplate,\n computed: {\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n 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 { Vue } from '../../../vue';\nimport { NAME_POPOVER_HELPER } from '../../../constants/components';\nimport { BVTooltip } from '../../tooltip/helpers/bv-tooltip';\nimport { BVPopoverTemplate } from './bv-popover-template'; // @vue/component\n\nexport var BVPopover = /*#__PURE__*/Vue.extend({\n name: NAME_POPOVER_HELPER,\n extends: BVTooltip,\n computed: {\n // Overwrites BVTooltip\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n getTemplate: function getTemplate() {\n // Overwrites BVTooltip\n return BVPopoverTemplate;\n }\n }\n});","import { BPaginationNav } from './pagination-nav';\nimport { pluginFactory } from '../../utils/plugins';\nvar PaginationNavPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BPaginationNav: BPaginationNav\n }\n});\nexport { PaginationNavPlugin, BPaginationNav };","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { 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__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PAGINATION_NAV } from '../../constants/components';\nimport { 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__*/Vue.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 '