{"version":3,"sources":["webpack:///./src/views/Common/Category/Bac/index.vue?3a3f","webpack:///src/views/Common/Category/Bac/index.vue","webpack:///./src/views/Common/Category/Bac/index.vue?4c41","webpack:///./src/views/Common/Category/Bac/index.vue","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./src/views/Common/Components/TableCommon.vue?083d","webpack:///./src/views/Common/Components/ModalCommon.vue?9420","webpack:///src/views/Common/Components/ModalCommon.vue","webpack:///./src/views/Common/Components/ModalCommon.vue?8896","webpack:///./src/views/Common/Components/ModalCommon.vue","webpack:///src/views/Common/Components/TableCommon.vue","webpack:///./src/views/Common/Components/TableCommon.vue?9fbd","webpack:///./src/views/Common/Components/TableCommon.vue","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./src/@core/components/b-card-code/BCardCode.vue?d934","webpack:///src/@core/components/b-card-code/BCardCode.vue","webpack:///./src/@core/components/b-card-code/BCardCode.vue?1c17","webpack:///./src/@core/components/b-card-code/BCardCode.vue","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/model.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./src/views/Common/Components/ModalCommon.vue?740d","webpack:///./node_modules/vue-prism-component/dist/vue-prism-component.common.js","webpack:///./src/@core/components/b-card-code/BCardCode.vue?e888","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/prismjs/prism.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","nameController","staticRenderFns","components","BRow","BCol","BCard","TableCommon","data","watch","computed","created","methods","setup","props","headerData","document","component","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","title","undefined","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","disabled","delay","boundary","String","boundaryPadding","variant","customClass","show","hide","arg","concat","modifiers","mod","test","slice","selectedTriggers","join","trim","toLowerCase","split","applyTooltip","el","$parent","context","parent","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","loading","staticClass","staticStyle","_v","model","callback","$$v","expression","directives","name","rawName","on","$event","handle","ref","fnGetList","fields","perPage","currentPage","sortBy","sortDesc","filterOn","scopedSlots","_u","fn","_s","index","item","handleDelete","pageOptions","totalRows","showModal","reload","$emit","handleOk","stopPropagation","preventDefault","handleSubmit","errors","$set","localize","BFormGroup","BFormInput","BButton","BModal","ValidationProvider","ValidationObserver","Ripple","bvModalEvt","controller","Update","position","icon","text","Create","BPagination","BFormSelect","BTable","BOverlay","Modal","label","thStyle","class","sortable","numberOfElement","val","fnRefresh","onPageChange","page","start","limit","ctx","content","msgBoxConfirm","size","okVariant","okTitle","cancelTitle","cancelVariant","hideHeaderClose","centered","then","Delete","hasListenerMixin","extend","hasListener","$listeners","$events","_events","LIGHT","DARK","BTr","mixins","listeners","provide","bvTableTr","inject","bvTableRowGroup","default","inheritAttrs","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","tableVariant","headVariant","footVariant","isRowDark","trClasses","trAttrs","role","bvAttrs","h","bvListeners","normalizeSlot","bottomRowMixin","renderBottomRow","computedFields","stacked","tbodyTrClass","tbodyTrAttr","hasNormalizedSlot","columns","colspan","rowspan","stackedHeading","stickyColumn","BTd","tag","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","$content","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","newValue","oldValue","stopIfBusy","event","renderBusy","caption","captionHtml","captionMixin","captionId","safeId","renderCaption","$caption","hasCaptionSlot","domProps","colgroupMixin","renderColgroup","$colgroup","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","map","k","v","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","reduce","result","EVENT_FILTER","row","ignoreFields","includeFields","fieldsObj","formattedRow","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","constructor","Array","from","iter","Symbol","iterator","isArray","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","_this","timeout","setTimeout","_ref","_this2","Boolean","beforeDestroy","clearTimeout","_this3","regExp","pattern","replace","RegExp","lastIndex","computedFieldsObj","origFields","f","sample","memo","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","primaryKey","itemsMixin","paginatedItems","sortedItems","localSortBy","localSortDesc","math","apiUrl","mounted","getFieldFormatter","paginationMixin","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","_providerUpdate","listenOnRoot","refresh","$off","clearSelected","_providerSetLocal","emitOnRoot","e","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","dark","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","get","bb","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","stackedMixin","isStackedAlways","stackedTableClasses","bordered","borderless","captionTop","fixed","noBorderCollapse","outlined","responsive","small","stickyHeader","striped","tableClass","tableRendererMixin","bvTable","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderThead","renderTbody","renderTfoot","$table","style","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","TABLE_TAG_NAMES","indexOf","tagName","labelFor","input","sel","containsNode","BTh","extends","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","slotScope","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","rowShowDetails","hasRowClickHandler","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","$refs","tbody","$el","trs","tr","children","getTbodyTrIndex","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTopRow","$busy","cache","defaultSlotName","lowercaseSlotName","handlers","auxclick","contextmenu","dblclick","keydown","$tbody","$props","BTfoot","tfootClasses","tfootAttrs","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","BThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","noop","makeCell","labelHtml","ariaLabel","headerTitle","sortAttrs","sortClass","sortLabel","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","topRowMixin","_g","_b","cardAttrs","$attrs","_e","code_visible","parentID","_t","codeLanguage","BCardTitle","BCardSubTitle","BCardBody","BCollapse","Prism","CLASS_NAME_SHOW","scrollHeight","height","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","functional","appear","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","accordion","isNav","transitioning","classObject","collapse","visible","close","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","updated","deactivated","activated","window","toggle","onEnter","onAfterEnter","onLeave","onAfterLeave","checkDisplayBlock","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","OPTIONS_OBJECT_DEPRECATED_MSG","disabledField","htmlField","options","textField","valueField","formOptionsMixin","formOptions","normalizeOptions","normalizeOption","option","$options","labelField","optionsField","optionsMixin","BFormSelectOption","BFormSelectOptionGroup","ariaInvalid","multiple","selectSize","localValue","computedSelectSize","plain","inputClass","stateClass","onChange","selectedValue","_value","required","form","computedAriaInvalid","change","stableSort","compareFn","assign","arguments$1","p","code","inline","language","prismLanguage","languages","className","innerHTML","highlight","module","exports","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","BVPopper","localShow","attachment","getAttachment","templateType","popperConfig","getOffset","flip","behavior","arrow","element","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","$once","updatePopper","destroyPopper","destroyed","parentNode","removeChild","toUpperCase","arrowOffset","width","destroy","scheduleUpdate","renderTemplate","beforeEnter","beforeLeave","BVTooltipTemplate","templateClasses","noninteractive","templateAttributes","scopedStyleAttrs","templateListeners","focusin","focusout","$title","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","BVTooltip","activeTrigger","computedId","computedDelay","computedTriggers","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","getTarget","body","scopeId","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","defaultPrevented","addAriaDescribedby","force","tip","hideEvt","prevHoverState","getTargetId","isInModal","isDropdown","clearInterval","desc","_this5","d","relatedTarget","componentId","vueTarget","bvEvent","_this6","setRootListener","_this7","events","$root","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","_this9","documentElement","__vue__","eventTarget","currentTarget","_this10","_this11","BSpinner","_class","slots","$slots","$scopedSlots","$label","POSITION_COVER","top","left","bottom","right","bgColor","noCenter","noWrap","opacity","number","overlayTag","rounded","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","WorkerGlobalScope","self","lang","uniqueId","_","disableWorkerMessageHandler","util","encode","tokens","Token","alias","objId","clone","deepClone","visited","hasOwnProperty","getLanguage","parentElement","match","currentScript","Error","err","src","exec","stack","scripts","getElementsByTagName","redef","insertBefore","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","property","propertyType","plugins","highlightAll","async","highlightAllUnder","env","selector","hooks","run","elements","querySelectorAll","highlightElement","nodeName","textContent","insertHighlightedCode","highlightedCode","Worker","worker","filename","onmessage","evt","postMessage","JSON","stringify","immediateClose","tokenize","matchGrammar","strarr","startPos","oneshot","patterns","j","lookbehind","greedy","lookbehindLength","global","flags","pos","str","to","delNum","after","args","wrapped","splice","rest","all","add","callbacks","matchedStr","classes","attributes","aliases","addEventListener","parse","script","hasAttribute","highlightAutomaticallyCallback","readyState","defer","requestAnimationFrame","markup","includedCdataInside","def","xml","mathml","svg","string","addInlined","clike","javascript","js","querySelector","fileHighlight","Extensions","pre","getAttribute","extension","xhr","XMLHttpRequest","open","onreadystatechange","status","responseText","setAttribute","statusText","send"],"mappings":"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CAwG,iBACAxF,kBACAyF,6BCtNmX,I,wBCQ/W9J,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QCwHA,GACfd,YACAC,YACAC,YACAC,aACA2K,mBACAd,kBACAC,kBACAc,mBACAb,eACAc,cACAC,gBACAC,SAEAnD,YACAuC,cACA,iBACA,oBAEA3J,yBACAN,KApBA,WAqBA,OACAkH,WACAkB,cACAD,WACAY,6BACAV,cACAC,YACArH,YACAsH,YACAW,UACAhB,QACA,CACA4C,YACAhJ,YACAiJ,qBACAC,qBAIA,CACAF,WACAhJ,WACAkJ,oBACAC,aAEA,CACAH,YACAhJ,WACAmJ,aAEA,CACAH,oBACAhJ,aACAkJ,oBACAC,aAEA,CACAH,UACAhJ,aACAkJ,sBAGAE,kBACAlC,YACAC,aACA3B,WAGArH,OACAiJ,OADA,SACAiC,GACA,mBAGAjL,YACAC,QA3EA,WA4EA,kBAEAC,SACAgL,UADA,WACA,0JACA,oDADA,8CAGAC,aAJA,WAIA,gBAAI,EAAJ,sJAAAC,mCACA,gBACA,CACAC,oBACAC,iBAEA,oDANA,8CAQAvD,UAZA,SAYAwD,GAAA,WACA,GACAF,oBACAC,gBACAE,oBACArD,gBACAC,qBAEA,GACA6B,+BACAnK,QAEA,gBACA,IACA,wBACA,2BACA,kBAGA,OAFA,6BACA,qCACA,SANC,QASD,kBAGA+H,OArCA,SAqCA3F,GACA,kBACA,wBAEA,+BAIA0G,aA7CA,SA6CA9I,GAAA,WACA,cACA2L,cAAA,+CACA7H,sBACA8H,UACAC,oBACAC,cACAC,kBACAC,kCACAC,mBACAC,cAEAC,MAAA,YACA,MACA,OACAhC,4BACAnK,QAEAoM,oCACA,UACA,UACA3L,iBACA4J,qBACA/J,OACAwD,iBACAwG,yBACAxF,gBACAyF,mBAIA,cACA,UACA9J,iBACA4J,qBACA/J,OACAwD,mBACAwG,iBACAxF,kBACAyF,6BC7SmX,ICO/W,EAAY,eACd,EACAtL,EACAS,GACA,EACA,KACA,KACA,MAIa,S,4JCXJ2M,EAAmB,aAAIC,OAAO,CACvClM,QAAS,CA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","file":"js/chunk-83b4defa.4fc8fb24.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table-common',{attrs:{\"name-controller\":_vm.nameController}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=b750e8b0&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-overlay',{attrs:{\"show\":_vm.loading,\"rounded\":\"sm\",\"no-fade\":\"\"}},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-card',[_c('div',{staticClass:\"cs-header-table\"},[_c('div',{staticClass:\"custom-search d-flex justify-content-end\"},[_c('b-form-group',[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('label',{staticClass:\"mr-1\",staticStyle:{\"width\":\"100px\"}},[_vm._v(\"Tìm kiếm\")]),_c('b-form-input',{staticClass:\"d-inline-block\",attrs:{\"placeholder\":\"Nhập nội dung\",\"type\":\"text\",\"size\":\"sm\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1)])],1),_c('b-form-group',[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn btn-primary\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.handle()}}},[_vm._v(\" Tạo mới \")])],1)],1),_c('b-table',{ref:\"tblList\",attrs:{\"items\":_vm.fnGetList,\"fields\":_vm.fields,\"striped\":\"\",\"responsive\":\"sm\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"filter\":_vm.filter,\"filter-included-fields\":_vm.filterOn,\"primary-key\":\"id\",\"empty-text\":\"Không có dữ liệu\",\"table-class\":\"vgt-table cs-table-info\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"cell(index)\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.index + (_vm.currentPage - 1) * _vm.perPage + 1)+\" \")]}},{key:\"cell()\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.value)+\" \")]}},{key:\"cell(action)\",fn:function(data){return [_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.top\",value:('Cập nhật'),expression:\"'Cập nhật'\",modifiers:{\"hover\":true,\"top\":true}}],staticClass:\"btn-icon p-50 m-0\",attrs:{\"variant\":\"flat-success\"},on:{\"click\":function($event){return _vm.handle(data.item)}}},[_c('i',{staticClass:\"fa-solid fa-pencil\"})]),_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.top\",value:('Xóa'),expression:\"'Xóa'\",modifiers:{\"hover\":true,\"top\":true}}],staticClass:\"btn-icon p-50 m-0\",attrs:{\"variant\":\"flat-danger\"},on:{\"click\":function($event){return _vm.handleDelete(data.item)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})])]}}])}),_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('div',[_vm._v(\" Hiển thị \"),_c('label',{staticClass:\"d-inline-flex align-items-center\"},[_c('b-form-select',{staticClass:\"form-select form-select-sm\",staticStyle:{\"width\":\"70px\"},attrs:{\"size\":\"sm\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_vm._v(\"  \")],1),_vm._v(\" trên tổng số \"+_vm._s(_vm.totalRows)+\" dòng \")])]),_c('b-col',{staticClass:\"text-right\",attrs:{\"md\":\"6\"}},[_c('b-pagination',{staticClass:\"my-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"align\":\"right\",\"size\":\"sm\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1),_c('modal',{attrs:{\"show-modal\":_vm.showModal,\"model\":_vm.model,\"reload\":_vm.reload,\"name-controller\":_vm.nameController},on:{\"update:showModal\":function($event){_vm.showModal=$event},\"update:show-modal\":function($event){_vm.showModal=$event},\"update:reload\":function($event){_vm.reload=$event}}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"my-modal\",attrs:{\"no-close-on-backdrop\":\"\",\"centered\":\"\",\"hide-footer\":\"\",\"title\":\"Thông tin\"},scopedSlots:_vm._u([{key:\"modal-header\",fn:function(ref){return [_c('div',{staticClass:\"w-100 d-flex justify-content-between align-items-center\"},[_c('h5',{staticClass:\"d-inline-flex align-items-center mb-0\"},[_vm._v(\"THÔNG TIN\")]),_c('div',{staticClass:\"text-end\"},[_c('b-button',{staticClass:\"mr-1\",attrs:{\"variant\":\"outline-secondary\"},on:{\"click\":function($event){return _vm.$emit('update:show-modal', false)}}},[_vm._v(\" Đóng \")]),_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\"},on:{\"click\":_vm.handleOk}},[_vm._v(\"Lưu \")])],1)])]}}]),model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[_c('validation-observer',{ref:\"simpleRules\"},[_c('form',{ref:\"form\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('b-form-group',[_c('validation-provider',{attrs:{\"name\":\"Mã\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('label',{staticStyle:{\"font-size\":\"13px\"}},[_vm._v(\"Mã \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-input',{attrs:{\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Mã\"},model:{value:(_vm.model.code),callback:function ($$v) {_vm.$set(_vm.model, \"code\", $$v)},expression:\"model.code\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',[_c('validation-provider',{attrs:{\"name\":\"Mã quốc gia\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('label',{staticStyle:{\"font-size\":\"13px\"}},[_vm._v(\"Mã quốc gia \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-input',{attrs:{\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Mã\"},model:{value:(_vm.model.qgCode),callback:function ($$v) {_vm.$set(_vm.model, \"qgCode\", $$v)},expression:\"model.qgCode\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',[_c('validation-provider',{attrs:{\"name\":\"Tên\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('label',{staticStyle:{\"font-size\":\"13px\"}},[_vm._v(\"Tên \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-input',{attrs:{\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Tên\"},model:{value:(_vm.model.name),callback:function ($$v) {_vm.$set(_vm.model, \"name\", $$v)},expression:\"model.name\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',[_c('validation-provider',{attrs:{\"name\":\"description\",\"rules\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('label',{staticStyle:{\"font-size\":\"13px\"}},[_vm._v(\"Mô tả\")]),_c('b-form-input',{attrs:{\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Mô tả\"},model:{value:(_vm.model.description),callback:function ($$v) {_vm.$set(_vm.model, \"description\", $$v)},expression:\"model.description\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalCommon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalCommon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalCommon.vue?vue&type=template&id=261f3e6f&\"\nimport script from \"./ModalCommon.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalCommon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ModalCommon.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCommon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableCommon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TableCommon.vue?vue&type=template&id=2ed83457&\"\nimport script from \"./TableCommon.vue?vue&type=script&lang=js&\"\nexport * from \"./TableCommon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\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 { Vue } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = Vue.extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Overridden by ``\n tag: function tag() {\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n isStickyColumn: function isStickyColumn() {\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant() {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ?\n /* istanbul ignore next */\n toString(stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var $content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [$content]) : $content]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\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});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = Vue.extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var items = this.computedItems;\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: fields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n});","import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\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\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 { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nexport var sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\n};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && 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 { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce, 0);\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, NAME_TABLE);\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n var filterFunction = this.filterFunction;\n return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newValue) {\n if (!newValue && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === true) {\n // We need to emit a filtered event if `isFiltered` transitions from `true` to\n // `false` so that users can update their pagination controls\n var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});","import { 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});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 0), 0); // Apply local pagination\n\n if (this.localPaging && perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = Vue.extend({\n mixins: [listenOnRootMixin],\n props: props,\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var items = this.items,\n refresh = this.refresh; // Public Method: Force a refresh of the provider function\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on(EVENT_NAME_REFRESHED, refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(items) ? items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED, this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off(EVENT_NAME_REFRESHED, _this2.refresh);\n }\n });\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single']; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit(EVENT_NAME_ROW_SELECTED, items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? createArray(length, true) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n }\n\n return {};\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode,\n selectedLastRow = this.selectedLastRow;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort Ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort Descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n // Another prop that should have had a better name\n // It should be `noSortClear` (on non-sortable headers)\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var sortBy = this.localSortBy,\n sortDesc = this.localSortDesc,\n locale = this.sortCompareLocale,\n nullLast = this.sortNullLast,\n sortCompare = this.sortCompare,\n localSorting = this.localSorting;\n var items = (this.filteredItems || this.localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ?\n /* istanbul ignore next */\n sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit(EVENT_NAME_SORT_CHANGED, this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n});","import { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where `sortBy` could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in `mixin-sort.js` by\n// calling this method for each sortBy\n\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(bb);\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting `null` / `undefined` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","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});","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 { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { identity } from '../../../utils/identity';\nimport { isBoolean } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { attrsMixin } from '../../../mixins/attrs'; // Main `` render mixin\n// Includes all main table styling options\n// --- Props ---\n\nexport var props = {\n bordered: makeProp(PROP_TYPE_BOOLEAN, false),\n borderless: makeProp(PROP_TYPE_BOOLEAN, false),\n captionTop: makeProp(PROP_TYPE_BOOLEAN, false),\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n hover: makeProp(PROP_TYPE_BOOLEAN, false),\n noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),\n outlined: makeProp(PROP_TYPE_BOOLEAN, false),\n responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n // If a string, it is assumed to be the table `max-height` value\n stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false),\n tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tableVariant: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tableRendererMixin = Vue.extend({\n mixins: [attrsMixin],\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `
`\n inheritAttrs: false,\n props: props,\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive;\n responsive = responsive === '' ? true : responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader;\n stickyHeader = stickyHeader === '' ? true : stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n var isResponsive = this.isResponsive;\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(identity);\n },\n wrapperStyles: function wrapperStyles() {\n var isStickyHeader = this.isStickyHeader;\n return isStickyHeader && !isBoolean(isStickyHeader) ? {\n maxHeight: isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.hover,\n tableVariant = this.tableVariant;\n hover = this.isTableSimple ? hover : hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n var items = this.computedItems,\n filteredItems = this.filteredItems,\n fields = this.computedFields,\n selectableTableAttrs = this.selectableTableAttrs; // Preserve user supplied aria-describedby, if provided in `$attrs`\n\n var adb = [(this.bvAttrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null;\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? toString(filteredItems.length) : null;\n return _objectSpread(_objectSpread(_objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.bvAttrs), {}, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs), selectableTableAttrs);\n }\n },\n render: function render(h) {\n var wrapperClasses = this.wrapperClasses,\n renderCaption = this.renderCaption,\n renderColgroup = this.renderColgroup,\n renderThead = this.renderThead,\n renderTbody = this.renderTbody,\n renderTfoot = this.renderTfoot;\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot());\n } else {\n // Build the `
`\n\n $content.push(renderColgroup ? renderColgroup() : null); // Build the ``\n\n $content.push(renderThead ? renderThead() : null); // Build the ``\n\n $content.push(renderTbody ? renderTbody() : null); // Build the ``\n\n $content.push(renderTfoot ? renderTfoot() : null);\n } // Assemble `
` (from caption mixin)\n $content.push(renderCaption ? renderCaption() : null); // Build the `
`\n\n\n var $table = h('table', {\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs,\n key: 'b-table'\n }, $content.filter(identity)); // Add responsive/sticky wrapper if needed and return table\n\n return wrapperClasses.length > 0 ? h('div', {\n class: wrapperClasses,\n style: this.wrapperStyles,\n key: 'wrap'\n }, [$table]) : $table;\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_TBODY } from '../../constants/components';\nimport { PROP_TYPE_OBJECT } 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 tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),\n tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)\n}, NAME_TBODY); // --- 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 BTbody = /*#__PURE__*/Vue.extend({\n name: NAME_TBODY,\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 isTbody: function isTbody() {\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 isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n },\n tbodyProps: function tbodyProps() {\n var tbodyTransitionProps = this.tbodyTransitionProps;\n return tbodyTransitionProps ? _objectSpread(_objectSpread({}, tbodyTransitionProps), {}, {\n tag: 'tbody'\n }) : {};\n }\n },\n render: function render(h) {\n var data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n };\n\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group for any delegated events\n data.on = this.tbodyTransitionHandlers || {};\n data.nativeOn = this.bvListeners;\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.bvListeners;\n }\n\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());\n }\n});","import { closest, getAttr, getById, matches, select } from '../../../utils/dom';\nimport { EVENT_FILTER } from './constants';\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nexport var filterEvent = function filterEvent(event) {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = event.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (closest('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : closest('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = getAttr(label, 'for');\n var input = labelFor ? getById(labelFor) : select('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return matches(el, EVENT_FILTER);\n};","import { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\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 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_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});","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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\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 isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","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 { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = Vue.extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],\n props: props // Render function is provided by `tableRendererMixin`\n\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',_vm._g(_vm._b({attrs:{\"no-body\":\"\"}},'b-card',_vm.cardAttrs,false),_vm.$listeners),[_c('div',{staticClass:\"card-header\"},[_c('div',[_c('b-card-title',[_vm._v(_vm._s(_vm.$attrs.title))]),(_vm.$attrs['sub-title'])?_c('b-card-sub-title',[_vm._v(\" \"+_vm._s(_vm.$attrs['sub-title'])+\" \")]):_vm._e()],1),_c('i',{staticClass:\"code-toggler feather icon-code cursor-pointer\",attrs:{\"aria-expanded\":!_vm.code_visible ? 'true' : 'false',\"aria-controls\":_vm.parentID},on:{\"click\":function($event){_vm.code_visible = !_vm.code_visible}}})]),(_vm.$attrs['no-body'] !== undefined)?[_vm._t(\"default\"),_c('b-collapse',{staticClass:\"card-code\",attrs:{\"id\":_vm.parentID,\"visible\":_vm.code_visible},model:{value:(_vm.code_visible),callback:function ($$v) {_vm.code_visible=$$v},expression:\"code_visible\"}},[_c('b-card-body',[_c('prism',{attrs:{\"language\":_vm.codeLanguage}},[_vm._t(\"code\")],2)],1)],1)]:_c('b-card-body',[_vm._t(\"default\"),_c('b-collapse',{staticClass:\"card-code\",attrs:{\"id\":_vm.parentID,\"visible\":_vm.code_visible},model:{value:(_vm.code_visible),callback:function ($$v) {_vm.code_visible=$$v},expression:\"code_visible\"}},[_c('div',{staticClass:\"p-1\"}),_c('prism',{attrs:{\"language\":_vm.codeLanguage}},[_vm._t(\"code\")],2)],1)],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BCardCode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BCardCode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BCardCode.vue?vue&type=template&id=aa799a9e&scoped=true&\"\nimport script from \"./BCardCode.vue?vue&type=script&lang=js&\"\nexport * from \"./BCardCode.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BCardCode.vue?vue&type=style&index=0&id=aa799a9e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"aa799a9e\",\n null\n \n)\n\nexport default component.exports","var _watch;\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_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvt);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n});","import { makeModelMixin } from '../utils/model';\n\nvar _makeModelMixin = makeModelMixin('value'),\n mixin = _makeModelMixin.mixin,\n props = _makeModelMixin.props,\n prop = _makeModelMixin.prop,\n event = _makeModelMixin.event;\n\nexport { mixin as modelMixin, props, prop as MODEL_PROP_NAME, event as MODEL_EVENT_NAME };","import { Vue } from '../vue';\nimport { PROP_TYPE_ARRAY_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { get } from '../utils/get';\nimport { stripTags } from '../utils/html';\nimport { isArray, isPlainObject, isUndefined } from '../utils/inspect';\nimport { keys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn'; // --- Constants ---\n\nvar OPTIONS_OBJECT_DEPRECATED_MSG = 'Setting prop \"options\" to an object is deprecated. Use the array format instead.'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n disabledField: makeProp(PROP_TYPE_STRING, 'disabled'),\n htmlField: makeProp(PROP_TYPE_STRING, 'html'),\n options: makeProp(PROP_TYPE_ARRAY_OBJECT, []),\n textField: makeProp(PROP_TYPE_STRING, 'text'),\n valueField: makeProp(PROP_TYPE_STRING, 'value')\n}, 'formOptionControls'); // --- Mixin ---\n// @vue/component\n\nexport var formOptionsMixin = Vue.extend({\n props: props,\n computed: {\n formOptions: function formOptions() {\n return this.normalizeOptions(this.options);\n }\n },\n methods: {\n normalizeOption: function normalizeOption(option) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n var value = get(option, this.valueField);\n var text = get(option, this.textField);\n return {\n value: isUndefined(value) ? key || text : value,\n text: stripTags(String(isUndefined(text) ? key : text)),\n html: get(option, this.htmlField),\n disabled: Boolean(get(option, this.disabledField))\n };\n } // Otherwise create an `` object\n\n if (!isNull(options)) {\n return {\n label: String(get(option, this.labelField) || text),\n options: this.normalizeOptions(options)\n };\n } // Otherwise create an `