{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?4819","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?3fc5","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./src/views/apps/user/users-list/UsersList.vue?a0d4","webpack:///./src/views/apps/user/users-list/UsersListFilters.vue?e2c7","webpack:///src/views/apps/user/users-list/UsersListFilters.vue","webpack:///./src/views/apps/user/users-list/UsersListFilters.vue?a4e0","webpack:///./src/views/apps/user/users-list/UsersListFilters.vue","webpack:///./src/views/apps/user/users-list/UserListAddNew.vue?db66","webpack:///src/views/apps/user/users-list/UserListAddNew.vue","webpack:///./src/views/apps/user/users-list/UserListAddNew.vue?244d","webpack:///./src/views/apps/user/users-list/UserListAddNew.vue","webpack:///src/views/apps/user/users-list/UsersList.vue","webpack:///./src/views/apps/user/users-list/UsersList.vue?9705","webpack:///./src/views/apps/user/users-list/UsersList.vue","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.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:///./src/views/apps/user/users-list/UserListAddNew.vue?6356","webpack:///./src/views/apps/user/users-list/UsersList.vue?165e","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./src/@core/comp-functions/forms/form-validation.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./src/@fake-db/data/other/countries.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./src/views/apps/user/userStoreModule.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/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/vee-validate/dist/vee-validate.esm.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/vee-validate/dist/rules.js","webpack:///./src/@core/utils/validations/validators.js","webpack:///./src/@core/utils/validations/validations.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?6534","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./src/views/apps/user/users-list/useUsersList.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./src/views/apps/user/users-list/UsersListFilters.vue?518f","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./src/views/apps/user/users-list/UsersList.vue?ec9b"],"names":["formSelectionMixin","extend","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","name","functional","render","h","_ref","data","parent","replace","concat","parseSpan","spanValidator","colspan","rowspan","stackedHeading","stickyColumn","variant","BTd","mixins","inject","bvTableTr","default","inheritAttrs","tag","inTbody","inThead","inTfoot","isDark","isStacked","isStackedCell","isResponsive","isStickyHeader","hasStickyHeader","isStickyColumn","rowVariant","headVariant","footVariant","tableVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","role","scope","bvAttrs","$content","normalizeSlot","class","attrs","on","bvListeners","BThead","provide","bvTableRowGroup","bvTable","isThead","dark","stickyHeader","theadClasses","theadAttrs","kFormatter","num","toFixed","title","replacer","str","toString","arr","split","capitalizedArray","word","capitalized","charAt","toUpperCase","slice","join","avatarText","nameArray","map","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatDateToMonthShort","toTimeForCurrentDay","date","isToday","hour","minute","filterTags","toInteger","requireObjectCoercible","module","exports","repeat","count","String","result","n","Infinity","RangeError","id","inline","novalidate","validated","BForm","children","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","cardImgProps","bind","imgSrc","required","card","align","noBody","BCard","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","overlay","staticClass","$footer","hasFooterSlot","_vm","_h","$createElement","_c","_self","_s","_e","text","$event","$emit","hideClose","staticRenderFns","BAvatar","type","Boolean","component","redefine","anObject","fails","flags","TO_STRING","RegExpPrototype","RegExp","prototype","nativeToString","NOT_GENERIC","call","INCORRECT_NAME","R","p","rf","f","undefined","unsafe","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","sanitizePerPage","sanitizeTotalRows","ariaControls","perPage","totalRows","BPagination","numberOfPages","pageSizeNumberOfPages","watch","newValue","oldValue","currentPage","localNumberOfPages","created","_this","$nextTick","onClick","event","pageNumber","_this2","clickEvt","cancelable","vueTarget","defaultPrevented","$el","contains","focusCurrent","makePage","pageNum","linkProps","BTfoot","isTfoot","tfootClasses","tfootAttrs","bottomRowMixin","renderBottomRow","fields","computedFields","tbodyTrClass","tbodyTrAttr","hasNormalizedSlot","columns","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","stopIfBusy","renderBusy","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","k","v","row","ignoreFields","includeFields","fieldsObj","formattedRow","reduce","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","constructor","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","timeout","setTimeout","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","lastIndex","computedFieldsObj","paginationMixin","localPaging","noProviderPaging","paginatedItems","sortedItems","math","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","apiUrl","noProviderSorting","providerMixin","providerTriggerContext","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","mounted","listenOnRoot","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","context","then","e","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","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","getFieldFormatter","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","topRowMixin","renderTopRow","BTable","LIGHT","DARK","BTr","isTbody","isRowDark","trClasses","trAttrs","isAddNewUserSidebarActive","roleOptions","planOptions","refetchData","roleFilter","planFilter","statusFilter","statusOptions","_v","$store","state","appConfig","isRTL","perPageOptions","model","callback","$$v","expression","searchQuery","ref","fetchUsers","tableColumns","isSortDirDesc","_u","avatar","fullName","resolveUserRoleVariant","params","proxy","username","resolveUserRoleIcon","resolveUserStatusVariant","status","dataMeta","to","of","totalUsers","BRow","BCol","BCardHeader","BCardBody","vSelect","resetForm","hide","handleSubmit","preventDefault","onSubmit","validationContext","getValidationState","userData","$set","errors","countries","directives","rawName","modifiers","BSidebar","BFormGroup","BFormInput","BFormInvalidFeedback","BButton","ValidationProvider","ValidationObserver","Ripple","prop","alphaNum","email","setup","currentPlan","company","country","contact","JSON","parse","stringify","blankUserData","store","refFormObserver","UsersListFilters","UserListAddNew","BMedia","BLink","BBadge","BDropdown","BDropdownItem","refUserListTable","hasListenerMixin","hasListener","$listeners","$events","_events","rightAlign","verticalAlign","$children","$aside","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","defaultValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","label","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","striped","primaryKey","rowShowDetails","hasRowClickHandler","$rows","detailsId","safeId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","tbody","trs","tr","getTbodyTrIndex","el","tagName","indexOf","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","caption","captionHtml","captionMixin","captionId","renderCaption","$caption","hasCaptionSlot","classof","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","formatValue","force","updateValue","doUpdate","$input","onInput","composing","formattedValue","propagation","onChange","onBlur","focus","disabled","blur","TYPES","list","max","min","noWheel","step","localType","computedAttrs","form","computedAriaInvalid","computedListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","formValidation","resetFormData","clearFormData","resetObserver","reset","dirty","fieldRequired","changed","valid","nextTick","clearForm","stackedMixin","isStackedAlways","stackedTableClasses","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","rounded","sizes","srcset","thumbnail","BImg","titleTag","BCardTitle","fixRegExpWellKnownSymbolLogic","toObject","toLength","advanceStringIndex","regExpExec","Math","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","O","regexp","res","done","rx","S","functionalReplace","global","fullUnicode","unicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","match","ch","capture","namespaced","getters","mutations","actions","queryParams","Promise","resolve","reject","axios","response","catch","error","fetchUser","addUser","post","user","origFields","sample","memo","itemsMixin","bodyClass","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","BTh","extends","bordered","borderless","captionTop","fixed","hover","noBorderCollapse","outlined","responsive","small","tableClass","tableRendererMixin","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderColgroup","renderThead","renderTfoot","$table","style","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","__assign","assign","t","s","hasOwnProperty","__awaiter","thisArg","_arguments","P","generator","adopt","fulfilled","next","rejected","__generator","body","y","g","_","sent","trys","ops","verb","op","pop","__spreadArrays","il","r","jl","isNaN","isNullOrUndefined","isEmptyArray","isObject","isRefEqual","lhs","rhs","isEqual","every","isSpecified","isCallable","isLocator","__locatorRef","findIndex","arrayLike","predicate","toArray","find","includes","collection","_copyArray","values","merge","createFlags","untouched","touched","pristine","invalid","pending","passed","failed","wait","token","cancelled","args","_i","later","console","interpolate","template","RULES","normalizeSchema","schema","_a","param","RuleContainer","rule","computesRequired","isLazy","isRequireRule","getRuleDefinition","ruleName","guardExtend","validate","validator","Error","DEFAULT_CONFIG","defaultMessage","skipOptional","classes","bails","mode","useConstraintAttrs","currentConfig","getConfig","setConfig","newConf","normalizeRules","rules","acc","_$$isNormalized","prev","curr","buildParams","parsedRule","parseRule","provided","ruleSchema","definedParams","lastDefinedParam_1","options","isTarget","createLocator","cast","castFn","locator","crossTable","extractLocators","shouldBail","skipIfEmpty","failedRules","regenerateMap","forceRequired","names","customMessages","_validate","msg","_b","isInitial","shouldSkip","_d","_shouldSkip","_test","requireRules","isEmpty","isEmptyAndOptional","isRequired","normalizedValue","values_1","castValue","fillTargetValues","_field_","_value_","_rule_","_generateFieldError","ruleTargets","_getRuleTargets","_getUserTargets","userTargets","userMessage","_normalizeMessage","numTargets","ruleConfig","name_1","targetPart","normalize","aggressive","eager","passive","modes","EVENT_BUS","localeChanged","DICTIONARY","Dictionary","dictionary","container","_f","_g","fieldContainer","messageContainer","messages","hasRule","localize","isEvent","evt","Event","srcElement","normalizeEventValue","files","_vModifiers","valueAsNumber","parseFloat","trimmedValue","isTextInput","vnode","elm","findModel","nonStandardVNodeData","d","findValue","config","findModelConfig","componentOptions","propsData","propsDataWithValue","extractChildren","findInputNodes","nodes","node","candidates","Ctor","mergeVNodeListeners","eventName","fns","invoker","addNativeNodeListener","addComponentNodeListener","listeners","addVNodeListener","getInputEventName","event_1","isHTMLNode","resolveTextualRules","regex","maxlength","minlength","min_value","Number","max_value","resolveRules","htmlTags","normalizeChildren","slotProps","shouldValidate","_ignoreImmediate","immediate","normalizedEvents","_needsValidation","initialized","createValidationCtx","ariaInput","ariaMsg","onRenderUpdate","vm","initialValue","validateNow","triggerThreadSafeValidation","validateSilent","$once","computeModeSetting","compute","pendingPromise","_pendingValidation","applyResult","createCommonHandlers","$veeOnInput","syncValue","setFlags","$veeOnBlur","onValidate","$veeHandler","$veeDebounce","_pendingReset","addListeners","_inputEventName","PROVIDER_COUNTER","fieldName","defaultValues","isActive","$_veeObserver","$vnode","createObserver","vid","Function","slim","detectInput","oldVal","fieldDeps","normalizedRules","deps","dep","depName","watchCrossFieldDep","_resolvedRules","computeClassObj","onLocaleChanged","_regenerateMap","errors_1","failedRules_1","registerField","inputs","resolved","unobserve","flag","createLookup","setErrors","updateRenderingContextRefs","_loop_1","className","cls","providers","refs","reduced","extractId","providedId","observe","withHooks","_veeWatchers","$watch","FLAGS_STRATEGIES","OBSERVER_COUNTER","data$1","createObserverFlags","observers","provideSelf","register","computeObserverState","unregister","prepareSlotProps","subscriber","kind","splice","provider","$delete","validateWithInfo","silent","isValid","all","obs","cb","errorArr","observer","passes","vms","BMediaAside","BMediaBody","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","stableSort","compareFn","alpha","en","cs","da","de","es","fa","fr","lt","nl","hu","pl","pt","ro","ru","sk","sr","sv","uk","ar","az","alphanumeric","alphaDash","loc","alpha$1","validate$1","params$1","alpha_dash","validate$2","params$2","alpha_num","validate$4","params$4","between","validate$5","params$5","confirmed","validate$6","strVal","params$6","digits","validate$8","multiple","re","emailStr","params$8","validate$d","integer","validate$g","params$b","validate$k","params$e","validate$n","params$g","validate$o","allowFalse","params$h","validatorPositive","validatorPassword","password","validPassword","validatorCreditCard","creditnum","cRegExp","validCreditCard","validatorUrlValidator","rule_required","rule_email","rule_min","rule_confirmed","rule_regex","rule_between","rule_alpha","rule_integer","rule_digits","rule_alpha_dash","rule_alpha_num","rule_length","url","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","alignContent","alignH","alignV","noGutters","_classList$push","classList","c","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","separator","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","makePageArray","startNumber","sanitizeLimit","limit","sanitizeCurrentPage","page","onSpaceKey","immediatePropagation","currentTarget","ariaLabel","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","pills","prevClass","prevText","size","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","pages","_i2","_i3","handleKeyNav","isNav","focusFirst","focusPrev","focusLast","focusNext","getButtons","btn","_this4","reverse","_this5","buttons","_this6","_this7","pageNumbers","_this$paginationParam2","fill","$buttons","isActivePage","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","$btnContent","$inner","makeEllipsis","isLast","makePageButton","active","btnContent","content","$firstPageBtn","offset","$lastPageBtn","$pagination","formSizeMixin","TABLE_TAG_NAMES","filterEvent","labelFor","thisNumberValue","nativeToFixed","pow","x","log","x2","FORCED","fractionDigits","z","fractDigits","sign","multiply","c2","divide","dataToString","headerClass","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","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","closeLabel","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","zIndex","renderHeaderTitle","renderHeaderClose","renderHeader","$close","renderBody","renderFooter","renderContent","isOpen","renderBackdrop","localShow","onBackdropClick","visible","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hasTitle","titleId","emitState","fullPath","$_returnFocusEl","handleToggle","handleSync","emitSync","onKeydown","onTopTrapFocus","tabables","enforceFocus","onBottomTrapFocus","onBeforeEnter","onAfterEnter","onAfterLeave","$sidebar","beforeEnter","afterEnter","afterLeave","$backdrop","noFade","$tabTrapTop","$tabTrapBottom","useUsersList","toast","useToast","localItemsCount","dispatch","q","plan","users","total","ToastificationContent","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","labelHtml","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","_typeof","today","getDate","getMonth","getFullYear","isDynamicRouteActive","route","router","resolvedRoute","path","currentRoute","useRouter","getCurrentInstance","reactive","$route","toRefs","$router","textSelectionActive","sel","containsNode","colgroupMixin","$colgroup","SELECTOR","autofocus","formControlMixin","handleAutofocus","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","button","buttonType","square","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","fontStyle","fontSize","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","onImgError","_class2","link","$badge","hasBadgeSlot","badgeText","componentData","href","pill","noop"],"mappings":"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,GAAQ5lB,U,kCCjHrL,gJAMW/I,EAAQ,eAAsB,CACvCmE,MAAO,eAAS,QAChBirB,SAAU,eAAS,OAAkB,OACpC,QAGQC,EAA0B,aAAI5yB,OAAO,CAC9C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SACpB,OAAO5G,EAAEP,EAAMovB,SAAU,eAAU3uB,EAAM,CACvCgK,YAAa,eACXtD,GAAY,eAASnH,EAAMmE,Y,oCCtBpB,QACb,cACA,UACA,UACA,UACA,SACA,sBACA,YACA,UACA,YACA,UACA,aACA,UACA,UACA,aACA,WACA,UACA,UACA,SACA,QACA,SACA,UACA,yBACA,WACA,SACA,SACA,WACA,eACA,UACA,gBACA,aACA,WACA,WACA,SACA,2BACA,OACA,QACA,QACA,WACA,UACA,QACA,aACA,UACA,OACA,SACA,UACA,UACA,WACA,WACA,qBACA,UACA,QACA,cACA,oBACA,UACA,UACA,WACA,WACA,OACA,UACA,SACA,QACA,SACA,UACA,UACA,QACA,SACA,UACA,YACA,SACA,gBACA,SACA,QACA,WACA,WACA,UACA,UACA,QACA,YACA,OACA,OACA,UACA,SACA,QACA,UACA,QACA,SACA,aACA,QACA,WACA,SACA,aACA,OACA,SACA,UACA,UACA,UACA,QACA,gBACA,YACA,aACA,aACA,SACA,WACA,WACA,OACA,QACA,mBACA,aACA,YACA,SACA,aACA,UACA,SACA,WACA,aACA,UACA,aACA,UACA,UACA,QACA,QACA,cACA,cACA,YACA,QACA,UACA,cACA,kBACA,SACA,OACA,WACA,QACA,kBACA,SACA,mBACA,WACA,OACA,cACA,SACA,WACA,QACA,UACA,SACA,SACA,wBACA,cACA,iCACA,QACA,aACA,wBACA,eACA,UACA,SACA,aACA,eACA,YACA,WACA,WACA,kBACA,UACA,eACA,cACA,cACA,QACA,YACA,QACA,WACA,SACA,cACA,QACA,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","file":"js/chunk-6cc4bc0e.8253547c.js","sourcesContent":["import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\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, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\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 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});","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 return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\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","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});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\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, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\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, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toastification\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('b-avatar',{staticClass:\"mr-75 flex-shrink-0\",attrs:{\"variant\":_vm.variant,\"size\":\"1.8rem\"}},[_c('feather-icon',{attrs:{\"icon\":_vm.icon,\"size\":\"15\"}})],1),_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('div',[(_vm.title)?_c('h5',{staticClass:\"mb-0 font-weight-bolder toastification-title\",class:(\"text-\" + _vm.variant),domProps:{\"textContent\":_vm._s(_vm.title)}}):_vm._e(),(_vm.text)?_c('small',{staticClass:\"d-inline-block text-body\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_vm._e()]),_c('span',{staticClass:\"cursor-pointer toastification-close-icon ml-auto \",on:{\"click\":function($event){return _vm.$emit('close-toast')}}},[(!_vm.hideClose)?_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"XIcon\"}}):_vm._e()],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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=55dd3057&scoped=true&\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55dd3057\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION,\n // The render function is brought in via the `paginationMixin`\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n // Used for watching changes to `perPage` and `numberOfPages`\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n if (!isUndefinedOrNull(oldValue)) {\n if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newValue.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to `NaN` or a value less than `1`\n // trigger an initial emit of `null` if no page specified\n _this.currentPage = 0;\n });\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(event, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = event.target; // Emit a user-cancelable `page-click` event\n\n var clickEvt = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvt.type, clickEvt, pageNumber);\n\n if (clickEvt.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit(EVENT_NAME_CHANGE, this.currentPage); // Keep the current button focused if possible\n\n this.$nextTick(function () {\n if (isVisible(target) && _this2.$el.contains(target)) {\n attemptFocus(target);\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n\n /* istanbul ignore next */\n linkProps: function linkProps() {\n // No props, since we render a plain button\n return {};\n }\n }\n});","function 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 { 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 _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_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};","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 { 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};","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});","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});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('user-list-add-new',{attrs:{\"is-add-new-user-sidebar-active\":_vm.isAddNewUserSidebarActive,\"role-options\":_vm.roleOptions,\"plan-options\":_vm.planOptions},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('users-list-filters',{attrs:{\"role-filter\":_vm.roleFilter,\"plan-filter\":_vm.planFilter,\"status-filter\":_vm.statusFilter,\"role-options\":_vm.roleOptions,\"plan-options\":_vm.planOptions,\"status-options\":_vm.statusOptions},on:{\"update:roleFilter\":function($event){_vm.roleFilter=$event},\"update:role-filter\":function($event){_vm.roleFilter=$event},\"update:planFilter\":function($event){_vm.planFilter=$event},\"update:plan-filter\":function($event){_vm.planFilter=$event},\"update:statusFilter\":function($event){_vm.statusFilter=$event},\"update:status-filter\":function($event){_vm.statusFilter=$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\":\"6\"}},[_c('label',[_vm._v(\"Show\")]),_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(\"entries\")])],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"d-flex align-items-center justify-content-end\"},[_c('b-form-input',{staticClass:\"d-inline-block mr-1\",attrs:{\"placeholder\":\"Search...\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}}),_c('b-button',{attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){_vm.isAddNewUserSidebarActive = true}}},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\"Add User\")])])],1)])],1)],1),_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"items\":_vm.fetchUsers,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by\":_vm.sortBy,\"show-empty\":\"\",\"empty-text\":\"No matching records found\",\"sort-desc\":_vm.isSortDirDesc},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(user)\",fn:function(data){return [_c('b-media',{attrs:{\"vertical-align\":\"center\"},scopedSlots:_vm._u([{key:\"aside\",fn:function(){return [_c('b-avatar',{attrs:{\"size\":\"32\",\"src\":data.item.avatar,\"text\":_vm.avatarText(data.item.fullName),\"variant\":(\"light-\" + (_vm.resolveUserRoleVariant(data.item.role))),\"to\":{ name: 'apps-users-view', params: { id: data.item.id } }}})]},proxy:true}],null,true)},[_c('b-link',{staticClass:\"font-weight-bold d-block text-nowrap\",attrs:{\"to\":{ name: 'apps-users-view', params: { id: data.item.id } }}},[_vm._v(\" \"+_vm._s(data.item.fullName)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(\"@\"+_vm._s(data.item.username))])],1)]}},{key:\"cell(role)\",fn:function(data){return [_c('div',{staticClass:\"text-nowrap\"},[_c('feather-icon',{staticClass:\"mr-50\",class:(\"text-\" + (_vm.resolveUserRoleVariant(data.item.role))),attrs:{\"icon\":_vm.resolveUserRoleIcon(data.item.role),\"size\":\"18\"}}),_c('span',{staticClass:\"align-text-top text-capitalize\"},[_vm._v(_vm._s(data.item.role))])],1)]}},{key:\"cell(status)\",fn:function(data){return [_c('b-badge',{staticClass:\"text-capitalize\",attrs:{\"pill\":\"\",\"variant\":(\"light-\" + (_vm.resolveUserStatusVariant(data.item.status)))}},[_vm._v(\" \"+_vm._s(data.item.status)+\" \")])]}},{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',{attrs:{\"to\":{ name: 'apps-users-view', params: { id: data.item.id } }}},[_c('feather-icon',{attrs:{\"icon\":\"FileTextIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Details\")])],1),_c('b-dropdown-item',{attrs:{\"to\":{ name: 'apps-users-edit', params: { id: data.item.id } }}},[_c('feather-icon',{attrs:{\"icon\":\"EditIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Edit\")])],1),_c('b-dropdown-item',[_c('feather-icon',{attrs:{\"icon\":\"TrashIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Delete\")])],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(\"Showing \"+_vm._s(_vm.dataMeta.from)+\" to \"+_vm._s(_vm.dataMeta.to)+\" of \"+_vm._s(_vm.dataMeta.of)+\" entries\")])]),_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)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-header',{staticClass:\"pb-50\"},[_c('h5',[_vm._v(\" Filters \")])]),_c('b-card-body',[_c('b-row',[_c('b-col',{staticClass:\"mb-md-0 mb-2\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('label',[_vm._v(\"Role\")]),_c('v-select',{staticClass:\"w-100\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"value\":_vm.roleFilter,\"options\":_vm.roleOptions,\"reduce\":function (val) { return val.value; }},on:{\"input\":function (val) { return _vm.$emit('update:roleFilter', val); }}})],1),_c('b-col',{staticClass:\"mb-md-0 mb-2\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('label',[_vm._v(\"Plan\")]),_c('v-select',{staticClass:\"w-100\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"value\":_vm.planFilter,\"options\":_vm.planOptions,\"reduce\":function (val) { return val.value; }},on:{\"input\":function (val) { return _vm.$emit('update:planFilter', val); }}})],1),_c('b-col',{staticClass:\"mb-md-0 mb-2\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('label',[_vm._v(\"Status\")]),_c('v-select',{staticClass:\"w-100\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"value\":_vm.statusFilter,\"options\":_vm.statusOptions,\"reduce\":function (val) { return val.value; }},on:{\"input\":function (val) { return _vm.$emit('update:statusFilter', val); }}})],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--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersListFilters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersListFilters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UsersListFilters.vue?vue&type=template&id=6a3fed34&\"\nimport script from \"./UsersListFilters.vue?vue&type=script&lang=js&\"\nexport * from \"./UsersListFilters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UsersListFilters.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\":\"\"},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(\" Add New User \")]),_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($event)}}},[_c('validation-provider',{attrs:{\"name\":\"Full Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Full Name\",\"label-for\":\"full-name\"}},[_c('b-form-input',{attrs:{\"id\":\"full-name\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"John Doe\"},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\":\"Username\",\"rules\":\"required|alpha-num\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Username\",\"label-for\":\"username\"}},[_c('b-form-input',{attrs:{\"id\":\"username\",\"state\":_vm.getValidationState(validationContext),\"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\":\"Email\",\"rules\":\"required|email\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Email\",\"label-for\":\"email\"}},[_c('b-form-input',{attrs:{\"id\":\"email\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\"},model:{value:(_vm.userData.email),callback:function ($$v) {_vm.$set(_vm.userData, \"email\", $$v)},expression:\"userData.email\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Contact\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Contact\",\"label-for\":\"contact\"}},[_c('b-form-input',{attrs:{\"id\":\"contact\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\"},model:{value:(_vm.userData.contact),callback:function ($$v) {_vm.$set(_vm.userData, \"contact\", $$v)},expression:\"userData.contact\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Company\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Company\",\"label-for\":\"company\"}},[_c('b-form-input',{attrs:{\"id\":\"company\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\"},model:{value:(_vm.userData.company),callback:function ($$v) {_vm.$set(_vm.userData, \"company\", $$v)},expression:\"userData.company\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Country\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Country\",\"label-for\":\"country\",\"state\":_vm.getValidationState(validationContext)}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.countries,\"clearable\":false,\"input-id\":\"country\"},model:{value:(_vm.userData.country),callback:function ($$v) {_vm.$set(_vm.userData, \"country\", $$v)},expression:\"userData.country\"}}),_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\":\"User Role\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"User Role\",\"label-for\":\"user-role\",\"state\":_vm.getValidationState(validationContext)}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.roleOptions,\"reduce\":function (val) { return val.value; },\"clearable\":false,\"input-id\":\"user-role\"},model:{value:(_vm.userData.role),callback:function ($$v) {_vm.$set(_vm.userData, \"role\", $$v)},expression:\"userData.role\"}}),_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\":\"Plan\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Plan\",\"label-for\":\"plan\",\"state\":_vm.getValidationState(validationContext)}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.planOptions,\"reduce\":function (val) { return val.value; },\"clearable\":false,\"input-id\":\"plan\"},model:{value:(_vm.userData.currentPlan),callback:function ($$v) {_vm.$set(_vm.userData, \"currentPlan\", $$v)},expression:\"userData.currentPlan\"}}),_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\",\"type\":\"submit\"}},[_vm._v(\" Add \")]),_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\"},on:{\"click\":hide}},[_vm._v(\" Cancel \")])],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--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListAddNew.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListAddNew.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserListAddNew.vue?vue&type=template&id=2c7d8d2c&\"\nimport script from \"./UserListAddNew.vue?vue&type=script&lang=js&\"\nexport * from \"./UserListAddNew.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserListAddNew.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UsersList.vue?vue&type=template&id=32017d0f&scoped=true&\"\nimport script from \"./UsersList.vue?vue&type=script&lang=js&\"\nexport * from \"./UsersList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UsersList.vue?vue&type=style&index=0&id=32017d0f&lang=scss&scoped=true&\"\nimport style1 from \"./UsersList.vue?vue&type=style&index=1&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 \"32017d0f\",\n null\n \n)\n\nexport default component.exports","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\n }\n }\n});","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});","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});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListAddNew.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersList.vue?vue&type=style&index=0&id=32017d0f&lang=scss&scoped=true&\"","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});","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","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_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\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 = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\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_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","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","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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","export default [\r\n 'Afghanistan',\r\n 'Albania',\r\n 'Algeria',\r\n 'Andorra',\r\n 'Angola',\r\n 'Antigua and Barbuda',\r\n 'Argentina',\r\n 'Armenia',\r\n 'Australia',\r\n 'Austria',\r\n 'Azerbaijan',\r\n 'Bahamas',\r\n 'Bahrain',\r\n 'Bangladesh',\r\n 'Barbados',\r\n 'Belarus',\r\n 'Belgium',\r\n 'Belize',\r\n 'Benin',\r\n 'Bhutan',\r\n 'Bolivia',\r\n 'Bosnia and Herzegovina',\r\n 'Botswana',\r\n 'Brazil',\r\n 'Brunei',\r\n 'Bulgaria',\r\n 'Burkina Faso',\r\n 'Burundi',\r\n \"Côte d'Ivoire\",\r\n 'Cabo Verde',\r\n 'Cambodia',\r\n 'Cameroon',\r\n 'Canada',\r\n 'Central African Republic',\r\n 'Chad',\r\n 'Chile',\r\n 'China',\r\n 'Colombia',\r\n 'Comoros',\r\n 'Congo',\r\n 'Costa Rica',\r\n 'Croatia',\r\n 'Cuba',\r\n 'Cyprus',\r\n 'Czechia',\r\n 'Denmark',\r\n 'Djibouti',\r\n 'Dominica',\r\n 'Dominican Republic',\r\n 'Ecuador',\r\n 'Egypt',\r\n 'El Salvador',\r\n 'Equatorial Guinea',\r\n 'Eritrea',\r\n 'Estonia',\r\n 'Eswatini',\r\n 'Ethiopia',\r\n 'Fiji',\r\n 'Finland',\r\n 'France',\r\n 'Gabon',\r\n 'Gambia',\r\n 'Georgia',\r\n 'Germany',\r\n 'Ghana',\r\n 'Greece',\r\n 'Grenada',\r\n 'Guatemala',\r\n 'Guinea',\r\n 'Guinea-Bissau',\r\n 'Guyana',\r\n 'Haiti',\r\n 'Holy See',\r\n 'Honduras',\r\n 'Hungary',\r\n 'Iceland',\r\n 'India',\r\n 'Indonesia',\r\n 'Iran',\r\n 'Iraq',\r\n 'Ireland',\r\n 'Israel',\r\n 'Italy',\r\n 'Jamaica',\r\n 'Japan',\r\n 'Jordan',\r\n 'Kazakhstan',\r\n 'Kenya',\r\n 'Kiribati',\r\n 'Kuwait',\r\n 'Kyrgyzstan',\r\n 'Laos',\r\n 'Latvia',\r\n 'Lebanon',\r\n 'Lesotho',\r\n 'Liberia',\r\n 'Libya',\r\n 'Liechtenstein',\r\n 'Lithuania',\r\n 'Luxembourg',\r\n 'Madagascar',\r\n 'Malawi',\r\n 'Malaysia',\r\n 'Maldives',\r\n 'Mali',\r\n 'Malta',\r\n 'Marshall Islands',\r\n 'Mauritania',\r\n 'Mauritius',\r\n 'Mexico',\r\n 'Micronesia',\r\n 'Moldova',\r\n 'Monaco',\r\n 'Mongolia',\r\n 'Montenegro',\r\n 'Morocco',\r\n 'Mozambique',\r\n 'Myanmar',\r\n 'Namibia',\r\n 'Nauru',\r\n 'Nepal',\r\n 'Netherlands',\r\n 'New Zealand',\r\n 'Nicaragua',\r\n 'Niger',\r\n 'Nigeria',\r\n 'North Korea',\r\n 'North Macedonia',\r\n 'Norway',\r\n 'Oman',\r\n 'Pakistan',\r\n 'Palau',\r\n 'Palestine State',\r\n 'Panama',\r\n 'Papua New Guinea',\r\n 'Paraguay',\r\n 'Peru',\r\n 'Philippines',\r\n 'Poland',\r\n 'Portugal',\r\n 'Qatar',\r\n 'Romania',\r\n 'Russia',\r\n 'Rwanda',\r\n 'Saint Kitts and Nevis',\r\n 'Saint Lucia',\r\n 'Saint Vincent & the Grenadines',\r\n 'Samoa',\r\n 'San Marino',\r\n 'Sao Tome and Principe',\r\n 'Saudi Arabia',\r\n 'Senegal',\r\n 'Serbia',\r\n 'Seychelles',\r\n 'Sierra Leone',\r\n 'Singapore',\r\n 'Slovakia',\r\n 'Slovenia',\r\n 'Solomon Islands',\r\n 'Somalia',\r\n 'South Africa',\r\n 'South Korea',\r\n 'South Sudan',\r\n 'Spain',\r\n 'Sri Lanka',\r\n 'Sudan',\r\n 'Suriname',\r\n 'Sweden',\r\n 'Switzerland',\r\n 'Syria',\r\n 'Tajikistan',\r\n 'Tanzania',\r\n 'Thailand',\r\n 'Timor-Leste',\r\n 'Togo',\r\n 'Tonga',\r\n 'Trinidad and Tobago',\r\n 'Tunisia',\r\n 'Turkey',\r\n 'Turkmenistan',\r\n 'Tuvalu',\r\n 'Uganda',\r\n 'Ukraine',\r\n 'United Arab Emirates',\r\n 'United Kingdom',\r\n 'USA',\r\n 'Uruguay',\r\n 'Uzbekistan',\r\n 'Vanuatu',\r\n 'Venezuela',\r\n 'Vietnam',\r\n 'Yemen',\r\n 'Zambia',\r\n 'Zimbabwe',\r\n]\r\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","import axios from '@axios'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {},\r\n getters: {},\r\n mutations: {},\r\n actions: {\r\n fetchUsers(ctx, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get('/apps/user/users', { params: queryParams })\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n fetchUser(ctx, { id }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`/apps/user/users/${id}`)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n addUser(ctx, userData) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post('/apps/user/users', { user: userData })\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n },\r\n}\r\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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n});","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\n }\n }\n});","function 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\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(',');","/**\n * vee-validate v3.4.5\n * (c) 2020 Abdelrahman Awad\n * @license MIT\n */\nimport Vue from 'vue';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\n\nfunction isNaN(value) {\r\n // NaN is the one value that does not equal itself.\r\n // eslint-disable-next-line\r\n return value !== value;\r\n}\r\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\nvar isObject = function (obj) {\r\n return obj !== null && obj && typeof obj === 'object' && !Array.isArray(obj);\r\n};\r\n/**\r\n * A reference comparison function with NaN support\r\n */\r\nfunction isRefEqual(lhs, rhs) {\r\n if (isNaN(lhs) && isNaN(rhs)) {\r\n return true;\r\n }\r\n return lhs === rhs;\r\n}\r\n/**\r\n * Shallow object comparison.\r\n */\r\nfunction isEqual(lhs, rhs) {\r\n if (lhs instanceof RegExp && rhs instanceof RegExp) {\r\n return isEqual(lhs.source, rhs.source) && isEqual(lhs.flags, rhs.flags);\r\n }\r\n if (Array.isArray(lhs) && Array.isArray(rhs)) {\r\n if (lhs.length !== rhs.length)\r\n return false;\r\n for (var i = 0; i < lhs.length; i++) {\r\n if (!isEqual(lhs[i], rhs[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n // if both are objects, compare each key recursively.\r\n if (isObject(lhs) && isObject(rhs)) {\r\n return (Object.keys(lhs).every(function (key) {\r\n return isEqual(lhs[key], rhs[key]);\r\n }) &&\r\n Object.keys(rhs).every(function (key) {\r\n return isEqual(lhs[key], rhs[key]);\r\n }));\r\n }\r\n return isRefEqual(lhs, rhs);\r\n}\r\n// Checks if a given value is not an empty string or null or undefined.\r\nfunction isSpecified(val) {\r\n if (val === '') {\r\n return false;\r\n }\r\n return !isNullOrUndefined(val);\r\n}\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\r\nfunction isLocator(value) {\r\n return isCallable(value) && !!value.__locatorRef;\r\n}\n\nfunction findIndex(arrayLike, predicate) {\r\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\r\n if (isCallable(array.findIndex)) {\r\n return array.findIndex(predicate);\r\n }\r\n /* istanbul ignore next */\r\n for (var i = 0; i < array.length; i++) {\r\n if (predicate(array[i], i)) {\r\n return i;\r\n }\r\n }\r\n /* istanbul ignore next */\r\n return -1;\r\n}\r\n/**\r\n * finds the first element that satisfies the predicate callback, polyfills array.find\r\n */\r\nfunction find(arrayLike, predicate) {\r\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\r\n var idx = findIndex(array, predicate);\r\n return idx === -1 ? undefined : array[idx];\r\n}\r\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\r\nfunction values(obj) {\r\n if (isCallable(Object.values)) {\r\n return Object.values(obj);\r\n }\r\n // fallback to keys()\r\n /* istanbul ignore next */\r\n return Object.keys(obj).map(function (k) { return obj[k]; });\r\n}\r\nfunction merge(target, source) {\r\n Object.keys(source).forEach(function (key) {\r\n if (isObject(source[key])) {\r\n if (!target[key]) {\r\n target[key] = {};\r\n }\r\n merge(target[key], source[key]);\r\n return;\r\n }\r\n target[key] = source[key];\r\n });\r\n return target;\r\n}\n\nfunction createFlags() {\r\n return {\r\n untouched: true,\r\n touched: false,\r\n dirty: false,\r\n pristine: true,\r\n valid: false,\r\n invalid: false,\r\n validated: false,\r\n pending: false,\r\n required: false,\r\n changed: false,\r\n passed: false,\r\n failed: false\r\n };\r\n}\n\nfunction identity(x) {\r\n return x;\r\n}\r\nfunction debounce(fn, wait, token) {\r\n if (wait === void 0) { wait = 0; }\r\n if (token === void 0) { token = { cancelled: false }; }\r\n if (wait === 0) {\r\n return fn;\r\n }\r\n var timeout;\r\n return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var later = function () {\r\n timeout = undefined;\r\n // check if the fn call was cancelled.\r\n if (!token.cancelled)\r\n fn.apply(void 0, args);\r\n };\r\n // because we might want to use Node.js setTimout for SSR.\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n };\r\n}\n\n/**\r\n * Emits a warning to the console\r\n */\r\nfunction warn(message) {\r\n console.warn(\"[vee-validate] \" + message);\r\n}\r\n/**\r\n * Replaces placeholder values in a string with their actual values\r\n */\r\nfunction interpolate(template, values) {\r\n return template.replace(/{([^}]+)}/g, function (_, p) {\r\n return p in values ? values[p] : \"{\" + p + \"}\";\r\n });\r\n}\n\nvar RULES = {};\r\nfunction normalizeSchema(schema) {\r\n var _a;\r\n if ((_a = schema.params) === null || _a === void 0 ? void 0 : _a.length) {\r\n schema.params = schema.params.map(function (param) {\r\n if (typeof param === 'string') {\r\n return { name: param };\r\n }\r\n return param;\r\n });\r\n }\r\n return schema;\r\n}\r\nvar RuleContainer = /** @class */ (function () {\r\n function RuleContainer() {\r\n }\r\n RuleContainer.extend = function (name, schema) {\r\n // if rule already exists, overwrite it.\r\n var rule = normalizeSchema(schema);\r\n if (RULES[name]) {\r\n RULES[name] = merge(RULES[name], schema);\r\n return;\r\n }\r\n RULES[name] = __assign({ lazy: false, computesRequired: false }, rule);\r\n };\r\n RuleContainer.isLazy = function (name) {\r\n var _a;\r\n return !!((_a = RULES[name]) === null || _a === void 0 ? void 0 : _a.lazy);\r\n };\r\n RuleContainer.isRequireRule = function (name) {\r\n var _a;\r\n return !!((_a = RULES[name]) === null || _a === void 0 ? void 0 : _a.computesRequired);\r\n };\r\n RuleContainer.getRuleDefinition = function (ruleName) {\r\n return RULES[ruleName];\r\n };\r\n return RuleContainer;\r\n}());\r\n/**\r\n * Adds a custom validator to the list of validation rules.\r\n */\r\nfunction extend(name, schema) {\r\n // makes sure new rules are properly formatted.\r\n guardExtend(name, schema);\r\n // Full schema object.\r\n if (typeof schema === 'object') {\r\n RuleContainer.extend(name, schema);\r\n return;\r\n }\r\n RuleContainer.extend(name, {\r\n validate: schema\r\n });\r\n}\r\n/**\r\n * Guards from extension violations.\r\n */\r\nfunction guardExtend(name, validator) {\r\n if (isCallable(validator)) {\r\n return;\r\n }\r\n if (isCallable(validator.validate)) {\r\n return;\r\n }\r\n if (RuleContainer.getRuleDefinition(name)) {\r\n return;\r\n }\r\n throw new Error(\"Extension Error: The validator '\" + name + \"' must be a function or have a 'validate' method.\");\r\n}\n\nvar DEFAULT_CONFIG = {\r\n defaultMessage: \"{_field_} is not valid.\",\r\n skipOptional: true,\r\n classes: {\r\n touched: 'touched',\r\n untouched: 'untouched',\r\n valid: 'valid',\r\n invalid: 'invalid',\r\n pristine: 'pristine',\r\n dirty: 'dirty' // control has been interacted with\r\n },\r\n bails: true,\r\n mode: 'aggressive',\r\n useConstraintAttrs: true\r\n};\r\nvar currentConfig = __assign({}, DEFAULT_CONFIG);\r\nvar getConfig = function () { return currentConfig; };\r\nvar setConfig = function (newConf) {\r\n currentConfig = __assign(__assign({}, currentConfig), newConf);\r\n};\r\nvar configure = function (cfg) {\r\n setConfig(cfg);\r\n};\n\n/**\r\n * Normalizes the given rules expression.\r\n */\r\nfunction normalizeRules(rules) {\r\n // if falsy value return an empty object.\r\n var acc = {};\r\n Object.defineProperty(acc, '_$$isNormalized', {\r\n value: true,\r\n writable: false,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n if (!rules) {\r\n return acc;\r\n }\r\n // Object is already normalized, skip.\r\n if (isObject(rules) && rules._$$isNormalized) {\r\n return rules;\r\n }\r\n if (isObject(rules)) {\r\n return Object.keys(rules).reduce(function (prev, curr) {\r\n var params = [];\r\n if (rules[curr] === true) {\r\n params = [];\r\n }\r\n else if (Array.isArray(rules[curr])) {\r\n params = rules[curr];\r\n }\r\n else if (isObject(rules[curr])) {\r\n params = rules[curr];\r\n }\r\n else {\r\n params = [rules[curr]];\r\n }\r\n if (rules[curr] !== false) {\r\n prev[curr] = buildParams(curr, params);\r\n }\r\n return prev;\r\n }, acc);\r\n }\r\n /* istanbul ignore if */\r\n if (typeof rules !== 'string') {\r\n warn('rules must be either a string or an object.');\r\n return acc;\r\n }\r\n return rules.split('|').reduce(function (prev, rule) {\r\n var parsedRule = parseRule(rule);\r\n if (!parsedRule.name) {\r\n return prev;\r\n }\r\n prev[parsedRule.name] = buildParams(parsedRule.name, parsedRule.params);\r\n return prev;\r\n }, acc);\r\n}\r\nfunction buildParams(ruleName, provided) {\r\n var ruleSchema = RuleContainer.getRuleDefinition(ruleName);\r\n if (!ruleSchema) {\r\n return provided;\r\n }\r\n var params = {};\r\n if (!ruleSchema.params && !Array.isArray(provided)) {\r\n throw new Error('You provided an object params to a rule that has no defined schema.');\r\n }\r\n // Rule probably uses an array for their args, keep it as is.\r\n if (Array.isArray(provided) && !ruleSchema.params) {\r\n return provided;\r\n }\r\n var definedParams;\r\n // collect the params schema.\r\n if (!ruleSchema.params || (ruleSchema.params.length < provided.length && Array.isArray(provided))) {\r\n var lastDefinedParam_1;\r\n // collect any additional parameters in the last item.\r\n definedParams = provided.map(function (_, idx) {\r\n var _a;\r\n var param = (_a = ruleSchema.params) === null || _a === void 0 ? void 0 : _a[idx];\r\n lastDefinedParam_1 = param || lastDefinedParam_1;\r\n if (!param) {\r\n param = lastDefinedParam_1;\r\n }\r\n return param;\r\n });\r\n }\r\n else {\r\n definedParams = ruleSchema.params;\r\n }\r\n // Match the provided array length with a temporary schema.\r\n for (var i = 0; i < definedParams.length; i++) {\r\n var options = definedParams[i];\r\n var value = options.default;\r\n // if the provided is an array, map element value.\r\n if (Array.isArray(provided)) {\r\n if (i in provided) {\r\n value = provided[i];\r\n }\r\n }\r\n else {\r\n // If the param exists in the provided object.\r\n if (options.name in provided) {\r\n value = provided[options.name];\r\n // if the provided is the first param value.\r\n }\r\n else if (definedParams.length === 1) {\r\n value = provided;\r\n }\r\n }\r\n // if the param is a target, resolve the target value.\r\n if (options.isTarget) {\r\n value = createLocator(value, options.cast);\r\n }\r\n // A target param using interpolation\r\n if (typeof value === 'string' && value[0] === '@') {\r\n value = createLocator(value.slice(1), options.cast);\r\n }\r\n // If there is a transformer defined.\r\n if (!isLocator(value) && options.cast) {\r\n value = options.cast(value);\r\n }\r\n // already been set, probably multiple values.\r\n if (params[options.name]) {\r\n params[options.name] = Array.isArray(params[options.name]) ? params[options.name] : [params[options.name]];\r\n params[options.name].push(value);\r\n }\r\n else {\r\n // set the value.\r\n params[options.name] = value;\r\n }\r\n }\r\n return params;\r\n}\r\n/**\r\n * Parses a rule string expression.\r\n */\r\nvar parseRule = function (rule) {\r\n var params = [];\r\n var name = rule.split(':')[0];\r\n if (includes(rule, ':')) {\r\n params = rule\r\n .split(':')\r\n .slice(1)\r\n .join(':')\r\n .split(',');\r\n }\r\n return { name: name, params: params };\r\n};\r\nfunction createLocator(value, castFn) {\r\n var locator = function (crossTable) {\r\n var val = crossTable[value];\r\n return castFn ? castFn(val) : val;\r\n };\r\n locator.__locatorRef = value;\r\n return locator;\r\n}\r\nfunction extractLocators(params) {\r\n if (Array.isArray(params)) {\r\n return params.filter(function (param) {\r\n return isLocator(param) || (typeof param === 'string' && param[0] === '@');\r\n });\r\n }\r\n return Object.keys(params)\r\n .filter(function (key) { return isLocator(params[key]); })\r\n .map(function (key) { return params[key]; });\r\n}\n\n/**\r\n * Validates a value against the rules.\r\n */\r\nfunction validate(value, rules, options) {\r\n if (options === void 0) { options = {}; }\r\n return __awaiter(this, void 0, void 0, function () {\r\n var shouldBail, skipIfEmpty, field, result, errors, failedRules, regenerateMap;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n shouldBail = options === null || options === void 0 ? void 0 : options.bails;\r\n skipIfEmpty = options === null || options === void 0 ? void 0 : options.skipIfEmpty;\r\n field = {\r\n name: (options === null || options === void 0 ? void 0 : options.name) || '{field}',\r\n rules: normalizeRules(rules),\r\n bails: shouldBail !== null && shouldBail !== void 0 ? shouldBail : true,\r\n skipIfEmpty: skipIfEmpty !== null && skipIfEmpty !== void 0 ? skipIfEmpty : true,\r\n forceRequired: false,\r\n crossTable: (options === null || options === void 0 ? void 0 : options.values) || {},\r\n names: (options === null || options === void 0 ? void 0 : options.names) || {},\r\n customMessages: (options === null || options === void 0 ? void 0 : options.customMessages) || {}\r\n };\r\n return [4 /*yield*/, _validate(field, value, options)];\r\n case 1:\r\n result = _a.sent();\r\n errors = [];\r\n failedRules = {};\r\n regenerateMap = {};\r\n result.errors.forEach(function (e) {\r\n var msg = e.msg();\r\n errors.push(msg);\r\n failedRules[e.rule] = msg;\r\n regenerateMap[e.rule] = e.msg;\r\n });\r\n return [2 /*return*/, {\r\n valid: result.valid,\r\n errors: errors,\r\n failedRules: failedRules,\r\n regenerateMap: regenerateMap\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Starts the validation process.\r\n */\r\nfunction _validate(field, value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).isInitial, isInitial = _b === void 0 ? false : _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _c, shouldSkip, errors, rules, length, i, rule, result;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0: return [4 /*yield*/, _shouldSkip(field, value)];\r\n case 1:\r\n _c = _d.sent(), shouldSkip = _c.shouldSkip, errors = _c.errors;\r\n if (shouldSkip) {\r\n return [2 /*return*/, {\r\n valid: !errors.length,\r\n errors: errors\r\n }];\r\n }\r\n rules = Object.keys(field.rules).filter(function (rule) { return !RuleContainer.isRequireRule(rule); });\r\n length = rules.length;\r\n i = 0;\r\n _d.label = 2;\r\n case 2:\r\n if (!(i < length)) return [3 /*break*/, 5];\r\n if (isInitial && RuleContainer.isLazy(rules[i])) {\r\n return [3 /*break*/, 4];\r\n }\r\n rule = rules[i];\r\n return [4 /*yield*/, _test(field, value, {\r\n name: rule,\r\n params: field.rules[rule]\r\n })];\r\n case 3:\r\n result = _d.sent();\r\n if (!result.valid && result.error) {\r\n errors.push(result.error);\r\n if (field.bails) {\r\n return [2 /*return*/, {\r\n valid: false,\r\n errors: errors\r\n }];\r\n }\r\n }\r\n _d.label = 4;\r\n case 4:\r\n i++;\r\n return [3 /*break*/, 2];\r\n case 5: return [2 /*return*/, {\r\n valid: !errors.length,\r\n errors: errors\r\n }];\r\n }\r\n });\r\n });\r\n}\r\nfunction _shouldSkip(field, value) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var requireRules, length, errors, isEmpty, isEmptyAndOptional, isRequired, i, rule, result;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n requireRules = Object.keys(field.rules).filter(RuleContainer.isRequireRule);\r\n length = requireRules.length;\r\n errors = [];\r\n isEmpty = isNullOrUndefined(value) || value === '' || isEmptyArray(value);\r\n isEmptyAndOptional = isEmpty && field.skipIfEmpty;\r\n isRequired = false;\r\n i = 0;\r\n _a.label = 1;\r\n case 1:\r\n if (!(i < length)) return [3 /*break*/, 4];\r\n rule = requireRules[i];\r\n return [4 /*yield*/, _test(field, value, {\r\n name: rule,\r\n params: field.rules[rule]\r\n })];\r\n case 2:\r\n result = _a.sent();\r\n if (!isObject(result)) {\r\n throw new Error('Require rules has to return an object (see docs)');\r\n }\r\n if (result.required) {\r\n isRequired = true;\r\n }\r\n if (!result.valid && result.error) {\r\n errors.push(result.error);\r\n // Exit early as the field is required and failed validation.\r\n if (field.bails) {\r\n return [2 /*return*/, {\r\n shouldSkip: true,\r\n errors: errors\r\n }];\r\n }\r\n }\r\n _a.label = 3;\r\n case 3:\r\n i++;\r\n return [3 /*break*/, 1];\r\n case 4:\r\n if (isEmpty && !isRequired && !field.skipIfEmpty) {\r\n return [2 /*return*/, {\r\n shouldSkip: false,\r\n errors: errors\r\n }];\r\n }\r\n // field is configured to run through the pipeline regardless\r\n if (!field.bails && !isEmptyAndOptional) {\r\n return [2 /*return*/, {\r\n shouldSkip: false,\r\n errors: errors\r\n }];\r\n }\r\n // skip if the field is not required and has an empty value.\r\n return [2 /*return*/, {\r\n shouldSkip: !isRequired && isEmpty,\r\n errors: errors\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Tests a single input value against a rule.\r\n */\r\nfunction _test(field, value, rule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ruleSchema, normalizedValue, params, result, values_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n ruleSchema = RuleContainer.getRuleDefinition(rule.name);\r\n if (!ruleSchema || !ruleSchema.validate) {\r\n throw new Error(\"No such validator '\" + rule.name + \"' exists.\");\r\n }\r\n normalizedValue = ruleSchema.castValue ? ruleSchema.castValue(value) : value;\r\n params = fillTargetValues(rule.params, field.crossTable);\r\n return [4 /*yield*/, ruleSchema.validate(normalizedValue, params)];\r\n case 1:\r\n result = _a.sent();\r\n if (typeof result === 'string') {\r\n values_1 = __assign(__assign({}, (params || {})), { _field_: field.name, _value_: value, _rule_: rule.name });\r\n return [2 /*return*/, {\r\n valid: false,\r\n error: { rule: rule.name, msg: function () { return interpolate(result, values_1); } }\r\n }];\r\n }\r\n if (!isObject(result)) {\r\n result = { valid: result };\r\n }\r\n return [2 /*return*/, {\r\n valid: result.valid,\r\n required: result.required,\r\n error: result.valid ? undefined : _generateFieldError(field, value, ruleSchema, rule.name, params)\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Generates error messages.\r\n */\r\nfunction _generateFieldError(field, value, ruleSchema, ruleName, params) {\r\n var _a;\r\n var message = (_a = field.customMessages[ruleName]) !== null && _a !== void 0 ? _a : ruleSchema.message;\r\n var ruleTargets = _getRuleTargets(field, ruleSchema, ruleName);\r\n var _b = _getUserTargets(field, ruleSchema, ruleName, message), userTargets = _b.userTargets, userMessage = _b.userMessage;\r\n var values = __assign(__assign(__assign(__assign({}, (params || {})), { _field_: field.name, _value_: value, _rule_: ruleName }), ruleTargets), userTargets);\r\n return {\r\n msg: function () { return _normalizeMessage(userMessage || getConfig().defaultMessage, field.name, values); },\r\n rule: ruleName\r\n };\r\n}\r\nfunction _getRuleTargets(field, ruleSchema, ruleName) {\r\n var params = ruleSchema.params;\r\n if (!params) {\r\n return {};\r\n }\r\n var numTargets = params.filter(function (param) { return param.isTarget; }).length;\r\n if (numTargets <= 0) {\r\n return {};\r\n }\r\n var names = {};\r\n var ruleConfig = field.rules[ruleName];\r\n if (!Array.isArray(ruleConfig) && isObject(ruleConfig)) {\r\n ruleConfig = params.map(function (param) {\r\n return ruleConfig[param.name];\r\n });\r\n }\r\n for (var index = 0; index < params.length; index++) {\r\n var param = params[index];\r\n var key = ruleConfig[index];\r\n if (!isLocator(key)) {\r\n continue;\r\n }\r\n key = key.__locatorRef;\r\n var name_1 = field.names[key] || key;\r\n names[param.name] = name_1;\r\n names[\"_\" + param.name + \"_\"] = field.crossTable[key];\r\n }\r\n return names;\r\n}\r\nfunction _getUserTargets(field, ruleSchema, ruleName, userMessage) {\r\n var userTargets = {};\r\n var rules = field.rules[ruleName];\r\n var params = ruleSchema.params || [];\r\n // early return if no rules\r\n if (!rules) {\r\n return {};\r\n }\r\n // check all rules to convert targets\r\n Object.keys(rules).forEach(function (key, index) {\r\n // get the rule\r\n var rule = rules[key];\r\n if (!isLocator(rule)) {\r\n return {};\r\n }\r\n // get associated parameter\r\n var param = params[index];\r\n if (!param) {\r\n return {};\r\n }\r\n // grab the name of the target\r\n var name = rule.__locatorRef;\r\n userTargets[param.name] = field.names[name] || name;\r\n userTargets[\"_\" + param.name + \"_\"] = field.crossTable[name];\r\n });\r\n return {\r\n userTargets: userTargets,\r\n userMessage: userMessage\r\n };\r\n}\r\nfunction _normalizeMessage(template, field, values) {\r\n if (typeof template === 'function') {\r\n return template(field, values);\r\n }\r\n return interpolate(template, __assign(__assign({}, values), { _field_: field }));\r\n}\r\nfunction fillTargetValues(params, crossTable) {\r\n if (Array.isArray(params)) {\r\n return params.map(function (param) {\r\n var targetPart = typeof param === 'string' && param[0] === '@' ? param.slice(1) : param;\r\n if (targetPart in crossTable) {\r\n return crossTable[targetPart];\r\n }\r\n return param;\r\n });\r\n }\r\n var values = {};\r\n var normalize = function (value) {\r\n if (isLocator(value)) {\r\n return value(crossTable);\r\n }\r\n return value;\r\n };\r\n Object.keys(params).forEach(function (param) {\r\n values[param] = normalize(params[param]);\r\n });\r\n return values;\r\n}\n\nvar aggressive = function () { return ({\r\n on: ['input', 'blur']\r\n}); };\r\nvar lazy = function () { return ({\r\n on: ['change', 'blur']\r\n}); };\r\nvar eager = function (_a) {\r\n var errors = _a.errors;\r\n if (errors.length) {\r\n return {\r\n on: ['input', 'change']\r\n };\r\n }\r\n return {\r\n on: ['change', 'blur']\r\n };\r\n};\r\nvar passive = function () { return ({\r\n on: []\r\n}); };\r\nvar modes = {\r\n aggressive: aggressive,\r\n eager: eager,\r\n passive: passive,\r\n lazy: lazy\r\n};\r\nvar setInteractionMode = function (mode, implementation) {\r\n setConfig({ mode: mode });\r\n if (!implementation) {\r\n return;\r\n }\r\n if (!isCallable(implementation)) {\r\n throw new Error('A mode implementation must be a function');\r\n }\r\n modes[mode] = implementation;\r\n};\n\nvar EVENT_BUS = new Vue();\r\nfunction localeChanged() {\r\n EVENT_BUS.$emit('change:locale');\r\n}\n\nvar Dictionary = /** @class */ (function () {\r\n function Dictionary(locale, dictionary) {\r\n this.container = {};\r\n this.locale = locale;\r\n this.merge(dictionary);\r\n }\r\n Dictionary.prototype.resolve = function (field, rule, values) {\r\n return this.format(this.locale, field, rule, values);\r\n };\r\n Dictionary.prototype.format = function (locale, field, rule, values) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n var message;\r\n // find if specific message for that field was specified.\r\n var fieldContainer = (_c = (_b = (_a = this.container[locale]) === null || _a === void 0 ? void 0 : _a.fields) === null || _b === void 0 ? void 0 : _b[field]) === null || _c === void 0 ? void 0 : _c[rule];\r\n var messageContainer = (_e = (_d = this.container[locale]) === null || _d === void 0 ? void 0 : _d.messages) === null || _e === void 0 ? void 0 : _e[rule];\r\n message = fieldContainer || messageContainer || '';\r\n if (!message) {\r\n message = '{_field_} is not valid';\r\n }\r\n field = (_h = (_g = (_f = this.container[locale]) === null || _f === void 0 ? void 0 : _f.names) === null || _g === void 0 ? void 0 : _g[field]) !== null && _h !== void 0 ? _h : field;\r\n return isCallable(message) ? message(field, values) : interpolate(message, __assign(__assign({}, values), { _field_: field }));\r\n };\r\n Dictionary.prototype.merge = function (dictionary) {\r\n merge(this.container, dictionary);\r\n };\r\n Dictionary.prototype.hasRule = function (name) {\r\n var _a, _b;\r\n return !!((_b = (_a = this.container[this.locale]) === null || _a === void 0 ? void 0 : _a.messages) === null || _b === void 0 ? void 0 : _b[name]);\r\n };\r\n return Dictionary;\r\n}());\r\nvar DICTIONARY;\r\nfunction localize(locale, dictionary) {\r\n var _a;\r\n if (!DICTIONARY) {\r\n DICTIONARY = new Dictionary('en', {});\r\n setConfig({\r\n defaultMessage: function (field, values) {\r\n return DICTIONARY.resolve(field, values === null || values === void 0 ? void 0 : values._rule_, values || {});\r\n }\r\n });\r\n }\r\n if (typeof locale === 'string') {\r\n DICTIONARY.locale = locale;\r\n if (dictionary) {\r\n DICTIONARY.merge((_a = {}, _a[locale] = dictionary, _a));\r\n }\r\n localeChanged();\r\n return;\r\n }\r\n DICTIONARY.merge(locale);\r\n}\n\nvar isEvent = function (evt) {\r\n if (!evt) {\r\n return false;\r\n }\r\n if (typeof Event !== 'undefined' && isCallable(Event) && evt instanceof Event) {\r\n return true;\r\n }\r\n // this is for IE\r\n /* istanbul ignore next */\r\n if (evt && evt.srcElement) {\r\n return true;\r\n }\r\n return false;\r\n};\r\nfunction normalizeEventValue(value) {\r\n var _a, _b;\r\n if (!isEvent(value)) {\r\n return value;\r\n }\r\n var input = value.target;\r\n if (input.type === 'file' && input.files) {\r\n return toArray(input.files);\r\n }\r\n // If the input has a `v-model.number` modifier applied.\r\n if ((_a = input._vModifiers) === null || _a === void 0 ? void 0 : _a.number) {\r\n // as per the spec the v-model.number uses parseFloat\r\n var valueAsNumber = parseFloat(input.value);\r\n if (isNaN(valueAsNumber)) {\r\n return input.value;\r\n }\r\n return valueAsNumber;\r\n }\r\n if ((_b = input._vModifiers) === null || _b === void 0 ? void 0 : _b.trim) {\r\n var trimmedValue = typeof input.value === 'string' ? input.value.trim() : input.value;\r\n return trimmedValue;\r\n }\r\n return input.value;\r\n}\n\nvar isTextInput = function (vnode) {\r\n var _a;\r\n var attrs = ((_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs) || vnode.elm;\r\n // it will fallback to being a text input per browsers spec.\r\n if (vnode.tag === 'input' && (!attrs || !attrs.type)) {\r\n return true;\r\n }\r\n if (vnode.tag === 'textarea') {\r\n return true;\r\n }\r\n return includes(['text', 'password', 'search', 'email', 'tel', 'url', 'number'], attrs === null || attrs === void 0 ? void 0 : attrs.type);\r\n};\r\n// export const isCheckboxOrRadioInput = (vnode: VNode): boolean => {\r\n// const attrs = (vnode.data && vnode.data.attrs) || vnode.elm;\r\n// return includes(['radio', 'checkbox'], attrs && attrs.type);\r\n// };\r\n// Gets the model object on the vnode.\r\nfunction findModel(vnode) {\r\n if (!vnode.data) {\r\n return undefined;\r\n }\r\n // Component Model\r\n // THIS IS NOT TYPED IN OFFICIAL VUE TYPINGS\r\n // eslint-disable-next-line\r\n var nonStandardVNodeData = vnode.data;\r\n if ('model' in nonStandardVNodeData) {\r\n return nonStandardVNodeData.model;\r\n }\r\n if (!vnode.data.directives) {\r\n return undefined;\r\n }\r\n return find(vnode.data.directives, function (d) { return d.name === 'model'; });\r\n}\r\nfunction findValue(vnode) {\r\n var _a, _b;\r\n var model = findModel(vnode);\r\n if (model) {\r\n return { value: model.value };\r\n }\r\n var config = findModelConfig(vnode);\r\n var prop = (config === null || config === void 0 ? void 0 : config.prop) || 'value';\r\n if (((_a = vnode.componentOptions) === null || _a === void 0 ? void 0 : _a.propsData) && prop in vnode.componentOptions.propsData) {\r\n var propsDataWithValue = vnode.componentOptions.propsData;\r\n return { value: propsDataWithValue[prop] };\r\n }\r\n if (((_b = vnode.data) === null || _b === void 0 ? void 0 : _b.domProps) && 'value' in vnode.data.domProps) {\r\n return { value: vnode.data.domProps.value };\r\n }\r\n return undefined;\r\n}\r\nfunction extractChildren(vnode) {\r\n if (Array.isArray(vnode)) {\r\n return vnode;\r\n }\r\n if (Array.isArray(vnode.children)) {\r\n return vnode.children;\r\n }\r\n /* istanbul ignore next */\r\n if (vnode.componentOptions && Array.isArray(vnode.componentOptions.children)) {\r\n return vnode.componentOptions.children;\r\n }\r\n return [];\r\n}\r\nfunction findInputNodes(vnode) {\r\n if (!Array.isArray(vnode) && findValue(vnode) !== undefined) {\r\n return [vnode];\r\n }\r\n var children = extractChildren(vnode);\r\n return children.reduce(function (nodes, node) {\r\n var candidates = findInputNodes(node);\r\n if (candidates.length) {\r\n nodes.push.apply(nodes, candidates);\r\n }\r\n return nodes;\r\n }, []);\r\n}\r\n// Resolves v-model config if exists.\r\nfunction findModelConfig(vnode) {\r\n /* istanbul ignore next */\r\n if (!vnode.componentOptions)\r\n return null;\r\n // This is also not typed in the standard Vue TS.\r\n return vnode.componentOptions.Ctor.options.model;\r\n}\r\n// Adds a listener to vnode listener object.\r\nfunction mergeVNodeListeners(obj, eventName, handler) {\r\n // no listener at all.\r\n if (isNullOrUndefined(obj[eventName])) {\r\n obj[eventName] = [handler];\r\n return;\r\n }\r\n // Is an invoker.\r\n if (isCallable(obj[eventName]) && obj[eventName].fns) {\r\n var invoker = obj[eventName];\r\n invoker.fns = Array.isArray(invoker.fns) ? invoker.fns : [invoker.fns];\r\n if (!includes(invoker.fns, handler)) {\r\n invoker.fns.push(handler);\r\n }\r\n return;\r\n }\r\n if (isCallable(obj[eventName])) {\r\n var prev = obj[eventName];\r\n obj[eventName] = [prev];\r\n }\r\n if (Array.isArray(obj[eventName]) && !includes(obj[eventName], handler)) {\r\n obj[eventName].push(handler);\r\n }\r\n}\r\n// Adds a listener to a native HTML vnode.\r\nfunction addNativeNodeListener(node, eventName, handler) {\r\n /* istanbul ignore next */\r\n if (!node.data) {\r\n node.data = {};\r\n }\r\n if (isNullOrUndefined(node.data.on)) {\r\n node.data.on = {};\r\n }\r\n mergeVNodeListeners(node.data.on, eventName, handler);\r\n}\r\n// Adds a listener to a Vue component vnode.\r\nfunction addComponentNodeListener(node, eventName, handler) {\r\n /* istanbul ignore next */\r\n if (!node.componentOptions) {\r\n return;\r\n }\r\n /* istanbul ignore next */\r\n if (!node.componentOptions.listeners) {\r\n node.componentOptions.listeners = {};\r\n }\r\n mergeVNodeListeners(node.componentOptions.listeners, eventName, handler);\r\n}\r\nfunction addVNodeListener(vnode, eventName, handler) {\r\n if (vnode.componentOptions) {\r\n addComponentNodeListener(vnode, eventName, handler);\r\n return;\r\n }\r\n addNativeNodeListener(vnode, eventName, handler);\r\n}\r\n// Determines if `change` should be used over `input` for listeners.\r\nfunction getInputEventName(vnode, model) {\r\n var _a;\r\n // Is a component.\r\n if (vnode.componentOptions) {\r\n var event_1 = (findModelConfig(vnode) || { event: 'input' }).event;\r\n return event_1;\r\n }\r\n // Lazy Models typically use change event\r\n if ((_a = model === null || model === void 0 ? void 0 : model.modifiers) === null || _a === void 0 ? void 0 : _a.lazy) {\r\n return 'change';\r\n }\r\n // is a textual-type input.\r\n if (isTextInput(vnode)) {\r\n return 'input';\r\n }\r\n return 'change';\r\n}\r\nfunction isHTMLNode(node) {\r\n return includes(['input', 'select', 'textarea'], node.tag);\r\n}\r\n// TODO: Type this one properly.\r\nfunction normalizeSlots(slots, ctx) {\r\n var acc = [];\r\n return Object.keys(slots).reduce(function (arr, key) {\r\n slots[key].forEach(function (vnode) {\r\n if (!vnode.context) {\r\n slots[key].context = ctx;\r\n if (!vnode.data) {\r\n vnode.data = {};\r\n }\r\n vnode.data.slot = key;\r\n }\r\n });\r\n return arr.concat(slots[key]);\r\n }, acc);\r\n}\r\nfunction resolveTextualRules(vnode) {\r\n var _a;\r\n var attrs = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs;\r\n var rules = {};\r\n if (!attrs)\r\n return rules;\r\n if (attrs.type === 'email' && RuleContainer.getRuleDefinition('email')) {\r\n rules.email = ['multiple' in attrs];\r\n }\r\n if (attrs.pattern && RuleContainer.getRuleDefinition('regex')) {\r\n rules.regex = attrs.pattern;\r\n }\r\n if (attrs.maxlength >= 0 && RuleContainer.getRuleDefinition('max')) {\r\n rules.max = attrs.maxlength;\r\n }\r\n if (attrs.minlength >= 0 && RuleContainer.getRuleDefinition('min')) {\r\n rules.min = attrs.minlength;\r\n }\r\n if (attrs.type === 'number') {\r\n if (isSpecified(attrs.min) && RuleContainer.getRuleDefinition('min_value')) {\r\n rules.min_value = Number(attrs.min);\r\n }\r\n if (isSpecified(attrs.max) && RuleContainer.getRuleDefinition('max_value')) {\r\n rules.max_value = Number(attrs.max);\r\n }\r\n }\r\n return rules;\r\n}\r\nfunction resolveRules(vnode) {\r\n var _a;\r\n var htmlTags = ['input', 'select', 'textarea'];\r\n var attrs = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs;\r\n if (!includes(htmlTags, vnode.tag) || !attrs) {\r\n return {};\r\n }\r\n var rules = {};\r\n if ('required' in attrs && attrs.required !== false && RuleContainer.getRuleDefinition('required')) {\r\n rules.required = attrs.type === 'checkbox' ? [true] : true;\r\n }\r\n if (isTextInput(vnode)) {\r\n return normalizeRules(__assign(__assign({}, rules), resolveTextualRules(vnode)));\r\n }\r\n return normalizeRules(rules);\r\n}\r\nfunction normalizeChildren(context, slotProps) {\r\n if (context.$scopedSlots.default) {\r\n return context.$scopedSlots.default(slotProps) || [];\r\n }\r\n return context.$slots.default || [];\r\n}\n\n/**\r\n * Determines if a provider needs to run validation.\r\n */\r\nfunction shouldValidate(ctx, value) {\r\n // when an immediate/initial validation is needed and wasn't done before.\r\n if (!ctx._ignoreImmediate && ctx.immediate) {\r\n return true;\r\n }\r\n // when the value changes for whatever reason.\r\n if (!isRefEqual(ctx.value, value) && ctx.normalizedEvents.length) {\r\n return true;\r\n }\r\n // when it needs validation due to props/cross-fields changes.\r\n if (ctx._needsValidation) {\r\n return true;\r\n }\r\n // when the initial value is undefined and the field wasn't rendered yet.\r\n if (!ctx.initialized && value === undefined) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction createValidationCtx(ctx) {\r\n return __assign(__assign({}, ctx.flags), { errors: ctx.errors, classes: ctx.classes, failedRules: ctx.failedRules, reset: function () { return ctx.reset(); }, validate: function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return ctx.validate.apply(ctx, args);\r\n }, ariaInput: {\r\n 'aria-invalid': ctx.flags.invalid ? 'true' : 'false',\r\n 'aria-required': ctx.isRequired ? 'true' : 'false',\r\n 'aria-errormessage': \"vee_\" + ctx.id\r\n }, ariaMsg: {\r\n id: \"vee_\" + ctx.id,\r\n 'aria-live': ctx.errors.length ? 'assertive' : 'off'\r\n } });\r\n}\r\nfunction onRenderUpdate(vm, value) {\r\n if (!vm.initialized) {\r\n vm.initialValue = value;\r\n }\r\n var validateNow = shouldValidate(vm, value);\r\n vm._needsValidation = false;\r\n vm.value = value;\r\n vm._ignoreImmediate = true;\r\n if (!validateNow) {\r\n return;\r\n }\r\n var validate = function () {\r\n if (vm.immediate || vm.flags.validated) {\r\n return triggerThreadSafeValidation(vm);\r\n }\r\n vm.validateSilent();\r\n };\r\n if (vm.initialized) {\r\n validate();\r\n return;\r\n }\r\n vm.$once('hook:mounted', function () { return validate(); });\r\n}\r\nfunction computeModeSetting(ctx) {\r\n var compute = (isCallable(ctx.mode) ? ctx.mode : modes[ctx.mode]);\r\n return compute(ctx);\r\n}\r\nfunction triggerThreadSafeValidation(vm) {\r\n var pendingPromise = vm.validateSilent();\r\n // avoids race conditions between successive validations.\r\n vm._pendingValidation = pendingPromise;\r\n return pendingPromise.then(function (result) {\r\n if (pendingPromise === vm._pendingValidation) {\r\n vm.applyResult(result);\r\n vm._pendingValidation = undefined;\r\n }\r\n return result;\r\n });\r\n}\r\n// Creates the common handlers for a validatable context.\r\nfunction createCommonHandlers(vm) {\r\n if (!vm.$veeOnInput) {\r\n vm.$veeOnInput = function (e) {\r\n vm.syncValue(e); // track and keep the value updated.\r\n vm.setFlags({ dirty: true, pristine: false });\r\n };\r\n }\r\n var onInput = vm.$veeOnInput;\r\n if (!vm.$veeOnBlur) {\r\n vm.$veeOnBlur = function () {\r\n vm.setFlags({ touched: true, untouched: false });\r\n };\r\n }\r\n // Blur event listener.\r\n var onBlur = vm.$veeOnBlur;\r\n var onValidate = vm.$veeHandler;\r\n var mode = computeModeSetting(vm);\r\n // Handle debounce changes.\r\n if (!onValidate || vm.$veeDebounce !== vm.debounce) {\r\n onValidate = debounce(function () {\r\n vm.$nextTick(function () {\r\n if (!vm._pendingReset) {\r\n triggerThreadSafeValidation(vm);\r\n }\r\n vm._pendingReset = false;\r\n });\r\n }, mode.debounce || vm.debounce);\r\n // Cache the handler so we don't create it each time.\r\n vm.$veeHandler = onValidate;\r\n // cache the debounce value so we detect if it was changed.\r\n vm.$veeDebounce = vm.debounce;\r\n }\r\n return { onInput: onInput, onBlur: onBlur, onValidate: onValidate };\r\n}\r\n// Adds all plugin listeners to the vnode.\r\nfunction addListeners(vm, node) {\r\n var value = findValue(node);\r\n // cache the input eventName.\r\n vm._inputEventName = vm._inputEventName || getInputEventName(node, findModel(node));\r\n onRenderUpdate(vm, value === null || value === void 0 ? void 0 : value.value);\r\n var _a = createCommonHandlers(vm), onInput = _a.onInput, onBlur = _a.onBlur, onValidate = _a.onValidate;\r\n addVNodeListener(node, vm._inputEventName, onInput);\r\n addVNodeListener(node, 'blur', onBlur);\r\n // add the validation listeners.\r\n vm.normalizedEvents.forEach(function (evt) {\r\n addVNodeListener(node, evt, onValidate);\r\n });\r\n vm.initialized = true;\r\n}\n\nvar PROVIDER_COUNTER = 0;\r\nfunction data() {\r\n var errors = [];\r\n var fieldName = '';\r\n var defaultValues = {\r\n errors: errors,\r\n value: undefined,\r\n initialized: false,\r\n initialValue: undefined,\r\n flags: createFlags(),\r\n failedRules: {},\r\n isActive: true,\r\n fieldName: fieldName,\r\n id: ''\r\n };\r\n return defaultValues;\r\n}\r\nvar ValidationProvider = Vue.extend({\r\n inject: {\r\n $_veeObserver: {\r\n from: '$_veeObserver',\r\n default: function () {\r\n if (!this.$vnode.context.$_veeObserver) {\r\n this.$vnode.context.$_veeObserver = createObserver();\r\n }\r\n return this.$vnode.context.$_veeObserver;\r\n }\r\n }\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: ''\r\n },\r\n name: {\r\n type: String,\r\n default: null\r\n },\r\n mode: {\r\n type: [String, Function],\r\n default: function () {\r\n return getConfig().mode;\r\n }\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: null\r\n },\r\n immediate: {\r\n type: Boolean,\r\n default: false\r\n },\r\n bails: {\r\n type: Boolean,\r\n default: function () { return getConfig().bails; }\r\n },\r\n skipIfEmpty: {\r\n type: Boolean,\r\n default: function () { return getConfig().skipOptional; }\r\n },\r\n debounce: {\r\n type: Number,\r\n default: 0\r\n },\r\n tag: {\r\n type: String,\r\n default: 'span'\r\n },\r\n slim: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n customMessages: {\r\n type: Object,\r\n default: function () {\r\n return {};\r\n }\r\n },\r\n detectInput: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n watch: {\r\n rules: {\r\n deep: true,\r\n handler: function (val, oldVal) {\r\n this._needsValidation = !isEqual(val, oldVal);\r\n }\r\n }\r\n },\r\n data: data,\r\n computed: {\r\n fieldDeps: function () {\r\n var _this = this;\r\n return Object.keys(this.normalizedRules).reduce(function (acc, rule) {\r\n var deps = extractLocators(_this.normalizedRules[rule]).map(function (dep) {\r\n return isLocator(dep) ? dep.__locatorRef : dep.slice(1);\r\n });\r\n acc.push.apply(acc, deps);\r\n deps.forEach(function (depName) {\r\n watchCrossFieldDep(_this, depName);\r\n });\r\n return acc;\r\n }, []);\r\n },\r\n normalizedEvents: function () {\r\n var _this = this;\r\n var on = computeModeSetting(this).on;\r\n return (on || []).map(function (e) {\r\n if (e === 'input') {\r\n return _this._inputEventName;\r\n }\r\n return e;\r\n });\r\n },\r\n isRequired: function () {\r\n var rules = __assign(__assign({}, this._resolvedRules), this.normalizedRules);\r\n var isRequired = Object.keys(rules).some(RuleContainer.isRequireRule);\r\n this.flags.required = !!isRequired;\r\n return isRequired;\r\n },\r\n classes: function () {\r\n var names = getConfig().classes;\r\n return computeClassObj(names, this.flags);\r\n },\r\n normalizedRules: function () {\r\n return normalizeRules(this.rules);\r\n }\r\n },\r\n mounted: function () {\r\n var _this = this;\r\n var onLocaleChanged = function () {\r\n if (!_this.flags.validated) {\r\n return;\r\n }\r\n var regenerateMap = _this._regenerateMap;\r\n if (regenerateMap) {\r\n var errors_1 = [];\r\n var failedRules_1 = {};\r\n Object.keys(regenerateMap).forEach(function (rule) {\r\n var msg = regenerateMap[rule]();\r\n errors_1.push(msg);\r\n failedRules_1[rule] = msg;\r\n });\r\n _this.applyResult({ errors: errors_1, failedRules: failedRules_1, regenerateMap: regenerateMap });\r\n return;\r\n }\r\n _this.validate();\r\n };\r\n EVENT_BUS.$on('change:locale', onLocaleChanged);\r\n this.$on('hook:beforeDestroy', function () {\r\n EVENT_BUS.$off('change:locale', onLocaleChanged);\r\n });\r\n },\r\n render: function (h) {\r\n var _this = this;\r\n this.registerField();\r\n var ctx = createValidationCtx(this);\r\n var children = normalizeChildren(this, ctx);\r\n // Automatic v-model detection\r\n if (this.detectInput) {\r\n var inputs = findInputNodes(children);\r\n if (inputs.length) {\r\n inputs.forEach(function (input, idx) {\r\n var _a, _b, _c, _d, _e, _f;\r\n // If the elements are not checkboxes and there are more input nodes\r\n if (!includes(['checkbox', 'radio'], (_b = (_a = input.data) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b.type) && idx > 0) {\r\n return;\r\n }\r\n var resolved = getConfig().useConstraintAttrs ? resolveRules(input) : {};\r\n if (!isEqual(_this._resolvedRules, resolved)) {\r\n _this._needsValidation = true;\r\n }\r\n if (isHTMLNode(input)) {\r\n _this.fieldName = ((_d = (_c = input.data) === null || _c === void 0 ? void 0 : _c.attrs) === null || _d === void 0 ? void 0 : _d.name) || ((_f = (_e = input.data) === null || _e === void 0 ? void 0 : _e.attrs) === null || _f === void 0 ? void 0 : _f.id);\r\n }\r\n _this._resolvedRules = resolved;\r\n addListeners(_this, input);\r\n });\r\n }\r\n }\r\n return this.slim && children.length <= 1 ? children[0] : h(this.tag, children);\r\n },\r\n beforeDestroy: function () {\r\n // cleanup reference.\r\n this.$_veeObserver.unobserve(this.id);\r\n },\r\n activated: function () {\r\n this.isActive = true;\r\n },\r\n deactivated: function () {\r\n this.isActive = false;\r\n },\r\n methods: {\r\n setFlags: function (flags) {\r\n var _this = this;\r\n Object.keys(flags).forEach(function (flag) {\r\n _this.flags[flag] = flags[flag];\r\n });\r\n },\r\n syncValue: function (v) {\r\n var value = normalizeEventValue(v);\r\n this.value = value;\r\n this.flags.changed = this.initialValue !== value;\r\n },\r\n reset: function () {\r\n var _this = this;\r\n this.errors = [];\r\n this.initialValue = this.value;\r\n var flags = createFlags();\r\n flags.required = this.isRequired;\r\n this.setFlags(flags);\r\n this.failedRules = {};\r\n this.validateSilent();\r\n this._pendingValidation = undefined;\r\n this._pendingReset = true;\r\n setTimeout(function () {\r\n _this._pendingReset = false;\r\n }, this.debounce);\r\n },\r\n validate: function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (args.length > 0) {\r\n this.syncValue(args[0]);\r\n }\r\n return [2 /*return*/, triggerThreadSafeValidation(this)];\r\n });\r\n });\r\n },\r\n validateSilent: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var rules, result;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.setFlags({ pending: true });\r\n rules = __assign(__assign({}, this._resolvedRules), this.normalizedRules);\r\n Object.defineProperty(rules, '_$$isNormalized', {\r\n value: true,\r\n writable: false,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n return [4 /*yield*/, validate(this.value, rules, __assign(__assign({ name: this.name || this.fieldName }, createLookup(this)), { bails: this.bails, skipIfEmpty: this.skipIfEmpty, isInitial: !this.initialized, customMessages: this.customMessages }))];\r\n case 1:\r\n result = _a.sent();\r\n this.setFlags({\r\n pending: false,\r\n valid: result.valid,\r\n invalid: !result.valid\r\n });\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n },\r\n setErrors: function (errors) {\r\n this.applyResult({ errors: errors, failedRules: {} });\r\n },\r\n applyResult: function (_a) {\r\n var errors = _a.errors, failedRules = _a.failedRules, regenerateMap = _a.regenerateMap;\r\n this.errors = errors;\r\n this._regenerateMap = regenerateMap;\r\n this.failedRules = __assign({}, (failedRules || {}));\r\n this.setFlags({\r\n valid: !errors.length,\r\n passed: !errors.length,\r\n invalid: !!errors.length,\r\n failed: !!errors.length,\r\n validated: true,\r\n changed: this.value !== this.initialValue\r\n });\r\n },\r\n registerField: function () {\r\n updateRenderingContextRefs(this);\r\n }\r\n }\r\n});\r\nfunction computeClassObj(names, flags) {\r\n var acc = {};\r\n var keys = Object.keys(flags);\r\n var length = keys.length;\r\n var _loop_1 = function (i) {\r\n var flag = keys[i];\r\n var className = (names && names[flag]) || flag;\r\n var value = flags[flag];\r\n if (isNullOrUndefined(value)) {\r\n return \"continue\";\r\n }\r\n if ((flag === 'valid' || flag === 'invalid') && !flags.validated) {\r\n return \"continue\";\r\n }\r\n if (typeof className === 'string') {\r\n acc[className] = value;\r\n }\r\n else if (Array.isArray(className)) {\r\n className.forEach(function (cls) {\r\n acc[cls] = value;\r\n });\r\n }\r\n };\r\n for (var i = 0; i < length; i++) {\r\n _loop_1(i);\r\n }\r\n return acc;\r\n}\r\nfunction createLookup(vm) {\r\n var providers = vm.$_veeObserver.refs;\r\n var reduced = {\r\n names: {},\r\n values: {}\r\n };\r\n return vm.fieldDeps.reduce(function (acc, depName) {\r\n if (!providers[depName]) {\r\n return acc;\r\n }\r\n acc.values[depName] = providers[depName].value;\r\n acc.names[depName] = providers[depName].name;\r\n return acc;\r\n }, reduced);\r\n}\r\nfunction extractId(vm) {\r\n if (vm.vid) {\r\n return vm.vid;\r\n }\r\n if (vm.name) {\r\n return vm.name;\r\n }\r\n if (vm.id) {\r\n return vm.id;\r\n }\r\n if (vm.fieldName) {\r\n return vm.fieldName;\r\n }\r\n PROVIDER_COUNTER++;\r\n return \"_vee_\" + PROVIDER_COUNTER;\r\n}\r\nfunction updateRenderingContextRefs(vm) {\r\n var providedId = extractId(vm);\r\n var id = vm.id;\r\n // Nothing has changed.\r\n if (!vm.isActive || (id === providedId && vm.$_veeObserver.refs[id])) {\r\n return;\r\n }\r\n // vid was changed.\r\n if (id !== providedId && vm.$_veeObserver.refs[id] === vm) {\r\n vm.$_veeObserver.unobserve(id);\r\n }\r\n vm.id = providedId;\r\n vm.$_veeObserver.observe(vm);\r\n}\r\nfunction createObserver() {\r\n return {\r\n refs: {},\r\n observe: function (vm) {\r\n this.refs[vm.id] = vm;\r\n },\r\n unobserve: function (id) {\r\n delete this.refs[id];\r\n }\r\n };\r\n}\r\nfunction watchCrossFieldDep(ctx, depName, withHooks) {\r\n if (withHooks === void 0) { withHooks = true; }\r\n var providers = ctx.$_veeObserver.refs;\r\n if (!ctx._veeWatchers) {\r\n ctx._veeWatchers = {};\r\n }\r\n if (!providers[depName] && withHooks) {\r\n return ctx.$once('hook:mounted', function () {\r\n watchCrossFieldDep(ctx, depName, false);\r\n });\r\n }\r\n if (!isCallable(ctx._veeWatchers[depName]) && providers[depName]) {\r\n ctx._veeWatchers[depName] = providers[depName].$watch('value', function () {\r\n if (ctx.flags.validated) {\r\n ctx._needsValidation = true;\r\n ctx.validate();\r\n }\r\n });\r\n }\r\n}\n\nvar FLAGS_STRATEGIES = [\r\n ['pristine', 'every'],\r\n ['dirty', 'some'],\r\n ['touched', 'some'],\r\n ['untouched', 'every'],\r\n ['valid', 'every'],\r\n ['invalid', 'some'],\r\n ['pending', 'some'],\r\n ['validated', 'every'],\r\n ['changed', 'some'],\r\n ['passed', 'every'],\r\n ['failed', 'some']\r\n];\r\nvar OBSERVER_COUNTER = 0;\r\nfunction data$1() {\r\n var refs = {};\r\n var errors = {};\r\n var flags = createObserverFlags();\r\n var fields = {};\r\n // FIXME: Not sure of this one can be typed, circular type reference.\r\n var observers = [];\r\n return {\r\n id: '',\r\n refs: refs,\r\n observers: observers,\r\n errors: errors,\r\n flags: flags,\r\n fields: fields\r\n };\r\n}\r\nfunction provideSelf() {\r\n return {\r\n $_veeObserver: this\r\n };\r\n}\r\nvar ValidationObserver = Vue.extend({\r\n name: 'ValidationObserver',\r\n provide: provideSelf,\r\n inject: {\r\n $_veeObserver: {\r\n from: '$_veeObserver',\r\n default: function () {\r\n if (!this.$vnode.context.$_veeObserver) {\r\n return null;\r\n }\r\n return this.$vnode.context.$_veeObserver;\r\n }\r\n }\r\n },\r\n props: {\r\n tag: {\r\n type: String,\r\n default: 'span'\r\n },\r\n vid: {\r\n type: String,\r\n default: function () {\r\n return \"obs_\" + OBSERVER_COUNTER++;\r\n }\r\n },\r\n slim: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data: data$1,\r\n created: function () {\r\n var _this = this;\r\n this.id = this.vid;\r\n register(this);\r\n var onChange = debounce(function (_a) {\r\n var errors = _a.errors, flags = _a.flags, fields = _a.fields;\r\n _this.errors = errors;\r\n _this.flags = flags;\r\n _this.fields = fields;\r\n }, 16);\r\n this.$watch(computeObserverState, onChange);\r\n },\r\n activated: function () {\r\n register(this);\r\n },\r\n deactivated: function () {\r\n unregister(this);\r\n },\r\n beforeDestroy: function () {\r\n unregister(this);\r\n },\r\n render: function (h) {\r\n var children = normalizeChildren(this, prepareSlotProps(this));\r\n return this.slim && children.length <= 1 ? children[0] : h(this.tag, { on: this.$listeners }, children);\r\n },\r\n methods: {\r\n observe: function (subscriber, kind) {\r\n var _a;\r\n if (kind === void 0) { kind = 'provider'; }\r\n if (kind === 'observer') {\r\n this.observers.push(subscriber);\r\n return;\r\n }\r\n this.refs = __assign(__assign({}, this.refs), (_a = {}, _a[subscriber.id] = subscriber, _a));\r\n },\r\n unobserve: function (id, kind) {\r\n if (kind === void 0) { kind = 'provider'; }\r\n if (kind === 'provider') {\r\n var provider = this.refs[id];\r\n if (!provider) {\r\n return;\r\n }\r\n this.$delete(this.refs, id);\r\n return;\r\n }\r\n var idx = findIndex(this.observers, function (o) { return o.id === id; });\r\n if (idx !== -1) {\r\n this.observers.splice(idx, 1);\r\n }\r\n },\r\n validateWithInfo: function (_a) {\r\n var _b = (_a === void 0 ? {} : _a).silent, silent = _b === void 0 ? false : _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var results, isValid, _c, errors, flags, fields;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0: return [4 /*yield*/, Promise.all(__spreadArrays(values(this.refs)\r\n .filter(function (r) { return !r.disabled; })\r\n .map(function (ref) { return ref[silent ? 'validateSilent' : 'validate']().then(function (r) { return r.valid; }); }), this.observers.filter(function (o) { return !o.disabled; }).map(function (obs) { return obs.validate({ silent: silent }); })))];\r\n case 1:\r\n results = _d.sent();\r\n isValid = results.every(function (r) { return r; });\r\n _c = computeObserverState.call(this), errors = _c.errors, flags = _c.flags, fields = _c.fields;\r\n this.errors = errors;\r\n this.flags = flags;\r\n this.fields = fields;\r\n return [2 /*return*/, {\r\n errors: errors,\r\n flags: flags,\r\n fields: fields,\r\n isValid: isValid\r\n }];\r\n }\r\n });\r\n });\r\n },\r\n validate: function (_a) {\r\n var _b = (_a === void 0 ? {} : _a).silent, silent = _b === void 0 ? false : _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var isValid;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0: return [4 /*yield*/, this.validateWithInfo({ silent: silent })];\r\n case 1:\r\n isValid = (_c.sent()).isValid;\r\n return [2 /*return*/, isValid];\r\n }\r\n });\r\n });\r\n },\r\n handleSubmit: function (cb) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var isValid;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validate()];\r\n case 1:\r\n isValid = _a.sent();\r\n if (!isValid || !cb) {\r\n return [2 /*return*/];\r\n }\r\n return [2 /*return*/, cb()];\r\n }\r\n });\r\n });\r\n },\r\n reset: function () {\r\n return __spreadArrays(values(this.refs), this.observers).forEach(function (ref) { return ref.reset(); });\r\n },\r\n setErrors: function (errors) {\r\n var _this = this;\r\n Object.keys(errors).forEach(function (key) {\r\n var provider = _this.refs[key];\r\n if (!provider)\r\n return;\r\n var errorArr = errors[key] || [];\r\n errorArr = typeof errorArr === 'string' ? [errorArr] : errorArr;\r\n provider.setErrors(errorArr);\r\n });\r\n this.observers.forEach(function (observer) {\r\n observer.setErrors(errors);\r\n });\r\n }\r\n }\r\n});\r\nfunction unregister(vm) {\r\n if (vm.$_veeObserver) {\r\n vm.$_veeObserver.unobserve(vm.id, 'observer');\r\n }\r\n}\r\nfunction register(vm) {\r\n if (vm.$_veeObserver) {\r\n vm.$_veeObserver.observe(vm, 'observer');\r\n }\r\n}\r\nfunction prepareSlotProps(vm) {\r\n return __assign(__assign({}, vm.flags), { errors: vm.errors, fields: vm.fields, validate: vm.validate, validateWithInfo: vm.validateWithInfo, passes: vm.handleSubmit, handleSubmit: vm.handleSubmit, reset: vm.reset });\r\n}\r\n// Creates a modified version of validation flags\r\nfunction createObserverFlags() {\r\n return __assign(__assign({}, createFlags()), { valid: true, invalid: false });\r\n}\r\nfunction computeObserverState() {\r\n var vms = __spreadArrays(values(this.refs), this.observers.filter(function (o) { return !o.disabled; }));\r\n var errors = {};\r\n var flags = createObserverFlags();\r\n var fields = {};\r\n var length = vms.length;\r\n for (var i = 0; i < length; i++) {\r\n var vm = vms[i];\r\n // validation provider\r\n if (Array.isArray(vm.errors)) {\r\n errors[vm.id] = vm.errors;\r\n fields[vm.id] = __assign({ id: vm.id, name: vm.name, failedRules: vm.failedRules }, vm.flags);\r\n continue;\r\n }\r\n // Nested observer, merge errors and fields\r\n errors = __assign(__assign({}, errors), vm.errors);\r\n fields = __assign(__assign({}, fields), vm.fields);\r\n }\r\n FLAGS_STRATEGIES.forEach(function (_a) {\r\n var flag = _a[0], method = _a[1];\r\n flags[flag] = vms[method](function (vm) { return vm.flags[flag]; });\r\n });\r\n return { errors: errors, flags: flags, fields: fields };\r\n}\n\nfunction withValidation(component, mapProps) {\r\n var _a;\r\n if (mapProps === void 0) { mapProps = identity; }\r\n var options = 'options' in component ? component.options : component;\r\n var providerOpts = ValidationProvider.options;\r\n var hoc = {\r\n name: (options.name || 'AnonymousHoc') + \"WithValidation\",\r\n props: __assign({}, providerOpts.props),\r\n data: providerOpts.data,\r\n computed: __assign({}, providerOpts.computed),\r\n methods: __assign({}, providerOpts.methods),\r\n beforeDestroy: providerOpts.beforeDestroy,\r\n inject: providerOpts.inject\r\n };\r\n var eventName = ((_a = options === null || options === void 0 ? void 0 : options.model) === null || _a === void 0 ? void 0 : _a.event) || 'input';\r\n hoc.render = function (h) {\r\n var _a;\r\n this.registerField();\r\n var vctx = createValidationCtx(this);\r\n var listeners = __assign({}, this.$listeners);\r\n var model = findModel(this.$vnode);\r\n this._inputEventName = this._inputEventName || getInputEventName(this.$vnode, model);\r\n var value = findValue(this.$vnode);\r\n onRenderUpdate(this, value === null || value === void 0 ? void 0 : value.value);\r\n var _b = createCommonHandlers(this), onInput = _b.onInput, onBlur = _b.onBlur, onValidate = _b.onValidate;\r\n mergeVNodeListeners(listeners, eventName, onInput);\r\n mergeVNodeListeners(listeners, 'blur', onBlur);\r\n this.normalizedEvents.forEach(function (evt) {\r\n mergeVNodeListeners(listeners, evt, onValidate);\r\n });\r\n // Props are any attrs not associated with ValidationProvider Plus the model prop.\r\n // WARNING: Accidental prop overwrite will probably happen.\r\n var prop = (findModelConfig(this.$vnode) || { prop: 'value' }).prop;\r\n var props = __assign(__assign(__assign({}, this.$attrs), (_a = {}, _a[prop] = model === null || model === void 0 ? void 0 : model.value, _a)), mapProps(vctx));\r\n return h(options, {\r\n attrs: this.$attrs,\r\n props: props,\r\n on: listeners,\r\n scopedSlots: this.$scopedSlots\r\n }, normalizeSlots(this.$slots, this.$vnode.context));\r\n };\r\n return hoc;\r\n}\n\nvar version = '3.4.5';\n\nexport { ValidationObserver, ValidationProvider, configure, extend, localeChanged, localize, normalizeRules, setInteractionMode, validate, version, withValidation };\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } 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 right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","/**\n * vee-validate v3.4.5\n * (c) 2020 Abdelrahman Awad\n * @license MIT\n */\n/**\r\n * Some Alpha Regex helpers.\r\n * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js\r\n */\r\n/* eslint-disable no-misleading-character-class */\r\nvar alpha = {\r\n en: /^[A-Z]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[A-ZÆØÅ]*$/i,\r\n de: /^[A-ZÄÖÜß]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ro: /^[A-ZĂÂÎŞŢ]*$/i,\r\n ru: /^[А-ЯЁ]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[A-ZÅÄÖ]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ]*$/i,\r\n el: /^[Α-ώ]*$/i\r\n};\r\nvar alphaSpaces = {\r\n en: /^[A-Z\\s]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\\s]*$/i,\r\n da: /^[A-ZÆØÅ\\s]*$/i,\r\n de: /^[A-ZÄÖÜß\\s]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ\\s]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\\s]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF\\s]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ\\s]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ\\s]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ\\s]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ\\s]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\\s]*$/i,\r\n ro: /^[A-ZĂÂÎŞŢ\\s]*$/i,\r\n ru: /^[А-ЯЁ\\s]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\\s]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ\\s]*$/i,\r\n sv: /^[A-ZÅÄÖ\\s]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ\\s]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ\\s]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\\s]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ\\s]*$/i,\r\n el: /^[Α-ώ\\s]*$/i\r\n};\r\nvar alphanumeric = {\r\n en: /^[0-9A-Z]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[0-9A-ZÆØÅ]$/i,\r\n de: /^[0-9A-ZÄÖÜß]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ro: /^[0-9A-ZĂÂÎŞŢ]*$/i,\r\n ru: /^[0-9А-ЯЁ]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ]*$/i,\r\n el: /^[0-9Α-ώ]*$/i\r\n};\r\nvar alphaDash = {\r\n en: /^[0-9A-Z_-]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,\r\n da: /^[0-9A-ZÆØÅ_-]*$/i,\r\n de: /^[0-9A-ZÄÖÜß_-]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF_-]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ_-]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,\r\n ro: /^[0-9A-ZĂÂÎŞŢ_-]*$/i,\r\n ru: /^[0-9А-ЯЁ_-]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ_-]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ_-]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i,\r\n el: /^[0-9Α-ώ_-]*$/i\r\n};\n\nvar validate = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alpha).some(function (loc) { return alpha[loc].test(value); });\r\n }\r\n return (alpha[locale] || alpha.en).test(value);\r\n};\r\nvar params = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha$1 = {\r\n validate: validate,\r\n params: params\r\n};\n\nvar validate$1 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$1(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); });\r\n }\r\n return (alphaDash[locale] || alphaDash.en).test(value);\r\n};\r\nvar params$1 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_dash = {\r\n validate: validate$1,\r\n params: params$1\r\n};\n\nvar validate$2 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$2(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); });\r\n }\r\n return (alphanumeric[locale] || alphanumeric.en).test(value);\r\n};\r\nvar params$2 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_num = {\r\n validate: validate$2,\r\n params: params$2\r\n};\n\nvar validate$3 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$3(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); });\r\n }\r\n return (alphaSpaces[locale] || alphaSpaces.en).test(value);\r\n};\r\nvar params$3 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_spaces = {\r\n validate: validate$3,\r\n params: params$3\r\n};\n\nvar validate$4 = function (value, _a) {\r\n var _b = _a === void 0 ? {} : _a, min = _b.min, max = _b.max;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return !!validate$4(val, { min: min, max: max }); });\r\n }\r\n return Number(min) <= value && Number(max) >= value;\r\n};\r\nvar params$4 = [\r\n {\r\n name: 'min'\r\n },\r\n {\r\n name: 'max'\r\n }\r\n];\r\nvar between = {\r\n validate: validate$4,\r\n params: params$4\r\n};\n\nvar validate$5 = function (value, _a) {\r\n var target = _a.target;\r\n return String(value) === String(target);\r\n};\r\nvar params$5 = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n }\r\n];\r\nvar confirmed = {\r\n validate: validate$5,\r\n params: params$5\r\n};\n\nvar validate$6 = function (value, _a) {\r\n var length = _a.length;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$6(val, { length: length }); });\r\n }\r\n var strVal = String(value);\r\n return /^[0-9]*$/.test(strVal) && strVal.length === length;\r\n};\r\nvar params$6 = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar digits = {\r\n validate: validate$6,\r\n params: params$6\r\n};\n\nvar validateImage = function (file, width, height) {\r\n var URL = window.URL || window.webkitURL;\r\n return new Promise(function (resolve) {\r\n var image = new Image();\r\n image.onerror = function () { return resolve(false); };\r\n image.onload = function () { return resolve(image.width === width && image.height === height); };\r\n image.src = URL.createObjectURL(file);\r\n });\r\n};\r\nvar validate$7 = function (files, _a) {\r\n var width = _a.width, height = _a.height;\r\n var list = [];\r\n files = Array.isArray(files) ? files : [files];\r\n for (var i = 0; i < files.length; i++) {\r\n // if file is not an image, reject.\r\n if (!/\\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(files[i].name)) {\r\n return Promise.resolve(false);\r\n }\r\n list.push(files[i]);\r\n }\r\n return Promise.all(list.map(function (file) { return validateImage(file, width, height); })).then(function (values) {\r\n return values.every(function (v) { return v; });\r\n });\r\n};\r\nvar params$7 = [\r\n {\r\n name: 'width',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n },\r\n {\r\n name: 'height',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar dimensions = {\r\n validate: validate$7,\r\n params: params$7\r\n};\n\nvar validate$8 = function (value, _a) {\r\n var multiple = (_a === void 0 ? {} : _a).multiple;\r\n // eslint-disable-next-line\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (multiple && !Array.isArray(value)) {\r\n value = String(value)\r\n .split(',')\r\n .map(function (emailStr) { return emailStr.trim(); });\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return re.test(String(val)); });\r\n }\r\n return re.test(String(value));\r\n};\r\nvar params$8 = [\r\n {\r\n name: 'multiple',\r\n default: false\r\n }\r\n];\r\nvar email = {\r\n validate: validate$8,\r\n params: params$8\r\n};\n\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\n\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\n\nvar validate$9 = function (value, options) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$9(val, options); });\r\n }\r\n return toArray(options).some(function (item) {\r\n // eslint-disable-next-line\r\n return item == value;\r\n });\r\n};\r\nvar oneOf = {\r\n validate: validate$9\r\n};\n\nvar validate$a = function (value, args) {\r\n return !validate$9(value, args);\r\n};\r\nvar excluded = {\r\n validate: validate$a\r\n};\n\nvar validate$b = function (files, extensions) {\r\n var regex = new RegExp(\".(\" + extensions.join('|') + \")$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar ext = {\r\n validate: validate$b\r\n};\n\nvar validate$c = function (files) {\r\n var regex = /\\.(jpg|svg|jpeg|png|bmp|gif|webp)$/i;\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar image = {\r\n validate: validate$c\r\n};\n\nvar validate$d = function (value) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); });\r\n }\r\n return /^-?[0-9]+$/.test(String(value));\r\n};\r\nvar integer = {\r\n validate: validate$d\r\n};\n\nvar validate$e = function (value, _a) {\r\n var other = _a.other;\r\n return value === other;\r\n};\r\nvar params$9 = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is = {\r\n validate: validate$e,\r\n params: params$9\r\n};\n\nvar validate$f = function (value, _a) {\r\n var other = _a.other;\r\n return value !== other;\r\n};\r\nvar params$a = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is_not = {\r\n validate: validate$f,\r\n params: params$a\r\n};\n\nvar validate$g = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (typeof value === 'string') {\r\n value = toArray(value);\r\n }\r\n if (typeof value === 'number') {\r\n value = String(value);\r\n }\r\n if (!value.length) {\r\n value = toArray(value);\r\n }\r\n return value.length === length;\r\n};\r\nvar params$b = [\r\n {\r\n name: 'length',\r\n cast: function (value) { return Number(value); }\r\n }\r\n];\r\nvar length = {\r\n validate: validate$g,\r\n params: params$b\r\n};\n\nvar validate$h = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return length >= 0;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$h(val, { length: length }); });\r\n }\r\n return String(value).length <= length;\r\n};\r\nvar params$c = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max = {\r\n validate: validate$h,\r\n params: params$c\r\n};\n\nvar validate$i = function (value, _a) {\r\n var max = _a.max;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$i(val, { max: max }); });\r\n }\r\n return Number(value) <= max;\r\n};\r\nvar params$d = [\r\n {\r\n name: 'max',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max_value = {\r\n validate: validate$i,\r\n params: params$d\r\n};\n\nvar validate$j = function (files, mimes) {\r\n var regex = new RegExp(mimes.join('|').replace('*', '.+') + \"$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.type); });\r\n }\r\n return regex.test(files.type);\r\n};\r\nvar mimes = {\r\n validate: validate$j\r\n};\n\nvar validate$k = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$k(val, { length: length }); });\r\n }\r\n return String(value).length >= length;\r\n};\r\nvar params$e = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min = {\r\n validate: validate$k,\r\n params: params$e\r\n};\n\nvar validate$l = function (value, _a) {\r\n var min = _a.min;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$l(val, { min: min }); });\r\n }\r\n return Number(value) >= min;\r\n};\r\nvar params$f = [\r\n {\r\n name: 'min',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min_value = {\r\n validate: validate$l,\r\n params: params$f\r\n};\n\nvar ar = /^[٠١٢٣٤٥٦٧٨٩]+$/;\r\nvar en = /^[0-9]+$/;\r\nvar validate$m = function (value) {\r\n var testValue = function (val) {\r\n var strValue = String(val);\r\n return en.test(strValue) || ar.test(strValue);\r\n };\r\n if (Array.isArray(value)) {\r\n return value.every(testValue);\r\n }\r\n return testValue(value);\r\n};\r\nvar numeric = {\r\n validate: validate$m\r\n};\n\nvar validate$n = function (value, _a) {\r\n var regex = _a.regex;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$n(val, { regex: regex }); });\r\n }\r\n return regex.test(String(value));\r\n};\r\nvar params$g = [\r\n {\r\n name: 'regex',\r\n cast: function (value) {\r\n if (typeof value === 'string') {\r\n return new RegExp(value);\r\n }\r\n return value;\r\n }\r\n }\r\n];\r\nvar regex = {\r\n validate: validate$n,\r\n params: params$g\r\n};\n\nvar validate$o = function (value, _a) {\r\n var allowFalse = (_a === void 0 ? { allowFalse: true } : _a).allowFalse;\r\n var result = {\r\n valid: false,\r\n required: true\r\n };\r\n if (isNullOrUndefined(value) || isEmptyArray(value)) {\r\n return result;\r\n }\r\n // incase a field considers `false` as an empty value like checkboxes.\r\n if (value === false && !allowFalse) {\r\n return result;\r\n }\r\n result.valid = !!String(value).trim().length;\r\n return result;\r\n};\r\nvar computesRequired = true;\r\nvar params$h = [\r\n {\r\n name: 'allowFalse',\r\n default: true\r\n }\r\n];\r\nvar required = {\r\n validate: validate$o,\r\n params: params$h,\r\n computesRequired: computesRequired\r\n};\n\nvar testEmpty = function (value) {\r\n return isEmptyArray(value) || includes([false, null, undefined], value) || !String(value).trim().length;\r\n};\r\nvar validate$p = function (value, _a) {\r\n var target = _a.target, values = _a.values;\r\n var required;\r\n if (values && values.length) {\r\n if (!Array.isArray(values) && typeof values === 'string') {\r\n values = [values];\r\n }\r\n // eslint-disable-next-line\r\n required = values.some(function (val) { return val == String(target).trim(); });\r\n }\r\n else {\r\n required = !testEmpty(target);\r\n }\r\n if (!required) {\r\n return {\r\n valid: true,\r\n required: required\r\n };\r\n }\r\n return {\r\n valid: !testEmpty(value),\r\n required: required\r\n };\r\n};\r\nvar params$i = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n },\r\n {\r\n name: 'values'\r\n }\r\n];\r\nvar computesRequired$1 = true;\r\nvar required_if = {\r\n validate: validate$p,\r\n params: params$i,\r\n computesRequired: computesRequired$1\r\n};\n\nvar validate$q = function (files, _a) {\r\n var size = _a.size;\r\n if (isNaN(size)) {\r\n return false;\r\n }\r\n var nSize = size * 1024;\r\n if (!Array.isArray(files)) {\r\n return files.size <= nSize;\r\n }\r\n for (var i = 0; i < files.length; i++) {\r\n if (files[i].size > nSize) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\nvar params$j = [\r\n {\r\n name: 'size',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar size = {\r\n validate: validate$q,\r\n params: params$j\r\n};\n\nvar validate$r = function (value, params) {\r\n var _a = params || {}, _b = _a.decimals, decimals = _b === void 0 ? 0 : _b, _c = _a.separator, separator = _c === void 0 ? 'dot' : _c;\r\n var separators = {\r\n dot: '.',\r\n comma: ','\r\n };\r\n var regexPart = +decimals === 0 ? '+' : \"{\" + decimals + \"}\";\r\n var regex = new RegExp(\"^-?\\\\d+\\\\\" + (separators[separator] || '.') + \"\\\\d\" + regexPart + \"$\");\r\n return Array.isArray(value) ? value.every(function (val) { return regex.test(String(val)); }) : regex.test(String(value));\r\n};\r\nvar params$k = [\r\n {\r\n name: 'decimals',\r\n default: 0\r\n },\r\n {\r\n name: 'separator',\r\n default: 'dot'\r\n }\r\n];\r\nvar double = {\r\n validate: validate$r,\r\n params: params$k\r\n};\n\nexport { alpha$1 as alpha, alpha_dash, alpha_num, alpha_spaces, between, confirmed, digits, dimensions, double, email, excluded, ext, image, integer, is, is_not, length, max, max_value, mimes, min, min_value, numeric, oneOf, regex, required, required_if, size };\n","export const validatorPositive = value => {\r\n if (value >= 0) {\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nexport const validatorPassword = password => {\r\n /* eslint-disable no-useless-escape */\r\n const regExp = /(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%&*()]).{8,}/\r\n /* eslint-enable no-useless-escape */\r\n const validPassword = regExp.test(password)\r\n return validPassword\r\n}\r\n\r\nexport const validatorCreditCard = creditnum => {\r\n /* eslint-disable no-useless-escape */\r\n const cRegExp = /^(?:3[47][0-9]{13})$/\r\n /* eslint-enable no-useless-escape */\r\n const validCreditCard = cRegExp.test(creditnum)\r\n return validCreditCard\r\n}\r\n\r\nexport const validatorUrlValidator = val => {\r\n if (val === undefined || val === null || val.length === 0) {\r\n return true\r\n }\r\n /* eslint-disable no-useless-escape */\r\n const re = /^(http[s]?:\\/\\/){0,1}(www\\.){0,1}[a-zA-Z0-9\\.\\-]+\\.[a-zA-Z]{2,5}[\\.]{0,1}/\r\n /* eslint-enable no-useless-escape */\r\n return re.test(val)\r\n}\r\n","import { extend, localize } from 'vee-validate'\r\nimport {\r\n required as rule_required,\r\n email as rule_email,\r\n min as rule_min,\r\n confirmed as rule_confirmed,\r\n regex as rule_regex,\r\n between as rule_between,\r\n alpha as rule_alpha,\r\n integer as rule_integer,\r\n digits as rule_digits,\r\n alpha_dash as rule_alpha_dash,\r\n alpha_num as rule_alpha_num,\r\n length as rule_length,\r\n} from 'vee-validate/dist/rules'\r\nimport ar from 'vee-validate/dist/locale/ar.json'\r\nimport en from 'vee-validate/dist/locale/en.json'\r\n\r\n// eslint-disable-next-line object-curly-newline\r\nimport { validatorPositive, validatorUrlValidator, validatorPassword, validatorCreditCard } from './validators'\r\n\r\n// ////////////////////////////////////////////////////////\r\n// General\r\n// ////////////////////////////////////////////////////////\r\n\r\nexport const required = extend('required', rule_required)\r\n\r\nexport const email = extend('email', rule_email)\r\n\r\nexport const min = extend('min', rule_min)\r\n\r\nexport const confirmed = extend('confirmed', rule_confirmed)\r\n\r\nexport const regex = extend('regex', rule_regex)\r\n\r\nexport const between = extend('between', rule_between)\r\n\r\nexport const alpha = extend('alpha', rule_alpha)\r\n\r\nexport const integer = extend('integer', rule_integer)\r\n\r\nexport const digits = extend('digits', rule_digits)\r\n\r\nexport const alphaDash = extend('alpha-dash', rule_alpha_dash)\r\n\r\nexport const alphaNum = extend('alpha-num', rule_alpha_num)\r\n\r\nexport const length = extend('length', rule_length)\r\n\r\nexport const positive = extend('positive', {\r\n validate: validatorPositive,\r\n message: 'Please enter positive number!',\r\n})\r\n\r\nexport const credit = extend('credit-card', {\r\n validate: validatorCreditCard,\r\n message: 'It is not valid credit card!',\r\n})\r\n\r\nexport const password = extend('password', {\r\n validate: validatorPassword,\r\n message: 'Your {_field_} must contain at least one uppercase, one lowercase, one special character and one digit',\r\n})\r\n\r\nexport const url = extend('url', {\r\n validate: validatorUrlValidator,\r\n message: 'URL is invalid',\r\n})\r\n\r\n// Install English and Arabic localizations.\r\nlocalize({\r\n en: {\r\n messages: en.messages,\r\n names: {\r\n email: 'Email',\r\n password: 'Password',\r\n },\r\n fields: {\r\n password: {\r\n min: '{_field_} is too short, you want to get hacked?',\r\n },\r\n },\r\n },\r\n ar: {\r\n messages: ar.messages,\r\n names: {\r\n email: 'البريد الإلكتروني',\r\n password: 'كلمة السر',\r\n },\r\n fields: {\r\n password: {\r\n min: 'كلمة السر قصيرة جداً سيتم اختراقك',\r\n },\r\n },\r\n },\r\n})\r\n// ////////////////////////////////////////////////////////\r\n// NOTE:\r\n// Quasar validation for reference only\r\n// Remove this note once development is finished and make sure to\r\n// to convert all of them in veevalidate version\r\n// ////////////////////////////////////////////////////////\r\n\r\n// export const required = (val) => {\r\n// return (val && val.length > 0) || '*Field is required'\r\n// }\r\n\r\n// export const required_obj = (obj) => {\r\n// if (obj === null || obj === undefined) return '*Field is required'\r\n// return (Object.entries(obj).length > 0 && obj.constructor === Object) || '*Field is required'\r\n// }\r\n\r\n// export const no_blank_spaces_arr = (arr) => {\r\n// return arr.every(val => (val.trim() && val.trim().length > 0)) || 'Blank Spaces are not allowed'\r\n// }\r\n\r\n// export const url = val => {\r\n// // If blank return\r\n// if (val === undefined || val === null || val.length === 0) return true\r\n\r\n// // Used\r\n// // https://stackoverflow.com/questions/4314741/url-regex-validation\r\n\r\n// // Other\r\n// // https://stackoverflow.com/questions/5717093/check-if-a-javascript-string-is-a-url\r\n// // https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\r\n// // https://www.geeksforgeeks.org/how-to-validate-url-using-regular-expression-in-javascript/\r\n\r\n// /* eslint-disable no-useless-escape */\r\n// const re = /^(http[s]?:\\/\\/){0,1}(www\\.){0,1}[a-zA-Z0-9\\.\\-]+\\.[a-zA-Z]{2,5}[\\.]{0,1}/\r\n// /* eslint-enable no-useless-escape */\r\n// return re.test(val) || 'URL is invalid'\r\n// }\r\n\r\n// export const date = val => {\r\n\r\n// // If blank return\r\n// if (val === undefined || val === null || val.length === 0) return true\r\n\r\n// // https://github.com/quasarframework/quasar/blob/dev/ui/src/utils/patterns.js\r\n// return /^-?[\\d]+\\/[0-1]\\d\\/[0-3]\\d$/.test(val) || 'Date is invalid'\r\n// }\r\n\r\n// export const max = (val, max) => {\r\n\r\n// // If blank return\r\n// if (val === undefined || val === null) return true\r\n\r\n// return val.length <= max || `More than ${max} characters are not allowed`\r\n// }\r\n\r\n// export const max_arr = (val, max) => {\r\n// return val.length <= max || `More than ${max} values are not allowed`\r\n// }\r\n\r\n// export const min = (val, min) => {\r\n\r\n// // If blank return\r\n// if (val === undefined || val === null || val.length === 0) return true\r\n\r\n// return val.length >= min || `Minimum ${min} characters are required`\r\n// }\r\n\r\n// export const num_range = (val, min, max) => {\r\n\r\n// // If blank return\r\n// if (val === undefined || val === null || val.length === 0) return true\r\n\r\n// const msg = 'Value is invalid'\r\n// if (min === null) return val <= max || msg\r\n// else if (max === null) return val >= min || msg\r\n// else return (val >= min && val <= max) || msg\r\n// }\r\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 { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\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_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});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { NAME_PAGINATION } from '../constants/components';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_FUNCTION_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { SLOT_NAME_ELLIPSIS_TEXT, SLOT_NAME_FIRST_TEXT, SLOT_NAME_LAST_TEXT, SLOT_NAME_NEXT_TEXT, SLOT_NAME_PAGE, SLOT_NAME_PREV_TEXT } from '../constants/slots';\nimport { createArray } from '../utils/array';\nimport { attemptFocus, getActiveElement, getAttr, isDisabled, isVisible, selectAll } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { isFunction, isNull } from '../utils/inspect';\nimport { mathFloor, mathMax, mathMin } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string';\nimport { warn } from '../utils/warn';\nimport { normalizeSlotMixin } from '../mixins/normalize-slot';\nimport { BLink } from '../components/link/link'; // Common props, computed, data, render function, and methods\n// for `` and ``\n// --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: null,\n\n /* istanbul ignore next */\n validator: function validator(value) {\n if (!isNull(value) && toInteger(value, 0) < 1) {\n warn('\"v-model\" value must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }\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 }; // Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // --- Helper methods ---\n// Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n return createArray(numberOfPages, function (_, i) {\n return {\n number: startNumber + i,\n classes: null\n };\n });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(value) {\n var limit = toInteger(value) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n var page = toInteger(val) || 1;\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(event) {\n if (event.keyCode === CODE_SPACE) {\n // Stop page from scrolling\n stopEvent(event, {\n immediatePropagation: true\n }); // Trigger the click event on the link\n\n event.currentTarget.click();\n return false;\n }\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n align: makeProp(PROP_TYPE_STRING, 'left'),\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n ellipsisText: makeProp(PROP_TYPE_STRING, \"\\u2026\"),\n // '…'\n firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n firstText: makeProp(PROP_TYPE_STRING, \"\\xAB\"),\n // '«'\n hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),\n hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),\n labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),\n labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),\n labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),\n labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),\n labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),\n lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n lastText: makeProp(PROP_TYPE_STRING, \"\\xBB\"),\n // '»'\n limit: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_LIMIT,\n /* istanbul ignore next */\n function (value) {\n if (toInteger(value, 0) < 1) {\n warn('Prop \"limit\" must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }),\n nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n nextText: makeProp(PROP_TYPE_STRING, \"\\u203A\"),\n // '›'\n pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n prevText: makeProp(PROP_TYPE_STRING, \"\\u2039\"),\n // '‹'\n size: makeProp(PROP_TYPE_STRING)\n})), 'pagination'); // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n // `-1` signifies no page initially selected\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n currentPage = currentPage > 0 ? currentPage : -1;\n return {\n currentPage: currentPage,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n var size = this.size;\n return size ? \"pagination-\".concat(size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added\n // We add text centering to make the button appearance better in fill mode\n return 'text-center';\n }\n\n return '';\n },\n styleClass: function styleClass() {\n return this.pills ? 'b-pagination-pills' : '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.localLimit,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage,\n hideEllipsis = this.hideEllipsis,\n firstNumber = this.firstNumber,\n lastNumber = this.lastNumber;\n var showFirstDots = false;\n var showLastDots = false;\n var numberOfLinks = limit;\n var startNumber = 1;\n\n if (numberOfPages <= limit) {\n // Special case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages;\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || lastNumber) {\n showLastDots = true;\n numberOfLinks = limit - (firstNumber ? 0 : 1);\n }\n\n numberOfLinks = mathMin(numberOfLinks, limit);\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || firstNumber) {\n showFirstDots = true;\n numberOfLinks = limit - (lastNumber ? 0 : 1);\n }\n\n startNumber = numberOfPages - numberOfLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD) {\n numberOfLinks = limit - (hideEllipsis ? 0 : 2);\n showFirstDots = !!(!hideEllipsis || firstNumber);\n showLastDots = !!(!hideEllipsis || lastNumber);\n }\n\n startNumber = currentPage - mathFloor(numberOfLinks / 2);\n } // Sanity checks\n\n /* istanbul ignore if */\n\n\n if (startNumber < 1) {\n startNumber = 1;\n showFirstDots = false;\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1;\n showLastDots = false;\n }\n\n if (showFirstDots && firstNumber && startNumber < 4) {\n numberOfLinks = numberOfLinks + 2;\n startNumber = 1;\n showFirstDots = false;\n }\n\n var lastPageNumber = startNumber + numberOfLinks - 1;\n\n if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3);\n showLastDots = false;\n } // Special handling for lower limits (where ellipsis are never shown)\n\n\n if (limit <= ELLIPSIS_THRESHOLD) {\n if (firstNumber && startNumber === 1) {\n numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1);\n } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n startNumber = mathMax(startNumber - 1, 1);\n numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1);\n }\n }\n\n numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1);\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numberOfLinks: numberOfLinks,\n startNumber: startNumber\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numberOfLinks = _this$paginationParam.numberOfLinks,\n startNumber = _this$paginationParam.startNumber;\n var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n }\n }), _defineProperty(_watch, \"currentPage\", function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit `null` if no page selected\n this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null);\n }\n }), _defineProperty(_watch, \"limit\", function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }), _watch),\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n });\n },\n methods: {\n handleKeyNav: function handleKeyNav(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n /* istanbul ignore if */\n\n if (this.isNav) {\n // We disable left/right keyboard navigation in ``\n return;\n }\n\n if (keyCode === CODE_LEFT || keyCode === CODE_UP) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusFirst() : this.focusPrev();\n } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusLast() : this.focusNext();\n }\n },\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return selectAll('button.page-link, a.page-link', this.$el).filter(function (btn) {\n return isVisible(btn);\n });\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return toInteger(getAttr(el, 'aria-posinset'), 0) === _this2.computedCurrentPage;\n });\n\n if (!attemptFocus(btn)) {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n attemptFocus(buttons[index - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n attemptFocus(buttons[index + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var disabled = this.disabled,\n labelPage = this.labelPage,\n ariaLabel = this.ariaLabel,\n isNav = this.isNav,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage;\n var pageNumbers = this.pageList.map(function (p) {\n return p.number;\n });\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var fill = this.align === 'fill';\n var $buttons = []; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNumber) {\n return pageNumber === currentPage;\n };\n\n var noCurrentPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNumber,\n index: pageNumber - 1\n };\n var $btnContent = _this7.normalizeSlot(btnSlot, scope) || toString(btnText) || h();\n var $inner = h(isDisabled ? 'span' : isNav ? BLink : 'button', {\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !isDisabled && fill\n },\n props: isDisabled || !isNav ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: isNav ? null : 'menuitem',\n type: isNav || isDisabled ? null : 'button',\n tabindex: isDisabled || isNav ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, linkTo);\n },\n keydown: onSpaceKey\n }\n }, [$btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: [{\n disabled: isDisabled,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !isDisabled\n }, btnClass],\n attrs: {\n role: isNav ? null : 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [$inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', _this7.ellipsisClass],\n attrs: {\n role: 'separator'\n },\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first')\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(_this7.ellipsisText) || h()])]);\n }; // Page button factory\n\n\n var makePageButton = function makePageButton(page, idx) {\n var pageNumber = page.number;\n var active = isActivePage(pageNumber) && !noCurrentPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrentPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: isNav ? null : 'menuitemradio',\n type: isNav || disabled ? null : 'button',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': hasPropFunction(labelPage) ?\n /* istanbul ignore next */\n labelPage(pageNumber) : \"\".concat(isFunction(labelPage) ? labelPage() : labelPage, \" \").concat(pageNumber),\n 'aria-checked': isNav ? null : active ? 'true' : 'false',\n 'aria-current': isNav && active ? 'page' : null,\n 'aria-posinset': isNav ? null : pageNumber,\n 'aria-setsize': isNav ? null : numberOfPages,\n // ARIA \"roving tabindex\" method (except in `isNav` mode)\n tabindex: isNav ? null : tabIndex\n };\n var btnContent = toString(_this7.makePage(pageNumber));\n var scope = {\n page: pageNumber,\n index: pageNumber - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var $inner = h(disabled ? 'span' : isNav ? BLink : 'button', {\n props: disabled || !isNav ? {} : _this7.linkProps(pageNumber),\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !disabled && fill\n },\n attrs: attrs,\n on: disabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, pageNumber);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]);\n return h('li', {\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !disabled\n }, page.classes, _this7.pageClass],\n attrs: {\n role: isNav ? null : 'presentation'\n },\n key: \"page-\".concat(pageNumber)\n }, [$inner]);\n }; // Goto first page button\n // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n\n\n var $firstPageBtn = h();\n\n if (!this.firstNumber && !this.hideGotoEndButtons) {\n $firstPageBtn = makeEndBtn(1, this.labelFirstPage, SLOT_NAME_FIRST_TEXT, this.firstText, this.firstClass, 1, 'pagination-goto-first');\n }\n\n $buttons.push($firstPageBtn); // Goto previous page button\n\n $buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, SLOT_NAME_PREV_TEXT, this.prevText, this.prevClass, 1, 'pagination-goto-prev')); // Show first (1) button?\n\n $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({\n number: 1\n }, 0) : h()); // First ellipsis\n\n $buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual page links\n\n this.pageList.forEach(function (page, idx) {\n var offset = showFirstDots && _this7.firstNumber && pageNumbers[0] !== 1 ? 1 : 0;\n $buttons.push(makePageButton(page, idx + offset));\n }); // Last ellipsis\n\n $buttons.push(showLastDots ? makeEllipsis(true) : h()); // Show last page button?\n\n $buttons.push(this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages ? makePageButton({\n number: numberOfPages\n }, -1) : h()); // Goto next page button\n\n $buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, SLOT_NAME_NEXT_TEXT, this.nextText, this.nextClass, numberOfPages, 'pagination-goto-next')); // Goto last page button\n // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n\n var $lastPageBtn = h();\n\n if (!this.lastNumber && !this.hideGotoEndButtons) {\n $lastPageBtn = makeEndBtn(numberOfPages, this.labelLastPage, SLOT_NAME_LAST_TEXT, this.lastText, this.lastClass, numberOfPages, 'pagination-goto-last');\n }\n\n $buttons.push($lastPageBtn); // Assemble the pagination buttons\n\n var $pagination = h('ul', {\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n attrs: {\n role: isNav ? null : 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': isNav ? null : ariaLabel || null\n },\n // We disable keyboard left/right nav when ``\n on: isNav ? {} : {\n keydown: this.handleKeyNav\n },\n ref: 'ul'\n }, $buttons); // If we are ``, wrap in `
) 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});","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import router from '@/router'\r\n// eslint-disable-next-line object-curly-newline\r\nimport { reactive, getCurrentInstance, watch, toRefs } from '@vue/composition-api'\r\n\r\nexport const isObject = obj => typeof obj === 'object' && obj !== null\r\n\r\nexport const isToday = date => {\r\n const today = new Date()\r\n return (\r\n /* eslint-disable operator-linebreak */\r\n date.getDate() === today.getDate() &&\r\n date.getMonth() === today.getMonth() &&\r\n date.getFullYear() === today.getFullYear()\r\n /* eslint-enable */\r\n )\r\n}\r\n\r\nconst getRandomFromArray = array => array[Math.floor(Math.random() * array.length)]\r\n\r\n// ? Light and Dark variant is not included\r\n// prettier-ignore\r\nexport const getRandomBsVariant = () => getRandomFromArray(['primary', 'secondary', 'success', 'warning', 'danger', 'info'])\r\n\r\nexport const isDynamicRouteActive = route => {\r\n const { route: resolvedRoute } = router.resolve(route)\r\n return resolvedRoute.path === router.currentRoute.path\r\n}\r\n\r\n// Thanks: https://medium.com/better-programming/reactive-vue-routes-with-the-composition-api-18c1abd878d1\r\nexport const useRouter = () => {\r\n const vm = getCurrentInstance().proxy\r\n const state = reactive({\r\n route: vm.$route,\r\n })\r\n\r\n watch(\r\n () => vm.$route,\r\n r => {\r\n state.route = r\r\n },\r\n )\r\n\r\n return { ...toRefs(state), router: vm.$router }\r\n}\r\n\r\n/**\r\n * This is just enhancement over Object.extend [Gives deep extend]\r\n * @param {target} a Object which contains values to be overridden\r\n * @param {source} b Object which contains values to override\r\n */\r\n// export const objectExtend = (a, b) => {\r\n// // Don't touch 'null' or 'undefined' objects.\r\n// if (a == null || b == null) {\r\n// return a\r\n// }\r\n\r\n// Object.keys(b).forEach(key => {\r\n// if (Object.prototype.toString.call(b[key]) === '[object Object]') {\r\n// if (Object.prototype.toString.call(a[key]) !== '[object Object]') {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = objectExtend(a[key], b[key])\r\n// }\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// }\r\n// })\r\n\r\n// return a\r\n// }\r\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_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_CARD); // --- Mixin ---\n// @vue/component\n\nexport var cardMixin = Vue.extend({\n props: props\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 { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\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_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersListFilters.vue?vue&type=style&index=0&lang=scss&\"","export var noop = function noop() {};","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersList.vue?vue&type=style&index=1&lang=scss&\""],"sourceRoot":""}