{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.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/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:///./src/views/DefaultTemplate/user/manager/components/Filters.vue?5e62","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./src/services/api/HoSoCanBoCongChuc/CanBoCongChucService.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/last.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./src/@core/comp-functions/forms/form-validation.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/lodash/toFinite.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./src/services/api/DefaultTemplate/RoleService.js","webpack:///./src/views/DefaultTemplate/user/manager/index.vue?5978","webpack:///./src/views/DefaultTemplate/user/manager/useUsersList.js","webpack:///./src/views/DefaultTemplate/user/manager/components/Filters.vue?9149","webpack:///src/views/DefaultTemplate/user/manager/components/Filters.vue","webpack:///./src/views/DefaultTemplate/user/manager/components/Filters.vue?9974","webpack:///./src/views/DefaultTemplate/user/manager/components/Filters.vue","webpack:///./src/views/DefaultTemplate/user/manager/components/AddNew.vue?66df","webpack:///src/views/DefaultTemplate/user/manager/components/AddNew.vue","webpack:///./src/views/DefaultTemplate/user/manager/components/AddNew.vue?5ad8","webpack:///./src/views/DefaultTemplate/user/manager/components/AddNew.vue","webpack:///./src/views/DefaultTemplate/user/manager/components/Edit.vue?a6ad","webpack:///src/views/DefaultTemplate/user/manager/components/Edit.vue","webpack:///./src/views/DefaultTemplate/user/manager/components/Edit.vue?39eb","webpack:///./src/views/DefaultTemplate/user/manager/components/Edit.vue","webpack:///src/views/DefaultTemplate/user/manager/index.vue","webpack:///./src/views/DefaultTemplate/user/manager/index.vue?e3f0","webpack:///./src/views/DefaultTemplate/user/manager/index.vue","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./src/services/api/DefaultTemplate/DonViService.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./src/views/DefaultTemplate/user/manager/index.vue?ebf3","webpack:///./src/services/api/DefaultTemplate/UserService.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./node_modules/lodash/noop.js","webpack:///./src/views/DefaultTemplate/user/manager/components/Edit.vue?192f","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:///./src/views/DefaultTemplate/user/manager/components/AddNew.vue?a862","webpack:///./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.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:///./src/views/DefaultTemplate/user/manager/index.vue?204e","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","_nonIterableSpread","TypeError","__esModule","kFormatter","num","toFixed","title","replacer","str","arr","split","capitalizedArray","forEach","word","capitalized","charAt","toUpperCase","slice","push","join","avatarText","nameArray","map","last2","length","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatDateToMonthShort","toTimeForCurrentDay","date","isToday","hour","minute","filterTags","replace","toInteger","requireObjectCoercible","repeat","count","String","this","n","Infinity","RangeError","_iterableToArray","iter","iterator","Array","from","props","id","inline","novalidate","validated","BForm","extend","name","functional","render","h","_ref","data","children","class","attrs","isObjectLike","isObject","type","before","once","func","arrayLikeToArray","require","_arrayWithoutHoles","isArray","isPromise","obj","then","default","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","i","hasListenerMixin","methods","hasListener","$listeners","$events","_events","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","source","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","LIGHT","DARK","variant","BTr","mixins","listeners","provide","bvTableTr","inject","bvTableRowGroup","inheritAttrs","computed","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","tableVariant","headVariant","footVariant","isRowDark","trClasses","concat","trAttrs","role","bvAttrs","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","html","colgroupMixin","renderColgroup","$colgroup","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","k","v","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","reduce","EVENT_FILTER","row","ignoreFields","includeFields","fieldsObj","formattedRow","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","constructor","test","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","created","_this2","$nextTick","Boolean","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","RegExp","lastIndex","computedFieldsObj","label","origFields","f","sample","memo","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","primaryKey","itemsMixin","$parent","paginatedItems","sortedItems","context","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","$on","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","index","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","hover","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","el","disabled","indexOf","tagName","labelFor","input","document","sel","trim","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","getTbodyTrIndex","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTopRow","$busy","cache","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","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","charCodeAt","noBody","rightAlign","verticalAlign","BMedia","slots","scopedSlots","$children","$slots","$scopedSlots","$aside","right","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","classof","now","last","arrayWithoutHoles","iterableToArray","nonIterableSpread","formValidation","resetFormData","clearFormData","refFormObserver","resetObserver","reset","getValidationState","dirty","fieldRequired","required","changed","valid","resetForm","nextTick","clearForm","toFinite","remainder","reWhitespace","trimmedEndIndex","string","global","toNumber","INFINITY","MAX_INTEGER","sign","GetAll","GetByCurrentUser","RolesCreate","RolesUpdate","UpdateAction","RolesDelete","_vm","_h","_c","_self","isAddNewUserSidebarActive","donVis","listRole","$event","refetchData","isEditUserSidebarActive","curUserData","donViId","status","_v","$store","state","appConfig","isRTL","perPageOptions","model","callback","$$v","expression","searchQuery","$can","showAddNewBox","_e","staticStyle","fetchUsers","tableColumns","isSortDirDesc","_u","_s","avatar","fullName","proxy","showEditBox","userName","ten","resolveUserRoleVariant","resolveName","resolveUserLockedVariant","resolveNameLock","lockUser","resetPassword","deleteUser","dataMeta","to","of","totalUsers","staticRenderFns","useUsersList","emit","toast","useToast","refUserListTable","loginUser","GetUserInfo","localItemsCount","getDonVi","GetTree","response","condition","start","limit","content","isError","component","ToastificationContent","icon","text","totalRows","findIndex","x","username","splice","treeOptions","normalizer","formatDonVis","lockOptions","val","components","BRow","BCol","BCard","BCardHeader","BCardBody","vSelect","Treeselect","donViFilter","node","instanceId","setup","hide","handleSubmit","preventDefault","onSubmit","validationContext","getCBCC","errors","listCanBo","canbo","hoVaTen","email","canBo","isWait","unitRoleView","directives","rawName","modifiers","localize","BSidebar","BFormGroup","BFormInput","BFormInvalidFeedback","BButton","ValidationProvider","ValidationObserver","Ripple","alphaNum","maCoQuan","isSyncQG","console","position","UserCreate","idCBCC","donVi","res","userData","UserUpdateUnitRole","Filters","AddNew","Edit","BAvatar","BLink","BBadge","BDropdown","BDropdownItem","BPagination","BFormCheckbox","defaultPassword","getDefaultPassword","GetDefaultPassword","getRoles","user","msgBoxConfirm","size","okVariant","okTitle","cancelTitle","cancelVariant","hideHeaderClose","centered","UserResetPassword","UserLock","isLock","UserDelete","headerData","constant","BMediaAside","align","GetTreeAll","GetById","DonViCreate","DonViUpdate","DonViDelete","BMediaBody","stableSort","compareFn","bind","reTrimStart","baseTrim","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","selector","els","boundary","dropleft","dropright","dropup","noFlip","offset","popperOpts","dropdownMixin","bvDropdown","bvNavbar","visible","visibleChangePrevented","inNavbar","toggler","toggle","directionClass","boundaryClass","eventName","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","emitEvent","defaultPrevented","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","deactivated","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","_unused","placement","popperConfig","flip","enabled","boundariesElement","preventOverflow","isOpen","$root","rootCloseListener","vm","show","refocus","$once","_event","onMousedown","propagation","onKeydown","onEsc","focusNext","onSplitClick","hideHandler","up","_this4","getItems","focusItem","find","_this5","_iterableToArrayLimit","_i","_arr","_n","_d","next","done","err","linkClass","computedAttrs","closeDropdown","onClick","active","GetInfoByEmail","UserUpdate","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","wait","options","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","$","thisNumberValue","fails","nativeToFixed","floor","pow","acc","log","x2","FORCED","proto","forced","fractionDigits","z","number","fractDigits","multiply","c","c2","divide","dataToString","s","t","CLASS_NAME","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","ariaLabelledby","backdrop","backdropVariant","bgVariant","bodyClass","closeLabel","footerClass","headerClass","lazy","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","textVariant","width","zIndex","renderHeaderTitle","renderHeaderClose","renderHeader","$title","$close","renderBody","renderFooter","$footer","renderContent","$header","renderBackdrop","localShow","onBackdropClick","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hasTitle","titleId","emitState","fullPath","$_returnFocusEl","handleToggle","handleSync","activated","emitSync","onTopTrapFocus","tabables","enforceFocus","reverse","onBottomTrapFocus","onBeforeEnter","body","onAfterEnter","onAfterLeave","$sidebar","beforeEnter","afterEnter","afterLeave","$backdrop","noFade","$tabTrapTop","$tabTrapBottom","focus","_arrayWithHoles","_nonIterableRest","_methods","_objectSpread2","button","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","set","isChecked","isRadio","isBtnMode","buttons","isPlain","plain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","form","computedSize","computedState","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","_ref2","checked","$input","stateClass","change","handleChange","handleFocus","blur","$button","$label","for","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","setIndeterminate","indeterminate","_ref$target","uncheckedValue","modules","installedModules","__webpack_require__","moduleId","l","m","d","getter","r","mode","ns","create","property","p","__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","registered","INTERVAL_DURATION","run","setInterval","stop","clearInterval","listener","lastWidth","lastHeight","offsetWidth","height","watchSizeForIE9","unwatch","watchSize","isIE9","documentMode","locked","wrappedListener","implementation","removeSizeWatcher","findScrollParents","$scrollParents","parentNode","nodeName","nodeType","ELEMENT_NODE","isScrollElment","window","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","addEventListener","passive","scrollParent","removeEventListener","$scrollParent","isNaN_isNaN","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","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","isLoaded","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","limitText","loadingText","loadOptions","matchKeys","multiple","noChildrenText","noOptionsText","noResultsText","openDirection","validator","acceptableValues","openOnClick","openOnFocus","placeholder","retryText","retryTitle","searchable","searchNested","searchPromptText","showCount","showCountOf","showCountOnSearch","sortValueBy","valueConsistsOf","valueFormat","trigger","isFocused","current","lastScrollPosition","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","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","_this6","defaultNode","valueArray","matched","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","_map","_queue","_nodeId","_node","_this8","currNode","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","handleClickOutside","getValueContainer","control","getInput","focusInput","blurInput","handleMouseDown","stopPropagation","isClickedOnValueContainer","contains","wrapper","_this11","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","option","leafNodes","_this17","_this18","_ref3","catch","error","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","destroyed","stringifyValue","HiddenFields_render","HiddenFieldsvue_type_script_lang_js_","_","injections","stringifiedValues","stringifiedValue","components_HiddenFieldsvue_type_script_lang_js_","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$options","shadowRoot","_injectStyles","originalRender","existing","__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","appear","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","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","childNode","handleMouseDownOnRetry","currentTarget","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","createElement","appendChild","removeChild","innerHTML","$destroy","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","today","getDate","getMonth","getFullYear","isDynamicRouteActive","route","router","resolve","resolvedRoute","path","currentRoute","useRouter","getCurrentInstance","reactive","$route","toRefs","$router","block","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleClass","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","href","$toggle","mousedown","expand","shrink","expandChild","shrinkChild","cssText","unbind","scrollLeft","linkProps","pill","link","symbolTag"],"mappings":"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D,cAbA,SAaAoG,GAAA,WACA,YACA,aACA7E,iBACAwD,qBACAxwB,OACAlD,qBACAowB,kBACAhpB,eACAipB,sBAIA,cACA2E,cACA,sEACA,CACAh1B,sBACAi1B,UACAC,oBACAC,cACAC,kBACAC,kCACAC,mBACAC,cAGAzwB,MAAA,YACA,IACA,YACA0wB,gBAAAryB,UAAA,kBACA,YACA,UACA,UACA+sB,iBACAwD,qBACAxwB,OACAlD,iBACAowB,yBACAhpB,gBACAipB,kBAKA,UACAH,iBACAwD,qBACAxwB,OACAlD,mBACAowB,iBACAhpB,kBACAipB,0BAUA3B,SA3EA,SA2EAqG,GAAA,WACA,OACA,2BACA,YACA,aACA7E,iBACAwD,qBACAxwB,OACAlD,qBACAowB,kBACAhpB,eACAipB,sBAIA,cACA2E,cAAA,2CACAh1B,sBACAi1B,UACAC,oBACAC,cACAC,kBACAC,kCACAC,mBACAC,cAEAzwB,MAAA,YACA,IACA,YACA2wB,gBAAAtyB,QAAAuyB,sBAAA,kBACA,YACA,UACA,UACAxF,iBACAwD,qBACAxwB,OACAlD,iBACAowB,yBACAhpB,gBACAipB,mBAIA,gBACA,UACAH,iBACAwD,qBACAxwB,OACAlD,mBACAowB,iBACAhpB,kBACAipB,2BAUAzB,WAxIA,SAwIAmG,GAAA,WACA,YACA,aACA7E,iBACAwD,qBACAxwB,OACAlD,qBACAowB,kBACAhpB,eACAipB,sBAIA,cACA2E,cAAA,gBACAG,iBACAC,kBACAC,oCAEAvwB,MAAA,YACA,IACA,YACA6wB,uCACA,YACA,UACA,UACAzF,iBACAwD,qBACAxwB,OACAlD,iBACAowB,yBACAhpB,gBACAipB,mBAIA,gBACA,UACAH,iBACAwD,qBACAxwB,OACAlD,mBACAowB,iBACAhpB,kBACAipB,2BASA7C,cA7LA,SA6LAuH,GAEA,OADA,gDACA,GAEA5G,YAjMA,SAiMA4G,GAEA,OADA,gDACA,IAGApD,MAvOA,SAuOAzuB,EAvOA,GAuOA,OACA,wBADA,IAEA,mBACA,GADA,iBACA,sCACA0yB,mCACAvY,eACAu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","file":"js/chunk-0f080518.4932d7eb.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","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;","import { isToday } from './utils'\r\n\r\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\r\n\r\nexport const title = (value, replacer = ' ') => {\r\n if (!value) return ''\r\n const str = value.toString()\r\n\r\n const arr = str.split(replacer)\r\n const capitalizedArray = []\r\n arr.forEach(word => {\r\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n capitalizedArray.push(capitalized)\r\n })\r\n return capitalizedArray.join(' ')\r\n}\r\n\r\nexport const avatarText = value => {\r\n if (!value) return ''\r\n const nameArray = value.split(' ')\r\n const str = nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n const last2 = str.slice(str.length - 2)\r\n // return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n return last2\r\n}\r\n\r\n/**\r\n * Format and return date in Humanize format\r\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\r\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\r\n * @param {String} value date to format\r\n * @param {Object} formatting Intl object to format with\r\n */\r\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\r\n if (!value) return value\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n/**\r\n * Return short human friendly month representation of date\r\n * Can also convert date to only time if date is of today (Better UX)\r\n * @param {String} value date to format\r\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\r\n */\r\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\r\n const date = new Date(value)\r\n let formatting = { month: 'short', day: 'numeric' }\r\n\r\n if (toTimeForCurrentDay && isToday(date)) {\r\n formatting = { hour: 'numeric', minute: 'numeric' }\r\n }\r\n\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n// Strip all the tags from markup and return plain text\r\nexport const filterTags = value => value.replace(/<\\/?[^>]+(>|$)/g, '')\r\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","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;","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } 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 id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\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('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","/**\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;","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","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=style&index=0&lang=scss&\"","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\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 children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\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 classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\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 { ref, nextTick } from '@vue/composition-api'\r\n\r\n// ===========================================================\r\n// ! This is coupled with \"veeValidate\" plugin\r\n// ===========================================================\r\n\r\nexport default function formValidation(resetFormData, clearFormData = () => {}) {\r\n // ------------------------------------------------\r\n // refFormObserver\r\n // ! This is for veeValidate Observer\r\n // * Used for veeValidate form observer\r\n // ------------------------------------------------\r\n const refFormObserver = ref(null)\r\n\r\n // ------------------------------------------------\r\n // resetObserver\r\n // ! This function is coupled with veeValidate\r\n // * It resets form observer\r\n // ------------------------------------------------\r\n const resetObserver = () => {\r\n refFormObserver.value.reset()\r\n }\r\n\r\n // ------------------------------------------------\r\n // getValidationState\r\n // ! This function is coupled with veeValidate\r\n // * It returns true/false based on validation\r\n // ------------------------------------------------\r\n // eslint-disable-next-line object-curly-newline\r\n const getValidationState = ({ dirty, validated, required: fieldRequired, changed, valid = null }) => {\r\n const result = dirty || validated ? valid : null\r\n return !fieldRequired && !changed ? null : result\r\n }\r\n\r\n // ------------------------------------------------\r\n // resetForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses resetFormData arg to reset form data\r\n // ------------------------------------------------\r\n const resetForm = () => {\r\n resetFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n // ------------------------------------------------\r\n // clearForm\r\n // ! This function is coupled with veeValidate\r\n // * This uses clearFormData arg to reset form data\r\n // ------------------------------------------------\r\n const clearForm = () => {\r\n clearFormData()\r\n nextTick(() => {\r\n resetObserver()\r\n })\r\n }\r\n\r\n return {\r\n refFormObserver,\r\n resetObserver,\r\n getValidationState,\r\n resetForm,\r\n clearForm,\r\n }\r\n}\r\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;","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;","/* eslint-disable */\r\nimport BaseService from \"../../BaseService\";\r\n\r\nconst { http } = BaseService();\r\n\r\n// API\r\n\r\nexport function GetAll() {\r\n return http({\r\n url: \"UnitRole/get\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetByCurrentUser() {\r\n return http({\r\n url: \"UnitRole/GetByCurrentUser\",\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function GetById(data) {\r\n return http({\r\n url: \"UnitRole/get-by-id/\" + data,\r\n method: \"get\",\r\n });\r\n}\r\n\r\nexport function RolesCreate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/Create\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function RolesUpdate(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/Update\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\nexport function UpdateAction(postdata) {\r\n const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/update-action\",\r\n method: \"post\",\r\n data,\r\n });\r\n}\r\n\r\nexport function RolesDelete(postdata) {\r\n // const data = { ...postdata };\r\n return http({\r\n url: \"UnitRole/Delete/\" + postdata,\r\n method: \"post\",\r\n });\r\n}\r\n\r\n/////////////////////////////////////////////\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('add-new',{attrs:{\"is-add-new-user-sidebar-active\":_vm.isAddNewUserSidebarActive,\"tree-options\":_vm.donVis,\"list-role\":_vm.listRole},on:{\"update:isAddNewUserSidebarActive\":function($event){_vm.isAddNewUserSidebarActive=$event},\"update:is-add-new-user-sidebar-active\":function($event){_vm.isAddNewUserSidebarActive=$event},\"refetch-data\":_vm.refetchData}}),_c('edit',{attrs:{\"is-add-new-user-sidebar-active\":_vm.isEditUserSidebarActive,\"user-data\":_vm.curUserData,\"list-role\":_vm.listRole},on:{\"update:isAddNewUserSidebarActive\":function($event){_vm.isEditUserSidebarActive=$event},\"update:is-add-new-user-sidebar-active\":function($event){_vm.isEditUserSidebarActive=$event},\"refetch-data\":_vm.refetchData}}),_c('filters',{attrs:{\"don-vi-filter\":_vm.donViId,\"tree-options\":_vm.donVis,\"status\":_vm.status},on:{\"update:donViFilter\":function($event){_vm.donViId=$event},\"update:don-vi-filter\":function($event){_vm.donViId=$event},\"update:status\":function($event){_vm.status=$event}}}),_c('b-card',{staticClass:\"mb-0\",attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"m-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start mb-1 mb-md-0\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('label',[_vm._v(\"Hiển thị\")]),_c('v-select',{staticClass:\"per-page-selector d-inline-block mx-50\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.perPageOptions,\"clearable\":false},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_c('label',[_vm._v(\"dòng\")])],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('div',{staticClass:\"d-flex align-items-center justify-content-end\"},[_c('b-form-input',{staticClass:\"d-inline-block\",attrs:{\"placeholder\":\"Tìm kiếm...\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),(_vm.$can('create', 'NGUOIDUNG'))?_c('b-button',{staticClass:\"ml-1\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){_vm.isAddNewUserSidebarActive = _vm.showAddNewBox({})}}},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\"Thêm người dùng\")])]):_vm._e()],1)])],1)],1),_c('div',{staticClass:\"px-2\"},[_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",staticStyle:{\"min-height\":\"180px\"},attrs:{\"items\":_vm.fetchUsers,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by\":_vm.sortBy,\"show-empty\":\"\",\"empty-text\":\"Không có dữ liệu\",\"sort-desc\":_vm.isSortDirDesc,\"table-class\":\"vgt-table cs-table-info\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.isSortDirDesc=$event},\"update:sort-desc\":function($event){_vm.isSortDirDesc=$event}},scopedSlots:_vm._u([{key:\"cell(index)\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.index + (_vm.currentPage - 1) * _vm.perPage + 1))]}},{key:\"cell(user)\",fn:function(data){return [_c('b-media',{attrs:{\"vertical-align\":\"center\"},scopedSlots:_vm._u([{key:\"aside\",fn:function(){return [_c('b-avatar',{staticClass:\"cs-b-avatar\",attrs:{\"size\":\"32\",\"src\":data.item.avatar,\"text\":_vm.avatarText(data.item.fullName)}})]},proxy:true}],null,true)},[_c('b-link',{staticClass:\"font-weight-bold d-block text-nowrap\",on:{\"click\":function($event){_vm.isEditUserSidebarActive = _vm.showEditBox(data.item)}}},[_vm._v(\" \"+_vm._s(data.item.fullName)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.item.userName))])],1)]}},{key:\"cell(donVi)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":\"light-success\"}},[_c('p',{staticClass:\"truncate1 mb-0\"},[_vm._v(_vm._s(data.value.ten))])])]}},{key:\"cell(unitRoleCode)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":(\"light-\" + (_vm.resolveUserRoleVariant(data.value)))}},[(data.value)?_c('p',{staticClass:\"truncate1 mb-0\"},[_vm._v(\" \"+_vm._s(_vm.resolveName(data.value))+\" \")]):_vm._e()])]}},{key:\"cell(isActived)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"variant\":(\"light-\" + (_vm.resolveUserLockedVariant(data.value)))}},[_c('p',{staticClass:\"truncate1 mb-0\"},[_vm._v(\" \"+_vm._s(_vm.resolveNameLock(data.value))+\" \")])])]}},{key:\"cell(actions)\",fn:function(data){return [_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"right\":_vm.$store.state.appConfig.isRTL},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"MoreVerticalIcon\",\"size\":\"16\"}})]},proxy:true}],null,true)},[_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.lockUser(data.item)}}},[(data.item.isActived)?_c('div',[_c('feather-icon',{attrs:{\"icon\":\"LockIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Khóa tài khoản\")])],1):_c('div',[_c('feather-icon',{attrs:{\"icon\":\"UnlockIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Mở tài khoản\")])],1)]),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.resetPassword(data.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"RefreshCcwIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Mật khẩu mặc định\")])],1),(_vm.$can('update', 'NGUOIDUNG'))?_c('b-dropdown-item',{on:{\"click\":function($event){_vm.isEditUserSidebarActive = _vm.showEditBox(data.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"EditIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Sửa\")])],1):_vm._e(),(_vm.$can('delete', 'NGUOIDUNG'))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.deleteUser(data.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"TrashIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Xóa\")])],1):_vm._e()],1)]}}])})],1),_c('div',{staticClass:\"mx-2 mb-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-start\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\" Hiển thị \"+_vm._s(_vm.dataMeta.from)+\" đến \"+_vm._s(_vm.dataMeta.to)+\" của \"+_vm._s(_vm.dataMeta.of)+\" dòng \")])]),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-end\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('b-pagination',{staticClass:\"mb-0 mt-1 mt-sm-0\",attrs:{\"total-rows\":_vm.totalUsers,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}]),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable */\r\nimport { ref, watch, computed } from \"@vue/composition-api\";\r\nimport { title } from \"@core/utils/filter\";\r\n\r\n// Notification\r\nimport { useToast } from \"vue-toastification/composition\";\r\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\r\n\r\nimport { GetPagingParams } from \"@/services/api/DefaultTemplate/UserService\";\r\nimport { GetUserInfo } from \"@/services/api/DefaultTemplate/AuthService\";\r\nimport { GetTree } from \"@/services/api/DefaultTemplate/DonViService\";\r\nexport default function useUsersList(props, emit) {\r\n const toast = useToast();\r\n\r\n const refUserListTable = ref(null);\r\n\r\n const tableColumns = [\r\n {\r\n key: \"index\",\r\n label: \"STT\",\r\n sortable: true,\r\n thStyle: \"text-align: center; width: 50px;\",\r\n },\r\n { key: \"user\", label: \"Người dùng\" },\r\n {\r\n key: \"donVi\",\r\n label: \"Đơn vị\",\r\n // sortable: true\r\n },\r\n {\r\n key: \"unitRoleCode\",\r\n label: \"Vai trò\",\r\n class: \"text-center\",\r\n // sortable: true,\r\n },\r\n {\r\n key: \"isActived\",\r\n label: \"Trạng thái\",\r\n class: \"text-center\",\r\n // sortable: true,\r\n },\r\n\r\n {\r\n key: \"actions\",\r\n label: \"#\",\r\n thStyle: \"text-align: center; width: 50px;\",\r\n },\r\n ];\r\n\r\n const perPage = ref(10);\r\n const totalUsers = ref(0);\r\n const currentPage = ref(1);\r\n const perPageOptions = [10, 25, 50, 100];\r\n\r\n const searchQuery = ref(\"\");\r\n const sortBy = ref(\"id\");\r\n const isSortDirDesc = ref(true);\r\n const donViId = ref(null);\r\n const status = ref(true);\r\n const donVis = ref([]);\r\n\r\n const loginUser = GetUserInfo();\r\n\r\n const dataMeta = computed(() => {\r\n const localItemsCount = refUserListTable.value\r\n ? refUserListTable.value.localItems.length\r\n : 0;\r\n return {\r\n from: perPage.value * (currentPage.value - 1) + (localItemsCount ? 1 : 0),\r\n to: perPage.value * (currentPage.value - 1) + localItemsCount,\r\n of: totalUsers.value,\r\n };\r\n });\r\n\r\n const refetchData = () => {\r\n refUserListTable.value.refresh();\r\n };\r\n const getDonVi = () => {\r\n GetTree().then((response) => {\r\n // console.log(\"response\", response);\r\n donVis.value = response.data;\r\n });\r\n };\r\n getDonVi();\r\n\r\n const fetchUsers = (ctx, callback) => {\r\n let condition = {\r\n donViId: donViId.value,\r\n start: currentPage.value,\r\n limit: perPage.value,\r\n content: searchQuery.value,\r\n status: status.value,\r\n // sortBy: loadFilter.value,\r\n };\r\n GetPagingParams(condition).then((response) => {\r\n // console.log(\"response\", response);\r\n if (!response.isError) {\r\n const { data, totalRows } = response.data;\r\n\r\n //Auto remove me login\r\n let index = data.findIndex((x) => x.userName == loginUser.username);\r\n if (index != -1) {\r\n data.splice(index, 1);\r\n }\r\n\r\n callback(data);\r\n totalUsers.value = totalRows;\r\n } else {\r\n toast({\r\n component: ToastificationContent,\r\n props: {\r\n title: \"Thất bại\",\r\n icon: \"AlertTriangleIcon\",\r\n variant: \"danger\",\r\n text: response.message,\r\n },\r\n });\r\n }\r\n });\r\n };\r\n\r\n const resolveUserLockedVariant = (status) => {\r\n if (status == false) return \"secondary\";\r\n return \"success\";\r\n };\r\n\r\n watch([currentPage, perPage, searchQuery, donViId, status], () => {\r\n refetchData();\r\n });\r\n\r\n return {\r\n fetchUsers,\r\n getDonVi,\r\n tableColumns,\r\n perPage,\r\n currentPage,\r\n totalUsers,\r\n dataMeta,\r\n perPageOptions,\r\n searchQuery,\r\n sortBy,\r\n isSortDirDesc,\r\n refUserListTable,\r\n donViId,\r\n status,\r\n donVis,\r\n\r\n resolveUserLockedVariant,\r\n refetchData,\r\n\r\n // lockFilter,\r\n };\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"pb-50\"},[_c('h5',[_vm._v(\"Lọc thông tin\")])]),_c('b-card-body',[_c('b-row',[_c('b-col',{staticClass:\"mb-md-0 mb-2\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',[_vm._v(\"Đơn vị\")]),_c('treeselect',{attrs:{\"options\":_vm.treeOptions,\"value-format\":\"id\",\"clearable\":true,\"searchable\":true,\"show-count\":true,\"default-expand-level\":1,\"normalizer\":_vm.normalizer,\"placeholder\":\"Chọn đơn vị\"},on:{\"select\":_vm.formatDonVis,\"input\":function($event){return _vm.$emit('update:donViFilter', _vm.value)}},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('b-col',{staticClass:\"mb-md-0 mb-2\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('label',[_vm._v(\"Trạng thái\")]),_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.lockOptions,\"reduce\":function (val) { return val.value; },\"clearable\":false},on:{\"input\":function($event){return _vm.$emit('update:status', _vm.status)}},model:{value:(_vm.status),callback:function ($$v) {_vm.status=$$v},expression:\"status\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Filters.vue?vue&type=template&id=0a0dd35e&\"\nimport script from \"./Filters.vue?vue&type=script&lang=js&\"\nexport * from \"./Filters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Filters.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-sidebar',{attrs:{\"id\":\"add-new-user-sidebar\",\"visible\":_vm.isAddNewUserSidebarActive,\"bg-variant\":\"white\",\"sidebar-class\":\"sidebar-lg\",\"shadow\":\"\",\"backdrop\":\"\",\"no-header\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\",\"right\":\"\"},on:{\"hidden\":_vm.resetForm,\"change\":function (val) { return _vm.$emit('update:is-add-new-user-sidebar-active', val); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between align-items-center content-sidebar-header px-2 py-1\"},[_c('h5',{staticClass:\"mb-0\"},[_vm._v(\"Thông tin\")]),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XIcon\",\"size\":\"16\"},on:{\"click\":hide}})],1),_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{staticClass:\"p-2\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onSubmit)},\"reset\":function($event){$event.preventDefault();return _vm.resetForm.apply(null, arguments)}}},[_c('validation-provider',{attrs:{\"name\":\"Đơn vị\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_c('label',[_vm._v(\"Đơn vị\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('treeselect',{attrs:{\"options\":_vm.treeOptions,\"value-format\":\"object\",\"searchable\":true,\"show-count\":true,\"default-expand-level\":1,\"normalizer\":_vm.normalizer,\"placeholder\":\"Chọn đơn vị\"},on:{\"select\":_vm.formatDonVis,\"input\":_vm.getCBCC},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Cán bộ\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"canBo\"}},[_vm._v(\"Cán bộ\")]),_c('b-form-group',[_c('v-select',{attrs:{\"placeholder\":\"\",\"label\":\"hoVaTen\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.listCanBo,\"reduce\":function (val) { return val; },\"clearable\":false,\"input-id\":\"canBo\"},on:{\"input\":_vm.canbo},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar hoVaTen = ref.hoVaTen;\nvar email = ref.email;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('span',[_vm._v(_vm._s(hoVaTen))]),_c('span',[_vm._v(_vm._s(email))])])]}}],null,true),model:{value:(_vm.canBo),callback:function ($$v) {_vm.canBo=$$v},expression:\"canBo\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Họ và tên\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"full-name\"}},[_vm._v(\"Họ và tên \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"full-name\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\"},model:{value:(_vm.fullName),callback:function ($$v) {_vm.fullName=$$v},expression:\"fullName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Username\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"username\"}},[_vm._v(\"Tài khoản (UserName)\"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"username\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\"},model:{value:(_vm.userName),callback:function ($$v) {_vm.userName=$$v},expression:\"userName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Vai trò\",\"rules\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Vai trò\",\"label-for\":\"vaiTro\",\"state\":_vm.getValidationState(validationContext)}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"reduce\":function (val) { return val; },\"options\":_vm.listRole,\"label\":\"name\",\"disabled\":_vm.isWait,\"clearable\":false,\"input-id\":\"vaiTro\"},model:{value:(_vm.unitRoleView),callback:function ($$v) {_vm.unitRoleView=$$v},expression:\"unitRoleView\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex mt-2\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"disabled\":_vm.isWait,\"type\":\"submit\"}},[_vm._v(\" Lưu \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"disabled\":_vm.isWait},on:{\"click\":hide}},[_vm._v(\" Đóng \")])],1)],1)]}}],null,true)}),_c('b-modal',{attrs:{\"id\":\"successModal\",\"title\":\"Tạo mới thành công\",\"centered\":\"\",\"size\":\"sm\",\"hide-footer\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('div',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"color\":\"#134032\",\"font-size\":\"14px !important\"}},[_vm._v(\"Tên tài khoản: \")]),_c('span',{staticStyle:{\"font-size\":\"14px !important\"}},[_vm._v(_vm._s(_vm.userName))])]),_c('div',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"color\":\"#134032\",\"font-size\":\"14px !important\"}},[_vm._v(\"Mật khẩu: \")]),_c('span',{staticStyle:{\"font-size\":\"14px !important\"}},[_vm._v(\"DongThap!@#2o24\")])])])]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddNew.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddNew.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddNew.vue?vue&type=template&id=e2ced856&\"\nimport script from \"./AddNew.vue?vue&type=script&lang=js&\"\nexport * from \"./AddNew.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddNew.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-sidebar',{attrs:{\"id\":\"add-new-user-sidebar\",\"visible\":_vm.isAddNewUserSidebarActive,\"bg-variant\":\"white\",\"sidebar-class\":\"sidebar-lg\",\"shadow\":\"\",\"backdrop\":\"\",\"no-header\":\"\",\"right\":\"\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\"},on:{\"hidden\":_vm.resetForm,\"change\":function (val) { return _vm.$emit('update:is-add-new-user-sidebar-active', val); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between align-items-center content-sidebar-header px-2 py-1\"},[_c('h5',{staticClass:\"mb-0\"},[_vm._v(\"Thông tin\")]),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XIcon\",\"size\":\"16\"},on:{\"click\":hide}})],1),_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{staticClass:\"p-2\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onSubmit)},\"reset\":function($event){$event.preventDefault();return _vm.resetForm.apply(null, arguments)}}},[_c('validation-provider',{attrs:{\"name\":\"Họ và tên\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"full-name\"}},[_vm._v(\"Họ và tên \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"full-name\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"disabled\":true,\"placeholder\":\"Họ và tên\"},model:{value:(_vm.userData.fullName),callback:function ($$v) {_vm.$set(_vm.userData, \"fullName\", $$v)},expression:\"userData.fullName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Tài khoản (UserName)\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('label',{attrs:{\"label-for\":\"username\"}},[_vm._v(\"Tài khoản (UserName) \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('b-form-group',[_c('b-form-input',{attrs:{\"id\":\"username\",\"state\":_vm.getValidationState(validationContext),\"disabled\":(_vm.userData.id && _vm.userData.id != '') || _vm.isWait,\"trim\":\"\"},model:{value:(_vm.userData.userName),callback:function ($$v) {_vm.$set(_vm.userData, \"userName\", $$v)},expression:\"userData.userName\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Vai trò\",\"rules\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Vai trò\",\"label-for\":\"vaiTro\",\"state\":_vm.getValidationState(validationContext)}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"reduce\":function (val) { return val.id; },\"options\":_vm.listRole,\"label\":\"name\",\"disabled\":_vm.isWait,\"clearable\":false,\"input-id\":\"vaiTro\"},model:{value:(_vm.userData.unitRoleId),callback:function ($$v) {_vm.$set(_vm.userData, \"unitRoleId\", $$v)},expression:\"userData.unitRoleId\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex mt-2\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"disabled\":_vm.isWait,\"type\":\"submit\"}},[_vm._v(\" Lưu \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"type\":\"button\",\"variant\":\"outline-secondary\",\"disabled\":_vm.isWait},on:{\"click\":hide}},[_vm._v(\" Đóng \")])],1)],1)]}}],null,true)})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Edit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Edit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Edit.vue?vue&type=template&id=2f641460&\"\nimport script from \"./Edit.vue?vue&type=script&lang=js&\"\nexport * from \"./Edit.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Edit.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","