{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/bootstrap-vue/esm/utils/css-escape.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/once.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/is-promise/index.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","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:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/fuzzysearch/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./src/services/api/HoSoCanBoCongChuc/CanBoCongChucService.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/last.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/lodash/constant.js","webpack:///./src/services/api/DefaultTemplate/DonViService.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/form-group.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:///./node_modules/lodash/_baseTrim.js","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:///./src/services/api/DefaultTemplate/PhongBanService.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-text.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./src/views/DefaultTemplate/logger/index.vue?787b","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./src/views/DefaultTemplate/logger/index.vue?3782","webpack:///./src/views/DefaultTemplate/logger/components/DataTable.vue?699b","webpack:///./src/services/api/DefaultTemplate/LoggingService.js","webpack:///./src/views/DefaultTemplate/logger/useSetup.js","webpack:///src/views/DefaultTemplate/logger/components/DataTable.vue","webpack:///./src/views/DefaultTemplate/logger/components/DataTable.vue?b874","webpack:///./src/views/DefaultTemplate/logger/components/DataTable.vue","webpack:///./src/views/DefaultTemplate/logger/components/Filters.vue?59c6","webpack:///src/views/DefaultTemplate/logger/components/Filters.vue","webpack:///./src/views/DefaultTemplate/logger/components/Filters.vue?bde0","webpack:///./src/views/DefaultTemplate/logger/components/Filters.vue","webpack:///src/views/DefaultTemplate/logger/index.vue","webpack:///./src/views/DefaultTemplate/logger/index.vue?1676","webpack:///./src/views/DefaultTemplate/logger/index.vue","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/watch-size/index.es.mjs","webpack:///./node_modules/lodash/before.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/vue-good-table/dist/vue-good-table.esm.js","webpack:///./src/views/DefaultTemplate/logger/components/Filters.vue?80ed","webpack:///./node_modules/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","escapeChar","cssEscape","length","firstCharCode","charCodeAt","split","reduce","char","index","charCode","concat","_nonIterableSpread","TypeError","__esModule","_iterableToArray","iter","iterator","Array","from","isObjectLike","isObject","type","before","once","func","arrayLikeToArray","require","_arrayWithoutHoles","arr","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","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","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","disabled","delay","boundary","String","boundaryPadding","variant","customClass","data","attrs","show","hide","arg","modifiers","mod","test","slice","selectedTriggers","join","trim","toLowerCase","applyTooltip","el","$parent","context","parent","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","isPromise","then","default","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","hasListenerMixin","extend","methods","hasListener","name","$listeners","this","$events","_events","LIGHT","DARK","BTr","mixins","listeners","provide","bvTableTr","inject","bvTableRowGroup","inheritAttrs","props","computed","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","tableVariant","headVariant","footVariant","isRowDark","trClasses","trAttrs","role","bvAttrs","render","h","class","on","bvListeners","normalizeSlot","bottomRowMixin","renderBottomRow","fields","computedFields","stacked","tbodyTrClass","tbodyTrAttr","$createElement","hasNormalizedSlot","staticClass","columns","colspan","rowspan","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","$content","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","watch","newValue","oldValue","$emit","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","EVENT_FILTER","row","ignoreFields","includeFields","fieldsObj","formattedRow","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","n","constructor","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","created","_this2","Boolean","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","replace","RegExp","lastIndex","computedFieldsObj","label","origFields","f","sample","memo","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","primaryKey","itemsMixin","paginatedItems","sortedItems","sortBy","localSortBy","sortDesc","localSortDesc","perPage","math","currentPage","apiUrl","mounted","getFieldFormatter","paginationMixin","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","ctx","_providerUpdate","listenOnRoot","refresh","$off","clearSelected","_providerSetLocal","emitOnRoot","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","sortable","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","document","sel","containsNode","BTh","extends","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","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","ref","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","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","topRowMixin","BTable","objectToString","freeGlobal","freeSelf","self","root","Function","fuzzysearch","needle","haystack","tlen","qlen","outer","j","nch","ariaLive","forceShow","state","tooltip","BFormInvalidFeedback","functional","BInputGroupPrepend","append","nullTag","undefinedTag","baseGetTag","BaseService","http","axios","buildHeaders","buildEndpoint","GetPagingParams","postdata","url","GetCanBoCongChucDaXoa","GetCanBoCongChucKhoiDang","GetCanBoCongChucNghiViec","GetPagingParamsSync","CanBoCongChucTraCuu","CanBoCongChucGetByIddv","CanBoCongChucGetInfo","GetInfoExport","GetInfoByUsername","CanBoCongChucCreate","CanBoCongChucUpdate","CanBoCongChucDelete","UpdateThongTinChung","UpdateThongTinKhac","UpdateBienCheHopDong","UpdateLuong","UpdateDaoTaoBoiDuong","UpdateLichSuBanThan","UpdateNhanXetDanhGia","UpdateThuNhapVaDatSanXuat","CanBoCongChucCreateNghiViec","CanBoCongChucCreateKhoiDang","CanBoCongChucUpdateNghiViec","CanBoCongChucDeleteKhoiDang","CanBoCongChucKhoiPhucDelete","ResetAvatarUser","now","Date","last","arrayWithoutHoles","iterableToArray","nonIterableSpread","isText","BInputGroupAddon","toFinite","toInteger","remainder","reWhitespace","trimmedEndIndex","string","charAt","global","appendHtml","prepend","prependHtml","size","BInputGroup","slots","scopedSlots","$scopedSlots","$slots","$prepend","hasPrependSlot","$append","hasAppendSlot","toNumber","INFINITY","MAX_INTEGER","sign","constant","GetTree","GetTreeAll","GetById","DonViCreate","DonViUpdate","DonViDelete","BFormRow","BFormValidFeedback","INPUTS","INPUT_SELECTOR","LEGEND_INTERACTIVE_ELEMENTS","breakpoint","description","feedbackAriaLive","invalidFeedback","labelClass","labelSize","labelSrOnly","validFeedback","validated","BFormGroup","ariaDescribedby","contentColProps","getColProps","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","prefix","propValue","$input","content","attr","newIds","oldIds","ids","onLegendClick","inputs","computedState","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","stateClass","computedAriaInvalid","OPTIONS_OBJECT_DEPRECATED_MSG","disabledField","htmlField","options","textField","valueField","formOptionsMixin","formOptions","normalizeOptions","normalizeOption","option","text","$options","labelField","optionsField","optionsMixin","BFormSelectOption","BFormSelectOptionGroup","ariaInvalid","multiple","selectSize","BFormSelect","localValue","computedSelectSize","plain","inputClass","onChange","selectedValue","_value","required","form","change","directives","stableSort","compareFn","reTrimStart","baseTrim","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","updated","updatePopper","destroyPopper","destroyed","parentNode","removeChild","toUpperCase","arrowOffset","width","destroy","scheduleUpdate","renderTemplate","appear","beforeEnter","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","templateClasses","noninteractive","templateAttributes","$attrs","scopedStyleAttrs","templateListeners","focusin","focusout","$title","innerHTML","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","deactivated","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","leave","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__","enter","eventTarget","currentTarget","toggle","_this10","_this11","PhongBanGetList","PhongBanCreate","PhongBanUpdate","PhongBanDelete","inline","textVariant","BFormText","_iterableToArrayLimit","_i","_s","_e","_arr","_n","_d","next","done","err","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","_vm","_h","_c","_self","staticStyle","isShowLeftSidebar","$event","donVis","donViFilter","fetchData","dataTable","searchTerm","dataTableIsLoaded","totalRows","dataMeta","showLeftSlidebar","removeItem","pagination","perpage","searchquery","staticRenderFns","_u","_v","createdBy","_f","contentLog","perPageOptions","showPerPage","model","callback","$$v","expression","proxy","controller","useDonViService","toast","useToast","useRouter","router","route","refListTable","searchQuery","isSortDirDesc","getDataList","response","isError","component","ToastificationContent","icon","getDonVi","Ripple","components","BRow","BCol","BCard","BCardBody","BButton","VueGoodTable","BPagination","BFormInput","BDropdown","BDropdownItem","BFormCheckbox","BAvatar","BBadge","BInputGroupAppend","isLoaded","searchRef","isWait","dir","filterOn","infoModal","val","search","info","button","resetInfoModal","showEdit","showConfirmDeleteModule","position","msgBoxConfirm","okTitle","cancelTitle","cancelVariant","DeleteData","setup","useSetup","normalizer","formatDonVis","userName","fullName","rawName","changeFilter","BCardHeader","vSelect","Treeselect","listPhongBan","node","instanceId","donViId","defaultOption","Filters","DataTable","headerData","donVi","start","limit","console","to","editData","reLoadDataTable","_arrayWithHoles","_nonIterableRest","_methods","_objectSpread2","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","set","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","computedSize","computedButtonVariant","buttonClasses","computedAttrs","computedLocalCheckedWatcher","_ref2","checked","handleChange","handleFocus","$button","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","setIndeterminate","indeterminate","_ref$target","uncheckedValue","modules","installedModules","__webpack_require__","moduleId","l","m","c","getter","r","t","mode","ns","create","property","p","s","__webpack_exports__","slicedToArray_","slicedToArray_default","toConsumableArray_","toConsumableArray_default","defineProperty_","defineProperty_default","external_fuzzysearch_","external_fuzzysearch_default","noop_","noop_default","warning_warning","onLeftClick","mouseDownHandler","evt","_len","_key","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","offsetTop","clientHeight","scrollHeight","top","intervalId","debounce_","debounce_default","external_watch_size_","external_watch_size_default","removeFromArray","elem","splice","registered","INTERVAL_DURATION","run","stop","listener","lastWidth","lastHeight","offsetWidth","height","watchSizeForIE9","unwatch","watchSize","isIE9","documentMode","locked","wrappedListener","implementation","removeSizeWatcher","findScrollParents","$scrollParents","nodeName","nodeType","ELEMENT_NODE","isScrollElment","window","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","addEventListener","passive","scrollParent","removeEventListener","$scrollParent","isNaN_isNaN","x","external_is_promise_","external_is_promise_default","once_","once_default","identity_","identity_default","constant_","constant_default","createMap","typeof_","typeof_default","isPlainObject","getPrototypeOf","copy","deepExtend","last_","last_default","includes","arrOrStr","find","predicate","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","LEVEL","INDEX","KEY_CODES","BACKSPACE","ENTER","ESCAPE","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","sortValueByIndex","level","sortValueByLevel","createAsyncOptionsStates","isLoading","loadingError","stringifyOptionPropValue","match","enableFuzzyMatch","getErrorMessage","treeselectMixin","instance","allowClearingDisabled","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","Number","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disableFuzzyMatching","flat","joinValues","Infinity","limitText","count","loadingText","loadOptions","matchKeys","noChildrenText","noOptionsText","noResultsText","openDirection","validator","acceptableValues","openOnClick","openOnFocus","placeholder","retryText","retryTitle","searchable","searchNested","searchPromptText","showCount","showCountOf","showCountOnSearch","sortValueBy","valueConsistsOf","valueFormat","zIndex","isFocused","menu","isOpen","current","lastScrollPosition","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","active","noResults","countMap","remoteSearch","selectedNodes","getNode","internalValue","single","isRootNode","isSelected","isLeaf","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","hasValue","visibleOptionIds","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","rootNode","shouldFlattenOptions","openMenu","closeMenu","initialize","hasChanged","getValue","getInstanceId","buildForestState","immediate","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","verifyProps","propNames","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","enhancedNormalizer","fallbackNode","isFallbackNode","isNew","defaultNode","valueArray","matched","nodeIdListOfPrevValue","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","_map","_queue","_nodeId","_node","currNode","traverseDescendantsDFS","child","traverseAllNodesDFS","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","control","getInput","focusInput","blurInput","handleMouseDown","preventDefault","stopPropagation","isClickedOnValueContainer","contains","wrapper","resetHighlightedOptionWhenNecessary","_this11$$set","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","lowerCasedSearchQuery","toLocaleLowerCase","splitSearchQuery","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","scroll","prev","isHighlighted","scrollToOption","$option","querySelector","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","checkDuplication","verifyNodeShape","isDefaultExpanded","normalized","_this16$$set","hasDisabledDescendants","branchNodes","leafNodes","_this17","_this18","_ref3","catch","error","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","stringifyValue","HiddenFields_render","HiddenFieldsvue_type_script_lang_js_","_","injections","stringifiedValues","stringifiedValue","components_HiddenFieldsvue_type_script_lang_js_","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","hook","_compiled","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","__file","Input_render","Input_staticRenderFns","HiddenFields","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","keysThatRequireMenuBeingOpen","Inputvue_type_script_lang_js_","inputWidth","needAutoSize","inputStyle","updateInputWidth","debouncedCallback","updateSearchQuery","onInput","onFocus","onBlur","activeElement","onKeyDown","altKey","_current","_current2","onMouseDown","renderInputContainer","renderInput","renderSizer","autocomplete","sizer","scrollWidth","components_Inputvue_type_script_lang_js_","Input_component","Placeholder_render","Placeholder_staticRenderFns","Input","Placeholdervue_type_script_lang_js_","placeholderClass","components_Placeholdervue_type_script_lang_js_","Placeholder_component","SingleValue_render","SingleValue_staticRenderFns","Placeholder","SingleValuevue_type_script_lang_js_","renderSingleValueLabel","customValueLabelRenderer","renderValueContainer","shouldShowValue","components_SingleValuevue_type_script_lang_js_","SingleValue_component","SingleValue","Deletevue_type_template_id_364b6320_render","xmlns","viewBox","Deletevue_type_template_id_364b6320_staticRenderFns","_withStripped","Deletevue_type_script_lang_js_","icons_Deletevue_type_script_lang_js_","Delete_component","MultiValueItem_render","MultiValueItem_staticRenderFns","Delete","MultiValueItemvue_type_script_lang_js_","itemClass","labelRenderer","components_MultiValueItemvue_type_script_lang_js_","MultiValueItem_component","MultiValue_render","MultiValue_staticRenderFns","MultiValueItem","MultiValuevue_type_script_lang_js_","renderMultiValueItems","renderExceedLimitTip","transitionGroupProps","components_MultiValuevue_type_script_lang_js_","MultiValue_component","MultiValue","Arrowvue_type_template_id_11186cd4_render","Arrowvue_type_template_id_11186cd4_staticRenderFns","Arrowvue_type_script_lang_js_","icons_Arrowvue_type_script_lang_js_","Arrow_component","Control_render","Control_staticRenderFns","Arrow","Controlvue_type_script_lang_js_","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","shouldClear","ValueContainer","components_Controlvue_type_script_lang_js_","Control_component","Tip_render","Tip_staticRenderFns","Control","Tipvue_type_script_lang_js_","components_Tipvue_type_script_lang_js_","Tip_component","arrowPlaceholder","checkMark","minusMark","Option_render","Option_staticRenderFns","Tip","Option","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","transitionProps","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","childNode","handleMouseDownOnRetry","indentLevel","listItemClass","Optionvue_type_script_lang_js_","components_Optionvue_type_script_lang_js_","Option_component","Menu_render","Menu_staticRenderFns","components_Option","directionMap","above","below","Menuvue_type_script_lang_js_","menuStyle","menuContainerStyle","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","components_Menuvue_type_script_lang_js_","Menu_component","Menu","external_vue_","external_vue_default","MenuPortalvue_type_script_lang_js_ownKeys","MenuPortalvue_type_script_lang_js_objectSpread","MenuPortal_render","MenuPortal_staticRenderFns","PortalTarget","setupHandlers","removeHandlers","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","left","round","transformVariations","transform","portalTargetClass","wrapperClass","portalTargetStyle","MenuPortalvue_type_script_lang_js_","teardown","components_MenuPortalvue_type_script_lang_js_","MenuPortal_component","Treeselect_render","Treeselect_staticRenderFns","MenuPortal","Treeselectvue_type_script_lang_js_","components_Treeselectvue_type_script_lang_js_","Treeselect_component","VERSION","isToday","date","today","getDate","getMonth","getFullYear","isDynamicRouteActive","resolve","resolvedRoute","path","currentRoute","vm","getCurrentInstance","reactive","$route","toRefs","$router","BInputGroupText","expand","shrink","expandChild","shrinkChild","cssText","scrollLeft","linkProps","href","pill","link","_typeof","MAX_SAFE_INTEGER","argsTag","funcTag","genTag","reIsUint","arrayEach","iteratee","baseTimes","overArg","propertyIsEnumerable","nativeKeys","arrayLikeKeys","inherited","isArguments","skipIndexes","isIndex","baseEach","createBaseEach","baseForOwn","baseFor","createBaseFor","baseKeys","isPrototype","eachFunc","fromRight","collection","isArrayLike","iterable","keysFunc","Ctor","proto","isArrayLikeObject","isLength","isFunction","lodash_foreach","MAX_SAFE_INTEGER$1","argsTag$1","funcTag$1","genTag$1","reIsUint$1","baseTimes$1","overArg$1","objectProto$1","hasOwnProperty$1","objectToString$1","propertyIsEnumerable$1","nativeKeys$1","nonEnumShadows","arrayLikeKeys$1","isArray$1","isArguments$1","isIndex$1","assignValue","objValue","eq","baseKeys$1","isPrototype$1","baseRest","otherArgs","copyObject","customizer","createAssigner","assigner","sources","guard","isIterateeCall","isObject$1","isArrayLike$1","isArrayLikeObject$1","isLength$1","isFunction$1","isObjectLike$1","assign","keys$1","lodash_assign","commonjsGlobal","globalThis","createCommonjsModule","lodash_clonedeep","LARGE_ARRAY_SIZE","HASH_UNDEFINED","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reFlags","reIsHostCtor","cloneableTags","freeExports","freeModule","moduleExports","addMapEntry","pair","addSetEntry","arrayPush","values","arrayReduce","accumulator","initAccum","isHostObject","mapToArray","setToArray","arrayProto","funcProto","coreJsData","maskSrcKey","uid","exec","IE_PROTO","funcToString","reIsNative","Buffer","Uint8Array","getPrototype","objectCreate","nativeGetSymbols","nativeIsBuffer","isBuffer","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","entries","hashClear","__data__","hashDelete","has","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","pop","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","baseAssign","baseClone","isDeep","isFull","stack","isArr","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbols","initCloneByTag","getAllKeys","subValue","baseCreate","baseGetAllKeys","symbolsFunc","baseIsNative","isMasked","buffer","cloneArrayBuffer","arrayBuffer","byteLength","cloneDataView","dataView","byteOffset","cloneMap","cloneFunc","cloneRegExp","regexp","cloneSet","cloneSymbol","symbol","cloneTypedArray","typedArray","getSymbols","isKeyable","stubArray","cloneDeep","ArrayBuffer","ctorString","stubFalse","lodash_filter","UNORDERED_COMPARE_FLAG","PARTIAL_COMPARE_FLAG","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","typedArrayTags","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arrayFilter","resIndex","arraySome","baseProperty","baseUnary","symbolToString","SetCache","setCacheAdd","setCacheHas","baseFilter","baseGet","isKey","castPath","toKey","baseHasIn","baseIsEqual","bitmask","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMatch","matchData","noCustomizer","srcValue","baseIsTypedArray","baseIteratee","baseMatchesProperty","baseMatches","getMatchData","matchesStrictComparable","isStrictComparable","hasIn","basePropertyDeep","baseToString","stringToPath","isPartial","arrLength","othLength","seen","arrValue","othValue","compared","othIndex","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","hasPath","hasFunc","memoize","number","quote","resolver","memoized","Cache","lodash_isequal","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","asyncTag","proxyTag","cacheHas","isArg","isBuff","isType","baseIsArguments","isEqual","diacritics","diacriticless","searchChar","foundChar","indexChar","escapeRegExp","str","defaultType","format","filterPredicate","rowval","skipDiacritics","fromDropdown","rowValue","compare","y","cook","script","lastPage","totalRecords","ofText","pageText","pageInfo","changePage","isNaN","template","isFunctionalTemplate","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_k","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","DEFAULT_ROWS_PER_PAGE_DROPDOWN","script$1","styleClass","total","rtl","customRowsPerPageDropdown","paginateDropdownAllowAll","nextText","prevText","rowsPerPageText","allText","prevPage","currentPerPage","rowsPerPageOptions","handlePerPage","perPageChanged","pagesCount","quotient","floor","paginatedInfo","nextIsPossible","prevIsPossible","pageNumber","emit","pageChanged","nextPage","previousPage","found","unshift","__vue_script__$1","__vue_render__$1","$$selectedVal","_l","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_scope_id__$1","__vue_module_identifier__$1","__vue_is_functional_template__$1","__vue_component__$1","script$2","globalSearchTerm","showControlBar","searchEnabled","updateValue","entered","__vue_script__$2","__vue_render__$2","globalSearchPlaceholder","_t","__vue_staticRenderFns__$2","__vue_inject_styles__$2","__vue_scope_id__$2","__vue_module_identifier__$2","__vue_is_functional_template__$2","__vue_component__$2","script$3","populateInitialFilters","columnFilters","timer","hasFilterRow","col","filterOptions","reset","isFilterable","filterDropdownItems","isDropdownObjects","isDropdownArray","getPlaceholder","updateFiltersOnEnter","updateFiltersImmediately","updateFiltersOnKeyup","updateFilters","updateSlotFilter","fieldToFilter","slotFilterField","formatValue","__vue_script__$3","__vue_render__$3","lineNumbers","hidden","__vue_staticRenderFns__$3","__vue_inject_styles__$3","__vue_scope_id__$3","__vue_module_identifier__$3","__vue_is_functional_template__$3","__vue_component__$3","DEFAULT_SORT_TYPE","getColumnFirstSortType","firstSortType","getCurrentPrimarySort","sortArray","getNextSort","currentSort","getIndex","primarySort","currentPrimarySort","secondarySort","script$4","allSelected","allSelectedIndeterminate","typedColumns","getClasses","tableRef","paginated","setColumnStyles","checkBoxThStyle","lineNumberThStyle","columnStyles","sorts","toggleSelectAll","isSortableColumn","setInitialSort","getColumnSort","getHeaderClasses","classes","filterRows","getWidthStyle","dom","cellStyle","colStyles","skip","cell","rows","cells","minWidth","maxWidth","getColumnStyle","styleObject","__vue_script__$4","__vue_render__$4","__vue_staticRenderFns__$4","__vue_inject_styles__$4","__vue_scope_id__$4","__vue_module_identifier__$4","__vue_is_functional_template__$4","__vue_component__$4","script$5","headerRow","selectAllByGroup","collapsable","collectFormatted","fullColspan","groupIndex","groupChildObject","vgtSelected","columnCollapsable","currentIndex","toggleSelectGroup","__vue_script__$5","__vue_render__$5","vgtIsExpanded","__vue_staticRenderFns__$5","__vue_inject_styles__$5","__vue_scope_id__$5","__vue_module_identifier__$5","__vue_is_functional_template__$5","__vue_component__$5","toDate","argument","argStr","getTime","Error","dirtyNumber","ceil","addMilliseconds","dirtyDate","dirtyAmount","timestamp","amount","MILLISECONDS_IN_MINUTE","getTimezoneOffsetInMilliseconds","baseTimezoneOffset","getTimezoneOffset","setSeconds","millisecondsPartOfTimezoneOffset","compareAsc","dirtyDateLeft","dirtyDateRight","dateLeft","dateRight","diff","isValid","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatDistance","token","addSuffix","comparison","buildFormatLongFn","dirtyOptions","defaultWidth","formats","dateFormats","full","long","medium","short","timeFormats","dateTimeFormats","formatLong","dateTime","formatRelativeLocale","lastWeek","yesterday","tomorrow","nextWeek","formatRelative","_date","_baseDate","_options","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","eraValues","narrow","abbreviated","wide","quarterValues","monthValues","dayValues","dayPeriodValues","am","pm","midnight","noon","morning","afternoon","evening","night","formattingDayPeriodValues","ordinalNumber","_dirtyOptions","rem100","localize","era","quarter","month","day","dayPeriod","buildMatchPatternFn","dirtyString","matchResult","matchPattern","matchedString","parseResult","parsePattern","valueCallback","rest","buildMatchFn","matchPatterns","defaultMatchWidth","parsePatterns","defaultParseWidth","findIndex","findKey","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","any","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","weekStartsOn","firstWeekContainsDate","subMilliseconds","addLeadingZeros","targetLength","output","abs","formatters","signedYear","getUTCFullYear","year","M","getUTCMonth","getUTCDate","dayPeriodEnumValue","getUTCHours","H","getUTCMinutes","getUTCSeconds","S","numberOfDigits","milliseconds","getUTCMilliseconds","fractionalSeconds","pow","MILLISECONDS_IN_DAY","getUTCDayOfYear","setUTCMonth","setUTCHours","startOfYearTimestamp","difference","startOfUTCISOWeek","getUTCDay","setUTCDate","getUTCISOWeekYear","fourthOfJanuaryOfNextYear","setUTCFullYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","getUTCISOWeek","startOfUTCWeek","localeWeekStartsOn","defaultWeekStartsOn","RangeError","getUTCWeekYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","MILLISECONDS_IN_WEEK$1","getUTCWeek","dayPeriodEnum","formatters$1","G","unit","Y","signedWeekYear","weekYear","twoDigitYear","R","isoWeekYear","u","Q","q","L","w","week","I","isoWeek","D","dayOfYear","E","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","B","K","X","_localize","originalDate","_originalDate","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","O","formatTimezoneShort","z","T","dirtyDelimiter","absOffset","minutes","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","dateTimeFormat","datePattern","timePattern","longFormatters","P","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","formatStr","locale$1","utcDate","formatterOptions","substring","firstCharacter","longFormatter","cleanEscapedString","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","assign$1","dirtyObject","setUTCDay","dirtyDay","currentDay","dayIndex","setUTCISODay","setUTCISOWeek","dirtyISOWeek","setUTCWeek","dirtyWeek","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE$1","MILLISECONDS_IN_SECOND","numericPatterns","hour23h","hour24h","hour11h","hour12h","minute","second","singleDigit","twoDigits","threeDigits","fourDigits","anyDigitsSigned","singleDigitSigned","twoDigitsSigned","threeDigitsSigned","fourDigitsSigned","timezonePatterns","basicOptionalMinutes","basic","basicOptionalSeconds","extended","extendedOptionalSeconds","parseNumericPattern","parseTimezonePattern","seconds","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","enumValue","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","parsers","priority","parse","flags","incompatibleTokens","isTwoDigitYear","validate","normalizedTwoDigitYear","_match","_flags","firstWeekOfYear","isLeapYear","wholeWeekDays","isPM","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","timestampIsSet","_token","TIMEZONE_UNIT_PRIORITY","formattingTokensRegExp$1","longFormattingTokensRegExp$1","escapedStringRegExp$1","doubleQuoteRegExp$1","notWhitespaceRegExp","unescapedLatinCharacterRegExp$1","dirtyDateString","dirtyFormatString","dirtyBackupDate","dateString","formatString","subFnOptions","setters","dateToSystemTimezone","tokens","usedTokens","parser","incompatibleToken","usedToken","fullToken","cleanEscapedString$1","uniquePrioritySetters","setter","reverse","setterArray","convertedDate","setFullYear","setHours","isRight","dateInputFormat","dateOutputFormat","date$1","freeze","parseFloat","number$1","decimal","toFixed","decimal$1","percentage","percentage$1","_boolean","_boolean$1","dataTypes","coreDataTypes","compName","script$6","fixedHeader","theme","rowStyleClass","compactMode","groupOptions","selectOptions","selectionInfoClass","selectionText","clearSelectionText","disableSelectInfo","sortOptions","initialSortBy","paginationOptions","perPageDropdown","dropdownAllowAll","searchOptions","externalQuery","searchFn","tableLoading","selectOnCheckboxOnly","selectAllByPage","maintainExpanded","expandedRowKeys","defaultSortBy","searchTrigger","externalSearchQuery","searchPlaceholder","searchSkipDiacritics","paginate","paginateOnTop","paginateOnBottom","paginationMode","filteredRows","forceSearch","initializeSelect","initializePagination","handleSearch","initializeSearch","initializeSort","tableStyles","tableStyleClasses","hasFooterSlot","rowKeyField","hasHeaderRowTemplate","showEmptySlot","selectedRowCount","selectedPageRowsCount","totalPageRowCount","totalRowCount","selectionInfo","selectedPageRows","processedRows","r1","r2","originalIndex","groupHeaderOnTop","headerPosition","groupHeaderOnBottom","wrapStyleClasses","globalSearchAllowed","computedRows","allRows","globalSearchDisabled","foundMatch","vgt_header_id","newHeaderRow","cRows","xRow","yRow","sortValue","getColumnForField","xvalue","collect","yvalue","sortFn","typeDef","paginatedRows","childRows","_paginatedRows","pageStart","pageEnd","reconstructedRows","flatRow","handleExpanded","hRow","vgt_id","originalRows","nestedRows","handleGrouped","hasRowClickListener","toggleExpand","expandAll","collapseAll","resetTable","emitSelectedRows","unselectAllInternal","forceAll","paginationWidget","paginationBottom","paginationTop","pageChangedEvent","perPageChangedEvent","changeSort","onCheckboxClicked","pageIndex","onRowDoubleClicked","onRowClicked","onRowAuxClicked","onCellClicked","onMouseenter","onMouseleave","searchTableOnEnter","searchTableOnKeyUp","dig","selector","splitter","headerField","formatFn","isHeaderRow","_this$typedColumns$in","custom","fromFilter","_loop","newChildren","getCurrentIndex","getRowStyleClass","rowStyleClasses","childRow","_this$paginationOptio","nextLabel","prevLabel","rowsPerPageLabel","ofLabel","pageLabel","allLabel","setCurrentPage","_perPageDropdown","_this$searchOptions","_this$sortOptions","hasField","_this$selectOptions","__vue_script__$6","__vue_render__$6","slot","table","__vue_staticRenderFns__$6","__vue_inject_styles__$6","__vue_scope_id__$6","__vue_module_identifier__$6","__vue_is_functional_template__$6","__vue_component__$6","VueGoodTablePlugin","install","Vue","use"],"mappings":"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","file":"js/chunk-3d51e696.07ac6ff9.js","sourcesContent":["var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","import { toString } from './string';\n\nvar escapeChar = function escapeChar(value) {\n return '\\\\' + value;\n}; // The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\n\n\nexport var cssEscape = function cssEscape(value) {\n value = toString(value);\n var length = value.length;\n var firstCharCode = value.charCodeAt(0);\n return value.split('').reduce(function (result, char, index) {\n var charCode = value.charCodeAt(index); // If the character is NULL (U+0000), use (U+FFFD) as replacement\n\n if (charCode === 0x0000) {\n return result + \"\\uFFFD\";\n } // If the character ...\n\n\n if ( // ... is U+007F OR\n charCode === 0x007f || // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n charCode >= 0x0001 && charCode <= 0x001f || // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n index === 0 && charCode >= 0x0030 && charCode <= 0x0039 || // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(\"\".concat(charCode.toString(16), \" \"));\n } // If the character ...\n\n\n if ( // ... is the first character AND ...\n index === 0 && // ... is a `-` (U+002D) AND ...\n charCode === 0x002d && // ... there is no second character ...\n length === 1) {\n // ... use the escaped character\n return result + escapeChar(char);\n } // If the character ...\n\n\n if ( // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 || // ... is `-` (U+002D) OR ...\n charCode === 0x002d || // ... is `_` (U+005F) OR ...\n charCode === 0x005f || // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n charCode >= 0x0030 && charCode <= 0x0039 || // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n charCode >= 0x0041 && charCode <= 0x005a || // ... is in the range [a-z] (U+0061 to U+007A) ...\n charCode >= 0x0061 && charCode <= 0x007a) {\n // ... use the character itself\n return result + char;\n } // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n\n\n return result + escapeChar(char);\n }, '');\n};","function _nonIterableSpread() {\n 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}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.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};","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.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});","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_INVALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormInvalidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === false;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\n }\n});","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/* eslint-disable */\r\nimport BaseService from \"../../BaseService\";\r\n\r\nconst { http, axios, buildHeaders, buildEndpoint } = BaseService();\r\n\r\n// API\r\n//////////////////////////////////////////////////////////////////\r\n\r\nexport function GetPagingParams(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetCanBoCongChucDaXoa(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-deleted\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function GetCanBoCongChucKhoiDang(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-khoi-dang\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function GetCanBoCongChucNghiViec(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-nghi-viec\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetPagingParamsSync(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-sync-failed\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucTraCuu(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/get-paging-params-tra-cuu\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucGetAllOfCanBo(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/getAll\",\r\n method: \"get\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucGetByIddv(id) {\r\n return http({\r\n url: \"CanBoCongChuc/get-cbcc-by-iddv/\" + id,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function CanBoCongChucGetInfo(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/GetInfo\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetInfoExport(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/GetInfoExport\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetInfoByUsername(postdata) {\r\n return http({\r\n url: \"CanBoCongChuc/get-by-email/\" + postdata,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function CanBoCongChucCreate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/Create\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucUpdate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/update\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucDelete(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/Delete\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateThongTinChung(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateThongTinChung\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateThongTinKhac(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateThongTinKhac\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateBienCheHopDong(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateBienCheHopDong\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateLuong(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateLuong\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateDaoTaoBoiDuong(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateDaoTaoBoiDuong\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateLichSuBanThan(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateLichSuBanThan\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function UpdateNhanXetDanhGia(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/updateNhanXetDanhGia\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function UpdateThuNhapVaDatSanXuat(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateThuNhapVaDatSanXuat\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucCreateNghiViec(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/CreateNghiViec\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function CanBoCongChucCreateKhoiDang(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/CreateKhoiDang\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucUpdateNghiViec(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/UpdateNghiViec\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucDeleteKhoiDang(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/DeleteKhoiDang\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function CanBoCongChucKhoiPhucDelete(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"CanBoCongChuc/KhoiPhucDeleted\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function ResetAvatarUser(id) {\r\n return http({\r\n url: \"CanBoCongChuc/reset-avatar/\" + id,\r\n method: \"get\",\r\n });\r\n}\r\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\n }\n});","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\n }\n});","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/* eslint-disable */\r\nimport { initialAbility } from \"@/libs/acl/config\";\r\nimport BaseService from \"../../BaseService\";\r\n\r\nconst { http } = BaseService();\r\n\r\n// API\r\n\r\nexport function DonViGetList(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/get-list-dv-by-id\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function GetTreeDVSD(id) {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/get-don-vi-su-dung/\" + id,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetTree() {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/GetTree\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetTreeAll() {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/GetTreeAll\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetTreeUserDonVi() {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/GetTreeExceptUserDonVi\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetById(data) {\r\n return http({\r\n url: \"DonVi/get-by-id/\" + data,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function DonViCreate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/Create\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function DonViUpdate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/Update\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function DonViDelete(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"DonVi/Delete\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\n////////////////////////////////////////\r\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_ROW } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_FORM_ROW); // --- Main component ---\n// @vue/component\n\nexport var BFormRow = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'form-row'\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_VALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormValidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === true;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_FORM_GROUP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_SPACE_SPLIT } from '../../constants/regex';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_DESCRIPTION, SLOT_NAME_INVALID_FEEDBACK, SLOT_NAME_LABEL, SLOT_NAME_VALID_FEEDBACK } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { cssEscape } from '../../utils/css-escape';\nimport { select, selectAll, isVisible, setAttr, removeAttr, getAttr, attemptFocus } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { isBoolean } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BCol } from '../layout/col';\nimport { BFormRow } from '../layout/form-row';\nimport { BFormText } from '../form/form-text';\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback';\nimport { BFormValidFeedback } from '../form/form-valid-feedback'; // --- Constants ---\n\nvar INPUTS = ['input', 'select', 'textarea']; // Selector for finding first input in the form group\n\nvar INPUT_SELECTOR = INPUTS.map(function (v) {\n return \"\".concat(v, \":not([disabled])\");\n}).join(); // A list of interactive elements (tag names) inside ``'s legend\n\nvar LEGEND_INTERACTIVE_ELEMENTS = [].concat(INPUTS, ['a', 'button', 'label']); // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formStateProps), getBreakpointsUpCached().reduce(function (props, breakpoint) {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING); // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING); // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING);\n return props;\n }, create(null))), {}, {\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_FORM_GROUP);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n data: function data() {\n return {\n ariaDescribedby: null\n };\n },\n computed: {\n contentColProps: function contentColProps() {\n return this.getColProps(this.$props, 'content');\n },\n labelAlignClasses: function labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label');\n },\n labelColProps: function labelColProps() {\n return this.getColProps(this.$props, 'label');\n },\n isHorizontal: function isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0;\n }\n },\n watch: {\n ariaDescribedby: function ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n _this.updateAriaDescribedby(_this.ariaDescribedby);\n });\n },\n methods: {\n getAlignClasses: function getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Align\"))] || null;\n\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'));\n }\n\n return result;\n }, []);\n },\n getColProps: function getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Cols\"))]; // Handle case where the prop's value is an empty string,\n // which represents `true`\n\n propValue = propValue === '' ? true : propValue || false;\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0); // Ensure column size is greater than `0`\n\n propValue = propValue > 0 ? propValue : false;\n } // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n\n\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue;\n }\n\n return result;\n }, {});\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby: function updateAriaDescribedby(newValue, oldValue) {\n var labelFor = this.labelFor;\n\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n var $input = select(\"#\".concat(cssEscape(labelFor)), this.$refs.content);\n\n if ($input) {\n var attr = 'aria-describedby';\n var newIds = (newValue || '').split(RX_SPACE_SPLIT);\n var oldIds = (oldValue || '').split(RX_SPACE_SPLIT); // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n\n var ids = (getAttr($input, attr) || '').split(RX_SPACE_SPLIT).filter(function (id) {\n return !arrayIncludes(oldIds, id);\n }).concat(newIds).filter(function (id, index, ids) {\n return ids.indexOf(id) === index;\n }).filter(identity).join(' ').trim();\n\n if (ids) {\n setAttr($input, attr, ids);\n } else {\n removeAttr($input, attr);\n }\n }\n }\n },\n onLegendClick: function onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return;\n }\n\n var target = event.target;\n var tagName = target ? target.tagName : ''; // If clicked an interactive element inside legend,\n // we just let the default happen\n\n /* istanbul ignore next */\n\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return;\n } // If only a single input, focus it, emulating label behaviour\n\n\n var inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible);\n\n if (inputs.length === 1) {\n attemptFocus(inputs[0]);\n }\n }\n },\n render: function render(h) {\n var state = this.computedState,\n feedbackAriaLive = this.feedbackAriaLive,\n isHorizontal = this.isHorizontal,\n labelFor = this.labelFor,\n normalizeSlot = this.normalizeSlot,\n safeId = this.safeId,\n tooltip = this.tooltip;\n var id = safeId();\n var isFieldset = !labelFor;\n var $label = h();\n var labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label;\n var labelId = labelContent ? safeId('_BV_label_') : null;\n\n if (labelContent || isHorizontal) {\n var labelSize = this.labelSize,\n labelColProps = this.labelColProps;\n var labelTag = isFieldset ? 'legend' : 'label';\n\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(labelTag, {\n class: 'sr-only',\n attrs: {\n id: labelId,\n for: labelFor || null\n }\n }, [labelContent]);\n }\n\n $label = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? labelColProps : {}\n }, [$label]);\n } else {\n $label = h(isHorizontal ? BCol : labelTag, {\n on: isFieldset ? {\n click: this.onLegendClick\n } : {},\n props: isHorizontal ? _objectSpread(_objectSpread({}, labelColProps), {}, {\n tag: labelTag\n }) : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [// Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '', // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '', // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '', // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '', labelSize ? \"col-form-label-\".concat(labelSize) : '', this.labelAlignClasses, this.labelClass]\n }, [labelContent]);\n }\n }\n\n var $invalidFeedback = h();\n var invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback;\n var invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null;\n\n if (invalidFeedbackContent) {\n $invalidFeedback = h(BFormInvalidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: invalidFeedbackContent ? '-1' : null\n }\n }, [invalidFeedbackContent]);\n }\n\n var $validFeedback = h();\n var validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback;\n var validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null;\n\n if (validFeedbackContent) {\n $validFeedback = h(BFormValidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: validFeedbackContent ? '-1' : null\n }\n }, [validFeedbackContent]);\n }\n\n var $description = h();\n var descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description;\n var descriptionId = descriptionContent ? safeId('_BV_description_') : null;\n\n if (descriptionContent) {\n $description = h(BFormText, {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n }, [descriptionContent]);\n } // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n\n\n var ariaDescribedby = this.ariaDescribedby = [descriptionId, state === false ? invalidFeedbackId : null, state === true ? validFeedbackId : null].filter(identity).join(' ') || null;\n var $content = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n }, [normalizeSlot(SLOT_NAME_DEFAULT, {\n ariaDescribedby: ariaDescribedby,\n descriptionId: descriptionId,\n id: id,\n labelId: labelId\n }) || h(), $invalidFeedback, $validFeedback, $description]); // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n\n return h(isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div', {\n staticClass: 'form-group',\n class: [{\n 'was-validated': this.validated\n }, this.stateClass],\n attrs: {\n id: id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n }, isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]);\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 `